fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)
fu ([personal profile] fu) wrote in [site community profile] changelog2012-02-10 12:03 pm

[dw-free] New Style: Marginless (+3 color themes)

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

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

New style: Marginless + 3 color themes (Great Oak, Mars, Midnight). Style is
clean, and has a sidebar that extends all the way down beside the entry /
content area.

Patch by [personal profile] momijizukamori.

Files modified:
  • LJ/S2Theme/marginless.pm
  • bin/upgrading/s2layers.dat
  • bin/upgrading/s2layers/marginless/layout.s2
  • bin/upgrading/s2layers/marginless/themes.s2
  • cgi-bin/LJ/S2Theme.pm
  • cgi-bin/LJ/S2Theme/marginless.pm
  • htdocs/img/customize/previews/marginless/greatoak.png
  • htdocs/img/customize/previews/marginless/mars.png
  • htdocs/img/customize/previews/marginless/midnight.png
  • upgrading/s2layers/marginless/layout.s2
  • upgrading/s2layers/marginless/themes.s2
--------------------------------------------------------------------------------
diff -r e600334fde45 -r 4e5463fc7b55 LJ/S2Theme/marginless.pm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LJ/S2Theme/marginless.pm	Fri Feb 10 20:02:59 2012 +0800
@@ -0,0 +1,8 @@
+package LJ::S2Theme::marginless;
+use base qw( LJ::S2Theme );
+use strict;
+ 
+sub layouts { ( "1" => "one-column", "2l" => "two-columns-left", "2r" => "two-columns-right", "3" => "three-columns-sides", "3r" => "three-columns-right", "3l" => "three-columns-left" ) }
+sub layout_prop { "layout_type" }
+ 
+1;
diff -r e600334fde45 -r 4e5463fc7b55 bin/upgrading/s2layers.dat
--- a/bin/upgrading/s2layers.dat	Fri Feb 10 15:44:09 2012 +0800
+++ b/bin/upgrading/s2layers.dat	Fri Feb 10 20:02:59 2012 +0800
@@ -58,6 +58,9 @@
 funkycircles/layout      layout(core2base/layout)    core2
 funkycircles/themes      theme+                      funkycircles/layout
 
+marginless/layout        layout(core2base/layout)    core2
+marginless/themes        theme+                      marginless/layout
+
 modish/layout            layout(core2base/layout)    core2
 modish/themes            theme+                      modish/layout
 
