<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Dreamwidth style system discussion</title>
  <link>https://style-system.dreamwidth.org/</link>
  <description>Dreamwidth style system discussion - Dreamwidth Studios</description>
  <lastBuildDate>Wed, 01 May 2019 15:14:29 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>style_system</lj:journal>
  <lj:journaltype>community</lj:journaltype>
<item>
  <guid isPermaLink='true'>https://style-system.dreamwidth.org/137947.html</guid>
  <pubDate>Wed, 01 May 2019 15:14:29 GMT</pubDate>
  <title>Style-related Code Updates</title>
  <link>https://style-system.dreamwidth.org/137947.html</link>
  <description>Posted by: &lt;span lj:user=&apos;momijizukamori&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://momijizukamori.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://momijizukamori.dreamwidth.org/&apos;&gt;&lt;b&gt;momijizukamori&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;&quot;&gt;We had a code push last night&lt;/a&gt;! With that push comes a handful of style-related updates.&lt;br /&gt;&lt;br /&gt;1) Navigation menu LIs are now directly targetable! No more extra spacing or having to muck around with nth-child syntax - they now have the class &apos;list-item-&lt;name&gt;&apos;.&lt;br /&gt;&lt;br /&gt;2) Librarian&apos;s Dream will now use header images correctly instead of covering them up with background fill.&lt;br /&gt;&lt;br /&gt;3) Custom styles that don&apos;t use the default stylesheet will now get the &lt;code&gt;&amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;/&amp;gt;&lt;/code&gt; tag as well - this may cause older layouts that weren&apos;t designed for mobile to look a little wonky on it. You can turn this off &lt;a href=&quot;https://www.dreamwidth.org/manage/settings/?cat=display&quot;&gt;in your account settings&lt;/a&gt; by checking &apos;Turn off mobile view for this device&apos;.&lt;br /&gt;&lt;br /&gt;4) The &lt;a href=&quot;https://www.dreamwidth.org/customize/advanced/layers&quot;&gt;Advanced Layers&lt;/a&gt; section now has a new editor that actually has the features people expect in a code editor in 2019 instead of being a glorified textarea.&lt;/name&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=style_system&amp;ditemid=137947&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://style-system.dreamwidth.org/137947.html</comments>
  <category>layout:librarian&apos;s dream</category>
  <category>page:navigation</category>
  <category>layer</category>
  <category>header:background or image</category>
  <lj:security>public</lj:security>
  <lj:poster>momijizukamori</lj:poster>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://style-system.dreamwidth.org/87748.html</guid>
  <pubDate>Sat, 17 Nov 2012 01:29:48 GMT</pubDate>
  <title>Sidebar cuts off on .lj-view-entry,.lj-view-archive and.lj-view-month using Flexible Squares on DW</title>
  <link>https://style-system.dreamwidth.org/87748.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marahmarie&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marahmarie.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marahmarie.dreamwidth.org/&apos;&gt;&lt;b&gt;marahmarie&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;ETA: SOLVED.&lt;/b&gt; With this layout, deleting &lt;code&gt;display:none&lt;/code&gt; from &lt;code&gt;.clearfoot&lt;/code&gt; fixes things right up (yes, the design seems to be inadvertently coded so that it cuts off the sidebar in the three views mentioned in my post title).&lt;/p&gt;

&lt;p&gt;Like in this &lt;a href=&quot;http://css-code.dreamwidth.org/2147.html&quot;&gt;example&lt;/a&gt;. Another user in this community had the same problem months ago (not with this style, actually a Core 2 style) and I was one of the ones who helped them, though I wasn&apos;t of much help because nothing I tried or suggested at the time really worked. Can&apos;t help myself now, either. Any suggestions?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=style_system&amp;ditemid=87748&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://style-system.dreamwidth.org/87748.html</comments>
  <category>layout:importing or imported from</category>
  <category>styles</category>
  <category>layer</category>
  <category>layer:theme layer</category>
  <category>modules</category>
  <lj:mood>eh</lj:mood>
  <lj:security>public</lj:security>
  <lj:poster>marahmarie</lj:poster>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://style-system.dreamwidth.org/86965.html</guid>
  <pubDate>Tue, 13 Nov 2012 21:02:32 GMT</pubDate>
  <title>SOLVED: Comment user icons linking to the commenter&apos;s icons page</title>
  <link>https://style-system.dreamwidth.org/86965.html</link>
  <description>Posted by: &lt;span lj:user=&apos;london_fan&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://london-fan.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://london-fan.dreamwidth.org/&apos;&gt;&lt;b&gt;london_fan&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hi there, yet another newbie at DW here. I recently imported my highly customized &lt;i&gt;Flexible Squares&lt;/i&gt; layout here with layout and theme layers. I changed around the bits that needed tweaking, but I got stuck on one thing. On LJ I have customized code for all icons (the 100x100 ones, not the 16x16 user icons in front of the user name) to link to the respective user&apos;s icons page. The link for entry user icons looks as follows:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;lt;a href=&amp;quot;$*SITEROOT/allpics.bml?user=$e.poster.username&amp;quot;&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;And this is the link for the user icons in comments:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;lt;a href=&amp;quot;$*SITEROOT/allpics.bml?user=$comment.poster.username&amp;quot;&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Due to the different structure of the link to users&apos; icons pages on DW, those links don&apos;t work here, but I&apos;m stuck figuring out how to change them. For &lt;b&gt;entries&lt;/b&gt; it seems to work just fine to replace the whole link with &quot;icons&quot;, because DW will pull up the respective &quot;username.dreamwidth.org/&quot; part all on its own, but that doesn&apos;t work for the &lt;b&gt;comment&lt;/b&gt; user pictures. How can I create a link to comment posters&apos; icons pages? &lt;br /&gt;&lt;br /&gt;Any help here would be highly appreciated.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ETA:&lt;/b&gt; Many thanks to &lt;span style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;https://chagrined.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://chagrined.dreamwidth.org/&apos;&gt;&lt;b&gt;chagrined&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; for solving this and showing me how to break up link strings!&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=style_system&amp;ditemid=86965&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://style-system.dreamwidth.org/86965.html</comments>
  <category>comments:user icon</category>
  <category>layout:importing or imported from</category>
  <category>layer</category>
  <category>pageview:custom comment page</category>
  <category>comments:comment poster</category>
  <lj:security>public</lj:security>
  <lj:poster>london_fan</lj:poster>
  <lj:reply-count>15</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://style-system.dreamwidth.org/58685.html</guid>
  <pubDate>Fri, 23 Dec 2011 15:21:05 GMT</pubDate>
  <title>Hiding Memories/Tags links using a Quite Lickable layer style. [solved]</title>
  <link>https://style-system.dreamwidth.org/58685.html</link>
  <description>Posted by: &lt;span lj:user=&apos;majesdane&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://majesdane.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://majesdane.dreamwidth.org/&apos;&gt;&lt;b&gt;majesdane&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was wondering if anyone had a fix for this ... I was helping a friend (&lt;span style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;https://tiltingheartand.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://tiltingheartand.dreamwidth.org/&apos;&gt;&lt;b&gt;tiltingheartand&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;), who wanted her DW layout to look exactly like her current one on LJ. The style she uses on LJ is &quot;Quite Lickable,&quot; and I was able to find a coding adaption for a S2 layer style over &lt;a href=&quot;http://hg.dwscoalition.org/dw-free/file/3f79143e7dd4/bin/upgrading/s2layers/lickable/layout.s2&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I haven&apos;t had any trouble tweaking small things here and there, but I can&apos;t seem to figure out out to hide the links for memories and tags in the sidebar. (For the record, I don&apos;t know how they&apos;re hidden on her LJ either, since I&apos;m not very familiar with the QL style.) I tried using the two fixes suggested &lt;a href=&quot;http://getting-started.dreamwidth.org/69305.html&quot;&gt;here&lt;/a&gt;, but neither of them has worked for me.&lt;br /&gt;&lt;br /&gt;If anyone knows a way to fix this, I would be very much appreciative. :)&lt;br /&gt;&lt;br /&gt;Layer coding:&lt;br /&gt;&lt;textarea&gt;layerinfo &quot;type&quot; = &quot;layout&quot;;
layerinfo &quot;name&quot; = &quot;Quite Lickable&quot;;
layerinfo &quot;author_name&quot; = &quot;Martin Atkins&quot;;
layerinfo &quot;redist_uniq&quot; = &quot;lickable/layout&quot;;
layerinfo &quot;previews&quot; = &quot;lickable/preview1.jpg,lickable/preview2.jpg&quot;;
layerinfo &quot;des&quot; = &quot;A fixed-width layout with drop shadows, various header styles and the possibility for introducing your own background images.&quot;;

## Customization Props

