afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
afuna ([personal profile] afuna) wrote in [site community profile] changelog2009-07-25 02:44 am

[dw-free] Drifting layout

[commit: http://hg.dwscoalition.org/dw-free/rev/a1c8fff7c370]

http://bugs.dwscoalition.org/show_bug.cgi?id=652

New layout Drifting, original layout by Jennie Griner.

Patch prepared by [personal profile] rich and [personal profile] av8rmike.

Files modified:
  • bin/upgrading/s2layers.dat
  • bin/upgrading/s2layers/drifting/layout.s2
  • bin/upgrading/s2layers/drifting/themes.s2
  • cgi-bin/LJ/S2Theme.pm
  • cgi-bin/LJ/S2Theme/drifting.pm
  • htdocs/stc/drifting/hdr_bg.jpg
  • htdocs/stc/drifting/hdr_icon.gif
  • htdocs/stc/drifting/hdr_left.jpg
  • htdocs/stc/drifting/hdr_right.jpg
--------------------------------------------------------------------------------
diff -r 36ce74f87ed5 -r a1c8fff7c370 bin/upgrading/s2layers.dat
--- a/bin/upgrading/s2layers.dat	Thu Jul 23 20:25:26 2009 -0500
+++ b/bin/upgrading/s2layers.dat	Sat Jul 25 02:42:39 2009 +0000
@@ -7,6 +7,9 @@ core2base/layout        layout          
 core2base/layout        layout          core2
 core2base/themes        theme+          core2base/layout
 
+drifting/layout         layout          core2
+drifting/themes         theme+          drifting/layout
+
 negatives/layout        layout          core2
 negatives/themes        theme+          negatives/layout
 
diff -r 36ce74f87ed5 -r a1c8fff7c370 bin/upgrading/s2layers/drifting/layout.s2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/upgrading/s2layers/drifting/layout.s2	Sat Jul 25 02:42:39 2009 +0000
@@ -0,0 +1,1093 @@
+################################################################################
+# Drifting Layout
+################################################################################
+
+# Layout Info
+################################################################################
+layerinfo "type"        = "layout";
+layerinfo "name"        = "Drifting";
+layerinfo "redist_uniq" = "drifting/layout";
+layerinfo "author_name" = "Jennie Griner";
+layerinfo "autor_email" = "jennielynn1127@livejournal.com";
+layerinfo "des"         = "Based on the Drifting v1.0 design at OSWD by Pat Heard";
+layerinfo "lang"        = "en";
+
+################################################################################
+# Properties
+################################################################################
+
+# COLOURS
+################################################################################
+propgroup colors
+{
+    property use color_page_background;
+    property use color_page_text;
+    property use color_page_link;
+    property use color_page_border;
+    property use color_page_title;
+
+    property use color_module_border;
+    property use color_module_title;
+    property use color_page_link_visited;
+    property use color_page_link_active;
+
+    property use color_entry_border;
+    property use color_entry_background;
+    property use color_entry_title;
+    property use color_entry_text;
+
+    property Color color_page_subtitle
+    {
+        des = "Page subtitle color";
+    }
+}
+
+set color_page_background         = "#eef3fa";
+set color_page_text               = "#234163";
+set color_page_link               = "#5a799d";
+set color_page_link_visited       = "#234163";
+set color_page_link_active        = "#ff0000";
+set color_page_border             = "#5a799d";
+
+set color_module_border           = "#5a799d";
+set color_module_title            = "#5a799d";
+
+set color_entry_border            = "#5a799d";
+set color_entry_background        = "#ffffff";
+set color_entry_title             = "#5a799d";
+set color_entry_text              = "#000000";
+
+set color_page_title              = "#ffffff";
+set color_page_subtitle           = "#5a799d";
+
+
+# IMAGES
+################################################################################
+propgroup images
+{
+    property use image_background_page_group;
+    property use image_background_header_group;
+    property use image_background_header_height;
+    property string image_header_left {
+        des = "Left header image URL";
+    }
+    property string image_header_right {
+        des = "Right header image URL";
+    }
+    property string image_module_header_url { noui = 1; }
+}
+
+# TEXT
+################################################################################
+propgroup text
+{
+    property use text_view_recent;
+    property use text_view_friends;
+    property use text_view_friends_comm;
+    property use text_view_friends_filter;
+    property use text_view_archive;
+    property use text_view_userinfo;
+    property use text_view_memories;
+
+    property use text_post_comment;
+    property use text_max_comments;
+    property use text_read_comments;
+    property use text_post_comment_friends;
+    property use text_read_comments_friends;
+
+    property string text_navigation_header
+    {
+        des = "Text for the navigation header";
+    }
+}
+
+set text_navigation_header = "Navigation";
+set text_comment_from      = "";
+set text_comment_date      = "";
+set text_posting_in        = "";
+
+# FONTS
+################################################################################
+propgroup fonts
+{
+    property use font_base;
+    property use font_fallback;
+
+    property string title_font_base
+    {
+        des = "Font for Subjects and Title";
+    }
+
+    property string title_font_fallback
+    {
+        des    = "Alternative font for Subjects and Title";
+        values = "sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default";
+    }
+}
+
+set font_base         = "Arial";
+set font_fallback     = "sans-serif";
+set title_font_base     = "Times New Roman";
+set title_font_fallback = "serif";
+
+# PRESENTATION
+################################################################################
+propgroup presentation
+{
+    property use show_userpics_recent;
+    property use num_items_recent;
+    property use num_items_reading;
+    property use use_journalstyle_entry_page;
+    property use use_custom_friend_colors;
+}
+
+set show_userpics_recent   = true;
+set num_items_recent       = 20;
+set num_items_reading      = 20;
+set linklist_support       = true;
+set entry_management_links = "text";
+set comment_management_links = "text";
+set custom_colors_template = "%%new%% .friends-color-wrapper {background-color: %%background%%} %%new%% .friends-color-wrapper a {color: %%foreground%%}";
+
+# CUSTOM CSS
+################################################################################
+propgroup customcss
+{
+    property use external_stylesheet;
+    property use include_default_stylesheet;
+    property use linked_stylesheet;
+    property use custom_css;
+}
+
+# MODULES
+################################################################################
+propgroup modules
+{
+    property use module_navlinks_group;
+    property use module_customtext_group;
+    property use module_pagesummary_group;
+    property use module_links_group;
+    property use module_calendar_group;
+    property use module_poweredby_group;
+    property use module_tags_group;
+    property use module_syndicate_group;
+    property use module_userprofile_group;
+    property use module_time_group;
+}
+
+set module_layout_sections     = "none|(none)|one|Sidebar|two|Footer";
+
+set module_navlinks_section    = "one";
+set module_customtext_section  = "one";
+set module_pagesummary_section = "one";
+set module_links_section       = "one";
+set module_calendar_section    = "one";
+set module_poweredby_section   = "two";
+set module_tags_section        = "none";
+set module_syndicate_section   = "none";
+set module_userprofile_section = "none";
+set module_time_section        = "none";
+
+set module_calendar_order      = 1;
+set module_navlinks_order      = 2;
+set module_links_order         = 3;
+
+################################################################################
+# Functions
+################################################################################
+
+# Prop Init
+# Initialize the module groups and header images.
+################################################################################
+function prop_init()
+{
+    if ( $*image_background_header_url == "" )
+    {
+        $*image_background_header_url = "$*STATDIR/drifting/hdr_bg.jpg";
+    }
+    if ( $*image_module_header_url == "" )
+    {
+        $*image_module_header_url = "$*STATDIR/drifting/hdr_icon.gif";
+    }
+    if ( $*image_header_left == "" )
+    {
+        $*image_header_left = "$*STATDIR/drifting/hdr_left.jpg";
+    }
+    if ( $*image_header_right == "" )
+    {
+        $*image_header_right = "$*STATDIR/drifting/hdr_right.jpg";
+    }
+}
+
+# Prints out the stylesheet for Drifting
+################################################################################
+function print_stylesheet()
+{
+    var string page_background = generate_background_css ($*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background);
+    var string header_background = generate_background_css ($*image_background_header_url, $*image_background_header_repeat, $*image_background_header_position, $*color_module_title);
+    if ($*image_background_header_height > 0) {
+        $header_background = """
+            $header_background
+            height: """ + $*image_background_header_height + """px;""";
+    }
+    var string module_header_background = generate_background_css ($*image_module_header_url,"no-repeat","bottom right",$*color_page_background);
+
+    var string canvas_colors = generate_color_css(new Color, $*color_entry_background, $*color_page_border);
+    var string module_header_colors = generate_color_css($*color_module_title, new Color, $*color_module_border);
+    var string module_footer_colors = generate_color_css(new Color, $*color_page_background, $*color_module_border);
+    var string navigation_colors = generate_color_css(new Color, $*color_page_background, $*color_module_border);
+
+    var string page_link_colors = generate_color_css($*color_page_link, new Color, new Color);
+    var string page_link_active_colors = generate_color_css($*color_page_link_active, new Color, new Color);
+    var string page_link_visited_colors = generate_color_css($*color_page_link_visited, new Color, new Color);
+
+    var string base_font_string = "";
+    var string title_font_string  = "";
+
+    # Determine the font strings to use in the CSS
+    if ($*font_base != "")
+    {
+        $base_font_string = "\"$*font_base\",";
+    }
+    if ($*font_fallback != "")
+    {
+        $base_font_string = "$base_font_string $*font_fallback";
+    }
+    if ($*title_font_base != "")
+    {
+        $title_font_string = "\"$*title_font_base\",";
+    }
+    if ($*title_font_fallback  != "")
+    {
+        $title_font_string = "$title_font_string $*title_font_fallback";
+    }
+
+"""
+    /* Main layout
+    ***************************************************************************/
+    body {
+        font-family: $base_font_string;
+        font-size: 16px;
+        color: $*color_page_text;
+        $page_background
+    }
+
+    #canvas {
+        padding: 10px;
+        margin: 30px;
+        overflow: auto;
+        $canvas_colors
+    }
+
+    #primary {
+        margin: 10px 0 0 235px;
+        border-left: 1px solid $*color_page_border;
+    }
+
+    #secondary {
+        float: left;
+        width: 225px;
+        margin: 0px 0px 0px 0px;
+        border-right: 1px solid $*color_module_border;
+        text-align: left;
+    }
+
+    #secondary .module-wrapper .separator-after {
+        float: left;
+        clear: left;
+        width: 224px;
+        height: 1.5em;
+        $module_footer_colors
+    }
+
+    /* Lists
+    ***************************************************************************/
+
+    ul {
+        margin-left: 0px;
+        padding-left: 40px;
+    }
+
+    /* Typography
+    ***************************************************************************/
+
+    a { $page_link_colors }
+    a:active { $page_link_active_colors }
+    a:hover { text-decoration: none; }
+    a:visited { $page_link_visited_colors }
+
+    h2 {
+        font-size: 0.9em;
+        color: $*color_module_title;
+        font-weight: bold;
+    }
+
+    h2.module-header {
+        $module_header_colors
+        $module_header_background
+        border-right: none;
+        padding: 3px;
+        padding-left: 10px;
+        margin-top: 0px;
+        font-size: 1em;
+    }
+
+    .day-title,
+    .month-title {
+        border: 1px solid $*color_module_border;
+        border-left: none;
+        background: $*color_page_background;
+        padding: 3px;
+        padding-left: 10px;
+        font-size: 1.1em;
+    }
+
+    /* Header
+    ***************************************************************************/
+    #header {
+        height: 4.7em;
+        margin-bottom: 10px;
+        border: 1px solid $*color_module_border;
+        $header_background
+    }
+
+    .header-left {
+        background-image: url($*image_header_left);
+        height: 4.7em;
+        float: left;
+        width: 239px;
+    }
+
+    .header-right {
+        background-image: url($*image_header_right);
+        height: 4.7em;
+        float: right;
+        width: 250px;
+    }
+
+    #header h1#title {
+        font-family:  $title_font_string;
+        font-size: 2.8em;
+        font-weight: bold;
+        font-style: italic;
+        color: $*color_page_title;
+        line-height: 0.9em;
+        margin: 0px 0px 0px 235px;
+        width: 100%;
+    }
+
+    #header h2#subtitle {
+        font-family:  $title_font_string;
+        margin: 5px 0px 0px 335px;
+        color: $*color_page_subtitle;
+        width: 100%;
+    }
+
+    /* Navigation
+    ***************************************************************************/
+    .navigation {
+        padding: 3px 15px 3px 10px;
+        margin-bottom: 15px;
+        $navigation_colors
+        border-left: none;
+        clear: right;
+        text-align: right;
+    }
+
+    .navigation ul {
+        list-style: none;
+        display: inline;
+        padding: 0px;
+    }
+
+    .navigation ul li {
+        display: inline;
+        padding-right: 10px;
+    }
+
+    .navigation ul li a {
+        text-decoration: none;
+    }
+
+    .navigation ul li.active {
+        font-weight: bold;
+    }
+
+    .module-navlinks .module-list {
+        list-style: none;
+        padding-left: 20px;
+    }
+
+    /* Page Summary
+    ***************************************************************************/
+    .module-pagesummary .module-list {
+        list-style: none;
+        padding-left: 20px;
+        font-size: 0.8em;
+        padding-right: 5px;
+    }
+
+    /* Link List
+    ***************************************************************************/
+    .module-typelist .module-list {
+        list-style: none;
+        padding-left: 20px;
+        font-size: 0.8em;
+        padding-right: 5px;
+    }
+
+    /* Userpics
+    ***************************************************************************/
+    .friends-color-wrapper,
+    .comment-userpic {
+        float: right;
+        padding: 10px;
+        padding-bottom: 7px;
+        margin: 10px;
+        margin-top: -5px;
+        margin-right: -5px;
+        background: $*color_page_background;
+        margin-bottom: 5px;
+        border: 1px solid $*color_module_border;
+    }
+
+    .friends-color-wrapper .poster,
+    .comment-userpic .poster {
+       display: block;
+       width: auto;
+       text-align: center;
+       font-size: 0.8em;
+    }
+
+    .comment-userpic {
+        margin-right: 0px;
+    }
+
+    .userpic img {
+        border: none;
+        margin: 0px;
+        padding: 0px;
+    }
+
+    .friends-color-wrapper .ljuser {
+        display: block;
+    }
+    /* Calendar
+    ***************************************************************************/
+    .module-calendar {
+        padding: 0px 0px 5px 0px;
+        margin-bottom: 15px;
+    }
+
+    .module-calendar .module-content table {
+        margin: 0px 5px 0px 5px;
+    }
+
+    .module-calendar th {
+        display: none;
+    }
+
+    .module-calendar td {
+        width: 24px;
+        font-size: 11px;
+        margin: 1px;
+        float: left;
+        text-align: center;
+        border: 1px solid $*color_module_border;
+    }
+
+    .module-calendar td.empty-day,
+    .module-calendar td.entry-day {
+        border-right: 1px solid $*color_module_border;
+        border-bottom: 1px solid $*color_module_border;
+    }
+
+    /* Reply
+    ***************************************************************************/
+    #reply h2 {
+        border: 1px solid $*color_entry_border;
+        border-left: none;
+        background: $*color_page_background;
+        padding: 3px;
+        padding-left: 10px;
+        font-size: 1em;
+        font-weight: bold;
+    }
+
+    #reply .reply-form {
+        padding-left: 20px;
+        padding-bottom: 20px;
+    }
+
+    /* Entry
+    ***************************************************************************/
+    .entry {
+        padding: 0px 5px 5px 10px;
+        font-size: 0.9em;
+        overflow: auto;
+    }
+
+    .entry-content {
+        margin-bottom: 20px;
+        color: $*color_entry_text;
+    }
+
+    .entry .subject {
+        padding: 3px;
+        border: 1px solid $*color_entry_border;
+        border-left: none;
+        $module_header_background
+        font-size: 1.1em;
+        font-weight: bold;
+        padding-left: 10px;
+        margin: 0px -5px 15px -10px;
+    }
+
+    .entry .subject a {
+        text-decoration: none;
+    }
+
+    .entry h3.entry-title {
+        padding: 0px;
+        margin: 0px;
+        display: inline;
+        font-size: 1.1em;
+        color: $*color_entry_title;
+    }
+
+    .entry .trust-filter {
+        padding-left: 10px;
+    }
+
+    .datetime {
+        font-weight: bold;
+        font-size: 0.9em;
+        margin-top: -10px;
+        margin-bottom: 10px;
+    }
+
+    .datetime a {
+        text-decoration: none;
+        color: $*color_page_text;
+    }
+
+    .tag {
+        font-weight: bold;
+        font-size: 0.9em;
+        margin-top: 10px;
+        margin-bottom: 10px;
+        margin-left: 0px;
+    }
+
+    .tag ul li {
+        display: inline;
+        font-weight: normal;
+        font-size: 1.1em;
+    }
+
+    .tag ul {
+        display: inline;
+        margin 0px;
+        padding: 0px;
+        padding-left: 5px;
+    }
+
+    .entry-management-links,
+    .entry-interaction-links {
+        padding: 0px;
+        margin-left: 0px;
+        font-size: 1em;
+        display: inline;
+    }
+
+    .entry-management-links li,
+    .entry-interaction-links li {
+        display: inline;
+        padding-right: 5px;
+        margin: 0px;
+    }
+
+    .metadata ul {
+        list-style: none;
+        padding: 0px;
+    }
+
+    /* Comment
+    ***************************************************************************/
+    .comment {
+        overflow: auto;
+    }
+
+    .comment .poster {
+       display: block;
+       width: auto;
+       text-align: center;
+       font-size: 0.8em;
+    }
+
+    .comment-interaction-links,
+    .comment-management-links {
+        display: inline;
+        list-style: none;
+        padding-left: 0px;
+    }
+
+    .comment-interaction-links li,
+    .comment-management-links li {
+        display: inline;
+        padding-right: 10px;
+    }
+
+    .comment .subject {
+        border: 1px solid $*color_entry_border;
+        border-left: none;
+        background: $*color_page_background;
+        padding: 3px;
+        padding-left: 10px;
+        min-height: 1em;
+        margin: 0.83em 0;
+    }
+
+    .comment .subject a {
+        font-weight: bold;
+        text-decoration: none;
+    }
+
+    h3.comment-subjecticon { margin: 0; }
+
+    .comment-content {
+        padding-left: 10px;
+        font-size: 0.9em;
+        color: $*color_entry_text;
+    }
+
+    .comment-content .comment-text .comment-content {
+        padding-left: 0px;
+    }
+
+    .comment .comment-content .datetime {
+        font-size: 0.9em;
+        padding-top: 10px;
+    }
+
+    .comment .comment-content .poster-ip {
+        font-size: 0.9em;
+        font-style: italic;
+        display: block;
+        margin-bottom: 10px;
+    }
+
+    .talkform textarea {
+        width: 500px; /* will cause scrolling without this in IE7 */
+    }
+
+    /* Mass Actions
+    ***************************************************************************/
+    .bottomcomment {
+        font-size: 0.9em;
+        margin: 1em;
+    }
+
+    /* Archive
+    ***************************************************************************/
+    .day-entries {
+        font-size: 0.8em;
+    }
+
+    .day-entries .subjectlist {
+        padding-left: 10px;
+    }
+
+    .day-entries .time {
+        font-weight: bold;
+    }
+
+    .day-entries .entry-title {
+        padding-left: 30px;
+        margin: 0px;
+        margin-top: 3px;
+    }
+
+    .month {
+        width: 280px;
+        margin: 0 auto;
+        text-align: center;
+        padding-bottom: 10px;
+    }
+
+    .month-table td {
+        padding: 3px;
+        font-size: 0.8em;
+        width: 30px;
+        height: 40px;
+        border-right: 1px solid $*color_entry_border;
+        border-bottom: 1px solid $*color_entry_border;
+        vertical-align: top;
+        text-align: right;
+    }
+
+    .month-table th {
+        padding: 3px;
+        font-size: 0.8em;
+        width: 30px;
+        height: 30px;
+        border-right: 1px solid $*color_entry_border;
+        border-bottom: 1px solid $*color_entry_border;
+    }
+
+    .month-table td.day p {
+        display: block;
+        padding: 0px;
+        margin: 0px;
+        text-align: center;
+    }
+
+    .month-entries .day-title {
+        border: none;
+        background: none;
+    }
+
+    .month-entries .day-entries .subjectlist {
+        padding-left: 40px;
+        font-weight: normal;
+    }
+
+    .month-entries .day-entries .subjectlist span {
+        font-weight: normal;
+        display: inline;
+    }
+
+    .month-entries .day-entries .subjectlist h3 {
+        font-weight: normal;
+        font-size: 1em;
+        display: inline;
+        padding-left: 10px;
+    }
+
+    .month-entries .day-entries .subjectlist span.trust-filter {
+        padding-left: 5px;
+        margin-right: -10px;
+    }
+
+    .subjectlist span.trust-filter img {
+        margin-bottom: -3px;
+    }
+
+    .subjectlist .tag {
+        padding-left: 60px;
+    }
+
+    /* Tags Page
+    ***************************************************************************/
+    body.page-tags #primary h2 {
+        border: 1px solid $*color_entry_border;
+        border-left: none;
+        background: $*color_page_background;
+        padding: 3px;
+        padding-left: 10px;
+    }
+
+    .ljtaglist {
+        list-style: none;
+        font-size: 0.9em;
+        padding-left: 10px;
+    }
+
+    /* Footer
+    ***************************************************************************/
+    #footer {
+        font-size: 0.7em;
+        font-weight: normal;
+        border-right: 1px solid $*color_module_border;
+        border-top: 1px solid $*color_module_border;
+        border-bottom: 1px solid $*color_module_border;
+        border-left: 0px;
+        background: $*color_page_background;
+        padding: 3px;
+        padding-left: 10px;
+    }
+""";
+}
+
+# NavLinks Module, Need to override this so the title gets printed.
+################################################################################
+function print_module_navlinks()
+{
+    var Page p = get_page();
+    open_module("navlinks", $*text_navigation_header, "");
+    var string[] links = [];
+    foreach var string k ($p.views_order)
+    {
+        $links[size $links] = """<a href="$p.view_url{$k}">"""+lang_viewname($k)+"""</a>""";
+    }
+    print_module_list($links);
+    close_module();
+}
+
+
+# Main layout
+################################################################################
+function Page::print()
+{
+    """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+    <head>""";
+        $this->print_head();
+        $this->print_stylesheets();
+        $this->print_head_title();
+    println "</head>";
+
+    $this->print_wrapper_start();
+        $this->print_control_strip();
+
+        println "<div id=\"canvas\">";
+            println "<div id=\"header\">";
+            println "<div class=\"header-left\">";
+                $this->print_global_title();
+                $this->print_global_subtitle();
+            println "</div><div class=\"header-right\"></div>";
+            println "</div>";
+
+            println "<div id=\"secondary\">";
+                $this->print_module_section("one");
+            println "</div>";
+
+            println "<div id=\"primary\">";
+                $this->print_body();
+                println "<div id=\"footer\">";
+                    $this->print_module_section("two");
+                println "</div>";
+            println "</div>";
+        println "</div>";
+
+    $this->print_wrapper_end();
+    println "</html>";
+}
+
+
+# Print an entry, uses friends colours on the friends page, so this is a layout
+# specific function that the main Page::print_entry, etc all call.
+################################################################################
+function Page::print_entry (Entry e)
+{
+   $e->print_wrapper_start();
+
+        print "<div class=\"subject\">";
+            $e->print_subject();
+            $e->print_metatypes();
+        println "</div>";
+
+        println "<div class='friends-color-wrapper'>";
+            $e->print_userpic();
+            $e->print_poster();
+        println "</div>";
+
+        println "<div class=\"datetime\">";
+        $e->print_time("long_day", "");
+        println "</div>";
+
+        $e->print_text();
+        $e->print_metadata();
+        $e->print_tags();
+        $e->print_management_links();
+        $e->print_interaction_links("topcomment");
+        $this->print_reply_container({ "target" => "topcomment" });
+
+    $e->print_wrapper_end();
+}
+
+## Entry Page
+################################################################################
+function EntryPage::print_comment (Comment c)
+{
+    $c->print_wrapper_start();
+
+        print "<div class=\"subject\">";
+            $c->print_metatypes();
+            $c->print_subject();
+        print "</div>";
+
+        println "<div class='comment-userpic'>";
+            $c->print_userpic();
+            $c->print_poster();
+        println "</div>";
+
+        println "<div class=\"comment-content\">";
+            println "<div class=\"datetime\">";
+                $c->print_time("long_day", "");
+            println "</div>";
+
+            $c->print_metadata();
+            
+            println "<div class=\"comment-text\">";
+            $c->print_text();
+            println "</div>";
+
+            $c->print_interaction_links();
+            $c->print_management_links();
+
+            if ($this.multiform_on)
+            {
+                """<span class="multiform-checkbox">""";
+                println "<label for='ljcomsel_$c.talkid'>$*text_multiform_check</label>";
+                $c->print_multiform_check();
+                "</span>";
+            }
+
+            $c->print_reply_container();
+        println "</div>";
+
+    $c->print_wrapper_end();
+}
+
+## Reply Page
+################################################################################
+function ReplyPage::print_body
+{
+    if ($.replyto isa Entry) 
+    {
+        var Entry e = $.replyto as Entry;
+        $this->print_entry($e);
+    }
+    elseif ($.replyto isa Comment) 
+    {
+    
+        var Comment c = $.replyto as Comment;
+        $this->print_comment($c);
+    }
+
+    println "<div id=\"reply\">";
+        println "<h2>Reply</h2>";
+        println "<div class=\"reply-form\">";
+        if ($.entry.comments.enabled)
+        {
+            $.form->print();
+        }
+        else
+        {
+             print "Comments have been disabled for this post";
+        }
+        println "</div>";
+    println "</div>";
+}
+
+function ReplyPage::print_comment (Comment c)
+{
+    $c->print_wrapper_start();
+
+        print "<div class=\"subject\">";
+            $c->print_metatypes();
+            $c->print_subject();
+        print "</div>";
+
+        println "<div class='comment-userpic'>";
+            $c->print_userpic();
+            $c->print_poster();
+        println "</div>";
+
+        println "<div class=\"comment-content\">";
+            println "<div class=\"datetime\">";
+                $c->print_time("long_day", "");
+            println "</div>";
+
+            $c->print_metadata();
+            
+            println "<div class=\"comment-text\">";
+            $c->print_text();
+            println "</div>";
+
+            $c->print_interaction_links();            
+        println "</div>";
+
+    $c->print_wrapper_end();
+}
+
+## Day Page
+################################################################################
+function DayPage::print_body()
+{
+    $this->print_navigation();
+
+    println "<h2 class=\"day-title\">" + $.date->date_format("long") + "</h2>";
+
+    if ($.has_entries)
+    {
+        foreach var Entry e ($.entries)
+        {
+            $this->print_entry($e);
+        }
+    }
+    else
+    {
+        println $*text_noentries_day;
+    }
+
+    $this->print_navigation();
+}
+
+## Year Page
+################################################################################
+function YearPage::print_body
+{
+    $this->print_navigation();
+
+    foreach var YearMonth m ($.months)
+    {
+        $this->print_month($m);
+    }
+}
+
+function YearPage::print_month(YearMonth m)
+{
+    if (not $m.has_entries) { return; }
+
+    println "<h2 class=\"month-title\"><a href='$m.url'>";
+    print $m->month_format();
+    println "</a></h2>";
+
+    println "<div class='month'>";
+    println "<table class=\"month-table\"><thead>";
+    foreach var int d (weekdays())
+    {
+        "<th>" + $*lang_dayname_short[$d] + "</th>";
+    }
+    println "</thead>";
+    println "<tbody>";
+
+    foreach var YearWeek w ($m.weeks)
+    {
+        $w->print();
+    }
+
+    println "</tbody>";
+    println "</table>";
+    println "</div>";
+}
+
+## Month Page
+################################################################################
+function MonthPage::print_body
+{
+    $this->print_navigation();
+
+    println "<h2 class=\"month-title\">" + $.date->date_format($*lang_fmt_month_long) + "</h2>";
+
+    println "<div class=\"month-entries\">";
+        foreach var MonthDay d ($.days)
+        {
+            if ($d.has_entries)
+            {
+                println "<div class=\"day-entries\">";
+                    println "<h2 class=\"day-title\"><a href='$d.url'>";
+                    println lang_ordinal($d.day);
+                    println "</a></h2>";
+                    println "<div class=\"subjectlist\">";
+                        $d->print_subjectlist();
+                    println "</div>";
+                println "</div>";
+            }
+        }
+    println "</div>";
+
+    $this->print_navigation();
+}
diff -r 36ce74f87ed5 -r a1c8fff7c370 bin/upgrading/s2layers/drifting/themes.s2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/upgrading/s2layers/drifting/themes.s2	Sat Jul 25 02:42:39 2009 +0000
@@ -0,0 +1,5 @@
+#NEWLAYER: drifting/blue
+layerinfo type = "theme";
+layerinfo name = "Drifting Blue";
+layerinfo redist_uniq = "drifting/blue";
+
diff -r 36ce74f87ed5 -r a1c8fff7c370 cgi-bin/LJ/S2Theme.pm
--- a/cgi-bin/LJ/S2Theme.pm	Thu Jul 23 20:25:26 2009 -0500
+++ b/cgi-bin/LJ/S2Theme.pm	Sat Jul 25 02:42:39 2009 +0000
@@ -35,6 +35,7 @@ sub default_theme {
 
     my %default_themes = (
         core2base => 'core2base/testing',
+        drifting => 'drifting/blue',
         negatives => 'negatives/black',
         zesty => 'zesty/white',
     );
diff -r 36ce74f87ed5 -r a1c8fff7c370 cgi-bin/LJ/S2Theme/drifting.pm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cgi-bin/LJ/S2Theme/drifting.pm	Sat Jul 25 02:42:39 2009 +0000
@@ -0,0 +1,7 @@
+package LJ::S2Theme::drifting;
+use base qw(LJ::S2Theme);
+
+sub cats { qw( featured ) }
+sub designer { "Jennie Griner" }
+
+1;
\ No newline at end of file
diff -r 36ce74f87ed5 -r a1c8fff7c370 htdocs/stc/drifting/hdr_bg.jpg
Binary file htdocs/stc/drifting/hdr_bg.jpg has changed
diff -r 36ce74f87ed5 -r a1c8fff7c370 htdocs/stc/drifting/hdr_icon.gif
Binary file htdocs/stc/drifting/hdr_icon.gif has changed
diff -r 36ce74f87ed5 -r a1c8fff7c370 htdocs/stc/drifting/hdr_left.jpg
Binary file htdocs/stc/drifting/hdr_left.jpg has changed
diff -r 36ce74f87ed5 -r a1c8fff7c370 htdocs/stc/drifting/hdr_right.jpg
Binary file htdocs/stc/drifting/hdr_right.jpg has changed
--------------------------------------------------------------------------------