Merge pull request #162 from beardy-unixer/master

Do PCSS properly
This commit is contained in:
friendica 2013-10-01 16:33:43 -07:00
commit 27af2e560a
5 changed files with 115 additions and 316 deletions

View File

@ -10,8 +10,11 @@
body { body {
font-family: arial,freesans,clean,sans-serif; font-family: arial,freesans,clean,sans-serif;
font-size: 12px; font-size: 12px;
background-color: #FFFFFF; background-color: #$background_colour;
color: #000000; background-image: url('$background_image');
background-attachment: fixed;
background-size: cover;
color: #$font_colour;
margin: 0px; margin: 0px;
} }
.jslider { .jslider {
@ -114,6 +117,21 @@ blockquote {
filter:alpha(opacity=100); filter:alpha(opacity=100);
} }
nav {background-image: linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%) !important;
background-image: -o-linear-gradient(bottom, $nav_bg_1 26%, $nav_bg_2 82%) !important;
background-image: -moz-linear-gradient(bottom,$nav_bg_1 26%, $nav_bg_2 82%) !important;
background-image: -webkit-linear-gradient(bottom, $nav_bg_1 26%, $nav_bg_2 82%) !important;
background-image: -ms-linear-gradient(bottom, $nav_bg_1 26%, $nav_bg_2 82%) !important;
}
nav:hover {background-image: linear-gradient(bottom, $nav_bg_3 26%, $nav_bg_4 82%);
background-image: -o-linear-gradient(bottom, $nav_bg_3 26%, $nav_bg_4 82%);
background-image: -moz-linear-gradient(bottom, $nav_bg_3 26%, $nav_bg_4 82%) !important;
background-image: -webkit-linear-gradient(bottom, $nav_bg_3 26%, $nav_bg_4 82%);
background-image: -ms-linear-gradient(bottom, $nav_bg_3 26%, $nav_bg_4 82%);
}
nav #site-location { nav #site-location {
color: #888a85; color: #888a85;
@ -805,7 +823,8 @@ footer {
margin-top: 10px; margin-top: 10px;
position: relative; position: relative;
border-radius: $radiuspx; border-radius: $radiuspx;
border: 1px solid #eec; background-color: #$item_colour;
opacity: $item_opacity;
} }
.thread-end-wrapper { .thread-end-wrapper {
@ -953,6 +972,7 @@ footer {
.wall-item-content { .wall-item-content {
margin-left: 10px; margin-left: 10px;
overflow: auto; overflow: auto;
font-size: $font_sizepx;
} }
.wall-item-content img { .wall-item-content img {

View File

@ -1,164 +1,57 @@
<?php <?php
/**
* Theme settings
*/
function theme_content(&$a) { function theme_content(&$a) {
// Doesn't yet work for anyone other than the channel owner, and stupid mode isn't finished, so return both for now. if(!local_user()) { return;}
if(!local_user()) { return; }
$font_size = get_pconfig(local_user(),'redbasic', 'font_size' );
$line_height = get_pconfig(local_user(), 'redbasic', 'line_height' );
$colour = get_pconfig(local_user(), 'redbasic', 'colour' );
$shadow = get_pconfig(local_user(), 'redbasic', 'shadow' );
$navcolour = get_pconfig(local_user(), 'redbasic', 'navcolour');
$displaystyle = get_pconfig(local_user(), 'redbasic', 'displaystyle');
$linkcolour = get_pconfig(local_user(), 'redbasic', 'linkcolour');
$iconset = get_pconfig(local_user(), 'redbasic', 'iconset');
$shiny = get_pconfig(local_user(), 'redbasic', 'shiny');
$colour_scheme = get_pconfig(local_user(), 'redbasic', 'colour_scheme');
$radius = get_pconfig(local_user(),'redbasic','radius');
return redbasic_form($a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny, $colour_scheme,$radius); $nav_colour = get_pconfig(local_user(),'redbasic', 'nav_colour' );
$background_colour = get_pconfig(local_user(),'redbasic', 'background_colour' );
$background_image = get_pconfig(local_user(),'redbasic', 'background_image' );
$item_colour = get_pconfig(local_user(),'redbasic', 'item_colour' );
$item_opacity = get_pconfig(local_user(),'redbasic', 'item_opacity' );
$font_size = get_pconfig(local_user(),'redbasic', 'font_size' );
$font_colour = get_pconfig(local_user(),'redbasic', 'font_colour' );
$radius = get_pconfig(local_user(),'redbasic', 'radius' );
return redbasic_form($a, $nav_colour, $background_colour, $background_image, $item_colour, $item_opacity,
$font_size, $font_colour, $radius);
} }
function theme_post(&$a) { function theme_post(&$a) {
if(!local_user()) { return; } if(!local_user()) { return;}
if (isset($_POST['redbasic-settings-submit'])) { if (isset($_POST['redbasic-settings-submit'])) {
set_pconfig(local_user(), 'redbasic', 'nav_colour', $_POST['redbasic_nav_colour']);
set_pconfig(local_user(), 'redbasic', 'background_colour', $_POST['redbasic_background_colour']);
set_pconfig(local_user(), 'redbasic', 'background_image', $_POST['redbasic_background_image']);
set_pconfig(local_user(), 'redbasic', 'item_colour', $_POST['redbasic_item_colour']);
set_pconfig(local_user(), 'redbasic', 'item_opacity', $_POST['redbasic_item_opacity']);
set_pconfig(local_user(), 'redbasic', 'font_size', $_POST['redbasic_font_size']); set_pconfig(local_user(), 'redbasic', 'font_size', $_POST['redbasic_font_size']);
set_pconfig(local_user(), 'redbasic', 'line_height', $_POST['redbasic_line_height']); set_pconfig(local_user(), 'redbasic', 'font_colour', $_POST['redbasic_font_colour']);
set_pconfig(local_user(), 'redbasic', 'colour', $_POST['redbasic_colour']);
set_pconfig(local_user(), 'redbasic', 'shadow', $_POST['redbasic_shadow']);
set_pconfig(local_user(), 'redbasic', 'navcolour', $_POST['redbasic_navcolour']);
set_pconfig(local_user(), 'redbasic', 'displaystyle', $_POST['redbasic_displaystyle']);
set_pconfig(local_user(), 'redbasic', 'linkcolour', $_POST['redbasic_linkcolour']);
set_pconfig(local_user(), 'redbasic', 'iconset', $_POST['redbasic_iconset']);
set_pconfig(local_user(), 'redbasic', 'shiny', $_POST['redbasic_shiny']);
set_pconfig(local_user(), 'redbasic', 'colour_scheme', $_POST['redbasic_colour_scheme']);
set_pconfig(local_user(), 'redbasic', 'radius', $_POST['redbasic_radius']); set_pconfig(local_user(), 'redbasic', 'radius', $_POST['redbasic_radius']);
} }
} }
// We probably don't want these if we're having global settings, but we'll comment out for now, just in case function redbasic_form(&$a, $nav_colour, $background_colour, $background_image, $item_colour, $item_opacity,
//function theme_admin(&$a) { $font_size = get_config('redbasic', 'font_size' ); $font_size, $font_colour, $radius) {
// $line_height = get_config('redbasic', 'line_height' );
// $colour = get_config('redbasic', 'colour' );
// $shadow = get_config('redbasic', 'shadow' );
// $navcolour = get_config('redbasic', 'navcolour' );
// $opaquenav = get_config('redbasic', 'opaquenav' );
// $itemstyle = get_config('redbasic', 'itemstyle' );
// $linkcolour = get_config('redbasic', 'linkcolour' );
// $iconset = get_config('redbasic', 'iconset' );
// $shiny = get_config('redbasic', 'shiny' );
//
// return redbasic_form($a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $itemstyle, $linkcolour, $iconset, $shiny);
//}
//function theme_admin_post(&$a) { $nav_colours = array (
// if (isset($_POST['redbasic-settings-submit'])) {
// set_config('redbasic', 'font_size', $_POST['redbasic_font_size']);
// set_config('redbasic', 'line_height', $_POST['redbasic_line_height']);
// set_config('redbasic', 'colour', $_POST['redbasic_colour']);
// set_config('redbasic', 'shadow', $_POST['redbasic_shadow']);
// set_config('redbasic', 'navcolour', $_POST['redbasic_navcolour']);
// set_config('redbasic', 'opaquenav', $_POST['redbasic_opaquenav']);
// set_config('redbasic', 'itemstyle', $_POST['redbasic_itemstyle']);
// set_config('redbasic', 'linkcolour', $_POST['redbasic_linkcolour']);
// set_config('redbasic', 'iconset', $_POST['redbasic_iconset']);
// set_config('redbasic', 'shiny', $_POST['redbasic_shiny']);
// }
//}
// These aren't all used yet, but they're not bloat - we'll use drop down menus in idiot mode.
function redbasic_form(&$a, $font_size, $line_height, $colour, $shadow, $navcolour, $opaquenav, $displaystyle, $linkcolour, $iconset, $shiny, $colour_scheme,$radius) {
$line_heights = array(
"1.3" => "1.3",
"---" => "---",
"1.6" => "1.6",
"1.5" => "1.5",
"1.4" => "1.4",
"1.2" => "1.2",
"1.1" => "1.1",
);
$font_sizes = array(
'12' => '12',
'14' => '14',
"---" => "---",
"16" => "16",
"15" => "15",
'13.5' => '13.5',
'13' => '13',
'12.5' => '12.5',
'12' => '12',
);
$colours = array(
'light' => 'light',
'dark' => 'dark',
);
$colour_schemes = array(
'redbasic' => 'redbasic',
'fancyred' => 'fancyred',
'dark' => 'dark',
);
$shadows = array(
'true' => 'Yes',
'false' => 'No',
);
$navcolours = array (
'red' => 'red', 'red' => 'red',
'black' => 'black', 'black' => 'black',
); );
$displaystyles = array (
'fancy' => 'fancy',
'classic' => 'classic',
);
$linkcolours = array (
'blue' => 'blue',
'red' => 'red',
);
$iconsets = array (
'default' => 'default',
);
$shinys = array (
'none' => 'none',
'opaque' => 'opaque',
);
if(feature_enabled(local_user(),'expert')) {
$t = get_markup_template('theme_settings.tpl'); $t = get_markup_template('theme_settings.tpl');
$o .= replace_macros($t, array( $o .= replace_macros($t, array(
'$submit' => t('Submit'), '$submit' => t('Submit'),
'$baseurl' => $a->get_baseurl(), '$baseurl' => $a->get_baseurl(),
'$title' => t("Theme settings"), '$title' => t("Theme settings"),
'$font_size' => array('redbasic_font_size', t('Set font-size for posts and comments'), $font_size, '', $font_sizes), '$nav_colour' => array('redbasic_nav_colour', t('Navigation bar colour'), $nav_colour, '', $nav_colours),
'$line_height' => array('redbasic_line_height', t('Set line-height for posts and comments'), $line_height, '', $line_heights), '$background_colour' => array('redbasic_background_colour', t('Set the background colour'), $background_colour),
'$colour' => array('redbasic_colour', t('Set colour scheme'), $colour, '', $colours), '$background_image' => array('redbasic_background_image', t('Set the background image'), $background_image),
'$shadow' => array('redbasic_shadow', t('Draw shadows'), $shadow, '', $shadows), '$item_colour' => array('redbasic_item_colour', t('Set the background colour of items'), $item_colour),
'$navcolour' => array('redbasic_navcolour', t('Navigation bar colour'), $navcolour, '', $navcolours), '$item_opacity' => array('redbasic_item_opacity', t('Set the opacity of items'), $item_opacity),
'$displaystyle' => array('redbasic_displaystyle', t('Display style'), $displaystyle, '', $displaystyles), '$font_size' => array('redbasic_font_size', t('Set font-size for posts and comments'), $font_size),
'$linkcolour' => array('redbasic_linkcolour', t('Display colour of links - hex value, do not include the #'), $linkcolour, '', $linkcolours), '$font_colour' => array('redbasic_font_colour', t('Set font-colour for posts and comments'), $font_colour),
'$iconset' => array('redbasic_iconset', t('Icons'), $iconset, '', $iconsets), '$radius' => array('redbasic_radius', t('Set radius of corners'), $radius),
'$shiny' => array('redbasic_shiny', t('Shiny style'), $shiny, '', $shinys), ));
'$radius' => array('redbasic_radius', t('Corner radius'), $radius, t('0-99 default: 5')),
));}
if(! feature_enabled(local_user(),'expert')) {
$t = get_markup_template('basic_theme_settings.tpl');
$o .= replace_macros($t, array(
'$submit' => t('Submit'),
'$baseurl' => $a->get_baseurl(),
'$title' => t("Theme settings"),
'$font_size' => array('redbasic_font_size', t('Set font-size for posts and comments'), $font_size, '', $font_sizes),
'$line_height' => array('redbasic_line_height', t('Set line-height for posts and comments'), $line_height, '', $line_heights),
'$colour_scheme' => array('redbasic_colour_scheme', t('Set colour scheme'), $colour_scheme, '', $colour_schemes),
));}
return $o; return $o;
} }

View File

@ -1,159 +1,70 @@
<?php <?php
// This needs changing now, if we're going for global settings. Admin settings have been removed in preparation, You *should* just be able to remove all
// the get_config bits, though this is untested.
// We also need to eventually. Use the page owners settings for everybody - get_pconfig(page_owner()) or whatever that would look like.
//Set some defaults
$nav_colour = "red";
$nav_bg_1 = "f88";
$nav_bg_2 = "b00";
$nav_bg_3 = "f00";
$nav_bg_4 = "b00";
$background_colour = "fff";
$background_image ='';
$item_colour = "fff";
$item_opacity = "1";
$font_size = "12";
$font_colour = "000";
$radius = "5";
// Get the UID of the channel owner
$uid = get_theme_uid(); $uid = get_theme_uid();
if($uid) if($uid)
load_pconfig($uid,'redbasic'); load_pconfig($uid,'redbasic');
$line_height = false; // Nav colours are mess. Set $nav_colour as a single word for the sake of letting folk pick one
$redbasic_font_size = false; // but it actually consists of at least two colours to form a gradient - $nav_bg_1 and $nav_bg_2
$resolution = false; // A further two - $nav_bg_3 and $nav_bg_4 are used to create the hover, if any particular scheme
$colour = false; // wants to implement that
$shadows = false; $nav_colour = get_pconfig($uid, "redbasic", "nav_colour");
$navcolour = false; if ($nav_colour == "red") {
$nav_bg_1 = "f88"; $nav_bg_1 = "#f88";
$nav_bg_2 = "b00"; $nav_bg_2 = "#b00";
$nav_bg_3 = "f00"; $nav_bg_3 = "#f00";
$nav_bg_4 = "b00"; $nav_bg_4 = "#b00";
$displaystyle = false; }
$linkcolour = false;
$shiny = false;
$radius = 5;
$site_line_height = get_config("redbasic","line_height");
$site_redbasic_font_size = get_config("redbasic", "font_size" );
$site_colour = get_config("redbasic", "colour" );
$shadows = get_config("redbasic", "shadow" );
$navcolour = get_config("redbasic", "navcolour" );
$displaystyle = get_config("redbasic", "displaystyle" );
$linkcolour = get_config("redbasic", "linkcolour" );
$shiny = get_config("redbasic", "shiny" );
$x = get_config('redbasic','radius'); if ($nav_colour == "black") {
if($x !== false) $nav_bg_1 = $nav_bg_3 = "#000";
$radius = $x; $nav_bg_2 = $nav_bg_4 = "#222";
}
if ($uid) {
$line_height = get_pconfig($uid, "redbasic","line_height");
$redbasic_font_size = get_pconfig($uid, "redbasic", "font_size");
$colour = get_pconfig($uid, "redbasic", "colour");
$shadows = get_pconfig($uid, "redbasic", "shadow");
$navcolour = get_pconfig($uid, "redbasic", "navcolour");
$displaystyle = get_pconfig($uid, "redbasic", "displaystyle");
$linkcolour = get_pconfig($uid, "redbasic", "linkcolour");
$shiny = get_pconfig($uid, "redbasic", "shiny");
$x = get_pconfig($uid,'redbasic','radius');
if($x !== false)
$radius = $x;
if (! feature_enabled($uid,'expert')) {$colour_scheme = get_pconfig($uid, "redbasic", "colour_scheme");} $background_colour = get_pconfig($uid, "redbasic", "background_colour");
} $background_image = get_pconfig($uid, "redbasic", "background_image");
$item_colour = get_pconfig($uid, "redbasic", "item_colour");
$item_opacity = get_pconfig($uid, "redbasic", "item_opacity");
$font_size = get_pconfig($uid, "redbasic", "font_size");
$font_colour = get_pconfig($uid, "redbasic", "font_colour");
$radius = get_pconfig($uid, "redbasic", "radius");
// In non-expert mode, we just let them choose font size, line height, and a colour scheme. A colour scheme is just a pre-defined set of the above variables.
// But only apply these settings in non-expert mode to prevent confusion when turning expert mode on and off.
if(! feature_enabled($uid,'expert')) {
if ($colour_scheme === 'fancyred') {$shadows = true; $navcolour = 'black'; $displaystyle = 'fancy'; $linkcolour = 'f00'; $shiny = "opaque";}
// Dark themes are very different - we need to do some of these from scratch, so don't bother setting vars for anything else
if ($colour_scheme === 'dark') {$colour = 'dark'; $navcolour = 'black';}
if ($colour_scheme === 'redbasic'){$navcolour = 'red';}
$shadows = false;
$radius = 5;
}
// This is probably the easiest place to apply global settings. Don't bother with site line height and such. Instead, check pconfig for global user settings.
// eg, if ($redbasic_font_size === false) {$redbasic_font_size = get_pconfig($uid, "global", "font_size"); If it's not set, we'll just use the CSS with no changes.
// Then all you need to do is add a "Global Settings" tab to settings/display, and make an equivalent of theme_settings.tpl and config.php to be loaded there. Easy.
if ($line_height === false) {$line_height = $site_line_height;}
if ($line_height === false) {$line_height = "1.2";}
if ($redbasic_font_size === false) {$redbasic_font_size = $site_redbasic_font_size;}
if ($redbasic_font_size === false) {$redbasic_font_size = "12";}
if ($colour === false) {$colour = $site_colour;}
if ($colour === false) {$colour = "light";}
if ($navcolour === "black") {$nav_bg_1 = "000";
$nav_bg_2 = "2e2f2e";}
// Apply the settings
if(file_exists('view/theme/' . current_theme() . '/css/style.css')) { if(file_exists('view/theme/' . current_theme() . '/css/style.css')) {
$x = file_get_contents('view/theme/' . current_theme() . '/css/style.css'); $x = file_get_contents('view/theme/' . current_theme() . '/css/style.css');
if(get_config('system','pcss_compress')) {
// this shaves off about 10%, probably not enough to worry about right now.
logger('pcss compress: original size: ' . strlen($x), LOGGER_DEBUG);
$x = str_replace(array("\r","\t"," "),array("",' ',' '),$x);
$x = preg_replace('/(\n[ ]+?)/s',"\n",$x);
$x = str_replace("\n","",$x);
logger('pcss compress: final size: ' . strlen($x), LOGGER_DEBUG);
}
echo str_replace(array('$radius'),array($radius),$x);
}
echo "\r\n";
// use $colour_scheme for idiot mode. $options = array (
if($colour === "dark") {if (file_exists('view/theme/' . current_theme() . '/css/dark.css')) { '$nav_bg_1' => $nav_bg_1,
$dark = (file_get_contents('view/theme/' . current_theme() . '/css/dark.css')); '$nav_bg_2' => $nav_bg_2,
echo "$dark";} '$nav_bg_3' => $nav_bg_3,
} '$nav_bg_4' => $nav_bg_4,
'$background_colour' => $background_colour,
'$background_image' => $background_image,
'$item_colour' => $item_colour,
'$item_opacity' => $item_opacity,
'$font_size' => $font_size,
'$font_colour' => $font_colour,
'$radius' => $radius
);
echo str_replace(array_keys($options), array_values($options), $x);
}
// Enforce sane limits for expert mode - otherwise we'll end up with "experts" who think font size is a percentage.
if(($redbasic_font_size >= 8.0) && ($redbasic_font_size <= 20.0)) {
echo ".wall-item-content { font-size: ${redbasic_font_size}px;}\r\n";
}
if(($line_height >= 1.0) && ($line_height <= 2.0)) {
echo ".wall-item-content { line-height: $line_height; }\r\n";
}
// Minimum value shadows - they shouldn't all be the same size; just get it working, clean up later.
if($shadows === "true") {
echo "code, blockquote, .wall-item-content-wrapper, .wall-item-content-wrapper.comment, .wall-item-content img, #profile-jot-perms, #profile-jot-submit, .tab, .tab.active, .settings-widget li, .wall-item-photo, .photo, .contact-block-img, .my-comment-photo, #posted-date-selector:hover, .contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo, .group-selected, .nets-selected, .fileas-selected, .categories-selected {
box-shadow: 5px 5px 5px #111;}\r\n
.tab.active, #jot-title, #jot-category, .comment-edit-text-empty, .comment-edit-text-full, iframe#profile-jot-text_ifr, #profile-jot-text {
box-shadow: 5px 5px 5px #666 inset;}\r\n";
}
// Since every change would otherwise require five lines, it's simpler to just set a default and echo this without first checking if we've set it.
echo "nav {background-image: linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%);
background-image: -o-linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%);
background-image: -moz-linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%) !important;
background-image: -webkit-linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%);
background-image: -ms-linear-gradient(bottom, #$nav_bg_1 26%, #$nav_bg_2 82%);}";
if($navcolour === false || $navcolour === 'red') {
echo "nav:hover {background-image: linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%);
background-image: -o-linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%);
background-image: -moz-linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%) !important;
background-image: -webkit-linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%);
background-image: -ms-linear-gradient(bottom, #$nav_bg_3 26%, #$nav_bg_4 82%);}";
}
// This takes quite a lot of code, so we'll keep it in a separate file, and echo the lot. Devs still don't have to worry about - it's just overrides.
// Theme devs can play with it without facing scary PHP.
if ($displaystyle === "fancy")
{if (file_exists('view/theme/' . current_theme() . '/css/fancy.css')) {
$fancy = (file_get_contents('view/theme/' . current_theme() . '/css/fancy.css'));
echo str_replace(array('$radius'),array($radius),$fancy);
}
}
// Put the # here to force hex colours - if we don't, somebody is going to do something odd, using RGB and we're all going to be confused on the support forums
// until one of us works out what they've done.
if ($linkcolour != false) {
echo "a, a:visited, a:link, .fakelink, .fakelink:visited, .fakelink:link {color: #$linkcolour;}\r\n";
}
// If you want a shiny that just sets a different colour, add an if $shiny != false and handle it as the linkcolour above.
if ($shiny === 'opaque') {
echo "div.wall-item-content-wrapper.shiny {opacity: 1;}\r\n
.wall-item-content-wrapper {opacity: 0.8;}";
}

