# -*-s2-*- ## -- n e b u l a ! -- ###################################################### layerinfo type = "layout"; layerinfo name = "Nebula"; layerinfo redist_uniq = "nebula/layout"; layerinfo author_name = "jc"; layerinfo author_email = "jc@livejournal.com"; layerinfo des = "A simple but incredibly flexible design with sidebar, that can look as simple or as complicated as you like."; layerinfo lang = "en"; ## -- p r o p e r t i e s -- ################################################ propgroup colors = "Colors"; propgroup colors { property Color col_weaker_fg { des = "Default text color for the page"; note = "This only really affects the calendar strip, although it is used elsewhere. Text color on content areas is more important."; } property Color col_weak_fg { des = "Text color on content areas"; } property Color col_stronger_fg { des = "Text color on headers"; } property Color col_strong_fg { des = "Text color on menus"; } property Color col_neutral_fg { des = "Text color on titles"; } property Color col_cmtbarone_fg { des = "Text color on comment bars"; } property Color col_cmtbartwo_fg { des = "Text color on alternating comment bars"; } property Color col_cmtbarscrn_fg { des = "Text color for screened comments"; } property Color col_entry_link { des = "Link color in entries"; } property Color col_entry_vlink { des = "Visited link color in entries"; } property Color col_sidebar_link { des = "Link color in sidebar"; } property Color col_sidebar_vlink { des = "Visited link color in sidebar"; } property string img_delete { noui = 1; } property string img_screen { noui = 1; } property string img_unscreen { noui = 1; } property string img_freeze { noui = 1; } property string img_unfreeze { noui = 1; } } set col_weaker_fg = "#000000"; set col_weak_fg = "#ffffff"; set col_neutral_fg = "#550301"; set col_strong_fg = "#5b4b26"; set col_stronger_fg = "#5b4b26"; set col_cmtbarone_fg = "#ffffff"; set col_cmtbartwo_fg = "#ffffff"; set col_cmtbarscrn_fg = "#ffffff"; set col_sidebar_link = "#000000"; set col_entry_link = "#000000"; set col_entry_vlink = "#000000"; set col_sidebar_vlink = "#000000"; propgroup backgrounds = "Backgrounds"; propgroup backgrounds { property Color col_weaker_bg { des = "Default background color for the page"; } property Color col_weak_bg { des = "Background color on content areas"; } property Color col_stronger_bg { des = "Background color on headers"; } property Color col_strong_bg { des = "Background color on menus"; } property Color col_neutral_bg { des = "Background color on titles"; } property Color col_entry_bg { des = "Background color on entries"; } property Color col_border { des = "Color for content area borders"; note = "Content areas affected include sidebar boxes and the mini calendar."; } property string background_image { des = "Background image"; note = "URL to an image to be used for the page background (leave blank for none). Page texture won't be used if an image is defined."; } property string background_repeat { des = "Background image repeat"; note = "This does not affect whether your background scrolls with the page. That option is coming up next."; values = "repeat|Repeat|no-repeat|Don't repeat|repeat-x|Repeat across only|repeat-y|Repeat down only"; } property string background_attachment { des = "Should the background image scroll with the page?"; values = "scroll|Yes|fixed|No"; } property string background_position { des = "Background image position"; note = "Does not apply if background image is repeating in both directions."; values = "center|Center|center left|Center-left|center right|Center-right|top|Top|top left|Top-left|top right|Top-right|bottom|Bottom|bottom left|Bottom-left|bottom right|Bottom-right|left|Left|right|Right"; } set background_image = ""; set background_repeat = "repeat"; set background_position = "center"; set background_attachment = "scroll"; property string pres_txtr_bg { des = "Texture to use for page background"; note = "Won't be used if a background image is defined above."; values = "none|None|brushed_metal.png|Brushed Metal|burlap.png|Burlap|camouflage.png|Camouflage|canvas.png|Canvas|chalk.png|Chalk|cork.png|Cork|fibers.png|Fibers|floral.png|Floral|ice.png|Ice|manila.png|Manila|marble.png|Marble|paper.png|Paper|ridge.png|Ridge|rough.png|Rough|stucco.png|Stucco|terracotta.png|Terracotta|type.png|Type|wavy.png|Wavy"; } property string pres_txtr_h { des = "Texture to use for page header"; values = "none|None|brushed_metal.png|Brushed Metal|burlap.png|Burlap|camouflage.png|Camouflage|canvas.png|Canvas|chalk.png|Chalk|cork.png|Cork|fibers.png|Fibers|floral.png|Floral|ice.png|Ice|manila.png|Manila|marble.png|Marble|paper.png|Paper|ridge.png|Ridge|rough.png|Rough|stucco.png|Stucco|terracotta.png|Terracotta|type.png|Type|wavy.png|Wavy"; } property string pres_txtr_c { des = "Texture to use for main content areas"; values = "none|None|brushed_metal.png|Brushed Metal|burlap.png|Burlap|camouflage.png|Camouflage|canvas.png|Canvas|chalk.png|Chalk|cork.png|Cork|fibers.png|Fibers|floral.png|Floral|ice.png|Ice|manila.png|Manila|marble.png|Marble|paper.png|Paper|ridge.png|Ridge|rough.png|Rough|stucco.png|Stucco|terracotta.png|Terracotta|type.png|Type|wavy.png|Wavy"; } property Color col_cmtbarone_bg { des = "Background color for comment bars"; } property Color col_cmtbartwo_bg { des = "Background color for alternating comment bars"; } property Color col_cmtbarscrn_bg { des = "Background color for screened comment bars"; } } set col_weaker_bg = "#effe8f"; set col_weak_bg = "#5b4b26"; set col_neutral_bg = "#000000"; set col_strong_bg = "#fbe46a"; set col_stronger_bg = "#fbe46a"; set col_cmtbarone_bg = "#e2c956"; set col_cmtbartwo_bg = "#afb13e"; set col_cmtbarscrn_bg = "#fcda3e"; set col_entry_bg = "#977e3b"; set col_border = "#000000"; propgroup fonts { property string main_font { des = "Preferred Font"; maxlength = 25; size = 10; example = "Arial"; note = "Leave blank for your browser's default font"; } property string main_font_fallback { des = "Alternative font style"; values = "sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default"; note = "This general style will serve as a fallback if your preferred font is unavailable."; } property string header_font { des = "Font for the top header box"; maxlength = 25; size = 10; example = "Arial"; note = "Leave blank for your browser's default font"; } property string header_font_fallback { des = "Alternative font style"; values = "sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default"; note = "This general style will serve as a fallback if your preferred font is unavailable."; } property string header_font_size { noui = 1; } property string content_font { des = "Font for the content boxes"; maxlength = 25; size = 10; example = "Arial"; note = "Leave blank for your browser's default font"; } property string content_font_fallback { noui = 1; } property string subheading_font { des = "Font for subheadings"; maxlength = 25; size = 10; example = "Arial"; note = "Leave blank for your browser's default font"; } property string subheading_font_fallback { noui = 1; } property string entryheading_font { des = "Font for entry headings"; maxlength = 25; size = 10; example = "Arial"; note = "Leave blank for your browser's default font"; } property string entryheading_font_fallback { noui = 1; } } set main_font = "Georgia"; set main_font_fallback = "serif"; set header_font = "Georgia"; set header_font_fallback = "serif"; set header_font_size = "2em"; set content_font = "Georgia"; set content_font_fallback = "sans-serif"; set subheading_font = "Arial"; set subheading_font_fallback = "sans-serif"; set entryheading_font = "Georgia"; set entryheading_font_fallback = "sans-serif"; propgroup pres = "Presentation"; propgroup pres { property int summary_items { des = "Summary Items"; note="Maximum number of items in the Page Summary list. Set to 0 to turn off the Page Summary. Set to 100 to show all available items."; } property bool pres_show_entry_list { des = "Show links to entries on page?"; } property string pres_page_width { des = "Page Width"; note = "The width of the total page content, including the sidebar."; values = "90%|90%|80%|80%|70%|70%|60%|60%|50%|50%|40%|40%"; } property string pres_page_align { des = "Page Alignment"; values = "left|Left|center|Center|right|Right"; } property string pres_sidebar_width { des = "Sidebar Width"; note = "How much of the page width is taken up by the sidebar."; values = "30%|30%|25%|25%|20%|20%|15%|15%"; } property string pres_sidebar_align { des = "Which side of the page should the sidebar show up on?"; values = "left|Left|right|Right"; } property string header_image { des = "URL of image to be used as page header"; example = "http://example.com/your_image.jpg"; } property bool pres_show_cal { des = "Show calendar strip on journal pages?"; } property bool show_entry_userpic { des = "Show entry-specific userpic next to each entry?"; } property bool pres_use_gradients { des = "Use gradients when displaying entry headers and sidebar boxes?"; } property use comment_userpic_style; property use use_shared_pic; property use page_recent_items; property use page_friends_items; } set show_entry_userpic = true; set pres_show_cal = true; set pres_sidebar_align = "left"; set pres_show_entry_list = true; set pres_page_width = "80%"; set pres_sidebar_width = "20%"; set pres_txtr_bg = "none"; set pres_txtr_h = "none"; set pres_txtr_c = "none"; set pres_page_align = "center"; set summary_items = 100; set pres_use_gradients = true; propgroup text { property string text_date_format { des = "Date format:"; example = "%%yyyy%%.%%mm%%.%%dd%%"; } property string text_time_format { des = "Time format:"; example = "%%HH%%:%%min%%"; } property string text_navigation { des = "Navigation menu title"; } property string text_navigation_extra { des = "Page-specific navigation menu title"; example = "This page"; } property string page_summary_title { des = "Page Summary menu title"; } property string text_entry_plural { des = "Text to describe entries in month view"; format = "plurals"; example = "1 entry // # entries"; } property use text_nosubject; property use text_meta_mood; property use text_meta_music; property use text_noentries_day; property use text_max_comments; property string text_comment_from { des = "Text to indicate when comment was posted"; example = "at"; maxlength = "20"; } property use text_comment_date; property use text_comment_ipaddr; property use text_comment_frozen; property use text_reply_nocomments_header; property use text_reply_nocomments; } propgroup linktext = "Link text"; propgroup linktext { property string text_view_memories { des = "View memories"; } property string text_add_mem { des = "Add to memories"; } property string text_edit_entry { des = "Edit entry"; } property string text_edit_tags { des = "Edit tags"; } property use text_view_recent; property use text_view_friends; property use text_view_archive; property use text_view_userinfo; property use text_permalink; 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_reply_back; property use text_comment_reply; property use text_comment_parent; property use text_comment_thread; property string text_link_separator { des = "Text or image to separate links with"; note = "If you use a URL of an image (starting with 'http://'), Nebula will use the image as a separator. It helps to use a small image for this purpose, and your image might break if the URL contains any spaces."; example = "&nbsp;|&nbsp; or http://www.example.com/your_image.jpg"; } } set text_date_format = "%%yyyy%%.%%mm%%.%%dd%%"; set text_time_format = "%%HH%%:%%min%%"; set text_view_memories = "Memories"; set text_add_mem = "Add to Memories"; set page_summary_title = "Summary"; set text_entry_plural = "1 entry // # entries"; set text_edit_entry = "Edit"; set text_edit_tags = "Tags"; set tags_aware = true; set text_link_separator = "  "; set text_navigation = "Navigation"; set text_navigation_extra = "This page"; set text_comment_from = ""; set text_comment_date = "at"; ## -- p r o p e r t y h a n d l e r s -- ################################## function prop_init () { var int entry_lightness = $*col_weaker_bg->lightness(); var Color col_entry_bg_tint = $entry_lightness > 120 ? $*col_weaker_bg->lighter(): $*col_weaker_fg; # these shouldn't be limited to a The Boxer subfolder $*img_delete = palimg_tint("boxer/delete.gif", $col_entry_bg_tint); $*img_screen = palimg_tint("boxer/screen.gif", $col_entry_bg_tint); $*img_unscreen = palimg_tint("boxer/unscreen.gif", $col_entry_bg_tint); $*img_freeze = palimg_tint("boxer/freeze.gif", $col_entry_bg_tint); $*img_unfreeze = palimg_tint("boxer/unfreeze.gif", $col_entry_bg_tint); # textures! lovely textures. if ($*pres_txtr_bg != "none") { $*pres_txtr_bg = palimg_tint("textures/$*pres_txtr_bg", $*col_stronger_fg, $*col_weaker_bg); } var Color hfg = "#ffffff"; if ($*pres_txtr_h != "none") { $*pres_txtr_h = palimg_tint("textures/$*pres_txtr_h", $hfg, $*col_stronger_bg); } if ($*pres_txtr_c != "none") { $*pres_txtr_c = palimg_tint("textures/$*pres_txtr_c", $*col_weaker_fg, $*col_weak_bg); } } ## -- s t y l e s h e e t f u n c t i o n s -- ############################ function appended_to_stylesheet() { # This function intentionally left blank. Override in user layer. } function print_stylesheet () { var string pres_sidebar_boxbg; var string pres_minical_boxbg; var string pres_page_margins; # figure out the shade applied to weekends on the MiniCal var int minical_lightness = $*col_strong_bg->lightness(); var Color col_minical_weekend = $minical_lightness > 120 ? $*col_strong_bg->darker(50) : $*col_strong_bg->lighter(50); # figuring out the widths and margins the ghetto way var int width_page = int($*pres_page_width); var int width_sidebar = int($*pres_sidebar_width); var int width_content = $width_page - $width_sidebar - 5; var int width_margin = 100 - $width_page; if ($*pres_page_align == "center") { var string str_width_margin = string($width_margin / 2); $pres_page_margins = "margin-left: $str_width_margin%;"; } else { var string str_width_margin = string($width_margin); $pres_page_margins = "margin-$*pres_page_align: $str_width_margin%;"; } var string pres_content_width = string($width_content) + "%"; # death to IE var string pres_sidebar_width_ie = string($width_sidebar - 3) + "%"; var string pres_content_width_ie = string($width_content - 3) + "%"; # another ghetto method to align the sidebar properly var string pres_sidebar_opp = $*pres_sidebar_align == "left" ? "right" : "left"; # gradients! lovely gradients. if ($*pres_use_gradients) { var Color col_black = "#000000"; var Color col_white = "#ffffff"; # Let's determine some colours first var int tmp_boxborder_lightness = $*col_border->lightness(); var Color tmp_boxborder_avg = $tmp_boxborder_lightness > 120 ? $*col_border->darker(70) : $*col_border->lighter(70); var string tmp_gstart = $tmp_boxborder_avg.as_string->substr(1, 6); var string tmp_gend = $*col_strong_bg.as_string->substr(1, 6); # Now to generate the gradients $pres_sidebar_boxbg = "background: url($*PALIMGROOT/shadow/t.gif/pt$tmp_gstart$tmp_gend) repeat-x;"; $pres_minical_boxbg = "background: $*col_strong_bg url($*PALIMGROOT/shadow/b.gif/pt$tmp_gstart$tmp_gend) repeat-x scroll bottom;"; } else { $pres_minical_boxbg = "background-color: $*col_strong_bg;"; } """ body { margin: 0; padding: 0; font-family: $*main_font, $*main_font_fallback; font-size: 0.75em; """; if (clean_url($*background_image) != "") { """ background-image: url('$*background_image'); background-position: $*background_position; background-repeat: $*background_repeat; background-attachment: $*background_attachment; """; } elseif ($*pres_txtr_bg != "none") { """ background: url($*pres_txtr_bg);"""; } """ background-color: $*col_weaker_bg; color: $*col_weaker_fg; } #mainContainer { width: $*pres_page_width; $pres_page_margins min-width: 300px; } #header { padding: 0 1em; min-height: 110px; margin: 0 0 10px 0; """; if ($*pres_txtr_h != "none") { """ background: url($*pres_txtr_h);"""; } """ background-color: $*col_stronger_bg; color: $*col_stronger_fg; } #header h1 { margin: 0 0 -10px 0; padding: 15px 0; } #header a { font-family: $*header_font, $*header_font_fallback; font-size: $*header_font_size; text-decoration: none; color: $*col_stronger_fg; } #header p { color: $*col_neutral_fg; font-size: 18px; font-style: italic; margin: 0 0 0 20px; } #content { float: $pres_sidebar_opp; background-color: $*col_weak_bg; color: $*col_weak_fg; padding: 5px; margin: 20px 1% 20px 1%; """; if ($*pres_txtr_c != "none") { """ background: url($*pres_txtr_c);"""; } """ width: $pres_content_width; voice-family: "\"}\""; voice-family:inherit; width: $pres_content_width_ie; } html>body #content { width: $pres_content_width_ie; } #content p { margin-top: 0px; margin-bottom: 0px; padding: 8px; } #sideBar { float: $*pres_sidebar_align; padding: 5px; margin: 20px 1% 20px 1%; background-color: $*col_weak_bg; color: $*col_weak_fg; """; if ($*pres_txtr_c != "none") { """background: url($*pres_txtr_c);"""; } """ width: $*pres_sidebar_width; voice-family: "\"}\""; voice-family:inherit; width: $pres_sidebar_width_ie; } html>body #sideBar { width: $pres_sidebar_width_ie; } #sideBarHeader { min-height: 100px; background-color: $*col_stronger_bg; color: $*col_stronger_fg; """; if ($*pres_txtr_h != "none") { """background: url($*pres_txtr_h);"""; } """ vertical-align: bottom; margin-bottom: 10px; } #sideBar h4 { color: $*col_neutral_fg; text-transform: uppercase; font-weight: normal; font-family: $*subheading_font, $*subheading_font_fallback; display: block; text-align: center; padding: 5px; padding-bottom: 0; $pres_sidebar_boxbg } #sideBar ul { margin: 0 0 1em 1em; padding: 0; list-style-type: none; } .sideBarBox { border: 2px solid $*col_border; margin-bottom: 5px; background-color: $*col_strong_bg; color: $*col_strong_fg; } .sideBarBox a, .sideBarBox a:active { color: $*col_sidebar_link; } .sideBarBox a:visited { color: $*col_sidebar_vlink; } .sideBarBox h5 { font-family: $*subheading_font, $*subheading_font_fallback; margin: 10px 0 0 0; } .sideBarUpi { margin: 0; padding: 2px; } .entry { padding: 5px; background-color: $*col_entry_bg; font-family: $*content_font, $*content_font_fallback; } .entry a { color: $*col_entry_link; } .entry a:visited { color: $*col_entry_vlink; } .entry h3 { font-family: $*entryheading_font, $*entryheading_font_fallback; font-size: 1.5em; padding: 3px; margin: 10px 0; } .entryBar { clear: both; overflow: auto; font-size: 0.9em; } .entryText { margin-top: 5px; margin-bottom: 5px; } .entryFooter { padding-top: 1em; } .commentsInfo { float: right; } form#postform textarea { width: 100%; max-width: 99%; } form#postform input { max-width: 100%; } .commentBoxOne { border: 5px solid $*col_cmtbarone_bg; } .commentBoxTwo { border: 5px solid $*col_cmtbartwo_bg; } .commentBoxScreened { border: 5px solid $*col_cmtbarscrn_bg; } .commentBoxOne .commentInfo { background-color: $*col_cmtbarone_bg; color: $*col_cmtbarone_fg; } .commentBoxTwo .commentInfo { background-color: $*col_cmtbartwo_bg; color: $*col_cmtbartwo_fg; } .commentBoxScreened .commentInfo { background-color: $*col_cmtbarscrn_bg; color: $*col_cmtbarscrn_fg; } .commentBoxOne, .commentBoxTwo, .commentBoxScreened { background-color: $*col_weak_bg; color: $*col_weak_fg; border-right: none; border-bottom: none; width: 99%; } .commentBoxOne a, .commentBoxTwo a, .commentBoxScreened a { color: $*col_entry_link; } .commentBoxOne a:visited, .commentBoxTwo a:visited, .commentBoxScreened a:visited { color: $*col_entry_vlink; } .commentUpi { float: left; margin-right: 10px; margin-bottom: 10px; } .commentUpi img { border: 0; } .commentInfo { width: 100%; vertical-align: bottom; padding-botttom: 5px; background-color: #ccf; } .commentButs { vertical-align: bottom; text-align: right; } .commentText { padding-top: 5px; padding-left: 5px; } .commentLinks { clear: both; margin-left: 5px; } #footer { float: left; width: """+$pres_content_width+"""px; font-size: 0.8em; margin-top: 10px; margin-bottom: 10px; } h2, h3, h4 { margin-top: 0; } a { color: $*col_entry_link; text-decoration: none; } a:hover { text-decoration: underline; } a:visited { color: $*col_entry_vlink; } .userpic { float: right; margin-left: 5px; margin-bottom: 5px; } div.entrysub h3 { margin: 0; } div.MiniCalContainer { border: 2px solid $*col_border; width: 98%; height: 3em; overflow: auto; margin-top: 10px; margin-left: 1%; $pres_minical_boxbg } .MiniCalDayPosts { font-weight: bold; } td.MiniCalWeekend { background-color: $col_minical_weekend; } td.MiniCalDay, td.MiniCalDayPosts { font-family: Trebuchet, Verdana, sans-serif; font-size: 0.95em; color: $*col_strong_fg; } .MiniCalDay a, .MiniCalDay a:active, .MiniCalDayPosts a, .MiniCalDayPosts a:active { color: $*col_sidebar_link; } .MiniCalDay a:visited, .MiniCalDayPosts a:visited { color: $*col_sidebar_vlink; } .monthWrapper { display: table; border: 1px solid black; width: 100%; } .monthRow { display: table-row; border: 1px solid black; } .monthCell, .monthDay { display: table-cell; border: 1px solid black; padding: 3px; } .monthDay { font-family: $*subheading_font, $*subheading_font_fallback; font-size: 2em; text-align: right; } #cal a { text-decoration: none; color: $*col_entry_link; } .calrow { clear: both; font-family: Arial, sans-serif; } .calempty { width: 24px; font-size: 11px; margin: 1px; float: left; } .calactitem { float: left; margin: 1px; width: 23px; font-size: 11px; text-align: center; background-color: white; border-right: 1px solid black; border-bottom: 1px solid black; } .calDayEntries { font-size: 1.5em; font-weight: bold; } .calDay, .calDayEntries, .bigday { font-family: $*subheading_font, $*subheading_font_fallback; text-align: center; vertical-align: middle; } .bigday { font-weight: bold; } .cal td { padding: 3px; } .calinitem { float: left; margin: 1px; width: 23px; font-size: 11px; text-align: center; border-right: 1px solid black; border-bottom: 1px solid black; } """; appended_to_stylesheet(); } ## -- i m a g e l i n k s e p a r a t o r -- ############################ function separator() : string { # Would do this in prop_init, except you can't use HTML in # $* variables. Poo. if ($*text_link_separator->starts_with("http://")) { return " \" "; } else { return $*text_link_separator; } } ## -- p r i n t l i n k l i s t -- ######################################## function linklist() : string { var string return = ""; var Page p = get_page(); if (size $p.linklist <= 0) { return ""; } var bool section_open = false; $return = $return + "
\n"; var int count = 0; foreach var UserLink l ($p.linklist) { $count = $count + 1; if ($l.title) { if ($l.is_heading) { if ($section_open) { $return = $return + " \n \n"; } $return = $return + """
\n