propgroup presentation {
    property bool opt_use_friendcolors {
        des = &quot;Use friend colors on friends page&quot;;
        noui = 1; # The support for this isn&apos;t brilliant
    }
    set opt_use_friendcolors = false;

    property bool opt_hide_userpics {
        des = &quot;Hide userpics on recent entries and day pages&quot;;
    }
    set opt_hide_userpics = true;

    property bool opt_show_user_linkele {
        des = &quot;Show links to your memories, todo list, and add friend page in the sidebar&quot;;
    }
    set opt_show_user_linkele = true;

    property use lang_fmt_date_short;
    property use lang_fmt_date_long;
    property use lang_fmt_time_short;

    property use page_recent_items;
    property use page_friends_items;

    property use use_shared_pic;
    property use view_entry_disabled;

    # This layout has quite a hefty stylesheet, so let&apos;s
    # make it external to avoid loading it over and over.
    set external_stylesheet = true;

    property int content_width {
        des = &quot;Content area width in pixels&quot;;
    }
    set content_width = 750;

    property int sidebar_width {
        des = &quot;Sidebar width in pixels&quot;;
    }
    set sidebar_width = 230;

    property bool side_borders {
        des = &quot;Show borders at the sides of the content area&quot;;
    }
    set side_borders = true;

    property string shadow_img_left {
        des = &quot;Style of drop-shadow for the left of the page&quot;;
        values = &quot;|None|shadow-l.png|Normal|shadow-l-small.png|Small&quot;;
    }
    set shadow_img_left = &quot;shadow-l.png&quot;;

    property string shadow_img_right {
        des = &quot;Style of drop-shadow for the right of the page&quot;;
        values = &quot;|None|shadow-r.png|Normal|shadow-r-small.png|Small&quot;;
    }
    set shadow_img_right = &quot;shadow-r.png&quot;;

    property string title_style {
        des = &quot;Top heading style&quot;;
        note = &quot;You can choose the colors to be used from the colors section.&quot;;
        values = &quot;topglow|Top Glow|letters|Letters|explosion|Explosion|nature|Nature|camouflage|Camouflage|ramblings|Ramblings|clouds|Clouds|futuristic|Futuristic|bubbles|Circles|bubblewrap|Bubble Wrap|wires|Wires|urban|Urban|__custom|(Custom)||(None)&quot;;
    }
    set title_style = &quot;wires&quot;;

    property string{}{} title_styles {
        des = &quot;A bunch of top heading style settings&quot;;
        noui = 1;
    }
    set title_styles = {
        &quot;topglow&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;tilex&quot;, &quot;url&quot; =&amp;gt; &quot;lickable/topgrad.png&quot; },
        &quot;letters&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;explosion&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;nature&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;camouflage&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;ramblings&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;clouds&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;futuristic&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;bubbles&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;bubblewrap&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;wires&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
        &quot;urban&quot; =&amp;gt; { &quot;type&quot; =&amp;gt; &quot;deardiary&quot; },
    };

    property string title_style_custom_url {
        des = &quot;Top heading custom background image&quot;;
        note = &quot;If you selected &apos;Custom&apos; as your heading style, you can enter a background image URL here.&quot;;
    }
    set title_style_custom_url = &quot;&quot;;

    property int title_style_custom_height {
        des = &quot;Top heading custom height&quot;;
        note = &quot;If you selected &apos;Custom&apos; as your heading style, you can enter here how tall you wish the heading to be, in pixels.&quot;;
    }
    set title_style_custom_height = 75;

    property bool title_notext {
        des = &quot;Hide top heading text&quot;;
        note = &quot;You might want to hide the system-supplied title text if you&apos;ve used an image with its own text in it.&quot;;
    }
    set title_notext = false;

    property bool title_separator {
        des = &quot;Show line under title bar&quot;;
    }
    set title_separator = true;

    property use linklist_support;
    property use custom_control_strip_colors;
}
propgroup colors {
    property Color clr_margins {
        des = &quot;Page Background Color&quot;;
    }
    property Color clr_page_bg {
        des = &quot;Main Content Background Color&quot;;
    }
    property Color clr_page_fg {
        des = &quot;Main Content Foreground Color&quot;;
    }
    property Color clr_title_bg {
        des = &quot;Title Background Color&quot;;
    }
    property Color clr_title_fg {
        des = &quot;Title Text Color&quot;;
    }
    property Color clr_title_pattern {
        des = &quot;Color of Title Background Effects&quot;;
        note = &quot;The application of this color depends on your selection of heading style.&quot;;
    }
    property Color clr_title_separator {
        des = &quot;Color of Line Under Title&quot;;
        note = &quot;You must also enable the line in the Presentation section.&quot;;
    }
    property Color clr_side_borders {
        des = &quot;Color of Side Borders&quot;;
        note = &quot;You must also enable the borders in the Presentation section.&quot;;
    }
    property Color clr_link_normal {
        des = &quot;Normal Link Color&quot;;
    }
    property Color clr_link_visited {
        des = &quot;Visited Link Color&quot;;
    }
    property use control_strip_bgcolor;
    property use control_strip_fgcolor;
    property use control_strip_bordercolor;
    property use control_strip_linkcolor;

    set clr_page_fg = &quot;#000000&quot;;
    set clr_margins = &quot;#0183fd&quot;;
    set clr_link_visited = &quot;#0063c0&quot;;
    set clr_link_normal = &quot;#0183fd&quot;;
    set clr_title_pattern = &quot;#faf49a&quot;;
    set clr_side_borders = &quot;#000000&quot;;
    set clr_page_bg = &quot;#e3f1ff&quot;;
    set clr_title_bg = &quot;#0063c0&quot;;
    set clr_title_fg = &quot;#ffffff&quot;;
    set clr_title_separator = &quot;#000000&quot;;
}
propgroup fonts {

    property string{}{} font_sizes {
        des = &quot;A bunch of font size settings&quot;;
        noui = 1;
    }
    set font_sizes = {
        &quot;tiny&quot; =&amp;gt; {
            &quot;body&quot; =&amp;gt; &quot;10px&quot;,
            &quot;pagetitle&quot; =&amp;gt; &quot;25px&quot;,
            &quot;pagesubtitle&quot; =&amp;gt; &quot;14px&quot;,
            &quot;dayhead&quot; =&amp;gt; &quot;14px&quot;,
            &quot;entryhead&quot; =&amp;gt; &quot;12px&quot;,
        },
        &quot;small&quot; =&amp;gt; {
            &quot;body&quot; =&amp;gt; &quot;12px&quot;,
            &quot;pagetitle&quot; =&amp;gt; &quot;25px&quot;,
            &quot;pagesubtitle&quot; =&amp;gt; &quot;14px&quot;,
            &quot;dayhead&quot; =&amp;gt; &quot;16px&quot;,
            &quot;entryhead&quot; =&amp;gt; &quot;14px&quot;,
        },
        &quot;medium&quot; =&amp;gt; {
            &quot;body&quot; =&amp;gt; &quot;14px&quot;,
            &quot;pagetitle&quot; =&amp;gt; &quot;25px&quot;,
            &quot;pagesubtitle&quot; =&amp;gt; &quot;14px&quot;,
            &quot;dayhead&quot; =&amp;gt; &quot;18px&quot;,
            &quot;entryhead&quot; =&amp;gt; &quot;16px&quot;,
        },
        &quot;large&quot; =&amp;gt; {
            &quot;body&quot; =&amp;gt; &quot;16px&quot;,
            &quot;pagetitle&quot; =&amp;gt; &quot;25px&quot;,
            &quot;pagesubtitle&quot; =&amp;gt; &quot;14px&quot;,
            &quot;dayhead&quot; =&amp;gt; &quot;20px&quot;,
            &quot;entryhead&quot; =&amp;gt; &quot;18px&quot;,
        },
        &quot;huge&quot; =&amp;gt; {
            &quot;body&quot; =&amp;gt; &quot;18px&quot;,
            &quot;pagetitle&quot; =&amp;gt; &quot;25px&quot;,
            &quot;pagesubtitle&quot; =&amp;gt; &quot;14px&quot;,
            &quot;dayhead&quot; =&amp;gt; &quot;22px&quot;,
            &quot;entryhead&quot; =&amp;gt; &quot;20px&quot;,
        },
    };

    property string font_body {
        des = &quot;Font Family For Normal Text&quot;;
        note = &quot;Specify a list of acceptable fonts in order of preference, most preferred first.&quot;;
    }
    set font_body = &quot;\&quot;Tahoma\&quot;, \&quot;Georgia\&quot;, \&quot;Helvetica\&quot;, \&quot;Arial\&quot;, sans-serif&quot;;

    property string font_sidebar {
        des = &quot;Font Family For Sidebar&quot;;
        note = &quot;Specify a list of acceptable fonts in order of preference, most preferred first.&quot;;
    }
    set font_sidebar = &quot;\&quot;Tahoma\&quot;, \&quot;Georgia\&quot;, \&quot;Helvetica\&quot;, \&quot;Arial\&quot;, sans-serif&quot;;

    property string font_title {
        des = &quot;Font Family For Title&quot;;
        note = &quot;Specify a list of acceptable fonts in order of preference, most preferred first.&quot;;
    }
    set font_title = &quot;\&quot;Tahoma\&quot;, \&quot;Georgia\&quot;, \&quot;Helvetica\&quot;, \&quot;Arial\&quot;, sans-serif&quot;;

    property string font_headings {
        des = &quot;Font Family For Headings&quot;;
        note = &quot;Specify a list of acceptable fonts in order of preference, most preferred first.&quot;;
    }
    set font_headings = &quot;\&quot;Tahoma\&quot;, \&quot;Georgia\&quot;, \&quot;Helvetica\&quot;, \&quot;Arial\&quot;, sans-serif&quot;;

    property string font_size_keyword {
        des = &quot;Text Size&quot;;
        values = &quot;tiny|Tiny|small|Small|medium|Medium|large|Large|huge|Huge&quot;;
    }
    set font_size_keyword = &quot;tiny&quot;;

}
propgroup images {
    property string content_bg_img {
        des = &quot;Content area background image URL&quot;;
        note = &quot;Since you&apos;ve chosen how big the sidebar will be in pixels, you could use this to add a sidebar background.&quot;;
    }
    set content_bg_img = &quot;&quot;;

    property string page_bg_img {
        des = &quot;Main page background image URL&quot;;
        note = &quot;Disable the shadows below for best results; the shadows will not automatically blend with the background.&quot;;
    }
    set page_bg_img = &quot;&quot;;

    property string page_bg_image_tile {
        des = &quot;Main page background repeat mode&quot;;
        values = &quot;no-repeat|Do not repeat|repeat-x|Repeat Horizontally|repeat-y|Repeat Vertically|repeat|Repeat both Horizontally and Vertically&quot;;
        note = &quot;This won&apos;t have any effect unless you enter an image URL above.&quot;;
    }
    set page_bg_image_tile = &quot;repeat-y&quot;;
}
propgroup text {
    property use text_view_recent;
    property use text_view_archive;
    property use text_view_friends;
    property use text_view_userinfo;

    property string i18n_paraphernalia_journalinfo {
        des = &quot;Journal Info Heading&quot;;
        note = &quot;If you leave this blank, your configured name will be used.&quot;;
    }
    property string i18n_paraphernalia_journalinfo_blurb {
        des = &quot;Journal Info Blurb&quot;;
        note = &quot;You can write whatever you want in here; it&apos;ll get displayed next to your userpic.&quot;;
        rows = 10;
        cols = 25;
        string_mode = &quot;html&quot;;
    }
    property string i18n_paraphernalia_viewsel {
        des = &quot;View Selection Heading&quot;;
        noui = 1;
    }
    property string i18n_paraphernalia_links {
        des = &quot;Link List Heading&quot;;
        noui = 1;
    }
    property string i18n_paraphernalia_recent_navigation {
        des = &quot;RecentPage Navigation Heading&quot;;
        noui = 1;
    }
    property string i18n_paraphernalia_year_navigation {
        des = &quot;YearPage Navigation Heading&quot;;
        noui = 1;
    }
    property string i18n_paraphernalia_entry_navigation {
        des = &quot;EntryPage Navigation Heading&quot;;
        noui = 1;
    }
    property string i18n_paraphernalia_day_navigation {
        des = &quot;DayPage Navigation Heading&quot;;
        noui = 1;
    }
    set i18n_paraphernalia_journalinfo = &quot;&quot;;
    set i18n_paraphernalia_journalinfo_blurb = &quot;&quot;;
    set i18n_paraphernalia_viewsel = &quot;View&quot;;
    set i18n_paraphernalia_links = &quot;Links&quot;;
    set i18n_paraphernalia_recent_navigation = &quot;Navigation&quot;;
    set i18n_paraphernalia_year_navigation = &quot;Year&quot;;
    set i18n_paraphernalia_entry_navigation = &quot;Entry&quot;;
    set i18n_paraphernalia_day_navigation = &quot;Navigation&quot;;

    property string i18n_journalinfo_name {
        des = &quot;Journal Name Caption&quot;;
        noui = 1;
    }
    property string i18n_journalinfo_website {
        des = &quot;Journal Name Caption&quot;;
        noui = 1;
    }
    set i18n_journalinfo_name = &quot;Name&quot;;
    set i18n_journalinfo_website = &quot;Website&quot;;

    property use text_post_comment;
    property use text_read_comments;
    property use text_post_comment_friends;
    property use text_read_comments_friends;
    property use text_website_default_name;
}
propgroup customcss {
    property use include_default_stylesheet;
    property use linked_stylesheet;
    property use custom_css;
}