diff -r e600334fde45 -r 4e5463fc7b55 bin/upgrading/s2layers/marginless/layout.s2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/upgrading/s2layers/marginless/layout.s2	Fri Feb 10 20:02:59 2012 +0800
@@ -0,0 +1,621 @@
+layerinfo type = "layout";
+layerinfo name = "Marginless";
+layerinfo redist_uniq = "marginless/layout";
+layerinfo author_name = "momijizukamori";
+layerinfo lang = "en";
+
+set layout_authors = [ { "name" => "momijizukamori", "type" => "user" },{ "name" => "branchandroot", "type" => "user" } ];
+
+
+
+##===============================
+## Presentation
+##===============================
+set layout_type = "two-columns-left";
+set userpics_position = "right";
+set sidebar_width = "12em";
+set sidebar_width_doubled = "24em";
+set userpics_position = "left";
+set use_custom_friend_colors = false;
+set custom_colors_template = "%%new%% .userpic img {border:1px solid %%foreground%%; padding: 9px; background: %%background%%;}";
+set font_base = "Verdana, Helvetica";
+set font_fallback = "sans-serif";
+set font_journal_subtitle_size = "1";
+set font_journal_subtitle_units = "em";
+set userlite_interaction_links = "text";
+set entry_management_links = "text";
+
+##===============================
+## Colors
+##===============================
+
+propgroup colors_child {
+    property Color color_calendar_background { des = "Background color for calendar on Archive page"; }
+    property Color color_calendar_entry { des = "Background color for a day with entries on the calendar"; }
+    property Color color_comment_title_even { des = "Comment title alternate color"; }
+    property Color color_comment_title_background_even { des = "Comment title alternate background color"; }
+    property Color color_userpic_background { des = "Border color for user icon on sidebar and in entries"; }
+    }
+
+##===============================
+## Modules
+##===============================
+
+property string module_navlinks_section_override {
+    values = "none|(none)|header|Header|one|Main Module Section|two|Second Module Section";
+    grouped = 1;
+    }
+
+set grouped_property_override = { "module_navlinks_section" => "module_navlinks_section_override" };
+
+set module_navlinks_section = "one";
+
+##===============================
+## Functions
+##===============================
+
+# Give a title to the navlinks module
+function print_module_navlinks() {
+    var Page p = get_page();
+    var string title = "Navigation";
+    open_module("navlinks", "$title", "");
+    var string[] links = [];
+    foreach var string k ($p.views_order) {
+        var string css = """ class="$k" """;
+        if ($p.view == $k) { $css = """ class="current $k" """; }
+        $links[size $links] = """<a href="$p.view_url{$k}"$css>"""+lang_viewname($k)+"""</a>""";
+    }
+    print_module_list($links);
+    close_module();
+}
+
+# Add section for navlinks module
+function Page::print() {
+    """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n<head profile="http://www.w3.org/2006/03/hcard http://purl.org/uF/hAtom/0.1/ http://gmpg.org/xfn/11">\n""";
+    $this->print_head();
+    $this->print_stylesheets();
+    $this->print_head_title();
+    """</head>""";
+    $this->print_wrapper_start();
+    $this->print_control_strip();
+    """
+    <div id="canvas">
+        <div class="inner">
+            <div id="header">
+                <div class="inner">
+                    """;
+                    $this->print_module_section("header");
+                    $this->print_global_title();
+                    $this->print_global_subtitle();
+                    $this->print_title();
+    """
+                </div><!-- end header>inner -->
+            </div><!-- end header -->
+            <div id="content">
+                <div class="inner">
+    """;
+                if ($*layout_type == "one-column-split") {
+    """
+                    <div id="secondary"><div class="inner">
+    """;
+                        $this->print_module_section("one");
+    """
+                    </div></div><!--  end secondary and secondary>inner -->
+    """;
+                }
+    """
+                    <div id="primary"><div class="inner">
+                        """;
+                        $this->print_body();
+    """
+                    </div></div><!-- end primary and primary>inner -->
+    """;
+                if ($*layout_type != "one-column-split") {
+    """
+                    <div id="secondary"><div class="inner">
+    """;
+                        $this->print_module_section("one");
+    """
+                    </div></div><!--  end secondary and secondary>inner -->
+    """;
+                }
+    """
+                    <div id="invisible-separator" style="float: left; width: 1px;"></div> <!-- this is a hack for IE7 + two-columns-right -->
+                    <div id="tertiary"><div class="inner">
+                        """;
+                        $this->print_module_section("two");
+    """
+                    </div></div><!-- end tertiary and tertiary>inner -->
+                    <div id="content-footer"></div>
+                </div><!-- end content>inner -->
+            </div> <!-- end content -->
+        </div> <!-- end canvas>inner -->
+    """;
+
+    """
+    <div id="footer">
+        <div class="inner">
+            """;
+            print safe """
+                <div class="page-top"><a href="#">$*text_page_top</a></div>
+        </div><!-- end footer>inner -->
+    </div><!-- end footer -->
+
+    </div> <!-- end canvas -->
+    """;
+    $this->print_wrapper_end();
+    """</html>""";
+}
+
+##===============================
+## Stylesheet
+##===============================
+
+
+function print_stylesheet () {
+
+var string userpic_css = "";
+    if ($*userpics_position == "right") {
+        $userpic_css = """
+        .entry .userpic, .comment .userpic {
+            float: right;
+            margin-right: 0;
+            }
+        """;
+    }
+    else {
+        $userpic_css = """
+        .entry .userpic, .comment .userpic {
+            float: left;
+            margin-left: 0;
+            }
+        """;
+    }
+
+var string navlinks_css = "";
+    if ($*module_navlinks_section == "header") {
+        $navlinks_css = """
+            .module-navlinks {
+                background-color: transparent;
+                border: none;
+                margin-bottom: 0;
+                margin-top: .5em;
+                text-align: right;
+                }
+
+            .module-navlinks li {
+                border-left: 1px solid $*color_page_title;
+                display: inline;
+                padding-left: .5em;
+                }
+
+            .module-navlinks ul > li:first-child {
+                border-left: none;
+                }
+
+            .module-navlinks .module-header {
+                display: none;
+                }
+
+            .module-navlinks a, .module-navlinks a.current {
+                color: $*color_page_title;
+                }
+        """;
+    }
+    else {
+        $navlinks_css = "";
+    }
+
+    """
+
+/*--- Marginless ---*/
+/*--- by momijizukamori ---*/
+/*--- adapted from Paletteable ---*/
+/*--- by branchandroot ---*/
+
+/*--- Main ---*/
+
+H1, H2, H3 {
+    padding: 0;
+    margin: 0;
+}
+
+blockquote {
+    font-style: italic;
+    padding: 1em 1em .5em 2em;
+    }
+
+blockquote > p:first-child {
+    margin-top: 0;
+    }
+
+dl dt {
+    font-weight: bold;
+    }
+
+.userpic img {
+    border: 10px solid $*color_userpic_background;
+   }
+
+
+/*--- Main Containers ---*/
+
+#canvas {
+    margin: 0;
+    position: relative;
+    }
+
+#content {
+    background-color: $*color_entry_background;
+    }
+
+.column-left #content, .column-right #content {
+    border-color: $*color_module_background;
+    }
+
+.one-column #secondary, .one-column #tertiary {
+    background-color: $*color_module_background;
+    }
+
+.one-column #primary {
+    clear:both;
+    }
+
+/*--- Journal Header ---*/
+
+h2#pagetitle {
+     margin-top: -1em;
+     font-style:italic;
+     text-align:right;
+}
+
+#header {
+    padding: .5em 1em;
+    }
+
+/*--- Journal Navigation ---*/
+
+.navigation {
+    text-align: right;
+    }
+
+.page-month .navigation {
+    text-align: center;
+    }
+
+/*--- Entries & Comments ---*/
+
+.entry-wrapper {
+    margin-bottom: 1em;
+    }
+
+#primary .separator-after {
+    width: 100%;
+    background-color:$*color_module_background;
+    height: 10px;
+    }
+
+.column-left #primary .separator-after {
+    margin-left: -1em;
+    }
+
+.column-right #primary .separator-after {
+    margin-right: -1em;
+    }
+
+.entry .userpic, .comment .userpic {
+    margin: 0 1em .5em 1em;
+    }
+
+$userpic_css
+
+.datetime, .poster-ip {
+    font-size: small;
+    }
+
+.entry .contents, .comment .contents {
+    margin: 1em 0;
+    }
+
+.entry-content, .comment-content {
+    margin-top: 1em;
+    }
+
+.entry-content { /*keeps entry metadata from shifting on very short entries */
+    min-height: 3em;
+    }
+
+.entry .metadata-label, .entry .tag-text {
+    font-weight: bold;
+    }
+
+.entry .metadata ul, .entry .metadata li {
+    display: block;
+    list-style: none;
+    margin: 0;
+}
+
+.entry .metadata.bottom-metadata {
+    margin-top:1em;
+    margin-bottom: -1em;
+    clear: left;
+    }
+
+.entry .footer, .comment .footer {
+    clear: both;
+    padding-bottom: .5em;
+    }
+
+.entry .tag {
+    margin-bottom: .5em;
+    }
+
+ul.entry-management-links, ul.comment-management-links {
+    display: block;
+    float: left;
+    margin-bottom: .5em;
+    margin-top: 0;
+    }
+
+ul.entry-interaction-links, ul.comment-interaction-links {
+    display: block;
+    text-align: right;
+    margin-bottom: .5em;
+    margin-right: .5em;
+    margin-top: .5em;
+    }
+
+.comment-wrapper .header {
+    padding: .25em .5em;
+    }
+
+.comment-wrapper-odd .header {
+    background-color: $*color_comment_title_background;
+    color: $*color_comment_title;
+    }
+
+.comment-wrapper-odd .header a {
+    background-color: transparent;
+    color: $*color_comment_title;
+    }
+
+.comment-wrapper-even .header {
+    background-color: $*color_comment_title_background_even;
+    color: $*color_comment_title_even;
+    }
+
+.comment-wrapper-even .header a {
+    background: transparent;
+    color: $*color_comment_title_even;
+    }
+
+.comment-wrapper-even .comment-title,
+.comment-wrapper-odd .comment-title {
+    background-color: transparent;
+    font-size: large;
+    margin-bottom: .25em;
+    }
+
+.multiform-checkbox {
+    clear: both;
+    display: block;
+    }
+
+.partial .comment {
+    padding: .25em .5em;
+    }
+
+.partial .comment-title {
+    display: inline;
+    font-size: medium;
+    margin-bottom: 0;
+    }
+
+.comment-wrapper-even.partial .comment-title,
+.comment-wrapper-odd.partial .comment-title,
+.comment-wrapper-even.partial .comment-title a,
+.comment-wrapper-odd.partial .comment-title a {
+    background-color: transparent;
+    color: inherit;
+    }
+
+.bottomcomment {
+    padding: .25em .5em;
+    background-color: $*color_comment_title_background;
+    color: $*color_comment_title;
+    }
+
+.bottomcomment a {
+    color: $*color_comment_title;
+    }
+
+#qrdiv {
+    clear: both;
+     }
+
+/*--- Archive Pages ---*/
+
+.month {
+    margin-bottom: 2em;
+    }
+
+.month .contents {
+    padding: 1em .5em 0;
+    }
+
+.month .footer {
+    padding: 0 .5em 1em;
+    text-align: center;
+    }
+
+.month .header {
+    background-color: $*color_entry_title_background;
+    color: $*color_entry_title;
+    font-family: $*font_entry_title;
+    padding: 1px .25em;
+    }
+
+table.month td, table.month th {
+    vertical-align: top;
+    padding: .25em .5em;
+    background: $*color_calendar_background;
+    }
+
+table.month caption {
+    color: $*color_entry_background;
+    }
+
+td.day-has-entries {
+    background: $*color_calendar_entry !important;
+    }
+
+#archive-month .month {
+    padding: 0 1em;
+    }
+
+#archive-month .entry-title {
+    font-weight: bold;
+    }
+
+h3.day-date {
+    text-align: center;
+    margin-bottom: 2em;
+    }
+
+/*--- Icon Page ---*/
+
+.icon-image {
+    display: inline;
+    float: left;
+    }
+
+.icon-image img {
+    padding: 0.2em 0.5em;
+    margin-right: 1em;
+    margin-top: 15px;
+    }
+
+.icon-info {
+    overflow:auto;
+    vertical-align: bottom;
+    word-wrap: break-word;
+    }
+
+.icon {
+    width:50%;
+    float: left;
+    vertical-align: botton;
+    min-width: 350px;
+    }
+
+.label, .comment-text, .description-text, .default {
+    font-weight: bold;
+    }
+
+
+/*--- Sidebars ---*/
+
+.one-column #secondary, .one-column #tertiary { width: 100%; }
+.one-column .module { display: inline-block; vertical-align: top; width: $*sidebar_width;
+    }
+
+.one-column .module-wrapper {
+    background: $*color_module_background;
+    }
+
+.two-columns-left #tertiary .module,
+.two-columns-right #tertiary .module {
+    background-color: transparent;
+    color: $*color_entry_text;
+    }
+
+.two-columns-left #tertiary .module a,
+.two-columns-right #tertiary .module a {
+    color: $*color_entry_link;
+    }
+
+.two-columns-left #tertiary .module a:visited,
+.two-columns-right #tertiary .module a:visited {
+    color: $*color_entry_link_visited;
+    }
+
+.two-columns-left #tertiary .module a:hover,
+.two-columns-right #tertiary .module a:hover {
+    color: $*color_entry_link_hover;
+    }
+
+.two-columns-left #tertiary .module a:active,
+.two-columns-right #tertiary .module a:active {
+    color: $*color_entry_link_active;
+    }
+
+.two-columns-left #tertiary .module h2,
+.two-columns-right #tertiary .module h2 {
+    color: $*color_entry_title;
+    }
+
+.two-columns-left #tertiary .separator-after, .two-columns-right #tertiary .separator-after {
+    clear: both;
+    }
+
+.two-columns-left #tertiary {
+    margin-left: 0;
+    }
+
+.two-columns-right #tertiary {
+    margin-right: 0;
+    }
+
+.module {
+    border: none;
+    margin-bottom: 1em;
+    }
+
+.module-content ul, .module-list, .module-credit dl {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+    }
+
+.module-content ul ul {
+    margin-left: 1em;
+    }
+
+.module-header {
+    font-size: 1.2em;
+    }
+.module-header a {
+    color: $*color_module_title;
+    }
+
+.module .userlite-interaction-links {
+    margin-top: .5em;
+    }
+
+.module-navlinks a.current {
+    color: $*color_module_text;
+    text-decoration: none;
+    }
+
+.module-calendar .module-content {
+    text-align: left;
+    }
+
+.module-calendar table {
+    margin: 0;
+    font-size:0.9em;
+    }
+
+$navlinks_css
+
+/*--- Footer ---*/
+
+#footer {
+    text-align: center;
+    }
+
+    """;
+}
+
+
+
diff -r e600334fde45 -r 4e5463fc7b55 bin/upgrading/s2layers/marginless/themes.s2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/upgrading/s2layers/marginless/themes.s2	Fri Feb 10 20:02:59 2012 +0800
@@ -0,0 +1,179 @@
+#NEWLAYER: marginless/greatoak
+layerinfo "type" = "theme";
+layerinfo "name" = "Great Oak";
+layerinfo "redist_uniq" = "marginless/greatoak";
+layerinfo "author_name" = "momijizukamori";
+
+set layout_authors = [ { "name" => "momijizukamori", "type" => "user" } ];
+
+##===============================
+## Page
+##===============================
+set color_footer_background = "#398c42";
+set color_header_background = "#398c42";
+set color_page_background = "#398c42";
+set color_page_link = "#225426";
+set color_page_link_active = "#225426";
+set color_page_link_hover = "#5ce265";
+set color_page_link_visited = "#708c73";
+set color_page_text = "#222222";
+set color_page_title = "#5e4720";
+set color_userpic_background = "#225426";
+
+##===============================
+## Entry
+##===============================
+set color_calendar_entry = "#BC8E40";
+set color_comment_title = "#ebdeba";
+set color_comment_title_background = "#225426";
+set color_comment_title_background_even = "#398c42";
+set color_comment_title_even = "#ebdeba";
+set color_entry_background = "#ebdeba";
+set color_entry_link = "#225426";
+set color_entry_link_active = "#225426";
+set color_entry_link_hover = "#5ce265";
+set color_entry_link_visited = "#398c42";
+set color_entry_text = "#222222";
+
+##===============================
+## Modules
+##===============================
+set color_module_background = "#6a5224";
+set color_module_link = "#398c42";
+set color_module_link_active = "#398c42";
+set color_module_link_hover = "#5ce265";
+set color_module_link_visited = "#398c42";
+set color_module_text = "#222222";
+
+##===============================
+## Comments
+##===============================
+set color_comment_title = "#ebdeba";
+set color_comment_title_background = "#225426";
+set color_comment_title_background_even = "#398c42";
+set color_comment_title_even = "#ebdeba";
+
+##===============================
+## Other
+##===============================
+set color_calendar_entry = "#BC8E40";
+set color_userpic_background = "#225426";
+
+#NEWLAYER: marginless/mars
+layerinfo "type" = "theme";
+layerinfo "name" = "Mars";
+layerinfo "redist_uniq" = "marginless/mars";
+layerinfo "author_name" = "momijizukamori";
+
+set layout_authors = [ { "name" => "momijizukamori", "type" => "user" } ];
+
+##===============================
+## Page
+##===============================
+set color_footer_background = "#d31612";
+set color_header_background = "#000000";
+set color_page_background = "#000000";
+set color_page_link = "#8d070a";
+set color_page_link_active = "#8d070a";
+set color_page_link_hover = "#510204";
+set color_page_link_visited = "#d31612";
+set color_page_title = "#FFFFFF";
+set color_userpic_background = "#000000";
+
+##===============================
+## Entry
+##===============================
+set color_comment_title_background = "#d31612";
+set color_comment_title_background_even = "#d31612";
+set color_entry_background = "#FFFFFF";
+set color_entry_link = "#8d070a";
+set color_entry_link_active = "#8d070a";
+set color_entry_link_hover = "#510204";
+set color_entry_link_visited = "#d31612";
+set color_entry_text = "#000000";
+
+##===============================
+## Modules
+##===============================
+set color_module_background = "#d31612";
+set color_module_link = "#dedede";
+set color_module_link_active = "#dedede";
+set color_module_link_hover = "#adadad";
+set color_module_link_visited = "#f0f0f0";
+set color_module_text = "#ffffff";
+set color_module_title = "#ffffff";
+
+##===============================
+## Comments
+##===============================
+set color_comment_title_background = "#d31612";
+set color_comment_title_background_even = "#d31612";
+
+##===============================
+## Other
+##===============================
+set color_userpic_background = "#000000";
+
+#NEWLAYER: marginless/midnight
+layerinfo "type" = "theme";
+layerinfo "name" = "Midnight";
+layerinfo "redist_uniq" = "marginless/midnight";
+layerinfo "author_name" = "momijizukamori";
+
+set layout_authors = [ { "name" => "momijizukamori", "type" => "user" } ];
+
+##===============================
+## Page
+##===============================
+set color_calendar_background = "#d3d3d3";
+set color_footer_background = "#05033e";
+set color_footer_link = "#d3d3d3";
+set color_footer_link_active = "#d3d3d3";
+set color_footer_link_hover = "#bdbdbd";
+set color_footer_link_visited = "#c2bee9";
+set color_header_background = "#05033e";
+set color_page_background = "#000000";
+set color_page_link = "#05033e";
+set color_page_link_active = "#05033e";
+set color_page_link_hover = "#231082";
+set color_page_link_visited = "#5c5895";
+set color_page_text = "#333333";
+set color_page_title = "#dddddd";
+set color_userpic_background = "#05033e";
+
+##===============================
+## Entry
+##===============================
+set color_calendar_entry = "#c2bee9";
+set color_comment_title = "#dddddd";
+set color_comment_title_background = "#05033e";
+set color_comment_title_background_even = "#05033e";
+set color_comment_title_even = "#dddddd";
+set color_entry_background = "#eeeeee";
+set color_entry_text = "#333333";
+
+##===============================
+## Modules
+##===============================
+set color_module_background = "#231082";
+set color_module_link = "#d3d3d3";
+set color_module_link_active = "#d3d3d3";
+set color_module_link_hover = "#bdbdbd";
+set color_module_link_visited = "#c2bee9";
+set color_module_text = "#eeeeee";
+
+##===============================
+## Comments
+##===============================
+set color_comment_title = "#dddddd";
+set color_comment_title_background = "#05033e";
+set color_comment_title_background_even = "#05033e";
+set color_comment_title_even = "#dddddd";
+
+##===============================
+## Other
+##===============================
+set color_userpic_background = "#05033e";
+set color_calendar_background = "#d3d3d3";
+set color_calendar_entry = "#c2bee9";
+
diff -r e600334fde45 -r 4e5463fc7b55 cgi-bin/LJ/S2Theme.pm
--- a/cgi-bin/LJ/S2Theme.pm	Fri Feb 10 15:44:09 2012 +0800
+++ b/cgi-bin/LJ/S2Theme.pm	Fri Feb 10 20:02:59 2012 +0800
@@ -49,6 +49,7 @@
         fiveam => 'fiveam/earlyedition',
         fluidmeasure => 'fluidmeasure/spice',
         funkycircles => 'funkycircles/darkpurple',