$l.title

\n
"; } ## -- p r i n t e n t r y p a g e -- #################################### function EntryPage::print_body () { # disabled until someone can figure out why these guys aren't working # set_handler("unscreen_comment_#", [ [ "set_class", "cmtbox#", "commentBoxOne", ], ]); # set_handler("screen_comment_#", [ [ "set_class", "cmtbox#", "commentBoxScreened", ], ]); print_entry ( $this, $.entry, null Color, null Color, $.viewing_thread ); if ( $.entry.comments.enabled and $.comment_pages.total_subitems > 0) { print "

Comments:


"; if ( $this.multiform_on ) { $this->print_multiform_start(); } if ( $.comment_pages.total_subitems > 0 ) { $.comment_pages->print(); $this->print_comments( $.comments ); } if ($this.multiform_on) { print "

Mass Action:

"; $this->print_multiform_actionline(); $this->print_multiform_end(); "

"; } "
"; } } ## -- p r i n t e n t r y c o m m e n t -- ############################## function EntryPage::print_comment ( Comment c ) { var string userpic; var string boxclass = ""; var string boxheight = ""; var string poster = defined $c.poster ? $c.poster->as_string() : "$*text_poster_anonymous"; var string sub_icon = defined $c.subject_icon ? $c.subject_icon->as_string() : "" ; if ( $c.screened ) { $boxclass = "commentBoxScreened"; } else { $boxclass = $c.depth % 2 ? "commentBoxOne" : "commentBoxTwo"; } if ( defined $c.userpic and $*comment_userpic_style != "off" ) { var int w = $c.userpic.width; var int h = $c.userpic.height; if ( $*comment_userpic_style == "small" ) { $w = $w / 2; $h = $h / 2; } $userpic = "
\"$c.poster.name\"
"; } """
$userpic
$*text_comment_from $poster $*text_comment_date """ + $c.time->date_format("%%yyyy%%-%%mm%%-%%dd%% ") + $c.time->time_format("%%HH%%:%%min%%") + """ ($*text_permalink)
\n"""; if ( $c.metadata{"poster_ip"} ) { print "$*text_comment_ipaddr " + $c.metadata{"poster_ip"} + ""; } "
"; if ( $c.subject != "" ) { print "

$c.subject $c.subject_icon

"; } "
$c.text
"; "
"; if ( $this.multiform_on ) { "
"; $c->print_multiform_check(); "
"; } if ( $c.frozen ) { print $*text_comment_frozen + " :: "; } else { "($*text_comment_reply) "; } if ( $c.parent_url != "" ) { "($*text_comment_parent) "; } if ( $c.thread_url != "" ) { "($*text_comment_thread) "; } "
\n\n"; } ## -- p r i n t r e p l y p a g e -- #################################### function ReplyPage::print_body () { if ( not $.entry.comments.enabled ) { "$*text_reply_nocomments_header
$*text_reply_nocomments"; return; } var string time = $.replyto.time->time_format($*text_time_format); var string date = $.replyto.time->date_format($*text_date_format); """
"""; if (defined $.replyto.userpic) { """
"""; } if ( $.replyto.subject ) { print "

$.replyto.subject

"; } "Posted by "; print defined $.replyto.poster ? $.replyto.poster->as_string() : "(Anonymous)"; " on $date at $time
"; "
"; print $.replyto.text + "
"; """
 

