Theme Timeline added
@ -1,6 +1,10 @@
|
||||
Version 2.1 ()
|
||||
------------------------------------------------------------------------
|
||||
|
||||
* Added new theme "Timeline". Timeline is a fully responsive,
|
||||
mobile first HTML5/CSS3 theme built on the Bootstrap
|
||||
framework.
|
||||
|
||||
* Add new config variable $serendipity['cors'] to allow to set
|
||||
Access-Control-Allow-Origin: * headers for sensible places
|
||||
(RSS feeds), to i.e. allow JavaScript's XMLHTTPRequest to read
|
||||
|
70
templates/timeline/UTF-8/lang_de.inc.php
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
// General
|
||||
@define('ERROR_404', 'Fehler 404 - Die angeforderte Seite wurde nicht gefunden.');
|
||||
@define('SEARCH_WHAT','Wonach soll gesucht werden?'); //used on quicksearch modal
|
||||
@define('SEARCH','Suche');
|
||||
@define('TOGGLE_NAV','Navigation'); //only seen by screen readers
|
||||
@define('CLOSE','Schließen'); //close button on search form
|
||||
@define('READ_MORE','Mehr lesen');
|
||||
|
||||
//Option groups and instructions
|
||||
@define('THEME_SOCIAL_LINKS', 'Social-Links');
|
||||
@define('THEME_PAGE_OPTIONS', 'Seiten-Optionen');
|
||||
@define('THEME_NAVIGATION', 'Navigations-Optionen');
|
||||
@define('THEME_README','Lies mich');
|
||||
@define('THEME_IDENTITY','Seiten-Identität');
|
||||
@define('THEME_EP_YES','<p class="msg_success">Das Plugin Erweiterte Eigenschaften für Einträge (serendipity_event_entryproperties) wird benötigt. Es ist installiert und aktiv.</p>');
|
||||
@define('THEME_EP_NO','<p class="msg_error">Das Plugin Erweiterte Eigenschaften für Einträge (serendipity_event_entryproperties) wird benötigt. Es ist entweder nicht installiert oder inaktiv. Bitte das Plugin installieren, um alle Features dieses Themes voll zu nutzen.</p>');
|
||||
@define('THEME_INSTRUCTIONS','<p>This theme displays blog posts on a linear timeline. Each group of month titles can also be displayed or hidden on the timeline.</p><p>This theme uses a right and bottom sidebar. Either, or both sidebars can be disabled by deleting sidebar plugins or relocating sidebar plugins to the sidebar colum labeled "hidden" in plugin configuration.</p><p>This theme can be configured to display categories and entry tags from the respective sidebar plugins on the archive page. See "' . THEME_PAGE_OPTIONS . '" below.</p><p>If using the avatar plugin (serendipity_event_gravatar), configure option "Produce smarty tag = yes" for best display of comment avatars.</p><p>Configure serendipity_event_freetag option "Extended Smarty = yes" for a nicer display of tags in the entry footer.</p>');
|
||||
@define('THEME_CUSTOM_FIELD_HEADING', 'Freie Felder für Einträge');
|
||||
@define('THEME_CUSTOM_FIELD_DEFINITION','These optional field(s) are only available when using this theme (timeline). The event plugin serendipity_event_entryproperties (extended properties for entries) must also be installed to use these field(s). The entry image will appear on both the timeline, and at the top of each detailed entry.');
|
||||
@define('THEME_ENTRY_IMAGE','Entry Image.');
|
||||
@define('THEME_DEMO_AVAILBLE', 'Eine komplette englische Anleitung zur <a href="http://www.optional-necessity.com/demo/timeline/archives/13-Using-the-Timeline-theme.html">Konfiguration und Benutzung von Timeline</a> findet sich in der <a href="http://www.optional-necessity.com/demo/timeline/">Timeline theme demo</a>.');
|
||||
|
||||
//Page Options
|
||||
@define('THEME_COLORSET', 'Colorset');
|
||||
@define('THEME_SKINSET', 'Theme skin');
|
||||
@define('HEADER_IMG','Optional Header Image. Leave blank to use Blog Name.');
|
||||
@define('HEADER_IMG_DESC', 'Header image recommended size: 150px x 40px.');
|
||||
@define('ENTRY_DATE_FORMAT','Datumsformat für Einträge');
|
||||
@define('COMMENT_TIME_FORMAT','Zeitformat für Kommentare und Trackbacks');
|
||||
@define('WORDS','Textfassung');
|
||||
@define('TIMESTAMP','Zeitstempel');
|
||||
@define('DISPLAY_AS_TIMELINE','Timeline-Format verwenden');
|
||||
@define('DISPLAY_AS_TIMELINE_DESC','Timeline-Format für Blog-Posts verwenden. Falls Nein werden Blog-Posts im üblichen Blog-Format ausgegeben.');
|
||||
@define('MONTHS_ON_TIMELINE','Show month names on timeline');
|
||||
@define('MONTHS_ON_TIMELINE_DESC','Month name will appear as a heading on the timeline for each month of entries.');
|
||||
@define('MONTHS_ON_TIMELINE_FORMAT','Timeline month format');
|
||||
@define('CATEGORIES_ON_ARCHIVE', 'Kategorien auf der Archivseite anzeigen');
|
||||
@define('CATEGORIES_ON_ARCHIVE_DESC', 'Das Seitenleisten-Plugin Kategorien (serendipity_plugin_categories) muss installiert und die Option "Smarty-Templating aktivieren?" aktiviert sein, damit Kategorien auf der Archiv-Seite angezeigt werden.');
|
||||
@define('CATEGORY_RSS_ON_ARCHIVE','Show RSS icon next to each category on archive page');
|
||||
@define('TAGS_ON_ARCHIVE', 'Tags auf der Archivseite anzeigen');
|
||||
@define('TAGS_ON_ARCHIVE_DESC', 'Das Seitenleisten-Plugin Getaggte Artikel (serendipity_plugin_freetag) muss installiert sein und die Option "Sidebar template" muss auf "archive_freetag.tpl" gesetzt werden, damit Tags auf der Archiv-Seite angezeigt werden.');
|
||||
|
||||
//Navigation
|
||||
@define('USE_CORENAV', 'Globale Navigation verwenden?');
|
||||
|
||||
//Social media
|
||||
@define('SOCIAL_ICONS_AMOUNT', 'Enter number of social media links');
|
||||
@define('SOCIAL_NETWORK_SERVICE', 'Select social media service for link');
|
||||
@define('SOCIAL_ICON_URL', 'URL for social media service link');
|
||||
@define('COPYRIGHT', 'Copyright');
|
||||
|
||||
//time ago in words function
|
||||
@define('ELAPSED_LESS_THAN_MINUTE_AGO','Vor weniger als einer Minute');
|
||||
@define('ELAPSED_ONE_MINUTE_AGO','Vor einer Minute');
|
||||
@define('ELAPSED_ONE_DAY_AGO','Vor einem Tag');
|
||||
@define('ELAPSED_MINUTES_AGO','Vor %s Minuten');
|
||||
@define('ELAPSED_HOURS_AGO','Vor %s Stunden');
|
||||
@define('ELAPSED_DAYS_AGO','Vor %s Tagen');
|
||||
@define('ELAPSED_MONTHS_AGO','Vor %s Monaten');
|
||||
@define('ELAPSED_YEARS_AGO','Vor %s Jahren'); //not currently using this, but defining just in case
|
||||
@define('ELAPSED_ABOUT_ONE_HOUR_AGO','Vor ungefähr einer Stunde'); // greater than 45 minutes, less than 90 minutes
|
||||
@define('ELAPSED_ABOUT_ONE_MONTH_AGO','Vor ungefähr einem Monat'); // greater than 30 days, less than 60 days
|
||||
@define('ELAPSED_ABOUT_ONE_YEAR_AGO','Vor ungefähr einem Jahr'); // greater than one year, less than 2 years
|
||||
@define('ELAPSED_OVER_YEARS_AGO','Vor mehr als %s Jahren');// greater than 2 years
|
||||
|
||||
//Static Pages
|
||||
@define('STATIC_SHOW_AUTHOR_TEXT','Autorennamen anzeigen');
|
||||
@define('STATIC_SHOW_DATE_TEXT','Datum anzeigen');
|
||||
@define('STATIC_SHOW_SIDEBARS_TEXT','Show sidebars?');
|
124
templates/timeline/aqua_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
aqua colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Aqua Color: #27d7e7;
|
||||
* Aqua Hover Color: #26bac8;
|
||||
* Darkest color: #11adbc;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #27d7e7;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #26bac8;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-aqua.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-aqua.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #26bac8;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #26bac8;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #27d7e7;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #27d7e7;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #27d7e7;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #27d7e7;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #27d7e7;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #27d7e7;
|
||||
border: 1px solid #27d7e7;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #27d7e7;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #27d7e7;
|
||||
border: 1px solid #27d7e7;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #26bac8;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #27d7e7;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #26bac8;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #26bac8;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #27d7e7;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #11adbc; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #27d7e7;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #27d7e7;
|
||||
border: 1px solid #27d7e7;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #26bac8; /*dark */
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #27d7e7;
|
||||
border: 1px solid #27d7e7;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #26bac8;
|
||||
}
|
34
templates/timeline/archive_categories.tpl
Normal file
@ -0,0 +1,34 @@
|
||||
{if $categories}
|
||||
<h3>{$CONST.CATEGORIES}</h3>
|
||||
<ul class="plainList category-list">
|
||||
{foreach from=$categories item="plugin_category" name="each_category"}
|
||||
{if $smarty.foreach.each_category.first}{assign var="prevdepth" value=$plugin_category.catdepth}{/if}
|
||||
{if ($plugin_category.catdepth == $prevdepth) && !$smarty.foreach.each_category.first}
|
||||
</li>
|
||||
{elseif $plugin_category.catdepth < $prevdepth}
|
||||
{for $i=1 to $prevdepth-$plugin_category.catdepth}
|
||||
</li>
|
||||
</ul>
|
||||
{/for}
|
||||
</li>
|
||||
{elseif $plugin_category.catdepth > $prevdepth}
|
||||
<ul class="category-children">
|
||||
{/if}
|
||||
<li id="category_{$plugin_category.categoryid}" class="category_depth{$plugin_category.catdepth} archive-category-list-item">
|
||||
{if $template_option.category_rss_archive == true}<a class="btn btn-sm btn-default btn-theme serendipity_xml_icon" href="{$plugin_category.feedCategoryURL}" title="{$plugin_category.category_name|escape} rss"><i class="fa fa-rss"></i></a>{/if}
|
||||
<a class="btn btn-sm btn-default btn-theme" href="{$plugin_category.categoryURL}" title="{$plugin_category.category_description|escape}">{$plugin_category.category_name|escape}</a>
|
||||
{if $smarty.foreach.each_category.last}
|
||||
{if $plugin_category.catdepth>0}
|
||||
{for $i=1 to $plugin_category.catdepth}
|
||||
</li>
|
||||
</ul>
|
||||
{/for}
|
||||
{/if}
|
||||
</li>
|
||||
{/if}
|
||||
{assign var="prevdepth" value=$plugin_category.catdepth}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{else}
|
||||
<p class="alert alert-warning"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$CONST.CATEGORIES_ON_ARCHIVE_DESC}</p>
|
||||
{/if}
|
10
templates/timeline/archive_freetag.tpl
Normal file
@ -0,0 +1,10 @@
|
||||
{if $tags}
|
||||
<h3>{$CONST.EDITOR_TAGS}</h3>
|
||||
<div class="timeline_freeTag">
|
||||
{foreach from=$tags key="tag_name" item="plugin_tags" name="each_tag"}
|
||||
<a href="{$plugin_tags.href}">{$tag_name}</a>{if !$smarty.foreach.each_tag.last}{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
{else}
|
||||
<p class="alert alert-warning"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$CONST.TAGS_ON_ARCHIVE_DESC}</p>
|
||||
{/if}
|
@ -0,0 +1,245 @@
|
||||
<br />
|
||||
|
||||
<script type="text/javascript">
|
||||
var img_plus = '{serendipity_getFile file="img/plus.png"}';
|
||||
var img_minus = '{serendipity_getFile file="img/minus.png"}';
|
||||
var state = '';
|
||||
{literal}
|
||||
function showConfig(id) {
|
||||
if (document.getElementById) {
|
||||
el = document.getElementById(id);
|
||||
if (el.style.display == 'none') {
|
||||
document.getElementById('option' + id).src = img_minus;
|
||||
el.style.display = '';
|
||||
} else {
|
||||
document.getElementById('option' + id).src = img_plus;
|
||||
el.style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function showConfigAll(count) {
|
||||
if (document.getElementById) {
|
||||
for (i = 1; i <= count; i++) {
|
||||
document.getElementById('el' + i).style.display = state;
|
||||
document.getElementById('optionel' + i).src = (state == '' ? img_minus : img_plus);
|
||||
}
|
||||
|
||||
if (state == '') {
|
||||
document.getElementById('optionall').src = img_minus;
|
||||
state = 'none';
|
||||
} else {
|
||||
document.getElementById('optionall').src = img_plus;
|
||||
state = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
{/literal}
|
||||
</script>
|
||||
|
||||
<div id="backend_sp_simple" class="default_staticpage">
|
||||
<section class="section_basic">
|
||||
<h3>{$CONST.STATICPAGE_SECTION_BASIC}</h3>
|
||||
<div id="edit_headline" class="form_field">
|
||||
<label class="sp_label" title="{staticpage_input item="headline" what="desc"|escape:js}">{staticpage_input item="headline" what="name"|escape:js}</label>
|
||||
{staticpage_input item="headline"}
|
||||
</div>
|
||||
<div id="articleformat_title" class="form_field">
|
||||
<label class="sp_label" title="{staticpage_input item="articleformattitle" what="desc"|escape:js}">{staticpage_input item="articleformattitle" what="name"|escape:js}</label>
|
||||
{staticpage_input item="articleformattitle"}
|
||||
</div>
|
||||
<div class="form_area">
|
||||
<label class="sp_label" title="{staticpage_input item="content" what="desc"|escape:js}">{staticpage_input item="content" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="content"}
|
||||
</div>
|
||||
<h3>{$CONST.STATICPAGES_CUSTOM_META_SHOW}</h3>
|
||||
<p id="sp_toggle_optionall"><a style="border:0; text-decoration: none;" href="#" onClick="showConfig('el1'); return false" title="{$CONST.TOGGLE_OPTION}"><img src="{serendipity_getFile file="img/plus.png"}" id="optionel1" alt="+/-" border="0"> {$CONST.TOGGLE_ALL}</a></p>
|
||||
<div id="el1">
|
||||
<div class="adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="title_element" what="desc"|escape:js}">{staticpage_input item="title_element" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="title_element"}
|
||||
</div>
|
||||
<div class="adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="meta_description" what="desc"|escape:js}">{staticpage_input item="meta_description" what="name"|escape:js}</label>
|
||||
{staticpage_input item="meta_description"}
|
||||
</div>
|
||||
<div class="adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="meta_keywords" what="desc"|escape:js}">{staticpage_input item="meta_keywords" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="meta_keywords"}
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" language="JavaScript">document.getElementById("el1").style.display = "none";</script>
|
||||
|
||||
<h3>{$CONST.STATICPAGES_CUSTOM_STRUCTURE_SHOW}</h3>
|
||||
<p id="sp_toggle_optionall"><a style="border:0; text-decoration: none;" href="#" onClick="showConfig('el2'); return false" title="{$CONST.TOGGLE_OPTION}"><img src="{serendipity_getFile file="img/plus.png"}" id="optionel2" alt="+/-" border="0"> {$CONST.TOGGLE_ALL}</a></p>
|
||||
<div id="el2">
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="authorid" what="desc"|escape:js}">{staticpage_input item="authorid" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="authorid"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="articletype" what="desc"|escape:js}">{staticpage_input item="articletype" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="articletype"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="language" what="desc"|escape:js}">{staticpage_input item="language" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="language"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="related_category_id" what="desc"|escape:js}">{staticpage_input item="related_category_id" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="related_category_id"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="parent_id" what="desc"|escape:js}">{staticpage_input item="parent_id" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="parent_id"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="show_childpages" what="desc"|escape:js}">{staticpage_input item="show_childpages" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="show_childpages"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="shownavi" what="desc"|escape:js}">{staticpage_input item="shownavi" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="shownavi"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="show_breadcrumb" what="desc"|escape:js}">{staticpage_input item="show_breadcrumb" what="name"|escape:js}</label>
|
||||
{staticpage_input item="show_breadcrumb"}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="clearfix">
|
||||
<div class="entryoptions_customfields adv_opts_box">
|
||||
<label class="sp_label" title="{staticpage_input item="pre_content" what="desc"|escape:js}">{staticpage_input item="pre_content" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="pre_content"}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" language="JavaScript">document.getElementById("el2").style.display = "none";</script>
|
||||
</section>
|
||||
|
||||
<section class="section_meta">
|
||||
<h3>{$CONST.STATICPAGE_SECTION_META}</h3>
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="pagetitle" what="desc"|escape:js}">{staticpage_input item="pagetitle" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="pagetitle"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="permalink" what="desc"|escape:js}">{staticpage_input item="permalink" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="permalink"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="pass" what="desc"|escape:js}">{staticpage_input item="pass" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="pass"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="timestamp" what="desc"|escape:js}">{staticpage_input item="timestamp" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="timestamp"}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section_options">
|
||||
<h3>{$CONST.STATICPAGE_SECTION_OPT}</h3>
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="publishstatus" what="desc"|escape:js}">{staticpage_input item="publishstatus" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="publishstatus"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="is_startpage" what="desc"|escape:js}">{staticpage_input item="is_startpage" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="is_startpage"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="is_404_page" what="desc"|escape:js}">{staticpage_input item="is_404_page" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="is_404_page"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="showonnavi" what="desc"|escape:js}">{staticpage_input item="showonnavi" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="showonnavi"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="markup" what="desc"|escape:js}">{staticpage_input item="markup" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="markup"}
|
||||
</div>
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{staticpage_input item="articleformat" what="desc"|escape:js}">{staticpage_input item="articleformat" what="name"|escape:js}</label><br />
|
||||
{staticpage_input item="articleformat"}
|
||||
</div>
|
||||
</div>
|
||||
{* CUSTOM TO THIS THEME - OPTION TO SHOW/HIDE AUTHOR NAME *}
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{$CONST.STATIC_SHOW_AUTHOR_TITLE}">{$CONST.STATIC_SHOW_AUTHOR_TEXT}</label><br />
|
||||
<input id="author_yes" type="radio" name="serendipity[plugin][custom][show_author]" {if $form_values.custom.show_author == 'true'}checked="checked"{/if}value="true" />
|
||||
<label for="author_yes">{$CONST.YES}</label>
|
||||
<input id="author_no" type="radio" name="serendipity[plugin][custom][show_author]" {if $form_values.custom.show_author != 'true'}checked="checked"{/if} value="false" />
|
||||
<label for="author_no">{$CONST.NO}</label>
|
||||
</div>
|
||||
{* CUSTOM TO THIS THEME - OPTION TO SHOW/HIDE DATE *}
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{$CONST.STATIC_SHOW_DATE_TITLE}">{$CONST.STATIC_SHOW_DATE_TEXT}</label><br />
|
||||
<input id="date_yes" type="radio" name="serendipity[plugin][custom][show_date]" {if $form_values.custom.show_date == 'true'}checked="checked"{/if}value="true" />
|
||||
<label for="date_yes">{$CONST.YES}</label>
|
||||
<input id="date_no" type="radio" name="serendipity[plugin][custom][show_date]" {if $form_values.custom.show_date != 'true'}checked="checked"{/if}value="false" />
|
||||
<label for="date_no">{$CONST.NO}</label>
|
||||
</div>
|
||||
</div>
|
||||
{* CUSTOM TO THIS TEMPLATE - OPTION TO SHOW/HIDE RIGHT SIDEBAR *}
|
||||
<div class="clearfix">
|
||||
<div class="entryproperties_access_groups adv_opts_box form_select">
|
||||
<label class="sp_label" title="{$CONST.STATIC_SHOW_SIDEBARS_TITLE}">{$CONST.STATIC_SHOW_SIDEBARS_TEXT}</label><br />
|
||||
<input id="sidebars_yes" type="radio" name="serendipity[plugin][custom][show_sidebars]" {if $form_values.custom.show_sidebars != 'false'}checked="checked"{/if}value="true" />
|
||||
<label for="sidebars_yes">{$CONST.YES}</label>
|
||||
<input id="sidebars_no" type="radio" name="serendipity[plugin][custom][show_sidebars]" {if $form_values.custom.show_sidebars == 'false'}checked="checked"{/if}value="false" />
|
||||
<label for="sidebars_no">{$CONST.NO}</label>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
{* EXAMPLE FOR CUSTOM STATICPAGE PROPERTIES
|
||||
|
||||
<fieldset class="sect_custom">
|
||||
<legend>Custom</legend>
|
||||
|
||||
<div class="sp_sect">
|
||||
<label class="sp_label" title="Choose the main sidebar that should be shown when this staticpage is evaluated">Sidebars</label><br />
|
||||
<select name="serendipity[plugin][custom][sidebars][]" multiple="multiple">
|
||||
<option {if (@in_array('left', $form_values.custom.sidebars))}selected="selected"{/if} value="left">Left</option>
|
||||
<option {if (@in_array('right', $form_values.custom.sidebars))}selected="selected"{/if} value="right">Right</option>
|
||||
<option {if (@in_array('hidden', $form_values.custom.sidebars))}selected="selected"{/if} value="hidden">Hidden</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="sp_sect">
|
||||
<label class="sp_label" title="CSS class of the main page body that should be associated">Main CSS class</label><br />
|
||||
<input type="text" name="serendipity[plugin][custom][css_class]" value="{$form_values.custom.css_class|@default:'None'}" />
|
||||
</div>
|
||||
</fieldset>
|
||||
END OF EXAMPLE FOR CUSTOM STATICPAGE PROPERTIES *}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{staticpage_input_finish}
|
||||
|
||||
<br style="clear: both" />
|
||||
<div style="margin: 10px auto; text-align: center">
|
||||
<input type="submit" name="serendipity[SAVECONF]" value="{$CONST.SAVE}" class="serendipityPrettyButton input_button" />
|
||||
</div>
|
||||
|
136
templates/timeline/blue-dark_style.css
Normal file
@ -0,0 +1,136 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
dark blue colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Dark Blue Color: #4765a0;
|
||||
* Dark Blue Hover Color: #324c80;
|
||||
* Darkest color: #243c6c;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #4765a0;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #324c80;
|
||||
}
|
||||
|
||||
|
||||
.footer-socials a:hover,
|
||||
.footerSocials a:focus,
|
||||
.copyright a:hover,
|
||||
.copyright a:focus,
|
||||
.RightSideBar a:hover,
|
||||
.RightSideBar a:focus,
|
||||
.FooterSideBar a:hover,
|
||||
.FooterSideBar a:focus {
|
||||
color: #4765a0;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-blue-dark.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-blue-dark.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #324c80;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #324c80;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #4765a0;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #4765a0;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #4765a0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #4765a0;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #5071b3;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #4765a0;
|
||||
border: 1px solid #4765a0;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #4765a0;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #4765a0;
|
||||
border: 1px solid #4765a0;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #324c80;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #4765a0;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #324c80;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #324c80;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #4765a0;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #243c6c; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #324c80;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #4765a0;
|
||||
border: 1px solid #4765a0;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #324c80;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #4765a0;
|
||||
border: 1px solid #4765a0;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #324c80;
|
||||
}
|
124
templates/timeline/blue_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
blue colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Blue Color: #3498db;
|
||||
* Blue Hover Color: #2980b9;
|
||||
* Darkest color: #1c6ca1;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #3498db;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-blue.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-blue.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #2980b9;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #3498db;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #3498db;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #3498db;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #3498db;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #3498db;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #3498db;
|
||||
border: 1px solid #3498db;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #3498db;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #3498db;
|
||||
border: 1px solid #3498db;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #3498db;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #2980b9;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #2980b9;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #3498db;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #1c6ca1; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #2980b9;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #3498db;
|
||||
border: 1px solid #3498db;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #3498db;
|
||||
border: 1px solid #3498db;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #2980b9;
|
||||
}
|
867
templates/timeline/blueviolet_skin.css
Normal file
@ -0,0 +1,867 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
blueviolet
|
||||
*/
|
||||
|
||||
body {
|
||||
background-color: #262c33;
|
||||
color: #959da5;
|
||||
}
|
||||
|
||||
.RightSideBar a{
|
||||
color: #959da5;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
background-color: #262c33;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: #2F3744;
|
||||
border-bottom: 2px solid #36404A;
|
||||
}
|
||||
|
||||
.header-custom.is-fixed {
|
||||
background-color: rgba(67, 78, 89, 0.9);
|
||||
}
|
||||
|
||||
.subheader {
|
||||
background-color: #1e2329;
|
||||
border-bottom: 1px solid #2f3744;
|
||||
}
|
||||
|
||||
.staticpage_subheader {
|
||||
color: #808080;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle .fa {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li > a {
|
||||
color: #959da5;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li a {
|
||||
border-bottom: 1px solid #36404A;
|
||||
}
|
||||
|
||||
.is-fixed .navbar-default .navbar-nav > li > a {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background: #313A42;
|
||||
}
|
||||
|
||||
.modal-header {border-bottom: 1px solid #262c33}
|
||||
|
||||
.modal-footer {border:0}
|
||||
|
||||
button.close {color: inherit; opacity: 0.5;}
|
||||
|
||||
#serendipityQuickSearchTermField {
|
||||
background: #262c33;
|
||||
border: 1px solid #262c33;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-color:#36404A;
|
||||
}
|
||||
|
||||
.archives_summary .post-info {color: #727c87;}
|
||||
|
||||
.btn-theme.disabled {
|
||||
background-color: #434e59;
|
||||
border: 1px solid #434e59;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.timeline:before { /* this is the vertical line */
|
||||
background-color: #36404A;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel {
|
||||
border: 1px solid #36404A;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel:before {
|
||||
border-left: 15px solid #36404A;
|
||||
border-right: 0 solid #36404A;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel:after {
|
||||
border-left: 14px solid #36404A;
|
||||
border-right: 0 solid #36404A;
|
||||
}
|
||||
|
||||
.timeline > li.timeline-month-heading {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.tldate {
|
||||
background-color: #313A42;
|
||||
border: 2px solid #36404A;
|
||||
color: #adadad;
|
||||
}
|
||||
|
||||
.entry-footer .fa,
|
||||
.timeline > li > .timeline-badge {
|
||||
color: #51606e;
|
||||
}
|
||||
|
||||
.timeline .timeline-footer{
|
||||
border-top: 1px solid #36404A;
|
||||
}
|
||||
|
||||
.timeline .timeline-footer i {
|
||||
color: #51606e;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 992px) {
|
||||
.timeline > li > .timeline-panel:before {
|
||||
border-left: 11px solid #36404A;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel:after {
|
||||
border-left: 10px solid #36404A;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 767px) {
|
||||
ul.timeline > li > .timeline-panel:before {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
ul.timeline > li > .timeline-panel:after {
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.footer-container .footer {
|
||||
background-color: #1e2329;
|
||||
}
|
||||
|
||||
.footer-container .footer,
|
||||
.footer-container .footer li,
|
||||
.footer-container .footer p {
|
||||
color: #959da5;
|
||||
}
|
||||
|
||||
.FooterSideBar a {
|
||||
color: #586467;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
background: #2F3744;
|
||||
}
|
||||
|
||||
.footer-socials a {
|
||||
color: #51606e;
|
||||
}
|
||||
|
||||
.comment-date {
|
||||
color: #808080;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.serendipity_imageComment_txt {
|
||||
color: #5b676a;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
color: #5b676a;
|
||||
}
|
||||
|
||||
.post-info {color: #727c87;}
|
||||
|
||||
|
||||
table {
|
||||
margin-bottom: 20px;
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
table > tbody > tr > td,
|
||||
table > tbody > tr > th,
|
||||
table > tfoot > tr > td,
|
||||
table > tfoot > tr > th,
|
||||
table > thead > tr > td,
|
||||
table > thead > tr > th {
|
||||
border-top: 1px solid #ddd;
|
||||
line-height: 1.42857;
|
||||
padding: 8px;
|
||||
vertical-align: top;
|
||||
}
|
||||
table > thead > tr > th {
|
||||
border-bottom: 2px solid #ddd;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
table > caption + thead > tr:first-child > td,
|
||||
table > caption + thead > tr:first-child > th,
|
||||
table > colgroup + thead > tr:first-child > td,
|
||||
table > colgroup + thead > tr:first-child > th,
|
||||
table > thead:first-child > tr:first-child > td,
|
||||
table > thead:first-child > tr:first-child > th {
|
||||
border-top: 0 none;
|
||||
}
|
||||
table > tbody + tbody {
|
||||
border-top: 2px solid #ddd;
|
||||
}
|
||||
table table {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#captcha,
|
||||
#serendipity_replyTo,
|
||||
.form-control {
|
||||
background-color: #222;
|
||||
border: 1px solid #36404A;
|
||||
color: #959da5;
|
||||
|
||||
}
|
||||
|
||||
/* bootstrap classes for darker skin */
|
||||
.alert-success {
|
||||
background-color: #62c462;
|
||||
border-color: #62bd4f;
|
||||
color: #ffffff;
|
||||
}
|
||||
.alert-success hr {
|
||||
border-top-color: #55b142;
|
||||
}
|
||||
.alert-success .alert-link {
|
||||
color: #e6e6e6;
|
||||
}
|
||||
.alert-info {
|
||||
background-color: #5bc0de;
|
||||
border-color: #3dced8;
|
||||
color: #ffffff;
|
||||
}
|
||||
.alert-info hr {
|
||||
border-top-color: #2ac7d2;
|
||||
}
|
||||
.alert-info .alert-link {
|
||||
color: #e6e6e6;
|
||||
}
|
||||
.alert-warning {
|
||||
background-color: #f89406;
|
||||
border-color: #e96506;
|
||||
color: #ffffff;
|
||||
}
|
||||
.alert-warning hr {
|
||||
border-top-color: #d05a05;
|
||||
}
|
||||
.alert-warning .alert-link {
|
||||
color: #e6e6e6;
|
||||
}
|
||||
.alert-danger {
|
||||
background-color: #ee5f5b;
|
||||
border-color: #ed4d63;
|
||||
color: #ffffff;
|
||||
}
|
||||
.alert-danger hr {
|
||||
border-top-color: #ea364f;
|
||||
}
|
||||
.alert-danger .alert-link {
|
||||
color: #e6e6e6;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.panel {
|
||||
margin-bottom: 20px;
|
||||
background-color: #2e3338;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
||||
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.panel-body {
|
||||
padding: 15px;
|
||||
}
|
||||
.panel-heading {
|
||||
padding: 10px 15px;
|
||||
border-bottom: 1px solid transparent;
|
||||
border-top-right-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.panel-heading > .dropdown .dropdown-toggle {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.panel-title > a,
|
||||
.panel-title > small,
|
||||
.panel-title > .small,
|
||||
.panel-title > small > a,
|
||||
.panel-title > .small > a {
|
||||
color: inherit;
|
||||
}
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #3e444c;
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.6);
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
.panel > .list-group,
|
||||
.panel > .panel-collapse > .list-group {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.panel > .list-group .list-group-item,
|
||||
.panel > .panel-collapse > .list-group .list-group-item {
|
||||
border-width: 1px 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.panel > .list-group:first-child .list-group-item:first-child,
|
||||
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
|
||||
border-top: 0;
|
||||
border-top-right-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.panel > .list-group:last-child .list-group-item:last-child,
|
||||
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
|
||||
border-bottom: 0;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
|
||||
border-top-right-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
.panel-heading + .list-group .list-group-item:first-child {
|
||||
border-top-width: 0;
|
||||
}
|
||||
.list-group + .panel-footer {
|
||||
border-top-width: 0;
|
||||
}
|
||||
.panel > .table,
|
||||
.panel > .table-responsive > .table,
|
||||
.panel > .panel-collapse > .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.panel > .table caption,
|
||||
.panel > .table-responsive > .table caption,
|
||||
.panel > .panel-collapse > .table caption {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
.panel > .table:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child {
|
||||
border-top-right-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
|
||||
border-top-left-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.panel > .table:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
.panel > .panel-body + .table,
|
||||
.panel > .panel-body + .table-responsive,
|
||||
.panel > .table + .panel-body,
|
||||
.panel > .table-responsive + .panel-body {
|
||||
border-top: 1px solid #1c1e22;
|
||||
}
|
||||
.panel > .table > tbody:first-child > tr:first-child th,
|
||||
.panel > .table > tbody:first-child > tr:first-child td {
|
||||
border-top: 0;
|
||||
}
|
||||
.panel > .table-bordered,
|
||||
.panel > .table-responsive > .table-bordered {
|
||||
border: 0;
|
||||
}
|
||||
.panel > .table-bordered > thead > tr > th:first-child,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
|
||||
.panel > .table-bordered > tbody > tr > th:first-child,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
|
||||
.panel > .table-bordered > tfoot > tr > th:first-child,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
||||
.panel > .table-bordered > thead > tr > td:first-child,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
|
||||
.panel > .table-bordered > tbody > tr > td:first-child,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
|
||||
.panel > .table-bordered > tfoot > tr > td:first-child,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
||||
border-left: 0;
|
||||
}
|
||||
.panel > .table-bordered > thead > tr > th:last-child,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
|
||||
.panel > .table-bordered > tbody > tr > th:last-child,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
|
||||
.panel > .table-bordered > tfoot > tr > th:last-child,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
||||
.panel > .table-bordered > thead > tr > td:last-child,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
|
||||
.panel > .table-bordered > tbody > tr > td:last-child,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
|
||||
.panel > .table-bordered > tfoot > tr > td:last-child,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
.panel > .table-bordered > thead > tr:first-child > td,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
|
||||
.panel > .table-bordered > tbody > tr:first-child > td,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
|
||||
.panel > .table-bordered > thead > tr:first-child > th,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
|
||||
.panel > .table-bordered > tbody > tr:first-child > th,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.panel > .table-bordered > tbody > tr:last-child > td,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
|
||||
.panel > .table-bordered > tfoot > tr:last-child > td,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
|
||||
.panel > .table-bordered > tbody > tr:last-child > th,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
|
||||
.panel > .table-bordered > tfoot > tr:last-child > th,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.panel > .table-responsive {
|
||||
border: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.panel-group {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.panel-group .panel {
|
||||
margin-bottom: 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.panel-group .panel + .panel {
|
||||
margin-top: 5px;
|
||||
}
|
||||
.panel-group .panel-heading {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.panel-group .panel-heading + .panel-collapse > .panel-body,
|
||||
.panel-group .panel-heading + .panel-collapse > .list-group {
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-group .panel-footer {
|
||||
border-top: 0;
|
||||
}
|
||||
.panel-group .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-default {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-default > .panel-heading {
|
||||
color: #c8c8c8;
|
||||
background-color: #3e444c;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-default > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-default > .panel-heading .badge {
|
||||
color: #3e444c;
|
||||
background-color: #c8c8c8;
|
||||
}
|
||||
.panel-default > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-primary {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-primary > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #7a8288;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-primary > .panel-heading .badge {
|
||||
color: #7a8288;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-success {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-success > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #62c462;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-success > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-success > .panel-heading .badge {
|
||||
color: #62c462;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-success > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-info {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-info > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #5bc0de;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-info > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-info > .panel-heading .badge {
|
||||
color: #5bc0de;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-info > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-warning {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-warning > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #f89406;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-warning > .panel-heading .badge {
|
||||
color: #f89406;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-danger {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-danger > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #ee5f5b;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-danger > .panel-heading .badge {
|
||||
color: #ee5f5b;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
table {
|
||||
background-color: #2e3338;
|
||||
}
|
||||
caption {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
color: #7a8288;
|
||||
text-align: left;
|
||||
}
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
.table {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.table > thead > tr > th,
|
||||
.table > tbody > tr > th,
|
||||
.table > tfoot > tr > th,
|
||||
.table > thead > tr > td,
|
||||
.table > tbody > tr > td,
|
||||
.table > tfoot > tr > td {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #1c1e22;
|
||||
}
|
||||
.table > thead > tr > th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #1c1e22;
|
||||
}
|
||||
.table > caption + thead > tr:first-child > th,
|
||||
.table > colgroup + thead > tr:first-child > th,
|
||||
.table > thead:first-child > tr:first-child > th,
|
||||
.table > caption + thead > tr:first-child > td,
|
||||
.table > colgroup + thead > tr:first-child > td,
|
||||
.table > thead:first-child > tr:first-child > td {
|
||||
border-top: 0;
|
||||
}
|
||||
.table > tbody + tbody {
|
||||
border-top: 2px solid #1c1e22;
|
||||
}
|
||||
.table .table {
|
||||
background-color: #272b30;
|
||||
}
|
||||
.table-condensed > thead > tr > th,
|
||||
.table-condensed > tbody > tr > th,
|
||||
.table-condensed > tfoot > tr > th,
|
||||
.table-condensed > thead > tr > td,
|
||||
.table-condensed > tbody > tr > td,
|
||||
.table-condensed > tfoot > tr > td {
|
||||
padding: 5px;
|
||||
}
|
||||
.table-bordered {
|
||||
border: 1px solid #1c1e22;
|
||||
}
|
||||
.table-bordered > thead > tr > th,
|
||||
.table-bordered > tbody > tr > th,
|
||||
.table-bordered > tfoot > tr > th,
|
||||
.table-bordered > thead > tr > td,
|
||||
.table-bordered > tbody > tr > td,
|
||||
.table-bordered > tfoot > tr > td {
|
||||
border: 1px solid #1c1e22;
|
||||
}
|
||||
.table-bordered > thead > tr > th,
|
||||
.table-bordered > thead > tr > td {
|
||||
border-bottom-width: 2px;
|
||||
}
|
||||
.table-striped > tbody > tr:nth-of-type(odd) {
|
||||
background-color: #353a41;
|
||||
}
|
||||
.table-hover > tbody > tr:hover {
|
||||
background-color: #49515a;
|
||||
}
|
||||
table col[class*="col-"] {
|
||||
position: static;
|
||||
float: none;
|
||||
display: table-column;
|
||||
}
|
||||
table td[class*="col-"],
|
||||
table th[class*="col-"] {
|
||||
position: static;
|
||||
float: none;
|
||||
display: table-cell;
|
||||
}
|
||||
.table > thead > tr > td.active,
|
||||
.table > tbody > tr > td.active,
|
||||
.table > tfoot > tr > td.active,
|
||||
.table > thead > tr > th.active,
|
||||
.table > tbody > tr > th.active,
|
||||
.table > tfoot > tr > th.active,
|
||||
.table > thead > tr.active > td,
|
||||
.table > tbody > tr.active > td,
|
||||
.table > tfoot > tr.active > td,
|
||||
.table > thead > tr.active > th,
|
||||
.table > tbody > tr.active > th,
|
||||
.table > tfoot > tr.active > th {
|
||||
background-color: #49515a;
|
||||
}
|
||||
.table-hover > tbody > tr > td.active:hover,
|
||||
.table-hover > tbody > tr > th.active:hover,
|
||||
.table-hover > tbody > tr.active:hover > td,
|
||||
.table-hover > tbody > tr:hover > .active,
|
||||
.table-hover > tbody > tr.active:hover > th {
|
||||
background-color: #3e444c;
|
||||
}
|
||||
.table > thead > tr > td.success,
|
||||
.table > tbody > tr > td.success,
|
||||
.table > tfoot > tr > td.success,
|
||||
.table > thead > tr > th.success,
|
||||
.table > tbody > tr > th.success,
|
||||
.table > tfoot > tr > th.success,
|
||||
.table > thead > tr.success > td,
|
||||
.table > tbody > tr.success > td,
|
||||
.table > tfoot > tr.success > td,
|
||||
.table > thead > tr.success > th,
|
||||
.table > tbody > tr.success > th,
|
||||
.table > tfoot > tr.success > th {
|
||||
background-color: #62c462;
|
||||
}
|
||||
.table-hover > tbody > tr > td.success:hover,
|
||||
.table-hover > tbody > tr > th.success:hover,
|
||||
.table-hover > tbody > tr.success:hover > td,
|
||||
.table-hover > tbody > tr:hover > .success,
|
||||
.table-hover > tbody > tr.success:hover > th {
|
||||
background-color: #4fbd4f;
|
||||
}
|
||||
.table > thead > tr > td.info,
|
||||
.table > tbody > tr > td.info,
|
||||
.table > tfoot > tr > td.info,
|
||||
.table > thead > tr > th.info,
|
||||
.table > tbody > tr > th.info,
|
||||
.table > tfoot > tr > th.info,
|
||||
.table > thead > tr.info > td,
|
||||
.table > tbody > tr.info > td,
|
||||
.table > tfoot > tr.info > td,
|
||||
.table > thead > tr.info > th,
|
||||
.table > tbody > tr.info > th,
|
||||
.table > tfoot > tr.info > th {
|
||||
background-color: #5bc0de;
|
||||
}
|
||||
.table-hover > tbody > tr > td.info:hover,
|
||||
.table-hover > tbody > tr > th.info:hover,
|
||||
.table-hover > tbody > tr.info:hover > td,
|
||||
.table-hover > tbody > tr:hover > .info,
|
||||
.table-hover > tbody > tr.info:hover > th {
|
||||
background-color: #46b8da;
|
||||
}
|
||||
.table > thead > tr > td.warning,
|
||||
.table > tbody > tr > td.warning,
|
||||
.table > tfoot > tr > td.warning,
|
||||
.table > thead > tr > th.warning,
|
||||
.table > tbody > tr > th.warning,
|
||||
.table > tfoot > tr > th.warning,
|
||||
.table > thead > tr.warning > td,
|
||||
.table > tbody > tr.warning > td,
|
||||
.table > tfoot > tr.warning > td,
|
||||
.table > thead > tr.warning > th,
|
||||
.table > tbody > tr.warning > th,
|
||||
.table > tfoot > tr.warning > th {
|
||||
background-color: #f89406;
|
||||
}
|
||||
.table-hover > tbody > tr > td.warning:hover,
|
||||
.table-hover > tbody > tr > th.warning:hover,
|
||||
.table-hover > tbody > tr.warning:hover > td,
|
||||
.table-hover > tbody > tr:hover > .warning,
|
||||
.table-hover > tbody > tr.warning:hover > th {
|
||||
background-color: #df8505;
|
||||
}
|
||||
.table > thead > tr > td.danger,
|
||||
.table > tbody > tr > td.danger,
|
||||
.table > tfoot > tr > td.danger,
|
||||
.table > thead > tr > th.danger,
|
||||
.table > tbody > tr > th.danger,
|
||||
.table > tfoot > tr > th.danger,
|
||||
.table > thead > tr.danger > td,
|
||||
.table > tbody > tr.danger > td,
|
||||
.table > tfoot > tr.danger > td,
|
||||
.table > thead > tr.danger > th,
|
||||
.table > tbody > tr.danger > th,
|
||||
.table > tfoot > tr.danger > th {
|
||||
background-color: #ee5f5b;
|
||||
}
|
||||
|
||||
.table-hover > tbody > tr > td.danger:hover,
|
||||
.table-hover > tbody > tr > th.danger:hover,
|
||||
.table-hover > tbody > tr.danger:hover > td,
|
||||
.table-hover > tbody > tr:hover > .danger,
|
||||
.table-hover > tbody > tr.danger:hover > th {
|
||||
background-color: #ec4844;
|
||||
}
|
||||
|
||||
table, .table .success, .table .warning, .table .danger, .table .info {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
overflow-x: auto;
|
||||
min-height: 0.01%;
|
||||
}
|
||||
@media screen and (max-width: 767px) {
|
||||
.table-responsive {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
overflow-y: hidden;
|
||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||
border: 1px solid #1c1e22;
|
||||
}
|
||||
.table-responsive > .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.table-responsive > .table > thead > tr > th,
|
||||
.table-responsive > .table > tbody > tr > th,
|
||||
.table-responsive > .table > tfoot > tr > th,
|
||||
.table-responsive > .table > thead > tr > td,
|
||||
.table-responsive > .table > tbody > tr > td,
|
||||
.table-responsive > .table > tfoot > tr > td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.table-responsive > .table-bordered {
|
||||
border: 0;
|
||||
}
|
||||
.table-responsive > .table-bordered > thead > tr > th:first-child,
|
||||
.table-responsive > .table-bordered > tbody > tr > th:first-child,
|
||||
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
||||
.table-responsive > .table-bordered > thead > tr > td:first-child,
|
||||
.table-responsive > .table-bordered > tbody > tr > td:first-child,
|
||||
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
||||
border-left: 0;
|
||||
}
|
||||
.table-responsive > .table-bordered > thead > tr > th:last-child,
|
||||
.table-responsive > .table-bordered > tbody > tr > th:last-child,
|
||||
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
||||
.table-responsive > .table-bordered > thead > tr > td:last-child,
|
||||
.table-responsive > .table-bordered > tbody > tr > td:last-child,
|
||||
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
.table-responsive > .table-bordered > tbody > tr:last-child > th,
|
||||
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
|
||||
.table-responsive > .table-bordered > tbody > tr:last-child > td,
|
||||
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
124
templates/timeline/brown_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
brown colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Brown Color: #9c8061;
|
||||
* Brown Hover Color: #81674b;
|
||||
* Darkest color: #6f5539;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #9c8061;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #81674b;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-brown.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-brown.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #81674b;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #81674b;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #9c8061;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #9c8061;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #9c8061;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #9c8061;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #9c8061;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #9c8061;
|
||||
border: 1px solid #9c8061;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #9c8061;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #9c8061;
|
||||
border: 1px solid #9c8061;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #81674b;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #9c8061;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #81674b;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #81674b;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #9c8061;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #6f5539; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #81674b;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #9c8061;
|
||||
border: 1px solid #9c8061;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #81674b;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #9c8061;
|
||||
border: 1px solid #9c8061;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #81674b;
|
||||
}
|
51
templates/timeline/commentform.tpl
Normal file
@ -0,0 +1,51 @@
|
||||
<div id="serendipityCommentForm" class="serendipityCommentForm">
|
||||
<div id="serendipity_replyform"></div>
|
||||
<a id="serendipity_CommentForm"></a>
|
||||
<form id="serendipity_comment" class="form-vertical" action="{$commentform_action}#feedback" method="post">
|
||||
<input type="hidden" name="serendipity[entry_id]" value="{$commentform_id}">
|
||||
<div class="form-group">
|
||||
<label for="serendipity_commentform_name" class="control-label">{$CONST.NAME}</label>
|
||||
<input id="serendipity_commentform_name" class="form-control" name="serendipity[name]" type="text" value="{$commentform_name}" placeholder="{$CONST.NAME}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="serendipity_commentform_email" class="control-label">{$CONST.EMAIL}</label>
|
||||
<input id="serendipity_commentform_email" class="form-control" name="serendipity[email]" type="email" value="{$commentform_email}" placeholder="mail@example.org">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="serendipity_commentform_url" class="control-label">{$CONST.HOMEPAGE}</label>
|
||||
<input id="serendipity_commentform_url" class="form-control" name="serendipity[url]" type="url" value="{$commentform_url}" placeholder="http://...">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="serendipity_commentform_comment" class="control-label">{$CONST.COMMENT}</label>
|
||||
<textarea id="serendipity_commentform_comment" class="form-control" name="serendipity[comment]" rows="10" placeholder="{$CONST.COMMENT}">{$commentform_data}</textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label id="reply-to-hint" for="serendipity_replyTo" class="control-label">{$CONST.IN_REPLY_TO}</label>
|
||||
{$commentform_replyTo}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{serendipity_hookPlugin hook="frontend_comment" data=$commentform_entry}
|
||||
</div>
|
||||
{if $is_commentform_showToolbar || $is_allowSubscriptions}
|
||||
<div class="form-group">
|
||||
{if $is_commentform_showToolbar}
|
||||
<div class="checkbox">
|
||||
<label class="checkbox-inline" for="checkbox_remember"><input id="checkbox_remember" name="serendipity[remember]" type="checkbox" {$commentform_remember}>{$CONST.REMEMBER_INFO}</label>
|
||||
</div>
|
||||
{/if}
|
||||
{if $is_allowSubscriptions}
|
||||
<div class="checkbox">
|
||||
<label class="checkbox-inline" for="checkbox_subscribe"><input id="checkbox_subscribe" name="serendipity[subscribe]" type="checkbox" {$commentform_subscribe}>{$CONST.SUBSCRIBE_TO_THIS_ENTRY}</label>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
{if $is_moderate_comments}
|
||||
<p class="alert alert-danger">{$CONST.COMMENTS_WILL_BE_MODERATED}</p>
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<input id="serendipity_submit" name="serendipity[submit]" class="btn btn-sm btn-default btn-theme" type="submit" value="{$CONST.SUBMIT_COMMENT}">
|
||||
<input id="serendipity_preview" name="serendipity[preview]" class="btn btn-sm btn-default btn-theme" type="submit" value="{$CONST.PREVIEW}">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
61
templates/timeline/comments.tpl
Normal file
@ -0,0 +1,61 @@
|
||||
<ul class="comment-list">
|
||||
{foreach from=$comments item=comment name="comments"}
|
||||
{if $smarty.foreach.comments.first}{assign var="prevdepth" value=$comment.depth}{/if}
|
||||
{if ($comment.depth == $prevdepth) && !$smarty.foreach.comments.first}
|
||||
</li>
|
||||
{elseif $comment.depth < $prevdepth}
|
||||
{for $i=1 to $prevdepth-$comment.depth}
|
||||
</li></ul>
|
||||
{/for}
|
||||
</li>
|
||||
{elseif $comment.depth > $prevdepth}
|
||||
<ul class="comment-children">
|
||||
{/if}
|
||||
<li id="comment-{$comment.id}" class="comment-list-item">
|
||||
<a id="c{$comment.id}"></a>
|
||||
<div id="div-comment-{$comment.id}" class="comment_any{cycle values=" comment_odd, comment_even"} comment_author_{$comment.author|@makeFilename} {if ($entry.author == $comment.author) && ($entry.email == $commentform_entry.email)}comment_author_self{/if}">
|
||||
{if $comment.avatar}
|
||||
{$comment.avatar}
|
||||
{/if}
|
||||
<div class="comment-list-item-body">
|
||||
<h5 class="comment-author-heading">
|
||||
<span class="comment-author-details">
|
||||
{if $comment.url}
|
||||
<a class="comment-author-url" href="{$comment.url}" title="{$comment.url|@escape}" rel="external nofollow">{$comment.author|@default:$CONST.ANONYMOUS}</a>
|
||||
{else}
|
||||
{$comment.author|@default:$CONST.ANONYMOUS}
|
||||
{/if}
|
||||
</span>
|
||||
<time class="comment-date" datetime="{$comment.timestamp|@serendipity_html5time}">{if $template_option.comment_time_format =='time'}{$comment.timestamp|@formatTime:'%b %e. %Y'} {$CONST.AT} {$comment.timestamp|@formatTime:'%I:%M %p'}{else}{elapsed_time_words from_time=$comment.timestamp}{/if}</time>
|
||||
</h5>
|
||||
<div class="comment-content">
|
||||
{if $comment.body == 'COMMENT_DELETED'}
|
||||
{$CONST.COMMENT_IS_DELETED}
|
||||
{else}
|
||||
{$comment.body}
|
||||
{/if}
|
||||
</div>
|
||||
<div class="comment-meta">
|
||||
<a class="comment-source-trace btn btn-sm btn-default btn-theme" href="#c{$comment.id}">#{$comment.trace}</a>
|
||||
{if $entry.is_entry_owner}
|
||||
<a class="comment-source-ownerlink comment-reply-link btn btn-sm btn-default btn-theme" href="{$comment.link_delete}" onclick="return confirm('{$CONST.COMMENT_DELETE_CONFIRM|@sprintf:$comment.id:$comment.author}');" title="{$CONST.DELETE}"><i class="fa fa-lg fa-trash-o"></i><span class="sr-only"> {$CONST.DELETE}</span></a>
|
||||
{/if}
|
||||
|
||||
{if $entry.allow_comments AND $comment.body != 'COMMENT_DELETED'}
|
||||
<a class="comment-reply-link btn btn-sm btn-default btn-theme" href="#serendipity_CommentForm" id="serendipity_reply_{$comment.id}" onclick="document.getElementById('serendipity_replyTo').value='{$comment.id}'; {$comment_onchange}" title="{$CONST.REPLY}"><i class="fa fa-lg fa-reply"></i><span class="sr-only"> {$CONST.REPLY}</span></a>
|
||||
<div id="serendipity_replyform_{$comment.id}"></div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{if $smarty.foreach.comments.last}
|
||||
{if $comment.depth>0}
|
||||
{for $i=1 to $comment.depth}
|
||||
</li></ul>
|
||||
{/for}
|
||||
{/if}
|
||||
</li>
|
||||
{/if}
|
||||
{assign var="prevdepth" value=$comment.depth}
|
||||
{/foreach}
|
||||
</ul>
|
409
templates/timeline/config.inc.php
Normal file
@ -0,0 +1,409 @@
|
||||
<?php
|
||||
if (IN_serendipity !== true) {
|
||||
die ("Don't hack!");
|
||||
}
|
||||
|
||||
@serendipity_plugin_api::load_language(dirname(__FILE__));
|
||||
|
||||
$serendipity['smarty']->assign(array('currpage' => "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']));
|
||||
|
||||
$serendipity['smarty']->assign('archiveURL', serendipity_rewriteURL(PATH_ARCHIVE));
|
||||
|
||||
if ($serendipity['GET']['adminModule'] == 'templates' || $serendipity['POST']['adminModule'] == 'templates' || $serendipity['GET']['adminAction'] == 'cattemplate') {
|
||||
$css_files = glob(dirname(__FILE__) . '/*_style.css');
|
||||
foreach($css_files AS $css_file) {
|
||||
$css_file = str_replace('_style.css', '', basename($css_file));
|
||||
if (!isset($colorsets[$css_file])) {
|
||||
$colorsets[$css_file] = $css_file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($serendipity['GET']['adminModule'] == 'templates' || $serendipity['POST']['adminModule'] == 'templates' || $serendipity['GET']['adminAction'] == 'cattemplate') {
|
||||
$skin_files = glob(dirname(__FILE__) . '/*_skin.css');
|
||||
$skinsets[$skin_file] = 'light'; // light is default, but light_skin.css does not exist as light styles are written into style.css
|
||||
foreach($skin_files AS $skin_file) {
|
||||
$skin_file = str_replace('_skin.css', '', basename($skin_file));
|
||||
if (!isset($skinsets[$skin_file])) {
|
||||
$skinsets[$skin_file] = $skin_file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// show elapsed time in words, such as x hours ago.
|
||||
function distanceOfTimeInWords($fromTime, $toTime = 0) {
|
||||
$distanceInSeconds = round(abs($toTime - $fromTime));
|
||||
$distanceInMinutes = round($distanceInSeconds / 60);
|
||||
|
||||
if ( $distanceInMinutes <= 1 ) {
|
||||
if ( $distanceInSeconds < 60 ) {
|
||||
return ELAPSED_LESS_THAN_MINUTE_AGO;
|
||||
}
|
||||
return ELAPSED_ONE_MINUTE_AGO;
|
||||
}
|
||||
if ( $distanceInMinutes < 45 ) {
|
||||
return (sprintf(ELAPSED_MINUTES_AGO, $distanceInMinutes));
|
||||
}
|
||||
if ( $distanceInMinutes < 90 ) {
|
||||
return ELAPSED_ABOUT_ONE_HOUR_AGO;
|
||||
}
|
||||
// less than 24 hours
|
||||
if ( $distanceInMinutes < 1440 ) {
|
||||
return (sprintf(ELAPSED_HOURS_AGO, round(floatval($distanceInMinutes) / 60.0)));
|
||||
}
|
||||
//less than 48hours
|
||||
if ( $distanceInMinutes < 2880 ) {
|
||||
return ELAPSED_ONE_DAY_AGO;
|
||||
}
|
||||
// less than 30 days
|
||||
if ( $distanceInMinutes < 43200 ) {
|
||||
return (sprintf(ELAPSED_DAYS_AGO, round(floatval($distanceInMinutes) / 1440)));
|
||||
}
|
||||
//less than 60 days
|
||||
if ( $distanceInMinutes < 86400 ) {
|
||||
return ELAPSED_ABOUT_ONE_MONTH_AGO;
|
||||
}
|
||||
// less than 365 days
|
||||
if ( $distanceInMinutes < 525600 ) {
|
||||
return (sprintf(ELAPSED_MONTHS_AGO, round(floatval($distanceInMinutes) / 43200)));
|
||||
}
|
||||
// less than 2 years
|
||||
if ( $distanceInMinutes < 1051199 ) {
|
||||
return ELAPSED_ABOUT_ONE_YEAR_AGO;
|
||||
}
|
||||
return (sprintf(ELAPSED_OVER_YEARS_AGO, round(floatval($distanceInMinutes) / 525600)));
|
||||
}
|
||||
|
||||
// smarty function to use distanceOfTimeInWords function
|
||||
// call from tpl as {elapsed_time_words from_time=$comment.timestamp}
|
||||
$serendipity['smarty']->register_function('elapsed_time_words', 'timeAgoInWords');
|
||||
|
||||
function timeAgoInWords($params, &$smarty) {
|
||||
return distanceOfTimeInWords($params['from_time'], time());
|
||||
}
|
||||
|
||||
// Used to determine if entry image begins with <iframe,<embed,<object. See entries.tpl
|
||||
function is_in_string($string, $search) {
|
||||
$array = explode(',', $search);
|
||||
foreach($array AS $idx => $searchval) {
|
||||
if (strpos($string, $searchval) === 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
$serendipity['smarty']->registerPlugin('modifier', 'is_in_string', 'is_in_string');
|
||||
|
||||
if (class_exists('serendipity_event_entryproperties')) {
|
||||
$ep_msg=THEME_EP_YES;
|
||||
} else {
|
||||
$ep_msg=THEME_EP_NO;
|
||||
}
|
||||
|
||||
$template_config = array(
|
||||
array(
|
||||
'var' => 'sidebars',
|
||||
'type' => 'hidden',
|
||||
'value' => 'right,footer,hide',
|
||||
),
|
||||
array(
|
||||
'var' => 'theme_instructions',
|
||||
'type' => 'content',
|
||||
'default' => '<p>' . THEME_DEMO_AVAILABLE . '</p>' . $ep_msg . THEME_INSTRUCTIONS . '<p>' . CATEGORIES_ON_ARCHIVE_DESC . '</p><p>' . TAGS_ON_ARCHIVE_DESC . '</p>',
|
||||
),
|
||||
array(
|
||||
'var' => 'use_corenav',
|
||||
'name' => USE_CORENAV,
|
||||
'type' => 'boolean',
|
||||
'default' => true,
|
||||
),
|
||||
array(
|
||||
'var' => 'colorset',
|
||||
'name' => THEME_COLORSET,
|
||||
'type' => 'select',
|
||||
'default' => 'green',
|
||||
'select_values' => $colorsets
|
||||
),
|
||||
array(
|
||||
'var' => 'skinset',
|
||||
'name' => THEME_SKINSET,
|
||||
'type' => 'select',
|
||||
'default' => 'light',
|
||||
'select_values' => $skinsets
|
||||
),
|
||||
array(
|
||||
'var' => 'header_img',
|
||||
'name' => HEADER_IMG,
|
||||
'description' => HEADER_IMG_DESC,
|
||||
'type' => 'media',
|
||||
'default' => serendipity_getTemplateFile('header.jpg', 'serendipityHTTPPath', true)
|
||||
),
|
||||
array(
|
||||
'var' => 'subheader_img',
|
||||
'name' => SUBHEADER_IMG,
|
||||
'description' => SUBHEADER_IMG_DESC,
|
||||
'type' => 'media',
|
||||
'default' => serendipity_getTemplateFile('subheader.jpg', 'serendipityHTTPPath', true)
|
||||
),
|
||||
array(
|
||||
'var' => 'date_format',
|
||||
'name' => ENTRY_DATE_FORMAT . ' (http://php.net/strftime)',
|
||||
'type' => 'string',
|
||||
'default' => DATE_FORMAT_ENTRY,
|
||||
),
|
||||
array(
|
||||
'var' => 'comment_time_format',
|
||||
'name' => COMMENT_TIME_FORMAT,
|
||||
'type' => 'select',
|
||||
'default' => 'words',
|
||||
'select_values' => array('words' => WORDS,
|
||||
'time' => TIMESTAMP)
|
||||
),
|
||||
array(
|
||||
'var' => 'display_as_timeline',
|
||||
'name' => DISPLAY_AS_TIMELINE,
|
||||
'description' => DISPLAY_AS_TIMELINE_DESC,
|
||||
'type' => 'boolean',
|
||||
'default' => true,
|
||||
),
|
||||
array(
|
||||
'var' => 'months_on_timeline',
|
||||
'name' => MONTHS_ON_TIMELINE,
|
||||
'description' => MONTHS_ON_TIMELINE_DESC,
|
||||
'type' => 'boolean',
|
||||
'default' => true,
|
||||
),
|
||||
array(
|
||||
'var' => 'months_on_timeline_format',
|
||||
'name' => MONTHS_ON_TIMELINE_FORMAT . ' (http://php.net/strftime)',
|
||||
'type' => 'string',
|
||||
'default' => '%B, %Y',
|
||||
),
|
||||
array(
|
||||
'var' => 'categories_on_archive',
|
||||
'name' => CATEGORIES_ON_ARCHIVE,
|
||||
'description' => CATEGORIES_ON_ARCHIVE_DESC,
|
||||
'type' => 'boolean',
|
||||
'default' => true,
|
||||
),
|
||||
array(
|
||||
'var' => 'category_rss_archive',
|
||||
'name' => CATEGORY_RSS_ON_ARCHIVE,
|
||||
'type' => 'boolean',
|
||||
'default' => true,
|
||||
), array(
|
||||
'var' => 'tags_on_archive',
|
||||
'name' => TAGS_ON_ARCHIVE,
|
||||
'description' => TAGS_ON_ARCHIVE_DESC,
|
||||
'type' => 'boolean',
|
||||
'default' => true,
|
||||
),
|
||||
array(
|
||||
'var' => 'copyright',
|
||||
'name' => COPYRIGHT,
|
||||
'type' => 'string',
|
||||
'default' => 'Copyright © ' . $serendipity['blogTitle'] . ' ' . date(Y) . '. <a href="#">Link 1</a> | <a href="#">Link 2</a> | <a href="' . $serendipity['baseURL'] . 'serendipity_admin.php">Login</a>',
|
||||
),
|
||||
array(
|
||||
'var' => 'social_icons_amount',
|
||||
'name' => SOCIAL_ICONS_AMOUNT,
|
||||
'type' => 'string',
|
||||
'default' => '2',
|
||||
),
|
||||
);
|
||||
|
||||
// register footer sidebar with smarty
|
||||
$FooterSidebarElements = serendipity_plugin_api::count_plugins('footer');
|
||||
$serendipity['smarty']->assign_by_ref('FooterSidebarElements', $FooterSidebarElements);
|
||||
|
||||
//$template_global_config = array('navigation' => true);
|
||||
//$template_loaded_config = serendipity_loadThemeOptions($template_config, $serendipity['smarty_vars']['template_option'], true);
|
||||
//$serendipity['template_loaded_config'][$serendipity['template']] = $template_loaded_config; // copy into global scope for extended plugin API usage
|
||||
//serendipity_loadGlobalThemeOptions($template_config, $template_loaded_config, $template_global_config);
|
||||
|
||||
|
||||
$template_global_config = array('navigation' => true);
|
||||
$serendipity['template_loaded_config'] = $template_loaded_config = serendipity_loadThemeOptions($template_config, $serendipity['smarty_vars']['template_option'], true);
|
||||
serendipity_loadGlobalThemeOptions($template_config, $template_loaded_config, $template_global_config);
|
||||
|
||||
|
||||
// $template_global_config = array('navigation' => true);
|
||||
// $template_loaded_config = serendipity_loadThemeOptions($template_config, $serendipity['smarty_vars']['template_option'], true);
|
||||
// serendipity_loadGlobalThemeOptions($template_config, $template_loaded_config, $template_global_config);
|
||||
|
||||
|
||||
// if number of icons has changed, show new count
|
||||
if(isset($_POST['serendipity']['template']['social_icons_amount']) && serendipity_userLoggedIn() && serendipity_checkPermission('adminTemplates')) {
|
||||
$temp_post=$_POST['serendipity']['template']['social_icons_amount'];
|
||||
if(is_numeric($temp_post)) {
|
||||
$template_loaded_config['social_icons_amount'] =$temp_post;
|
||||
}
|
||||
}
|
||||
|
||||
$socialicons = array();
|
||||
for ($i = 0; $i < $template_loaded_config['social_icons_amount']; $i++) {
|
||||
$template_config[] = array(
|
||||
'var' => 'social_icon' . $i . 'service',
|
||||
'name' => SOCIAL_NETWORK_SERVICE . ' #' .($i+1),
|
||||
'type' => 'select',
|
||||
'default' => 'RSS',
|
||||
'select_values' => array('Amazon' => 'Amazon',
|
||||
'Digg' => 'Digg',
|
||||
'Dribbble' => 'Dribbble',
|
||||
'Dropbox' => 'Dropbox',
|
||||
'Facebook' => 'Facebook',
|
||||
'Flickr' => 'Flickr',
|
||||
'Github' => 'Github',
|
||||
'Google' => 'Google',
|
||||
'Google Plus' => 'Google Plus',
|
||||
'Instagram' => 'Instagram',
|
||||
'LastFM' => 'LastFM',
|
||||
'Linkedin' => 'Linkedin',
|
||||
'Paypal' => 'Paypal',
|
||||
'Pinterest' => 'Pinterest',
|
||||
'RSS' => 'RSS',
|
||||
'Skype' => 'Skype',
|
||||
'Reddit' => 'Reddit',
|
||||
'Stumbleupon' => 'Stumbleupon',
|
||||
'Tumblr' => 'Tumblr',
|
||||
'Twitter' => 'Twitter',
|
||||
'Vimeo' => 'Vimeo',
|
||||
'Vine' => 'Vine',
|
||||
'Xing' => 'Xing',
|
||||
'YouTube' => 'YouTube')
|
||||
);
|
||||
$template_config[] = array(
|
||||
'var' => 'social_icon' . $i . 'url',
|
||||
'name' => SOCIAL_ICON_URL . ' #' .($i+1),
|
||||
'type' => 'string',
|
||||
'default' => '#',
|
||||
);
|
||||
$socialicons[] = array(
|
||||
'service' => $template_loaded_config['social_icon' . $i . 'service'],
|
||||
'url' => $template_loaded_config['social_icon' . $i . 'url'],
|
||||
);
|
||||
}
|
||||
$serendipity['smarty']->assign_by_ref('socialicons', $socialicons);
|
||||
|
||||
function getIcon($service) {
|
||||
$icons = array('Amazon' => 'fa-amazon', 'Digg' => 'fa-digg', 'Dribbble' => 'fa-dribbble', 'Dropbox' => 'fa-dropbox', 'Facebook' => 'fa-facebook', 'Flickr' => 'fa-flickr', 'Github' => 'fa-github', 'Google' =>'fa-google', 'Google Plus' => 'fa-google-plus', 'Instagram' => 'fa-instagram', 'LastFM' => 'fa-lastfm', 'Linkedin' => 'fa-linkedin', 'Paypal' => 'fa-paypal', 'Pinterest' => 'fa-pinterest', 'RSS' => 'fa-rss', 'Skype' => 'fa-skype', 'Reddit' => 'fa-reddit', 'Stumbleupon' => 'fa-stumbleupon', 'Tumblr' => 'fa-tumblr', 'Twitter' => 'fa-twitter', 'Vimeo' => 'fa-vimeo', 'Vine' => 'fa-vine', 'Xing' => 'fa-xing', 'YouTube' => 'fa-youtube',);
|
||||
return $icons[$service];
|
||||
}
|
||||
|
||||
$serendipity['smarty']->register_function('service_icon', 'getServiceIcon');
|
||||
|
||||
function getServiceIcon ($params, &$smarty) {
|
||||
return getIcon($params['from_service']);
|
||||
}
|
||||
|
||||
|
||||
$navlinks_collapse = array( 'use_corenav', 'amount');
|
||||
for ($i = 0; $i < $template_loaded_config['amount']; $i++) {
|
||||
array_push($navlinks_collapse, 'navlink' . $i . 'text' ,'navlink' . $i . 'url');
|
||||
}
|
||||
|
||||
$sociallinks_collapse = array('social_icons_amount');
|
||||
for ($i = 0; $i < $template_loaded_config['social_icons_amount']; $i++) {
|
||||
array_push($sociallinks_collapse, 'social_icon' . $i . 'service' ,'social_icon' . $i . 'url');
|
||||
}
|
||||
|
||||
$template_config_groups = array(
|
||||
THEME_README => array('theme_instructions'),
|
||||
THEME_IDENTITY => array('sidebars', 'header_img', 'subheader_img', 'colorset', 'skinset', 'copyright'),
|
||||
THEME_PAGE_OPTIONS => array('date_format', 'comment_time_format', 'display_as_timeline', 'months_on_timeline', 'months_on_timeline_format', 'categories_on_archive', 'category_rss_archive', 'tags_on_archive'),
|
||||
THEME_NAVIGATION => $navlinks_collapse,
|
||||
THEME_SOCIAL_LINKS => $sociallinks_collapse
|
||||
);
|
||||
|
||||
|
||||
// Save custom field variables within the serendipity "Edit/Create Entry" backend.
|
||||
// Any custom variables can later be queried inside the .tpl files through
|
||||
// {if $entry.properties.key_value == 'true'}...{/if}
|
||||
|
||||
// Function to get the content of a non-boolean entry variable
|
||||
function entry_option_get_value($property_key, &$eventData) {
|
||||
global $serendipity;
|
||||
if (isset($eventData['properties'][$property_key])) return $eventData['properties'][$property_key];
|
||||
if (isset($serendipity['POST']['properties'][$property_key])) return $serendipity['POST']['properties'][$property_key];
|
||||
return false;
|
||||
}
|
||||
|
||||
// Function to store form values into the serendipity database, so that they will be retrieved later.
|
||||
function entry_option_store($property_key, $property_val, &$eventData) {
|
||||
global $serendipity;
|
||||
|
||||
$q = "DELETE FROM {$serendipity['dbPrefix']}entryproperties WHERE entryid = " . (int)$eventData['id'] . " AND property = '" . serendipity_db_escape_string($property_key) . "'";
|
||||
serendipity_db_query($q);
|
||||
|
||||
if (!empty($property_val)) {
|
||||
$q = "INSERT INTO {$serendipity['dbPrefix']}entryproperties (entryid, property, value) VALUES (" . (int)$eventData['id'] . ", '" . serendipity_db_escape_string($property_key) . "', '" . serendipity_db_escape_string($property_val) . "')";
|
||||
serendipity_db_query($q);
|
||||
}
|
||||
}
|
||||
|
||||
function serendipity_plugin_api_pre_event_hook($event, &$bag, &$eventData, &$addData) {
|
||||
global $serendipity;
|
||||
|
||||
// Check what Event is coming in, only react to those we want.
|
||||
switch($event) {
|
||||
|
||||
// Displaying the backend entry section
|
||||
case 'backend_display':
|
||||
// INFO: The whole 'entryproperties' injection is easiest to store any data you want. The entryproperties plugin
|
||||
// should actually not even be required to do this, as serendipity loads all properties regardless of the installed plugin
|
||||
|
||||
// The name of the variable
|
||||
$timeline_image_key = 'timeline_image';
|
||||
|
||||
// Check what our special key is set to (checks both POST data as well as the actual data)
|
||||
$is_timeline_image = entry_option_get_value ($timeline_image_key, $eventData);
|
||||
|
||||
// This is the actual HTML output on the backend screen.
|
||||
//DEBUG: echo '<pre>' . print_r($eventData, true) . '</pre>';
|
||||
echo '<div class="entryproperties">';
|
||||
echo ' <input type="hidden" value="true" name="serendipity[propertyform]">';
|
||||
echo ' <div class="entryproperties_customfields adv_opts_box">';
|
||||
echo ' <h4>' . THEME_CUSTOM_FIELD_HEADING . '</h4>';
|
||||
echo ' <span>' . THEME_CUSTOM_FIELD_DEFINITION . '</span>';
|
||||
echo ' <div class="serendipity_customfields clearfix">';
|
||||
echo ' <div class="clearfix form_area media_choose" id="ep_column_' . $timeline_image_key . '">';
|
||||
echo ' <label for="' . $timeline_image_key . '">' . THEME_ENTRY_IMAGE. '</label>';
|
||||
echo ' <textarea data-configitem="' . $timeline_image_key . '" name="serendipity[properties][' . $timeline_image_key . ']" class="change_preview" id="prop' . $timeline_image_key . '">' . $is_timeline_image . '</textarea>';
|
||||
echo ' <button title="' . MEDIA . '" name="insImage" type="button" class="customfieldMedia"><span class="icon-picture"></span><span class="visuallyhidden">' . MEDIA . '</span></button>';
|
||||
echo ' <figure id="' . $timeline_image_key . '_preview">';
|
||||
echo ' <figcaption>' . PREVIEW . '</figcaption>';
|
||||
echo ' <img alt="" src="' . $is_timeline_image . '">';
|
||||
echo ' </figure>';
|
||||
echo ' </div>';
|
||||
echo ' </div>';
|
||||
echo ' </div>';
|
||||
echo ' </div>';
|
||||
|
||||
break;
|
||||
|
||||
// To store the value of our entryproperties
|
||||
case 'backend_publish':
|
||||
case 'backend_save':
|
||||
// Call the helper function with all custom variables here.
|
||||
entry_option_store('timeline_image', $serendipity['POST']['properties']['timeline_image'], $eventData);
|
||||
break;
|
||||
|
||||
case 'css':
|
||||
$tfile = dirname(__FILE__) . '/' . $serendipity['template_loaded_config']['skinset'] . '_skin.css';
|
||||
if ($tfile) {
|
||||
$tfilecontent = str_replace('img/', 'templates/' . $serendipity['template'] . '/img/', @file_get_contents($tfile));
|
||||
}
|
||||
if (!empty($tfilecontent)) {
|
||||
$eventData .= "/* Skinset styles loaded via theme config */ \n\n" . $tfilecontent . "\n\n";
|
||||
$tfilecontent = ''; // so as not to have content in next condition since reusing var.
|
||||
}
|
||||
$tfile = dirname(__FILE__) . '/' . $serendipity['template_loaded_config']['colorset'] . '_style.css';
|
||||
if ($tfile) {
|
||||
$tfilecontent = str_replace('img/', 'templates/' . $serendipity['template'] . '/img/', @file_get_contents($tfile));
|
||||
}
|
||||
if (!empty($tfilecontent)) {
|
||||
$eventData .= "/* Colorset styles loaded via theme config */ \n\n" . $tfilecontent . "\n\n";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
111
templates/timeline/content.tpl
Normal file
@ -0,0 +1,111 @@
|
||||
{if $searchresult_tooShort || $searchresult_noEntries}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div id="search-response" class="panel panel-warning">
|
||||
<div class="panel-heading">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span><span class="sr-only">{$CONST.CLOSE}</span></button>
|
||||
<h3 class="panel-title">{$CONST.SEARCH}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p><span class="fa-stack text-warning" aria-hidden="true"><i class="fa fa-frown-o fa-2x"></i></span> {$content_message}</p>
|
||||
<div class="input-group" style="width:100%; margin-bottom: 20px;">{* REMOVE INLINE STYLES *}
|
||||
<form id="searchform" class="input-group" action="{$serendipityHTTPPath}{$serendipityIndexFile}" method="get">
|
||||
<input type="hidden" name="serendipity[action]" value="search" />
|
||||
<label for="serendipityQuickSearchTermFieldBox" class="sr-only">{$CONST.QUICKSEARCH}</label>
|
||||
<input class="form-control" alt="{$CONST.SEARCH_SITE}" type="text" id="serendipityQuickSearchTermFieldBox" name="serendipity[searchTerm]" value="{$CONST.SEARCH}..." onfocus="if(this.value=='{$CONST.SEARCH}...')value=''" onblur="if(this.value=='')value='{$CONST.SEARCH}...';" />
|
||||
<span class="input-group-btn">
|
||||
<input class="btn btn-sm btn-default btn-theme quicksearch_submit" type="submit" value="{$CONST.GO}" alt="{$CONST.SEARCH_SITE}" name="serendipity[searchButton]" title="{$CONST.SEARCH}" />
|
||||
</span>
|
||||
<div id="LSResult" style="display: none;"><div id="LSShadow"></div></div>
|
||||
</form>
|
||||
</div>
|
||||
{serendipity_hookPlugin hook="quicksearch_plugin" hookAll="true"}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{elseif $searchresult_error}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div id="search-response" class="panel panel-danger">
|
||||
<div class="panel-heading">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span><span class="sr-only">{$CONST.CLOSE}</span></button>
|
||||
<h3 class="panel-title">{$CONST.SEARCH}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p><span class="fa-stack text-danger" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$content_message}</p>
|
||||
<div class="input-group" style="width:100%; margin-bottom: 20px;">{* REMOVE INLINE STYLES *}
|
||||
<form id="searchform" class="input-group" action="{$serendipityHTTPPath}{$serendipityIndexFile}" method="get">
|
||||
<input type="hidden" name="serendipity[action]" value="search" />
|
||||
<label for="serendipityQuickSearchTermFieldBox" class="sr-only">{$CONST.QUICKSEARCH}</label>
|
||||
<input class="form-control" alt="{$CONST.SEARCH_SITE}" type="text" id="serendipityQuickSearchTermFieldBox" name="serendipity[searchTerm]" value="{$CONST.SEARCH}..." onfocus="if(this.value=='{$CONST.SEARCH}...')value=''" onblur="if(this.value=='')value='{$CONST.SEARCH}...';" />
|
||||
<span class="input-group-btn">
|
||||
<input class="btn btn-sm btn-default btn-theme quicksearch_submit" type="submit" value="{$CONST.GO}" alt="{$CONST.SEARCH_SITE}" name="serendipity[searchButton]" title="{$CONST.SEARCH}" />
|
||||
</span>
|
||||
<div id="LSResult" style="display: none;"><div id="LSShadow"></div></div>
|
||||
</form>
|
||||
</div>
|
||||
{serendipity_hookPlugin hook="quicksearch_plugin" hookAll="true"}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{elseif $searchresult_results}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div id="search-response" class="panel panel-success">
|
||||
<div class="panel-heading">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span><span class="sr-only">{$CONST.CLOSE}</span></button>
|
||||
<h3 class="panel-title">{$CONST.SEARCH}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<span class="fa-stack text-success" aria-hidden="true"></i><i class="fa fa-smile-o fa-2x"></i></span> {$content_message}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{elseif $subscribe_confirm_error}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div id="search-response" class="panel panel-danger">
|
||||
<div class="panel-heading">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span><span class="sr-only">{$CONST.ERROR}</span></button>
|
||||
<h3 class="panel-title">{$CONST.ERROR}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<span class="fa-stack text-danger" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$content_message}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{elseif $subscribe_confirm_success}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div id="search-response" class="panel panel-success">
|
||||
<div class="panel-heading">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span><span class="sr-only">{$CONST.CLOSE}</span></button>
|
||||
<h3 class="panel-title">{$CONST.SUCCESS}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<span class="fa-stack text-success" aria-hidden="true"></i><i class="fa fa-smile-o fa-2x"></i></span> {$content_message}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{elseif $content_message}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="alert alert-info alert-dismissible fade in" role="alert">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span></button>
|
||||
<span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-info fa-stack-1x"></i></span></span> {$content_message}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{$ENTRIES}
|
||||
{$ARCHIVES}
|
861
templates/timeline/dark_skin.css
Normal file
@ -0,0 +1,861 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
dark skin
|
||||
*/
|
||||
|
||||
body {
|
||||
background-color: #252525;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.RightSideBar a{
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
background-color: #252525;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: #222;
|
||||
border-bottom: 2px solid #333;
|
||||
}
|
||||
|
||||
.header-custom.is-fixed {
|
||||
background-color: rgba(83, 83, 83, 0.9);
|
||||
}
|
||||
|
||||
.subheader {
|
||||
background-color: #1c1c1c;
|
||||
border-bottom: 1px solid #252525;
|
||||
}
|
||||
|
||||
.staticpage_subheader {
|
||||
color: #808080;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle .fa { /* navbar toggle icon */
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li > a { /* top navbar items */
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li a {
|
||||
border-bottom: 1px solid #383838;
|
||||
}
|
||||
|
||||
.is-fixed .navbar-default .navbar-nav > li > a { /* top navbar items when scrolling up */
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background: #444444;
|
||||
}
|
||||
|
||||
.modal-header {border-bottom: 1px solid #252525}
|
||||
|
||||
.modal-footer {border:0}
|
||||
|
||||
.modal-dialog button.close {color: inherit; opacity: 0.5;}
|
||||
|
||||
#serendipityQuickSearchTermField {
|
||||
background: #252525;
|
||||
border: 1px solid #252525;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-color:#383838;
|
||||
}
|
||||
|
||||
.post-info,
|
||||
.archives_summary .post-info {color: #777;}
|
||||
|
||||
.btn-theme.disabled {
|
||||
background-color: #535353;
|
||||
border: 1px solid #535353;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.timeline:before { /* this is the vertical line */
|
||||
background-color: #383838;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel {
|
||||
border: 1px solid #383838;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel:before {
|
||||
border-left: 15px solid #383838;
|
||||
border-right: 0 solid #383838;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel:after {
|
||||
border-left: 14px solid #383838;
|
||||
border-right: 0 solid #383838;
|
||||
}
|
||||
|
||||
.timeline > li.timeline-month-heading {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.tldate {
|
||||
background-color: #444;
|
||||
border: 2px solid #383838;
|
||||
color: #adadad;
|
||||
}
|
||||
|
||||
.entry-footer .fa,
|
||||
.timeline > li > .timeline-badge {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.timeline .timeline-footer{
|
||||
border-top: 1px solid #383838;
|
||||
}
|
||||
|
||||
.timeline .timeline-footer i {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 992px) {
|
||||
.timeline > li > .timeline-panel:before {
|
||||
border-left: 11px solid #383838;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel:after {
|
||||
border-left: 10px solid #383838;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 767px) {
|
||||
ul.timeline > li > .timeline-panel:before {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
ul.timeline > li > .timeline-panel:after {
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.footer-container .footer {
|
||||
background-color: #1c1c1c;
|
||||
}
|
||||
|
||||
.footer-container .footer,
|
||||
.footer-container .footer li,
|
||||
.footer-container .footer p {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.FooterSideBar a {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
.footer-socials a {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.comment-date {
|
||||
color: #808080;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.serendipity_imageComment_txt {
|
||||
color: #555555;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
color: #555555;
|
||||
}
|
||||
|
||||
table {
|
||||
margin-bottom: 20px;
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
table > tbody > tr > td,
|
||||
table > tbody > tr > th,
|
||||
table > tfoot > tr > td,
|
||||
table > tfoot > tr > th,
|
||||
table > thead > tr > td,
|
||||
table > thead > tr > th {
|
||||
border-top: 1px solid #ddd;
|
||||
line-height: 1.42857;
|
||||
padding: 8px;
|
||||
vertical-align: top;
|
||||
}
|
||||
table > thead > tr > th {
|
||||
border-bottom: 2px solid #ddd;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
table > caption + thead > tr:first-child > td,
|
||||
table > caption + thead > tr:first-child > th,
|
||||
table > colgroup + thead > tr:first-child > td,
|
||||
table > colgroup + thead > tr:first-child > th,
|
||||
table > thead:first-child > tr:first-child > td,
|
||||
table > thead:first-child > tr:first-child > th {
|
||||
border-top: 0 none;
|
||||
}
|
||||
table > tbody + tbody {
|
||||
border-top: 2px solid #ddd;
|
||||
}
|
||||
table table {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#captcha,
|
||||
#serendipity_replyTo,
|
||||
.form-control {
|
||||
background-color: #222;
|
||||
border: 1px solid #383838;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
/* bootstrap classes for darker skin */
|
||||
.alert-success {
|
||||
background-color: #62c462;
|
||||
border-color: #62bd4f;
|
||||
color: #ffffff;
|
||||
}
|
||||
.alert-success hr {
|
||||
border-top-color: #55b142;
|
||||
}
|
||||
.alert-success .alert-link {
|
||||
color: #e6e6e6;
|
||||
}
|
||||
.alert-info {
|
||||
background-color: #5bc0de;
|
||||
border-color: #3dced8;
|
||||
color: #ffffff;
|
||||
}
|
||||
.alert-info hr {
|
||||
border-top-color: #2ac7d2;
|
||||
}
|
||||
.alert-info .alert-link {
|
||||
color: #e6e6e6;
|
||||
}
|
||||
.alert-warning {
|
||||
background-color: #f89406;
|
||||
border-color: #e96506;
|
||||
color: #ffffff;
|
||||
}
|
||||
.alert-warning hr {
|
||||
border-top-color: #d05a05;
|
||||
}
|
||||
.alert-warning .alert-link {
|
||||
color: #e6e6e6;
|
||||
}
|
||||
.alert-danger {
|
||||
background-color: #ee5f5b;
|
||||
border-color: #ed4d63;
|
||||
color: #ffffff;
|
||||
}
|
||||
.alert-danger hr {
|
||||
border-top-color: #ea364f;
|
||||
}
|
||||
.alert-danger .alert-link {
|
||||
color: #e6e6e6;
|
||||
}
|
||||
|
||||
.panel {
|
||||
margin-bottom: 20px;
|
||||
background-color: #2e3338;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
||||
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.panel-body {
|
||||
padding: 15px;
|
||||
}
|
||||
.panel-heading {
|
||||
padding: 10px 15px;
|
||||
border-bottom: 1px solid transparent;
|
||||
border-top-right-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.panel-heading > .dropdown .dropdown-toggle {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.panel-title > a,
|
||||
.panel-title > small,
|
||||
.panel-title > .small,
|
||||
.panel-title > small > a,
|
||||
.panel-title > .small > a {
|
||||
color: inherit;
|
||||
}
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #3e444c;
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.6);
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
.panel > .list-group,
|
||||
.panel > .panel-collapse > .list-group {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.panel > .list-group .list-group-item,
|
||||
.panel > .panel-collapse > .list-group .list-group-item {
|
||||
border-width: 1px 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.panel > .list-group:first-child .list-group-item:first-child,
|
||||
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
|
||||
border-top: 0;
|
||||
border-top-right-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.panel > .list-group:last-child .list-group-item:last-child,
|
||||
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
|
||||
border-bottom: 0;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
|
||||
border-top-right-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
.panel-heading + .list-group .list-group-item:first-child {
|
||||
border-top-width: 0;
|
||||
}
|
||||
.list-group + .panel-footer {
|
||||
border-top-width: 0;
|
||||
}
|
||||
.panel > .table,
|
||||
.panel > .table-responsive > .table,
|
||||
.panel > .panel-collapse > .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.panel > .table caption,
|
||||
.panel > .table-responsive > .table caption,
|
||||
.panel > .panel-collapse > .table caption {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
.panel > .table:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child {
|
||||
border-top-right-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
|
||||
border-top-left-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
|
||||
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
|
||||
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
|
||||
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.panel > .table:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
|
||||
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
|
||||
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
|
||||
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
.panel > .panel-body + .table,
|
||||
.panel > .panel-body + .table-responsive,
|
||||
.panel > .table + .panel-body,
|
||||
.panel > .table-responsive + .panel-body {
|
||||
border-top: 1px solid #1c1e22;
|
||||
}
|
||||
.panel > .table > tbody:first-child > tr:first-child th,
|
||||
.panel > .table > tbody:first-child > tr:first-child td {
|
||||
border-top: 0;
|
||||
}
|
||||
.panel > .table-bordered,
|
||||
.panel > .table-responsive > .table-bordered {
|
||||
border: 0;
|
||||
}
|
||||
.panel > .table-bordered > thead > tr > th:first-child,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
|
||||
.panel > .table-bordered > tbody > tr > th:first-child,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
|
||||
.panel > .table-bordered > tfoot > tr > th:first-child,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
||||
.panel > .table-bordered > thead > tr > td:first-child,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
|
||||
.panel > .table-bordered > tbody > tr > td:first-child,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
|
||||
.panel > .table-bordered > tfoot > tr > td:first-child,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
||||
border-left: 0;
|
||||
}
|
||||
.panel > .table-bordered > thead > tr > th:last-child,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
|
||||
.panel > .table-bordered > tbody > tr > th:last-child,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
|
||||
.panel > .table-bordered > tfoot > tr > th:last-child,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
||||
.panel > .table-bordered > thead > tr > td:last-child,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
|
||||
.panel > .table-bordered > tbody > tr > td:last-child,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
|
||||
.panel > .table-bordered > tfoot > tr > td:last-child,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
.panel > .table-bordered > thead > tr:first-child > td,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
|
||||
.panel > .table-bordered > tbody > tr:first-child > td,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
|
||||
.panel > .table-bordered > thead > tr:first-child > th,
|
||||
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
|
||||
.panel > .table-bordered > tbody > tr:first-child > th,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.panel > .table-bordered > tbody > tr:last-child > td,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
|
||||
.panel > .table-bordered > tfoot > tr:last-child > td,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
|
||||
.panel > .table-bordered > tbody > tr:last-child > th,
|
||||
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
|
||||
.panel > .table-bordered > tfoot > tr:last-child > th,
|
||||
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.panel > .table-responsive {
|
||||
border: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.panel-group {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.panel-group .panel {
|
||||
margin-bottom: 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.panel-group .panel + .panel {
|
||||
margin-top: 5px;
|
||||
}
|
||||
.panel-group .panel-heading {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.panel-group .panel-heading + .panel-collapse > .panel-body,
|
||||
.panel-group .panel-heading + .panel-collapse > .list-group {
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-group .panel-footer {
|
||||
border-top: 0;
|
||||
}
|
||||
.panel-group .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-default {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-default > .panel-heading {
|
||||
color: #c8c8c8;
|
||||
background-color: #3e444c;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-default > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-default > .panel-heading .badge {
|
||||
color: #3e444c;
|
||||
background-color: #c8c8c8;
|
||||
}
|
||||
.panel-default > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-primary {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-primary > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #7a8288;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-primary > .panel-heading .badge {
|
||||
color: #7a8288;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-success {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-success > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #62c462;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-success > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-success > .panel-heading .badge {
|
||||
color: #62c462;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-success > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-info {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-info > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #5bc0de;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-info > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-info > .panel-heading .badge {
|
||||
color: #5bc0de;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-info > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-warning {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-warning > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #f89406;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-warning > .panel-heading .badge {
|
||||
color: #f89406;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-danger {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-danger > .panel-heading {
|
||||
color: #ffffff;
|
||||
background-color: #ee5f5b;
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
|
||||
border-top-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
.panel-danger > .panel-heading .badge {
|
||||
color: #ee5f5b;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
|
||||
border-bottom-color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
table {
|
||||
background-color: #2e3338;
|
||||
}
|
||||
caption {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
color: #7a8288;
|
||||
text-align: left;
|
||||
}
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
.table {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.table > thead > tr > th,
|
||||
.table > tbody > tr > th,
|
||||
.table > tfoot > tr > th,
|
||||
.table > thead > tr > td,
|
||||
.table > tbody > tr > td,
|
||||
.table > tfoot > tr > td {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #1c1e22;
|
||||
}
|
||||
.table > thead > tr > th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #1c1e22;
|
||||
}
|
||||
.table > caption + thead > tr:first-child > th,
|
||||
.table > colgroup + thead > tr:first-child > th,
|
||||
.table > thead:first-child > tr:first-child > th,
|
||||
.table > caption + thead > tr:first-child > td,
|
||||
.table > colgroup + thead > tr:first-child > td,
|
||||
.table > thead:first-child > tr:first-child > td {
|
||||
border-top: 0;
|
||||
}
|
||||
.table > tbody + tbody {
|
||||
border-top: 2px solid #1c1e22;
|
||||
}
|
||||
.table .table {
|
||||
background-color: #272b30;
|
||||
}
|
||||
.table-condensed > thead > tr > th,
|
||||
.table-condensed > tbody > tr > th,
|
||||
.table-condensed > tfoot > tr > th,
|
||||
.table-condensed > thead > tr > td,
|
||||
.table-condensed > tbody > tr > td,
|
||||
.table-condensed > tfoot > tr > td {
|
||||
padding: 5px;
|
||||
}
|
||||
.table-bordered {
|
||||
border: 1px solid #1c1e22;
|
||||
}
|
||||
.table-bordered > thead > tr > th,
|
||||
.table-bordered > tbody > tr > th,
|
||||
.table-bordered > tfoot > tr > th,
|
||||
.table-bordered > thead > tr > td,
|
||||
.table-bordered > tbody > tr > td,
|
||||
.table-bordered > tfoot > tr > td {
|
||||
border: 1px solid #1c1e22;
|
||||
}
|
||||
.table-bordered > thead > tr > th,
|
||||
.table-bordered > thead > tr > td {
|
||||
border-bottom-width: 2px;
|
||||
}
|
||||
.table-striped > tbody > tr:nth-of-type(odd) {
|
||||
background-color: #353a41;
|
||||
}
|
||||
.table-hover > tbody > tr:hover {
|
||||
background-color: #49515a;
|
||||
}
|
||||
table col[class*="col-"] {
|
||||
position: static;
|
||||
float: none;
|
||||
display: table-column;
|
||||
}
|
||||
table td[class*="col-"],
|
||||
table th[class*="col-"] {
|
||||
position: static;
|
||||
float: none;
|
||||
display: table-cell;
|
||||
}
|
||||
.table > thead > tr > td.active,
|
||||
.table > tbody > tr > td.active,
|
||||
.table > tfoot > tr > td.active,
|
||||
.table > thead > tr > th.active,
|
||||
.table > tbody > tr > th.active,
|
||||
.table > tfoot > tr > th.active,
|
||||
.table > thead > tr.active > td,
|
||||
.table > tbody > tr.active > td,
|
||||
.table > tfoot > tr.active > td,
|
||||
.table > thead > tr.active > th,
|
||||
.table > tbody > tr.active > th,
|
||||
.table > tfoot > tr.active > th {
|
||||
background-color: #49515a;
|
||||
}
|
||||
.table-hover > tbody > tr > td.active:hover,
|
||||
.table-hover > tbody > tr > th.active:hover,
|
||||
.table-hover > tbody > tr.active:hover > td,
|
||||
.table-hover > tbody > tr:hover > .active,
|
||||
.table-hover > tbody > tr.active:hover > th {
|
||||
background-color: #3e444c;
|
||||
}
|
||||
.table > thead > tr > td.success,
|
||||
.table > tbody > tr > td.success,
|
||||
.table > tfoot > tr > td.success,
|
||||
.table > thead > tr > th.success,
|
||||
.table > tbody > tr > th.success,
|
||||
.table > tfoot > tr > th.success,
|
||||
.table > thead > tr.success > td,
|
||||
.table > tbody > tr.success > td,
|
||||
.table > tfoot > tr.success > td,
|
||||
.table > thead > tr.success > th,
|
||||
.table > tbody > tr.success > th,
|
||||
.table > tfoot > tr.success > th {
|
||||
background-color: #62c462;
|
||||
}
|
||||
.table-hover > tbody > tr > td.success:hover,
|
||||
.table-hover > tbody > tr > th.success:hover,
|
||||
.table-hover > tbody > tr.success:hover > td,
|
||||
.table-hover > tbody > tr:hover > .success,
|
||||
.table-hover > tbody > tr.success:hover > th {
|
||||
background-color: #4fbd4f;
|
||||
}
|
||||
.table > thead > tr > td.info,
|
||||
.table > tbody > tr > td.info,
|
||||
.table > tfoot > tr > td.info,
|
||||
.table > thead > tr > th.info,
|
||||
.table > tbody > tr > th.info,
|
||||
.table > tfoot > tr > th.info,
|
||||
.table > thead > tr.info > td,
|
||||
.table > tbody > tr.info > td,
|
||||
.table > tfoot > tr.info > td,
|
||||
.table > thead > tr.info > th,
|
||||
.table > tbody > tr.info > th,
|
||||
.table > tfoot > tr.info > th {
|
||||
background-color: #5bc0de;
|
||||
}
|
||||
.table-hover > tbody > tr > td.info:hover,
|
||||
.table-hover > tbody > tr > th.info:hover,
|
||||
.table-hover > tbody > tr.info:hover > td,
|
||||
.table-hover > tbody > tr:hover > .info,
|
||||
.table-hover > tbody > tr.info:hover > th {
|
||||
background-color: #46b8da;
|
||||
}
|
||||
.table > thead > tr > td.warning,
|
||||
.table > tbody > tr > td.warning,
|
||||
.table > tfoot > tr > td.warning,
|
||||
.table > thead > tr > th.warning,
|
||||
.table > tbody > tr > th.warning,
|
||||
.table > tfoot > tr > th.warning,
|
||||
.table > thead > tr.warning > td,
|
||||
.table > tbody > tr.warning > td,
|
||||
.table > tfoot > tr.warning > td,
|
||||
.table > thead > tr.warning > th,
|
||||
.table > tbody > tr.warning > th,
|
||||
.table > tfoot > tr.warning > th {
|
||||
background-color: #f89406;
|
||||
}
|
||||
.table-hover > tbody > tr > td.warning:hover,
|
||||
.table-hover > tbody > tr > th.warning:hover,
|
||||
.table-hover > tbody > tr.warning:hover > td,
|
||||
.table-hover > tbody > tr:hover > .warning,
|
||||
.table-hover > tbody > tr.warning:hover > th {
|
||||
background-color: #df8505;
|
||||
}
|
||||
.table > thead > tr > td.danger,
|
||||
.table > tbody > tr > td.danger,
|
||||
.table > tfoot > tr > td.danger,
|
||||
.table > thead > tr > th.danger,
|
||||
.table > tbody > tr > th.danger,
|
||||
.table > tfoot > tr > th.danger,
|
||||
.table > thead > tr.danger > td,
|
||||
.table > tbody > tr.danger > td,
|
||||
.table > tfoot > tr.danger > td,
|
||||
.table > thead > tr.danger > th,
|
||||
.table > tbody > tr.danger > th,
|
||||
.table > tfoot > tr.danger > th {
|
||||
background-color: #ee5f5b;
|
||||
}
|
||||
|
||||
.table-hover > tbody > tr > td.danger:hover,
|
||||
.table-hover > tbody > tr > th.danger:hover,
|
||||
.table-hover > tbody > tr.danger:hover > td,
|
||||
.table-hover > tbody > tr:hover > .danger,
|
||||
.table-hover > tbody > tr.danger:hover > th {
|
||||
background-color: #ec4844;
|
||||
}
|
||||
|
||||
table, .table .success, .table .warning, .table .danger, .table .info {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
overflow-x: auto;
|
||||
min-height: 0.01%;
|
||||
}
|
||||
@media screen and (max-width: 767px) {
|
||||
.table-responsive {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
overflow-y: hidden;
|
||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||
border: 1px solid #1c1e22;
|
||||
}
|
||||
.table-responsive > .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.table-responsive > .table > thead > tr > th,
|
||||
.table-responsive > .table > tbody > tr > th,
|
||||
.table-responsive > .table > tfoot > tr > th,
|
||||
.table-responsive > .table > thead > tr > td,
|
||||
.table-responsive > .table > tbody > tr > td,
|
||||
.table-responsive > .table > tfoot > tr > td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.table-responsive > .table-bordered {
|
||||
border: 0;
|
||||
}
|
||||
.table-responsive > .table-bordered > thead > tr > th:first-child,
|
||||
.table-responsive > .table-bordered > tbody > tr > th:first-child,
|
||||
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
||||
.table-responsive > .table-bordered > thead > tr > td:first-child,
|
||||
.table-responsive > .table-bordered > tbody > tr > td:first-child,
|
||||
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
||||
border-left: 0;
|
||||
}
|
||||
.table-responsive > .table-bordered > thead > tr > th:last-child,
|
||||
.table-responsive > .table-bordered > tbody > tr > th:last-child,
|
||||
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
||||
.table-responsive > .table-bordered > thead > tr > td:last-child,
|
||||
.table-responsive > .table-bordered > tbody > tr > td:last-child,
|
||||
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
.table-responsive > .table-bordered > tbody > tr:last-child > th,
|
||||
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
|
||||
.table-responsive > .table-bordered > tbody > tr:last-child > td,
|
||||
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
324
templates/timeline/entries.tpl
Normal file
@ -0,0 +1,324 @@
|
||||
{serendipity_hookPlugin hook="entries_header" addData="$entry_id"}
|
||||
|
||||
{if $template_option.display_as_timeline and $entries and !$is_single_entry and not $entry.is_extended and not $is_preview}{* THIS IS OUR FRONTPAGE SCENARIO - OPEN TIMELINE*}
|
||||
<ul class="timeline">
|
||||
{assign var="prevmonth" value=''}
|
||||
{/if}
|
||||
|
||||
{foreach from=$entries item="dategroup" name="entrytop"}
|
||||
{foreach from=$dategroup.entries item="entry"}
|
||||
{assign var="entry" value=$entry scope="parent"}
|
||||
{if !$is_single_entry and not $entry.is_extended and not $is_preview}{* THIS IS OUR FRONTPAGE SCENARIO *}
|
||||
{if $template_option.display_as_timeline}
|
||||
{if $template_option.months_on_timeline == true}
|
||||
{assign var="curmonth" value=$entry.timestamp|@formatTime:"%B"}
|
||||
{if $prevmonth != $curmonth}
|
||||
<li class="timeline-month-heading"><div class="tldate">{$entry.timestamp|@formatTime:$template_option.months_on_timeline_format}</div></li>
|
||||
{assign var="timelinetmargin" value="timeline-no-top-margin"}
|
||||
{else}
|
||||
{if $timelinetmargin =="timeline-top-margin"}{assign var="timelinetmargin" value="timeline-no-top-margin"}{else}{assign var="timelinetmargin" value="timeline-top-margin"}{/if}
|
||||
{/if}
|
||||
<li class="{cycle values='left,timeline-inverted'} {$timelinetmargin}">
|
||||
{else}
|
||||
<li class="{cycle values='left,timeline-inverted timeline-top-margin'}">
|
||||
{/if}
|
||||
<div class="timeline-badge"><i class="fa fa-dot-circle-o" aria-hidden="true"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
{if $entry.properties.timeline_image|is_in_string:'<iframe,<embed,<object'}{* we assume this is a video, just emit the contents of the var *}
|
||||
{$entry.properties.timeline_image}
|
||||
{else}
|
||||
<a href="{$entry.link}" title="{$entry.title}"><img class="img-responsive" {if $entry.properties.timeline_image}src="{$entry.properties.timeline_image}"{else}src="{serendipity_getFile file='img/image_unavailable.jpg'}"{/if} alt=""/></a>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<h2><a href="{$entry.link}">{$entry.title}</a></h2>
|
||||
{$entry.body}
|
||||
{if $entry.has_extended and not $is_single_entry and not $entry.is_extended}
|
||||
<p class="read_more"><a class="btn btn-md btn-default btn-readmore btn-theme clearfix" href="{$entry.link}#extended">{$CONST.READ_MORE} <i class="fa fa-arrow-right" aria-hidden="true"></i></a></p>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="timeline-footer">
|
||||
<span class="timeline-footer-date"><i class="fa fa-clock-o"></i><time datetime="{$entry.timestamp|@serendipity_html5time}">{$entry.timestamp|@formatTime:$template_option.date_format}</time></span>
|
||||
<span class="timeline-footer-comments"><i class="fa {if $entry.comments == 0}fa-comment-o{elseif $entry.comments == 1}fa-comment{else}fa-comments-o{/if}" aria-hidden="true"></i> <a href="{$entry.link}#comments">{if $entry.comments == 0}{$CONST.NO_COMMENTS}{else}{$entry.comments} {$entry.label_comments}{/if}</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{assign var="prevmonth" value=$entry.timestamp|@formatTime:"%B"}
|
||||
{else}{* not using timeline - use blog format instead *}
|
||||
{if $entry.body || $entry.properties.timeline_image}
|
||||
<div class="row each-blogstyle-entry">
|
||||
<div class="col-md-5 blogstyle-post-thumb">
|
||||
{if $entry.properties.timeline_image|is_in_string:'<iframe,<embed,<object'}{* we assume this is a video, just emit the contents of the var *}
|
||||
<div>{$entry.properties.timeline_image}</div>
|
||||
{else}
|
||||
<a href="{$entry.link}" title="{$entry.title}"><img class="img-responsive" {if $entry.properties.timeline_image}src="{$entry.properties.timeline_image}"{else}src="{serendipity_getFile file='img/image_unavailable.jpg'}"{/if} alt=""/></a>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="col-md-7 blogstyle-post-body">
|
||||
<h2><a href="{$entry.link}">{$entry.title}</a></h2>
|
||||
<p class="post-info"><span class="sr-only">{$CONST.POSTED_BY}</span>
|
||||
<span class="sr-only"> {$CONST.ON}</span><span class="entry-timestamp"><i class="fa fa-clock-o" aria-hidden="true"></i><time datetime="{$entry.timestamp|serendipity_html5time}">{$entry.timestamp|formatTime:$template_option.date_format}</time></span>
|
||||
<span class="entry-comment-link"><i class="fa {if $entry.comments == 0}fa-comment-o{elseif $entry.comments == 1}fa-comment{else}fa-comments-o{/if}" aria-hidden="true"></i><a href="{$entry.link}#comments">{if $entry.comments == 0}{$CONST.NO_COMMENTS}{else}{$entry.comments} {$entry.label_comments}{/if}</a></span>
|
||||
</p>
|
||||
{$entry.body}
|
||||
{if $entry.has_extended and not $is_single_entry and not $entry.is_extended}
|
||||
<p class="read_more"><a class="btn btn-md btn-default btn-readmore btn-theme clearfix" href="{$entry.link}#extended">{$CONST.READ_MORE} <i class="fa fa-arrow-right" aria-hidden="true"></i></a></p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
{/if}
|
||||
{/if}
|
||||
{else} {* THIS IS A DETAILED ENTRY VIEW *}
|
||||
<section id="entry">
|
||||
<h2><a href="{$entry.link}">{$entry.title}</a></h2>
|
||||
<p class="post-info clearfix">
|
||||
<span class="sr-only">{$CONST.POSTED_BY}</span>
|
||||
<span class="entry-author-link"><i class ="fa fa-user" aria-hidden="true"></i><a href="{$entry.link_author}">{$entry.author}</a></span>
|
||||
<span class="sr-only"> {$CONST.ON}</span><span class="entry-timestamp"><i class="fa fa-clock-o" aria-hidden="true"></i><time datetime="{$entry.timestamp|serendipity_html5time}">{$entry.timestamp|formatTime:$template_option.date_format}</time></span>
|
||||
<span class="entry-comment-link"><i class="fa {if $entry.comments == 0}fa-comment-o{elseif $entry.comments == 1}fa-comment{else}fa-comments-o{/if}" aria-hidden="true"></i><a href="{$entry.link}#comments">{if $entry.comments == 0}{$CONST.NO_COMMENTS}{else}{$entry.comments} {$entry.label_comments}{/if}</a></span>
|
||||
{if $entry.is_entry_owner and not $is_preview}<span class="entry-edit-link"><i class="fa fa-lg fa-edit"></i><a href="{$entry.link_edit}" title="{$CONST.EDIT_ENTRY}">{$CONST.EDIT_ENTRY}</a></span>{/if}
|
||||
</p>
|
||||
{if $is_preview}
|
||||
{append var='entry' value=$smarty.session.save_entry_POST.properties index='properties'}{* gives us access to entry properties in preview *}
|
||||
{/if}
|
||||
{if $entry.properties.timeline_image}
|
||||
{if $entry.properties.timeline_image|is_in_string:'<iframe,<embed,<object'}{* we assume this is a video, just emit the contents of the var *}
|
||||
{$entry.properties.timeline_image}
|
||||
{else}
|
||||
{serendipity_getImageSize file=$entry.properties.timeline_image assign="img_size"}
|
||||
<img class="{if $img_size[0]>=800}image-full-width{else}serendipity_image_left{/if}" src="{$entry.properties.timeline_image}" width="{$img_size[0]}" height="{$img_size[1]}" alt=""/>
|
||||
{/if}
|
||||
{/if}
|
||||
<div class="serendipity_entry_body clearfix">
|
||||
{if $entry.categories}{foreach from=$entry.categories item="entry_category"}{if $entry_category.category_icon}<a href="{$entry_category.category_link}"><img class="serendipity_entryIcon" title="{$entry_category.category_name|@escape}{$entry_category.category_description|@emptyPrefix}" alt="{$entry_category.category_name|@escape}" src="{$entry_category.category_icon}"></a>{/if}{/foreach}{/if}
|
||||
{$entry.body}
|
||||
</div>
|
||||
{if $entry.is_extended}
|
||||
<div id="extended" class="serendipity_extended_body clearfix">
|
||||
{$entry.extended}
|
||||
</div>
|
||||
{/if}
|
||||
{if $entry.plugin_display_dat}
|
||||
{$entry.plugin_display_dat}
|
||||
{/if}
|
||||
{if $entry.categories or $entry.add_footer}
|
||||
<footer class="entry-footer">
|
||||
{if $entry.categories}
|
||||
<span class="sr-only">{$CONST.CATEGORIES}: </span>
|
||||
<i class="fa fa-folder-open" aria-hidden="true"></i>
|
||||
{foreach from=$entry.categories item="entry_category" name="categories"}<a class="btn btn-sm btn-default btn-theme" href="{$entry_category.category_link}" title="{$CONST.CATEGORY}: {$entry_category.category_name|@escape}">{$entry_category.category_name|@escape}</a>{if !$smarty.foreach.categories.last} {/if}{/foreach}
|
||||
{/if}
|
||||
{if isset($entry.freetag.extended) && $entry.freetag.extended == 1}
|
||||
{if $entry.freetag.tags.tags}
|
||||
<div class="timeline_freeTag">
|
||||
<span class="sr-only">{$entry.freetag.tags.description}</span>
|
||||
<i class="fa fa-tags" aria-hidden="true"></i>
|
||||
{foreach from=$entry.freetag.tags.tags item="tag"}
|
||||
{$tag}
|
||||
{/foreach}
|
||||
</div>
|
||||
{if $is_single_entry or $is_preview}
|
||||
<div class="timeline_freeTag_related">
|
||||
<span>{$entry.freetag.related.description}</span>
|
||||
<ul class="plainList">
|
||||
{foreach from=$entry.freetag.related.entries item="link"}
|
||||
<li>{$link}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
{else}
|
||||
{$entry.freetag}
|
||||
{/if}
|
||||
{$entry.add_footer}
|
||||
</footer>
|
||||
{/if}
|
||||
</section>
|
||||
{/if}
|
||||
<!--
|
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<rdf:Description
|
||||
rdf:about="{$entry.link_rdf}"
|
||||
trackback:ping="{$entry.link_trackback}"
|
||||
dc:title="{$entry.title_rdf|@default:$entry.title}"
|
||||
dc:identifier="{$entry.rdf_ident}" />
|
||||
</rdf:RDF>
|
||||
-->
|
||||
{if $is_single_entry and not $is_preview}
|
||||
{if $CONST.DATA_UNSUBSCRIBED}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-info"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-info fa-stack-1x"></i></span> {$CONST.DATA_UNSUBSCRIBED|@sprintf:$CONST.UNSUBSCRIBE_OK}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{if $CONST.DATA_TRACKBACK_DELETED}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-info"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-info fa-stack-1x"></i></span> {$CONST.DATA_TRACKBACK_DELETED|@sprintf:$CONST.TRACKBACK_DELETED}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{if $CONST.DATA_TRACKBACK_APPROVED}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-success"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-check fa-stack-1x"></i></span> {$CONST.DATA_TRACKBACK_APPROVED|@sprintf:$CONST.TRACKBACK_APPROVED}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{if $CONST.DATA_COMMENT_DELETED}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-info"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-info fa-stack-1x"></i></span> {$CONST.DATA_COMMENT_DELETED|@sprintf:$CONST.COMMENT_DELETED}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{if $CONST.DATA_COMMENT_APPROVED}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-success"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-check fa-stack-1x"></i></span> {$CONST.DATA_COMMENT_APPROVED|@sprintf:$CONST.COMMENT_APPROVED}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
<a id="feedback"></a>
|
||||
{if $entry.trackbacks != 0}
|
||||
<section id="trackbacks" class="serendipity_comments serendipity_section_trackbacks">
|
||||
<h3>{if $entry.trackbacks == 0}{$CONST.NO_TRACKBACKS}{else}{$entry.trackbacks} {$entry.label_trackbacks}{/if}</h3>
|
||||
<p id="trackback_url"><small><a rel="nofollow" href="{$entry.link_trackback}" title="{$CONST.TRACKBACK_SPECIFIC_ON_CLICK|@escape}">{$CONST.TRACKBACK_SPECIFIC}</a></small></p>
|
||||
{serendipity_printTrackbacks entry=$entry.id}
|
||||
</section>
|
||||
{/if}
|
||||
<section id="comments" class="serendipity_comments serendipity_section_comments">
|
||||
<h3>{if $entry.comments == 0}{$CONST.NO_COMMENTS}{else}{$entry.comments} {$entry.label_comments}{/if}</h3>
|
||||
{if $entry.comments != 0}
|
||||
<p class="manage_comments">
|
||||
{if $entry.viewmode eq $CONST.VIEWMODE_LINEAR}
|
||||
<button class="btn btn-sm btn-default disabled">{$CONST.COMMENTS_VIEWMODE_LINEAR}</button>
|
||||
<a class="btn btn-sm btn-default btn-theme" href="{$entry.link_viewmode_threaded}#comments" rel="nofollow" title="{$CONST.DISPLAY_COMMENTS_AS} {$CONST.COMMENTS_VIEWMODE_THREADED}">{$CONST.COMMENTS_VIEWMODE_THREADED}</a>
|
||||
{else}
|
||||
<a class="btn btn-sm btn-default btn-theme" rel="nofollow" href="{$entry.link_viewmode_linear}#comments" title="{$CONST.DISPLAY_COMMENTS_AS} {$CONST.COMMENTS_VIEWMODE_LINEAR}">{$CONST.COMMENTS_VIEWMODE_LINEAR}</a>
|
||||
<button class="btn btn-sm btn-default disabled">{$CONST.COMMENTS_VIEWMODE_THREADED}</button>
|
||||
{/if}
|
||||
</p>
|
||||
{/if}
|
||||
{serendipity_printComments entry=$entry.id mode=$entry.viewmode}
|
||||
{if $entry.is_entry_owner}
|
||||
<p class="manage_comments">
|
||||
<small>
|
||||
{if $entry.allow_comments}
|
||||
<a href="{$entry.link_deny_comments}"><button class="btn btn-sm btn-default btn-theme">{$CONST.COMMENTS_DISABLE}</button></a>
|
||||
{else}
|
||||
<a href="{$entry.link_allow_comments}"><button class="btn btn-sm btn-default btn-theme">{$CONST.COMMENTS_ENABLE}</button></a>
|
||||
{/if}
|
||||
</small>
|
||||
</p>
|
||||
{/if}
|
||||
</section>
|
||||
{foreach from=$comments_messagestack item="message"}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-danger alert-error"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$message}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
{if $is_comment_added}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<div class="alert alert-success alert-dismissible fade in" role="alert">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span></button>
|
||||
<span class="fa-stack text-success" aria-hidden="true"><i class="fa fa-smile-o fa-2x"></i></span> {$CONST.COMMENT_ADDED}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{elseif $is_comment_moderate}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<div class="alert alert-warning alert-dismissible fade in" role="alert">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span></button>
|
||||
<p class="text-success"><span class="fa-stack" aria-hidden="true"><i class="fa fa-smile-o fa-2x"></i></span> {$CONST.COMMENT_ADDED}</p>
|
||||
<p class="text-warning"><span class="fa-stack" aria-hidden="true"><i class="fa fa-info-circle fa-2x"></i></span> {$CONST.THIS_COMMENT_NEEDS_REVIEW}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{elseif not $entry.allow_comments}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-danger text-danger"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$CONST.COMMENTS_CLOSED}</p>
|
||||
</div>
|
||||
</div>
|
||||
{else}
|
||||
<section id="respond" class="serendipity_section_commentform">
|
||||
<h3>{$CONST.ADD_COMMENT}</h3>
|
||||
{$COMMENTFORM}
|
||||
</section>
|
||||
{/if}
|
||||
{/if}
|
||||
{$entry.backend_preview}
|
||||
{/foreach}
|
||||
|
||||
{foreachelse}
|
||||
{if not $plugin_clean_page}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-info noentries"><span class="fa-stack"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-info fa-stack-1x"></i></span> {$CONST.NO_ENTRIES_TO_PRINT}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{/foreach}
|
||||
{if $template_option.display_as_timeline and $entries and !$is_single_entry and not $entry.is_extended and not $is_preview}{* THIS IS OUR FRONTPAGE SCENARIO - CLOSE TIMELINE *}
|
||||
<li class="clearfix" style="float: none;"></li>
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
|
||||
{if $footer_info or $footer_prev_page or $footer_next_page}
|
||||
<div class='serendipity_pageSummary'>
|
||||
{if $footer_info}
|
||||
<p class="summary serendipity_center">{$footer_info}</p>
|
||||
{/if}
|
||||
|
||||
{if $footer_totalPages >1 }
|
||||
<nav class="pagination">
|
||||
{assign var="paginationStartPage" value="`$footer_currentPage-3`"}
|
||||
{if $footer_currentPage+3 > $footer_totalPages}
|
||||
{assign var="paginationStartPage" value="`$footer_totalPages-4`"}
|
||||
{/if}
|
||||
{if $paginationStartPage <= 0}
|
||||
{assign var="paginationStartPage" value="1"}
|
||||
{/if}
|
||||
{if $footer_prev_page}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.PREVIOUS_PAGE}" href="{$footer_prev_page}"><i class="fa fa-arrow-left" aria-hidden="true"></i><span class="sr-only">{$CONST.PREVIOUS_PAGE}</span></a>
|
||||
{/if}
|
||||
{if $paginationStartPage > 1}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{'1'|string_format:$footer_pageLink}">1</a>
|
||||
{/if}
|
||||
{if $paginationStartPage > 2}
|
||||
…
|
||||
{/if}
|
||||
{section name=i start=$paginationStartPage loop=$footer_totalPages+1 max=5}
|
||||
{if $smarty.section.i.index != $footer_currentPage}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{$smarty.section.i.index|string_format:$footer_pageLink}">{$smarty.section.i.index}</a>
|
||||
{else}
|
||||
<span class="thispage btn btn-md btn-default btn-theme disabled">{$smarty.section.i.index}</span>
|
||||
{/if}
|
||||
{/section}
|
||||
{if $smarty.section.i.index < $footer_totalPages}
|
||||
…
|
||||
{/if}
|
||||
{if $smarty.section.i.index <= $footer_totalPages}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{$footer_totalPages|string_format:$footer_pageLink}">{$footer_totalPages}</a>
|
||||
{/if}
|
||||
{if $footer_next_page}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.NEXT_PAGE}" href="{$footer_next_page}"><i class="fa fa-arrow-right" aria-hidden="true"></i><span class="sr-only">{$CONST.NEXT_PAGE}</span></a>
|
||||
{/if}
|
||||
</nav>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
{serendipity_hookPlugin hook="entries_footer"}
|
54
templates/timeline/entries_archives.tpl
Normal file
@ -0,0 +1,54 @@
|
||||
{serendipity_hookPlugin hook="entries_header"}
|
||||
{if $template_option.categories_on_archive || $template_option.tags_on_archive}
|
||||
<div class="row">
|
||||
{if $template_option.categories_on_archive}
|
||||
<section class="col-lg-6 col-md-6 col-sm-12 col-xs-12 archive-categories">
|
||||
{serendipity_showPlugin class="serendipity_plugin_categories" template="archive_categories.tpl"}
|
||||
</section>
|
||||
{/if}
|
||||
{if $template_option.tags_on_archive}
|
||||
<section class="col-lg-6 col-md-6 col-sm-12 col-xs-12 archive-tags">
|
||||
{serendipity_showPlugin class="serendipity_plugin_freetag" template="archive_freetag.tpl"}
|
||||
</section>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
<div class="row">
|
||||
<section class="col-lg-12 archive-archive_history">
|
||||
{if $template_option.categories_on_archive || $template_option.tags_on_archive}
|
||||
<h3>{if $category}{$category_info.category_name} - {/if}{$CONST.ARCHIVES}</h3>
|
||||
{/if}
|
||||
<ul class="timeline">
|
||||
{foreach from=$archives item="archive"}
|
||||
<li class="{cycle values='left,timeline-inverted timeline-top-margin'}">
|
||||
<div class="timeline-badge"><i class="fa fa-dot-circle-o" aria-hidden="true"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4>{$archive.year}</h4>
|
||||
</div>
|
||||
<div class="timeline-body clearfix">
|
||||
{foreach from=$archive.months item="month"}
|
||||
<div class="{if $rightSidebarElements > 0}col-md-4{else}col-md-3{/if} col-xs-6">
|
||||
<div class="btn-group archive-button">
|
||||
{if $month.entry_count}
|
||||
<button type="button" class="btn btn-default btn-theme dropdown-toggle archive-button-months archive-button-months-entries" data-toggle="dropdown" aria-expanded="false">{$month.date|@formatTime:"%b"} <span class="badge">{$month.entry_count}</span> <span class="caret"></span></button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li><a href="{$month.link}" title="{$CONST.VIEW_FULL|capitalize}"><i class="fa fa-dot-circle-o" aria-hidden="true"></i>{$CONST.VIEW_FULL|capitalize}</a></li>
|
||||
<li><a href="{$month.link_summary}" title="{$CONST.VIEW_TOPICS|capitalize}"><i class="fa fa-list" aria-hidden="true"></i>{$CONST.VIEW_TOPICS|capitalize}</a></li>
|
||||
</ul>
|
||||
{else}
|
||||
<button type="button" class="btn btn-default btn-theme disabled dropdown-toggle archive-button-months" data-toggle="dropdown" aria-expanded="false">{$month.date|@formatTime:"%b"}</button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{/foreach}
|
||||
<li class="clearfix" style="float: none;"></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
{serendipity_hookPlugin hook="entries_footer"}
|
42
templates/timeline/entries_summary.tpl
Normal file
@ -0,0 +1,42 @@
|
||||
{serendipity_hookPlugin hook="entries_header"}
|
||||
{counter start=0 assign='entry_count'}
|
||||
{foreach from=$entries item="countme"}
|
||||
{foreach from=$countme.entries item="entry"}
|
||||
{counter assign='entry_count'}
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
<article class="archive-summary">
|
||||
<h3>{if $category}{$category_info.category_name} - {/if}{$entry_count} {$CONST.TOPICS_OF} {$dateRange.0|@formatTime:"%B, %Y"}</h3>
|
||||
<div class="archives_summary">
|
||||
{foreach from=$entries item="sentries" name="archivesummarylist"}
|
||||
{foreach from=$sentries.entries item="entry"}
|
||||
{if $entry.body || $entry.extended || $entry.properties.timeline_image}
|
||||
<div class="row each-archive-entry">
|
||||
|
||||
<div class="col-md-2 archive-post-thumb">
|
||||
{if $entry.properties.timeline_image|is_in_string:'<iframe,<embed,<object'}{* we assume this is a video, just emit the contents of the var *}
|
||||
<div>{$entry.properties.timeline_image}</div>
|
||||
{else}
|
||||
<a href="{$entry.link}" title="{$entry.title}"><img class="img-thumbnail" {if $entry.properties.timeline_image}src="{$entry.properties.timeline_image}"{else}src="{serendipity_getFile file='img/image_unavailable.jpg'}"{/if} alt=""/></a>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="col-md-10 archive-post-body">
|
||||
<h4><a href="{$entry.link}">{$entry.title}</a></h4>
|
||||
<p class="post-info"><span class="sr-only">{$CONST.POSTED_BY}</span>
|
||||
<span class="sr-only"> {$CONST.ON}</span><span class="entry-timestamp"><i class="fa fa-clock-o" aria-hidden="true"></i><time datetime="{$entry.timestamp|serendipity_html5time}">{$entry.timestamp|formatTime:$template_option.date_format}</time></span>
|
||||
</p>
|
||||
{if $entry.body}
|
||||
{$entry.body|strip_tags|truncate:180:" ..."}
|
||||
{else}
|
||||
{$entry.extended|strip_tags|truncate:180:" ..."}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</div>
|
||||
</article>
|
||||
{serendipity_hookPlugin hook="entries_footer"}
|
18
templates/timeline/footerbar.tpl
Normal file
@ -0,0 +1,18 @@
|
||||
{if $is_raw_mode}
|
||||
<div id="serendipity{$pluginside}FooterBar">
|
||||
{/if}
|
||||
{foreach from=$plugindata item=item}
|
||||
{if $item.class != "serendipity_plugin_quicksearch"}
|
||||
<div class="{if $FooterSidebarElements == '1'}col-md-12{elseif $FooterSidebarElements == '2'}col-md-6{elseif $FooterSidebarElements == '3' || $FooterSidebarElements == '6' || $FooterSidebarElements == '5'}col-md-4{else}col-md-3{/if}">
|
||||
<section class="sidebar_plugin clearfix {cycle values="odd,even"} {$item.class}">
|
||||
{if $item.title != ""}
|
||||
<h3>{$item.title}</h3>
|
||||
{/if}
|
||||
<div class="footerbar_content">{$item.content}</div>
|
||||
</section>
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if $is_raw_mode}
|
||||
</div>
|
||||
{/if}
|
124
templates/timeline/green-light_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
light green colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Light Green Color: #79d5b3;
|
||||
* Light Green Hover Color: #59b795;
|
||||
* Darkest color: #42a984;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #79d5b3;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #59b795;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-green-light.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-green-light.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #59b795;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #59b795;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #79d5b3;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #79d5b3;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #79d5b3;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #79d5b3;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #79d5b3;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #79d5b3;
|
||||
border: 1px solid #79d5b3;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #79d5b3;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #79d5b3;
|
||||
border: 1px solid #79d5b3;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #59b795;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #79d5b3;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #59b795;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #59b795;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #79d5b3;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #42a984; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #59b795;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #79d5b3;
|
||||
border: 1px solid #79d5b3;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #59b795;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #79d5b3;
|
||||
border: 1px solid #79d5b3;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #59b795;
|
||||
}
|
124
templates/timeline/green_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
green colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Green Color: #72c02c;
|
||||
* Green Hover Color: #57a70f;
|
||||
* Darkest color: #4b920c;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #72c02c;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #57a70f;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-green.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-green.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #57a70f;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #57a70f;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #72c02c;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #72c02c;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #72c02c;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #72c02c;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #72c02c;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #72c02c;
|
||||
border: 1px solid #72c02c;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #72c02c;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #72c02c;
|
||||
border: 1px solid #72c02c;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #57a70f;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #72c02c;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #57a70f;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #57a70f;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #72c02c;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #4b920c; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #57a70f;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #72c02c;
|
||||
border: 1px solid #72c02c;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #57a70f;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #72c02c;
|
||||
border: 1px solid #72c02c;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #57a70f;
|
||||
}
|
124
templates/timeline/grey_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
grey colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Grey Color: #8ba4a5;
|
||||
* Grey Hover Color: #768b8c;
|
||||
* Darkest color: #61797a;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #8ba4a5;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #768b8c;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-grey.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-grey.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #768b8c;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #768b8c;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #8ba4a5;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #8ba4a5;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #8ba4a5;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #8ba4a5;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #8ba4a5;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #8ba4a5;
|
||||
border: 1px solid #8ba4a5;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #8ba4a5;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #8ba4a5;
|
||||
border: 1px solid #8ba4a5;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #768b8c;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #8ba4a5;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #768b8c;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #768b8c;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #8ba4a5;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #61797a; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #768b8c;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #8ba4a5;
|
||||
border: 1px solid #8ba4a5;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #768b8c;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #8ba4a5;
|
||||
border: 1px solid #8ba4a5;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #768b8c;
|
||||
}
|
BIN
templates/timeline/img/default_avatar.jpg
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
templates/timeline/img/image_unavailable.jpg
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
templates/timeline/img/image_unavailable_alt.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
templates/timeline/img/subtome-128x128.psd
Normal file
BIN
templates/timeline/img/subtome-aqua.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
templates/timeline/img/subtome-blue-dark.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
templates/timeline/img/subtome-blue.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
templates/timeline/img/subtome-brown.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
templates/timeline/img/subtome-colors.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
templates/timeline/img/subtome-green-light.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
templates/timeline/img/subtome-green.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
templates/timeline/img/subtome-grey.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
templates/timeline/img/subtome-images-included.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
templates/timeline/img/subtome-orange.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
templates/timeline/img/subtome-purple.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
templates/timeline/img/subtome-red-dark.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
templates/timeline/img/subtome-red.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
templates/timeline/img/subtome-teal.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
templates/timeline/img/subtome.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
templates/timeline/img/xml.gif
Normal file
After Width: | Height: | Size: 652 B |
255
templates/timeline/index.tpl
Normal file
@ -0,0 +1,255 @@
|
||||
{if $is_embedded != true}
|
||||
<!DOCTYPE html>
|
||||
<html lang="{$lang}">
|
||||
<head>
|
||||
<meta charset="{$head_charset}">
|
||||
<title>{$head_title|default:$blogTitle}{if $head_subtitle} | {$head_subtitle}{/if}</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="Serendipity v.{$serendipityVersion}">
|
||||
{if ($view == "entry" || $view == "start" || $view == "feed" || $view == "plugin" || $staticpage_pagetitle != "" || $robots_index == 'index')}
|
||||
<meta name="robots" content="index,follow">
|
||||
{else}
|
||||
<meta name="robots" content="noindex,follow">
|
||||
{/if}
|
||||
{if ($view == "entry")}
|
||||
<link rel="canonical" href="{$entry.rdf_ident}">
|
||||
{/if}
|
||||
{if ($view == "start")}
|
||||
<link rel="canonical" href="{$serendipityBaseURL}">
|
||||
{/if}
|
||||
{* BOOTSTRAP CORE CSS *}
|
||||
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
|
||||
{* S9Y CSS *}
|
||||
<link rel="stylesheet" href="{$head_link_stylesheet}">
|
||||
<link rel="alternate" type="application/rss+xml" title="{$blogTitle} RSS feed" href="{$serendipityBaseURL}{$serendipityRewritePrefix}feeds/index.rss2">
|
||||
<link rel="alternate" type="application/x.atom+xml" title="{$blogTitle} Atom feed" href="{$serendipityBaseURL}{$serendipityRewritePrefix}feeds/atom.xml">
|
||||
{if $entry_id}
|
||||
<link rel="pingback" href="{$serendipityBaseURL}comment.php?type=pingback&entry_id={$entry_id}">
|
||||
{/if}
|
||||
{* CUSTOM FONTS *}
|
||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300,400' rel='stylesheet' type='text/css'>
|
||||
{serendipity_hookPlugin hook="frontend_header"}
|
||||
<script src="{$head_link_script}"></script>
|
||||
{* SUBHEADER IMAGE *}
|
||||
{if $template_option.subheader_img}
|
||||
<style type="text/css">.subheader_image {ldelim}background-image: url('{$template_option.subheader_img}');{rdelim}</style>
|
||||
{/if}
|
||||
{* ADDTIONAL COLORSET & SKIN STYLESHEETS - INCLUDED SETS ARE LOADED VIA CONFIG.INC.PHP *}
|
||||
</head>
|
||||
<body class="{if $template_option.colorset}{$template_option.colorset}-style{else}green-style{/if} {if $template_option.skinset}{$template_option.skinset}-skin{else}light-skin{/if}">
|
||||
{else}
|
||||
{serendipity_hookPlugin hook="frontend_header"}
|
||||
{/if}
|
||||
{if $is_raw_mode != true}
|
||||
<div class="wrapper">
|
||||
<div class="header header-custom">
|
||||
{if $template_option.use_corenav}
|
||||
<div class="container container-logonav">
|
||||
<a class="sr-only sr-only-focusable" href="#content"><span lang="en">Skip to main content</span></a>{* LANG? *}
|
||||
<div class="navbar navbar-default" role="navigation">
|
||||
<div> {* this was class="container" *}
|
||||
{* Brand and toggle get grouped for better mobile display *}
|
||||
<div class="navbar-header">
|
||||
{if $template_option.header_img}
|
||||
<a class="logo" href="{$serendipityBaseURL}" title="{$CONST.HOMEPAGE}"><img src="{$template_option.header_img}" alt="{$blogTitle} Logo"><h1 class="sr-only">{$blogTitle}</h1></a>
|
||||
{else}
|
||||
<a class="navbar-brand" href="{$serendipityBaseURL}" title="{$CONST.HOMEPAGE}"><h1>{$blogTitle}</h1></a>
|
||||
{/if}
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>{* LANG? *}
|
||||
<span class="fa fa-bars"></span>
|
||||
</button>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse navbar-responsive-collapse">
|
||||
<ul class="nav navbar-nav navbar-right">{foreach from=$navlinks item="navlink" name="sitenav"}<li><a {if $currpage==$navlink.href}class="navbar_current_page"{/if} href="{$navlink.href}" title="{$navlink.title}">{$navlink.title}</a></li>{/foreach}<li><a href="#basicModal" data-toggle="modal" data-target="#basicModal" title="{$CONST.SEARCH}"><i class="fa fa-search" aria-hidden="true"></i></a></li></ul>
|
||||
</div><!--/navbar-collapse-->
|
||||
</div>
|
||||
</div>{* End Navbar *}
|
||||
</div>
|
||||
{/if}
|
||||
</div>{* End Header *}
|
||||
<div class="modal fade" id="basicModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true">{* CLEAN THIS UP - UNWANTED CLASSES, ETC *}
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" title="{$CONST.CLOSE}" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title" id="myModalLabel">{$CONST.SEARCH_WHAT}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="searchform" action="{$serendipityHTTPPath}{$serendipityIndexFile}" method="get">
|
||||
<input type="hidden" name="serendipity[action]" value="search">
|
||||
<label for="serendipityQuickSearchTermField" class="sr-only">{$CONST.QUICKSEARCH}</label>
|
||||
<input id="serendipityQuickSearchTermField" class="form-control" name="serendipity[searchTerm]" type="search" value="" placeholder="{$CONST.SEARCH} ...">
|
||||
<div class="modal-footer">
|
||||
<input class="btn btn-default btn-theme" id="gobutton" name="serendipity[searchButton]" type="submit" value="{$CONST.GO}">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{$CONST.CLOSE}</button>
|
||||
</div>
|
||||
</form>
|
||||
{serendipity_hookPlugin hook="quicksearch_plugin" hookAll="true"}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="subheader{if $template_option.subheader_img} subheader_image{/if}">
|
||||
<div class="container">
|
||||
<h2 class="pull-left">
|
||||
{if $view == 'start' || $view == 'entry' || $view == '404' || $view == 'search' || ($head_title =='' && $head_subtitle=='')}{$blogDescription}
|
||||
{elseif $view == 'categories'}{$CONST.ENTRIES_FOR|sprintf:{$category_info.category_name|escape}}
|
||||
{elseif $view == 'authors' || $view == 'comments'}{$head_title}
|
||||
{elseif $staticpage_pagetitle !=''}
|
||||
{if $staticpage_headline}{$staticpage_headline|escape}
|
||||
{elseif $staticpage_articleformattitle}{$staticpage_articleformattitle|escape}
|
||||
{elseif $plugin_contactform_pagetitle}{$plugin_contactform_pagetitle}
|
||||
{else}{$head_title}{/if}
|
||||
{elseif $view == 'archives' && $category}{$head_title} - {$head_subtitle}
|
||||
{elseif $view == 'archive' && $category}{$category_info.category_name} - {$head_subtitle}
|
||||
{elseif $head_subtitle}{$head_subtitle}
|
||||
{/if}
|
||||
</h2>
|
||||
|
||||
{if $footer_totalPages >1 && !isset($staticpage_pagetitle)}
|
||||
<nav class="pagination pull-right">
|
||||
{assign var="paginationStartPage" value="`$footer_currentPage-3`"}
|
||||
{if $footer_currentPage+3 > $footer_totalPages}
|
||||
{assign var="paginationStartPage" value="`$footer_totalPages-4`"}
|
||||
{/if}
|
||||
{if $paginationStartPage <= 0}
|
||||
{assign var="paginationStartPage" value="1"}
|
||||
{/if}
|
||||
{if $footer_prev_page}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.PREVIOUS_PAGE}" href="{$footer_prev_page}"><i class="fa fa-arrow-left" aria-hidden="true"></i><span class="sr-only">{$CONST.PREVIOUS_PAGE}</span></a>
|
||||
{/if}
|
||||
{if $paginationStartPage > 1}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{'1'|string_format:$footer_pageLink}">1</a>
|
||||
{/if}
|
||||
{if $paginationStartPage > 2}
|
||||
…
|
||||
{/if}
|
||||
{section name=i start=$paginationStartPage loop=$footer_totalPages+1 max=5}
|
||||
{if $smarty.section.i.index != $footer_currentPage}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{$smarty.section.i.index|string_format:$footer_pageLink}">{$smarty.section.i.index}</a>
|
||||
{else}
|
||||
<span class="thispage btn btn-md btn-default btn-theme disabled">{$smarty.section.i.index}</span>
|
||||
{/if}
|
||||
{/section}
|
||||
{if $smarty.section.i.index < $footer_totalPages}
|
||||
…
|
||||
{/if}
|
||||
{if $smarty.section.i.index <= $footer_totalPages}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{$footer_totalPages|string_format:$footer_pageLink}">{$footer_totalPages}</a>
|
||||
{/if}
|
||||
{if $footer_next_page}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.NEXT_PAGE}" href="{$footer_next_page}"><i class="fa fa-arrow-right" aria-hidden="true"></i><span class="sr-only">{$CONST.NEXT_PAGE}</span></a>
|
||||
{/if}
|
||||
</nav>
|
||||
{/if}
|
||||
</div>
|
||||
</div>{* End subheader *}
|
||||
|
||||
{* MAIN CONTENT *}
|
||||
<div class="container content">
|
||||
<div class="row">
|
||||
<main class="{if ($rightSidebarElements > 0 && $staticpage_pagetitle =='') || ($rightSidebarElements > 0 && $staticpage_pagetitle !='' && $staticpage_custom.show_sidebars != 'false')}col-md-9{else}col-md-12{/if} mainpanel">
|
||||
{if $view=='404'}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div id="search-response" class="panel panel-danger">
|
||||
<div class="panel-heading">
|
||||
<button type="button" class="close" data-target="#search-block" data-dismiss="alert" aria-label="Close" title="{$CONST.CLOSE}"><span aria-hidden="true">×</span><span class="sr-only">{$CONST.CLOSE}</span></button>
|
||||
<h3 class="panel-title">{$CONST.ERROR}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p><span class="fa-stack text-danger" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$CONST.ERROR_404}</p>
|
||||
<div class="input-group" style="width:100%; margin-bottom: 20px;">{* REMOVE INLINE STYLES *}
|
||||
<form id="searchform" class="input-group" action="{$serendipityHTTPPath}{$serendipityIndexFile}" method="get">
|
||||
<input type="hidden" name="serendipity[action]" value="search" />
|
||||
<label for="serendipityQuickSearchTermFieldBox" class="sr-only">{$CONST.QUICKSEARCH}</label>
|
||||
<input class="form-control" alt="{$CONST.SEARCH_SITE}" type="text" id="serendipityQuickSearchTermFieldBox" name="serendipity[searchTerm]" value="{$CONST.SEARCH}..." onfocus="if(this.value=='{$CONST.SEARCH}...')value=''" onblur="if(this.value=='')value='{$CONST.SEARCH}...';" />
|
||||
<span class="input-group-btn">
|
||||
<input class="btn btn-sm btn-default btn-theme quicksearch_submit" type="submit" value="{$CONST.GO}" alt="{$CONST.SEARCH_SITE}" name="serendipity[searchButton]" title="{$CONST.SEARCH}" />
|
||||
</span>
|
||||
<div id="LSResult" style="display: none;"><div id="LSShadow"></div></div>
|
||||
</form>
|
||||
</div>
|
||||
{serendipity_hookPlugin hook="quicksearch_plugin" hookAll="true"}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<nav class="text-center">
|
||||
<button class="btn btn-md btn-default btn-theme" onclick="goBack()" title="{$CONST.BACK}"><i class="fa fa-arrow-left" aria-hidden="true"></i><span class="sr-only">{$CONST.BACK}</span> {$CONST.BACK}</button>
|
||||
<script>
|
||||
function goBack() {
|
||||
window.history.back();
|
||||
}
|
||||
</script>
|
||||
<a class="read_more btn btn-md btn-default btn-theme" href="{$serendipityBaseURL}" title="{$CONST.HOMEPAGE}"> <i class="fa fa-home" aria-hidden="true"></i> {$CONST.HOMEPAGE}</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
{else}
|
||||
{$CONTENT}
|
||||
{/if}
|
||||
</main>
|
||||
{if ($rightSidebarElements > 0 && $staticpage_pagetitle =='') || ($rightSidebarElements > 0 && $staticpage_pagetitle !='' && $staticpage_custom.show_sidebars != 'false')}
|
||||
<aside class="col-md-3 RightSideBarContainer">
|
||||
<div id="serendipityRightSideBar" class="RightSideBar">
|
||||
{serendipity_printSidebar side="right"}
|
||||
</div>
|
||||
</aside>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-container">
|
||||
{if $FooterSidebarElements > 0}
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div id="serendipityFooterSideBar" class="FooterSideBar">
|
||||
{serendipity_printSidebar side="footer" template="footerbar.tpl"}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--/footer-->
|
||||
{/if}
|
||||
<div class="copyright">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<p class="copyright-text">{$template_option.copyright}</p>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<ul class="footer-socials list-inline">
|
||||
{foreach from=$socialicons item="socialicon" name="social_networking"}
|
||||
<li>
|
||||
<a href="{$socialicon.url}" title="{$socialicon.service}"><i class="fa fa-lg {service_icon from_service=$socialicon.service}"></i></a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--/copyright-->
|
||||
</div>
|
||||
</div>{* wrapper *}
|
||||
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
|
||||
<script src={serendipity_getFile file="js/timeline.js"}></script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src={serendipity_getFile file="js/respond.js"}></script>
|
||||
<script src={serendipity_getFile file="js/html5shiv.js"}></script>
|
||||
<script src={serendipity_getFile file="js/placeholder-IE-fixes.js"}></script>
|
||||
<![endif]-->
|
||||
{/if}
|
||||
{$raw_data}
|
||||
{serendipity_hookPlugin hook="frontend_footer"}
|
||||
{if $is_embedded != true}
|
||||
</body>
|
||||
</html>
|
||||
{/if}
|
5
templates/timeline/info.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Name: Timeline
|
||||
Author: Don Chambers
|
||||
Date: 2016-04-20
|
||||
Require Serendipity: 2.0
|
||||
Backend: No
|
322
templates/timeline/js/html5shiv.js
vendored
Normal file
@ -0,0 +1,322 @@
|
||||
/**
|
||||
* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
;(function(window, document) {
|
||||
/*jshint evil:true */
|
||||
/** version */
|
||||
var version = '3.7.2';
|
||||
|
||||
/** Preset options */
|
||||
var options = window.html5 || {};
|
||||
|
||||
/** Used to skip problem elements */
|
||||
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
|
||||
|
||||
/** Not all elements can be cloned in IE **/
|
||||
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
|
||||
|
||||
/** Detect whether the browser supports default html5 styles */
|
||||
var supportsHtml5Styles;
|
||||
|
||||
/** Name of the expando, to work with multiple documents or to re-shiv one document */
|
||||
var expando = '_html5shiv';
|
||||
|
||||
/** The id for the the documents expando */
|
||||
var expanID = 0;
|
||||
|
||||
/** Cached data for each document */
|
||||
var expandoData = {};
|
||||
|
||||
/** Detect whether the browser supports unknown elements */
|
||||
var supportsUnknownElements;
|
||||
|
||||
(function() {
|
||||
try {
|
||||
var a = document.createElement('a');
|
||||
a.innerHTML = '<xyz></xyz>';
|
||||
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
|
||||
supportsHtml5Styles = ('hidden' in a);
|
||||
|
||||
supportsUnknownElements = a.childNodes.length == 1 || (function() {
|
||||
// assign a false positive if unable to shiv
|
||||
(document.createElement)('a');
|
||||
var frag = document.createDocumentFragment();
|
||||
return (
|
||||
typeof frag.cloneNode == 'undefined' ||
|
||||
typeof frag.createDocumentFragment == 'undefined' ||
|
||||
typeof frag.createElement == 'undefined'
|
||||
);
|
||||
}());
|
||||
} catch(e) {
|
||||
// assign a false positive if detection fails => unable to shiv
|
||||
supportsHtml5Styles = true;
|
||||
supportsUnknownElements = true;
|
||||
}
|
||||
|
||||
}());
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Creates a style sheet with the given CSS text and adds it to the document.
|
||||
* @private
|
||||
* @param {Document} ownerDocument The document.
|
||||
* @param {String} cssText The CSS text.
|
||||
* @returns {StyleSheet} The style element.
|
||||
*/
|
||||
function addStyleSheet(ownerDocument, cssText) {
|
||||
var p = ownerDocument.createElement('p'),
|
||||
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
|
||||
|
||||
p.innerHTML = 'x<style>' + cssText + '</style>';
|
||||
return parent.insertBefore(p.lastChild, parent.firstChild);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of `html5.elements` as an array.
|
||||
* @private
|
||||
* @returns {Array} An array of shived element node names.
|
||||
*/
|
||||
function getElements() {
|
||||
var elements = html5.elements;
|
||||
return typeof elements == 'string' ? elements.split(' ') : elements;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extends the built-in list of html5 elements
|
||||
* @memberOf html5
|
||||
* @param {String|Array} newElements whitespace separated list or array of new element names to shiv
|
||||
* @param {Document} ownerDocument The context document.
|
||||
*/
|
||||
function addElements(newElements, ownerDocument) {
|
||||
var elements = html5.elements;
|
||||
if(typeof elements != 'string'){
|
||||
elements = elements.join(' ');
|
||||
}
|
||||
if(typeof newElements != 'string'){
|
||||
newElements = newElements.join(' ');
|
||||
}
|
||||
html5.elements = elements +' '+ newElements;
|
||||
shivDocument(ownerDocument);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the data associated to the given document
|
||||
* @private
|
||||
* @param {Document} ownerDocument The document.
|
||||
* @returns {Object} An object of data.
|
||||
*/
|
||||
function getExpandoData(ownerDocument) {
|
||||
var data = expandoData[ownerDocument[expando]];
|
||||
if (!data) {
|
||||
data = {};
|
||||
expanID++;
|
||||
ownerDocument[expando] = expanID;
|
||||
expandoData[expanID] = data;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a shived element for the given nodeName and document
|
||||
* @memberOf html5
|
||||
* @param {String} nodeName name of the element
|
||||
* @param {Document} ownerDocument The context document.
|
||||
* @returns {Object} The shived element.
|
||||
*/
|
||||
function createElement(nodeName, ownerDocument, data){
|
||||
if (!ownerDocument) {
|
||||
ownerDocument = document;
|
||||
}
|
||||
if(supportsUnknownElements){
|
||||
return ownerDocument.createElement(nodeName);
|
||||
}
|
||||
if (!data) {
|
||||
data = getExpandoData(ownerDocument);
|
||||
}
|
||||
var node;
|
||||
|
||||
if (data.cache[nodeName]) {
|
||||
node = data.cache[nodeName].cloneNode();
|
||||
} else if (saveClones.test(nodeName)) {
|
||||
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
|
||||
} else {
|
||||
node = data.createElem(nodeName);
|
||||
}
|
||||
|
||||
// Avoid adding some elements to fragments in IE < 9 because
|
||||
// * Attributes like `name` or `type` cannot be set/changed once an element
|
||||
// is inserted into a document/fragment
|
||||
// * Link elements with `src` attributes that are inaccessible, as with
|
||||
// a 403 response, will cause the tab/window to crash
|
||||
// * Script elements appended to fragments will execute when their `src`
|
||||
// or `text` property is set
|
||||
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a shived DocumentFragment for the given document
|
||||
* @memberOf html5
|
||||
* @param {Document} ownerDocument The context document.
|
||||
* @returns {Object} The shived DocumentFragment.
|
||||
*/
|
||||
function createDocumentFragment(ownerDocument, data){
|
||||
if (!ownerDocument) {
|
||||
ownerDocument = document;
|
||||
}
|
||||
if(supportsUnknownElements){
|
||||
return ownerDocument.createDocumentFragment();
|
||||
}
|
||||
data = data || getExpandoData(ownerDocument);
|
||||
var clone = data.frag.cloneNode(),
|
||||
i = 0,
|
||||
elems = getElements(),
|
||||
l = elems.length;
|
||||
for(;i<l;i++){
|
||||
clone.createElement(elems[i]);
|
||||
}
|
||||
return clone;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
|
||||
* @private
|
||||
* @param {Document|DocumentFragment} ownerDocument The document.
|
||||
* @param {Object} data of the document.
|
||||
*/
|
||||
function shivMethods(ownerDocument, data) {
|
||||
if (!data.cache) {
|
||||
data.cache = {};
|
||||
data.createElem = ownerDocument.createElement;
|
||||
data.createFrag = ownerDocument.createDocumentFragment;
|
||||
data.frag = data.createFrag();
|
||||
}
|
||||
|
||||
|
||||
ownerDocument.createElement = function(nodeName) {
|
||||
//abort shiv
|
||||
if (!html5.shivMethods) {
|
||||
return data.createElem(nodeName);
|
||||
}
|
||||
return createElement(nodeName, ownerDocument, data);
|
||||
};
|
||||
|
||||
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
|
||||
'var n=f.cloneNode(),c=n.createElement;' +
|
||||
'h.shivMethods&&(' +
|
||||
// unroll the `createElement` calls
|
||||
getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
|
||||
data.createElem(nodeName);
|
||||
data.frag.createElement(nodeName);
|
||||
return 'c("' + nodeName + '")';
|
||||
}) +
|
||||
');return n}'
|
||||
)(html5, data.frag);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Shivs the given document.
|
||||
* @memberOf html5
|
||||
* @param {Document} ownerDocument The document to shiv.
|
||||
* @returns {Document} The shived document.
|
||||
*/
|
||||
function shivDocument(ownerDocument) {
|
||||
if (!ownerDocument) {
|
||||
ownerDocument = document;
|
||||
}
|
||||
var data = getExpandoData(ownerDocument);
|
||||
|
||||
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
|
||||
data.hasCSS = !!addStyleSheet(ownerDocument,
|
||||
// corrects block display not defined in IE6/7/8/9
|
||||
'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
|
||||
// adds styling not present in IE6/7/8/9
|
||||
'mark{background:#FF0;color:#000}' +
|
||||
// hides non-rendered elements
|
||||
'template{display:none}'
|
||||
);
|
||||
}
|
||||
if (!supportsUnknownElements) {
|
||||
shivMethods(ownerDocument, data);
|
||||
}
|
||||
return ownerDocument;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* The `html5` object is exposed so that more elements can be shived and
|
||||
* existing shiving can be detected on iframes.
|
||||
* @type Object
|
||||
* @example
|
||||
*
|
||||
* // options can be changed before the script is included
|
||||
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
|
||||
*/
|
||||
var html5 = {
|
||||
|
||||
/**
|
||||
* An array or space separated string of node names of the elements to shiv.
|
||||
* @memberOf html5
|
||||
* @type Array|String
|
||||
*/
|
||||
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
|
||||
|
||||
/**
|
||||
* current version of html5shiv
|
||||
*/
|
||||
'version': version,
|
||||
|
||||
/**
|
||||
* A flag to indicate that the HTML5 style sheet should be inserted.
|
||||
* @memberOf html5
|
||||
* @type Boolean
|
||||
*/
|
||||
'shivCSS': (options.shivCSS !== false),
|
||||
|
||||
/**
|
||||
* Is equal to true if a browser supports creating unknown/HTML5 elements
|
||||
* @memberOf html5
|
||||
* @type boolean
|
||||
*/
|
||||
'supportsUnknownElements': supportsUnknownElements,
|
||||
|
||||
/**
|
||||
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
|
||||
* methods should be overwritten.
|
||||
* @memberOf html5
|
||||
* @type Boolean
|
||||
*/
|
||||
'shivMethods': (options.shivMethods !== false),
|
||||
|
||||
/**
|
||||
* A string to describe the type of `html5` object ("default" or "default print").
|
||||
* @memberOf html5
|
||||
* @type String
|
||||
*/
|
||||
'type': 'default',
|
||||
|
||||
// shivs the document according to the specified `html5` object options
|
||||
'shivDocument': shivDocument,
|
||||
|
||||
//creates a shived element
|
||||
createElement: createElement,
|
||||
|
||||
//creates a shived documentFragment
|
||||
createDocumentFragment: createDocumentFragment,
|
||||
|
||||
//extends list of elements
|
||||
addElements: addElements
|
||||
};
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
// expose html5
|
||||
window.html5 = html5;
|
||||
|
||||
// shiv the document
|
||||
shivDocument(document);
|
||||
|
||||
}(this, document));
|
65
templates/timeline/js/placeholder-IE-fixes.js
Normal file
@ -0,0 +1,65 @@
|
||||
var PlaceholderIEFixes = function () {
|
||||
|
||||
return {
|
||||
|
||||
//Placeholder IE Fixes
|
||||
initPlaceholderIEFixes: function () {
|
||||
if (jQuery.browser.msie && jQuery.browser.version.substr(0, 1) < 9) { // ie7&ie8
|
||||
|
||||
jQuery('input[placeholder], textarea[placeholder]').each(function () {
|
||||
var input = jQuery(this);
|
||||
var inputCloneTypePass = $('<input type="text">');
|
||||
var displayCss = input.css('display');
|
||||
|
||||
if ( input.val() == '' ) {
|
||||
|
||||
if ( input.attr('type') == 'password' ) {
|
||||
$.each(input.get(0).attributes, function(v,n) {
|
||||
n = n.nodeName||n.name;
|
||||
if ( n != 'type' && n != 'name' ) {
|
||||
v = input.attr(n); // relay on $.fn.attr, it makes some filtering and checks
|
||||
if(v != undefined && v !== false) {
|
||||
inputCloneTypePass.attr(n,v);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
input.css('display', 'none');
|
||||
inputCloneTypePass
|
||||
.appendTo(input.parent())
|
||||
.val(input.attr('placeholder'))
|
||||
.focus(function () {
|
||||
if (inputCloneTypePass.val() == inputCloneTypePass.attr('placeholder')) {
|
||||
inputCloneTypePass.css('display', 'none');
|
||||
input.css('display', displayCss);
|
||||
input.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
input.val(input.attr('placeholder'));
|
||||
}
|
||||
|
||||
jQuery(input).focus(function () {
|
||||
if (input.val() == input.attr('placeholder')) {
|
||||
input.val('');
|
||||
}
|
||||
});
|
||||
|
||||
jQuery(input).blur(function () {
|
||||
if (input.val() == '' || input.val() == input.attr('placeholder')) {
|
||||
if (input.attr('type') == 'password') {
|
||||
inputCloneTypePass.css('display', displayCss);
|
||||
input.css('display', 'none');
|
||||
}else {
|
||||
input.val(input.attr('placeholder'));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}();
|
326
templates/timeline/js/respond.js
Normal file
@ -0,0 +1,326 @@
|
||||
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
|
||||
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
|
||||
window.matchMedia = window.matchMedia || (function(doc, undefined){
|
||||
|
||||
var bool,
|
||||
docElem = doc.documentElement,
|
||||
refNode = docElem.firstElementChild || docElem.firstChild,
|
||||
// fakeBody required for <FF4 when executed in <head>
|
||||
fakeBody = doc.createElement('body'),
|
||||
div = doc.createElement('div');
|
||||
|
||||
div.id = 'mq-test-1';
|
||||
div.style.cssText = "position:absolute;top:-100em";
|
||||
fakeBody.style.background = "none";
|
||||
fakeBody.appendChild(div);
|
||||
|
||||
return function(q){
|
||||
|
||||
div.innerHTML = '­<style media="'+q+'"> #mq-test-1 { width: 42px; }</style>';
|
||||
|
||||
docElem.insertBefore(fakeBody, refNode);
|
||||
bool = div.offsetWidth == 42;
|
||||
docElem.removeChild(fakeBody);
|
||||
|
||||
return { matches: bool, media: q };
|
||||
};
|
||||
|
||||
})(document);
|
||||
|
||||
|
||||
|
||||
|
||||
/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
|
||||
(function( win ){
|
||||
//exposed namespace
|
||||
win.respond = {};
|
||||
|
||||
//define update even in native-mq-supporting browsers, to avoid errors
|
||||
respond.update = function(){};
|
||||
|
||||
//expose media query support flag for external use
|
||||
respond.mediaQueriesSupported = win.matchMedia && win.matchMedia( "only all" ).matches;
|
||||
|
||||
//if media queries are supported, exit here
|
||||
if( respond.mediaQueriesSupported ){ return; }
|
||||
|
||||
//define vars
|
||||
var doc = win.document,
|
||||
docElem = doc.documentElement,
|
||||
mediastyles = [],
|
||||
rules = [],
|
||||
appendedEls = [],
|
||||
parsedSheets = {},
|
||||
resizeThrottle = 30,
|
||||
head = doc.getElementsByTagName( "head" )[0] || docElem,
|
||||
base = doc.getElementsByTagName( "base" )[0],
|
||||
links = head.getElementsByTagName( "link" ),
|
||||
requestQueue = [],
|
||||
|
||||
//loop stylesheets, send text content to translate
|
||||
ripCSS = function(){
|
||||
var sheets = links,
|
||||
sl = sheets.length,
|
||||
i = 0,
|
||||
//vars for loop:
|
||||
sheet, href, media, isCSS;
|
||||
|
||||
for( ; i < sl; i++ ){
|
||||
sheet = sheets[ i ],
|
||||
href = sheet.href,
|
||||
media = sheet.media,
|
||||
isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet";
|
||||
|
||||
//only links plz and prevent re-parsing
|
||||
if( !!href && isCSS && !parsedSheets[ href ] ){
|
||||
// selectivizr exposes css through the rawCssText expando
|
||||
if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
|
||||
translate( sheet.styleSheet.rawCssText, href, media );
|
||||
parsedSheets[ href ] = true;
|
||||
} else {
|
||||
if( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base)
|
||||
|| href.replace( RegExp.$1, "" ).split( "/" )[0] === win.location.host ){
|
||||
requestQueue.push( {
|
||||
href: href,
|
||||
media: media
|
||||
} );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
makeRequests();
|
||||
},
|
||||
|
||||
//recurse through request queue, get css text
|
||||
makeRequests = function(){
|
||||
if( requestQueue.length ){
|
||||
var thisRequest = requestQueue.shift();
|
||||
|
||||
ajax( thisRequest.href, function( styles ){
|
||||
translate( styles, thisRequest.href, thisRequest.media );
|
||||
parsedSheets[ thisRequest.href ] = true;
|
||||
makeRequests();
|
||||
} );
|
||||
}
|
||||
},
|
||||
|
||||
//find media blocks in css text, convert to style blocks
|
||||
translate = function( styles, href, media ){
|
||||
var qs = styles.match( /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi ),
|
||||
ql = qs && qs.length || 0,
|
||||
//try to get CSS path
|
||||
href = href.substring( 0, href.lastIndexOf( "/" )),
|
||||
repUrls = function( css ){
|
||||
return css.replace( /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g, "$1" + href + "$2$3" );
|
||||
},
|
||||
useMedia = !ql && media,
|
||||
//vars used in loop
|
||||
i = 0,
|
||||
j, fullq, thisq, eachq, eql;
|
||||
|
||||
//if path exists, tack on trailing slash
|
||||
if( href.length ){ href += "/"; }
|
||||
|
||||
//if no internal queries exist, but media attr does, use that
|
||||
//note: this currently lacks support for situations where a media attr is specified on a link AND
|
||||
//its associated stylesheet has internal CSS media queries.
|
||||
//In those cases, the media attribute will currently be ignored.
|
||||
if( useMedia ){
|
||||
ql = 1;
|
||||
}
|
||||
|
||||
|
||||
for( ; i < ql; i++ ){
|
||||
j = 0;
|
||||
|
||||
//media attr
|
||||
if( useMedia ){
|
||||
fullq = media;
|
||||
rules.push( repUrls( styles ) );
|
||||
}
|
||||
//parse for styles
|
||||
else{
|
||||
fullq = qs[ i ].match( /@media *([^\{]+)\{([\S\s]+?)$/ ) && RegExp.$1;
|
||||
rules.push( RegExp.$2 && repUrls( RegExp.$2 ) );
|
||||
}
|
||||
|
||||
eachq = fullq.split( "," );
|
||||
eql = eachq.length;
|
||||
|
||||
for( ; j < eql; j++ ){
|
||||
thisq = eachq[ j ];
|
||||
mediastyles.push( {
|
||||
media : thisq.split( "(" )[ 0 ].match( /(only\s+)?([a-zA-Z]+)\s?/ ) && RegExp.$2 || "all",
|
||||
rules : rules.length - 1,
|
||||
hasquery: thisq.indexOf("(") > -1,
|
||||
minw : thisq.match( /\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ),
|
||||
maxw : thisq.match( /\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" )
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
applyMedia();
|
||||
},
|
||||
|
||||
lastCall,
|
||||
|
||||
resizeDefer,
|
||||
|
||||
// returns the value of 1em in pixels
|
||||
getEmValue = function() {
|
||||
var ret,
|
||||
div = doc.createElement('div'),
|
||||
body = doc.body,
|
||||
fakeUsed = false;
|
||||
|
||||
div.style.cssText = "position:absolute;font-size:1em;width:1em";
|
||||
|
||||
if( !body ){
|
||||
body = fakeUsed = doc.createElement( "body" );
|
||||
body.style.background = "none";
|
||||
}
|
||||
|
||||
body.appendChild( div );
|
||||
|
||||
docElem.insertBefore( body, docElem.firstChild );
|
||||
|
||||
ret = div.offsetWidth;
|
||||
|
||||
if( fakeUsed ){
|
||||
docElem.removeChild( body );
|
||||
}
|
||||
else {
|
||||
body.removeChild( div );
|
||||
}
|
||||
|
||||
//also update eminpx before returning
|
||||
ret = eminpx = parseFloat(ret);
|
||||
|
||||
return ret;
|
||||
},
|
||||
|
||||
//cached container for 1em value, populated the first time it's needed
|
||||
eminpx,
|
||||
|
||||
//enable/disable styles
|
||||
applyMedia = function( fromResize ){
|
||||
var name = "clientWidth",
|
||||
docElemProp = docElem[ name ],
|
||||
currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[ name ] || docElemProp,
|
||||
styleBlocks = {},
|
||||
lastLink = links[ links.length-1 ],
|
||||
now = (new Date()).getTime();
|
||||
|
||||
//throttle resize calls
|
||||
if( fromResize && lastCall && now - lastCall < resizeThrottle ){
|
||||
clearTimeout( resizeDefer );
|
||||
resizeDefer = setTimeout( applyMedia, resizeThrottle );
|
||||
return;
|
||||
}
|
||||
else {
|
||||
lastCall = now;
|
||||
}
|
||||
|
||||
for( var i in mediastyles ){
|
||||
var thisstyle = mediastyles[ i ],
|
||||
min = thisstyle.minw,
|
||||
max = thisstyle.maxw,
|
||||
minnull = min === null,
|
||||
maxnull = max === null,
|
||||
em = "em";
|
||||
|
||||
if( !!min ){
|
||||
min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 );
|
||||
}
|
||||
if( !!max ){
|
||||
max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 );
|
||||
}
|
||||
|
||||
// if there's no media query at all (the () part), or min or max is not null, and if either is present, they're true
|
||||
if( !thisstyle.hasquery || ( !minnull || !maxnull ) && ( minnull || currWidth >= min ) && ( maxnull || currWidth <= max ) ){
|
||||
if( !styleBlocks[ thisstyle.media ] ){
|
||||
styleBlocks[ thisstyle.media ] = [];
|
||||
}
|
||||
styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] );
|
||||
}
|
||||
}
|
||||
|
||||
//remove any existing respond style element(s)
|
||||
for( var i in appendedEls ){
|
||||
if( appendedEls[ i ] && appendedEls[ i ].parentNode === head ){
|
||||
head.removeChild( appendedEls[ i ] );
|
||||
}
|
||||
}
|
||||
|
||||
//inject active styles, grouped by media type
|
||||
for( var i in styleBlocks ){
|
||||
var ss = doc.createElement( "style" ),
|
||||
css = styleBlocks[ i ].join( "\n" );
|
||||
|
||||
ss.type = "text/css";
|
||||
ss.media = i;
|
||||
|
||||
//originally, ss was appended to a documentFragment and sheets were appended in bulk.
|
||||
//this caused crashes in IE in a number of circumstances, such as when the HTML element had a bg image set, so appending beforehand seems best. Thanks to @dvelyk for the initial research on this one!
|
||||
head.insertBefore( ss, lastLink.nextSibling );
|
||||
|
||||
if ( ss.styleSheet ){
|
||||
ss.styleSheet.cssText = css;
|
||||
}
|
||||
else {
|
||||
ss.appendChild( doc.createTextNode( css ) );
|
||||
}
|
||||
|
||||
//push to appendedEls to track for later removal
|
||||
appendedEls.push( ss );
|
||||
}
|
||||
},
|
||||
//tweaked Ajax functions from Quirksmode
|
||||
ajax = function( url, callback ) {
|
||||
var req = xmlHttp();
|
||||
if (!req){
|
||||
return;
|
||||
}
|
||||
req.open( "GET", url, true );
|
||||
req.onreadystatechange = function () {
|
||||
if ( req.readyState != 4 || req.status != 200 && req.status != 304 ){
|
||||
return;
|
||||
}
|
||||
callback( req.responseText );
|
||||
}
|
||||
if ( req.readyState == 4 ){
|
||||
return;
|
||||
}
|
||||
req.send( null );
|
||||
},
|
||||
//define ajax obj
|
||||
xmlHttp = (function() {
|
||||
var xmlhttpmethod = false;
|
||||
try {
|
||||
xmlhttpmethod = new XMLHttpRequest();
|
||||
}
|
||||
catch( e ){
|
||||
xmlhttpmethod = new ActiveXObject( "Microsoft.XMLHTTP" );
|
||||
}
|
||||
return function(){
|
||||
return xmlhttpmethod;
|
||||
};
|
||||
})();
|
||||
|
||||
//translate CSS
|
||||
ripCSS();
|
||||
|
||||
//expose update for re-running respond later on
|
||||
respond.update = ripCSS;
|
||||
|
||||
//adjust on resize
|
||||
function callMedia(){
|
||||
applyMedia( true );
|
||||
}
|
||||
if( win.addEventListener ){
|
||||
win.addEventListener( "resize", callMedia, false );
|
||||
}
|
||||
else if( win.attachEvent ){
|
||||
win.attachEvent( "onresize", callMedia );
|
||||
}
|
||||
})(this);
|
198
templates/timeline/js/timeline.js
Normal file
@ -0,0 +1,198 @@
|
||||
// Navigation Scripts to Show Header on Scroll-Up
|
||||
jQuery(document).ready(function($) {
|
||||
var MQL = 1170;
|
||||
|
||||
//primary navigation slide-in effect
|
||||
if ($(window).width() > MQL) {
|
||||
var headerHeight = $('.header-custom').height();
|
||||
$(window).on('scroll', {
|
||||
previousTop: 0
|
||||
},
|
||||
function() {
|
||||
var currentTop = $(window).scrollTop();
|
||||
//check if user is scrolling up
|
||||
if (currentTop < this.previousTop) {
|
||||
//if scrolling up...
|
||||
if (currentTop > 0 && $('.header-custom').hasClass('is-fixed')) {
|
||||
$('.header-custom').addClass('is-visible');
|
||||
} else {
|
||||
$('.header-custom').removeClass('is-visible is-fixed');
|
||||
}
|
||||
} else if (currentTop > this.previousTop) {
|
||||
//if scrolling down...
|
||||
$('.header-custom').removeClass('is-visible');
|
||||
if (currentTop > headerHeight && !$('.header-custom').hasClass('is-fixed')) $('.header-custom').addClass('is-fixed');
|
||||
}
|
||||
this.previousTop = currentTop;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*global jQuery */
|
||||
/*jshint browser:true */
|
||||
/*!
|
||||
* FitVids 1.1
|
||||
*
|
||||
* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
|
||||
* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
|
||||
* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
|
||||
*
|
||||
*/
|
||||
|
||||
;(function( $ ){
|
||||
|
||||
'use strict';
|
||||
|
||||
$.fn.fitVids = function( options ) {
|
||||
var settings = {
|
||||
customSelector: null,
|
||||
ignore: null
|
||||
};
|
||||
|
||||
if(!document.getElementById('fit-vids-style')) {
|
||||
// appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js
|
||||
var head = document.head || document.getElementsByTagName('head')[0];
|
||||
var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
|
||||
var div = document.createElement("div");
|
||||
div.innerHTML = '<p>x</p><style id="fit-vids-style">' + css + '</style>';
|
||||
head.appendChild(div.childNodes[1]);
|
||||
}
|
||||
|
||||
if ( options ) {
|
||||
$.extend( settings, options );
|
||||
}
|
||||
|
||||
return this.each(function(){
|
||||
var selectors = [
|
||||
'iframe[src*="player.vimeo.com"]',
|
||||
'iframe[src*="youtube.com"]',
|
||||
'iframe[src*="youtube-nocookie.com"]',
|
||||
'iframe[src*="kickstarter.com"][src*="video.html"]',
|
||||
'object',
|
||||
'embed'
|
||||
];
|
||||
|
||||
if (settings.customSelector) {
|
||||
selectors.push(settings.customSelector);
|
||||
}
|
||||
|
||||
var ignoreList = '.fitvidsignore';
|
||||
|
||||
if(settings.ignore) {
|
||||
ignoreList = ignoreList + ', ' + settings.ignore;
|
||||
}
|
||||
|
||||
var $allVideos = $(this).find(selectors.join(','));
|
||||
$allVideos = $allVideos.not('object object'); // SwfObj conflict patch
|
||||
$allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.
|
||||
|
||||
$allVideos.each(function(count){
|
||||
var $this = $(this);
|
||||
if($this.parents(ignoreList).length > 0) {
|
||||
return; // Disable FitVids on this video.
|
||||
}
|
||||
if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
|
||||
if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))
|
||||
{
|
||||
$this.attr('height', 9);
|
||||
$this.attr('width', 16);
|
||||
}
|
||||
var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
|
||||
width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
|
||||
aspectRatio = height / width;
|
||||
if(!$this.attr('id')){
|
||||
var videoID = 'fitvid' + count;
|
||||
$this.attr('id', videoID);
|
||||
}
|
||||
$this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');
|
||||
$this.removeAttr('height').removeAttr('width');
|
||||
});
|
||||
});
|
||||
};
|
||||
// Works with either jQuery or Zepto
|
||||
})( window.jQuery || window.Zepto );
|
||||
jQuery(document).ready(function(){
|
||||
jQuery('.content').fitVids();
|
||||
});
|
||||
|
||||
|
||||
/*---------------------------------*/
|
||||
/* SCROLL TO TOP
|
||||
/*---------------------------------*/
|
||||
! function (a, b, c) {
|
||||
a.fn.scrollUp = function (b) {
|
||||
a.data(c.body, "scrollUp") || (a.data(c.body, "scrollUp", !0), a.fn.scrollUp.init(b))
|
||||
}, a.fn.scrollUp.init = function (d) {
|
||||
var e = a.fn.scrollUp.settings = a.extend({}, a.fn.scrollUp.defaults, d),
|
||||
f = e.scrollTitle ? e.scrollTitle : e.scrollText,
|
||||
g = a("<a/>", {
|
||||
id: e.scrollName,
|
||||
//class: "btn-md btn-theme", //specific to this theme
|
||||
href: "#top",
|
||||
title: f
|
||||
}).appendTo("body");
|
||||
e.scrollImg || g.html(e.scrollText), g.css({
|
||||
display: "none",
|
||||
position: "fixed",
|
||||
zIndex: e.zIndex
|
||||
}), e.activeOverlay && a("<div/>", {
|
||||
id: e.scrollName + "-active"
|
||||
}).css({
|
||||
position: "absolute",
|
||||
top: e.scrollDistance + "px",
|
||||
width: "100%",
|
||||
borderTop: "1px dotted" + e.activeOverlay,
|
||||
zIndex: e.zIndex
|
||||
}).appendTo("body"), scrollEvent = a(b).scroll(function () {
|
||||
switch (scrollDis = "top" === e.scrollFrom ? e.scrollDistance : a(c).height() - a(b).height() - e.scrollDistance, e.animation) {
|
||||
case "fade":
|
||||
a(a(b).scrollTop() > scrollDis ? g.fadeIn(e.animationInSpeed) : g.fadeOut(e.animationOutSpeed));
|
||||
break;
|
||||
case "slide":
|
||||
a(a(b).scrollTop() > scrollDis ? g.slideDown(e.animationInSpeed) : g.slideUp(e.animationOutSpeed));
|
||||
break;
|
||||
default:
|
||||
a(a(b).scrollTop() > scrollDis ? g.show(0) : g.hide(0))
|
||||
}
|
||||
}), g.click(function (b) {
|
||||
b.preventDefault(), a("html, body").animate({
|
||||
scrollTop: 0
|
||||
}, e.topSpeed, e.easingType)
|
||||
})
|
||||
}, a.fn.scrollUp.defaults = {
|
||||
scrollName: "scrollUp",
|
||||
scrollDistance: 300,
|
||||
scrollFrom: "top",
|
||||
scrollSpeed: 300,
|
||||
easingType: "linear",
|
||||
animation: "fade",
|
||||
animationInSpeed: 200,
|
||||
animationOutSpeed: 200,
|
||||
scrollText: "Scroll to top",
|
||||
scrollTitle: !1,
|
||||
scrollImg: !1,
|
||||
activeOverlay: !1,
|
||||
zIndex: 2147483647
|
||||
}, a.fn.scrollUp.destroy = function (d) {
|
||||
a.removeData(c.body, "scrollUp"), a("#" + a.fn.scrollUp.settings.scrollName).remove(), a("#" + a.fn.scrollUp.settings.scrollName + "-active").remove(), a.fn.jquery.split(".")[1] >= 7 ? a(b).off("scroll", d) : a(b).unbind("scroll", d)
|
||||
}, a.scrollUp = a.fn.scrollUp
|
||||
}(jQuery, window, document);
|
||||
|
||||
jQuery(document).ready(function () {
|
||||
jQuery.scrollUp({
|
||||
scrollName: 'scrollUp', // Element ID
|
||||
scrollDistance: 300, // Distance from top/bottom before showing element (px)
|
||||
scrollFrom: 'top', // 'top' or 'bottom'
|
||||
scrollSpeed: 200, // Speed back to top (ms)
|
||||
easingType: 'linear', // Scroll to top easing (see http://easings.net/)
|
||||
animation: 'fade', // Fade, slide, none
|
||||
animationInSpeed: 100, // Animation in speed (ms)
|
||||
animationOutSpeed: 100, // Animation out speed (ms)
|
||||
scrollText: '<i class="fa fa-chevron-up"></i>', // Text for element, can contain HTML
|
||||
scrollTitle: 'Top', // Set a custom <a> title if required. Defaults to scrollText
|
||||
scrollImg: false, // Set true to use image
|
||||
activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF'
|
||||
zIndex: 1001 // Z-Index for the overlay
|
||||
});
|
||||
});
|
70
templates/timeline/lang_de.inc.php
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
// General
|
||||
@define('ERROR_404', 'Fehler 404 - Die angeforderte Seite wurde nicht gefunden.');
|
||||
@define('SEARCH_WHAT','Wonach soll gesucht werden?'); //used on quicksearch modal
|
||||
@define('SEARCH','Suche');
|
||||
@define('TOGGLE_NAV','Navigation'); //only seen by screen readers
|
||||
@define('CLOSE','Schließen'); //close button on search form
|
||||
@define('READ_MORE','Mehr lesen');
|
||||
|
||||
//Option groups and instructions
|
||||
@define('THEME_SOCIAL_LINKS', 'Social-Links');
|
||||
@define('THEME_PAGE_OPTIONS', 'Seiten-Optionen');
|
||||
@define('THEME_NAVIGATION', 'Navigations-Optionen');
|
||||
@define('THEME_README','Lies mich');
|
||||
@define('THEME_IDENTITY','Seiten-Identität');
|
||||
@define('THEME_EP_YES','<p class="msg_success">Das Plugin Erweiterte Eigenschaften für Einträge (serendipity_event_entryproperties) wird benötigt. Es ist installiert und aktiv.</p>');
|
||||
@define('THEME_EP_NO','<p class="msg_error">Das Plugin Erweiterte Eigenschaften für Einträge (serendipity_event_entryproperties) wird benötigt. Es ist entweder nicht installiert oder inaktiv. Bitte das Plugin installieren, um alle Features dieses Themes voll zu nutzen.</p>');
|
||||
@define('THEME_INSTRUCTIONS','<p>This theme displays blog posts on a linear timeline. Each group of month titles can also be displayed or hidden on the timeline.</p><p>This theme uses a right and bottom sidebar. Either, or both sidebars can be disabled by deleting sidebar plugins or relocating sidebar plugins to the sidebar colum labeled "hidden" in plugin configuration.</p><p>This theme can be configured to display categories and entry tags from the respective sidebar plugins on the archive page. See "' . THEME_PAGE_OPTIONS . '" below.</p><p>If using the avatar plugin (serendipity_event_gravatar), configure option "Produce smarty tag = yes" for best display of comment avatars.</p><p>Configure serendipity_event_freetag option "Extended Smarty = yes" for a nicer display of tags in the entry footer.</p>');
|
||||
@define('THEME_CUSTOM_FIELD_HEADING', 'Freie Felder für Einträge');
|
||||
@define('THEME_CUSTOM_FIELD_DEFINITION','These optional field(s) are only available when using this theme (timeline). The event plugin serendipity_event_entryproperties (extended properties for entries) must also be installed to use these field(s). The entry image will appear on both the timeline, and at the top of each detailed entry.');
|
||||
@define('THEME_ENTRY_IMAGE','Entry Image.');
|
||||
@define('THEME_DEMO_AVAILBLE', 'Eine komplette englische Anleitung zur <a href="http://www.optional-necessity.com/demo/timeline/archives/13-Using-the-Timeline-theme.html">Konfiguration und Benutzung von Timeline</a> findet sich in der <a href="http://www.optional-necessity.com/demo/timeline/">Timeline theme demo</a>.');
|
||||
|
||||
//Page Options
|
||||
@define('THEME_COLORSET', 'Colorset');
|
||||
@define('THEME_SKINSET', 'Theme skin');
|
||||
@define('HEADER_IMG','Optional Header Image. Leave blank to use Blog Name.');
|
||||
@define('HEADER_IMG_DESC', 'Header image recommended size: 150px x 40px.');
|
||||
@define('ENTRY_DATE_FORMAT','Datumsformat für Einträge');
|
||||
@define('COMMENT_TIME_FORMAT','Zeitformat für Kommentare und Trackbacks');
|
||||
@define('WORDS','Textfassung');
|
||||
@define('TIMESTAMP','Zeitstempel');
|
||||
@define('DISPLAY_AS_TIMELINE','Timeline-Format verwenden');
|
||||
@define('DISPLAY_AS_TIMELINE_DESC','Timeline-Format für Blog-Posts verwenden. Falls Nein werden Blog-Posts im üblichen Blog-Format ausgegeben.');
|
||||
@define('MONTHS_ON_TIMELINE','Show month names on timeline');
|
||||
@define('MONTHS_ON_TIMELINE_DESC','Month name will appear as a heading on the timeline for each month of entries.');
|
||||
@define('MONTHS_ON_TIMELINE_FORMAT','Timeline month format');
|
||||
@define('CATEGORIES_ON_ARCHIVE', 'Kategorien auf der Archivseite anzeigen');
|
||||
@define('CATEGORIES_ON_ARCHIVE_DESC', 'Das Seitenleisten-Plugin Kategorien (serendipity_plugin_categories) muss installiert und die Option "Smarty-Templating aktivieren?" aktiviert sein, damit Kategorien auf der Archiv-Seite angezeigt werden.');
|
||||
@define('CATEGORY_RSS_ON_ARCHIVE','Show RSS icon next to each category on archive page');
|
||||
@define('TAGS_ON_ARCHIVE', 'Tags auf der Archivseite anzeigen');
|
||||
@define('TAGS_ON_ARCHIVE_DESC', 'Das Seitenleisten-Plugin Getaggte Artikel (serendipity_plugin_freetag) muss installiert sein und die Option "Sidebar template" muss auf "archive_freetag.tpl" gesetzt werden, damit Tags auf der Archiv-Seite angezeigt werden.');
|
||||
|
||||
//Navigation
|
||||
@define('USE_CORENAV', 'Globale Navigation verwenden?');
|
||||
|
||||
//Social media
|
||||
@define('SOCIAL_ICONS_AMOUNT', 'Enter number of social media links');
|
||||
@define('SOCIAL_NETWORK_SERVICE', 'Select social media service for link');
|
||||
@define('SOCIAL_ICON_URL', 'URL for social media service link');
|
||||
@define('COPYRIGHT', 'Copyright');
|
||||
|
||||
//time ago in words function
|
||||
@define('ELAPSED_LESS_THAN_MINUTE_AGO','Vor weniger als einer Minute');
|
||||
@define('ELAPSED_ONE_MINUTE_AGO','Vor einer Minute');
|
||||
@define('ELAPSED_ONE_DAY_AGO','Vor einem Tag');
|
||||
@define('ELAPSED_MINUTES_AGO','Vor %s Minuten');
|
||||
@define('ELAPSED_HOURS_AGO','Vor %s Stunden');
|
||||
@define('ELAPSED_DAYS_AGO','Vor %s Tagen');
|
||||
@define('ELAPSED_MONTHS_AGO','Vor %s Monaten');
|
||||
@define('ELAPSED_YEARS_AGO','Vor %s Jahren'); //not currently using this, but defining just in case
|
||||
@define('ELAPSED_ABOUT_ONE_HOUR_AGO','Vor ungefähr einer Stunde'); // greater than 45 minutes, less than 90 minutes
|
||||
@define('ELAPSED_ABOUT_ONE_MONTH_AGO','Vor ungefähr einem Monat'); // greater than 30 days, less than 60 days
|
||||
@define('ELAPSED_ABOUT_ONE_YEAR_AGO','Vor ungefähr einem Jahr'); // greater than one year, less than 2 years
|
||||
@define('ELAPSED_OVER_YEARS_AGO','Vor mehr als %s Jahren');// greater than 2 years
|
||||
|
||||
//Static Pages
|
||||
@define('STATIC_SHOW_AUTHOR_TEXT','Autorennamen anzeigen');
|
||||
@define('STATIC_SHOW_DATE_TEXT','Datum anzeigen');
|
||||
@define('STATIC_SHOW_SIDEBARS_TEXT','Show sidebars?');
|
73
templates/timeline/lang_en.inc.php
Normal file
@ -0,0 +1,73 @@
|
||||
<?php
|
||||
// General
|
||||
@define('ERROR_404', 'Error 404 - The page you requested could not be found.');
|
||||
@define('SEARCH_WHAT','What are you looking for?'); //used on quicksearch modal
|
||||
@define('SEARCH','Search');
|
||||
@define('TOGGLE_NAV','Toggle Navigation'); //only seen by screen readers
|
||||
@define('CLOSE','Close'); //close button on search form
|
||||
@define('READ_MORE','Read More');
|
||||
|
||||
//Option groups and instructions
|
||||
@define('THEME_SOCIAL_LINKS', 'Social links');
|
||||
@define('THEME_PAGE_OPTIONS', 'Page Options');
|
||||
@define('THEME_NAVIGATION', 'Navigation Options');
|
||||
@define('THEME_README','Read me');
|
||||
@define('THEME_IDENTITY','Site Identity');
|
||||
@define('THEME_EP_YES','<p class="msg_success">Extended Property for Entries plugin (serendipity_event_entryproperties) is required for this theme, and is installed.</p>');
|
||||
@define('THEME_EP_NO','<p class="msg_error">Extended Property for Entries plugin (serendipity_event_entryproperties) is required for this theme, which is not installed or is inactive. Please install the plugin to fully utlize this theme.</p>');
|
||||
@define('THEME_INSTRUCTIONS','<p>This theme displays blog posts on a linear timeline. Each group of month titles can also be displayed or hidden on the timeline.</p><p>This theme uses a right and bottom sidebar. Either, or both sidebars can be disabled by deleting sidebar plugins or relocating sidebar plugins to the sidebar colum labeled "hidden" in plugin configuration.</p><p>This theme can be configured to display categories and entry tags from the respective sidebar plugins on the archive page. See "' . THEME_PAGE_OPTIONS . '" below.</p><p>If using the avatar plugin (serendipity_event_gravatar), configure option "Produce smarty tag = yes" for best display of comment avatars.</p><p>Configure serendipity_event_freetag option "Extended Smarty = yes" for a nicer display of tags in the entry footer.</p>');
|
||||
@define('THEME_CUSTOM_FIELD_HEADING', 'Custom Entry Fields');
|
||||
@define('THEME_CUSTOM_FIELD_DEFINITION','These optional field(s) are only available when using this theme (timeline). The event plugin serendipity_event_entryproperties (extended properties for entries) must also be installed to use these field(s). The entry image will appear on both the timeline, and at the top of each detailed entry.');
|
||||
@define('THEME_ENTRY_IMAGE','Entry Image.');
|
||||
@define('THEME_DEMO_AVAILABLE', 'A complete English explanation of <a href="http://www.optional-necessity.com/demo/timeline/archives/13-Using-the-Timeline-theme.html">configuring and using Timeline</a> can be found on the <a href="http://www.optional-necessity.com/demo/timeline/">Timeline theme demo</a>.');
|
||||
|
||||
|
||||
//Page Options
|
||||
@define('THEME_COLORSET', 'Colorset');
|
||||
@define('THEME_SKINSET', 'Theme skin');
|
||||
@define('HEADER_IMG','Optional Header Image. Leave blank to use Blog Name.');
|
||||
@define('HEADER_IMG_DESC', 'Header image recommended size: 150px x 40px.');
|
||||
@define('SUBHEADER_IMG','Optional Subheader Image.');
|
||||
@define('SUBHEADER_IMG_DESC', 'This full width background image appears below the header logo and site navigation.');
|
||||
@define('ENTRY_DATE_FORMAT','Entry Date Format');
|
||||
@define('COMMENT_TIME_FORMAT','Comment and trackback time format');
|
||||
@define('WORDS','Words');
|
||||
@define('TIMESTAMP','Timestamp');
|
||||
@define('DISPLAY_AS_TIMELINE','Use timeline format');
|
||||
@define('DISPLAY_AS_TIMELINE_DESC','Use timeline format for blog posts. If false, blog posts will be shown in a more typical blog format.');
|
||||
@define('MONTHS_ON_TIMELINE','Show month names on timeline');
|
||||
@define('MONTHS_ON_TIMELINE_DESC','Month name will appear as a heading on the timeline for each month of entries.');
|
||||
@define('MONTHS_ON_TIMELINE_FORMAT','Timeline month format');
|
||||
@define('CATEGORIES_ON_ARCHIVE', 'Show categories on archive page');
|
||||
@define('CATEGORIES_ON_ARCHIVE_DESC', 'The sidebar categories plugin (serendipity_plugin_categories) must be installed and the option "Enable Smarty-Templates?" must be activated to view categories on the archive page.');//Used in theme readme and archive page
|
||||
@define('CATEGORY_RSS_ON_ARCHIVE','Show RSS icon next to each category on archive page');
|
||||
@define('TAGS_ON_ARCHIVE', 'Show tags on archive page');
|
||||
@define('TAGS_ON_ARCHIVE_DESC', 'The show tagged entries plugin (serendipity_plugin_freetag) must be installed and the sidebar template option must be set to "archive_freetag.tpl" to view tags on the archive page.'); //Used in theme readme and archive page
|
||||
|
||||
//Navigation
|
||||
@define('USE_CORENAV', 'Use global navigation?');
|
||||
|
||||
//Social media
|
||||
@define('SOCIAL_ICONS_AMOUNT', 'Enter number of social media links');
|
||||
@define('SOCIAL_NETWORK_SERVICE', 'Select social media service for link');
|
||||
@define('SOCIAL_ICON_URL', 'URL for social media service link');
|
||||
@define('COPYRIGHT', 'Copyright');
|
||||
|
||||
//time ago in words function
|
||||
@define('ELAPSED_LESS_THAN_MINUTE_AGO','Less than a minute ago');
|
||||
@define('ELAPSED_ONE_MINUTE_AGO','1 minute ago');
|
||||
@define('ELAPSED_ONE_DAY_AGO','1 day ago');
|
||||
@define('ELAPSED_MINUTES_AGO','%s minutes ago');
|
||||
@define('ELAPSED_HOURS_AGO','%s hours ago');
|
||||
@define('ELAPSED_DAYS_AGO','%s days ago');
|
||||
@define('ELAPSED_MONTHS_AGO','%s months ago');
|
||||
@define('ELAPSED_YEARS_AGO','%s years ago'); //not currently using this, but defining just in case
|
||||
@define('ELAPSED_ABOUT_ONE_HOUR_AGO','About an hour ago'); // greater than 45 minutes, less than 90 minutes
|
||||
@define('ELAPSED_ABOUT_ONE_MONTH_AGO','About a month ago'); // greater than 30 days, less than 60 days
|
||||
@define('ELAPSED_ABOUT_ONE_YEAR_AGO','About a year ago'); // greater than one year, less than 2 years
|
||||
@define('ELAPSED_OVER_YEARS_AGO','Over %s years ago');// greater than 2 years
|
||||
|
||||
//Static Pages
|
||||
@define('STATIC_SHOW_AUTHOR_TEXT','Show Author\'s name?');
|
||||
@define('STATIC_SHOW_DATE_TEXT','Show date last modified?');
|
||||
@define('STATIC_SHOW_SIDEBARS_TEXT','Show sidebars?');
|
124
templates/timeline/orange_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
orange colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Orange Color: #e67e22;
|
||||
* Orange Hover Color: #d35400;
|
||||
* Darkest color: #bf4d02;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #e67e22;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #d35400;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-orange.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-orange.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #d35400;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #d35400;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #e67e22;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #e67e22;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #e67e22;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #e67e22;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #e67e22;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #e67e22;
|
||||
border: 1px solid #e67e22;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #e67e22;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #e67e22;
|
||||
border: 1px solid #e67e22;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #d35400;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #e67e22;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #d35400;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #d35400;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #e67e22;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #bf4d02; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #d35400;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #e67e22;
|
||||
border: 1px solid #e67e22;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #d35400;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #e67e22;
|
||||
border: 1px solid #e67e22;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #d35400;
|
||||
}
|
59
templates/timeline/plugin_contactform.tpl
Normal file
@ -0,0 +1,59 @@
|
||||
<article{if $plugin_contactform_articleformat} class="post serendipity_staticpage serendipity_entry{/if}">
|
||||
<h3>{if $plugin_contactform_articleformat}{$plugin_contactform_name}{else}{$plugin_contactform_pagetitle}{/if}</h3>
|
||||
<section id="entry">
|
||||
<div class="content serendipity_entry_body">
|
||||
{if $is_contactform_error}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-danger alert-error"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$plugin_contactform_error}</p>
|
||||
</div>
|
||||
</div>
|
||||
{foreach from=$comments_messagestack item="message"}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-danger alert-error"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$message}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{if (empty($is_contactform_sent)) && $plugin_contactform_preface}
|
||||
<div class="contactform_preface">{$plugin_contactform_preface}</div>
|
||||
{/if}
|
||||
{if $is_contactform_sent}
|
||||
<p class="alert alert-success">{$plugin_contactform_sent}</p>
|
||||
{else}
|
||||
<div id="serendipityCommentForm" class="serendipityCommentForm">
|
||||
<a id="serendipity_CommentForm"></a>
|
||||
<form id="serendipity_comment" class="form-vertical" action="{$commentform_action}#feedback" method="post">
|
||||
<div>
|
||||
<input type="hidden" name="serendipity[subpage]" value="{$commentform_sname}">
|
||||
<input type="hidden" name="serendipity[commentform]" value="true">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="serendipity_commentform_name">{$CONST.NAME}</label>
|
||||
<input id="serendipity_commentform_name" class="form-control" name="serendipity[name]" type="text" value="{$commentform_name}" placeholder="{$CONST.NAME}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="serendipity_commentform_email">{$CONST.EMAIL}</label>
|
||||
<input id="serendipity_commentform_email" class="form-control" name="serendipity[email]" type="email" value="{$commentform_email}" placeholder="mail@example.org">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="serendipity_commentform_url">{$CONST.HOMEPAGE}</label>
|
||||
<input id="serendipity_commentform_url" class="form-control" name="serendipity[url]" type="url" value="{$commentform_url}" placeholder="http://...">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="serendipity_commentform_comment">{$CONST.COMMENT}</label>
|
||||
<textarea id="serendipity_commentform_comment" class="form-control" name="serendipity[comment]" rows="10" placeholder="{$CONST.COMMENT}">{$commentform_data}</textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{serendipity_hookPlugin hook="frontend_comment" data=$commentform_entry}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input id="serendipity_submit" name="serendipity[submit]" class="btn btn-default btn-theme" type="submit" value="{$CONST.SUBMIT_COMMENT}">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{/if}
|
||||
</article>
|
59
templates/timeline/plugin_staticpage.tpl
Normal file
@ -0,0 +1,59 @@
|
||||
<article id="staticpage_{$staticpage_pagetitle|@makeFilename}" class="serendipity_staticpage{if $staticpage_articleformat} post serendipity_entry{/if}">
|
||||
<header>
|
||||
<h3>{if $staticpage_articleformat}{if $staticpage_articleformattitle}{$staticpage_articleformattitle|@escape}{else}{$staticpage_pagetitle}{/if}{else}{if $staticpage_headline}{$staticpage_headline|@escape}{else}{$staticpage_pagetitle}{/if}{/if}</h3>
|
||||
{if $staticpage_show_breadcrumb}
|
||||
<div class="staticpage_breadcrumbs">
|
||||
<a href="{$serendipityBaseURL}" title="{$CONST.HOMEPAGE}">{$blogTitle}</a>
|
||||
{foreach name="crumbs" from=$staticpage_navigation.crumbs item="crumb"}
|
||||
/ {if !$smarty.foreach.crumbs.last}<a href="{$crumb.link}">{$crumb.name|@escape}</a>{else}{$crumb.name|@escape}{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
</header>
|
||||
{if $staticpage_pass AND $staticpage_form_pass != $staticpage_pass}
|
||||
<form class="staticpage_password_form" action="{$staticpage_form_url}" method="post">
|
||||
<fieldset>
|
||||
<legend>{$CONST.STATICPAGE_PASSWORD_NOTICE}</legend>
|
||||
<input name="serendipity[pass]" type="password" value="">
|
||||
<input name="submit" type="submit" value="{$CONST.GO}" >
|
||||
</fieldset>
|
||||
</form>
|
||||
{else}
|
||||
<section id="entry">
|
||||
{if $staticpage_precontent}
|
||||
<div class="serendipity_preface">
|
||||
{$staticpage_precontent}
|
||||
</div>
|
||||
{/if}
|
||||
{if $staticpage_show_childpages && is_array($staticpage_childpages)}
|
||||
<nav>
|
||||
<ul class="staticpage_childpages">
|
||||
{foreach from=$staticpage_childpages item="childpage"}
|
||||
<li><a href="{$childpage.permalink|@escape}" title="{$childpage.pagetitle|@escape}">{$childpage.pagetitle|@escape}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</nav>
|
||||
{/if}
|
||||
{if $staticpage_content}
|
||||
<div class="{if $staticpage_articleformat}serendipity_entry_body clearfix{else}staticpage_content{/if}">
|
||||
{$staticpage_content}
|
||||
</div>
|
||||
{/if}
|
||||
</section>
|
||||
{/if}
|
||||
{if $staticpage_navigation && $staticpage_shownavi && ($staticpage_navigation.prev.link || $staticpage_navigation.next.link)}
|
||||
<nav>
|
||||
<ul class="pager staticpage_navigation">
|
||||
{if $staticpage_navigation.prev.link}<li class="previous"><a href="{$staticpage_navigation.prev.link}" title="prev"><i class="fa fa-arrow-left" aria-hidden="true"></i> {$staticpage_navigation.prev.name|@escape}</a></li>{/if}
|
||||
{if $staticpage_navigation.next.link}<li class="next"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape} <i class="fa fa-arrow-right" aria-hidden="true"></i></a></li>{/if}
|
||||
</ul>
|
||||
</nav>
|
||||
{/if}
|
||||
{if $staticpage_custom.show_author =='true' || $staticpage_custom.show_date =='true' || ($staticpage_adminlink && $staticpage_adminlink.page_user)}
|
||||
<footer class="staticpage-footer">
|
||||
<p class="post-meta">
|
||||
{if $staticpage_custom.show_author =='true'}{$CONST.POSTED_BY} {$staticpage_author|@escape}{/if}{if $staticpage_custom.show_date =='true'}{if $staticpage_custom.show_author =='true'} {$CONST.ON} {/if}<time datetime="{$staticpage_lastchange|@serendipity_html5time}">{$staticpage_lastchange|@formatTime:$template_option.date_format}</time>{/if}{if $staticpage_adminlink AND $staticpage_adminlink.page_user}{if $staticpage_custom.show_author =='true' || $staticpage_custom.show_date =='true'} {/if}<a href="{$staticpage_adminlink.link_edit}" title="{$staticpage_adminlink.link_name|@escape}"><button class="btn btn-sm btn-default btn-theme"><i class="fa fa-lg fa-edit"></i><span class="sr-only">{$staticpage_adminlink.link_name|@escape}</span></button></a>{/if}
|
||||
</p>
|
||||
</footer>
|
||||
{/if}
|
||||
</article>
|
54
templates/timeline/plugin_staticpage_aboutpage.tpl
Normal file
@ -0,0 +1,54 @@
|
||||
<article id="staticpage_{$staticpage_pagetitle|@makeFilename}" class="serendipity_staticpage{if $staticpage_articleformat} post serendipity_entry{/if}">
|
||||
<header>
|
||||
<h3>{if $staticpage_articleformat}{if $staticpage_articleformattitle}{$staticpage_articleformattitle|@escape}{else}{$staticpage_pagetitle}{/if}{else}{if $staticpage_headline}{$staticpage_headline|@escape}{else}{$staticpage_pagetitle}{/if}{/if}</h3>
|
||||
{if $staticpage_show_breadcrumb}
|
||||
<div class="staticpage_breadcrumbs">
|
||||
<a href="{$serendipityBaseURL}" title="{$CONST.HOMEPAGE}">{$blogTitle}</a>
|
||||
{foreach name="crumbs" from=$staticpage_navigation.crumbs item="crumb"}
|
||||
/ {if !$smarty.foreach.crumbs.last}<a href="{$crumb.link}">{$crumb.name|@escape}</a>{else}{$crumb.name|@escape}{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
</header>
|
||||
{if $staticpage_pass AND $staticpage_form_pass != $staticpage_pass}
|
||||
<form class="staticpage_password_form" action="{$staticpage_form_url}" method="post">
|
||||
<fieldset>
|
||||
<legend>{$CONST.STATICPAGE_PASSWORD_NOTICE}</legend>
|
||||
<input name="serendipity[pass]" type="password" value="">
|
||||
<input name="submit" type="submit" value="{$CONST.GO}" >
|
||||
</fieldset>
|
||||
</form>
|
||||
{else}
|
||||
<section id="entry">
|
||||
{if $staticpage_show_childpages && is_array($staticpage_childpages)}
|
||||
<nav role="navigation">
|
||||
<ul class="staticpage_childpages">
|
||||
{foreach from=$staticpage_childpages item="childpage"}
|
||||
<li><a href="{$childpage.permalink|@escape}" title="{$childpage.pagetitle|@escape}">{$childpage.pagetitle|@escape}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</nav>
|
||||
{/if}
|
||||
{if $staticpage_precontent}
|
||||
<div class="serendipity_preface">
|
||||
{$staticpage_precontent}
|
||||
</div>
|
||||
{/if}
|
||||
</section>
|
||||
{/if}
|
||||
{if $staticpage_navigation && $staticpage_shownavi && ($staticpage_navigation.prev.link || $staticpage_navigation.next.link)}
|
||||
<nav>
|
||||
<ul class="pager staticpage_navigation">
|
||||
{if $staticpage_navigation.prev.link}<li class="previous"><a href="{$staticpage_navigation.prev.link}" title="prev"><i class="fa fa-arrow-left" aria-hidden="true"></i> {$staticpage_navigation.prev.name|@escape}</a></li>{/if}
|
||||
{if $staticpage_navigation.next.link}<li class="next"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape} <i class="fa fa-arrow-right" aria-hidden="true"></i></a></li>{/if}
|
||||
</ul>
|
||||
</nav>
|
||||
{/if}
|
||||
{if $staticpage_custom.show_author =='true' || $staticpage_custom.show_date =='true' || ($staticpage_adminlink && $staticpage_adminlink.page_user)}
|
||||
<footer class="staticpage-footer">
|
||||
<p class="post-meta">
|
||||
{if $staticpage_custom.show_author =='true'}{$CONST.POSTED_BY} {$staticpage_author|@escape}{/if}{if $staticpage_custom.show_date =='true'}{if $staticpage_custom.show_author =='true'} {$CONST.ON} {/if}<time datetime="{$staticpage_lastchange|@serendipity_html5time}">{$staticpage_lastchange|@formatTime:$template_option.date_format}</time>{/if}{if $staticpage_adminlink AND $staticpage_adminlink.page_user}{if $staticpage_custom.show_author =='true' || $staticpage_custom.show_date =='true'} {/if}<a href="{$staticpage_adminlink.link_edit}" title="{$staticpage_adminlink.link_name|@escape}"><button class="btn btn-sm btn-default btn-theme"><i class="fa fa-lg fa-edit"></i><span class="sr-only">{$staticpage_adminlink.link_name|@escape}</span></button></a>{/if}
|
||||
</p>
|
||||
</footer>
|
||||
{/if}
|
||||
</article>
|
64
templates/timeline/plugin_staticpage_related_category.tpl
Normal file
@ -0,0 +1,64 @@
|
||||
<article id="staticpage_{$staticpage_pagetitle|@makeFilename}" class="serendipity_staticpage{if $staticpage_articleformat} post serendipity_entry{/if}">
|
||||
<header>
|
||||
<h3>{if $staticpage_articleformat}{if $staticpage_articleformattitle}{$staticpage_articleformattitle|@escape}{else}{$staticpage_pagetitle}{/if}{else}{if $staticpage_headline}{$staticpage_headline|@escape}{else}{$staticpage_pagetitle}{/if}{/if}</h3>
|
||||
{if $staticpage_show_breadcrumb}
|
||||
<div class="staticpage_breadcrumbs">
|
||||
<a href="{$serendipityBaseURL}" title="{$CONST.HOMEPAGE}">{$blogTitle}</a>
|
||||
{foreach name="crumbs" from=$staticpage_navigation.crumbs item="crumb"}
|
||||
/ {if !$smarty.foreach.crumbs.last}<a href="{$crumb.link}">{$crumb.name|@escape}</a>{else}{$crumb.name|@escape}{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
</header>
|
||||
{if $staticpage_pass AND $staticpage_form_pass != $staticpage_pass}
|
||||
<form class="staticpage_password_form" action="{$staticpage_form_url}" method="post">
|
||||
<fieldset>
|
||||
<legend>{$CONST.STATICPAGE_PASSWORD_NOTICE}</legend>
|
||||
<input name="serendipity[pass]" type="password" value="">
|
||||
<input name="submit" type="submit" value="{$CONST.GO}" >
|
||||
</fieldset>
|
||||
</form>
|
||||
{else}
|
||||
<section id="entry">
|
||||
{if $staticpage_precontent}
|
||||
<div class="serendipity_preface">
|
||||
{$staticpage_precontent}
|
||||
</div>
|
||||
{/if}
|
||||
{if $staticpage_show_childpages && is_array($staticpage_childpages)}
|
||||
<nav role="navigation">
|
||||
<ul class="staticpage_childpages">
|
||||
{foreach from=$staticpage_childpages item="childpage"}
|
||||
<li><a href="{$childpage.permalink|@escape}" title="{$childpage.pagetitle|@escape}">{$childpage.pagetitle|@escape}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</nav>
|
||||
{/if}
|
||||
{if $staticpage_content}
|
||||
<div class="{if $staticpage_articleformat}serendipity_entry_body clearfix{else}staticpage_content{/if}">
|
||||
{$staticpage_content}
|
||||
</div>
|
||||
{/if}
|
||||
{*NOTE: file staticpage-entries-listing.tpl must exist in theme folder *}
|
||||
<div class="staticpage_related_category_entry_list">
|
||||
{serendipity_fetchPrintEntries category=$staticpage_related_category_id template="staticpage-entries-listing.tpl" limit=5 noSticky="true" noCache="false" fetchDrafts=false full="false" use_footer="false"}
|
||||
</div>
|
||||
</section>
|
||||
{/if}
|
||||
{if $staticpage_navigation AND $staticpage_shownavi}
|
||||
<nav>
|
||||
<ul class="pager staticpage_navigation">
|
||||
{if $staticpage_navigation.prev.link}<li class="previous"><a href="{$staticpage_navigation.prev.link}" title="prev"><i class="fa fa-arrow-left" aria-hidden="true"></i> {$staticpage_navigation.prev.name|@escape}</a></li>{/if}
|
||||
{if $staticpage_navigation.next.link}<li class="next"><a href="{$staticpage_navigation.next.link}" title="next">{$staticpage_navigation.next.name|@escape} <i class="fa fa-arrow-right" aria-hidden="true"></i></a></li>{/if}
|
||||
</ul>
|
||||
</nav>
|
||||
{/if}
|
||||
{if $staticpage_custom.show_author =='true' || $staticpage_custom.show_date =='true' || ($staticpage_adminlink && $staticpage_adminlink.page_user)}
|
||||
<footer class="staticpage-footer">
|
||||
<p class="post-meta">
|
||||
{if $staticpage_custom.show_author =='true'}{$CONST.POSTED_BY} {$staticpage_author|@escape}{/if}{if $staticpage_custom.show_date =='true'}{if $staticpage_custom.show_author =='true'} {$CONST.ON} {/if}<time datetime="{$staticpage_lastchange|@serendipity_html5time}">{$staticpage_lastchange|@formatTime:$template_option.date_format}</time>{/if}{if $staticpage_adminlink AND $staticpage_adminlink.page_user}{if $staticpage_custom.show_author =='true' || $staticpage_custom.show_date =='true'} {/if}<a href="{$staticpage_adminlink.link_edit}" title="{$staticpage_adminlink.link_name|@escape}"><button class="btn btn-sm btn-default btn-theme"><i class="fa fa-lg fa-edit"></i><span class="sr-only">{$staticpage_adminlink.link_name|@escape}</span></button></a>{/if}
|
||||
</p>
|
||||
</footer>
|
||||
{/if}
|
||||
</article>
|
||||
{assign var="footer_totalPages" value="0" scope="parent"}{* prevent pagination on related category from showing on index.tpl in this theme *}
|
8
templates/timeline/plugin_staticpage_searchresults.tpl
Normal file
@ -0,0 +1,8 @@
|
||||
{if $staticpage_results}
|
||||
<aside class="staticpage_results">
|
||||
<h3>{$CONST.STATICPAGE_SEARCHRESULTS|sprintf:$staticpage_searchresults}</h3>
|
||||
{foreach from=$staticpage_results item="result"}
|
||||
<a href="{$result.permalink|@escape}" title="{$result.pagetitle|@escape}"><h2 class="post-title">{$result.headline}</h2></a>
|
||||
{/foreach}
|
||||
</aside>
|
||||
{/if}
|
BIN
templates/timeline/preview.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
templates/timeline/preview_fullsize.jpg
Normal file
After Width: | Height: | Size: 105 KiB |
67
templates/timeline/preview_iframe.tpl
Normal file
@ -0,0 +1,67 @@
|
||||
<!doctype html>
|
||||
<html lang="{$lang}">
|
||||
<head>
|
||||
<meta charset="{$head_charset}">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="Serendipity v.{$serendipityVersion}">
|
||||
<title>{$CONST.SERENDIPITY_ADMIN_SUITE}</title>
|
||||
{* BOOTSTRAP CORE CSS *}
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
|
||||
{* S9Y CSS *}
|
||||
{if $head_link_stylesheet_frontend}{* >= s9y 2.0.2 *}
|
||||
<link rel="stylesheet" href="{$head_link_stylesheet_frontend}">
|
||||
{else}
|
||||
<link rel="stylesheet" href="{$serendipityHTTPPath}{$serendipityRewritePrefix}serendipity.css">
|
||||
{/if}
|
||||
{* CUSTOM FONTS *}
|
||||
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300,400' rel='stylesheet' type='text/css'>
|
||||
{* ADDTIONAL COLORSET & SKIN STYLESHEETS - INCLUDED SETS ARE LOADED VIA CONFIG *}
|
||||
{serendipity_hookPlugin hook="backend_header" hookAll="true"}
|
||||
<script src="{serendipity_getFile file='admin/js/plugins.js'}"></script>
|
||||
<script src="{serendipity_getFile file='admin/serendipity_editor.js'}"></script>
|
||||
<script>
|
||||
window.onload = function() {ldelim}
|
||||
parent.document.getElementById('serendipity_iframe').style.height = document.getElementById('maincontent').offsetHeight
|
||||
+ parseInt(document.getElementById('maincontent').style.marginTop)
|
||||
+ parseInt(document.getElementById('maincontent').style.marginBottom)
|
||||
+ 'px';
|
||||
parent.document.getElementById('serendipity_iframe').scrolling = 'no';
|
||||
parent.document.getElementById('serendipity_iframe').style.border = 0;
|
||||
{rdelim}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<main id="maincontent" class="container content" role="main" style="margin: 0 auto;">
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
{if $mode == 'preview'}
|
||||
{$preview}
|
||||
{elseif $mode == 'save'}
|
||||
{$updertHooks}
|
||||
{if $res}
|
||||
<div class="alert alert-danger"><span class="fa-stack" aria-hidden="true"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-exclamation fa-stack-1x"></i></span> {$CONST.ERROR}: <b>{$res}</b></div>
|
||||
{else}
|
||||
{if $lastSavedEntry}
|
||||
<script type="text/javascript">$(document).ready(function() {
|
||||
parent.document.forms['serendipityEntry']['serendipity[id]'].value = "{$lastSavedEntry}";
|
||||
});
|
||||
</script>
|
||||
{/if}
|
||||
<span class="alert alert-success"><span class="fa-stack text-success" aria-hidden="true"></i><i class="fa fa-smile-o fa-2x"></i></span> {$CONST.ENTRY_SAVED}. <a class="btn btn-md btn-default btn-theme" href="{$entrylink}" target="_blank">{$CONST.VIEW_ENTRY}</a></span>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
|
||||
<script src={serendipity_getFile file="js/timeline.js"}></script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src={serendipity_getFile file="js/respond.js"}></script>
|
||||
<script src={serendipity_getFile file="js/html5shiv.js"}></script>
|
||||
<script src={serendipity_getFile file="js/placeholder-IE-fixes.js"}></script>
|
||||
<![endif]-->
|
||||
</body>
|
||||
</html>
|
124
templates/timeline/purple_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
purple colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Purple Color: #9b6bcc;
|
||||
* Purple Hover Color: #814fb5;
|
||||
* Darkest color: #7240a6;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #9b6bcc;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #814fb5;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-purple.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-purple.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #814fb5;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #814fb5;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #9b6bcc;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #9b6bcc;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #9b6bcc;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #9b6bcc;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #9b6bcc;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #9b6bcc;
|
||||
border: 1px solid #9b6bcc;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #9b6bcc;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #9b6bcc;
|
||||
border: 1px solid #9b6bcc;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #814fb5;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #9b6bcc;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #814fb5;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #814fb5;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #9b6bcc;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #7240a6; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #814fb5;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #9b6bcc;
|
||||
border: 1px solid #9b6bcc;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #814fb5;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #9b6bcc;
|
||||
border: 1px solid #9b6bcc;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #814fb5;
|
||||
}
|
124
templates/timeline/red-dark_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
dark red colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Dark Red Color: #a10f2b;
|
||||
* Dark Red Hover Color: #b61332; lighter
|
||||
* Darkest color: #7b031b;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #a10f2b;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #b61332;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-red-dark.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-red-dark.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #b61332;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #b61332;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #a10f2b;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #a10f2b;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #a10f2b;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #a10f2b;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #b61332;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #a10f2b;
|
||||
border: 1px solid #a10f2b;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #a10f2b;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #a10f2b;
|
||||
border: 1px solid #a10f2b;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #b61332;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #a10f2b;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #b61332;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #b61332;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #a10f2b;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #7b031b; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #b61332;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #a10f2b;
|
||||
border: 1px solid #a10f2b;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #b61332;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #a10f2b;
|
||||
border: 1px solid #a10f2b;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #b61332;
|
||||
}
|
124
templates/timeline/red_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
red colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Red Color: #e74c3c;
|
||||
* Red Hover Color: #c0392b;
|
||||
* Darkest color: #b02d20;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #e74c3c;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #c0392b;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-red.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-red.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #c0392b;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #c0392b;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #e74c3c;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #e74c3c;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #e74c3c;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #e74c3c;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #e74c3c;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #e74c3c;
|
||||
border: 1px solid #e74c3c;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #e74c3c;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #e74c3c;
|
||||
border: 1px solid #e74c3c;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #c0392b;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #e74c3c;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #c0392b;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #c0392b;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #e74c3c;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #b02d20; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #c0392b;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #e74c3c;
|
||||
border: 1px solid #e74c3c;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #c0392b;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #e74c3c;
|
||||
border: 1px solid #e74c3c;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #c0392b;
|
||||
}
|
16
templates/timeline/sidebar.tpl
Normal file
@ -0,0 +1,16 @@
|
||||
{if $is_raw_mode}
|
||||
<div id="serendipity{$pluginside}SideBar">
|
||||
{/if}
|
||||
{foreach from=$plugindata item=item}
|
||||
{if $item.class != "serendipity_plugin_quicksearch"}
|
||||
<section class="sidebar_plugin clearfix {cycle values="odd,even"} {$item.class}">
|
||||
{if $item.title != "" && $item.class != "serendipity_plugin_freetag"}
|
||||
<h3>{$item.title}</h3>
|
||||
{/if}
|
||||
<div class="sidebar_content clearfix">{$item.content}</div>
|
||||
</section>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if $is_raw_mode}
|
||||
</div>
|
||||
{/if}
|
22
templates/timeline/staticpage-entries-listing.tpl
Normal file
@ -0,0 +1,22 @@
|
||||
<h4>{$CONST.STATICPAGE_NEW_HEADLINES|capitalize}</h4>
|
||||
{if $entries}
|
||||
<dl>
|
||||
{foreach from=$entries item="dategroup"}
|
||||
{foreach from=$dategroup.entries item="entry"}
|
||||
<dt class="serendipity_recententries_entrylink"><a href="{$entry.link}" title="{$entry.title|@default:$entry.id}">{$entry.title|@default:$entry.id}</a></dt>
|
||||
<dd class="text-muted serendipity_recententries_entrydate"><small>{$dategroup.date|@formatTime:$template_option.date_format}</small></dd>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</dl>
|
||||
{if $staticpage_related_category_id >0}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{$serendipityBaseURL}{$serendipityRewritePrefix}{getCategoryLinkByID cid=$staticpage_related_category_id}">{$CONST.STATICPAGE_ARTICLE_OVERVIEW|capitalize} <i class="fa fa-arrow-right" aria-hidden="true"></i></a><br />
|
||||
{else}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{$serendipityArchiveURL}/P1.html">{$CONST.STATICPAGE_ARTICLE_OVERVIEW|capitalize} <i class="fa fa-arrow-right" aria-hidden="true"></i></a><br />
|
||||
{/if}
|
||||
{else}
|
||||
<div id="search-block" class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<p class="alert alert-info noentries"><span class="fa-stack"><i class="fa fa-circle-thin fa-stack-2x"></i><i class="fa fa-info fa-stack-1x"></i></span> {$CONST.NO_ENTRIES_TO_PRINT}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
1199
templates/timeline/style.css
Normal file
124
templates/timeline/teal_style.css
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
Theme: Timeline
|
||||
Theme developed for Serendipity by Don Chambers (www.optional-necessity.com)
|
||||
teal colorset
|
||||
*/
|
||||
|
||||
/*
|
||||
* Teal Color: #18ba9b;
|
||||
* Teal Hover Color: #2cd5b6;
|
||||
* Darkest color: #029377;
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #18ba9b;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #2cd5b6;
|
||||
}
|
||||
|
||||
a.subtome:link,
|
||||
a.subtome:visited {
|
||||
background: url('img/subtome-teal.png') left bottom no-repeat;
|
||||
}
|
||||
|
||||
a.subtome:hover,
|
||||
a.subtome:focus {
|
||||
background: url('img/subtome-teal.png') -64px center no-repeat;
|
||||
}
|
||||
|
||||
a.subtome img {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-brand:hover h1,
|
||||
.navbar-default .navbar-brand:focus h1{
|
||||
color: #2cd5b6;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-toggle {
|
||||
border-color: #2cd5b6;
|
||||
}
|
||||
|
||||
.header .navbar-toggle, .header .navbar-default .navbar-toggle:hover, .header .navbar-default .navbar-toggle:focus {
|
||||
background-color: #18ba9b;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
color: #18ba9b;
|
||||
}
|
||||
.header .navbar-default .navbar-nav > .active > a, .header .navbar-default .navbar-nav > .active > a:hover, .header .navbar-default .navbar-nav > .active > a:focus {
|
||||
background-color: #18ba9b;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.header .navbar-default .navbar-nav a.navbar_current_page,
|
||||
.header .navbar-default .navbar-nav > li > a:hover {
|
||||
border-bottom: 2px solid #18ba9b;
|
||||
}
|
||||
|
||||
.header .navbar-default .navbar-nav > li:hover > a {
|
||||
color: #18ba9b;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-theme {
|
||||
background: none repeat scroll 0 0 #18ba9b;
|
||||
border: 1px solid #18ba9b;
|
||||
}
|
||||
|
||||
.btn-theme:hover {color: #18ba9b;}
|
||||
|
||||
.pager li > a,
|
||||
.pager li > span {
|
||||
background-color: #18ba9b;
|
||||
border: 1px solid #18ba9b;
|
||||
}
|
||||
|
||||
.pager li > a:hover,
|
||||
.pager li > a:focus {
|
||||
color: #2cd5b6;
|
||||
}
|
||||
|
||||
.sidebar_plugin h3{
|
||||
border-bottom: 2px solid #18ba9b;
|
||||
}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a {color: #2cd5b6;}
|
||||
|
||||
.btn-group.archive-button .dropdown-menu > li > a:hover,
|
||||
.btn-group.archive-button .dropdown-menu > li > a:focus {
|
||||
background-color: #2cd5b6;
|
||||
}
|
||||
|
||||
.archive-button-months-entries {border: 1px solid #18ba9b;}
|
||||
|
||||
.archive-button-months-entries .badge {
|
||||
background-color: #029377; /* much darker */
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 5px solid #2cd5b6;
|
||||
}
|
||||
|
||||
.timeline_freeTag a {
|
||||
background-color: #18ba9b;
|
||||
border: 1px solid #18ba9b;
|
||||
}
|
||||
|
||||
.timeline_freeTag a:hover,
|
||||
.timeline_freeTag a:focus {
|
||||
color: #2cd5b6;
|
||||
}
|
||||
|
||||
#scrollUp {
|
||||
background-color: #18ba9b;
|
||||
border: 1px solid #18ba9b;
|
||||
}
|
||||
#scrollUp:hover {
|
||||
color: #2cd5b6;
|
||||
}
|
27
templates/timeline/trackbacks.tpl
Normal file
@ -0,0 +1,27 @@
|
||||
<ul class="comment-list">
|
||||
{foreach from=$trackbacks item=trackback}
|
||||
<li id="comment-c{$trackback.id}" class="comment-list-item">
|
||||
<a id="c{$trackback.id}"></a>
|
||||
<div id="div-comment-c{$trackback.id}" class="comment_any{cycle values=" comment_odd, comment_even"} comment_author_{$comment.author|@makeFilename} {if $trackback.author == $blogTitle}serendipity_comment_author_self{/if}">
|
||||
{if $trackback.avatar}
|
||||
{$trackback.avatar}
|
||||
{/if}
|
||||
<div class="comment-list-item-body">
|
||||
<h5 class="comment-author-heading">
|
||||
<span class="comment-author-details">{$trackback.author|@default:$CONST.ANONYMOUS}</span>
|
||||
<time class="comment-date" datetime="{$trackback.timestamp|@serendipity_html5time}">{if $template_option.comment_time_format =='time'}{$trackback.timestamp|@formatTime:'%b %e. %Y'} {$CONST.AT} {$trackback.timestamp|@formatTime:'%I:%M %p'}{else}{elapsed_time_words from_time=$trackback.timestamp}{/if}</time>
|
||||
</h5>
|
||||
<div class="comment-content">
|
||||
<a href="{$trackback.url|@strip_tags}" {'blank'|@xhtml_target}>{$trackback.title}</a><br />
|
||||
{$trackback.body|@strip_tags|@escape:all} ...
|
||||
</div>
|
||||
<div class="comment-meta">
|
||||
{if $entry.is_entry_owner}
|
||||
<a class="comment-source-ownerlink btn btn-sm btn-default btn-theme" href="{$serendipityBaseURL}comment.php?serendipity[delete]={$trackback.id}&serendipity[entry]={$trackback.entry_id}&serendipity[type]=trackbacks" title="{$CONST.DELETE}"><i class="fa fa-lg fa-trash-o"></i><span class="sr-only"> {$CONST.DELETE}</span></a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|