function prop_init() {
    # A vague attempt at sanity-checking the font properties. Not
    # foolproof, of course, but this is about as good as it gets in S2.
    if ($*font_body-&amp;gt;contains(&quot;;&quot;)) { $*font_body = &quot;serif&quot;; }
    if ($*font_sidebar-&amp;gt;contains(&quot;;&quot;)) { $*font_sidebar = &quot;sans-serif&quot;; }
    if ($*font_title-&amp;gt;contains(&quot;;&quot;)) { $*font_title = &quot;sans-serif&quot;; }
    if ($*font_headings-&amp;gt;contains(&quot;;&quot;)) { $*font_headings = &quot;serif&quot;; }

    # Navigation strip custom colors
    if ($*control_strip_bgcolor.as_string == &quot;&quot;) {
        $*control_strip_bgcolor = $*clr_page_bg;
    }
    if ($*control_strip_fgcolor.as_string == &quot;&quot;) {
        $*control_strip_fgcolor = $*clr_page_fg;
    }
    if ($*control_strip_bordercolor.as_string == &quot;&quot;) {
        $*control_strip_bordercolor = $*clr_side_borders;
    }
    if ($*control_strip_linkcolor.as_string == &quot;&quot;) {
        $*control_strip_linkcolor = $*clr_link_normal;
    }

    $*theme_bgcolor = $*clr_page_bg;
    $*theme_fgcolor = $*clr_page_fg;
    $*theme_bordercolor = $*clr_side_borders;
    $*theme_linkcolor = $*clr_link_normal;
}

function heading_styles_deardiary() &quot;Creates a deardiary-style heading&quot; {
&quot;&quot;&quot;
#title {
    color: $*clr_title_fg;
    background-color: $*clr_title_bg;
    background-image: url(&quot;&quot;&quot;+palimg_tint(&quot;deardiary/titleimages/${*title_style}.png&quot;, $*clr_title_bg, $*clr_title_pattern)+&quot;&quot;&quot;);
    background-repeat: no-repeat;
    background-position: top right;
    height: 75px;
}
&quot;&quot;&quot;;
}

function heading_styles_tile() &quot;Creates a heading with a tinted image&quot; {
    var string{} style = $*title_styles{$*title_style};
    var string type = $style{&quot;type&quot;};
    var string url = $style{&quot;url&quot;};
    if ($url == &quot;&quot;) {
        $url = &quot;lickable/${*title_style}.png&quot;;
    }

&quot;&quot;&quot;
#title {
    color: $*clr_title_fg;
    background-color: $*clr_title_bg;
    background-image: url(&quot;&quot;&quot;+palimg_tint($url, $*clr_title_pattern, $*clr_title_bg)+&quot;&quot;&quot;);
&quot;&quot;&quot;;

    if ($type == &quot;tilex&quot;) {
        println &quot;background-repeat: repeat-x;&quot;;
    }
    elseif ($type == &quot;tiley&quot;) {
        println &quot;background-repeat: repeat-y;&quot;;
    }
    elseif ($type == &quot;tile&quot;) {
        println &quot;background-repeat: repeat;&quot;;
    }
    elseif ($type == &quot;notile&quot;) {
        println &quot;background-repeat: no-repeat;&quot;;
    }

&quot;&quot;&quot;
}
&quot;&quot;&quot;;
}

function heading_styles_custom() &quot;Creates a heading with a custom image and height&quot; {
&quot;&quot;&quot;
#title {
    color: $*clr_title_fg;
    background-color: $*clr_title_bg;
&quot;&quot;&quot;;
if (clean_url($*title_style_custom_url) != &quot;&quot;) {
    println &quot;background-image: url($*title_style_custom_url);&quot;;
}
if ($*title_style_custom_height != 0) {
    println &quot;height: ${*title_style_custom_height}px;&quot;;
}
&quot;&quot;&quot;
    background-position: top left;
}
&quot;&quot;&quot;;
}

function heading_styles() &quot;Styles for the top heading/title bar&quot; {
    var string{} style = $*title_styles{$*title_style};

    if ($style{&quot;type&quot;} == &quot;deardiary&quot;) {
        heading_styles_deardiary();
    }
    elseif ($style{&quot;type&quot;} == &quot;tilex&quot; or $style{&quot;type&quot;} == &quot;tiley&quot; or $style{&quot;type&quot;} == &quot;tile&quot; or  $style{&quot;type&quot;} == &quot;notile&quot;) {
        heading_styles_tile();
    }
    elseif ($*title_style == &quot;__custom&quot;) {
        heading_styles_custom();
    }
    else {
        $*title_style_custom_url = &quot;&quot;;
        $*title_style_custom_height = 75;
        heading_styles_custom();
    }
}

function pretty_styles() &quot;Pretty stuff that&apos;s completely dispensible&quot; {

    var int top = ($*title_separator ? 79 : 75);
    var string{} size = $*font_sizes{$*font_size_keyword};

    var int cwid = $*content_width;
    var int sbwid = $*sidebar_width;
    var int mcwid = $*content_width - $*sidebar_width - 25;
    var int shadowwid = 32;
    var int shackwid = $cwid + ($shadowwid * 2);
    if ($*side_borders) {
        $shackwid = $shackwid + 2;
    }

    var Color darker_bg = $*clr_page_bg-&amp;gt;darker(20);

    var string bg_url;
    if (clean_url($*page_bg_img) != &quot;&quot;) {
        $bg_url = $*page_bg_img;
    }
    else {
        $bg_url = palimg_tint(&quot;solid.png&quot;, $*clr_margins);
    }

&quot;&quot;&quot;

body {
    background: $*clr_margins &quot;&quot;&quot;+$bg_url-&amp;gt;css_url_value()+&quot;&quot;&quot;;
    background-repeat: &quot;&quot;&quot;+$*page_bg_image_tile-&amp;gt;css_keyword([&quot;no-repeat&quot;,&quot;repeat-x&quot;,&quot;repeat-y&quot;,&quot;repeat&quot;])+&quot;&quot;&quot;;
    background-position: center;
    color: $*clr_page_fg;
    margin: 0;
    padding: 0;
    border: 0;
    font-family: $*font_body;
    width: 100%;
    height: 100%;
}
body, td, table, th, tr {
    font-size: $size{&quot;body&quot;};
}

#shadowhack1 {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 0;
    width: ${shackwid}px;
    background-image: url(&quot;&quot;&quot;+palimg_tint(&quot;lickable/$*shadow_img_left&quot;, $*clr_margins)+&quot;&quot;&quot;);
    background-position: top left;
    background-repeat: repeat-y;
    min-height: 150%;
}

#shadowhack2 {
    margin: 0;
    background-image: url(&quot;&quot;&quot;+palimg_tint(&quot;lickable/$*shadow_img_right&quot;, $*clr_margins)+&quot;&quot;&quot;);
    background-position: top right;
    background-repeat: repeat-y;
    min-height: 100%;
}

#pagecontainer {
    background-color: $*clr_page_bg;
&quot;&quot;&quot;;
if (clean_url($*content_bg_img) != &quot;&quot;) {
    println &quot;background-image: url($*content_bg_img);&quot;;
}
&quot;&quot;&quot;
    color: $*clr_page_fg;
    margin-left: ${shadowwid}px;
    margin-right: ${shadowwid}px;
&quot;&quot;&quot;;
if ($*side_borders) {
&quot;&quot;&quot;
    border-left: 1px solid $*clr_side_borders;
    border-right: 1px solid $*clr_side_borders;
&quot;&quot;&quot;;
}
&quot;&quot;&quot;
}

a:link {
    color: $*clr_link_normal;
}
a:visited {
    color: $*clr_link_visited;
}


#title {
    color: $*clr_title_fg;
    background-color: $*clr_title_bg;
&quot;&quot;&quot;;
if ($*title_separator) {
&quot;&quot;&quot;
    border-bottom: 4px solid $*clr_title_separator;
&quot;&quot;&quot;;
}
&quot;&quot;&quot;
    font-family: $*font_title;
    overflow: hidden;
}
#title h1 {
    font-size: $size{&quot;pagetitle&quot;};
    font-weight: bold;
    margin: 0;
    padding-top: 20px;
    padding-left: 8px;
    white-space: no-wrap;
}
#title #journal_subtitle {
    font-size: $size{&quot;pagesubtitle&quot;};
    font-weight: bold;
    margin: 0;
    padding-left: 8px;
    white-space: no-wrap;
    margin-bottom: 5px;
}
&quot;&quot;&quot;;