"; """
"""; var string what = $.replyto.permalink_url == $.entry.permalink_url ? "entry" : "comment" ; "

Reply to this $what:

"; $.form->print(); "
"; } ## -- p r i n t m o n t h p a g e -- #################################### function MonthPage::print_body { "
"; $.redir->print_hiddens(); var string select; if (size $.months > 1) { $select = "\n"; } """
$select
"""; "
"; "
"; foreach var MonthDay d ($.days) { if ($d.has_entries) { """
"""; $d->print_subjectlist(); """
"""; } } "
"; } ## -- p r i n t y e a r p a g e -- ###################################### function YearWeek::print() { """ """; if ($.pre_empty > 0) { """ """; } foreach var YearDay d ($.days) { var string day = zeropad($d.day, 2); ""; if ($d.num_entries > 0) { var string num = string($d.num_entries); """
$day
"""; } else { """
$day
"""; } """ """; } """ """; } function YearPage::print_month(YearMonth m) { if (not $m.has_entries) { return; } """

"""; print $m->month_format(); """

  $*text_view_month   :: ^

"""; foreach var int d (weekdays()) { """ """; } """ """; foreach var YearWeek w ($m.weeks) { $w->print(); } """
$*lang_dayname_short[$d]

"""; } function YearPage::print_body { """
"""; foreach var YearMonth m ($.months) { $this->print_month($m); } """
"""; } ## -- p r i n t d a y p a g e -- ######################################## function DayPage::print_body() { """

"""; print $.date->date_format("long"); "


"; if ($.has_entries) { foreach var Entry e ($.entries) { $this->print_entry($e); } } else { """
$*text_noentries_day
"""; } } ## -- t h e e n d ! -- ####################################################