layerinfo "type" = "layout";
layerinfo "name" = "EasyRead";
layerinfo redist_uniq = "easyread/layout";
layerinfo author_name = "rb";
layerinfo "des" = "A journal layout which is friendly to low vision users who need a large font, and to screen reader users. Accessibility is paramount.";
layerinfo author_email = "ricky@notdoneliving.net";
set layout_authors = [ { "name" => "rb", "type" => "user" }];
##===============================
## Display settings - general
##===============================
propgroup presentation {
property use num_items_recent;
property use num_items_reading;
property use num_items_icons;
property use use_journalstyle_entry_page;
property use layout_type;
property use reverse_sortorder_group;
property use reg_firstdayofweek;
property use tags_page_type;
property use icons_page_sort;
property use margins_size;
property use margins_unit;
property use userpics_style_group;
property use userpics_position;
property use entry_metadata_position;
property use use_custom_friend_colors;
property use use_shared_pic;
property use userlite_interaction_links;
property use entry_management_links;
property use comment_management_links;
property use entry_datetime_format_group;
property use comment_datetime_format_group;
property use all_entrysubjects;
property use all_commentsubjects;
property use custom_control_strip_colors;
}
set layout_type = "one-column-split";
set use_custom_friend_colors = false;
set custom_foreground_element = "subject";
set custom_background_element = "subject";
##===============================
## Journal style - colors
##===============================
propgroup colors {
property use color_page_background;
property use color_page_text;
property use color_page_link;
property use color_page_link_active;
property use color_page_link_visited;
property use color_page_title;
property use color_header_background;
property use color_entry_background;
property use color_entry_text;
property use control_strip_bgcolor;
property use control_strip_fgcolor;
property use control_strip_bordercolor;
property use control_strip_linkcolor;
}
##===============================
## Display settings - fonts
##===============================
propgroup fonts {
property use font_base;
property use font_fallback;
property use font_base_size;
property use font_base_units;
property use font_journal_title;
property use font_journal_title_size;
property use font_journal_title_units;
property use font_journal_subtitle;
property use font_journal_subtitle_size;
property use font_journal_subtitle_units;
property use font_entry_title;
property use font_entry_title_size;
property use font_entry_title_units;
property use font_comment_title;
property use font_comment_title_size;
property use font_comment_title_units;
property use font_module_heading;
property use font_module_heading_size;
property use font_module_heading_units;
property use font_module_text;
property use font_module_text_size;
property use font_module_text_units;
property use font_sources;
}
set font_base = """APHont, "Helvetica Neue", Arial, Helvetica, Geneva""";
set font_base_size = "1";
set font_base_units = "em";
set font_fallback = "sans-serif";
set font_journal_title = """APHont, "Helvetica Neue", Arial, Helvetica, Geneva""";
set font_journal_title_size = "3";
set font_journal_title_units = "em";
set font_journal_subtitle = """APHont, "Helvetica Neue", Arial, Helvetica, Geneva""";
set font_journal_subtitle_size = "1.5";
set font_journal_subtitle_units = "em";
set font_entry_title_size = "2";
set font_entry_title_units = "em";
##===============================
## Display settings - modules
##===============================
propgroup modules {
property use module_userprofile_group;
property use module_navlinks_group;
property use module_customtext_group;
property use module_calendar_group;
property use module_pagesummary_group;
property use module_tags_group;
property use module_links_group;
property use module_syndicate_group;
property use module_time_group;
property use module_poweredby_group;
property use module_credit_group;
property use module_search_group;
property use module_cuttagcontrols_group;
property use module_subscriptionfilters_group;
}
# explicitly define what sections the layout has available
set module_layout_sections = "none|(none)|one|Above entries|two|Below entries";
##===============================
## Custom CSS
##===============================
propgroup customcss {
property use external_stylesheet;
property use include_default_stylesheet;
property use linked_stylesheet;
property use custom_css;
}
propgroup text {
property use text_module_userprofile;
property use text_module_links;
property use text_module_syndicate;
property use text_module_tags;
property use text_module_popular_tags;
property use text_module_pagesummary;
property use text_module_active_entries;
property use text_module_customtext;
property use text_module_customtext_url;
property use text_module_customtext_content;
property use text_module_credit;
property use text_module_search;
property use text_module_cuttagcontrols;
property use text_module_subscriptionfilters;
##===============================
## Text - main navigation
##===============================
property use text_view_recent;
property use text_view_friends;
property use text_view_friends_comm;
property use text_view_network;
property use text_view_archive;
property use text_view_userinfo;
property use text_view_memories;
property use text_view_tags;
##===============================
## Text - entry comment-related
##===============================
property use text_post_comment;
property use text_max_comments;
property use text_read_comments;
property use text_post_comment_friends;
property use text_read_comments_friends;
property use text_read_comments_screened_visible;
property use text_read_comments_screened;
property use text_skiplinks_back;
property use text_skiplinks_forward;
property use text_meta_music;
property use text_meta_mood;
property use text_meta_location;
property use text_meta_xpost;
property use text_tags;
property use text_entry_prev;
property use text_entry_next;
property use text_edit_entry;
property use text_edit_tags;
property use text_tell_friend;
property use text_mem_add;
property use text_watch_comments;
property use text_unwatch_comments;
property use text_permalink;
property use text_stickyentry_subject;
property use text_module_customtext;
property use text_module_customtext_content;
property use text_module_customtext_url;
}
set module_userprofile_section = "one";
set module_pagesummary_section = "one";
set module_navlinks_section = "two";
set module_tags_section = "two";
set module_tags_opts_type = "cloud";
set module_links_section = "two";
set module_customtext_section = "two";
set module_customtext_show = false;
set module_syndicate_section = "two";
set module_credit_section = "two";
set module_time_section = "two";
set module_poweredby_section = "two";
set module_calendar_section = "two";
set module_calendar_show = false;
set module_userprofile_order = 1;
set module_pagesummary_order = 2;
set module_navlinks_order = 10;
set module_tags_order = 11;
set module_links_order = 12;
set module_customtext_order = 13;
set module_syndicate_order = 14;
set module_credit_order = 15;
set module_time_order = 16;
set module_poweredby_order = 17;
set module_search_order = 19;
set module_cuttagcontrols_order = 20;
set module_subscriptionfilters_order = 21;
set module_calendar_order = 18;
function Page::print()
{
"""\n\n
\n""";
$this->print_meta_tags();
$this->print_head();
$this->print_stylesheets();
$this->print_head_title();
"""""";
$this->print_wrapper_start();
$this->print_control_strip();
"""
""";
$this->print_module_section("one");
"""
""";
$this->print_body();
"""
""";
$this->print_module_section("two");
"""
""";
"""
""";
$this->print_wrapper_end();
"""""";
}
function Page::print_default_stylesheet {
var string medium_media_query = generate_medium_media_query();
var string large_media_query = generate_large_media_query();
var string page_background = generate_background_css ($*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background);
var string entry_background = generate_background_css ($*image_background_entry_url, $*image_background_entry_repeat, $*image_background_entry_position, $*color_entry_background);
var string page_colors = generate_color_css($*color_page_text, $*color_page_background, $*color_page_border);
var string entry_colors = generate_color_css($*color_entry_text, $*color_entry_background, $*color_entry_border);
var string page_title_colors = generate_color_css($*color_page_title, new Color, new Color);
var string page_link_colors = generate_color_css($*color_page_link, new Color, new Color);
var string page_link_active_colors = generate_color_css($*color_page_link_active, new Color, new Color);
var string page_link_hover_colors = generate_color_css($*color_page_link_hover, new Color, new Color);
var string page_link_visited_colors = generate_color_css($*color_page_link_visited, new Color, new Color);
var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units);
var string page_title_font = generate_font_css($*font_journal_title, $*font_base, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units);
var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units);
var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units);
var string comment_title_font = generate_font_css($*font_comment_title, $*font_base, $*font_fallback, $*font_comment_title_size, $*font_comment_title_units);
var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units);
var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units);
var string entry_contentsfooter_shift = "";
if ( $*entry_userpic_style == "" ) { $entry_contentsfooter_shift = "84px"; }
elseif ( $*entry_userpic_style == "small" ) { $entry_contentsfooter_shift = "59px"; }
elseif ( $*entry_userpic_style == "smaller" ) { $entry_contentsfooter_shift = "34px"; }
var string entry_header_margin = "";
if ( $*entry_userpic_style == "" ) { $entry_header_margin = "110px"; }
elseif ( $*entry_userpic_style == "small" ) { $entry_header_margin = "85px"; }
elseif ( $*entry_userpic_style == "smaller" ) { $entry_header_margin = "60px"; }
var string comment_header_margin = "";
if ( $*comment_userpic_style == "" ) { $comment_header_margin = "110px"; }
elseif ( $*comment_userpic_style == "small" ) { $comment_header_margin = "85px"; }
elseif ( $*comment_userpic_style == "smaller" ) { $comment_header_margin = "60px"; }
var string entrytitle_padding = $*use_custom_friend_colors ? "padding: .2em;" : "";
var string userpic_css = "";
if ($*userpics_position == "left") {
$userpic_css = """
.has-userpic .entry .header {
margin-left: $entry_header_margin;
}
.has-userpic .comment .header {
margin-left: $comment_header_margin;
}
.has-userpic .entry .poster {
margin-left: $entry_header_margin;
}
#comments .userpic a img, .comment-wrapper .userpic a img {
float: left;
margin-right: 10px;
}
#comments .comment-content, .comment-wrapper .comment-content {
clear: left;
}
""";
}
elseif ($*userpics_position == "right") {
$userpic_css = """
.has-userpic .entry .header {
margin-right: $entry_header_margin;
}
.has-userpic .comment .header {
margin-right: $comment_header_margin;
}
.has-userpic .entry .poster {
margin-right: $entry_header_margin;
}
.has-userpic .entry .contents .userpic {
text-align: right;
}
#comments .userpic a img, .comment-wrapper .userpic a img {
float: right;
margin-left: 10px;
}
#comments .comment-content, .comment-wrapper .comment-content {
clear: right;
}
""";
}
print_custom_control_strip_css();
"""/* Globals */
ul {
margin-top: 0;
}
a {
$page_link_colors
}
a:visited {
$page_link_visited_colors
}
a:focus, a:active {
$page_link_active_colors
}
q { font-style: italic;
}
/* All posts & all navigation */
#primary, #secondary, #tertiary, #footer {
width: 80%;
margin-left: auto;
margin-right: auto;
font-family: $page_font
$entry_colors
padding: 0px 1em;
}
/* General page background */
body {
margin: 0;
font-family: $page_font;
$page_colors
}
html body {
margin-left: $*margins_size$*margins_unit;
margin-right: $*margins_size$*margins_unit;
}
/* Modules */
.module h2 {
$module_title_font
}
.module-content {
$module_font
}
/*
* Journal Header
*/
#header {
padding: 10px;
color: $*color_page_title ;
background-color: $*color_header_background ;
}
#header h1#title {
font-weight: bold;
margin-bottom: 0;
$page_title_font
}
#header h1#title a {
color: $*color_page_title;
text-decoration: none;
}
#header h2#subtitle {
font-style: italic;
margin-top: 0;
$page_subtitle_font
}
#header h2#pagetitle {
$page_subtitle_font
}
#header h2#pagetitle:before {
content: "This page: ";
}
/* Navigation at top/bottom of recent entries page */
.navigation {
margin-top: 10px;
}
.navigation .inner ul:before {
content: "Navigation: ";
}
.navigation ul {
clear: left;
font-weight: bold;
padding-left: 0;
}
.navigation ul li {
display: inline;
}
.navigation ul li.page-back:after {
content: " posts";
}
/*
* Page Header (module-section-one)
*/
ul.userlite-interaction-links {
padding-left: 0;
}
ul.userlite-interaction-links.icon-links li {
display: inline;
}
.module-section-one {
clear: left;
}
h2.module-header {
margin-top: 0;
margin-bottom: 0;
clear: left;
}
h2.module-header a {
text-decoration: none;
}
.module-navlinks ul li {
display: inline;
}
.module-tags_list ul.module-list {
padding-left: 0;
display: inline;
}
.module-tags_list ul.module-list li {
display: inline;
}
.tags_cloud li, .module-tags_cloud li {
display: inline;
}
.module-typelist .manage-link:before,
.module-tags_list .manage-link:before,
.module-tags_multilevel .manage-link:before {
content: "(";
}
.module-typelist .manage-link:after,
.module-tags_list .manage-link:after,
.module-tags_multilevel .manage-link:after {
content: ")";
}
.search-box {
max-width:100%;
}
/*
* Single Post and Comment pages
*/
#primary .entry, #primary .comment {
position: relative;
}
.comment-wrapper {
min-width: 15em;
}
.comment-posted {
font-weight:bold;
}
.comment-title {
$comment_title_font
margin: 0;
}
/* Entry header */
.has-userpic .entry .header {
margin-bottom: 1em;
position: relative;
z-index: 99;
}
.entry {
border-top: solid 2px $*color_page_border;
}
.entry .entry-title {
$entry_title_font
$entrytitle_padding
}
/* ensure comment content stretches out horizontally so it's readable */
.comment-content:before {
content: "";
display: block;
overflow: hidden;
width: 10em;
}
.comment-content { border-top: 1px transparent solid; } /* for firefox */
/* To constrain the width and prevent layout breaking */
.entry-content img, .comment-content img {
max-width: 100%;
height: auto;
}
@media $large_media_query {
.entry-content img, .comment-content img { max-width: none; }
}
/* Set height to keep spacing */
/* Use standard H3 font size */
.no-subject .entry .entry-title {
background: none;
height: 1.17em;
}
.entry h3.entry-title a {
text-decoration: none;
}
.entry .metadata-label {
font-weight: bold;
}
.entry .metadata-label:first {
text-transform: uppercase;
}
.entry .metadata ul {
list-style: none;
padding-left: 0;
}
.entry .metadata {
margin-top: 1em;
position: relative;
}
.entry .metadata.top-metadata {
margin-top: 0;
}
.entry .contents .userpic a img {
border: 0;
margin-bottom: 10px;
}
.has-userpic .entry .poster {
top:-35px;
position:relative;
}
/* Main body of a post */
/* Pushed down in order to accomodate the header being next to the icon. */
.entry .contents {
position: relative;
bottom: $entry_contentsfooter_shift;
}
/* Single post metadata links location/etc. */
.entry .footer {
position: relative;
bottom: $entry_contentsfooter_shift;
}
/* Entry/Comment links */
ul.entry-interaction-links, ul.entry-management-links,
ul.comment-management-links, ul.comment-interaction-links {
list-style: none;
padding-left: 0;
margin-bottom: 10px;
margin-top: 10px;
}
/* entries w/o icons (especially feeds) needs to be styled separately */
.ljsyndicationlink {
margin-top: 1em;
}
#primary .no-userpic .header {
position: static;
padding-bottom: 1em;
}
.no-userpic .poster .entry-poster {
position: static;
}
.no-userpic .entry .contents {
position: static;
}
.no-userpic .entry .footer {
position: static;
}
/*
* Calendar/Archive page
* NB: This is horribly inaccessible so mostly I just have trashed/hidden it :)
*/
#archive-year table.month {
display: none;
}
#archive-year .month .header h3,
#archive-year .month .footer a {
margin-left: 0;
float: left;
clear: left;
}
/*
* Comments
*/
.no-subject .comment .comment-title {
background: none;
}
#comments .userpic a img, .comment-wrapper .userpic a img {
border: 0;
margin-bottom: 10px;
}
#comments .comment-content, .comment-wrapper .comment-content {
margin-top: 1em;
margin-bottom: 1em;
}
ul.entry-interaction-links li, ul.entry-management-links li,
ul.comment-interaction-links li, ul.comment-management-links li {
display: inline;
font-weight: bold;
}
.tag {
margin-top: 1em;
}
.tag ul {
display: inline;
padding-left: 0;
}
.tag ul li {
display: inline;
}
/*
* page footer
*/
.module-section-one {
padding-top: 1em;
}
.module-section-two {
border-top: solid $*color_page_border 2px;
padding-top: 1em;
}
ul.module-list {
list-style: none;
padding-left: 0;
}
module-section-two ul.module-list li {
display: inline;
}
.page-top {
text-align: right;
margin-bottom: 10px;
}
/*
* icons page
*/
.sorting-options ul {
padding-left: 0;
}
.sorting-options ul li {
display: inline;
}
.icons-container .icon {
margin: 1em 0;
}
.icon-image {
float: left;
clear: left;
margin-bottom: .25em;
min-width: 100px;
padding-right: 1em;
}
.icon-info {
min-height: 100px;
}
.icon-info span {
font-weight: bold;
}
.icon-info .default {
text-decoration: underline;
}
.icon-keywords ul {
display: inline;
padding-left: 0;
}
.icon-keywords ul li {
display: inline;
}
$userpic_css
/* End of CSS file */""";
}