View File

@ -1,14 +0,0 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
{{include file="field_select.tpl" field=$font_size}}
{{include file="field_select.tpl" field=$line_height}}
{{include file="field_select.tpl" field=$colour_scheme}}
<div class="settings-submit-wrapper">
<input type="submit" value="{{$submit}}" class="settings-submit" name="redbasic-settings-submit" />
</div>

23
view/theme/redbasic/tpl/theme_settings.tpl Executable file → Normal file
View File

@ -1,21 +1,10 @@
{{include file="field_select.tpl" field=$colour}} {{include file="field_select.tpl" field=$nav_colour}}
{{include file="field_input.tpl" field=$background_colour}}
{{include file="field_input.tpl" field=$background_image}}
{{include file="field_input.tpl" field=$item_colour}}
{{include file="field_input.tpl" field=$item_opacity}}
{{include file="field_input.tpl" field=$font_size}} {{include file="field_input.tpl" field=$font_size}}
{{include file="field_input.tpl" field=$font_colour}}
{{include file="field_input.tpl" field=$line_height}}
{{include file="field_select.tpl" field=$shadow}}
{{include file="field_select.tpl" field=$navcolour}}
{{include file="field_select.tpl" field=$displaystyle}}
{{include file="field_input.tpl" field=$linkcolour}}
{{include file="field_select.tpl" field=$iconset}}
{{include file="field_select.tpl" field=$shiny}}
{{include file="field_input.tpl" field=$radius}} {{include file="field_input.tpl" field=$radius}}
<div class="settings-submit-wrapper"> <div class="settings-submit-wrapper">