+        marginless => 'marginless/mars',
         modular => 'modular/mediterraneanpeach',
         negatives => 'negatives/black',
         nouveauoleanders => 'nouveauoleanders/sienna',
diff -r e600334fde45 -r 4e5463fc7b55 cgi-bin/LJ/S2Theme/marginless.pm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cgi-bin/LJ/S2Theme/marginless.pm	Fri Feb 10 20:02:59 2012 +0800
@@ -0,0 +1,8 @@
+package LJ::S2Theme::marginless;
+use base qw( LJ::S2Theme );
+use strict;
+ 
+sub layouts { ( "1" => "one-column", "2l" => "two-columns-left", "2r" => "two-columns-right", "3" => "three-columns-sides", "3r" => "three-columns-right", "3l" => "three-columns-left" ) }
+sub layout_prop { "layout_type" }
+ 
+1;
diff -r e600334fde45 -r 4e5463fc7b55 htdocs/img/customize/previews/marginless/greatoak.png
Binary file htdocs/img/customize/previews/marginless/greatoak.png has changed
diff -r e600334fde45 -r 4e5463fc7b55 htdocs/img/customize/previews/marginless/mars.png
Binary file htdocs/img/customize/previews/marginless/mars.png has changed
diff -r e600334fde45 -r 4e5463fc7b55 htdocs/img/customize/previews/marginless/midnight.png
Binary file htdocs/img/customize/previews/marginless/midnight.png has changed
diff -r e600334fde45 -r 4e5463fc7b55 upgrading/s2layers/marginless/layout.s2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upgrading/s2layers/marginless/layout.s2	Fri Feb 10 20:02:59 2012 +0800
@@ -0,0 +1,624 @@
+layerinfo type = "layout";
+layerinfo name = "Marginless";
+layerinfo redist_uniq = "marginless/layout";
+layerinfo author_name = "momijizukamori";
+layerinfo lang = "en";
+layerinfo "source_viewable" = 1;
+layerinfo "is_public" = 1;
+
+set layout_authors = [ { "name" => "momijizukamori", "type" => "user" },{ "name" => "branchandroot", "type" => "user" } ];
+
+
+
+##===============================
+## Presentation
+##===============================
+set layout_type = "two-columns-left";
+set userpics_position = "right";
+set use_journalstyle_icons_page = true;
+set sidebar_width = "12em";
+set sidebar_width_doubled = "24em";
+set userpics_position = "left";
+set use_custom_friend_colors = false;
+set custom_colors_template = "%%new%% .userpic img {border:1px solid %%foreground%%; padding: 9px; background: %%background%%;}";
+set font_base = "Verdana";
+set font_fallback = "Helvetica";
+set font_journal_subtitle_size = "1";
+set font_journal_subtitle_units = "em";
+set userlite_interaction_links = "text";
+set entry_management_links = "text";
+
+##===============================
+## Colors
+##===============================
+
+propgroup colors_child {
+    property Color color_calendar_bg { des = "Background color for calendar on Archive page"; }
+    property Color color_calendar_entry { des = "Background color for a day with entries on the calendar"; }
+    property Color color_comment_title_even { des = "Comment title alternate color"; }
+    property Color color_comment_title_background_even { des = "Comment title alternate background color"; }
+    property Color color_userpic_bg { des = "Border color for user icon on sidebar and in entries"; }
+    }
+
+##===============================
+## Modules
+##===============================
+
+property string module_navlinks_section_override {
+    values = "none|(none)|header|Header|one|Main Module Section|two|Second Module Section";
+    grouped = 1;
+    }
+
+set grouped_property_override = { "module_navlinks_section" => "module_navlinks_section_override" };
+
+set module_navlinks_section = "one";
+
+##===============================
+## Functions
+##===============================
+
+# Give a title to the navlinks module
+function print_module_navlinks() {
+    var Page p = get_page();
+    var string title = "Navigation";
+    open_module("navlinks", "$title", "");
+    var string[] links = [];
+    foreach var string k ($p.views_order) {
+        var string css = """ class="$k" """;
+        if ($p.view == $k) { $css = """ class="current $k" """; }
+        $links[size $links] = """<a href="$p.view_url{$k}"$css>"""+lang_viewname($k)+"""</a>""";
+    }
+    print_module_list($links);
+    close_module();
+}
+
+# Add section for navlinks module
+function Page::print() {
+    """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n<head profile="http://www.w3.org/2006/03/hcard http://purl.org/uF/hAtom/0.1/ http://gmpg.org/xfn/11">\n""";
+    $this->print_head();
+    $this->print_stylesheets();
+    $this->print_head_title();
+    """</head>""";
+    $this->print_wrapper_start();
+    $this->print_control_strip();
+    """
+    <div id="canvas">
+        <div class="inner">
+            <div id="header">
+                <div class="inner">
+                    """;
+                    $this->print_module_section("header");
+                    $this->print_global_title();
+                    $this->print_global_subtitle();
+                    $this->print_title();
+    """
+                </div><!-- end header>inner -->
+            </div><!-- end header -->
+            <div id="content">
+                <div class="inner">
+    """;
+                if ($*layout_type == "one-column-split") {
+    """
+                    <div id="secondary"><div class="inner">
+    """;
+                        $this->print_module_section("one");
+    """
+                    </div></div><!--  end secondary and secondary>inner -->
+    """;
+                }
+    """
+                    <div id="primary"><div class="inner">
+                        """; 
+                        $this->print_body();
+    """
+                    </div></div><!-- end primary and primary>inner -->
+    """;
+                if ($*layout_type != "one-column-split") {
+    """
+                    <div id="secondary"><div class="inner">
+    """;
+                        $this->print_module_section("one");
+    """
+                    </div></div><!--  end secondary and secondary>inner -->
+    """;
+                }
+    """
+                    <div id="invisible-separator" style="float: left; width: 1px;"></div> <!-- this is a hack for IE7 + two-columns-right -->
+                    <div id="tertiary"><div class="inner">
+                        """;
+                        $this->print_module_section("two");
+    """
+                    </div></div><!-- end tertiary and tertiary>inner -->
+                    <div id="content-footer"></div>
+                </div><!-- end content>inner -->
+            </div> <!-- end content -->
+        </div> <!-- end canvas>inner --> 
+    """;
+    
+    """
+    <div id="footer">
+        <div class="inner">
+            """;
+            print safe """
+                <div class="page-top"><a href="#">$*text_page_top</a></div>
+        </div><!-- end footer>inner -->
+    </div><!-- end footer -->
+    
+    </div> <!-- end canvas -->
+    """;
+    $this->print_wrapper_end();
+    """</html>""";
+}
+
+##===============================
+## Stylesheet
+##===============================
+
+
+function print_stylesheet () {
+
+var string userpic_css = "";
+    if ($*userpics_position == "right") {
+        $userpic_css = """
+        .entry .userpic, .comment .userpic {
+            float: right;
+            margin-right: 0;
+            }
+        """;
+    }
+    else {
+        $userpic_css = """
+        .entry .userpic, .comment .userpic {
+            float: left;
+            margin-left: 0;
+            }
+        """;
+    }
+
+var string navlinks_css = "";
+    if ($*module_navlinks_section == "header") {
+        $navlinks_css = """
+            .module-navlinks {
+                background-color: transparent;
+                border: none;
+                margin-bottom: 0;
+                margin-top: .5em;
+                text-align: right;
+                }
+
+            .module-navlinks li {
+                border-left: 1px solid $*color_page_title;
+                display: inline;
+                padding-left: .5em;
+                }
+
+            .module-navlinks ul > li:first-child {
+                border-left: none;
+                }
+
+            .module-navlinks .module-header {
+                display: none;
+                }
+
+            .module-navlinks a, .module-navlinks a.current {
+                color: $*color_page_title;
+                }
+        """;
+    }
+    else {
+        $navlinks_css = "";
+    }
+
+    """
+
+/*--- Marginless ---*/
+/*--- by momijizukamori ---*/
+/*--- adapted from Paletteable ---*/
+/*--- by branchandroot ---*/
+
+/*--- Main ---*/
+
+H1, H2, H3 {
+    padding: 0;
+    margin: 0;
+}
+
+blockquote {
+    font-style: italic;
+    padding: 1em 1em .5em 2em;
+    }
+
+blockquote > p:first-child {
+    margin-top: 0;
+    }
+
+dl dt {
+    font-weight: bold;
+    }
+
+.userpic img {
+    border: 10px solid $*color_userpic_bg;
+   }	
+
+
+/*--- Main Containers ---*/
+
+#canvas {
+    margin: 0;
+    position: relative;
+    }
+
+#content {
+    background-color: $*color_entry_background;
+    }
+
+.column-left #content, .column-right #content {
+    border-color: $*color_module_background;
+    }
+
+.one-column #secondary, .one-column #tertiary {
+    background-color: $*color_module_background;
+    }
+
+.one-column #primary {
+    clear:both;
+    }
+
+/*--- Journal Header ---*/
+
+h2#pagetitle {
+     margin-top: -1em;
+     font-style:italic;			
+     text-align:right;
+}
+
+#header {
+    padding: .5em 1em;
+    }
+
+/*--- Journal Navigation ---*/
+
+.navigation {
+    text-align: right;
+    }
+
+.page-month .navigation {
+    text-align: center;
+    }
+
+/*--- Entries & Comments ---*/
+
+.entry-wrapper {
+    margin-bottom: 1em;
+    }
+
+#primary .separator-after {
+    width: 100%;
+    background-color:$*color_module_background;
+    height: 10px;
+    }
+
+.column-left #primary .separator-after {
+    margin-left: -1em;
+    }
+
+.column-right #primary .separator-after {
+    margin-right: -1em;
+    }
+
+.entry .userpic, .comment .userpic {
+    margin: 0 1em .5em 1em;
+    }
+
+$userpic_css
+
+.datetime, .poster-ip {
+    font-size: small;
+    }
+
+.entry .contents, .comment .contents {
+    margin: 1em 0;
+    }
+
+.entry-content, .comment-content {
+    margin-top: 1em;
+    }
+
+.entry-content { /*keeps entry metadata from shifting on very short entries */
+    min-height: 3em;
+    }
+
+.entry .metadata-label, .entry .tag-text {
+    font-weight: bold;
+    }
+
+.entry .metadata ul, .entry .metadata li {
+    display: block;
+    list-style: none;
+    margin: 0;
+}
+
+.entry .metadata.bottom-metadata {
+    margin-top:1em;
+    margin-bottom: -1em;
+    clear: left;
+    }
+
+.entry .footer, .comment .footer {
+    clear: both;
+    padding-bottom: .5em;
+    }
+
+.entry .tag {
+    margin-bottom: .5em;
+    }
+
+ul.entry-management-links, ul.comment-management-links {
+    display: block;
+    float: left;
+    margin-bottom: .5em;
+    margin-top: 0;
+    }
+
+ul.entry-interaction-links, ul.comment-interaction-links {
+    display: block;
+    text-align: right;
+    margin-bottom: .5em;
+    margin-right: .5em;
+    margin-top: .5em;
+    }
+
+.comment-wrapper .header {
+    padding: .25em .5em;
+    }
+
+.comment-wrapper-odd .header {
+    background-color: $*color_comment_title_background;
+    color: $*color_comment_title;
+    }
+
+.comment-wrapper-odd .header a {
+    background-color: transparent;
+    color: $*color_comment_title;
+    }
+
+.comment-wrapper-even .header {
+    background-color: $*color_comment_title_background_even;
+    color: $*color_comment_title_even;
+    }
+
+.comment-wrapper-even .header a {
+    background: transparent;
+    color: $*color_comment_title_even;
+    }
+
+.comment-wrapper-even .comment-title,
+.comment-wrapper-odd .comment-title {
+    background-color: transparent;
+    font-size: large;
+    margin-bottom: .25em;
+    }
+
+.multiform-checkbox {
+    clear: both;
+    display: block;
+    }
+
+.partial .comment {
+    padding: .25em .5em;
+    }
+
+.partial .comment-title {
+    display: inline;
+    font-size: medium;
+    margin-bottom: 0;
+    }
+
+.comment-wrapper-even.partial .comment-title,
+.comment-wrapper-odd.partial .comment-title,
+.comment-wrapper-even.partial .comment-title a,
+.comment-wrapper-odd.partial .comment-title a {
+    background-color: transparent;
+    color: inherit;
+    }
+
+.bottomcomment {
+    padding: .25em .5em;
+    background-color: $*color_comment_title_background;
+    color: $*color_comment_title;
+    }
+
+.bottomcomment a {
+    color: $*color_comment_title;
+    }
+
+#qrdiv { 
+    clear: both; 
+     }
+
+/*--- Archive Pages ---*/
+
+.month {
+    margin-bottom: 2em;
+    }
+
+.month .contents {
+    padding: 1em .5em 0;
+    }
+
+.month .footer {
+    padding: 0 .5em 1em;
+    text-align: center;
+    }
+
+.month .header {
+    background-color: $*color_entry_title_background;
+    color: $*color_entry_title;
+    font-family: $*font_entry_title;
+    padding: 1px .25em;
+    }
+
+table.month td, table.month th {
+    vertical-align: top;
+    padding: .25em .5em;
+    background: $*color_calendar_bg;
+    }
+
+table.month caption {
+    color: $*color_entry_background;
+    }
+
+td.day-has-entries {
+    background: $*color_calendar_entry !important;
+    }
+
+#archive-month .month {
+    padding: 0 1em;
+    }
+
+#archive-month .entry-title {
+    font-weight: bold;
+    }
+
+h3.day-date {
+    text-align: center;
+    margin-bottom: 2em;
+    }
+
+/*--- Icon Page ---*/
+
+.icon-image {
+    display: inline;
+    float: left;
+    }
+
+.icon-image img {
+    padding: 0.2em 0.5em;
+    margin-right: 1em;
+    margin-top: 15px;
+    }
+
+.icon-info {
+    overflow:auto;
+    vertical-align: bottom;
+    word-wrap: break-word;
+    }
+
+.icon {
+    width:50%;
+    float: left;
+    vertical-align: botton;
+    min-width: 350px;
+    }
+
+.label, .comment-text, .description-text, .default {
+    font-weight: bold;
+    }
+
+
+/*--- Sidebars ---*/
+
+.one-column #secondary, .one-column #tertiary { width: 100%; }
+.one-column .module { display: inline-block; vertical-align: top; width: $*sidebar_width;
+    }
+
+.one-column .module-wrapper {
+    background: $*color_module_background;
+    }
+
+.two-columns-left #tertiary .module,
+.two-columns-right #tertiary .module {
+    background-color: transparent;
+    color: $*color_entry_text;
+    }
+
+.two-columns-left #tertiary .module a,
+.two-columns-right #tertiary .module a {
+    color: $*color_entry_link;
+    }
+
+.two-columns-left #tertiary .module a:visited,
+.two-columns-right #tertiary .module a:visited {
+    color: $*color_entry_link_visited;
+    }
+
+.two-columns-left #tertiary .module a:hover,
+.two-columns-right #tertiary .module a:hover {
+    color: $*color_entry_link_hover;
+    }
+
+.two-columns-left #tertiary .module a:active,
+.two-columns-right #tertiary .module a:active {
+    color: $*color_entry_link_active;
+    }
+
+.two-columns-left #tertiary .module h2,
+.two-columns-right #tertiary .module h2 {
+    color: $*color_entry_title;
+    }
+
+.two-columns-left #tertiary .separator-after, .two-columns-right #tertiary .separator-after {
+    clear: both;
+    }
+
+.two-columns-left #tertiary {
+    margin-left: 0;
+    }
+
+.two-columns-right #tertiary {
+    margin-right: 0;
+    }
+
+.module {
+    border: none;
+    margin-bottom: 1em;
+    }
+
+.module-content ul, .module-list, .module-credit dl {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+    }
+
+.module-content ul ul {
+    margin-left: 1em;
+    }
+
+.module-header {
+    font-size: 1.2em;
+    }
+.module-header a {
+    color: $*color_module_title;
+    }
+
+.module .userlite-interaction-links {
+    margin-top: .5em;
+    }
+
+.module-navlinks a.current {
+    color: $*color_module_text;
+    text-decoration: none;
+    }
+
+.module-calendar .module-content {
+    text-align: left;
+    }
+
+.module-calendar table {
+    margin: 0;
+    font-size:0.9em;
+    }
+
+$navlinks_css
+
+/*--- Footer ---*/
+
+#footer {
+    text-align: center;
+    }
+
+    """;
+}
+
+
+
diff -r e600334fde45 -r 4e5463fc7b55 upgrading/s2layers/marginless/themes.s2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upgrading/s2layers/marginless/themes.s2	Fri Feb 10 20:02:59 2012 +0800
@@ -0,0 +1,179 @@
+#NEWLAYER: marginless/greatoak
+layerinfo "type" = "theme";
+layerinfo "name" = "Great Oak";
+layerinfo "redist_uniq" = "marginless/greatoak";
+layerinfo "author_name" = "momijizukamori";
+
+set layout_authors = [ { "name" => "momijizukamori", "type" => "user" } ];
+
+##===============================
+## Page
+##===============================
+set color_footer_background = "#398c42";
+set color_header_background = "#398c42";
+set color_page_background = "#398c42";
+set color_page_link = "#225426";
+set color_page_link_active = "#225426";
+set color_page_link_hover = "#5ce265";
+set color_page_link_visited = "#708c73";
+set color_page_text = "#222222";
+set color_page_title = "#5e4720";
+set color_userpic_bg = "#225426";
+
+##===============================
+## Entry
+##===============================
+set color_calendar_entry = "#BC8E40";
+set color_comment_title = "#ebdeba";
+set color_comment_title_background = "#225426";
+set color_comment_title_background_even = "#398c42";
+set color_comment_title_even = "#ebdeba";
+set color_entry_background = "#ebdeba";
+set color_entry_link = "#225426";
+set color_entry_link_active = "#225426";
+set color_entry_link_hover = "#5ce265";
+set color_entry_link_visited = "#398c42";
+set color_entry_text = "#222222";
+
+##===============================
+## Modules
+##===============================
+set color_module_background = "#6a5224";
+set color_module_link = "#398c42";
+set color_module_link_active = "#398c42";
+set color_module_link_hover = "#5ce265";
+set color_module_link_visited = "#398c42";
+set color_module_text = "#222222";
+
+##===============================
+## Comments
+##===============================
+set color_comment_title = "#ebdeba";
+set color_comment_title_background = "#225426";
+set color_comment_title_background_even = "#398c42";
+set color_comment_title_even = "#ebdeba";
+
+##===============================
+## Other
+##===============================
+set color_calendar_entry = "#BC8E40";
+set color_userpic_bg = "#225426";
+
+#NEWLAYER: marginless/mars
+layerinfo "type" = "theme";
+layerinfo "name" = "Mars";
+layerinfo "redist_uniq" = "marginless/mars";
+layerinfo "author_name" = "momijizukamori";
+
+set layout_authors = [ { "name" => "momijizukamori", "type" => "user" } ];
+
+##===============================
+## Page
+##===============================
+set color_footer_background = "#d31612";
+set color_header_background = "#000000";
+set color_page_background = "#000000";
+set color_page_link = "#8d070a";
+set color_page_link_active = "#8d070a";
+set color_page_link_hover = "#510204";
+set color_page_link_visited = "#d31612";
+set color_page_title = "#FFFFFF";
+set color_userpic_bg = "#000000";
+
+##===============================
+## Entry
+##===============================
+set color_comment_title_background = "#d31612";
+set color_comment_title_background_even = "#d31612";
+set color_entry_background = "#FFFFFF";
+set color_entry_link = "#8d070a";
+set color_entry_link_active = "#8d070a";
+set color_entry_link_hover = "#510204";
+set color_entry_link_visited = "#d31612";
+set color_entry_text = "#000000";
+
+##===============================
+## Modules
+##===============================
+set color_module_background = "#d31612";
+set color_module_link = "#dedede";
+set color_module_link_active = "#dedede";
+set color_module_link_hover = "#adadad";
+set color_module_link_visited = "#f0f0f0";
+set color_module_text = "#ffffff";
+set color_module_title = "#ffffff";
+
+##===============================
+## Comments
+##===============================
+set color_comment_title_background = "#d31612";
+set color_comment_title_background_even = "#d31612";
+
+##===============================
+## Other
+##===============================
+set color_userpic_bg = "#000000";
+
+#NEWLAYER: marginless/midnight
+layerinfo "type" = "theme";
+layerinfo "name" = "Midnight";
+layerinfo "redist_uniq" = "marginless/midnight";
+layerinfo "author_name" = "momijizukamori";
+
+set layout_authors = [ { "name" => "momijizukamori", "type" => "user" } ];
+
+##===============================
+## Page
+##===============================
+set color_calendar_bg = "#d3d3d3";
+set color_footer_background = "#05033e";
+set color_footer_link = "#d3d3d3";
+set color_footer_link_active = "#d3d3d3";
+set color_footer_link_hover = "#bdbdbd";
+set color_footer_link_visited = "#c2bee9";
+set color_header_background = "#05033e";
+set color_page_background = "#000000";
+set color_page_link = "#05033e";
+set color_page_link_active = "#05033e";
+set color_page_link_hover = "#231082";
+set color_page_link_visited = "#5c5895";
+set color_page_text = "#333333";
+set color_page_title = "#dddddd";
+set color_userpic_bg = "#05033e";
+
+##===============================
+## Entry
+##===============================
+set color_calendar_entry = "#c2bee9";
+set color_comment_title = "#dddddd";
+set color_comment_title_background = "#05033e";
+set color_comment_title_background_even = "#05033e";
+set color_comment_title_even = "#dddddd";
+set color_entry_background = "#eeeeee";
+set color_entry_text = "#333333";
+
+##===============================
+## Modules
+##===============================
+set color_module_background = "#231082";
+set color_module_link = "#d3d3d3";
+set color_module_link_active = "#d3d3d3";
+set color_module_link_hover = "#bdbdbd";
+set color_module_link_visited = "#c2bee9";
+set color_module_text = "#eeeeee";
+
+##===============================
+## Comments
+##===============================
+set color_comment_title = "#dddddd";
+set color_comment_title_background = "#05033e";
+set color_comment_title_background_even = "#05033e";
+set color_comment_title_even = "#dddddd";
+
+##===============================
+## Other
+##===============================
+set color_userpic_bg = "#05033e";
+set color_calendar_bg = "#d3d3d3";
+set color_calendar_entry = "#c2bee9";
+
--------------------------------------------------------------------------------