heading_styles();

if ($*title_notext) {
&quot;&quot;&quot;
#title h1, #title #journal_subtitle {
    display: none;
}
&quot;&quot;&quot;;
}


&quot;&quot;&quot;

#paraphernalia {
    float: right;
    width: ${sbwid}px;
    font-family: $*font_sidebar;
}
#paraphernalia h2 {
    font-size: $size{&quot;dayhead&quot;};
    font-weight: bold;
    text-align: left;
    margin-top: 16px;
    margin-bottom: 8px;
}
#paraphernalia .pbox {
    margin-left: 8px;
    margin-right: 8px;
    clear: both;
}
#journalinfouserpic {
&quot;&quot;&quot;;

if ($*i18n_paraphernalia_journalinfo_blurb != &quot;&quot;) {
&quot;&quot;&quot;
    float: left;
    margin-right: 6px;
    margin-bottom: 6px;
&quot;&quot;&quot;;
}
else {
&quot;&quot;&quot;
    text-align: center;
&quot;&quot;&quot;;
}

&quot;&quot;&quot;
}
.pboxcontent {
    margin-left: 8px;
    margin-right: 8px;
}
.pbox dt {
    font-weight: normal;
    margin-top: 4px;
}
.pbox dd {
    padding: 0;
    margin-left: 24px;
}
.pbox ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.pbox ul ul {
    margin-left: 24px;
}
.pbox li {
    margin: 0;
    padding: 0;
}
.pbox li.current {
    font-weight: bold;
}
.pbox p {
    margin: 8px 0;
}

#main {
    margin: 0;
    min-height: 1024px;
    padding: 0 10px 0 0;
    width: ${mcwid}px;
    float: left;
}
* html #main {
    height: 1024px; /* IE-only hack */
}

.day h2 {
    font-size: $size{&quot;dayhead&quot;};
    font-weight: bold;
    font-family: $*font_headings;
    margin: 10px;
}

.entry {
    margin: 16px 16px 16px 10px;
}
.entryheader {
    font-size: $size{&quot;entryhead&quot;};
}
.entryheader .entrytimestampdate {
    display: none;
}
.page_entry .entryheader .entrytimestampdate, .page_reply .entryheader .entrytimestampdate {
    display: inline;
}

.comments .entry {
    margin-left: 0;
    margin-bottom: 8px;
}
.comments .entry .entryheader {
    background: $darker_bg;
}

.calendarmonth {
    width: 60%;
    margin-right: auto;
    margin-left: auto;
    border-collapse: collapse;
    margin-bottom: 2em;
}
.calendarmonth td, .calendarmonth th {
    padding: 0.5em;
    margin: 0;
}
.calendarmonthlink {
    text-align: center;
}
.calendarmonthheader h2 {
    font-size: $size{&quot;entryhead&quot;};
    margin: 0;
}

.page_month #main form, .page_month #main dl {
    margin: 8px;
}

#server_sig {
    font-size: 0.75em;
    text-align: center;
    clear: both;
    width: ${mcwid}px;
}

div.ljtags { display: inline; }

input, textarea {
    font-family: $*font_body;
    font-size: $size{&quot;body&quot;};
}

.journallinkbar {
    text-align: center;
}

&quot;&quot;&quot;;

print_custom_control_strip_css();
}

function necessary_styles() &quot;Styles which are likely to be needed whatever stylesheet is in use&quot; {
&quot;&quot;&quot;
.entry {
margin-bottom: 2em;
/*clear: both;*/
}

.entry .entryheader {
font-weight: bold;
text-align: left;
}

.entry .entryheader h3 {
font-size: 1em;
margin: 0;
padding: 0;
}

.entryheader .entryicon {
float: right;
margin-right: 1em;
}

.entryheader .entryuserpic {
float: right;
margin-top: 2em;
clear: right;
display: block;
padding: 3px;
&quot;&quot;&quot;;
if ($*opt_hide_userpics) {
&quot;&quot;&quot;
display: none;
}
.page_friends .entryheader .entryuserpic {
display: block;
&quot;&quot;&quot;;
}

&quot;&quot;&quot;
}

.entryheader .entryposter {
display: inline;
float:left;
margin-right: 1em;
}
.entryheader .entryposter:after {
content: &quot;: &quot;;
}
.entryposter img, .collapsed_entry img {
height: 12px;
width: 10px;
}

.entryheader .entrytimestamp {
display: inline;
}

.entrysubject A:link, .entrysubject A:visited, .entrysubject A:hover, .entrysubject A:visited {
     color: $*clr_page_fg;
     text-decoration: none;
}

.entrylinkbarpre, .entrylinkbarpost {
display: none;
}
.page_entry .entrylinkbarpre, .page_reply .entrylinkbarpre {
display: block;
float: right;
}

.entry .entrycontent {
margin: 8px;
}

.entrymeta {
list-style: none;
padding: 0;
margin: 0 0 0.5em 0;
display: block;
}
.entrymeta .entrymetacaption {
font-weight: bold;
}
.entrymeta li {
white-space: no-wrap;
}

.entry .entryfooter {
clear: both;
margin: 0;
}

.entryfooter .entrycmdlinks {
list-style: none;
vertical-align: middle;
margin: 0; padding: 0em;
white-space: no-wrap;
text-align: right;
}
.entryfooter .entrycmdlinks:before {
content: &quot;(&quot;;
}
.entryfooter .entrycmdlinks:after {
content: &quot;)&quot;;
}

.entrycmdlinks li {
display: inline;
}
* html .entrycmdlinks li {
margin-left: 1em;
}
.entrycmdlinks li:before {
content: &quot; - &quot;;
}
.entrycmdlinks li:first-child:before {
content: &quot;&quot;;
}

.comments {
    list-style: none;
    padding: 0;
    margin-left: 50px;
}
.comments .comments {
    margin-left: 25px;
}
.comments &amp;gt; li {
    margin: 0;
    padding: 0;
}
.calendardaynum { text-align: right; }
.calendardaycount { text-align: center; }
.calendarday {
width: 14%;
}
.itemrange {
    list-style: none;
    padding: 0;
    margin: 0.5em;
    text-align: center;
}
.itemrange li {
    display: inline;
    margin: 0 0.25em;
}
.itemrange li a:before, .itemrange li.current:before {
    content: &quot;[&quot;;
}
.itemrange li a:after, .itemrange li.current:after {
    content: &quot;]&quot;;
}
&quot;&quot;&quot;;
}
function custom_styles() &quot;User layers can override this to add extra CSS to the stylesheet&quot; {}

## Everything after this point should be common to all Cascadadelic layouts

function UserLite::lay_as_string() : string {
    var Image uiimg = userinfoicon($this);
    var string dir = $.journal_type == &quot;C&quot; ? &quot;community&quot; : &quot;users&quot;;
    return &quot;&amp;lt;span class=&apos;ljuser_$.username&apos; style=&apos;white-space:nowrap;&apos;&amp;gt;&amp;lt;a href=&apos;$*SITEROOT/userinfo.bml?user=$.username&apos;&amp;gt;&amp;lt;img src=&apos;$uiimg.url&apos; alt=&apos;[info]&apos; width=&apos;$uiimg.width&apos; height=&apos;$uiimg.height&apos; style=&apos;vertical-align:bottom;border:0;&apos; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;a href=&apos;$*SITEROOT/$dir/$.username/&apos;&amp;gt;&amp;lt;b&amp;gt;$.username&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&quot;;
}

function print_stylesheet() {
    necessary_styles();
    pretty_styles();
    custom_styles();
}

function paraphernalia_box_open(string id, string title) &quot;Open a paraphenalia box&quot; {
    if ($id != &quot;&quot;) {
       print safe &quot;&amp;lt;div class=\&quot;pbox\&quot; id=\&quot;$id\&quot;&amp;gt;&quot;;
    }
    else {
       print &quot;&amp;lt;div class=\&quot;pbox\&quot;&amp;gt;&quot;;
    }
    if ($title != &quot;&quot;) {
       print safe &quot;&quot;&quot;&amp;lt;h2&amp;gt;$title&amp;lt;/h2&amp;gt;&quot;&quot;&quot;;
    }
    &quot;&quot;&quot;&amp;lt;div class=&quot;pboxcontent&quot;&amp;gt;\n&quot;&quot;&quot;;
}
function paraphernalia_box_close(string id, string title) &quot;Close a paraphenalia box&quot; {
    &quot;&quot;&quot;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;\n&quot;&quot;&quot;;
}

