mourningdove/styles/refriedtablet/layout.s2

679 lines
16 KiB
Text
Raw Normal View History

2026-05-24 01:03:05 +00:00
layerinfo "type" = "layout";
layerinfo "name" = "Refried Tablet";
layerinfo "redist_uniq" = "refriedtablet/layout";
layerinfo "author_name" = "zvi";
layerinfo "lang" = "en";
set layout_type = "two-columns-right";
set layout_authors = [ { "name" => "zvi", "type" => "user" }, {"name" => "Aaron B. Russell", "url" => "http://lostentropy.com/" } ];
##===============================
## Display settings - general
##===============================
set use_custom_friend_colors = true;
set custom_colors_template = "%%new%% .userpic img { border-color: %%background%% %%foreground%%; border: 1px solid; }";
##===============================
## Journal style - colors
##===============================
propgroup colors_child {
property Color color_entry_text_nsfw { des = "Not Safe For Work text"; }
property Color color_entry_background_nsfw { des = "Not Safe For Work background"; }
property Color color_comment_text_screened { des = "Screened text"; }
property Color color_comment_background_screened { des = "Screened background"; }
property Color color_comment_text_frozen { des = "Frozen text"; }
property Color color_comment_background_frozen { des = "Frozen background"; }
}
##===============================
## Display settings - fonts
##===============================
propgroup fonts_child {
property string font_view_text {
des = "Preferred font for page view titles";
maxlength = 50;
size = 25;
note = "For example: Arial or \"Times New Roman\". Leave blank to use the default.";
}
property string font_view_text_size {
des = "Size of page view titles font";
size = 3;
}
property string font_view_text_units {
des = "Units for page view titles size";
values = "em|em|ex|ex|%|%|pt|pt|px|px";
}
property string font_comment_special {
des = "Preferred font for frozen and screened comments";
maxlength = 50;
size = 25;
note = "For example: Arial or \"Times New Roman\". Leave blank to use the default.";
}
property string font_comment_special_size {
des = "Size of frozen/screened comments font";
size = 3;
}
property string font_comment_special_units {
des = "Units for frozen/screened comments size";
values = "em|em|ex|ex|%|%|pt|pt|px|px";
}
}
set font_base = "\"NimbusRoman No9 L\", Rekha, Georgia";
set font_fallback = "serif";
set font_base_size = "100";
set font_base_units = "%";
set font_journal_title = "Loma, Verdana, Geneva, sans-serif";
set font_journal_title_size = "2";
set font_journal_title_units = "em";
set font_journal_subtitle = "Loma, Verdana, Geneva, sans-serif";
set font_journal_subtitle_size = "1.5";
set font_journal_subtitle_units = "em";
set font_view_text = "Loma, Verdana, Geneva, sans-serif";
set font_view_text_size = "1.25";
set font_view_text_units = "em";
set font_entry_title = "\"NimbusRoman No9 L\", Rekha, Georgia";
set font_entry_title_size = "1";
set font_entry_title_units = "em";
set font_module_heading = "Loma, Verdana, Geneva, sans-serif";
set font_module_heading_size = "1.1";
set font_module_heading_units = "em";
set font_module_text = "Loma, Verdana, Geneva, sans-serif";
set font_module_text_size = "0.83";
set font_module_text_units = "em";
set font_comment_special = "'Nimbus Mono L', 'Courier New', monospace";
set font_comment_special_size = ".9";
set font_comment_special_units = "em";
function print_stylesheet () {
var string medium_media_query = generate_medium_media_query();
var string view_text_font = generate_font_css($*font_view_text, $*font_base, $*font_fallback, $*font_view_text_size, $*font_view_text_units);
var string entry_title_colors = generate_color_css($*color_entry_title, $*color_entry_title_background, new Color);
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_special_font = generate_font_css($*font_comment_special, $*font_base, $*font_fallback, $*font_comment_special_size, $*font_comment_special_units);
var string page_background = generate_background_css ($*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background);
var string module_background = generate_background_css ($*image_background_module_url, $*image_background_module_repeat, $*image_background_module_position, $*color_module_background);
var string page_colors = generate_color_css($*color_page_text, $*color_page_background, $*color_page_border);
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 entry_margin = "";
if ( $*entry_userpic_style == "" ) { $entry_margin = "105px"; }
elseif ( $*entry_userpic_style == "small" ) { $entry_margin = "80px"; }
elseif ( $*entry_userpic_style == "smaller" ) { $entry_margin = "55px"; }
var string userpic_css = "";
if ($*userpics_position == "left") {
$userpic_css = """
.has-userpic .entry .header, .has-userpic .entry .poster {
left: $entry_margin;
margin-right: $entry_margin;
}
.entry .inner .userpic {
float: left;
}
.restrictions-18 .entry .userpic, .restrictions-NSFW .entry .userpic {
float: left;
}
""";
}
elseif ($*userpics_position == "right") {
$userpic_css = """
.has-userpic .entry .header, .has-userpic .entry .poster {
right: $entry_margin;
margin-left: $entry_margin;
}
.entry .inner .userpic {
float: right;
right: 0;
}
.restrictions-18 .entry .userpic, .restrictions-NSFW .entry .userpic {
float: right;
}
""";
}
var string tertiary_border = $*color_module_background ? "border-top: 2em solid $*color_module_background" : "";
"""
/* Refried Tablet CSS */
/* WHOLE PAGE */
a {
text-decoration: none;
}
a:active {
text-decoration: underline;
}
a:hover {
text-decoration: underline;
}
body {
border-width: 0;
margin: 0;
padding: 0;
}
/* using color entry text as default text color in the content area.
This allows us to use the page default as the color for the page view subheading. */
#content {
color: $*color_entry_text;
}
p, td, tr, table, hr, br, ul, ol, li {
line-height: 1.5em;
text-align: justify;
}
h1, h2, h3, h4, h5, h6 {
font-family: $*font_journal_title;
}
q {
font-style: italic;
}
/* PAGE HEADER */
#canvas {
border-top: $*color_page_border 20px solid; /* page border color */
}
h1#title,
h2#subtitle {
font-weight: 900;
letter-spacing: .1em;
margin: 0 auto;
padding-bottom: 0;
}
h1#title, h1#title a {
line-height: 1em;
color: $*color_page_title;
text-decoration: none;
}
h1#title:after {
content: ": ";
}
h2#subtitle {
line-height: .75em;
}
#header {
border-bottom: $*color_module_border 2px solid; /* same color as module border */
border-top: $*color_entry_background 3px solid; /* same color as entry background color */
}
h2#pagetitle {
$view_text_font
clear: both;
color: $*color_page_text; /* using the page text color */
font-weight: bold;
letter-spacing: .2em;
padding-right: 5em;
padding-top: 0;
text-transform: uppercase;
}
h2#pagetitle:after {
content: " PAGE";
}
.page-archive h2#pagetitle:after {
content: " ARCHIVE PAGE";
}
.page-entry h2#pagetitle:after,
.page-read h2#pagetitle:after {
content: "";
}
/* ENTRIES */
/* Make the headers a different color than the rest of the text. */
.tag,
.metadata,
.entry .inner .header,
.entry .inner .poster,
.entry .inner .userpic,
.entry-title {
$entry_title_colors
$entry_title_font
font-weight: bold;
line-height: 1.4em;
}
/* Add identifiers to the header content, pt 1 */
h3.entry-title:before {
content: "Subject: ";
}
h3.entry-title {
$entry_title_font
margin-bottom: 0;
padding-bottom: 0;
}
/* replace icons for restrictions with text */
.restrictions-18 .entry-title:after {
background-color: $*color_entry_background_nsfw;
color: $*color_entry_text_nsfw;
content: "Rating: Restricted to adults 18 and older.";
display: block;
}
.restrictions-NSFW .entry-title:after {
content: "Rating: Discretion advised. Not safe for work.";
display: block;
}
.restrictions {
display: none;
}
/* Add identifiers to the header content, pt 2 */
.entry .header .datetime:before {
content: "Date: ";
}
/* replace icons for security with text */
.security-public .entry .header:after {
clear: left;
content: "Security: Public";
display: block;
}
.security-private .entry .header:after {
clear: left;
content: "Security: Private";
display: block;
}
.security-protected .entry .header:after {
clear: left;
content: "Security: Access Only";
display: block;
}
.security-custom .entry .header:after {
clear: left;
content: "Security: Access Filter";
display: block;
}
.access-filter {
display: none;
}
/* Add identifiers to the header content, pt 3 */
.entry .poster:before {
content: "Poster: ";
}
.page-recent .journal-type-P .entry .poster:before {
content: " ";
}
.entry .inner .userpic {
margin-bottom: 1em;
}
/* make metadata and tags more header-ish */
.metadata {
margin: 1em 0 -1em;
padding: 0;
}
.has-userpic .metadata.top-metadata {
margin-bottom: -5em !important;
margin-top: 5em;
}
.no-userpic .metadata.top-metadata {
margin-top: 0;
}
.metadata ul {
margin: 0;
padding: 0;
}
.metadata li {
line-height: 1.4em;
margin: 0 auto;
}
.tags {
margin-bottom: 0;
}
.inner > ul {
margin-top: 0;
}
/* put the icons on the same line as the text entry management stuff */
.entry-management-links {
display: inline;
float: right;
}
/* Put a line under all the entries, add space between entries */
.entry-wrapper {
border-bottom: 1px $*color_entry_border solid;
margin-bottom: 1.5em;
padding-bottom: 1em;
}
.entry {
border: none;
}
/* make user pic next to header info,
add space beneath so they don't print over entry text,
and keep subject lines from poking into sidebars */
.entry .inner {
position: relative;
}
.has-userpic .entry .header,
.has-userpic .entry .poster {
position: relative;
}
.entry .inner .userpic {
position: absolute;
top: -4em;
}
/* the restricted entries have an extra line, so they need extra top space */
.restrictions-18 .entry .userpic,
.restrictions-NSFW .entry .userpic {
position: absolute;
top: -5.25em;
}
.entry .entry-content {
margin-bottom: 5em;
position: relative;
top: 5em;
}
.has-userpic .entry .entry-poster.empty {
padding-bottom: 1em;
}
.no-userpic .entry-content {
margin-bottom: auto;
position: static;
}
/* Make text entry management links left-align and pretty */
.entry .inner {
margin-bottom: 1em;
}
.entry .header .inner {
margin-bottom: 0;
}
ul.entry-interaction-links {
text-align: left;
}
ul.entry-interaction-links li {
color: $*color_entry_title;
font-family: $*font_journal_title;
font-size: .8em;
line-height: 1.4em;
text-transform: uppercase;
}
ul.entry-interaction-links li:before {
content: "| ";
}
ul.entry-interaction-links li:first-child:before {
content: "";
}
/* SIDEBARS AND MODULES */
.module {
border-top: none;
border-width: 2px;
}
/* make headers pretty */
h2.module-header {
border-bottom: 2px solid $*color_module_border;
font-weight:bold;
letter-spacing: .1em;
margin: 0;
padding: 0 1em .25em;
text-transform: lowercase;
}
.module:first-child h2.module-header {
border-top: 2px solid $*color_module_border;
}
/* Special case for modules without headers */
.module-navlinks.module:first-child,
.module-time.module:first-child,
.module-powered.module:first-child {
border-top: 2px solid $*color_module_border;
}
@media $medium_media_query {
.multiple-columns .module:first-child h2.module-header,
.multiple-columns .module-navlinks.module:first-child,
.multiple-columns .module-time.module:first-child,
.multiple-columns .module-powered.module:first-child {
border-top: none;
}
}
/* get rid of padding so that the header borders go all the way to the sides */
#secondary {
padding: 0;
}
/* make sidebars hit the bottom of the header */
#secondary .inner:first-child {
padding: 0;
}
@media $medium_media_query {
.three-columns #tertiary .inner:first-child {
padding-top: 0;
}
}
/* add padding to module content because whitespace is good! But we don't need so much on ul and table. */
.module-content {
padding: 1em;
}
.module-content ul {
margin: 0 .5em;
}
@media $medium_media_query {
.multiple-columns .module-content table {
margin: 0 .5em;
}
}
/* make lists prettier */
.module-content ul {
list-style: none;
text-align: left;
}
/* special case for the syndicate tags, too close to top */
.module-syndicate .module-content {
margin-top: .5em;
}
/* special case for the profile module, make user interaction links properly space and align */
.module-userprofile .userlite-interaction-links.icon-links {
margin-left: 0;
margin-top: 1em;
}
@media $medium_media_query {
.two-columns #tertiary {
$tertiary_border
}
/* don't make tertiary modules in two column into 15px boxes, the data doesn't fit!*/
/* color match the tertiary modules in two column styles to the page */
.two-columns #tertiary .module {
$page_background
$page_colors
border: none;
clear: both;
margin: 0 auto;
padding: 0;
width: auto;
}
.two-columns #tertiary .module a {
$page_link_colors
}
.two-columns #tertiary .module a:visited {
$page_link_visited_colors
}
.two-columns #tertiary .module a:hover {
$page_link_hover_colors
}
.two-columns #tertiary .module a:active {
$page_link_active_colors
}
}
/* add room to breathe on one-column implementations */
#primary, #secondary, #tertiary {
padding: 5%;
width: 90%;
}
#tertiary > .inner:first-child {
padding: 0;
}
@media $medium_media_query {
.multiple-columns #primary {
padding: 0;
width: 100%;
}
.multiple-columns #secondary, .multiple-columns #tertiary {
padding: 0;
}
.three-columns-left #secondary > .inner:first-child,
.three-columns-right #secondary > .inner:first-child {
margin-right: .5em;
}
.three-columns-right #tertiary > .inner:first-child,
.three-columns-left #tertiary > .inner:first-child {
margin-left: .5em;
}
}
/* COMMENTS */
/* add line between comments, same color as line between entries */
.comment-wrapper {
border-bottom: thin $*color_entry_border inset;
}
/* make comment headers headerish */
.comment .inner .header,
.comment .inner .contents .poster,
.comment .inner .contents .poster-ip {
$entry_title_colors
$entry_title_font
line-height: 1.4em;
font-weight: bold;
}
/* visually distinguish screened/frozen comments */
.screened,
.frozen {
$comment_special_font
font-weight: 300;
}
.screened {
background-color: $*color_comment_background_screened;
color: $*color_comment_text_screened;
}
.frozen {
background-color: $*color_comment_background_frozen;
color: $*color_comment_text_frozen;
}
/*--- Icons Page ---*/
.sorting-options ul {
padding-left: 0;
}
.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;
}
$userpic_css
""";
}