bin/upgrading/s2layers/core2base/layout.s2
author fu
Fri Jan 27 17:59:59 2012 +0800
changeset 4240 5bab31c9f015
parent 4189 9116da4d0096
child 4293 15eb5ea0b2a5
permissions -rw-r--r--
http://bugs.dwscoalition.org/show_bug.cgi?id=4245

Call keywords in list context, so that we get a list instead of a comma-separated string. Add a bit of padding because we no longer have a physical comma.

Patch by fu.
     1 layerinfo "type" = "layout";
     2 layerinfo "name" = "Tabula Rasa";
     3 layerinfo redist_uniq = "core2base/layout";
     4 
     5 ##===============================
     6 ## Display settings - general
     7 ##===============================
     8 
     9 propgroup presentation {
    10     property use num_items_recent;
    11     property use num_items_reading;
    12     property use use_journalstyle_entry_page;
    13     property use layout_type;
    14     property use tags_page_type;
    15     property use sidebar_width;
    16     property use sidebar_width_doubled;
    17     property use margins_size;
    18     property use margins_unit;
    19     property use userpics_style_group;
    20     property use userpics_position;
    21     property use entry_metadata_position;
    22     property use use_custom_friend_colors;
    23     property use use_shared_pic;
    24     property use userlite_interaction_links;
    25     property use entry_management_links;
    26     property use comment_management_links;
    27     property use reg_firstdayofweek;
    28     property use entry_datetime_format_group;
    29     property use comment_datetime_format_group;
    30 }
    31 
    32 set sidebar_width = "15em";
    33 set sidebar_width_doubled = "30em";
    34 set layout_type = "one-column";
    35 set userpics_position = "left";
    36 set use_custom_friend_colors = false;
    37 set custom_foreground_element = "userpic_border";
    38 set custom_background_element = "userpic_background";
    39 
    40 ##===============================
    41 ## Journal style - colors
    42 ##===============================
    43 
    44 propgroup colors {
    45 
    46     property use color_page_background;
    47     property use color_page_text;
    48     property use color_page_link;
    49     property use color_page_link_active;
    50     property use color_page_link_hover;
    51     property use color_page_link_visited;
    52     property use color_page_border;
    53     property use color_page_title;
    54     
    55     property use color_header_background;
    56     property use color_footer_background;
    57     property use color_footer_link;
    58     property use color_footer_link_active;
    59     property use color_footer_link_hover;
    60     property use color_footer_link_visited;
    61 
    62     property use color_module_background;
    63     property use color_module_text;
    64     property use color_module_link;
    65     property use color_module_link_active;
    66     property use color_module_link_hover;
    67     property use color_module_link_visited;
    68     property use color_module_border;
    69     property use color_module_title;
    70     property use color_module_title_background;
    71 
    72     property use color_entry_background;
    73     property use color_entry_text;
    74     property use color_entry_link;
    75     property use color_entry_link_active;
    76     property use color_entry_link_hover;
    77     property use color_entry_link_visited;
    78     property use color_entry_border;
    79     property use color_entry_title;
    80     property use color_entry_title_background;
    81     property use color_entry_interaction_links;
    82 
    83     property use color_comment_title;
    84     property use color_comment_title_background;
    85 
    86 }
    87 
    88 ##===============================
    89 ## Display settings - fonts
    90 ##===============================
    91 
    92 propgroup fonts {
    93     property use font_base;
    94     property use font_fallback;
    95     property use font_base_size;
    96     property use font_base_units;
    97     property use font_journal_title;
    98     property use font_journal_title_size;
    99     property use font_journal_title_units;
   100     property use font_journal_subtitle;
   101     property use font_journal_subtitle_size;
   102     property use font_journal_subtitle_units;
   103     property use font_entry_title;
   104     property use font_entry_title_size;
   105     property use font_entry_title_units;
   106     property use font_comment_title;
   107     property use font_comment_title_size;
   108     property use font_comment_title_units;
   109     property use font_module_heading;
   110     property use font_module_heading_size;
   111     property use font_module_heading_units;
   112     property use font_module_text;
   113     property use font_module_text_size;
   114     property use font_module_text_units;
   115 }
   116 
   117 set font_base = "";
   118 set font_fallback = "";
   119 set font_base_size = "100";
   120 set font_base_units = "%";
   121 
   122 ##===============================
   123 ## Display settings - images
   124 ##===============================
   125 
   126 propgroup images {
   127     property use image_background_page_group;
   128     property use image_background_header_group;
   129     property use image_background_header_height;
   130     property use image_background_entry_group;
   131     property use image_background_module_group;
   132 }
   133 
   134 ##===============================
   135 ## Display settings - modules
   136 ##===============================
   137 
   138 propgroup modules {
   139     property use module_userprofile_group;
   140     property use module_navlinks_group;
   141     property use module_customtext_group;
   142     property use module_calendar_group;
   143     property use module_pagesummary_group;
   144     property use module_active_group;
   145     property use module_tags_group;
   146     property use module_links_group;
   147     property use module_syndicate_group;
   148     property use module_time_group;
   149     property use module_poweredby_group;
   150     property use module_credit_group;
   151     property use module_search_group;
   152     property use module_cuttagcontrols_group;
   153 }
   154 
   155 # explicitly define what sections the layout has available
   156 set module_layout_sections = "none|(none)|one|Main Module Section|two|Second Module Section";
   157 
   158 ##===============================
   159 ## Custom CSS
   160 ##===============================
   161 
   162 propgroup customcss {
   163     property use external_stylesheet;
   164     property use include_default_stylesheet;
   165     property use linked_stylesheet;
   166     property use custom_css;
   167 }
   168 
   169 propgroup text {
   170 ##===============================
   171 ## Text - main navigation
   172 ##===============================
   173 
   174     property use text_view_recent;
   175     property use text_view_friends;
   176     property use text_view_network;
   177     property use text_view_archive;
   178     property use text_view_userinfo;
   179     property use text_view_memories;
   180     property use text_view_tags;
   181 
   182 ##===============================
   183 ## Text - entry comment-related
   184 ##===============================
   185 
   186     property use text_post_comment;
   187     property use text_max_comments;
   188     property use text_read_comments;
   189     property use text_post_comment_friends;
   190     property use text_read_comments_friends;
   191 
   192     property use text_skiplinks_back;
   193     property use text_skiplinks_forward;
   194     property use text_meta_music;
   195     property use text_meta_mood;
   196     property use text_meta_location;
   197     property use text_meta_xpost;
   198     property use text_tags;
   199 
   200     property use text_entry_prev;
   201     property use text_entry_next;
   202     property use text_edit_entry;
   203     property use text_edit_tags;
   204     property use text_tell_friend;
   205     property use text_mem_add;
   206     property use text_watch_comments;
   207     property use text_unwatch_comments;
   208     property use text_permalink;
   209     property use text_stickyentry_subject;
   210 
   211     property use text_module_customtext;
   212     property use text_module_customtext_content;
   213     property use text_module_customtext_url;
   214 }
   215 
   216 function Page::print_default_stylesheet() {
   217     var string page_background = generate_background_css ($*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background);
   218     var string header_background = generate_background_css ($*image_background_header_url, $*image_background_header_repeat, $*image_background_header_position, $*color_header_background);
   219     if ($*image_background_header_height > 0) {
   220         $header_background = """
   221             $header_background
   222             height: """ + $*image_background_header_height + """px;""";
   223     }
   224     
   225     var string footer_background = generate_background_css( "", "", "", $*color_footer_background );
   226     var string footer_link_colors = generate_color_css( $*color_footer_link, new Color, new Color );
   227     var string footer_link_active_colors = generate_color_css( $*color_footer_link_active, new Color, new Color );
   228     var string footer_link_hover_colors = generate_color_css( $*color_footer_link_hover, new Color, new Color );
   229     var string footer_link_visited_colors = generate_color_css( $*color_footer_link_visited, new Color, new Color );
   230 
   231     var string entry_background = generate_background_css ($*image_background_entry_url, $*image_background_entry_repeat, $*image_background_entry_position, $*color_entry_background);
   232     var string module_background = generate_background_css ($*image_background_module_url, $*image_background_module_repeat, $*image_background_module_position, $*color_module_background);
   233 
   234     var string page_colors = generate_color_css($*color_page_text, $*color_page_background, $*color_page_border);
   235     var string entry_colors = generate_color_css($*color_entry_text, $*color_entry_background, $*color_entry_border);
   236     var string module_colors = generate_color_css($*color_module_text, $*color_module_background, $*color_module_border);
   237 
   238     var string page_title_colors = generate_color_css($*color_page_title, new Color, new Color);
   239     var string entry_title_colors = generate_color_css($*color_entry_title, $*color_entry_title_background, new Color);
   240     var string comment_title_colors = generate_color_css($*color_comment_title, $*color_comment_title_background, new Color);
   241     var string module_title_colors = generate_color_css($*color_module_title, $*color_module_title_background, new Color);
   242 
   243     var string page_link_colors = generate_color_css($*color_page_link, new Color, new Color);
   244     var string page_link_active_colors = generate_color_css($*color_page_link_active, new Color, new Color);
   245     var string page_link_hover_colors = generate_color_css($*color_page_link_hover, new Color, new Color);
   246     var string page_link_visited_colors = generate_color_css($*color_page_link_visited, new Color, new Color);
   247 
   248     var string entry_link_colors = generate_color_css($*color_entry_link, new Color, new Color);
   249     var string entry_link_active_colors = generate_color_css($*color_entry_link_active, new Color, new Color);
   250     var string entry_link_hover_colors = generate_color_css($*color_entry_link_hover, new Color, new Color);
   251     var string entry_link_visited_colors = generate_color_css($*color_entry_link_visited, new Color, new Color);
   252     var string entry_interaction_link_colors = generate_color_css($*color_entry_interaction_links, new Color, new Color);
   253 
   254     var string module_link_colors = generate_color_css($*color_module_link, new Color, new Color);
   255     var string module_link_active_colors = generate_color_css($*color_module_link_active, new Color, new Color);
   256     var string module_link_hover_colors = generate_color_css($*color_module_link_hover, new Color, new Color);
   257     var string module_link_visited_colors = generate_color_css($*color_module_link_visited, new Color, new Color);
   258 
   259     var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units);
   260     var string page_title_font = generate_font_css($*font_journal_title, $*font_base, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units);
   261     var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units);
   262     var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units);
   263     var string comment_title_font = generate_font_css($*font_comment_title, $*font_base, $*font_fallback, $*font_comment_title_size, $*font_comment_title_units);
   264     var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units);
   265     var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units);
   266 
   267      var string userpic_css = "";
   268          if ($*userpics_position == "right") {
   269              $userpic_css = """
   270              .entry .userpic,
   271              .comment .userpic {
   272                  text-align: right;
   273                  }
   274              """;
   275          } 
   276 
   277     """
   278 H1, H2, H3 {
   279     margin: .25em 0;
   280     padding: .25em 0;
   281 }
   282 
   283 img {
   284     border: none;
   285 }
   286 
   287 hr {
   288     display: none;
   289 }
   290 .entry-content hr,
   291 .comment-content hr {
   292     display: block;
   293     margin: 1em 10%;
   294 }
   295 
   296 body {
   297     $page_font
   298     padding: 0;
   299     $page_background
   300     $page_colors
   301 }
   302 
   303 html body {
   304     margin-left: $*margins_size$*margins_unit;
   305     margin-right: $*margins_size$*margins_unit;
   306 }
   307 
   308 a { $page_link_colors }
   309 a:visited { $page_link_visited_colors }
   310 a:hover { $page_link_hover_colors }
   311 a:active { $page_link_active_colors }
   312 
   313 q { font-style: italic; }
   314 
   315 .one-column #content { float: none; }
   316 .two-columns-left #content,
   317 .three-columns-sides #content {
   318     border-left: $*sidebar_width solid transparent;
   319 }
   320 .two-columns-right #content,
   321 .three-columns-sides #content {
   322     border-right: $*sidebar_width solid transparent;
   323 }
   324 .three-columns-left #content {
   325     border-left: $*sidebar_width_doubled solid transparent;
   326 }
   327 .three-columns-right #content {
   328     border-right: $*sidebar_width_doubled solid transparent;
   329 }
   330 .column-right #content {
   331     min-width: $*sidebar_width; /* prevents sidebar overlap of entry, when entry becomes narrower than sidebar */
   332 }
   333 
   334 #content-footer {
   335     height: 0;
   336     font-size: 0; /*to make IE happy*/
   337     clear: both;
   338 }
   339 
   340 #header, #footer {
   341     margin: 0;
   342     clear: both;
   343     padding: .5em;
   344 }
   345 
   346 #header {
   347     $header_background
   348     $page_title_colors
   349 }
   350 
   351 h1#title {
   352     $page_title_font
   353 }
   354 
   355 h2#subtitle,
   356 h2#pagetitle {
   357     $page_subtitle_font
   358 }
   359 
   360 #footer {
   361     $footer_background
   362 }
   363 
   364 #footer a { $footer_link_colors }
   365 #footer a:active { $footer_link_active_colors }
   366 #footer a:hover { $footer_link_hover_colors }
   367 #footer a:visited { $footer_link_visited_colors }
   368 
   369 #primary {
   370     float: left;
   371     width:100%;
   372     margin-right:-100%;
   373     margin-left: 0;
   374 }
   375 
   376 .one-column #primary { float: none; }
   377 
   378 #primary > .inner:first-child {
   379     padding: 1em;
   380 }
   381 
   382 .one-column #secondary { width: auto; }
   383 
   384 .two-columns-left #secondary,
   385 .three-columns-sides #secondary {
   386     float: left;
   387     width: $*sidebar_width;
   388     margin-left: -$*sidebar_width;
   389 }
   390 .two-columns-right #secondary {
   391     float: right;
   392     width: $*sidebar_width;
   393     margin-right: -$*sidebar_width;
   394 }
   395 .three-columns-left #secondary {
   396     float: left;
   397     width: $*sidebar_width;
   398     margin-left: -$*sidebar_width_doubled;
   399 }
   400 .three-columns-right #secondary {
   401     float: right;
   402     width: $*sidebar_width;
   403     margin-right: -$*sidebar_width;
   404 }
   405 
   406 #secondary > .inner:first-child {
   407     padding: 1em;
   408 }
   409 
   410 .one-column #tertiary { width: auto; }
   411 
   412 .two-columns-left #tertiary,
   413 .two-columns-right #tertiary {
   414     clear: both;
   415 }
   416 .two-columns-left #tertiary { margin-left: -$*sidebar_width; }
   417 .two-columns-right #tertiary { margin-right: -$*sidebar_width; }
   418 .two-columns-left #tertiary .module,
   419 .two-columns-right #tertiary .module {
   420     float: left;
   421     width: $*sidebar_width;
   422 }
   423 .three-columns-left #tertiary {
   424     float: left;
   425     width: $*sidebar_width;
   426     margin-left: -$*sidebar_width;
   427 }
   428 .three-columns-right #tertiary {
   429     float: right;
   430     width: $*sidebar_width;
   431     margin-right: -$*sidebar_width_doubled;
   432     margin-left: $*sidebar_width; /* so that #tertiary won't overlay #secondary in IE7 */
   433 }
   434 .three-columns-sides #tertiary {
   435     float: right;
   436     width: $*sidebar_width;
   437     margin-right: -$*sidebar_width;
   438 }
   439 
   440 #tertiary > .inner:first-child {
   441     padding: 1em;
   442 }
   443 
   444 .navigation ul {
   445     list-style: none;
   446     margin-left: 0;
   447     padding-left: 0;
   448 }
   449 .navigation li {
   450     display: inline;
   451     padding: 0 .5em;
   452 }
   453 .noentries {
   454     padding: 0 .5em;
   455 }
   456 
   457 /* entries */
   458 
   459 .entry {
   460     $entry_background
   461     $entry_colors
   462 }
   463 
   464 .entry .entry-title {
   465     $entry_title_font
   466 }
   467 
   468 .entry .entry-title, .entry .entry-title a {
   469     $entry_title_colors
   470 }
   471 
   472 .entry a { $entry_link_colors }
   473 .entry a:visited { $entry_link_visited_colors }
   474 .entry a:hover { $entry_link_hover_colors }
   475 .entry a:active { $entry_link_active_colors }
   476 
   477 /* To prevent overlapping when icon's on the left */
   478 /* and list is the first thing in content */
   479 .entry-content li,
   480 .comment-content li {
   481     list-style-position: inside;
   482     }
   483 
   484 .metadata ul {
   485     display: inline;
   486     list-style: none;
   487     margin-left: .5em;
   488     padding-left: 0;
   489 }
   490 .metadata li {
   491     margin-bottom: .5em;
   492 }
   493 .metadata.top-metadata ul {
   494     margin: 0;
   495 }
   496 .metadata.top-metadata {
   497     margin-bottom: 1em;
   498 }
   499 
   500 .tag ul {
   501     display: inline;
   502     list-style: none;
   503     margin-left: .5em;
   504     padding-left: 0;
   505 }
   506 .tag ul li {
   507     display: inline;
   508     padding: .25em;
   509 } /* same for month view */
   510 
   511 ul.entry-management-links {
   512     list-style: none;
   513     margin-left: 0;
   514     padding-left: 0;
   515 }
   516 ul.entry-management-links li {
   517     display: inline;
   518     padding: 0 .25em;
   519 }
   520 
   521 ul.entry-interaction-links {
   522     list-style: none;
   523     margin-left: 0;
   524     padding-left: 0;
   525     text-align: right;
   526 }
   527 
   528 .entry-interaction-links a { $entry_interaction_link_colors }
   529 
   530 ul.entry-interaction-links li {
   531     display: inline;
   532     padding: 0 .25em;
   533 }
   534 
   535 /* comments */
   536 
   537 .comment-wrapper {
   538     padding: .5em 0;
   539 }
   540 
   541 .comment .comment-title, .comment .comment-title a {
   542     $comment_title_colors
   543 }
   544 
   545 .comment .comment-title {
   546     $comment_title_font
   547 }
   548 
   549 .comment-title h4 {
   550     font-size: inherit;
   551     font-weight: inherit;
   552     margin: 0;
   553     padding: 0;
   554 }
   555 
   556 ul.comment-management-links {
   557     list-style: none;
   558     margin-left: 0;
   559     padding-left: 0;
   560     text-align: right;
   561 }
   562 ul.comment-management-links li {
   563     display: inline;
   564     padding: 0 .25em;
   565 }
   566 
   567 ul.comment-interaction-links {
   568     list-style: none;
   569     margin-left: 0;
   570     padding-left: 0;
   571 }
   572 ul.comment-interaction-links li {
   573     display: inline;
   574     padding: 0 .25em;
   575 }
   576 
   577 textarea#commenttext {
   578     width: 100%; /* fix for FF form width glitch */
   579 }
   580 
   581 /* archive */
   582 
   583 table.month {
   584     margin: 0 auto;
   585     border-collapse: collapse;
   586 }
   587 table.month td {
   588     height: 3.25em;
   589 }
   590 table.month td,
   591 table.month th {
   592     border: 1px solid; /* ? */
   593     padding: 3px;
   594 }
   595 table.month td p {
   596     margin: 0;
   597     padding: 3px;
   598 }
   599 
   600 .month dl dt {
   601     font-weight: bold;
   602 }
   603 .month dl .time {
   604     padding-right: .5em;
   605 }
   606 .month dl h3 {
   607     display: inline;
   608     font-size: medium;
   609 }
   610 .page-month .month .entry-poster {
   611     margin-right: .5em;
   612 }
   613 .month dl .tag ul {
   614     margin-top: 0;
   615 }
   616 
   617 /* icons */
   618 
   619 .sorting-options ul {
   620     list-style: none;
   621     margin-left: 0;
   622 }
   623 
   624 .sorting-options ul li {
   625     display: inline;
   626 }
   627 
   628 .keywords ul {
   629     display: inline;
   630     list-style: none;
   631     margin-left: .5em;
   632     padding-left: 0;
   633 }
   634 
   635 .keywords ul li {
   636     display: inline;
   637     padding: 0 .25em 0 0;
   638 }
   639 
   640 /* modules */
   641 
   642 .module {
   643     $module_background
   644     $module_colors
   645 }
   646 
   647 .module a { $module_link_colors }
   648 .module a:visited { $module_link_visited_colors }
   649 .module a:hover { $module_link_hover_colors }
   650 .module a:active { $module_link_active_colors }
   651 
   652 .module h2 {
   653     $module_title_colors
   654     $module_title_font
   655 }
   656 
   657 .module-content {
   658     $module_font
   659 }
   660 
   661 .module-content ul {
   662     list-style: outside;
   663     margin-left: 1em;
   664     padding-left: 0;
   665 }
   666 .module-content li {
   667     margin: .5em 0;
   668 }
   669 
   670 ul.userlite-interaction-links.icon-links {
   671     list-style: none;
   672     margin-left: 0;
   673     padding-left: 0;
   674 }
   675 
   676 ul.userlite-interaction-links.icon-links li {
   677     display: inline;
   678     padding: 0 .20em;
   679 }
   680 
   681 ul.userlite-interaction-links.text-links {
   682     text-align: left;
   683 }
   684 
   685 .module-calendar .module-content {
   686     text-align: center;
   687 }
   688 
   689 .one-column .module-calendar .module-content {
   690     text-align: left;
   691 }
   692 
   693 .module-calendar table {
   694     margin: 0 auto;
   695 }
   696 
   697 .one-column .module-calendar table {
   698     margin: 0;
   699 }
   700 
   701 .module-calendar td {
   702     padding: 1px;
   703 }
   704 .module-calendar td a {
   705     display: block;
   706     padding: 2px;
   707 }
   708 
   709 .search-box {
   710     margin: .2em auto;
   711 }
   712 
   713 /* wrap long content, particularly openid usernames */
   714 .module-pagesummary .ljuser {
   715     white-space: normal !important;
   716 }
   717 .module-pagesummary .module-content {
   718     word-wrap: break-word;
   719 }
   720 .module-credit dt, .module-credit dd {
   721     display: inline;
   722     margin: 0;
   723     padding: 0;
   724 }
   725 .module-credit dt {
   726     font-weight: bold;
   727     margin-right: 0.5em;
   728 }
   729 
   730 .tags_cloud li, .module-tags_cloud li { display: inline;
   731     list-style-type: none; }
   732 
   733 .module-syndicate .module-content {
   734     text-align: center;
   735 }
   736 
   737 .one-column .module-syndicate .module-content {
   738     text-align: left;
   739 }
   740 
   741 $userpic_css
   742     """;
   743 }
   744