function Page::lay_print_heading() {
    print safe &quot;&amp;lt;h1&amp;gt;$.global_title&amp;lt;/h1&amp;gt;&quot;;
    if ($.view == &quot;recent&quot; and $.global_subtitle != &quot;&quot;) {
        print safe &quot;&quot;&quot;&amp;lt;div id=&quot;journal_subtitle&quot;&amp;gt;$.global_subtitle&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
    else {
        print safe &quot;&quot;&quot;&amp;lt;div id=&quot;journal_subtitle&quot;&amp;gt;&quot;&quot;&quot;+$this-&amp;gt;view_title()+&quot;&quot;&quot;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
}
function Page::lay_print_journalinfo() {
    paraphernalia_box_open(&quot;journalinfo&quot;,
        ($*i18n_paraphernalia_journalinfo != &quot;&quot; ? $*i18n_paraphernalia_journalinfo : $.journal.name)
    );
    if (defined $.journal.default_pic) {
        println &quot;&quot;&quot;&amp;lt;div id=&quot;journalinfouserpic&quot;&amp;gt;$.journal.default_pic&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
    if ($*opt_show_user_linkele) {
        &quot;&quot;&quot;&amp;lt;div class=&quot;journallinkbar&quot;&amp;gt;&quot;&quot;&quot;; $.journal-&amp;gt;print_linkbar(); &quot;&quot;&quot;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
    if ($*i18n_paraphernalia_journalinfo_blurb != &quot;&quot;) {
        println &quot;&amp;lt;p&amp;gt;$*i18n_paraphernalia_journalinfo_blurb&amp;lt;/p&amp;gt;&quot;;
    }
    paraphernalia_box_close(&quot;journalinfo&quot;,$*i18n_paraphernalia_journalinfo);
}
function Page::lay_print_viewsel() {
    paraphernalia_box_open(&quot;viewsel&quot;,$*i18n_paraphernalia_viewsel);
    &quot;&amp;lt;ul&amp;gt;\n&quot;;
    foreach var string vl ($.views_order) {
        if ($vl == $.view) {
            print &quot;&amp;lt;li class=\&quot;current\&quot;&amp;gt;&quot;+lang_viewname($vl)+&quot;&amp;lt;/li&amp;gt;\n&quot;;
        } else {
            print &quot;&amp;lt;li&amp;gt;&amp;lt;a href=\&quot;&quot;+ehtml($.view_url{$vl})+&quot;\&quot;&amp;gt;&quot;+lang_viewname($vl)+&quot;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;\n&quot;;
        }
    }
    &quot;&amp;lt;/ul&amp;gt;\n&quot;;
    paraphernalia_box_close(&quot;viewsel&quot;,$*i18n_paraphernalia_viewsel);
}
function Page::lay_print_userlinks() {
    if (size $.linklist &amp;lt;= 0 or not $*linklist_support) {
        return;
    }
    paraphernalia_box_open(&quot;userlinks&quot;,$*i18n_paraphernalia_links);
    $this-&amp;gt;print_linklist();
    paraphernalia_box_close(&quot;userlinks&quot;,$*i18n_paraphernalia_links);
}
function Page::lay_print_viewspec() {}
function Page::lay_print_viewspec_after() {}
function Page::lay_print_custom_paraphernalia() &quot;User layers can override this to add extra paraphernalia&quot; {}

function Page::lay_print_paraphernalia() &quot;User layers can override this to change what appears in the paraphernalia section&quot; {
    $this-&amp;gt;lay_print_journalinfo();
    $this-&amp;gt;lay_print_viewsel();
    $this-&amp;gt;lay_print_viewspec();
    $this-&amp;gt;lay_print_custom_paraphernalia();
    $this-&amp;gt;lay_print_userlinks();
    if (viewer_sees_vbox()) {
        paraphernalia_box_open(&quot;&quot;, &quot;&quot;);
        &quot;&quot;&quot;&amp;lt;div style=&quot;margin-top: 16px;&quot;&amp;gt;&quot;&quot;&quot;;
        $this-&amp;gt;print_vbox();
        &quot;&amp;lt;/div&amp;gt;&quot;;
        paraphernalia_box_close(&quot;&quot;, &quot;&quot;);
    }
}

function lang_posting_in(UserLite poster, UserLite journal) : string &quot;Return the string &apos;poster posting in journal&apos;; I18n layers should override this.&quot; {
    return $poster-&amp;gt;lay_as_string()+&quot; posting in &quot;+$journal-&amp;gt;lay_as_string();
}

function EntryLite::lay_print_icon() {}
function EntryLite::lay_print_metadata() {}
function EntryLite::lay_print_cmdlinks() {}
function EntryLite::lay_print_poster() {
    if (defined $.poster) {
        print &quot;&quot;&quot;&amp;lt;div class=&quot;entryposter&quot;&amp;gt;$.poster&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
    else {
        print safe &quot;&quot;&quot;&amp;lt;div class=&quot;entryposter&quot;&amp;gt;$*text_poster_anonymous&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
}
function Entry::lay_print_poster() {
    var Page p = get_page();
    if ($p.view == &quot;recent&quot; and $.poster-&amp;gt;equals($.journal)) {
        return;
    }
    if ($p.view == &quot;friends&quot;) {
        print &quot;&quot;&quot;&amp;lt;div class=&quot;entryposter&quot;&amp;gt;&quot;&quot;&quot;;
        if (not $.poster-&amp;gt;equals($.journal)) {
            print lang_posting_in($.poster, $.journal);
        }
        else {
            print $.poster-&amp;gt;lay_as_string();
        }
        print &quot;&quot;&quot;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
    else {
        print &quot;&quot;&quot;&amp;lt;div class=&quot;entryposter&quot;&amp;gt;&quot;&quot;&quot;+$.poster-&amp;gt;lay_as_string()+&quot;&quot;&quot;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
}

function Entry::lay_print_icon() {
    if ($.security != &quot;&quot;) {
        &quot;&quot;&quot;&amp;lt;div class=&quot;entryicon&quot;&amp;gt;&quot;&quot;&quot;;
        print $.security_icon-&amp;gt;as_string(&quot;[$.security]&quot;);
        &quot;&amp;lt;/div&amp;gt;&quot;;
    }
}
function Comment::lay_print_icon() {
    if (defined $.subject_icon) {
        &quot;&quot;&quot;&amp;lt;div class=&quot;entryicon&quot;&amp;gt;&quot;&quot;&quot;;
        print $.subject_icon-&amp;gt;as_string(&quot;&quot;);
        &quot;&amp;lt;/div&amp;gt;&quot;;
    }
}

function Entry::lay_print_metadata() {
    if (size $.metadata == 0 and size $.tags &amp;lt; 1) {return;}
    println &quot;&quot;&quot;&amp;lt;ul class=&quot;entrymeta&quot;&amp;gt;&quot;&quot;&quot;;
    if ($.metadata{&quot;groups&quot;} != &quot;&quot;) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;span class=&quot;entrymetacaption&quot;&amp;gt;$*text_meta_groups:&amp;lt;/span&amp;gt; $.metadata{&quot;groups&quot;}&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    if ($.metadata{&quot;location&quot;} != &quot;&quot;) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;span class=&quot;entrymetacaption&quot;&amp;gt;$*text_meta_location:&amp;lt;/span&amp;gt; $.metadata{&quot;location&quot;}&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    if ($.metadata{&quot;mood&quot;} != &quot;&quot;) {
        print &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;span class=&quot;entrymetacaption&quot;&amp;gt;$*text_meta_mood:&amp;lt;/span&amp;gt; &quot;&quot;&quot;;
        if (defined $.mood_icon) {
            print $.mood_icon-&amp;gt;as_string() + &quot; &quot;;
        }
        println &quot;&quot;&quot;$.metadata{&quot;mood&quot;}&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    if ($.metadata{&quot;music&quot;} != &quot;&quot;) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;span class=&quot;entrymetacaption&quot;&amp;gt;$*text_meta_music:&amp;lt;/span&amp;gt; $.metadata{&quot;music&quot;}&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    if ((size $.tags) &amp;gt; 0) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;span class=&quot;entrymetacaption&quot;&amp;gt;Tags:&amp;lt;/span&amp;gt; &quot;&quot;&quot;+$this-&amp;gt;get_tags_text()+&quot;&quot;&quot;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    println &quot;&quot;&quot;&amp;lt;/ul&amp;gt;&quot;&quot;&quot;;
}
function Comment::lay_print_metadata() {
    if ($.metadata{&quot;poster_ip&quot;} != &quot;&quot;) {
        println &quot;&quot;&quot;&amp;lt;ul class=&quot;entrymeta&quot;&amp;gt;&quot;&quot;&quot;;
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Poster IP Address:&amp;lt;/b&amp;gt; $.metadata{&quot;poster_ip&quot;}&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
        println &quot;&quot;&quot;&amp;lt;/ul&amp;gt;&quot;&quot;&quot;;
    }
}

function CommentInfo::print_postlink() {
    var Page p = get_page();
    if ($.maxcomments) {
        print safe &quot;$*text_max_comments&quot;;
    } else {
        if ($p.view == &quot;entry&quot;) {
                $p-&amp;gt;print_reply_link({&quot;target&quot; =&amp;gt; &quot;topcomment&quot;, &quot;linktext&quot; =&amp;gt; $*text_post_comment});
        } else {
        print safe &quot;&amp;lt;a href=\&quot;$.post_url\&quot;&amp;gt;&quot;+($p.view == &quot;friends&quot; ? $*text_post_comment_friends : $*text_post_comment)+&quot;&amp;lt;/a&amp;gt;&quot;;
       }
    }
}

function Entry::lay_print_cmdlinks() {
    if ($.comments.show_readlink or $.comments.show_postlink) {
        &quot;&quot;&quot;&amp;lt;ul class=&quot;entrycmdlinks&quot;&amp;gt;&quot;&quot;&quot;;
        if ($.comments.show_readlink) {
            &quot;&amp;lt;li&amp;gt;&quot;; $.comments-&amp;gt;print_readlink(); &quot;&amp;lt;/li&amp;gt;&quot;;
        }
        if ($.comments.show_postlink) {
            &quot;&amp;lt;li&amp;gt;&quot;; $.comments-&amp;gt;print_postlink(); &quot;&amp;lt;/li&amp;gt;&quot;;
        }
        println &quot;&quot;&quot;&amp;lt;/ul&amp;gt;&quot;&quot;&quot;;
     ### $p-&amp;gt;print_reply_container({&quot;target&quot; =&amp;gt; &quot;topcomment&quot;});
    }
}

function Comment::lay_print_cmdlinks() {
    println &quot;&quot;&quot;&amp;lt;ul class=&quot;entrycmdlinks&quot;&amp;gt;&quot;&quot;&quot;;
    if ($.reply_url != &quot;&quot;) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&quot;&quot;&quot;;
        
        ### $this-&amp;gt;print_reply_link({&quot;linktext&quot; =&amp;gt; $*text_comment_reply});

        if($.screened == true) {
            ### if comment screened - show link for unscreen
            var Link link;
            $link = $this-&amp;gt;get_link(&quot;unscreen_to_reply&quot;);
            &quot;&quot;&quot;&amp;lt;a href=&quot;$link.url&quot; title=&quot;$link.caption&quot;&amp;gt;$link.caption&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
        } else {
            ### showing reply link if comment not screened
            $this-&amp;gt;print_reply_link({ &quot;linktext&quot; =&amp;gt; $*text_comment_reply });
        }


        
        &quot;&quot;&quot;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    if ($.parent_url != &quot;&quot;) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.parent_url&quot;&amp;gt;$*text_comment_parent&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    if ($.thread_url != &quot;&quot;) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.thread_url&quot;&amp;gt;$*text_comment_thread&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
        var Link expand_link = $this-&amp;gt;get_link(&quot;expand_comments&quot;);
        if (defined $expand_link) {
            println &quot;&amp;lt;li&amp;gt;&quot; + $this-&amp;gt;expand_link() + &quot;&amp;lt;/li&amp;gt;&quot;;
        }
    }
    println &quot;&quot;&quot;&amp;lt;/ul&amp;gt;&quot;&quot;&quot;;
    $this-&amp;gt;print_reply_container({&quot;class&quot; =&amp;gt; &quot;quickreply&quot;});
}

function Page::lay_print_entrylite(EntryLite e) {
if($e isa Comment){
    &quot;&quot;&quot;&amp;lt;div class=&quot;entry&quot; id=&quot;$e.dom_id&quot;&amp;gt;&quot;&quot;&quot;;
}else{
    &quot;&quot;&quot;&amp;lt;div class=&quot;entry&quot;&amp;gt;&quot;&quot;&quot;;
}
&quot;&quot;&quot;&amp;lt;div class=&quot;entryheader&quot;&amp;gt;
&amp;lt;h3 class=&quot;entrysubject&quot;&amp;gt;&quot;&quot;&quot;;
    if ($.view != &quot;entry&quot;) { 
        var Entry en = $e as Entry;
        print $en-&amp;gt;formatted_subject({&quot;class&quot;=&amp;gt;&quot;subj-link&quot;});
    } else { &quot;$e.subject&quot;; }

&quot;&amp;lt;/h3&amp;gt;&quot;;
    $e-&amp;gt;lay_print_poster();
&quot;&quot;&quot;&amp;lt;div class=&quot;entrytimestamp&quot;&amp;gt;&quot;&quot;&quot;;
if ($e.depth &amp;gt; 0) { # If $e is a comment
    &quot;&quot;&quot;&amp;lt;span class=&quot;entrytimestampdate&quot;&amp;gt;&quot;&quot;&quot;+$e-&amp;gt;time_display(&quot;short&quot;, &quot;&quot;)+&quot;&amp;lt;/span&amp;gt;&quot;;
} else {
    &quot;&quot;&quot;&amp;lt;span class=&quot;entrytimestampdate&quot;&amp;gt;&quot;&quot;&quot;+$e.time-&amp;gt;date_format(&quot;short&quot;)+&quot;&quot;&quot;&amp;lt;/span&amp;gt;
    &amp;lt;span class=&quot;entrytimestamptime&quot;&amp;gt;&quot;&quot;&quot;+$e.time-&amp;gt;time_format()+&quot;&quot;&quot;&amp;lt;/span&amp;gt;&quot;&quot;&quot;;
}
&quot;&quot;&quot;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;

$e-&amp;gt;lay_print_icon();
&quot;&quot;&quot;&amp;lt;div class=&quot;entrylinkbarpre&quot;&amp;gt;&quot;&quot;&quot;; $e-&amp;gt;print_linkbar(); &quot;&quot;&quot;&amp;lt;/div&amp;gt;
&quot;&quot;&quot;;
    if (defined $e.userpic) {
        &quot;&quot;&quot;&amp;lt;div class=&quot;entryuserpic&quot;&amp;gt;$e.userpic&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
&quot;&quot;&quot;&amp;lt;/div&amp;gt;

&amp;lt;div class=&quot;entrycontent&quot;&amp;gt;&quot;&quot;&quot;;
$e-&amp;gt;print_text();
&quot;&quot;&quot;&amp;lt;/div&amp;gt;

&amp;lt;div class=&quot;entryfooter&quot;&amp;gt;

&quot;&quot;&quot;; $e-&amp;gt;lay_print_metadata(); &quot;&quot;&quot;
&amp;lt;div class=&quot;entrylinkbarpost&quot;&amp;gt;&quot;&quot;&quot;; $e-&amp;gt;print_linkbar(); &quot;&quot;&quot;&amp;lt;/div&amp;gt;
&quot;&quot;&quot;; $e-&amp;gt;lay_print_cmdlinks();

if($e isa Entry){
   $this-&amp;gt;print_reply_container({&quot;target&quot; =&amp;gt; &quot;topcomment&quot;});
}

&quot;&quot;&quot;

&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
}
function Page::print_entry(Entry e) {
    $this-&amp;gt;lay_print_entrylite($e);
}
function EntryPage::print_comment(Comment c) {
    if ($c.full) {
        $this-&amp;gt;lay_print_entrylite($c);
    }
    else {
        var string subject = ($c.subject ? $c.subject : &quot;&amp;lt;i&amp;gt;(no subject)&amp;lt;/i&amp;gt;&quot;);
        &quot;&quot;&quot;&amp;lt;div class=&quot;collapsed_entry&quot; id=&quot;$c.dom_id&quot;&amp;gt;&amp;lt;a href=&quot;$c.permalink_url&quot;&amp;gt;$subject&amp;lt;/a&amp;gt; - $c.poster&quot;&quot;&quot;;
        var Link expand_link = $c-&amp;gt;get_link(&quot;expand_comments&quot;);
        if ($c.thread_url != &quot;&quot; and defined $expand_link) {
            &quot; &quot; + $c-&amp;gt;expand_link();
        }
        &quot;&quot;&quot;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
    }
}

function Page::lay_print_viewspec_head() {}
function FriendsPage::lay_print_viewspec_head() {
    if (not $*opt_use_friendcolors) { return; }
    println &quot;&quot;&quot;&amp;lt;style type=&quot;text/css&quot;&amp;gt;&quot;&quot;&quot;;
    start_css();
    foreach var string f ($.friends) {
        println &quot;.ljuser_$f { background: $.friends{$f}.bgcolor none; color: $.friends{$f}.fgcolor; padding: 0 0.25em;}&quot;;
    }
    end_css();
    println &quot;&quot;&quot;&amp;lt;/style&amp;gt;&quot;&quot;&quot;;
}

function Page::print() {
   &quot;&quot;&quot;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
   &quot;&quot;&quot;;
    $this-&amp;gt;print_head();
    $this-&amp;gt;print_stylesheets();
    $this-&amp;gt;lay_print_viewspec_head();
    println safe &quot;&quot;&quot;&amp;lt;title&amp;gt;&quot;&quot;&quot;+$this-&amp;gt;title()+&quot;&quot;&quot;&amp;lt;/title&amp;gt;&quot;&quot;&quot;;
&quot;&quot;&quot;
&amp;lt;/head&amp;gt;

&amp;lt;body class=&quot;page_$.view&quot;&amp;gt;
&quot;&quot;&quot;;

$this-&amp;gt;print_control_strip();

&quot;&quot;&quot;
&amp;lt;div id=&quot;shadowhack1&quot;&amp;gt;
&amp;lt;div id=&quot;shadowhack2&quot;&amp;gt;

&amp;lt;div id=&quot;pagecontainer&quot;&amp;gt;

&amp;lt;div id=&quot;title&quot;&amp;gt;
&quot;&quot;&quot;; $this-&amp;gt;lay_print_heading(); &quot;&quot;&quot;
&amp;lt;/div&amp;gt;
&quot;&quot;&quot;;

if (viewer_sees_hbox_top()) {
    &quot;&quot;&quot;&amp;lt;div style=&quot;text-align: center; margin-top: 2px;&quot;&amp;gt;&quot;&quot;&quot;;
    $this-&amp;gt;print_hbox_top();
    &quot;&amp;lt;/div&amp;gt;&quot;;
}

&quot;&quot;&quot;
&amp;lt;div id=&quot;paraphernalia&quot;&amp;gt;
&quot;&quot;&quot;; $this-&amp;gt;lay_print_paraphernalia(); &quot;&quot;&quot;
&amp;lt;/div&amp;gt;

&amp;lt;div id=&quot;main&quot;&amp;gt;
&quot;&quot;&quot;; $this-&amp;gt;print_body(); &quot;&quot;&quot;
&amp;lt;/div&amp;gt;

&quot;&quot;&quot;; $this-&amp;gt;lay_print_viewspec_after(); &quot;&quot;&quot;

&amp;lt;div id=&quot;server_sig&quot;&amp;gt;&quot;&quot;&quot;; server_sig(); &quot;&quot;&quot;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;

if (viewer_sees_hbox_bottom()) {
    &quot;&quot;&quot;&amp;lt;div style=&quot;text-align: center;&quot;&amp;gt;&quot;&quot;&quot;;
    $this-&amp;gt;print_hbox_bottom();
    &quot;&amp;lt;/div&amp;gt;&quot;;
}

&quot;&quot;&quot;&amp;lt;/div&amp;gt;

&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&quot;&quot;&quot;;

}

## Some general page stuff

function Page::print_linklist() {
    if (size $.linklist &amp;lt;= 0) {
        return;
    }

    var bool section_open = false;

    println &quot;&amp;lt;ul&amp;gt;&quot;;
    foreach var UserLink l ($.linklist) {
        if ($l.title) {
            if ($l.is_heading) {
                if ($section_open) {
                    println &quot;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&quot;;
                }
                println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;span style=&quot;font-weight: bold;&quot;&amp;gt;$l.title&amp;lt;/span&amp;gt;\n&amp;lt;ul&amp;gt;&quot;&quot;&quot;;
                $section_open = true;
            } else {
                println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$l.url&quot;&amp;gt;$l.title&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
            }
        } else {
            println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;nbsp;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
        }
    }
    if ($section_open) {
        println &quot;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&quot;;
    }
    println &quot;&amp;lt;/ul&amp;gt;&quot;;
}


## RecentPage Stuff
function lang_skipped_back(RecentNav nav) : string
&quot;Return short text saying how many entries have been skipped back. i18n layers should override this.&quot;
{
    return &quot;Skipped Back $nav.skip&quot;;
}

function lang_adjacent_skip(RecentNav nav, bool next) : string
&quot;Return either &apos;Previous N&apos; or &apos;Next N&apos; depending on the value of the &apos;next&apos; parameter&quot;
{
    if ($next) {
        return &quot;Next $nav.forward_count&quot;;
    }
    else {
        return &quot;Previous $nav.backward_count&quot;;
    }
}

function RecentPage::lay_print_viewspec() {
    if ($.nav.backward_url != &quot;&quot; or $.nav.forward_url != &quot;&quot;) {
        paraphernalia_box_open(&quot;recentnav&quot;,$*i18n_paraphernalia_recent_navigation);
        if ($.nav.skip &amp;gt; 0) {
            println &quot;&amp;lt;p&amp;gt;&quot;+lang_skipped_back($.nav)+&quot;&amp;lt;/p&amp;gt;&quot;;
        }
        println &quot;&quot;&quot;&amp;lt;ul&amp;gt;&quot;&quot;&quot;;
        if ($.nav.backward_url) {
            println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.nav.backward_url&quot;&amp;gt;&quot;&quot;&quot;+lang_adjacent_skip($.nav,false)+&quot;&quot;&quot;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
        }
        if ($.nav.forward_url) {
            println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.nav.forward_url&quot;&amp;gt;&quot;&quot;&quot;+lang_adjacent_skip($.nav,true)+&quot;&quot;&quot;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
        }
        println &quot;&amp;lt;/ul&amp;gt;&quot;;
        paraphernalia_box_close(&quot;recentnav&quot;,$*i18n_paraphernalia_recent_navigation);
    }
}

function RecentPage::print_body() {
    foreach var Entry e ($.entries) {
        if ($e.new_day) {
            &quot;&quot;&quot;&amp;lt;div class=&quot;day&quot; id=&quot;day&quot;&quot;&quot;+$e.time-&amp;gt;date_format(&quot;%%yyyy%%%%mm%%%%dd%%&quot;)+&quot;\&quot;&amp;gt;\n&quot;;
            println &quot;&amp;lt;h2&amp;gt;&quot;+$e.time-&amp;gt;date_format(&quot;long&quot;)+&quot;&amp;lt;/h2&amp;gt;&quot;;
        }
        # Print the entry
        $this-&amp;gt;print_entry($e);
        if ($e-&amp;gt;viewer_sees_ebox()) {
            &quot;&quot;&quot;&amp;lt;div style=&quot;text-align:center&quot;&amp;gt;&quot;&quot;&quot;;
            $e-&amp;gt;print_ebox();
            &quot;&amp;lt;/div&amp;gt;&quot;;
        }
        if ($e.end_day) {
            &quot;&amp;lt;/div&amp;gt;&quot;;
        }
    }
}


## YearPage Stuff
function YearPage::lay_print_viewspec() {
    paraphernalia_box_open(&quot;yearnav&quot;,$*i18n_paraphernalia_year_navigation);
    $this-&amp;gt;print_year_links();
    paraphernalia_box_close(&quot;yearnav&quot;,$*i18n_paraphernalia_year_navigation);
}
function YearPage::print_body {
    println &quot;&quot;&quot;&amp;lt;div id=&quot;calendarmonthcontainer&quot;&amp;gt;&quot;&quot;&quot;;
    foreach var YearMonth m ($.months) {
        $this-&amp;gt;print_month($m);
    }
    println &quot;&amp;lt;/div&amp;gt;&quot;;
}
function YearPage::print_year_links() {
    &quot;&quot;&quot;&amp;lt;ul class=&quot;viewspecnavbar&quot;&amp;gt;\n&quot;&quot;&quot;;
    foreach var YearYear y ($.years) {
        if ($y.displayed) {
            &quot;&quot;&quot;&amp;lt;li class=&quot;current&quot;&amp;gt;$y.year&amp;lt;/li&amp;gt;\n&quot;&quot;&quot;;
        } else {
            &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$y.url&quot;&amp;gt;$y.year&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;\n&quot;&quot;&quot;;
        }
    }
    &quot;&quot;&quot;&amp;lt;/ul&amp;gt;\n&quot;&quot;&quot;;
}
function YearPage::print_month(YearMonth m) {
    if (not $m.has_entries) { return; }
    &quot;&quot;&quot;&amp;lt;table class=&quot;calendarmonth&quot;&amp;gt;\n
       &amp;lt;tr&amp;gt;&amp;lt;th colspan=&quot;7&quot; class=&quot;calendarmonthheader&quot;&amp;gt;&quot;&quot;&quot;;
    print &quot;&amp;lt;h2&amp;gt;&quot;+$m-&amp;gt;month_format()+&quot;&amp;lt;/h2&amp;gt;\n&quot;;
    &quot;&quot;&quot;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;\n&quot;&quot;&quot;;
    foreach var int d (weekdays()) {
        &quot;&amp;lt;th&amp;gt;&quot;+$*lang_dayname_short[$d]+&quot;&amp;lt;/th&amp;gt;\n&quot;;
    }
    &quot;&amp;lt;/tr&amp;gt;\n&quot;;
    foreach var YearWeek w ($m.weeks) {
        $w-&amp;gt;print();
    }
    print safe &quot;&quot;&quot;&amp;lt;tr&amp;gt;&amp;lt;td colspan=&quot;7&quot; class=&quot;calendarmonthlink&quot;&amp;gt;
        &amp;lt;a href=&quot;$m.url&quot;&amp;gt;$*text_view_month&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;\n&quot;&quot;&quot;;
    &quot;&amp;lt;/table&amp;gt;&quot;;
}
function YearWeek::print() {
   &quot;&quot;&quot;&amp;lt;tr valign=&quot;top&quot; style=&quot;height: 3em;&quot;&amp;gt;\n&quot;&quot;&quot;;
   if ($.pre_empty &amp;gt; 0) {
      &quot;&quot;&quot;&amp;lt;td class=&quot;emptyday&quot; colspan=&quot;$.pre_empty&quot;&amp;gt;&amp;nbsp;&amp;lt;/td&amp;gt;\n&quot;&quot;&quot;;
   }
   foreach var YearDay d ($.days) {
       &quot;&quot;&quot;&amp;lt;td class=&quot;calendarday&quot;&amp;gt;\n&quot;&quot;&quot;;
       &quot;&quot;&quot;&amp;lt;div class=&quot;calendardaynum&quot;&amp;gt;$d.day&amp;lt;/div&amp;gt;\n&quot;&quot;&quot;;
       if ($d.num_entries &amp;gt; 0) {
           &quot;&quot;&quot;&amp;lt;div class=&quot;calendardaycount&quot;&amp;gt;&amp;lt;a href=&quot;$d.url&quot;&amp;gt;$d.num_entries&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;\n&quot;&quot;&quot;;
       }
       &quot;&quot;&quot;&amp;lt;/td&amp;gt;\n&quot;&quot;&quot;;
   }
   if ($.post_empty &amp;gt; 0) {
      &quot;&quot;&quot;&amp;lt;td colspan=&quot;$.post_empty&quot;&amp;gt;&amp;nbsp;&amp;lt;/td&amp;gt;\n&quot;&quot;&quot;;
   }
   &quot;&amp;lt;/tr&amp;gt;&quot;;
}

# EntryPage and ReplyPage stuff
function EntryPage::lay_print_pager() {
    if ($.comment_pages.all_subitems_displayed) { return; }
    print &quot;&amp;lt;ul class=\&quot;itemrange\&quot;&amp;gt;&quot;;
    foreach var int i (1 .. $.comment_pages.total) {
        if ($i == $.comment_pages.current) {
            print &quot;&amp;lt;li class=\&quot;current\&quot;&amp;gt;$i&amp;lt;/li&amp;gt;&quot;;
        }
        else {
            print &quot;&amp;lt;li&amp;gt;&amp;lt;a href=\&quot;&quot;+$.comment_pages-&amp;gt;url_of($i)+&quot;\&quot;&amp;gt;$i&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;;
        }
    }
    print &quot;&amp;lt;/ul&amp;gt;&quot;;
}
function EntryPage::print_body() {
    $this-&amp;gt;lay_print_entrylite($.entry);
    if ($.entry-&amp;gt;viewer_sees_ebox()) {
        &quot;&quot;&quot;&amp;lt;div style=&quot;text-align:center&quot;&amp;gt;&quot;&quot;&quot;;
        $.entry-&amp;gt;print_ebox();
        &quot;&amp;lt;/div&amp;gt;&quot;;
    }
    $this-&amp;gt;lay_print_pager();
    $this-&amp;gt;print_comments($.comments);
    $this-&amp;gt;lay_print_pager();
}
function ReplyPage::print_body() {
    $this-&amp;gt;lay_print_entrylite($.replyto);
    if ($.entry-&amp;gt;viewer_sees_ebox()) {
        &quot;&quot;&quot;&amp;lt;div style=&quot;text-align:center&quot;&amp;gt;&quot;&quot;&quot;;
        $.entry-&amp;gt;print_ebox();
        &quot;&amp;lt;/div&amp;gt;&quot;;
    }
    &quot;&quot;&quot;&amp;lt;div id=&quot;commentform&quot;&amp;gt;&quot;&quot;&quot;;
    $.form-&amp;gt;print();
    &quot;&quot;&quot;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
}

function EntryPage::print_comments (Comment[] cs) {
    if (size $cs == 0) { return; }
    &quot;&quot;&quot;&amp;lt;ul class=&quot;comments&quot;&amp;gt;\n&quot;&quot;&quot;;
    foreach var Comment c ($cs) {
        var int indent = ($c.depth - 1) * 25;
        print &quot;&amp;lt;li&amp;gt;&quot;;
        $this-&amp;gt;print_comment($c);
        $this-&amp;gt;print_comments($c.replies);
        println &quot;&amp;lt;/li&amp;gt;&quot;;
    }
    &quot;&quot;&quot;&amp;lt;/ul&amp;gt;&quot;&quot;&quot;;
}

# DayPage stuff

function DayPage::lay_print_viewspec() {
    paraphernalia_box_open(&quot;daynav&quot;,$*i18n_paraphernalia_day_navigation);
    println &quot;&quot;&quot;&amp;lt;ul&amp;gt;&quot;&quot;&quot;;
    if ($.prev_url) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;&quot;&quot;&quot;+$.prev_date-&amp;gt;date_format()+&quot;&quot;&quot;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    if ($.next_url) {
        println &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;&quot;&quot;&quot;+$.next_date-&amp;gt;date_format()+&quot;&quot;&quot;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
    }
    println &quot;&amp;lt;/ul&amp;gt;&quot;;
    paraphernalia_box_close(&quot;daynav&quot;,$*i18n_paraphernalia_day_navigation);
}
function DayPage::print_body() {
    &quot;&amp;lt;div class=\&quot;day\&quot; id=\&quot;&quot;+$.date-&amp;gt;date_format(&quot;%%yyyy%%%%mm%%%%dd%%&quot;)+&quot;\&quot;&amp;gt;\n&amp;lt;h2&amp;gt;&quot;;
    print $.date-&amp;gt;date_format(&quot;long&quot;);
    &quot;&amp;lt;/h2&amp;gt;\n&quot;;
    if ($.has_entries) {

        foreach var Entry e ($.entries) {
            $this-&amp;gt;print_entry($e);
            if ($e-&amp;gt;viewer_sees_ebox()) {
                &quot;&quot;&quot;&amp;lt;div style=&quot;margin-bottom: 10px; text-align: center;&quot;&amp;gt;&quot;&quot;&quot;;
                $e-&amp;gt;print_ebox();
                &quot;&amp;lt;/div&amp;gt;&quot;;
            }
        }

        &quot;&amp;lt;/div&amp;gt;&quot;;
    } else {
        &quot;&quot;&quot;&amp;lt;div class=&quot;entry&quot;&amp;gt;&amp;lt;div class=&quot;entryheader&quot;&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt;\n&quot;&quot;&quot;;
        &quot;&quot;&quot;&amp;lt;div class=&quot;entrycontent&quot;&amp;gt;&amp;lt;p&amp;gt;$*text_noentries_day&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;\n&quot;&quot;&quot;;
        &quot;&quot;&quot;&amp;lt;div class=&quot;entryfooter&quot;&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;\n&quot;&quot;&quot;;
    }
    
}

function print_theme_preview() {
    var string{} size = $*font_sizes{$*font_size_keyword};
    var string body_size = $size{&quot;body&quot;};
    var string pagetitle_size = $size{&quot;pagetitle&quot;};
    var string dayhead_size = $size{&quot;dayhead&quot;};
    var string entryhead_size = $size{&quot;entryhead&quot;};
    var string shadow_left = palimg_tint(&quot;lickable/$*shadow_img_left&quot;, $*clr_margins);
    var string shadow_right = palimg_tint(&quot;lickable/$*shadow_img_right&quot;, $*clr_margins);
    var string side_borders = ($*side_borders ? &quot;border-left: 1px solid $*clr_side_borders; border-right: 1px solid $*clr_side_borders;&quot; : &quot;&quot;);
    var string title_separator = ($*title_separator ? &quot;border-bottom: 4px solid $*clr_title_separator;&quot; : &quot;&quot;);

    var int cwid = $*content_width;
    var int sbwid = $*sidebar_width;
    var int mcwid = $*content_width - $*sidebar_width - 25;
    var int shadowwid = 32;
    var int shackwid = $cwid + ($shadowwid * 2);
    if ($*side_borders) {
        $shackwid = $shackwid + 2;
    }

    # Heading styles
    var string{} style = $*title_styles{$*title_style};
    var string type = $style{&quot;type&quot;};
    var string url = $style{&quot;url&quot;};
    var string heading_bg = &quot;&quot;;
    var string heading = &quot;&quot;;
    if ($type == &quot;deardiary&quot;) {
        $heading_bg = palimg_tint(&quot;deardiary/titleimages/${*title_style}.png&quot;, $*clr_title_bg, $*clr_title_pattern);
        $heading = &quot;color: $*clr_title_fg; background-color: $*clr_title_bg; background-image: url($heading_bg); background-repeat: no-repeat; background-position: top right; height: 75px;&quot;;
    }
    elseif ($type == &quot;tilex&quot; or $type == &quot;tiley&quot; or $type == &quot;tile&quot; or $type == &quot;notile&quot;) {
        var string bg_repeat = &quot;&quot;;
        if ($type == &quot;tilex&quot;) {
            $bg_repeat = &quot;background-repeat: repeat-x;&quot;;
        } elseif ($type == &quot;tiley&quot;) {
            $bg_repeat = &quot;background-repeat: repeat-y;&quot;;
        } elseif ($type == &quot;tile&quot;) {
            $bg_repeat = &quot;background-repeat: repeat;&quot;;
        } elseif ($type == &quot;notile&quot;) {
            $bg_repeat = &quot;background-repeat: no-repeat;&quot;;
        }

        $url = ($url == &quot;&quot; ? &quot;lickable/${*title_style}.png&quot; : $url);
        $heading_bg = palimg_tint($url, $*clr_title_pattern, $*clr_title_bg);
        $heading = &quot;color: $*clr_title_fg; background-color: $*clr_title_bg; background-image: url($heading_bg); $bg_repeat&quot;;
    }

    &quot;&quot;&quot;
    &amp;lt;div style=&quot;margin-top: 0; margin-bottom: 0; width: ${shackwid}px; background-image: url($shadow_left); background-position: top left; background-repeat: repeat-y;&quot;&amp;gt;
        &amp;lt;div style=&quot;margin: 0; background-image: url($shadow_right); background-position: top right; background-repeat: repeat-y;&quot;&amp;gt;
            &amp;lt;div style=&quot;background-color: $*clr_page_bg; color: $*clr_page_fg; margin-left: ${shadowwid}px; margin-right: ${shadowwid}px; $side_borders&quot;&amp;gt;
                &amp;lt;div style=&apos;color: $*clr_title_fg; background-color: $*clr_title_bg; $title_separator font-family: $*font_title; overflow: hidden; $heading&apos;&amp;gt;
                    &amp;lt;h1 style=&quot;color: $*clr_title_fg; font-size: $pagetitle_size; font-weight: bold; margin: 0; padding-top: 20px; padding-left: 8px; white-space: no-wrap;&quot;&amp;gt;Nunc tincidunt sollicitudin orci&amp;lt;/h1&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div style=&quot;margin: 0; padding: 0 10px 0 0;&quot;&amp;gt;
                    &amp;lt;h2 style=&apos;color: $*clr_page_fg; font-size: $dayhead_size; font-weight: bold; font-family: $*font_headings; margin: 10px;&apos;&amp;gt;November 25th, 2006&amp;lt;/h2&amp;gt;
                    &amp;lt;div style=&quot;margin: 16px 16px 16px 10px;&quot;&amp;gt;
                        &amp;lt;div style=&quot;font-size: $entryhead_size; font-weight: bold; text-align: left;&quot;&amp;gt;
                            &amp;lt;h3 style=&quot;color: $*clr_page_fg; font-style: normal; font-size: 1em; margin: 0; padding: 0;&quot;&amp;gt;Lorem ipsum dolor sit amet&amp;lt;/h3&amp;gt;
                            &amp;lt;div style=&quot;display: inline;&quot;&amp;gt;04:58 pm&amp;lt;/div&amp;gt;
                        &amp;lt;/div&amp;gt;

                        &amp;lt;div style=&quot;font-size: $body_size; margin: 8px;&quot;&amp;gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc tincidunt sollicitudin orci. Vivamus sollicitudin arcu non mi lobortis lacinia. Sed quis orci. Vestibulum in risus sit amet lectus gravida pellentesque. Curabitur faucibus risus eu pede hendrerit eleifend. Nunc vitae odio. Praesent turpis velit, venenatis vitae, accumsan quis, aliquam scelerisque, diam. Nulla fringilla dapibus nulla. Sed in sapien sit amet odio eleifend venenatis. Nunc neque ipsum, convallis id, volutpat eget, bibendum placerat, magna. Integer commodo, nunc eu faucibus tincidunt, est lectus sodales purus, pulvinar pretium purus diam sollicitudin justo. Nulla facilisi. Vivamus eleifend. Fusce sodales dui sit amet dolor.&amp;lt;/div&amp;gt;

                        &amp;lt;div style=&quot;margin: 0;&quot;&amp;gt;
                            &amp;lt;div style=&quot;font-size: $body_size; list-style: none; vertical-align: middle; margin: 0; padding: 0em; white-space: no-wrap; text-align: right;&quot;&amp;gt;
                                (&amp;lt;a style=&quot;color: $*clr_link_normal;&quot; href=&quot;#&quot;&amp;gt;3 comments&amp;lt;/a&amp;gt; - &amp;lt;a style=&quot;color: $*clr_link_normal;&quot; href=&quot;#&quot;&amp;gt;Leave a comment&amp;lt;/a&amp;gt;)
                            &amp;lt;/div&amp;gt;
                        &amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &quot;&quot;&quot;;
}
&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;Child layer coding:&lt;br /&gt;&lt;textarea&gt;## Important note: Hand-edited changes to this layer have a high risk of 
## being erased the next time you use the wizard. Setting properties is 
## usually safe, but if you put entire functions, they *will* be overwritten.

layerinfo &quot;type&quot; = &quot;user&quot;;
layerinfo &quot;name&quot; = &quot;Auto-generated Customizations&quot;;
set clr_link_normal = &quot;#000044&quot;;
set clr_link_visited = &quot;#000044&quot;;
set clr_margins = &quot;#000000&quot;;
set clr_page_bg = &quot;#bbbbbb&quot;;
set clr_title_bg = &quot;#ffffff&quot;;
set content_width = 800;
set font_size_keyword = &quot;small&quot;;
set include_default_stylesheet = true;
set linklist_support = false;
set opt_hide_userpics = false;
set opt_show_user_linkele = false;
set shadow_img_left = &quot;&quot;;
set shadow_img_right = &quot;&quot;;
set side_borders = false;
set text_post_comment = &quot;give it away&quot;;
set text_post_comment_friends = &quot;give it away&quot;;
set text_read_comments = &quot;1 liar// # liars&quot;;
set text_read_comments_friends = &quot;1 liar// # liars&quot;;
set text_view_archive = &quot;my wretched pride&quot;;
set text_view_friends = &quot;or in the quarries&quot;;
set text_view_recent = &quot;papers &amp; books&quot;;
set text_view_userinfo = &quot;and run&quot;;
set title_notext = true;
set title_separator = false;
set title_style = &quot;__custom&quot;;
set title_style_custom_height = 300;
set title_style_custom_url = &quot;http://img836.imageshack.us/img836/4072/00019zdc.png&quot;;
&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=style_system&amp;ditemid=58685&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://style-system.dreamwidth.org/58685.html</comments>
  <category>module:navlinks</category>
  <category>layer</category>
  <category>layer:core2</category>
  <category>layout:importing or imported from</category>
  <lj:security>public</lj:security>
  <lj:poster>majesdane</lj:poster>
  <lj:reply-count>8</lj:reply-count>
</item>
</channel>
</rss>
