#s LAYER INFO layerinfo "redist_uniq" = "tranquilityii/layout"; layerinfo "type" = "layout"; layerinfo "name" = "Tranquility II"; layerinfo "des" = "XHTML/CSS Compliant layout. Relax."; layerinfo "author_name" = "Matthew Vince"; layerinfo "lang" = "en"; # PROPERTIES: COLORS propgroup Colors { # odd property Color c_main_border { des = "Border color of main column"; } property Color c_main_background { des = "Background color of main column"; } property Color c_menu_border { des = "Border color of menu"; } property Color c_header_background { des = "Header background color"; } property Color c_header_border { des = "Header border color"; } # page property Color c_page_background { des = "Page background color"; } property Color c_page_title { des = "Page title color"; } property Color c_page_text { des = "Page text color"; } property Color c_page_link { des = "Page link color"; } property Color c_page_link_visited { des = "Page visited link color"; } property Color c_page_link_hover { des = "Page hover link color"; } property Color c_page_link_active { des = "Page active link color"; } # menu property Color c_menu_background { des = "Side Menu background color"; } property Color c_menu_link { des = "Side Menu link color"; } property Color c_menu_link_visited { des = "Side Menu visited link color"; } property Color c_menu_link_hover { des = "Side Menu hover link color"; } property Color c_menu_link_active { des = "Side Menu active link color"; } property Color c_menu_text_color { des = "Side Menu text color"; } property Color c_menu_header_color { des = "Side Menu header color"; } property Color c_menu_current { des = "Current menu item color"; } # entry property Color c_entry_background { des = "Entry background color"; } property Color c_entry_link { des = "Entry link color"; } property Color c_entry_link_visited { des = "Entry visited link color"; } property Color c_entry_link_hover { des = "Entry hover link color"; } property Color c_entry_link_active { des = "Entry active link color"; } property Color c_entry_text_color { des = "Entry text color"; } property Color c_entry_title_color { des = "Entry title color"; } property Color c_entry_border { des = "Entry bottom border color"; } # metadata property Color c_meta_background { des = "Entry metadata background color"; } property Color c_meta_link { des = "Entry metadata link color"; } property Color c_meta_link_visited { des = "Entry metadata visited link color"; } property Color c_meta_link_hover { des = "Entry metadata hover link color"; } property Color c_meta_link_active { des = "Entry metadata active link color"; } property Color c_meta_text_color { des = "Entry metadata text color"; } # footer property Color c_footer_background { des = "Page footer background color"; } property Color c_footer_link { des = "Page footer link color"; } property Color c_footer_link_visited { des = "Page footer visited link color"; } property Color c_footer_link_hover { des = "Page footer hover link color"; } property Color c_footer_link_active { des = "Page footer active link color"; } property Color c_footer_text_color { des = "Page footer text color"; } # comments property Color c_comment_one_link { des = "Comment one link color"; } property Color c_comment_one_link_visited { des = "Comment one visited link color"; } property Color c_comment_one_link_hover { des = "Comment one hover link color"; } property Color c_comment_one_link_active { des = "Comment one active link color"; } property Color c_comment_one_text_color { des = "Comment one text color"; } property Color c_comment_one_title_color { des = "Comment one title color"; } property Color c_comment_one_background { des = "Comment bar one background color"; } property Color c_comment_one_border { des = "Comment one bottom border color"; } property Color c_comment_two_link { des = "Comment two link color"; } property Color c_comment_two_link_visited { des = "Comment two visited link color"; } property Color c_comment_two_link_hover { des = "Comment two hover link color"; } property Color c_comment_two_link_active { des = "Comment two active link color"; } property Color c_comment_two_text_color { des = "Comment two text color"; } property Color c_comment_two_title_color { des = "Comment two title color"; } property Color c_comment_two_background { des = "Comment two background color"; } property Color c_comment_two_border { des = "Comment two bottom border color"; } property Color c_comment_screened_link { des = "Comment screened link color"; } property Color c_comment_screened_link_visited { des = "Comment screened visited link color"; } property Color c_comment_screened_link_hover { des = "Comment screened hover link color"; } property Color c_comment_screened_link_active { des = "Comment screened active link color"; } property Color c_comment_screened_text_color { des = "Comment screened text color"; } property Color c_comment_screened_title_color { des = "Comment screened title color"; } property Color c_comment_screened_background { des = "Comment screened background color"; } property Color c_comment_screened_border { des = "Comment screened bottom border color"; } } # PROPERTIES: FONTS propgroup Fonts { # page property string f_page { des = "Generic font for use on the page"; } property string f_page_size { des = "Generic font size for use on the page"; } property string f_page_title { des = "Page title font"; } property string f_page_title_size { des = "Page title font size"; } property string f_page_link { des = "Generic font for links on the page"; } property string f_page_link_size { des = "Generic font size for links on the page"; } # menu property string f_menu_link { des = "Menu link font"; } property string f_menu_link_size { des = "Menu link font size"; } property string f_menu { des = "Menu font"; } property string f_menu_size { des = "Menu font size"; } property string f_menu_header { des = "Menu title font"; } property string f_menu_header_size { des = "Menu title font size"; } property string f_menu_current { des = "Current menu item font"; } property string f_menu_current_size { des = "Current menu item font size"; } # entry property string f_entry { des = "Entry font"; } property string f_entry_size { des = "Entry font size"; } property string f_entry_link { des = "Entry link font"; } property string f_entry_link_size { des = "Entry link font size"; } property string f_entry_title { des = "Entry title font"; } property string f_entry_title_size { des = "Entry title font size"; } # metadata property string f_meta { des = "Entry metadata font"; } property string f_meta_size { des = "Entry metadata font size"; } property string f_meta_link { des = "Entry metadata link font"; } property string f_meta_link_size { des = "Entry metadata link font size"; } # footer property string f_footer { des = "Footer font"; } property string f_footer_size { des = "Footer font size"; } property string f_footer_link { des = "Footer link font"; } property string f_footer_link_size { des = "Footer link font size"; } # comments property string f_comment { des = "Comment font"; } property string f_comment_size { des = "Comment font size"; } property string f_comment_title { des = "Comment title font"; } property string f_comment_title_size { des = "Comment title font size"; } property string f_comment_link { des = "Comment link font"; } property string f_comment_link_size { des = "Comment link font size"; } } # PROPERTIES: PRESENTATION propgroup Presentation { property use page_recent_items; property use page_friends_items; property use view_entry_disabled; property use use_shared_pic; property use comment_userpic_style; property bool show_entrynav_icons { des = "Toggle to show the next, memory, edit, etc icons on the entry view page"; } property string time_format { des = "Format for the time"; example = "%%hh%%:%%min%%:%%sec%% %%a%%m"; } property string date_format { des = "Format for the date"; example = "%%m%%/%%d%%/%%yy%%"; } property bool menu_disable_summary { des = "Disable menu summary view"; } property string css_page_width { des = "Width of the main page (increasing this will increase the main column's width)"; } property string css_style_overrides { des = "include any CSS here to override the default CSS"; } } # PROPERTIES: TEXT propgroup Text { 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_meta_music; property use text_meta_mood; property use text_permalink; property use text_view_recent; property use text_view_friends; property use text_view_archive; property use text_view_userinfo; property use text_reply_nocomments_header; property use text_reply_nocomments; property use text_comment_from; property use text_comment_ipaddr; property use text_comment_parent; property use text_comment_reply; property use text_comment_thread; property use text_nosubject; property use text_post_comment; property use text_post_comment_friends; property use text_max_comments; property use text_view_month; property string text_comment_anonymous { des = "Text to substitute for anonymous commenters"; } property string text_comment_viewall { des = "Text for view all comments"; } property string text_links_header { des = "Sidebar links header text"; } property string text_summary_header { des = "Page summary text header"; } property string text_links_spacer { des = "String to act as links list spacer";} } # ------------------------------- # default property settings # ------------------------------- # ODD set c_main_border = "#000"; set c_main_background = "#fff"; set c_menu_border = "#333"; set c_header_background = "#333"; set c_header_border = "#333"; set c_page_title = "#fff"; set c_page_background = "#333"; set c_page_text = "#333"; set c_page_link = "#5ab300"; set c_page_link_visited = "#5ab300"; set c_page_link_hover = "#336600"; set c_page_link_active = "#336600"; set c_menu_background = "#333"; set c_menu_link = "#999"; set c_menu_link_visited = "#999"; set c_menu_link_hover = "#fff"; set c_menu_link_active = "#fff"; set c_menu_text_color = "#fff"; set c_menu_header_color = "#fff"; set c_menu_current = "#fff"; set c_entry_background = "#fff"; set c_entry_link = "#5ab300"; set c_entry_link_visited = "#5ab300"; set c_entry_link_hover = "#336600"; set c_entry_link_active = "#336600"; set c_entry_text_color = "#333"; set c_entry_title_color = "#333"; set c_entry_border = "#ccc"; set c_meta_background = "#fff"; set c_meta_link = "#5ab300"; set c_meta_link_visited = "#5ab300"; set c_meta_link_hover = "#336600"; set c_meta_link_active = "#336600"; set c_meta_text_color = "#000"; set c_footer_background = "#333"; set c_footer_link = "#fff"; set c_footer_link_visited = "#fff"; set c_footer_link_hover = "#fff"; set c_footer_link_active = "#fff"; set c_footer_text_color = "#fff"; set c_comment_one_link = "#5ab300"; set c_comment_one_link_visited = "#5ab300"; set c_comment_one_link_hover = "#336600"; set c_comment_one_link_active = "#336600"; set c_comment_one_text_color = "#333"; set c_comment_one_title_color = "#333"; set c_comment_one_background = "#fff"; set c_comment_one_border = "#999"; set c_comment_two_link = "#5ab300"; set c_comment_two_link_visited = "#5ab300"; set c_comment_two_link_hover = "#336600"; set c_comment_two_link_active = "#336600"; set c_comment_two_text_color = "#333"; set c_comment_two_title_color = "#333"; set c_comment_two_background = "#fff"; set c_comment_two_border = "#999"; set c_comment_screened_link = "#708CC4"; set c_comment_screened_link_visited = "#5ab300"; set c_comment_screened_link_hover = "#336600"; set c_comment_screened_link_active = "#336600"; set c_comment_screened_text_color = "#333"; set c_comment_screened_title_color = "#333"; set c_comment_screened_background = "#fff"; set c_comment_screened_border = "#999"; # FONTS set f_page = "Georgia, serif"; set f_page_title = "Georgia, serif"; set f_page_title_size = "190%"; set f_page_size = "12px"; set f_page_link = "Georgia, serif"; set f_page_link_size = "100%"; set f_menu_link = "Verdana, Helvetica, sans-serif"; set f_menu_link_size = "80%"; set f_menu = "Georgia, serif"; set f_menu_size = "100%"; set f_menu_header = "Georgia, serif"; set f_menu_header_size = "120%"; set f_menu_current = "Verdana, Helvetica, sans-serif"; set f_menu_current_size = "80%"; set f_entry = "Georgia, serif"; set f_entry_size = "100%"; set f_entry_link = "Georgia, serif"; set f_entry_link_size = "100%"; set f_entry_title = "Georgia, serif"; set f_entry_title_size = "150%"; set f_meta = "Verdana, Helvetica, sans-serif"; set f_meta_size = "80%"; set f_meta_link = "Verdana, Helvetica, sans-serif"; set f_meta_link_size = "100%"; set f_footer = "Georgia, serif"; set f_footer_size = "100%"; set f_footer_link = "Georgia, serif"; set f_footer_link_size = "100%"; set f_comment = "Georgia, serif"; set f_comment_size = "100%"; set f_comment_title = "Georgia, serif"; set f_comment_title_size = "130%"; set f_comment_link = "Georgia, serif"; set f_comment_link_size = "100%"; # OTHER set show_entrynav_icons = true; set time_format = "%%hh%%:%%min%% %%a%%m"; set date_format = "%%mon%%. %%dayord%%, %%yyyy%%"; set menu_disable_summary = false; set css_style_overrides = ""; set css_page_width = "800px"; # TEXT set text_meta_music = "music"; set text_links_header = "links"; set text_meta_mood = "mood"; set text_read_comments = "{#}"; set text_read_comments_friends = "{#}"; set text_comment_anonymous = "anonymous"; set text_comment_viewall = "view all comments"; set text_links_header = "Links"; set text_summary_header = "Page Summary"; set text_links_spacer = "_______________"; # ======================================== # METHODS # ======================================== # ------------------------------- # stylesheet # ------------------------------- function print_stylesheet ( ) { """ @media screen, print { * { margin: 0; padding: 0; } hr { display: none; } body { background-color: $*c_page_background; font-family: $*f_page; font-size: $*f_page_size; line-height: 125%; color: $*c_page_text; text-align: center; } a { font-family: $*f_page_link; font-size: $*f_page_link_size; color: $*c_page_link; text-decoration: none; } a:visited { color: $*c_page_link_visited; } a:hover, a:visited:hover { color: $*c_page_link_hover; text-decoration: underline; } a:active { color: $*c_page_link_active; } a img { border: none; } a.comm { background: transparent url(http://stat.livejournal.com/img/community.gif) no-repeat; padding-left: 19px; padding-bottom: 7px; } a.user { background: transparent url(http://stat.livejournal.com/img/userinfo.gif) no-repeat; padding-left: 19px; padding-bottom: 7px; } p { margin: 5px; padding: 5px; } form { display: inline; margin: 0px; padding: 0px; } input, select, textarea { font-family: $*f_meta; font-size: $*f_meta_size; color: $*c_meta_text_color; padding: 2px; margin: 3px; } #container { position: relative; width: $*css_page_width; margin: 0 auto; text-align: left; } #header { margin-bottom: 15px; border: 1px solid $*c_header_border; background-color: $*c_header_background; } #header h1 { padding: 20px; font-family: $*f_page_title; font-size: $*f_page_title_size; color: $*c_page_title; } #menu { position: relative; background-color: $*c_menu_background; float: left; width: 150px; font-family: $*f_menu; font-size: $*f_menu_size; color: $*c_menu_text_color; border: 1px solid $*c_menu_border; padding: 4px; } #content { position: relative; margin-left: 160px; } #entries { border: 1px solid $*c_main_border; padding: 15px; background-color: $*c_main_background; } #menu h2 { margin: 20px 0; font-family: $*f_menu_header; font-size: $*f_menu_header_size; color: $*c_menu_header_color; } #menu h2.userpic { text-align: center; } #menu a { font-family: $*f_menu_link; font-size: $*f_menu_link_size; color: $*c_menu_link; } #menu a:visited { color: $*c_menu_link_visited; } #menu a:hover, #menu a:visited:hover { color: $*c_menu_link_hover; } #menu a:active { color: $*c_menu_link_active; } #menu ul { margin: 3px; list-style: none; } #menu ul li { margin: 3px; padding: 2px; list-style: none; } #menu ul li.active { font-family: $*f_menu_current; font-size: $*f_menu_current_size; color: $*c_menu_current; font-weight: bold; } #content h2 { margin: 20px 0; } #entries, #comments { margin: 10px; } .ind-entry { padding: 5px; padding-bottom: 15px; border-bottom: 1px solid $*c_entry_border; background-color: $*c_entry_background; } .ind-entry h3 img, .ind-comment-one h3 img, .ind-comment-two h3 img, .ind-comment-screened h3 img { position: relative; float: right; padding: 5px; } .ind-entry h2 { font-family: $*f_entry_title; font-size: $*f_entry_title_size; color: $*c_entry_title_color; margin: 20px 0px; line-height: 140%; } .ind-entry h4, .ind-comment-one h4, .ind-comment-two h4, .ind-comment-screened h4 { font-family: $*f_meta; font-size: $*f_meta_size; color: $*c_meta_text_color; } .ind-entry h4 { background-color: $*c_meta_background; } .ind-entry h4 a, .ind-comment-one h4 a, .ind-comment-two h4 a, .ind-comment-screened h4 a { font-family: $*f_meta_link; font-size: $*f_meta_link_size; color: $*c_meta_link; text-decoration: underline; } .ind-entry h4 a:visited, .ind-comment-one h4 a:visited, .ind-comment-two h4 a:visited, .ind-comment-screened h4 a:visited { color: $*c_meta_link_visited; } .ind-entry h4 a:hover, .ind-comment-one h4 a:hover, .ind-comment-two h4 a:hover, .ind-comment-screened h4 a:hover { color: $*c_meta_link_hover; } .ind-entry h4 a:visited:hover, .ind-comment-one h4 a:visited:hover, .ind-comment-two h4 a:visited:hover, .ind-comment-screened h4 a:visited:hover { color: $*c_meta_link_hover; } .ind-entry h4 a:active, .ind-comment-one h4 a:active, .ind-comment-two h4 a:active, .ind-comment-screened h4 a:active { color: $*c_meta_link_active; } .ind-entry div.entry-item, .ind-entry div.month-entries { font-family: $*f_entry; font-size: $*f_entry_size; color: $*c_entry_text_color; margin: 15px 0px; } .ind-entry div.entry-item a, .ind-entry div.month-entries a { font-family: $*f_entry_link; font-size: $*f_entry_link_size; color: $*c_entry_link; text-decoration: underline; } .ind-entry div.entry-item a:visited, .ind-entry div.month-entries a:visited { color: $*c_entry_link_visited; } .ind-entry div.entry-item a:hover, .ind-entry div.entry-item a:visited:hover { color: $*c_entry_link_hover; } .ind-entry div.month-entries a:hover, .ind-entry div.month-entries a:visited:hover { color: $*c_entry_link_hover; } .ind-entry div.entry-item a:active, .ind-entry div.month-entries a:active { color: $*c_entry_link_active; } .ind-comment-one, .ind-comment-two, .ind-comment-screened { margin: 10px 0; padding: 5px; } .ind-comment-one { background-color: $*c_comment_one_background; border-bottom: 1px solid $*c_comment_one_border; } .ind-comment-two { background-color: $*c_comment_two_background; border-bottom: 1px solid $*c_comment_two_border; } .ind-comment-screened { background-color: $*c_comment_screened_background; border-bottom: 1px solid $*c_comment_screened_border; } .ind-comment-one h2 { font-family: $*f_comment_title; font-size: $*f_comment_title_size; color: $*c_comment_one_title_color; margin: 20px 0px; } .ind-comment-one div.entry-item { font-family: $*f_comment; font-size: $*f_comment_size; color: $*c_comment_one_text_color; margin: 15px 0px; } .ind-comment-one div.entry-item a { font-family: $*f_comment_link; font-size: $*f_comment_link_size; color: $*c_comment_one_link; text-decoration: underline; } .ind-comment-one div.entry-item a:visited { color: $*c_comment_one_link_visited; } .ind-comment-one div.entry-item a:hover, .ind-comment-one div.entry-item a:visited:hover { color: $*c_comment_one_link_hover; } .ind-comment-one div.entry-item a:active { color: $*c_comment_one_link_active; } .ind-comment-two h2 { font-family: $*f_comment_title; font-size: $*f_comment_title_size; color: $*c_comment_two_title_color; margin: 20px 0px; line-height: 140%; } .ind-comment-two div.entry-item { font-family: $*f_comment; font-size: $*f_comment_size; color: $*c_comment_two_text_color; margin: 10px 0px; } .ind-comment-two div.entry-item a { font-family: $*f_comment_link; font-size: $*f_comment_link_size; color: $*c_comment_two_link; text-decoration: underline; } .ind-comment-two div.entry-item a:visited { color: $*c_comment_two_link_visited; } .ind-comment-two div.entry-item a:hover, .ind-comment-two div.entry-item a:visited:hover { color: $*c_comment_two_link_hover; } .ind-comment-two div.entry-item a:active { color: $*c_comment_two_link_active; } .ind-comment-screened h2 { font-family: $*f_comment_title; font-size: $*f_comment_title_size; color: $*c_comment_screened_title_color; margin: 20px 0px; } .ind-comment-screened div.entry-item { font-family: $*f_comment; font-size: $*f_comment_size; color: $*c_comment_screened_text_color; margin: 10px 0px; } .ind-comment-screened div.entry-item a { font-family: $*f_comment_link; font-size: $*f_comment_link_size; color: $*c_comment_screened_link; text-decoration: underline; } .ind-comment-screened div.entry-item a:visited { color: $*c_comment_screened_link_visited; } .ind-comment-screened div.entry-item a:hover, .ind-comment-screened div.entry-item a:visited:hover { color: $*c_comment_screened_link_hover; } .ind-comment-screened div.entry-item a:active { color: $*c_comment_screened_link_active; } .month-entries { margin: 10px 0; } .month-entries ul { list-style: none; margin: 10px; } .month-entries ul li { list-style: none; padding: 3px; } .ljtaglist { margin-left: 5px; } #footer { position: relative; font-family: $*f_footer; font-size: $*f_footer_size; color: $*c_footer_text_color; background-color: $*c_footer_background; } #footer p { padding: 20px; } #footer a { font-family: $*f_footer_link; font-size: $*f_footer_link_size; color: $*c_footer_link; } #footer a:visited { color: $*c_footer_link_visited; } #footer a:hover, #footer a:visited:hover { color: $*c_footer_link_hover; } #footer a:active { color: $*c_footer_link_active; } } @media print { #menu { display: none; } #content { margin-left: 0px; } #entries, .ind-entry, .ind-comment, #footer, #header { border: none; } } $*css_style_overrides """; } # ------------------------------- # user pic main page # ------------------------------- function Page::lay_top_userpic ( ) { var Image up_img = $.journal.default_pic; if ( defined $up_img ) { print "<h2 class=\"userpic\"><img border=\"0\" src=\"$up_img.url\" height=\"$up_img.height\" width=\"$up_img.width\" alt=\"$.journal.name\" /></h2>"; } } # ------------------------------- # returns a permalink link based on # the url passed # ------------------------------- function get_permalink ( string url ) : string { return("<a href=\"$url\" title=\"permalink\" class=\"$*text_permalink\">$*text_permalink</a>"); } # ------------------------------- # prints the user's 'link-list' # ------------------------------- function Page::print_linklist ( ) { if ( size $.linklist > 0 ) { print "<h2>$*text_links_header</h2>"; print "<ul id=\"user-links\">"; foreach var UserLink l ( $.linklist ) { if ( $l.title == "spacer" ) { print "<li>$*text_links_spacer</li>"; } elseif ($l.is_heading) { print "<li><b>$l.title</b></li>"; } elseif ( $l.title ) { print "<li><a href=\"$l.url\" title=\"$l.title\">$l.title</a></li>"; } } print "</ul>"; print "<hr />"; } } # ------------------------------- # prints the LJ specific links (recent, friends, etc) # ------------------------------- function print_lj_links ( Page p ) { var string links; $links = $links + ($p.view == "recent" ? "<li class=\"active\">$*text_view_recent</li>" : "<li><a href=\"$p.base_url/\" title=\"$*text_view_recent\">$*text_view_recent</a></li>"); if ( $p.journal_type == "C" ) { $links = $links + ($p.view == "friends" ? "<li class=\"active\">$*text_view_friends_comm</li>" : "<li><a href=\"$p.base_url/friends\" title=\"$*text_view_friends_comm\">$*text_view_friends_comm</a></li>"); } else { $links = $links + ($p.view == "friends" ? "<li class=\"active\">$*text_view_friends</li>" : "<li><a href=\"$p.base_url/friends\" title=\"$*text_view_friends\">$*text_view_friends</a></li>"); } $links = $links + ($p.view == "archive" ? "<li class=\"active\">$*text_view_archive</li>" : "<li><a href=\"$p.base_url/calendar\" title=\"$*text_view_archive\">$*text_view_archive</a></li>"); $links = $links + "<li><a href=\"$p.view_url{"userinfo"}\" title=\"$*text_view_userinfo\">$*text_view_userinfo</a></li>"; $links = $links + ($p.journal.website_url != "" ? "<li><a href=\"$p.journal.website_url\" title=\"" + $p.journal.website_name->lower() + "\">" + $p.journal.website_name->lower() + "</a></li>" : ""); print "<ul id=\"lj-links\">"; print $links; print "</ul>"; print "<hr />"; } function Page::lay_sidebar_view_summary() : string { return(""); } # ------------------------------- # main page layout # ------------------------------- function Page::print ( ) { var string title = $this->title(); # generate page id: var string current_view = $.view; if ( $.view == "month" or $.view == "day" ) { $current_view = "archive"; } if ( $.view == "entry" or $.view == "reply" ) { $current_view = "recent"; } # begin main page html: print "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"; print "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"\">\n"; print "<head>\n"; print "<meta name=\"resource-type\" content=\"Document\" />\n"; print "<meta name=\"type\" content=\"index\" />\n"; print "<link rel=\"stylesheet\" type=\"text/css\" href=\"$.stylesheet_url\" />\n"; $this->print_head(); print "<link rel=\"bookmark\" href=\"#header\" title=\"Top of the Page\" />\n"; print "<link rel=\"bookmark\" href=\"#menu\" title=\"Main Menu\" />\n"; print "<link rel=\"bookmark\" href=\"#summary\" title=\"Page Summary\" />\n"; print "<link rel=\"bookmark\" href=\"#content\" title=\"Entries\" />\n"; print "<title>$title</title>\n"; print "</head>\n"; print "<body id=\"$current_view\">\n"; print "<div id=\"container\">\n"; print "<div id=\"header\">\n"; print "<div id=\"banner\">\n"; print "<h1>$title</h1>\n"; print "<hr />"; print "</div>\n"; print "</div>\n"; print "<div id=\"menu\">\n"; $this->lay_top_userpic(); print "\n"; print_lj_links($this); print($this->lay_sidebar_view_summary()); $this->print_linklist(); print "</div>\n"; print "<div id=\"content\">\n"; $this->print_body(); print "</div>\n"; print "</div>\n"; print "</body>\n"; print "</html>\n"; } # ------------------------------- # main page display entries and # footer # ------------------------------- function RecentPage::print_body ( ) { # print all entries print "<div id=\"entries\">\n"; foreach var Entry e ( $.entries ) { $this->print_entry($e); } print "</div>"; var string range = "most recent entries"; if ( $.nav.skip > 0 ) { $range = "$.nav.skip entries back"; } print "<div id=\"footer\"><p>"; print "<b>viewing:</b> $range<br />"; # go forward/backward if possible if ( $.nav.forward_url != "" or $.nav.backward_url != "" ) { var string sep; var string back; var string forward; if ( $.nav.backward_url != "" ) { $back = "<a href=\"$.nav.backward_url\" title=\"go earlier\">earlier</a>"; } if ( $.nav.forward_url != "" ) { $forward = "<a href=\"$.nav.forward_url\" title=\"go later\">later</a>"; } if ( $back != "" and $forward != "" ) { $sep = " | "; } print "<b>go</b>: $back$sep$forward<br />"; } print "</p></div>"; } # ------------------------------- # tags page display # ------------------------------- function TagsPage::print_body ( ) { # print all entries print "<div id=\"entries\">\n<ul class='ljtaglist'>\n"; foreach var TagDetail td ($.tags) { var string uses = get_plural_phrase($td.use_count, "text_tag_uses"); print """<li><a href="$td.url">$td.name</a> - $uses</li>"""; } print "</ul>\n</div>"; } # ------------------------------- # entry view (show comments) # ------------------------------- function EntryPage::print_body ( ) { print "<div id=\"entries\">\n"; $this->print_entry ( $.entry ); if ( $.entry.comments.enabled ) { print "<h2>Comments {$.entry.comments.count}</h2>"; print "<div id=\"comments\">"; if ( $.comment_pages.total_subitems > 0 ) { if ( $this.multiform_on ) { $this->print_multiform_start(); } $.comment_pages->print(); $this->print_comments($.comments); if ( $this.multiform_on ) { $this->print_multiform_actionline(); $this->print_multiform_end(); } } print "</div>"; } print "</div>"; print "<div id=\"footer\"><p>"; print "<a href=\"$.entry.comments.post_url\" title=\"$*text_post_comment\">$*text_post_comment</a>\n"; print "</p></div>"; } # ------------------------------- # day view # ------------------------------- function DayPage::print_body ( ) { if ( not $.has_entries ) { print "<div id=\"entries\">\n"; print "<div class=\"ind-entry\">\n"; print "<h2>" + $.date->date_format("long") + "</h2>"; print "<p>$*text_noentries_day</p>"; print "</div>"; print "</div>"; print "<hr />"; } else { print "<div id=\"entries\">\n"; foreach var Entry e ( $.entries ) { $this->print_entry($e); } print "</div>"; } var string tprev = ehtml($*text_day_prev); var string tnext = ehtml($*text_day_next); print "<div id=\"footer\"><p>"; print "<a href=\"$.prev_url\" title=\"laquo; $tprev\">« $*text_day_prev</a> | <a href=\"$.next_url\" title=\"$tnext »\">$*text_day_next »</a>"; print "</p></div>"; } # ------------------------------- # year view # ------------------------------- function YearPage::print_body ( ) { print "<div id=\"entries\">\n"; $this->print_year_links(); foreach var YearMonth m ($.months) { $this->print_month($m); } print "</div>"; } # ------------------------------- # page summary for recent page # ------------------------------- function RecentPage::lay_sidebar_view_summary() : string { var string return; if ( not $*menu_disable_summary ) { foreach var Entry e ( $.entries ) { $return = $return + "<li>$e.security_icon <a href=\"#entry_$e.itemid\">" + ($e.subject != "" ? "$e.subject" : "$*text_nosubject") + "</a> [<a href=\"$e.permalink_url\">#</a>]</li>"; } } if ( $return != "" ) { $return = "<h2>$*text_summary_header</h2><ul id=\"lj-summary\">" + $return + "</ul><hr />"; } return($return); } # ------------------------------- # page summary for day page # ------------------------------- function DayPage::lay_sidebar_view_summary() : string { var string return; if ( not $*menu_disable_summary ) { foreach var Entry e ( $.entries ) { $return = $return + "<li>$e.security_icon <a href=\"#entry_$e.itemid\">" + ($e.subject != "" ? "$e.subject" : "$*text_nosubject") + "</a> [<a href=\"$e.permalink_url\">#</a>]</li>"; } } if ( $return != "" ) { $return = "<h2>$*text_summary_header</h2><ul id=\"lj-summary\">" + $return + "</ul><hr />"; } return($return); } # ------------------------------- # page summary for entry page # ------------------------------- function EntryPage::lay_sidebar_view_summary() : string { var string return; if ( not $*menu_disable_summary ) { foreach var Comment c ( $.comments ) { if ( $c.depth == 1 ) { $return = $return + "<li><a href=\"#c.anchor\">" + ($c.subject != "" ? "$c.subject" : "$*text_nosubject") + "</a> [<a href=\"$c.permalink_url\">#</a>]</li>"; } } } if ( $return != "" ) { $return = "<h2>$*text_summary_header</h2><ul id=\"lj-summary\">" + $return + "</ul><hr />"; } return($return); } # ------------------------------- # display an entry (all views ) # ------------------------------- function print_entry ( Page p, Entry e ) { # get date/time var string datetime; $datetime = $e.time->date_format($*date_format) + " | " + $e.time->time_format($*time_format); # get metadata var string metadata; if ( $e.metadata ) { foreach var string k ( $e.metadata ) { var string text = $k; var string val = $e.metadata{$k}; if ( $k == "mood" ) { $text = $*text_meta_mood; } elseif ( $k == "music" ) { $text = $*text_meta_music; } if ( $k == "mood" and defined $e.mood_icon ) { var Image i = $e.mood_icon; $val = "<img src=\"$i.url\" width=\"$i.width\" height=\"$i.height\" align=\"absmiddle\" alt=\"$val\" /> $val"; } $metadata = "$metadata\n<b>$text:</b> $val<br />"; } } # get any extra user info (if posting to community, etc) var string poster = ""; var string userpic = ""; if ( $p.view == "friends" or $p.journal_type == "C" or $e.poster.username != $e.journal.username ) { if ( $e.poster.username != $e.journal.username ) { $poster = "<a class=\"user\" href=\"" + $e.poster->base_url() + "\" title=\"$e.poster.username\">$e.poster.username</a> in <a class=\"comm\" href=\"" + $e.journal->base_url() + "\" title=\"$e.journal.username\" >$e.journal.username</a>"; } else { $poster = "<a class=\"user\" href=\"" + $e.poster->base_url() + "\" title=\"$e.poster.username\">$e.poster.username</a>"; } $poster = "<b>posted by:</b> $poster"; if ( defined $e.userpic ) { $userpic = "<h3 class=\"userpic\"><img border=\"0\" src=\"$e.userpic.url\" width=\"$e.userpic.width\" height=\"$e.userpic.height\" alt=\"$e.journal.username\" /></h3>"; } } # print the entry now: print "<div id=\"entry_$e.itemid\" class=\"ind-entry\">"; # print icon (if needed) if ( $userpic != "" ) { print "$userpic"; } print "<h2>"; if ( $e.security != "" ) { $e.security_icon->print(); print " "; } if ( $e.subject == "" ) { print "<i>$*text_nosubject</i>"; } else { print "$e.subject"; } print "</h2>"; print "<h4>"; if ( $p.view == "entry" and $*show_entrynav_icons ) { var string item_link = ""; foreach var string key (["nav_prev","nav_next"]) { var Link link = $e->get_link($key); if ( $link ) { if ( $key == "nav_prev" ) { $item_link = $item_link + "<a href=\"$link.url\" title=\"" + $link.caption->lower() + "\">« " + $link.caption->lower() + "</a> | "; } elseif ( $key == "nav_next" ) { $item_link = $item_link + "<a href=\"$link.url\" title=\"" + $link.caption->lower() + "\">" + $link.caption->lower() + " »</a>"; } } } print $item_link; print "<br />"; } print "<b>$datetime</b><br />"; print "$metadata"; if ( $poster != "" ) { print "$poster"; } print "</h4>"; print "<div class=\"entry-item\">$e.text</div>\n"; print "<h4>"; print get_permalink($e.permalink_url); if ( $p.view != "entry" and $p.view != "reply" ) { print " | "; $e.comments->print(); } elseif ( $e.comments.enabled ) { print " | "; $e.comments->print_postlink(); } var Link tmp; if ( viewer_is_owner() and $p.view != "friends" ) { $tmp = $e->get_link("edit_entry"); print " | <a href=\"$*SITEROOT/editjournal_do.bml?journal=$p.journal.username&itemid=$e.itemid\" title=\"$tmp.caption\">$tmp.caption</a>"; } $tmp = $e->get_link("mem_add"); print " | <a href=\"$*SITEROOT/tools/memadd.bml?journal=$e.journal.username&itemid=$e.itemid\" title=\"$tmp.caption\">$tmp.caption</a>"; print "</h4>"; print "</div>"; print "<hr />"; } # ------------------------------- # entry wrapper for main page # ------------------------------- function Page::print_entry ( Entry e ) { print_entry($this, $e); } # ------------------------------- # entry wrapper for friends page # ------------------------------- function FriendsPage::print_entry ( Entry e ) { print_entry($this, $e); } function EntryPage::print_entry ( Entry e ) { print_entry($this, $e); } # ------------------------------- # comments # ------------------------------- function CommentInfo::print ( ) { if ( not $.enabled ) { return; } $this->print_postlink(); if ( $.count > 0 or $.screened ) { print " "; print "<b>"; $this->print_readlink(); print "</b>"; } } # ------------------------------- # comment post link # ------------------------------- property int commentlinknum; function CommentInfo::print_postlink ( ) { var Page p = get_page(); var string linktext = ( $p.view == "friends" ? $*text_post_comment_friends : $*text_post_comment ); if ( $.maxcomments ) { "$*text_max_comments"; } else { $*commentlinknum++; var string target = "qrtlink$*commentlinknum"; $p->print_reply_link({"target" => $target, "class" => "comments", "title" => "$linktext", "linktext" => $linktext, "reply_url" => $.post_url}); $p->print_reply_container({"target" => $target}); } } # ------------------------------- # print comment # ------------------------------- function EntryPage::print_comment ( Comment c ) { var string comment_class = ""; if ( $c.screened ) { $comment_class = "ind-comment-screened"; } elseif ( $c.depth % 2 == 0 ) { $comment_class = "ind-comment-two"; } else { $comment_class = "ind-comment-one"; } var string poster = defined $c.poster ? $c.poster->as_string() : "<i>$*text_comment_anonymous</i>"; var string poster_text = defined $c.poster ? $c.poster.name : "<i>$*text_comment_anonymous</i>"; var string sub_icon; var int indent = (($c.depth - 1) * 5); if ( defined $c.subject_icon ) { $sub_icon = $c.subject_icon->as_string(); } print "<div class=\"$comment_class\" style=\"margin-left: ${indent}px;\">\n"; var string userpic; if ( defined $c.userpic and $*comment_userpic_style != "off" ) { $userpic = "<h3 class=\"userpic\"><img src=\"$c.userpic.url\" width=\"$c.userpic.width\" height=\"$c.userpic.height\" alt=\"$poster_text\" /></h3>"; } var string commentdate = $c.time->date_format($*date_format) + " - " + $c.time->time_format($*time_format); #userpic print "$userpic\n"; # subject: if ( $c.subject == "" ) { print "<h2>$c.subject_icon <i>$*text_nosubject</i></h2>"; } else { print "<h2>$c.subject_icon $c.subject</h2>"; } print "<h4>"; print "<b>from:</b> $poster<br />\n"; print "<b>date:</b> $commentdate<br />\n"; if ( $c.metadata{"poster_ip"} ) { print "<b>$*text_comment_ipaddr</b> " + $c.metadata{"poster_ip"} + "<br />"; } print get_permalink($c.permalink_url) + "<br />\n"; var Link lnk; $lnk = $c->get_link("delete_comment"); if ( $lnk.caption != "" ) { print " [<a href=\"$lnk.url\" title=\"" + $lnk.caption->lower() + "\">" + $lnk.caption->lower() + "</a>]"; } $lnk = $c->get_link("screen_comment"); if ( $lnk.caption != "" ) { print " [<a href=\"$lnk.url\" title=\"" + $lnk.caption->lower() + "\">" + $lnk.caption->lower() + "</a>]"; } $lnk = $c->get_link("unscreen_comment"); if ( $lnk.caption != "" ) { print " [<a href=\"$lnk.url\" title=\"" + $lnk.caption->lower() + "\">" + $lnk.caption->lower() + "</a>]"; } print "</h4>\n"; if ( $this.multiform_on ) { print "<label for=\"ljcomsel_$c.talkid\">$*text_multiform_check</label>"; $c->print_multiform_check(); } print "<div class=\"entry-item\">$c.text</div>\n"; print "<h4>"; $c->print_reply_link({"linktext" => $*text_comment_reply}); if ( $c.parent_url != "" ) { print " | <a href=\"$c.parent_url\" title=\"$*text_comment_parent\">$*text_comment_parent</a>"; } if ( $c.thread_url != "" ) { print " | <a href=\"$c.thread_url\" title=\"$*text_comment_thread\">$*text_comment_thread</a>"; } print "</h4>"; $c->print_reply_container(); print "</div>\n\n"; print "<hr />"; } # ------------------------------- # print reply form page # ------------------------------- function ReplyPage::print_body ( ) { if ( not $.entry.comments.enabled ) { print "<div id=\"entries\">\n"; print "<div class=\"ind-entry\">"; print "<h2>$*text_reply_nocomments_header</h2>"; print "$*text_reply_nocomments"; print "</div>"; print "</div>"; } else { print "<div id=\"entries\">\n"; # get date var string datetime; $datetime = $.replyto.time->date_format($*date_format) + " | " + $.replyto.time->time_format($*time_format); # get any extra user info (if posting to community, etc) var string poster = ""; var string userpic = ""; if ( defined $.replyto.poster ) { $poster = "<a href=\"" + $.replyto.poster->base_url() + "\" title=\"$.replyto.poster.username\">$.replyto.poster.username</a>"; if ( defined $.replyto.userpic ) { $userpic = "<h3 class=\"userpic\"><img border=\"0\" src=\"$.replyto.userpic.url\" width=\"$.replyto.userpic.width\" height=\"$.replyto.userpic.height\" alt=\"$.replyto.poster.username\" /></h3>"; } } else { $poster = "<i>$*text_comment_anonymous</i>"; } # print the entry now: print "<div class=\"ind-entry\">"; # print icon (if needed) if ( $userpic != "" ) { print "$userpic"; } print "<h2>"; if ( $.replyto.subject == "" ) { print "<i>$*text_nosubject</i>"; } else { print "$.replyto.subject"; } print "</h2>"; print "<h4>\n"; print "<b>$datetime</b><br />"; print "<b>$*text_comment_from:</b> $poster"; if ( $.replyto.metadata{"poster_ip"} ) { print "<b>$*text_comment_ipaddr</b> " + $.replyto.metadata{"poster_ip"} + "<br />"; } print "</h4>"; print "<div class=\"entry-item\">$.replyto.text</div>\n"; print "<h4>"; print get_permalink($.replyto.permalink_url) + " | <a href=\"$.entry.comments.read_url\" title=\"$*text_comment_viewall\">$*text_comment_viewall</a>\n"; print "</h4>"; print "</div>\n"; print "<hr />"; print "<div class=\"entry-form\">\n"; print "<h2>Reply</h2>\n"; $.form->print(); print "</div>"; print "</div>"; } } # ------------------------------- # print available years # ------------------------------- function YearPage::print_year_links ( ) { print "<h4>"; print "<b>available years:</b><br />"; foreach var YearYear y ($.years) { if ($y.displayed) { print "<b>$y.year</b> "; } else { print "<a href=\"$y.url\" title=\"$y.year\">$y.year</a> "; } } print "</h4>"; } # ------------------------------- # print available month # ------------------------------- function YearPage::print_month ( YearMonth m ) { if ( not $m.has_entries ) { return; } print "<div class=\"ind-entry\">\n"; print "<h2>" + $m->month_format() + "</h2>\n"; print "<h4><a href=\"$m.url\" title=\"$*text_view_month\">$*text_view_month</a></h4>"; print "<div style=\"month\">"; foreach var YearWeek w ( $m.weeks ) { foreach var YearDay d ( $w.days ) { if ( $d.num_entries > 0 ) { var string date = $d.date->date_format("%%dayord%%"); print "<b>$date</b> {<a href=\"$d.url\" title=\"d.num_entries comments\">$d.num_entries</a>}<br />\n"; } } } print "</div>\n"; print "</div>\n"; print "<hr />"; } # ------------------------------- # month view # ------------------------------- function MonthPage::print_body ( ) { print "<div id=\"entries\">"; print "<div class=\"ind-entry\">\n"; print "<h2>" + $.date->date_format($*lang_fmt_month_long) + "</h2>"; print "<form method=\"post\" action=\"$.redir.url\">"; $.redir->print_hiddens(); if ( $.prev_url != "" ) { print "[<a href=\"$.prev_url\" title=\"«\">«</a>]\n"; } if ( size $.months > 1 ) { print "<select name=\"redir_key\">\n"; foreach var MonthEntryInfo mei ( $.months ) { var string sel; if ( $mei.date.year == $.date.year and $mei.date.month == $.date.month ) { $sel = " selected=\"selected\""; } print "<option value=\"$mei.redir_key\" label=\"" + $mei.date->date_format($*lang_fmt_month_long) + "\" $sel>" + $mei.date->date_format($*lang_fmt_month_long) + "</option>"; } print "</select>\n<input type=\"submit\" value=\"View\" />"; } if ( $.next_url != "" ) { print "\n[<a href=\"$.next_url\" title=\"»\">»</a>]\n"; } print "</form><br /><br />"; # print dates: foreach var MonthDay d ( $.days ) { if ( $d.has_entries ) { print "<div class=\"month-entries\">\n"; print "<a href=\"$d.url\" title=\"" + lang_ordinal($d.day) + "\"><b>" + lang_ordinal($d.day) + "</b></a><br />"; print "<ul>"; foreach var Entry e ( $d.entries ) { print "<li>"; print "" + $e.time->time_format("short") + " "; if ( $e.poster.username != $e.journal.username ) { $e.poster->print(); " : "; } "$e.security_icon "; if ( $e.subject == "" ) { print "<a href=\"$e.permalink_url\" title=\"$*text_nosubject\"><i>$*text_nosubject</i></a>"; } else { print "<a href=\"$e.permalink_url\" title=\"$e.subject\">$e.subject</a>"; } if ( $e.comments.count > 0 ) { print " {" + $e.comments.count + "}"; } print "</li>"; } print "</ul>"; print "</div>"; print "<hr />"; } } print "</div>\n"; print "</div>"; }