@ -0,0 +1,22 @@ | |||||
# Generated by http://gitignore.io | |||||
### OSX ### | |||||
.DS_Store | |||||
.AppleDouble | |||||
.LSOverride | |||||
Icon | |||||
# Thumbnails | |||||
._* | |||||
# Files that might appear on external disk | |||||
.Spotlight-V100 | |||||
.Trashes | |||||
### vim ### | |||||
.*.s[a-w][a-z] | |||||
*.un~ | |||||
Session.vim | |||||
.netrwhist | |||||
*~ |
@ -0,0 +1,45 @@ | |||||
Where do I start? | |||||
================= | |||||
See issues tagged with [Pull Request | |||||
Welcomed](https://github.com/talha131/pelican-elegant/issues?labels=Pull+Request+Welcomed). | |||||
I, @talha131, do not plan to work on these issues. You are more than welcome to | |||||
pick them up. | |||||
New Features and Styles | |||||
======================= | |||||
If you plan to add new features to the theme, please make sure | |||||
1. You set sensible defaults so that theme works out of the box, without | |||||
forcing user to set any variable | |||||
2. Your feature should not effect readability and reading experience | |||||
3. It should not be distracting for the reader | |||||
Follow the code style of the existing codebase | |||||
============================================== | |||||
1. Use single ('') rather than double ("") quotation marks for Jinja strings | |||||
1. In Jinja print statements, surround the variable with spaces inside curly | |||||
braces, for example `{{ foo.bar }}` | |||||
1. Use double ("") quotation marks around HTML attributes | |||||
1. End files with a newline | |||||
CSS Formatting Rules | |||||
-------------------- | |||||
1. Font name's first letter should be capital | |||||
2. Add a space after comma | |||||
3. Declarations should be sorted alphabetically | |||||
4. Use a single space between the last selector and the opening brace that | |||||
begins the declaration block | |||||
5. Group together related classes and identities | |||||
6. Add a space after colon | |||||
7. Remove leading 0s | |||||
8. Remove unit specification after 0 values | |||||
9. Use three digit Hex notation for colors whereever possible | |||||
10. User hyphen `-` instead of underscore `_` in class and identity names | |||||
Refer to [Google's HTML/CSS Style | |||||
Guide](http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml) for | |||||
all other formatting rules. |
@ -1,54 +1,239 @@ | |||||
Thanks to | Thanks to | ||||
========= | ========= | ||||
[tshepang](https://github.com/tshepang) | |||||
--------------------------------------- | |||||
**Special Thanks** to [calfzhou](https://github.com/calfzhou) and | |||||
[tshepang](https://github.com/tshepang). They are always the first to report | |||||
issues, suggest improvements and submit patches. They have played a huge role | |||||
in making Elegant more elegant. | |||||
### Oct 4, 2013 | |||||
[7rack](https://github.com/7rack) | |||||
--------------------------------- | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/10) an issue with CSS style of links in an unordered lists. | |||||
1. He reported an | |||||
[issue](https://github.com/talha131/pelican-elegant/issues/118) with meta | |||||
tags which happens when article summary is auto-generated by Pelican | |||||
### Oct 1, 2013 | |||||
[Alexis Métaireau](https://github.com/ametaireau) | |||||
------------------------------------------------- | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/6) that it is not possible to link to a Disqus comment. | |||||
1. He [helped](https://github.com/talha131/pelican-elegant/issues/81) in | |||||
resolving a performance issue | |||||
### Sep 29, 2013 | |||||
[andreburgaud](https://github.com/andreburgaud) | |||||
----------------------------------------------- | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/5) hyperlink style compatibility issue on Chrome. | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/3) an issue with link style. | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/4) the bug that Disqus comment count is always zero. | |||||
1. He reported, investigated and submitted a | |||||
[patch](https://github.com/talha131/pelican-elegant/issues/110) for an issue | |||||
in the navbar | |||||
[yuex](https://github.com/yuex) | |||||
------------------------------- | |||||
[Andre](https://github.com/andreburgaud) | |||||
---------------------------------------- | |||||
### Sep 15, 2013 | |||||
1. He [reported and submitted a | |||||
patch](https://github.com/talha131/pelican-elegant/issues/108) to fix a bug | |||||
in 404.html | |||||
1. He submitted a [patch](https://github.com/talha131/pelican-elegant/pull/2) to the project. | |||||
[brechtm](https://github.com/brechtm) | |||||
------------------------------------- | |||||
[Melissa](https://github.com/meli-lewis) | |||||
---------------------------------------- | |||||
### Sep 3, 2013 | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/pull/40) the idea | |||||
of `custom.css` | |||||
1. She reported a [critical bug](https://github.com/talha131/pelican-elegant/issues/1). | |||||
[Brian Blais](http://web.bryant.edu/~bblais/) | |||||
--------------------------------------------- | |||||
[John](http://twitter.com/BostonEnginerd) | |||||
----------------------------------------- | |||||
1. He suggested via email a solution to the | |||||
[problem](https://github.com/talha131/pelican-elegant/issues/98) of social | |||||
profiles whose icons are missing | |||||
[Brian Levin](https://github.com/bnice5000) | |||||
------------------------------------------- | |||||
### Sep 2, 2013 | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/115) and | |||||
[fixed](https://github.com/talha131/pelican-elegant/pull/117) an issue in | |||||
search code | |||||
1. He suggested [an improvement](https://twitter.com/BostonEnginerd/status/374555593589002241) to the [Elegant project description](http://oncrashreboot.com/elegant-a-clean-theme-for-pelican-with-search-feature). | |||||
[calfzhou](https://github.com/calfzhou) | |||||
--------------------------------------- | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/86) and | |||||
[fixed](https://github.com/talha131/pelican-elegant/pull/109) an issue with | |||||
the footer | |||||
1. He | |||||
[reported](https://github.com/talha131/pelican-elegant/commit/7b484dd611c2d05bc3b3249a756d1e076bfd0a1b#commitcomment-5149343) | |||||
an issue with code style | |||||
1. He | |||||
[reported](https://github.com/talha131/pelican-elegant/issues/95#issuecomment-33189738) | |||||
an issue with code style | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/95) | |||||
integration with `multi_part` plugin | |||||
1. He | |||||
[suggested](https://github.com/talha131/pelican-elegant/issues/95#issuecomment-33091647) | |||||
setting title attribute in HTML anchor elements of `multi_part` code | |||||
1. He | |||||
[suggested](https://github.com/talha131/pelican-elegant/issues/95#issuecomment-41050831) | |||||
a solution to set title of `multi_part` widget in the sidebar | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/15) a bug | |||||
in social media optimizer code | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/60) using | |||||
`_includes` folder | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/63) | |||||
comments for Page template | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/72) an | |||||
issue with image margins | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/73) to | |||||
close an issue regarding changing 3rd parties' code | |||||
1. He submitted a [pull | |||||
request](https://github.com/talha131/pelican-elegant/pull/66) to fix URL | |||||
scheme of categories and tags | |||||
1. He submitted a [pull | |||||
request](https://github.com/talha131/pelican-elegant/pull/65) to fix URL | |||||
scheme | |||||
1. He submitted a [pull | |||||
request](https://github.com/talha131/pelican-elegant/pull/62) to fix a typo | |||||
in CSS | |||||
1. He reported an | |||||
[issue](https://github.com/talha131/pelican-elegant/issues/64) in alignment | |||||
of All Posts | |||||
1. He gave [suggestions](https://github.com/talha131/pelican-elegant/issues/59) | |||||
on improving Archive, Tags, Categories and Home Page | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/58) that | |||||
line numbers in code block to do not always get displayed correctly | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/58) that | |||||
line numbers do not align vertically with code blocks | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/58) fixed | |||||
width for line number column | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/87) | |||||
article translation feature | |||||
1. He submitted a [pull | |||||
request](https://github.com/talha131/pelican-elegant/pull/88) to fix a | |||||
rendering issue in Internet Explorer | |||||
1. He [fixed](https://github.com/talha131/pelican-elegant/pull/119) and pointed | |||||
out HTML is not properly escaped | |||||
1. He | |||||
[reported](https://github.com/talha131/pelican-elegant/commit/e479ce72db916e7e21bc6ae63677221c8e290840#commitcomment-6284503) | |||||
that it is incorrect to rename `SITESUBTITLE` to `SITE_SUBTITLE` | |||||
[debiatan](https://github.com/debiatan) | |||||
--------------------------------------- | |||||
1. He [submitted patch](https://github.com/talha131/pelican-elegant/pull/105) | |||||
to upgrade to Bootstrap 2.3.2 | |||||
[if1live](https://github.com/if1live) | [if1live](https://github.com/if1live) | ||||
------------------------------------- | ------------------------------------- | ||||
### Aug 31, 2013 | |||||
1. His [pull request](https://github.com/getpelican/pelican-plugins/pull/68) | |||||
reminded me that I have forgotten to add template for Pages | |||||
1. His | |||||
[commit](https://github.com/if1live/pelican-elegant/commit/3da52903e94051fa771212149a10a271adc78264#commitcomment-3988674) | |||||
in the fork brought bug in the path of search.html to my notice | |||||
[Jed Brown](https://github.com/jedbrown) | |||||
---------------------------------------- | |||||
1. His [pull request](https://github.com/getpelican/pelican-plugins/pull/68) reminded me that I have forgotten to add template for Pages | |||||
1. His [commit](https://github.com/if1live/pelican-elegant/commit/3da52903e94051fa771212149a10a271adc78264#commitcomment-3988674) in the fork brought bug in the path of search.html to my notice | |||||
1. He suggested via email integration with Latex | |||||
[Jérémie Astori](https://github.com/astorije) | [Jérémie Astori](https://github.com/astorije) | ||||
--------------------------------------------- | --------------------------------------------- | ||||
### Aug 30, 2013 | |||||
1. He reported a [bug](https://botbot.me/freenode/pelican/msg/5577967/) in | |||||
search form | |||||
[John](http://twitter.com/BostonEnginerd) | |||||
----------------------------------------- | |||||
1. He suggested [an | |||||
improvement](https://twitter.com/BostonEnginerd/status/374555593589002241) | |||||
to the [Elegant project | |||||
description](http://oncrashreboot.com/pelican-elegant) | |||||
[kafran](https://github.com/kafran) | |||||
----------------------------------- | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/76) a | |||||
missing `</header>` tag | |||||
[Melissa](https://github.com/meli-lewis) | |||||
---------------------------------------- | |||||
1. She reported a [critical | |||||
bug](https://github.com/talha131/pelican-elegant/issues/1) about | |||||
`RECENT_ARTICLES_COUNT` | |||||
[Rod Morehead](https://github.com/rmorehead) | |||||
-------------------------------------------- | |||||
1. He submitted a [patch](https://github.com/talha131/pelican-elegant/pull/106) | |||||
[silverhook](https://github.com/silverhook) | |||||
------------------------------------------- | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/98) a | |||||
solution to the problem of social profiles whose icons are missing | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/101) | |||||
adding support for related articles plugin | |||||
1. He [helped](https://github.com/talha131/pelican-elegant/issues/102) in | |||||
fixing justification of timestamps issue | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/116) a bug | |||||
in social profiles widget | |||||
1. He | |||||
[suggested](https://github.com/talha131/pelican-elegant/issues/95#issuecomment-38347811) | |||||
to make label of multi-part plugin customisable | |||||
1. He | |||||
[suggested](https://github.com/talha131/pelican-elegant/issues/95#issuecomment-41032225) | |||||
a solution to set title of `multi_part` widget in the sidebar | |||||
[tshepang](https://github.com/tshepang) | |||||
--------------------------------------- | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/81) an | |||||
issue with Elegant's performance | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/80) an | |||||
issue with fall back fonts | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/75) an | |||||
issue with page headers | |||||
1. He | |||||
[reported](https://github.com/talha131/pelican-elegant/issues/34#issuecomment-28151235) | |||||
a regression bug introduced in tags list | |||||
1. He gave [suggestions](https://github.com/talha131/pelican-elegant/issues/59) | |||||
on improving Archive, Tags, Categories and Home Page | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/50) an | |||||
issue with CSS style of nested lists | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/10) an | |||||
issue with CSS style of links in an unordered lists | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/34) that | |||||
articles list in tags page is not sorted at all. He helped a lot to | |||||
reproduce the issue and stayed persistent to get it fixed | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/6) that it | |||||
is not possible to link to a Disqus comment | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/8) that | |||||
code block auto wraps to next line | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/5) | |||||
hyperlink style compatibility issue on Chrome | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/3) an issue | |||||
with link style | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/4) the bug | |||||
that Disqus comment count is always zero | |||||
1. He [suggested](https://github.com/talha131/pelican-elegant/issues/7) that | |||||
comments accordion should have different text depending on its state | |||||
1. He [reported](https://github.com/talha131/pelican-elegant/issues/107) an | |||||
issue when publishing the site | |||||
[yuex 悟道洞穴人](https://github.com/yuex) | |||||
------------------------------- | |||||
1. He submitted a [patch](https://github.com/talha131/pelican-elegant/pull/2) | |||||
to the project | |||||
3rd Party Credits | |||||
================= | |||||
Elegant is standing on the shoulders of these giants. | |||||
1. [Tipue Search](http://www.tipue.com/search/) | |||||
1. [Bootstrap 2.3.2](http://getbootstrap.com/2.3.2/) | |||||
1. [Solarized Light theme](http://ethanschoonover.com/solarized) converted to | |||||
[Pelican Pygments](https://github.com/yuex/pelican-pygments-solarized-css) | |||||
by [yuex 悟道洞穴人](https://github.com/yuex) | |||||
1. He reported a [bug](https://botbot.me/freenode/pelican/msg/5577967/) in search form. |
@ -0,0 +1,11 @@ | |||||
.table-of-content .toc { | |||||
font-size: 0.9em; | |||||
} | |||||
.article-content p{ | |||||
font-size: 19px; | |||||
} | |||||
.article-content { | |||||
max-width: none !important; | |||||
} |
@ -0,0 +1,606 @@ | |||||
/* Base */ | |||||
/* #push.height = -#content-sans-footer.margin-bottom = #footer.margin-top + ul.footer-content */ | |||||
body, | |||||
html { | |||||
height: 100%; | |||||
} | |||||
#content-sans-footer { | |||||
min-height: 100%; | |||||
margin-bottom: -60px; | |||||
} | |||||
#push { | |||||
height: 60px; | |||||
} | |||||
h1, | |||||
h2, | |||||
h3, | |||||
h4, | |||||
h5, | |||||
h6 { | |||||
font-family: Baskerville, Garamond, Georgia, 'DejaVu Serif', 'Times New Roman', Times, Serif; | |||||
font-weight: normal; | |||||
} | |||||
h1 small, h1 a, h1 a:hover, | |||||
h2 small, h2 a, h2 a:hover, | |||||
h3 small, h3 a, h3 a:hover, | |||||
h4 small, h4 a, h4 a:hover, | |||||
h5 small, h5 a, h5 a:hover, | |||||
h6 small, h6 a, h6 a:hover { | |||||
color: inherit; | |||||
text-decoration: none; | |||||
} | |||||
a { | |||||
color: #3875d7; | |||||
} | |||||
hr { | |||||
border-width: 3px; | |||||
} | |||||
/* site title */ | |||||
.site-name { | |||||
font-family: 'Monaco', 'Inconsolata', 'Andale Mono', 'Lucida Console', 'Bitstream Vera Sans Mono', 'Courier New', Courier, Monospace; | |||||
} | |||||
/* Top navigation menu */ | |||||
.top-menu li a { | |||||
font-weight: bold; | |||||
} | |||||
/* Footer */ | |||||
#footer { | |||||
border-top: 1px solid rgba(0, 0, 0, .2); | |||||
font: .8em Calibri, Tahoma, Arial, Sans-Serif; | |||||
margin: 15px 0 0 0; | |||||
padding: 0; | |||||
} | |||||
ul.footer-content { | |||||
list-style: none; | |||||
margin: -1px 0 0 0; | |||||
padding: 2px 5px 0; | |||||
display: table; | |||||
height: 45px; | |||||
width: 100%; | |||||
-moz-box-sizing: border-box; | |||||
-webkit-box-sizing: border-box; | |||||
box-sizing: border-box; | |||||
} | |||||
ul.footer-content li { | |||||
padding-left: 5px; | |||||
display: table-cell; | |||||
vertical-align: middle; | |||||
height: 100%; | |||||
} | |||||
.elegant-power { | |||||
text-align: right; | |||||
} | |||||
.elegant-license { | |||||
text-align: left; | |||||
} | |||||
.elegant-subtitle { | |||||
text-align: left; | |||||
} | |||||
/* comment */ | |||||
#comment-message, | |||||
#post-share-links:not(a) { | |||||
color: #6F6F6F; | |||||
text-shadow: 1px 1px 3px rgba(50, 50, 50, 0.15); | |||||
} | |||||
#post-share-links a{ | |||||
text-shadow: 0 0; | |||||
} | |||||
.disqus-comment-count { | |||||
font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, Sans-Serif; | |||||
font-size: .9em; | |||||
} | |||||
#disqus_thread { | |||||
padding-left: 10px; | |||||
padding-right: 10px; | |||||
} | |||||
/* Syntax Highlight */ | |||||
table { | |||||
table-layout: fixed; | |||||
width: 100%; | |||||
} | |||||
td { | |||||
vertical-align: top; | |||||
} | |||||
@media (max-width:979px) { | |||||
.linenos { | |||||
display:none !important; | |||||
} | |||||
} | |||||
.linenos { | |||||
width: 30px; | |||||
} | |||||
.linenos div pre { | |||||
text-align: right; | |||||
overflow: hidden; | |||||
} | |||||
pre { | |||||
overflow: auto; | |||||
white-space: pre; | |||||
word-break: normal; | |||||
word-wrap: normal; | |||||
} | |||||
td.code .highlight pre { | |||||
border-radius: 0 3px 3px 0; | |||||
} | |||||
td.code { | |||||
width: 100%; | |||||
} | |||||
.linenodiv pre { | |||||
background-color: #eee8d5; | |||||
border-radius: 3px 0 0 3px; | |||||
color: #657b83; | |||||
} | |||||
div.highlight { | |||||
margin-bottom: 20px; | |||||
} | |||||
/* Tags */ | |||||
.list-of-tags { | |||||
font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif; | |||||
list-style: none; | |||||
margin: 0; | |||||
overflow: hidden; | |||||
} | |||||
.list-of-tags li { | |||||
float: left; | |||||
line-height: 28px; | |||||
margin: 0; | |||||
} | |||||
.list-of-tags a { | |||||
background: #EEE; | |||||
border-radius: 3px; | |||||
color: #222; | |||||
margin: 2px; | |||||
padding: 3px 6px; | |||||
text-decoration: none; | |||||
} | |||||
.list-of-tags a span { | |||||
font-size: .8em; | |||||
vertical-align: super; | |||||
} | |||||
.tags-in-article li { | |||||
float: none; | |||||
line-height: 28px; | |||||
} | |||||
.tag-title { | |||||
font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, Sans-Serif; | |||||
} | |||||
.articles-in-tag li { | |||||
font: 1.1em/1.6em 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, Sans-Serif; | |||||
} | |||||
/* Article */ | |||||
article p:not(#list-of-translations):not(#post-share-links) a, | |||||
article ol a, | |||||
blockquote a, | |||||
article div.article-content ul:not(.articles-timeline):not(.related-posts-list) a { | |||||
border-bottom: thin dashed #A9A9A9; | |||||
color: #000; | |||||
} | |||||
article p a:hover, | |||||
article ol a:hover, | |||||
article div.article-content ul:not(.articles-timeline) a:hover { | |||||
border-bottom: none; | |||||
text-decoration: none; | |||||
text-shadow: none; | |||||
} | |||||
.article-content, div.recent-posts p { | |||||
font: 1.2em/1.6em 'PT Serif', Georgia, 'Times New Roman', Times, Serif; | |||||
text-align: justify; | |||||
} | |||||
.article-content { | |||||
max-width: 50em; | |||||
} | |||||
.article-content p, div.recent-posts p { | |||||
font-size: inherit; | |||||
font-variant: normal; | |||||
line-height: 1.6em; | |||||
text-transform: none; | |||||
} | |||||
.article-content p { | |||||
margin: 20px 0; | |||||
} | |||||
.article-content blockquote { | |||||
border-left: 0; | |||||
margin: 20px 0 0 2em; | |||||
padding: 0 0 0 20px; | |||||
} | |||||
.article-content blockquote:before { | |||||
color: #646464; | |||||
content: '\f10d'; | |||||
font: 18px FontAwesome; | |||||
font-style: normal; | |||||
font-weight: normal; | |||||
margin-left: -2em; | |||||
text-decoration: inherit; | |||||
position:absolute; | |||||
} | |||||
.article-content blockquote { | |||||
font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif; | |||||
font-size: inherit; | |||||
font-variant: normal; | |||||
line-height: 1.7em; | |||||
text-transform: none; | |||||
font-weight: 300; | |||||
position:relative; | |||||
} | |||||
.article-content ul:not(.related-posts-list):not(.articles-timeline) { | |||||
font-size: inherit; | |||||
list-style-type: disc; | |||||
} | |||||
.article-content ul.related-posts-list { | |||||
list-style-type: square; | |||||
} | |||||
.article-content ol { | |||||
font-size: inherit; | |||||
list-style-type: decimal; | |||||
} | |||||
.article-content li { | |||||
line-height: 1.7em; | |||||
list-style-position: outside; | |||||
margin: 1px 0 1px 20px; | |||||
} | |||||
.article-content dl { | |||||
font-size: inherit; | |||||
list-style-position: outside; | |||||
list-style-type: decimal; | |||||
margin: 20px 0 20px 20px; | |||||
} | |||||
.article-content dd { | |||||
line-height: 1.7em; | |||||
margin: 1px 0 1px 20px; | |||||
padding: 3px 0; | |||||
} | |||||
.article-content dt { | |||||
font-size: inherit; | |||||
} | |||||
.page-header { | |||||
border-bottom: 1px solid #8f8686; | |||||
color: #8B0000; | |||||
margin: 10px 10px 20px; | |||||
padding: 5px; | |||||
} | |||||
.page-header h1 { | |||||
font-size: 3em; | |||||
font-weight: normal; | |||||
} | |||||
ul.articles-timeline { | |||||
list-style: none; | |||||
margin: 0; | |||||
padding-bottom: 30px; | |||||
} | |||||
ul.articles-timeline .next-article { | |||||
float: right; | |||||
margin: 0; | |||||
} | |||||
ul.articles-timeline .previous-article { | |||||
float: left; | |||||
margin: 0; | |||||
} | |||||
i.sidebar-social-links { | |||||
border-radius: 20%; | |||||
border: solid transparent 1px; | |||||
color: #A2A2A2; | |||||
font-size: 1.3em; | |||||
margin: 0; | |||||
padding: 1px; | |||||
text-align: center; | |||||
text-decoration: none; | |||||
width: 12%; | |||||
} | |||||
i.sidebar-social-links:hover { | |||||
background-color: #A2A2A2; | |||||
color: #fff; | |||||
} | |||||
i.fa-twitter:hover, i.fa-twitter-square:hover { | |||||
background-color: #00ACED; | |||||
} | |||||
i.fa-facebook:hover, i.fa-facebook-square:hover { | |||||
background-color: #3B5998; | |||||
} | |||||
i.fa-google-plus:hover, i.fa-google-plus-square:hover { | |||||
background-color: #D34836; | |||||
} | |||||
i.fa-adn:hover { | |||||
background-color: #49484D; | |||||
} | |||||
i.fa-envelope:hover { | |||||
background-color: #5E9EDA; | |||||
} | |||||
i.fa-github:hover, i.fa-github-square:hover, i.fa-github-alt:hover { | |||||
background-color: #000; | |||||
} | |||||
i.fa-flickr:hover { | |||||
background-color: #FF0084; | |||||
} | |||||
i.fa-youtube:hover, i.fa-youtube-square:hover, i.fa-youtube-play:hover { | |||||
background-color: #BC272F; | |||||
} | |||||
i.fa-linkedin:hover, i.fa-linkedin-square:hover { | |||||
background-color: #107FB9; | |||||
} | |||||
i.fa-gittip:hover { | |||||
background-color: #663300; | |||||
} | |||||
i.fa-rss:hover, i.fa-rss-square:hover { | |||||
background-color: #FF6600; | |||||
} | |||||
i.fa-bitbucket:hover, i.fa-bitbucket-square:hover { | |||||
background-color: #205081; | |||||
} | |||||
i.fa-stack-exchange:hover { | |||||
background-color: #3A7BC8; | |||||
} | |||||
ul.multi-parts-list a { | |||||
color: black; | |||||
} | |||||
ul.multi-parts-list a:hover { | |||||
text-decoration: none; | |||||
} | |||||
ul.multi-parts-list li.active-part { | |||||
font-style: italic; | |||||
} | |||||
.table-of-content .toc { | |||||
font-size: .7em; | |||||
} | |||||
.last-updated a { | |||||
color: #333; | |||||
} | |||||
.last-updated a:hover { | |||||
text-decoration: none; | |||||
} | |||||
.article-content img { | |||||
border: 2px solid #EEE; | |||||
padding: 5px; | |||||
} | |||||
p#post-share-links { | |||||
text-align: right; | |||||
} | |||||
/* Perma link in article */ | |||||
h1:hover > a.headerlink, | |||||
h2:hover > a.headerlink, | |||||
h3:hover > a.headerlink, | |||||
h4:hover > a.headerlink, | |||||
h5:hover > a.headerlink, | |||||
h6:hover > a.headerlink, | |||||
dt:hover > a.headerlink { | |||||
text-decoration: none; | |||||
visibility: visible; | |||||
} | |||||
a.headerlink { | |||||
color: grey; | |||||
padding-left: .5em; | |||||
visibility: hidden; | |||||
} | |||||
/* Categories */ | |||||
.list-of-categories span { | |||||
font-size: .7em; | |||||
vertical-align: super; | |||||
} | |||||
a.list-of-categories { | |||||
text-decoration: none; | |||||
} | |||||
ul.list-articles-category { | |||||
list-style: none outside none; | |||||
margin: 0 0 0 5px; | |||||
} | |||||
ul.list-articles-category li time { | |||||
color: #8F8F8F; | |||||
display: inline-block; | |||||
font: .9em 'PT Sans', 'Helvetica Neue', Arial, Sans-Serif; | |||||
width: 7em; | |||||
} | |||||
a.category-link { | |||||
color: #333; | |||||
} | |||||
a.category-link:hover { | |||||
text-decoration: none; | |||||
} | |||||
a.list-of-categories { | |||||
font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, Sans-Serif; | |||||
font-size: 1.1em; | |||||
} | |||||
a.list-of-categories:hover { | |||||
background-color: #08c; | |||||
border-radius: 4px; | |||||
color: #FFF; | |||||
} | |||||
/* Archives */ | |||||
ul.list-all-articles { | |||||
list-style: none; | |||||
margin: 0; | |||||
} | |||||
ul.list-all-articles li { | |||||
border-bottom: 1px dotted #000; | |||||
font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, Sans-Serif; | |||||
font-size: 1.1em; | |||||
padding: .3em 0; | |||||
overflow: auto; | |||||
} | |||||
ul.list-all-articles li time { | |||||
color: #AAA; | |||||
float: right; | |||||
font-family: 'PT Sans', 'Helvetica Neue', Arial, Sans-Serif; | |||||
font-size: .9em; | |||||
} | |||||
div.blog-archives h2 { | |||||
float: left; | |||||
position: relative; | |||||
margin:0; | |||||
} | |||||
div.blog-archives article, div.recent-posts article { | |||||
border-bottom: 1px dotted #AAA; | |||||
} | |||||
div.blog-archives article, div.recent-posts article { | |||||
font-size: 1.1em; | |||||
padding: .3em .2em; | |||||
position: relative; | |||||
overflow: auto; | |||||
} | |||||
div.blog-archives article { | |||||
margin-left: 6em; | |||||
} | |||||
div.blog-archives article.last-entry-of-year { | |||||
margin-bottom: 1em; | |||||
} | |||||
div.blog-archives time, div.recent-posts time { | |||||
float: right; | |||||
text-align: right; | |||||
} | |||||
div.blog-archives time, div.recent-posts time, div.recent-posts section { | |||||
color: #8F8F8F; | |||||
font: .9em 'PT Sans', 'Helvetica Neue', Arial, Sans-Serif; | |||||
} | |||||
div.recent-posts section a { | |||||
color: inherit; | |||||
padding-left: .3em; | |||||
} | |||||
div.recent-posts section a:hover { | |||||
border-bottom: 1px dashed; | |||||
text-decoration: none; | |||||
} | |||||
div.recent-posts time { | |||||
font-size: inherit; | |||||
} | |||||
div.recent-posts-time { | |||||
display: inline; | |||||
} | |||||
@media (max-width: 767px) { | |||||
div.blog-archives h2 { | |||||
float: none; | |||||
} | |||||
div.blog-archives article { | |||||
margin-left: 0; | |||||
padding-left: 0; | |||||
} | |||||
div.recent-posts time { | |||||
float: none; | |||||
} | |||||
div.recent-posts-time { | |||||
display: block; | |||||
} | |||||
ul.list-articles-category li time { | |||||
width: 100%; | |||||
} | |||||
} | |||||
/* MailChimp */ | |||||
#mc-embed-signup { | |||||
font-family: inherit; | |||||
font-size: inherit; | |||||
margin: 10px 0; | |||||
} | |||||
#mc-embed-signup form { | |||||
display: block; | |||||
padding: 0; | |||||
position: relative; | |||||
text-align: left; | |||||
} | |||||
#mc-embed-signup input { | |||||
-moz-appearance: none; | |||||
-webkit-appearance: none; | |||||
border: 1px solid #999; | |||||
} | |||||
#mc-embed-signup input:focus { | |||||
border-color: #333; | |||||
} | |||||
#mc-embed-signup input.email { | |||||
display: block; | |||||
font-size: .9em; | |||||
margin: 0 4% 10px 0; | |||||
min-width: 130px; | |||||
padding: 8px 0; | |||||
text-indent: 5px; | |||||
width: 100%; | |||||
} | |||||
#mc-embed-signup input.button { | |||||
display: block; | |||||
margin: 0 0 10px 0; | |||||
min-width: 130px; | |||||
width: 100%; | |||||
} | |||||
#mc-embed-signup input[type='email'] { | |||||
height: 100%; | |||||
} | |||||
#mc-embed-signup .button { | |||||
background-color: #EEE; | |||||
border-radius: 4px; | |||||
border: 1px solid #D3D3D3; | |||||
clear: both; | |||||
color: #000; | |||||
cursor: pointer; | |||||
display: inline-block; | |||||
font-size: 1em; | |||||
font-weight: normal; | |||||
height: 32px; | |||||
line-height: 32px; | |||||
margin: 0 5px 10px 0; | |||||
padding: 0; | |||||
text-align: center; | |||||
text-decoration: none; | |||||
vertical-align: top; | |||||
white-space: nowrap; | |||||
width: auto; | |||||
} | |||||
#mc-embed-signup .button: hover { | |||||
background-color: #DFDFDF; | |||||
} | |||||
#mc-embed-signup .clear { | |||||
clear: none; | |||||
display: inline; | |||||
} | |||||
/* Index page */ | |||||
#allposts { | |||||
color: #999; | |||||
float: right; | |||||
font-size: 75%; | |||||
font-weight: normal; | |||||
} | |||||
a#allposts:hover { | |||||
color: #333; | |||||
} | |||||
.proj-desc { | |||||
color: #999; | |||||
font: .9em 'PT Sans', 'Helvetica Neue', Arial, Sans-Serif; | |||||
} | |||||
/* reST specific rules*/ | |||||
.literal { | |||||
-moz-border-radius: 3px; | |||||
-webkit-border-radius: 3px; | |||||
background-color: #f7f7f9; | |||||
border-radius: 3px; | |||||
border: 1px solid #e1e1e8; | |||||
color: #d14; | |||||
font-family: Monaco, Menlo, Consolas, "Courier New", monospace; | |||||
font-size: 12px; | |||||
padding: 2px 4px; | |||||
white-space: nowrap; | |||||
} | |||||
/* Helper CSS classes */ | |||||
.amp { | |||||
font-family: 'Warnock Pro', 'Goudy Old Style', 'Palatino', 'Book Antiqua', Serif; | |||||
font-style: italic; | |||||
} | |||||
/* Use following classes to add floating images to your post */ | |||||
div.figure, .article-content img { | |||||
text-align: center; | |||||
} | |||||
div.figure img { | |||||
width: 100%; | |||||
} | |||||
div.figure p.caption { | |||||
color: gray; | |||||
font-size: .6em; | |||||
margin: 0; | |||||
} | |||||
div.figure p.caption a { | |||||
border: none; | |||||
color: gray; | |||||
} | |||||
div.figure.align-right, .article-content img.align-right { | |||||
float: right; | |||||
margin-left: 1.5em; | |||||
} | |||||
div.figure.align-left, .article-content img.align-left { | |||||
float: left; | |||||
margin-right: 1.5em; | |||||
} | |||||
@ -0,0 +1,71 @@ | |||||
/* Solarized Light Theme for code snippets */ | |||||
.highlight, pre { background-color: #fdf6e3; color: #586e75 } | |||||
.highlight .c { color: #93a1a1 } /* Comment */ | |||||
.highlight .err { color: #586e75 } /* Error */ | |||||
.highlight .g { color: #586e75 } /* Generic */ | |||||
.highlight .k { color: #859900 } /* Keyword */ | |||||
.highlight .l { color: #586e75 } /* Literal */ | |||||
.highlight .n { color: #586e75 } /* Name */ | |||||
.highlight .o { color: #859900 } /* Operator */ | |||||
.highlight .x { color: #cb4b16 } /* Other */ | |||||
.highlight .p { color: #586e75 } /* Punctuation */ | |||||
.highlight .cm { color: #93a1a1 } /* Comment.Multiline */ | |||||
.highlight .cp { color: #859900 } /* Comment.Preproc */ | |||||
.highlight .c1 { color: #93a1a1 } /* Comment.Single */ | |||||
.highlight .cs { color: #859900 } /* Comment.Special */ | |||||
.highlight .gd { color: #2aa198 } /* Generic.Deleted */ | |||||
.highlight .ge { color: #586e75; font-style: italic } /* Generic.Emph */ | |||||
.highlight .gr { color: #dc322f } /* Generic.Error */ | |||||
.highlight .gh { color: #cb4b16 } /* Generic.Heading */ | |||||
.highlight .gi { color: #859900 } /* Generic.Inserted */ | |||||
.highlight .go { color: #586e75 } /* Generic.Output */ | |||||
.highlight .gp { color: #586e75 } /* Generic.Prompt */ | |||||
.highlight .gs { color: #586e75; font-weight: bold } /* Generic.Strong */ | |||||
.highlight .gu { color: #cb4b16 } /* Generic.Subheading */ | |||||
.highlight .gt { color: #586e75 } /* Generic.Traceback */ | |||||
.highlight .kc { color: #cb4b16 } /* Keyword.Constant */ | |||||
.highlight .kd { color: #268bd2 } /* Keyword.Declaration */ | |||||
.highlight .kn { color: #859900 } /* Keyword.Namespace */ | |||||
.highlight .kp { color: #859900 } /* Keyword.Pseudo */ | |||||
.highlight .kr { color: #268bd2 } /* Keyword.Reserved */ | |||||
.highlight .kt { color: #dc322f } /* Keyword.Type */ | |||||
.highlight .ld { color: #586e75 } /* Literal.Date */ | |||||
.highlight .m { color: #2aa198 } /* Literal.Number */ | |||||
.highlight .s { color: #2aa198 } /* Literal.String */ | |||||
.highlight .na { color: #586e75 } /* Name.Attribute */ | |||||
.highlight .nb { color: #B58900 } /* Name.Builtin */ | |||||
.highlight .nc { color: #268bd2 } /* Name.Class */ | |||||
.highlight .no { color: #cb4b16 } /* Name.Constant */ | |||||
.highlight .nd { color: #268bd2 } /* Name.Decorator */ | |||||
.highlight .ni { color: #cb4b16 } /* Name.Entity */ | |||||
.highlight .ne { color: #cb4b16 } /* Name.Exception */ | |||||
.highlight .nf { color: #268bd2 } /* Name.Function */ | |||||
.highlight .nl { color: #586e75 } /* Name.Label */ | |||||
.highlight .nn { color: #586e75 } /* Name.Namespace */ | |||||
.highlight .nx { color: #586e75 } /* Name.Other */ | |||||
.highlight .py { color: #586e75 } /* Name.Property */ | |||||
.highlight .nt { color: #268bd2 } /* Name.Tag */ | |||||
.highlight .nv { color: #268bd2 } /* Name.Variable */ | |||||
.highlight .ow { color: #859900 } /* Operator.Word */ | |||||
.highlight .w { color: #586e75 } /* Text.Whitespace */ | |||||
.highlight .mf { color: #2aa198 } /* Literal.Number.Float */ | |||||
.highlight .mh { color: #2aa198 } /* Literal.Number.Hex */ | |||||
.highlight .mi { color: #2aa198 } /* Literal.Number.Integer */ | |||||
.highlight .mo { color: #2aa198 } /* Literal.Number.Oct */ | |||||
.highlight .sb { color: #93a1a1 } /* Literal.String.Backtick */ | |||||
.highlight .sc { color: #2aa198 } /* Literal.String.Char */ | |||||
.highlight .sd { color: #586e75 } /* Literal.String.Doc */ | |||||
.highlight .s2 { color: #2aa198 } /* Literal.String.Double */ | |||||
.highlight .se { color: #cb4b16 } /* Literal.String.Escape */ | |||||
.highlight .sh { color: #586e75 } /* Literal.String.Heredoc */ | |||||
.highlight .si { color: #2aa198 } /* Literal.String.Interpol */ | |||||
.highlight .sx { color: #2aa198 } /* Literal.String.Other */ | |||||
.highlight .sr { color: #dc322f } /* Literal.String.Regex */ | |||||
.highlight .s1 { color: #2aa198 } /* Literal.String.Single */ | |||||
.highlight .ss { color: #2aa198 } /* Literal.String.Symbol */ | |||||
.highlight .bp { color: #268bd2 } /* Name.Builtin.Pseudo */ | |||||
.highlight .vc { color: #268bd2 } /* Name.Variable.Class */ | |||||
.highlight .vg { color: #268bd2 } /* Name.Variable.Global */ | |||||
.highlight .vi { color: #268bd2 } /* Name.Variable.Instance */ | |||||
.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */ |
@ -1,69 +0,0 @@ | |||||
.hll { background-color: #ffffcc } | |||||
.c { color: #93a1a1; font-style: italic } /* Comment */ | |||||
.err { color: #dc322f } /* Error */ | |||||
.g { color: #657b83 } /* Generic */ | |||||
.k { color: #859900 } /* Keyword */ | |||||
.l { color: #657b83 } /* Literal */ | |||||
.n { color: #586e75 } /* Name */ | |||||
.o { color: #657b83 } /* Operator */ | |||||
.x { color: #657b83 } /* Other */ | |||||
.p { color: #657b83 } /* Punctuation */ | |||||
.cm { color: #93a1a1; font-style: italic } /* Comment.Multiline */ | |||||
.cp { color: #93a1a1; font-style: italic } /* Comment.Preproc */ | |||||
.c1 { color: #93a1a1; font-style: italic } /* Comment.Single */ | |||||
.cs { color: #93a1a1; font-style: italic } /* Comment.Special */ | |||||
.gd { color: #657b83 } /* Generic.Deleted */ | |||||
.ge { color: #657b83 } /* Generic.Emph */ | |||||
.gr { color: #657b83 } /* Generic.Error */ | |||||
.gh { color: #657b83 } /* Generic.Heading */ | |||||
.gi { color: #657b83 } /* Generic.Inserted */ | |||||
.go { color: #657b83 } /* Generic.Output */ | |||||
.gp { color: #657b83 } /* Generic.Prompt */ | |||||
.gs { color: #657b83 } /* Generic.Strong */ | |||||
.gu { color: #657b83 } /* Generic.Subheading */ | |||||
.gt { color: #657b83 } /* Generic.Traceback */ | |||||
.kc { color: #859900 } /* Keyword.Constant */ | |||||
.kd { color: #859900 } /* Keyword.Declaration */ | |||||
.kn { color: #cb4b16 } /* Keyword.Namespace */ | |||||
.kp { color: #cb4b16 } /* Keyword.Pseudo */ | |||||
.kr { color: #859900 } /* Keyword.Reserved */ | |||||
.kt { color: #859900 } /* Keyword.Type */ | |||||
.ld { color: #657b83 } /* Literal.Date */ | |||||
.m { color: #2aa198 } /* Literal.Number */ | |||||
.s { color: #2aa198 } /* Literal.String */ | |||||
.na { color: #657b83 } /* Name.Attribute */ | |||||
.nb { color: #268bd2 } /* Name.Builtin */ | |||||
.nc { color: #268bd2 } /* Name.Class */ | |||||
.no { color: #b58900 } /* Name.Constant */ | |||||
.nd { color: #cb4b16 } /* Name.Decorator */ | |||||
.ni { color: #cb4b16 } /* Name.Entity */ | |||||
.ne { color: #cb4b16 } /* Name.Exception */ | |||||
.nf { color: #268bd2 } /* Name.Function */ | |||||
.nl { color: #657b83 } /* Name.Label */ | |||||
.nn { color: #b58900 } /* Name.Namespace */ | |||||
.nx { color: #657b83 } /* Name.Other */ | |||||
.py { color: #268bd2 } /* Name.Property */ | |||||
.nt { color: #859900 } /* Name.Tag */ | |||||
.nv { color: #cd4b16 } /* Name.Variable */ | |||||
.ow { color: #859900 } /* Operator.Word */ | |||||
.w { color: #fdf6e3 } /* Text.Whitespace */ | |||||
.mf { color: #2aa198 } /* Literal.Number.Float */ | |||||
.mh { color: #2aa198 } /* Literal.Number.Hex */ | |||||
.mi { color: #2aa198 } /* Literal.Number.Integer */ | |||||
.mo { color: #2aa198 } /* Literal.Number.Oct */ | |||||
.sb { color: #2aa198 } /* Literal.String.Backtick */ | |||||
.sc { color: #2aa198 } /* Literal.String.Char */ | |||||
.sd { color: #2aa198 } /* Literal.String.Doc */ | |||||
.s2 { color: #2aa198 } /* Literal.String.Double */ | |||||
.se { color: #cb4b16 } /* Literal.String.Escape */ | |||||
.sh { color: #2aa198 } /* Literal.String.Heredoc */ | |||||
.si { color: #cb4b16 } /* Literal.String.Interpol */ | |||||
.sx { color: #2aa198 } /* Literal.String.Other */ | |||||
.sr { color: #2aa198 } /* Literal.String.Regex */ | |||||
.s1 { color: #2aa198 } /* Literal.String.Single */ | |||||
.ss { color: #2aa198 } /* Literal.String.Symbol */ | |||||
.bp { color: #268bd2; font-weight: bold } /* Name.Builtin.Pseudo */ | |||||
.vc { color: #268bd2 } /* Name.Variable.Class */ | |||||
.vg { color: #268bd2 } /* Name.Variable.Global */ | |||||
.vi { color: #268bd2 } /* Name.Variable.Instance */ | |||||
.il { color: #2aa198 } /* Literal.Number.Integer.Long */ |
@ -1,399 +0,0 @@ | |||||
body,html{ | |||||
height:100%; | |||||
color: black; | |||||
} | |||||
h1, h2, h3, h4, h5, h5 { | |||||
font-family: Baskerville, Garamond, Georgia, "DejaVu Serif", "Times New Roman", Times, serif; | |||||
font-weight: normal; | |||||
} | |||||
#content-sans-footer{ | |||||
min-height:100%; | |||||
} | |||||
/* site title */ | |||||
.site-name { | |||||
font-family: "Monaco","Inconsolata","Andale Mono","Lucida Console","Bitstream Vera Sans Mono","Courier New",Courier,monospace; | |||||
} | |||||
/* footer */ | |||||
div#footer { | |||||
margin:15px 0px; | |||||
border-top:1px solid rgba(0,0,0,0.2); | |||||
padding:2px 5px 0px 5px; | |||||
font-size:0.7em; | |||||
font-family:calibri,tahoma,arial,sans-serif; | |||||
} | |||||
ul.footer-content{ | |||||
list-style:none; | |||||
padding:0px; | |||||
margin:0px; | |||||
} | |||||
ul.footer-content li { | |||||
padding-left:5px; | |||||
} | |||||
ul.footer-content li.elegant-power { | |||||
float:right; | |||||
} | |||||
ul.footer-content li.elegant-license { | |||||
float:left; | |||||
} | |||||
ul.footer-content li.elegant-subtitle{ | |||||
float:left; | |||||
} | |||||
/* comment */ | |||||
#comment-message { | |||||
font-family: "PT Serif", Georgia, Times, "Times New Roman", serif; | |||||
font-size: 1em; | |||||
color:gray; | |||||
} | |||||
a.disqus-comment-count { | |||||
font-family:'Trebuchet MS',Trebuchet,'Lucida Sans Unicode','Lucida Grande','Lucida Sans',Arial,sans-serif; | |||||
font-size: 0.9em; | |||||
} | |||||
div#disqus_thread { | |||||
padding-left:10px; | |||||
padding-right:10px; | |||||
} | |||||
/* Syntax Highlight */ | |||||
.highlight pre { | |||||
background-color:rgb(253,246,227); | |||||
border-radius:3px 3px 3px 3px; | |||||
} | |||||
td.code .highlight pre { | |||||
border-radius:0px 3px 3px 0px; | |||||
} | |||||
td.code { | |||||
width:100%; | |||||
} | |||||
.linenodiv pre { | |||||
border-radius:3px 0px 0px 3px; | |||||
color:rgb(101,123,131); | |||||
background-color:rgb(238,232,213); | |||||
} | |||||
/* Tags */ | |||||
.list-of-tags { | |||||
list-style:none; | |||||
margin:0; | |||||
padding:5px 0 ; | |||||
overflow:hidden; | |||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |||||
} | |||||
.list-of-tags li { | |||||
line-height:28px; | |||||
float:left; | |||||
margin:0px; | |||||
} | |||||
.list-of-tags a { | |||||
padding: 3px 6px; | |||||
margin: 2px; | |||||
color: #222; | |||||
background:#EEE; | |||||
border-radius: 3px; | |||||
text-decoration:none; | |||||
} | |||||
.list-of-tags a span { | |||||
vertical-align: super; | |||||
font-size: 0.8em; | |||||
} | |||||
.tags-in-article li { | |||||
line-height:28px; | |||||
float:none; | |||||
} | |||||
h2.tag-title { | |||||
font-family:'Trebuchet MS',Trebuchet,'Lucida Sans Unicode','Lucida Grande','Lucida Sans',Arial,sans-serif; | |||||
} | |||||
ul.articles-in-tag li { | |||||
font-family:'Trebuchet MS',Trebuchet,'Lucida Sans Unicode','Lucida Grande','Lucida Sans',Arial,sans-serif; | |||||
font-size:1.1em; | |||||
} | |||||
/* Article */ | |||||
article p a, article ol a, article div.article-content ul:not(.articles_timeline) a { | |||||
color:black; | |||||
border-bottom:thin dashed darkgray; | |||||
} | |||||
article p a:hover, article ol a:hover, article div.article-content ul:not(.articles_timeline) a:hover { | |||||
text-shadow:none; | |||||
text-decoration:none; | |||||
border-bottom:none; | |||||
} | |||||
.article-content { | |||||
text-align:justify; | |||||
/*max-width:50em;*/ | |||||
font-family: "PT Serif", Georgia, Times, "Times New Roman", serif; | |||||
} | |||||
.article-content p{ | |||||
font-variant: normal; | |||||
text-transform: none; | |||||
font-size: 19px; | |||||
line-height: 1.6em; | |||||
margin:20px 0px 20px 0px; | |||||
} | |||||
.article-content blockquote { | |||||
padding: 0px 0px 0px 20px; | |||||
margin: 20px 0px 20px 0px; | |||||
border-left: 5px solid rgb(100,100,100); | |||||
margin-left: 2em; | |||||
} | |||||
.article-content blockquote p { | |||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |||||
font-variant: normal; | |||||
text-transform: none; | |||||
font-size: 1.2em; | |||||
line-height: 1.7em; | |||||
} | |||||
.article-content ul { | |||||
list-style-type: circle; | |||||
font-size: 19px; | |||||
} | |||||
.article-content ol { | |||||
list-style-type: decimal; | |||||
font-size: 19px; | |||||
} | |||||
.article-content li { | |||||
margin:1px 0px 1px 20px; | |||||
list-style-position: outside; | |||||
} | |||||
.article-content dl { | |||||
list-style-type: decimal; | |||||
font-size: 1em; | |||||
list-style-position: outside; | |||||
margin:20px 0px 20px 20px; | |||||
} | |||||
.article-content dd { | |||||
margin:1px 0px 1px 20px; | |||||
padding:3px 0px 3px 0px; | |||||
} | |||||
.article-content dt { | |||||
font-size:1.3em; | |||||
} | |||||
.page_header h1 { | |||||
color:darkred; | |||||
padding: 5px 5px 15px 5px; | |||||
margin: 20px 0px 20px 0px; | |||||
border-bottom: 1px solid rgb(143, 134, 134); | |||||
font-size: 3em; | |||||
font-weight:normal; | |||||
} | |||||
.page_header h1 small { | |||||
color:rgb(143, 116, 116); | |||||
} | |||||
.page_header h1 a { | |||||
color:darkred; | |||||
} | |||||
.page_header h1 a:hover { | |||||
text-decoration:none; | |||||
} | |||||
ul.articles_timeline { | |||||
list-style:none; | |||||
margin:0px; | |||||
padding-bottom:30px; | |||||
} | |||||
ul.articles_timeline li.next_article { | |||||
float:right; | |||||
margin:0px; | |||||
} | |||||
ul.articles_timeline li.previous_article { | |||||
float:left; | |||||
margin:0px; | |||||
} | |||||
/* Categories */ | |||||
.list-of-categories span { | |||||
vertical-align: super; | |||||
font-size: 0.7em; | |||||
} | |||||
a.list-of-categories { | |||||
text-decoration:none; | |||||
} | |||||
ul.list-articles-category { | |||||
list-style:none outside none; | |||||
margin:0px 0px 0px 5px; | |||||
} | |||||
ul.list-articles-category li span{ | |||||
margin-right:10px; | |||||
color:#AAAAAA; | |||||
font-family:"PT Sans","Helvetica Neue",Arial,sans-serif; | |||||
font-size: 0.9em; | |||||
} | |||||
a.category-link { | |||||
color:rgb(51,51,51); | |||||
} | |||||
a.category-link:hover { | |||||
text-decoration:none; | |||||
} | |||||
a.list-of-categories { | |||||
font-size:1.1em; | |||||
font-family: 'Trebuchet MS',Trebuchet,'Lucida Sans Unicode','Lucida Grande','Lucida Sans',Arial,sans-serif; | |||||
} | |||||
a.list-of-categories:hover { | |||||
color:white; | |||||
background-color:rgb(0, 136, 204); | |||||
border-radius:4px; | |||||
} | |||||
/* Base CSS */ | |||||
h2 a { | |||||
color:rgb(51,51,51); | |||||
} | |||||
h2 a:hover { | |||||
text-decoration:none; | |||||
color:rgb(51,51,51); | |||||
} | |||||
a { | |||||
color:rgb(56, 117, 215); | |||||
} | |||||
/* archives */ | |||||
ul.list-all-articles { | |||||
list-style:none; | |||||
margin:0px; | |||||
} | |||||
ul.list-all-articles li { | |||||
border-bottom:1px dotted black; | |||||
padding:0.3em 0em; | |||||
font-size:1.1em; | |||||
font-family: 'Trebuchet MS',Trebuchet,'Lucida Sans Unicode','Lucida Grande','Lucida Sans',Arial,sans-serif; | |||||
} | |||||
ul.list-all-articles li time { | |||||
float:right; | |||||
color:#AAAAAA; | |||||
font-family:"PT Sans","Helvetica Neue",Arial,sans-serif; | |||||
font-size: 0.9em; | |||||
} | |||||
/* top menu */ | |||||
ul.top-menu li a { | |||||
font-weight: bold; | |||||
} | |||||
/* MailChimp */ | |||||
#mc_embed_signup { | |||||
font-size:inherit; | |||||
font-family:inherit; | |||||
margin:10px 0px; | |||||
} | |||||
#mc_embed_signup form { | |||||
padding:0px; | |||||
} | |||||
#mc_embed_signup input.button { | |||||
width: 100% | |||||
} | |||||
#mc_embed_signup input.email { | |||||
width:100%; | |||||
} | |||||
#mc_embed_signup .button { | |||||
font-size: 1.1em; | |||||
} | |||||
/* front page */ | |||||
#allposts { | |||||
color:rgb(153, 153, 153); | |||||
font-size:75%; | |||||
float:right; | |||||
font-weight:normal; | |||||
} | |||||
.proj_desc { | |||||
color:#999999; | |||||
font-family:"PT Sans","Helvetica Neue",Arial,sans-serif; | |||||
font-size: 0.9em; | |||||
} | |||||
.amp { | |||||
font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; | |||||
font-style:italic; | |||||
} | |||||
img { | |||||
border: 1px solid #EEEEEE; | |||||
} | |||||
.table-of-content .toc { | |||||
font-size: 0.9em; | |||||
} | |||||
.last_updated a { | |||||
color: black; | |||||
border-bottom: thin dashed darkgray; | |||||
} | |||||
.last_updated a:hover { | |||||
text-shadow: none; | |||||
text-decoration: none; | |||||
border-bottom: medium none; | |||||
color: rgb(0, 85, 128); | |||||
} | |||||
a.headerlink { | |||||
visibility:hidden; | |||||
padding-left:0.5em; | |||||
color:grey; | |||||
} | |||||
h1:hover > a.headerlink, | |||||
h2:hover > a.headerlink, | |||||
h3:hover > a.headerlink, | |||||
h4:hover > a.headerlink, | |||||
h5:hover > a.headerlink, | |||||
h6:hover > a.headerlink, | |||||
dt:hover > a.headerlink { | |||||
visibility: visible; | |||||
text-decoration:none; | |||||
} |
@ -1,136 +1,134 @@ | |||||
/* | /* | ||||
Tipue Search 3.0.1 | |||||
Tipue Search 3.1 | |||||
Copyright (c) 2013 Tipue | Copyright (c) 2013 Tipue | ||||
Tipue Search is released under the MIT License | Tipue Search is released under the MIT License | ||||
http://www.tipue.com/search | http://www.tipue.com/search | ||||
*/ | */ | ||||
#tipue_search_content | #tipue_search_content | ||||
{ | { | ||||
clear: left; | |||||
max-width: 650px; | |||||
padding: 25px 0 13px 0; | |||||
margin: 0; | |||||
clear: left; | |||||
margin: 0; | |||||
max-width: 650px; | |||||
padding: 25px 0 13px 0; | |||||
} | } | ||||
#tipue_search_loading | #tipue_search_loading | ||||
{ | { | ||||
padding-top: 60px; | |||||
background: #fff url('img/loader.gif') no-repeat left; | |||||
background: #fff url('img/loader.gif') no-repeat left; | |||||
padding-top: 60px; | |||||
} | } | ||||
#tipue_search_warning | #tipue_search_warning | ||||
{ | { | ||||
font: 12px/1.6 'open sans', sans-serif; | |||||
color: #333; | |||||
margin: 7px 0; | |||||
color: #333; | |||||
font: 12px/1.6 'Helvetica Neue', Helvetica, 'Gill Sans', 'Gill Sans MT', Calibri, Arial, Sans-Serif; | |||||
margin: 7px 0; | |||||
} | } | ||||
#tipue_search_warning a | #tipue_search_warning a | ||||
{ | { | ||||
color: #3f72d8; | |||||
text-decoration: none; | |||||
color: #3f72d8; | |||||
text-decoration: none; | |||||
} | } | ||||
#tipue_search_warning a:hover | #tipue_search_warning a:hover | ||||
{ | { | ||||
padding-bottom: 1px; | |||||
border-bottom: 1px solid #ccc; | |||||
border-bottom: 1px solid #ccc; | |||||
padding-bottom: 1px; | |||||
} | } | ||||
#tipue_search_results_count, #tipue_search_warning_head | #tipue_search_results_count, #tipue_search_warning_head | ||||
{ | { | ||||
color:darkred; | |||||
padding: 5px 5px 15px 5px; | |||||
margin: 20px 0px 20px 0px; | |||||
border-bottom: 1px solid rgb(143, 134, 134); | border-bottom: 1px solid rgb(143, 134, 134); | ||||
color: darkred; | |||||
font-family: Baskerville, Garamond, Georgia, "DejaVu Serif", "Times New Roman", Times, Serif; | |||||
font-size: 3em; | font-size: 3em; | ||||
font-family: Baskerville, Garamond, Georgia, "DejaVu Serif", "Times New Roman", Times, serif; | |||||
font-weight: normal; | font-weight: normal; | ||||
margin: 20px 0 20px 0; | |||||
padding: 5px 5px 15px 5px; | |||||
} | } | ||||
.tipue_search_content_title | .tipue_search_content_title | ||||
{ | { | ||||
font: 300 23px/1.6 'open sans', sans-serif; | |||||
font: 300 23px/1.6 'Helvetica Neue', Helveticaclass="o">, 'Gill Sans', 'Gill Sans MT', Calibri, Arial, Sans-Serif; | |||||
margin-top: 20px; | margin-top: 20px; | ||||
} | } | ||||
.tipue_search_content_title a | .tipue_search_content_title a | ||||
{ | { | ||||
color: #3f72d8; | |||||
text-decoration: none; | |||||
color: #3f72d8; | |||||
text-decoration: none; | |||||
} | } | ||||
.tipue_search_content_title a:hover | .tipue_search_content_title a:hover | ||||
{ | { | ||||
padding-bottom: 1px; | |||||
border-bottom: 1px solid #ccc; | |||||
border-bottom: 1px solid #ccc; | |||||
padding-bottom: 1px; | |||||
} | } | ||||
.tipue_search_content_text | .tipue_search_content_text | ||||
{ | { | ||||
font-size: 1em; | |||||
line-height: 1.6em; | |||||
color: #333; | |||||
font-variant: normal; | |||||
text-transform: none; | |||||
padding: 13px 0; | |||||
font-family: Scala, Georgia,"DejaVu Serif","Times New Roman",Times,serif; | |||||
color: #333; | |||||
font-family: Scala, Georgia, "DejaVu Serif", "Times New Roman", Times, Serif; | |||||
font-size: 1em; | |||||
font-variant: normal; | |||||
line-height: 1.6em; | |||||
padding: 13px 0; | |||||
text-transform: none; | |||||
} | } | ||||
.tipue_search_content_text b { | .tipue_search_content_text b { | ||||
color:#EF1D1D; | |||||
font-family:Garamond; | |||||
color: #EF1D1D; | |||||
font-family: Garamond; | |||||
font-size: 1.3em; | font-size: 1.3em; | ||||
} | } | ||||
.tipue_search_content_loc | .tipue_search_content_loc | ||||
{ | { | ||||
font: 300 13px/1.7 'open sans', sans-serif; | |||||
overflow: auto; | |||||
font: 300 13px/1.7 'Helvetica Neue', Helveticaclass="o">, 'Gill Sans', 'Gill Sans MT', Calibri, Arial, Sans-Serif; | |||||
overflow: auto; | |||||
} | } | ||||
.tipue_search_content_loc a | .tipue_search_content_loc a | ||||
{ | { | ||||
color: #555; | |||||
text-decoration: none; | |||||
color: #555; | |||||
text-decoration: none; | |||||
} | } | ||||
.tipue_search_content_loc a:hover | .tipue_search_content_loc a:hover | ||||
{ | { | ||||
padding-bottom: 1px; | |||||
border-bottom: 1px solid #ccc; | |||||
border-bottom: 1px solid #ccc; | |||||
padding-bottom: 1px; | |||||
} | } | ||||
#tipue_search_foot | #tipue_search_foot | ||||
{ | { | ||||
margin: 51px 0 21px 0; | |||||
margin: 51px 0 21px 0; | |||||
} | } | ||||
#tipue_search_foot_boxes | #tipue_search_foot_boxes | ||||
{ | { | ||||
padding: 0; | |||||
margin: 0; | |||||
font: 12px/1 'open sans', sans-serif; | |||||
font: 12px/1 'Helvetica Neue', Helvetica, 'Gill Sans', 'Gill Sans MT', Calibri, Arial, Sans-Serif; | |||||
margin: 0; | |||||
padding: 0; | |||||
} | } | ||||
#tipue_search_foot_boxes li | #tipue_search_foot_boxes li | ||||
{ | { | ||||
list-style: none; | |||||
margin: 0; | |||||
padding: 0; | |||||
display: inline; | |||||
display: inline; | |||||
list-style: none; | |||||
margin: 0; | |||||
padding: 0; | |||||
} | } | ||||
#tipue_search_foot_boxes li a | #tipue_search_foot_boxes li a | ||||
{ | { | ||||
padding: 7px 13px 8px 13px; | |||||
background-color: #f1f1f1; | |||||
border: 1px solid #dcdcdc; | |||||
border-radius: 1px; | |||||
color: #333; | |||||
margin-right: 7px; | |||||
text-decoration: none; | |||||
text-align: center; | |||||
background-color: #f1f1f1; | |||||
border-radius: 1px; | |||||
border: 1px solid #dcdcdc; | |||||
color: #333; | |||||
margin-right: 7px; | |||||
padding: 7px 13px 8px 13px; | |||||
text-align: center; | |||||
text-decoration: none; | |||||
} | } | ||||
#tipue_search_foot_boxes li.current | #tipue_search_foot_boxes li.current | ||||
{ | { | ||||
padding: 7px 13px 8px 13px; | |||||
background: #fff; | |||||
border: 1px solid #dcdcdc; | |||||
border-radius: 1px; | |||||
color: #333; | |||||
margin-right: 7px; | |||||
text-align: center; | |||||
background: #fff; | |||||
border-radius: 1px; | |||||
border: 1px solid #dcdcdc; | |||||
color: #333; | |||||
margin-right: 7px; | |||||
padding: 7px 13px 8px 13px; | |||||
text-align: center; | |||||
} | } | ||||
#tipue_search_foot_boxes li a:hover | #tipue_search_foot_boxes li a:hover | ||||
{ | { | ||||
border: 1px solid #ccc; | |||||
background-color: #f3f3f3; | |||||
background-color: #f3f3f3; | |||||
border: 1px solid #ccc; | |||||
} | } | ||||
@ -0,0 +1,383 @@ | |||||
/* | |||||
Tipue Search 3.1 | |||||
Copyright (c) 2013 Tipue | |||||
Tipue Search is released under the MIT License | |||||
http://www.tipue.com/search | |||||
*/ | |||||
(function($) { | |||||
$.fn.tipuesearch = function(options) { | |||||
var set = $.extend( { | |||||
'show' : 7, | |||||
'newWindow' : false, | |||||
'showURL' : true, | |||||
'minimumLength' : 3, | |||||
'descriptiveWords' : 25, | |||||
'highlightTerms' : true, | |||||
'highlightEveryTerm' : false, | |||||
'mode' : 'static', | |||||
'liveDescription' : '*', | |||||
'liveContent' : '*', | |||||
'contentLocation' : 'tipuesearch/tipuesearch_content.json' | |||||
}, options); | |||||
return this.each(function() { | |||||
var tipuesearch_in = { | |||||
pages: [] | |||||
}; | |||||
$.ajaxSetup({ | |||||
async: false | |||||
}); | |||||
if (set.mode == 'live') | |||||
{ | |||||
for (var i = 0; i < tipuesearch_pages.length; i++) | |||||
{ | |||||
$.get(tipuesearch_pages[i], '', | |||||
function (html) | |||||
{ | |||||
var cont = $(set.liveContent, html).text(); | |||||
cont = cont.replace(/\s+/g, ' '); | |||||
var desc = $(set.liveDescription, html).text(); | |||||
desc = desc.replace(/\s+/g, ' '); | |||||
var t_1 = html.toLowerCase().indexOf('<title>'); | |||||
var t_2 = html.toLowerCase().indexOf('</title>', t_1 + 7); | |||||
if (t_1 != -1 && t_2 != -1) | |||||
{ | |||||
var tit = html.slice(t_1 + 7, t_2); | |||||
} | |||||
else | |||||
{ | |||||
var tit = 'No title'; | |||||
} | |||||
tipuesearch_in.pages.push({ | |||||
"title": tit, | |||||
"text": desc, | |||||
"tags": cont, | |||||
"loc": tipuesearch_pages[i] | |||||
}); | |||||
} | |||||
); | |||||
} | |||||
} | |||||
if (set.mode == 'json') | |||||
{ | |||||
$.getJSON(set.contentLocation, | |||||
function(json) | |||||
{ | |||||
tipuesearch_in = $.extend({}, json); | |||||
} | |||||
); | |||||
} | |||||
if (set.mode == 'static') | |||||
{ | |||||
tipuesearch_in = $.extend({}, tipuesearch); | |||||
} | |||||
var tipue_search_w = ''; | |||||
if (set.newWindow) | |||||
{ | |||||
tipue_search_w = ' target="_blank"'; | |||||
} | |||||
function getURLP(name) | |||||
{ | |||||
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20')) || null; | |||||
} | |||||
if (getURLP('q')) | |||||
{ | |||||
$('#tipue_search_input').val(getURLP('q')); | |||||
getTipueSearch(0, true); | |||||
} | |||||
$('#tipue_search_button').click(function() | |||||
{ | |||||
getTipueSearch(0, true); | |||||
}); | |||||
$(this).keyup(function(event) | |||||
{ | |||||
if(event.keyCode == '13') | |||||
{ | |||||
getTipueSearch(0, true); | |||||
} | |||||
}); | |||||
function getTipueSearch(start, replace) | |||||
{ | |||||
$('#tipue_search_content').hide(); | |||||
var out = ''; | |||||
var results = ''; | |||||
var show_replace = false; | |||||
var show_stop = false; | |||||
var d = $('#tipue_search_input').val().toLowerCase(); | |||||
d = $.trim(d); | |||||
var d_w = d.split(' '); | |||||
d = ''; | |||||
for (var i = 0; i < d_w.length; i++) | |||||
{ | |||||
var a_w = true; | |||||
for (var f = 0; f < tipuesearch_stop_words.length; f++) | |||||
{ | |||||
if (d_w[i] == tipuesearch_stop_words[f]) | |||||
{ | |||||
a_w = false; | |||||
show_stop = true; | |||||
} | |||||
} | |||||
if (a_w) | |||||
{ | |||||
d = d + ' ' + d_w[i]; | |||||
} | |||||
} | |||||
d = $.trim(d); | |||||
d_w = d.split(' '); | |||||
if (d.length >= set.minimumLength) | |||||
{ | |||||
if (replace) | |||||
{ | |||||
var d_r = d; | |||||
for (var i = 0; i < d_w.length; i++) | |||||
{ | |||||
for (var f = 0; f < tipuesearch_replace.words.length; f++) | |||||
{ | |||||
if (d_w[i] == tipuesearch_replace.words[f].word) | |||||
{ | |||||
d = d.replace(d_w[i], tipuesearch_replace.words[f].replace_with); | |||||
show_replace = true; | |||||
} | |||||
} | |||||
} | |||||
d_w = d.split(' '); | |||||
} | |||||
var d_t = d; | |||||
for (var i = 0; i < d_w.length; i++) | |||||
{ | |||||
for (var f = 0; f < tipuesearch_stem.words.length; f++) | |||||
{ | |||||
if (d_w[i] == tipuesearch_stem.words[f].word) | |||||
{ | |||||
d_t = d_t + ' ' + tipuesearch_stem.words[f].stem; | |||||
} | |||||
} | |||||
} | |||||
d_w = d_t.split(' '); | |||||
var c = 0; | |||||
found = new Array(); | |||||
for (var i = 0; i < tipuesearch_in.pages.length; i++) | |||||
{ | |||||
var score = 1000000000; | |||||
var s_t = tipuesearch_in.pages[i].text; | |||||
for (var f = 0; f < d_w.length; f++) | |||||
{ | |||||
var pat = new RegExp(d_w[f], 'i'); | |||||
if (tipuesearch_in.pages[i].title.search(pat) != -1) | |||||
{ | |||||
score -= (200000 - i); | |||||
} | |||||
if (tipuesearch_in.pages[i].text.search(pat) != -1) | |||||
{ | |||||
score -= (150000 - i); | |||||
} | |||||
if (set.highlightTerms) | |||||
{ | |||||
if (set.highlightEveryTerm) | |||||
{ | |||||
var patr = new RegExp('(' + d_w[f] + ')', 'gi'); | |||||
} | |||||
else | |||||
{ | |||||
var patr = new RegExp('(' + d_w[f] + ')', 'i'); | |||||
} | |||||
s_t = s_t.replace(patr, "<b>$1</b>"); | |||||
} | |||||
if (tipuesearch_in.pages[i].tags.search(pat) != -1) | |||||
{ | |||||
score -= (100000 - i); | |||||
} | |||||
} | |||||
if (score < 1000000000) | |||||
{ | |||||
found[c++] = score + '^' + tipuesearch_in.pages[i].title + '^' + s_t + '^' + tipuesearch_in.pages[i].loc; | |||||
} | |||||
} | |||||
if (c != 0) | |||||
{ | |||||
if (show_replace == 1) | |||||
{ | |||||
out += '<div id="tipue_search_warning_head">Showing results for ' + d + '</div>'; | |||||
out += '<div id="tipue_search_warning">Search for <a href="javascript:void(0)" id="tipue_search_replaced">' + d_r + '</a></div>'; | |||||
} | |||||
if (c == 1) | |||||
{ | |||||
out += '<div id="tipue_search_results_count">1 result</div>'; | |||||
} | |||||
else | |||||
{ | |||||
c_c = c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); | |||||
out += '<div id="tipue_search_results_count">' + c_c + ' results</div>'; | |||||
} | |||||
found.sort(); | |||||
var l_o = 0; | |||||
for (var i = 0; i < found.length; i++) | |||||
{ | |||||
var fo = found[i].split('^'); | |||||
if (l_o >= start && l_o < set.show + start) | |||||
{ | |||||
out += '<div class="tipue_search_content_title"><a href="' + fo[3] + '"' + tipue_search_w + '>' + fo[1] + '</a></div>'; | |||||
var t = fo[2]; | |||||
var t_d = ''; | |||||
var t_w = t.split(' '); | |||||
if (t_w.length < set.descriptiveWords) | |||||
{ | |||||
t_d = t; | |||||
} | |||||
else | |||||
{ | |||||
for (var f = 0; f < set.descriptiveWords; f++) | |||||
{ | |||||
t_d += t_w[f] + ' '; | |||||
} | |||||
} | |||||
t_d = $.trim(t_d); | |||||
if (t_d.charAt(t_d.length - 1) != '.') | |||||
{ | |||||
t_d += ' ...'; | |||||
} | |||||
out += '<div class="tipue_search_content_text">' + t_d + '</div>'; | |||||
if (set.showURL) | |||||
{ | |||||
out += '<div class="tipue_search_content_loc"><a href="' + fo[3] + '"' + tipue_search_w + '>' + fo[3] + '</a></div>'; | |||||
} | |||||
} | |||||
l_o++; | |||||
} | |||||
if (c > set.show) | |||||
{ | |||||
var pages = Math.ceil(c / set.show); | |||||
var page = (start / set.show); | |||||
out += '<div id="tipue_search_foot"><ul id="tipue_search_foot_boxes">'; | |||||
if (start > 0) | |||||
{ | |||||
out += '<li><a href="javascript:void(0)" class="tipue_search_foot_box" id="' + (start - set.show) + '_' + replace + '">« Prev</a></li>'; | |||||
} | |||||
if (page <= 2) | |||||
{ | |||||
var p_b = pages; | |||||
if (pages > 3) | |||||
{ | |||||
p_b = 3; | |||||
} | |||||
for (var f = 0; f < p_b; f++) | |||||
{ | |||||
if (f == page) | |||||
{ | |||||
out += '<li class="current">' + (f + 1) + '</li>'; | |||||
} | |||||
else | |||||
{ | |||||
out += '<li><a href="javascript:void(0)" class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>'; | |||||
} | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
var p_b = pages + 2; | |||||
if (p_b > pages) | |||||
{ | |||||
p_b = pages; | |||||
} | |||||
for (var f = page; f < p_b; f++) | |||||
{ | |||||
if (f == page) | |||||
{ | |||||
out += '<li class="current">' + (f + 1) + '</li>'; | |||||
} | |||||
else | |||||
{ | |||||
out += '<li><a href="javascript:void(0)" class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>'; | |||||
} | |||||
} | |||||
} | |||||
if (page + 1 != pages) | |||||
{ | |||||
out += '<li><a href="javascript:void(0)" class="tipue_search_foot_box" id="' + (start + set.show) + '_' + replace + '">Next »</a></li>'; | |||||
} | |||||
out += '</ul></div>'; | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
out += '<div id="tipue_search_warning_head">Nothing found</div>'; | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
if (show_stop) | |||||
{ | |||||
out += '<div id="tipue_search_warning_head">Nothing found</div><div id="tipue_search_warning">Common words are largely ignored</div>'; | |||||
} | |||||
else | |||||
{ | |||||
out += '<div id="tipue_search_warning_head">Search too short</div>'; | |||||
if (set.minimumLength == 1) | |||||
{ | |||||
out += '<div id="tipue_search_warning">Should be one character or more</div>'; | |||||
} | |||||
else | |||||
{ | |||||
out += '<div id="tipue_search_warning">Should be ' + set.minimumLength + ' characters or more</div>'; | |||||
} | |||||
} | |||||
} | |||||
$('#tipue_search_content').html(out); | |||||
$('#tipue_search_content').slideDown(200); | |||||
$('#tipue_search_replaced').click(function() | |||||
{ | |||||
getTipueSearch(0, false); | |||||
}); | |||||
$('.tipue_search_foot_box').click(function() | |||||
{ | |||||
var id_v = $(this).attr('id'); | |||||
var id_a = id_v.split('_'); | |||||
getTipueSearch(parseInt(id_a[0]), id_a[1]); | |||||
}); | |||||
} | |||||
}); | |||||
}; | |||||
})(jQuery); | |||||
@ -0,0 +1,147 @@ | |||||
{# Label for the list of related posts #} | |||||
{% if not RELATED_POSTS_LABEL %} | |||||
{% set RELATED_POSTS_LABEL = 'Related Posts' %} | |||||
{% else %} | |||||
{% set RELATED_POSTS_LABEL = RELATED_POSTS_LABEL %} | |||||
{% endif %} | |||||
{# Label for the list of social profiles #} | |||||
{% if not SOCIAL_PROFILE_LABEL %} | |||||
{% set SOCIAL_PROFILE_LABEL = 'Contact' %} | |||||
{% else %} | |||||
{% set SOCIAL_PROFILE_LABEL = SOCIAL_PROFILE_LABEL %} | |||||
{% endif %} | |||||
{# Label for the Email subscription form #} | |||||
{% if not EMAIL_SUBSCRIPTION_LABEL %} | |||||
{% set EMAIL_SUBSCRIPTION_LABEL = 'Email Newsletter' %} | |||||
{% else %} | |||||
{% set EMAIL_SUBSCRIPTION_LABEL = EMAIL_SUBSCRIPTION_LABEL %} | |||||
{% endif %} | |||||
{# Placeholder text for Email field #} | |||||
{% if not EMAIL_FIELD_PLACEHOLDER %} | |||||
{% set EMAIL_FIELD_PLACEHOLDER = 'Enter your email...' %} | |||||
{% else %} | |||||
{% set EMAIL_FIELD_PLACEHOLDER = EMAIL_FIELD_PLACEHOLDER %} | |||||
{% endif %} | |||||
{# Subscribe button title #} | |||||
{% if not SUBSCRIBE_BUTTON_TITLE %} | |||||
{% set SUBSCRIBE_BUTTON_TITLE = 'Subscribe' %} | |||||
{% else %} | |||||
{% set SUBSCRIBE_BUTTON_TITLE = SUBSCRIBE_BUTTON_TITLE %} | |||||
{% endif %} | |||||
{# Count of recent articles to be shown on the home page #} | |||||
{% if not RECENT_ARTICLES_COUNT %} | |||||
{% set RECENT_ARTICLES_COUNT = 10 %} | |||||
{% else %} | |||||
{% set RECENT_ARTICLES_COUNT = RECENT_ARTICLES_COUNT %} | |||||
{% endif %} | |||||
{# Label to show before Share Post links #} | |||||
{% if not SHARE_POST_INTRO %} | |||||
{% set SHARE_POST_INTRO = 'Share on:' %} | |||||
{% else %} | |||||
{% set SHARE_POST_INTRO = SHARE_POST_INTRO %} | |||||
{% endif %} | |||||
{# Label to show before comments #} | |||||
{% if not COMMENTS_INTRO %} | |||||
{% set COMMENTS_INTRO = '' %} | |||||
{% else %} | |||||
{% set COMMENTS_INTRO = COMMENTS_INTRO %} | |||||
{% endif %} | |||||
{# Author's twitter handle. Used in Twitter card meta data #} | |||||
{% if not TWITTER_USERNAME %} | |||||
{% set TWITTER_USERNAME = '' %} | |||||
{% else %} | |||||
{% set TWITTER_USERNAME = TWITTER_USERNAME %} | |||||
{% endif %} | |||||
{# Author's Google Plus Profile URL. Used for Google Authorship #} | |||||
{% if not GOOGLE_PLUS_PROFILE_URL %} | |||||
{% set GOOGLE_PLUS_PROFILE_URL = '' %} | |||||
{% else %} | |||||
{% set GOOGLE_PLUS_PROFILE_URL = GOOGLE_PLUS_PROFILE_URL %} | |||||
{% endif %} | |||||
{# Thumbnail image to show when homepage is shared on social media. It also | |||||
serves as the default image for posts whose featured_image is not set. #} | |||||
{% if not FEATURED_IMAGE %} | |||||
{% set FEATURED_IMAGE = '' %} | |||||
{% else %} | |||||
{% set FEATURED_IMAGE = FEATURED_IMAGE %} | |||||
{% endif %} | |||||
{# License of your site that appears in the footer of every page #} | |||||
{% if not SITE_LICENSE %} | |||||
{% set SITE_LICENSE = '' %} | |||||
{% else %} | |||||
{% set SITE_LICENSE = SITE_LICENSE %} | |||||
{% endif %} | |||||
{# Description of your site. It is used in meta tags so it will appear in | |||||
search results and social media #} | |||||
{% if not SITE_DESCRIPTION %} | |||||
{% set SITE_DESCRIPTION = '' %} | |||||
{% else %} | |||||
{% set SITE_DESCRIPTION = SITE_DESCRIPTION %} | |||||
{% endif %} | |||||
{# Mailchimp form action URL. This value is mandatory, to show subscriber form | |||||
#} | |||||
{% if not MAILCHIMP_FORM_ACTION %} {% set MAILCHIMP_FORM_ACTION = '' %} | |||||
{% else %} | |||||
{% set MAILCHIMP_FORM_ACTION = MAILCHIMP_FORM_ACTION %} | |||||
{% endif %} | |||||
{# It is displayed along with the SITENAME in the footer of every page #} | |||||
{% if not SITESUBTITLE %} | |||||
{% set SITESUBTITLE = '' %} | |||||
{% else %} | |||||
{% set SITESUBTITLE = SITESUBTITLE %} | |||||
{% endif %} | |||||
{# Set it to True to display favicon and speed dial icon. Also make sure that | |||||
you have placed images in the appropriate directory and defined STATIC_PATHS | |||||
accordingly #} | |||||
{% if not USE_SHORTCUT_ICONS %} | |||||
{% set USE_SHORTCUT_ICONS = False %} | |||||
{% else %} | |||||
{% set USE_SHORTCUT_ICONS = USE_SHORTCUT_ICONS %} | |||||
{% endif %} | |||||
{# It is a dictionary with two keys: title, details. Value of each key is a | |||||
string. It is used to display About me section on the home page. | |||||
LANDING_PAGE_ABOUT = {'title': 'Talha Mansoor', | |||||
'details': '<p>I am a software developer. This blog is' | |||||
'my personal space in the cyber world!</p>' | |||||
} | |||||
#} | |||||
{% if not LANDING_PAGE_ABOUT %} | |||||
{% set LANDING_PAGE_ABOUT = '' %} | |||||
{% else %} | |||||
{% set LANDING_PAGE_ABOUT = LANDING_PAGE_ABOUT %} | |||||
{% endif %} | |||||
{# It is an array of dictionaries. Each distionary has three keys: name, url, | |||||
description. | |||||
PROJECTS = [{ | |||||
'name': 'Logpad + Duration', | |||||
'url': 'https://github.com/talha131/logpad-plus-duration#logpad--duration', | |||||
'description': 'Vim plugin to emulate Windows Notepad logging feature,' | |||||
' and log duration of each entry'}, | |||||
{'name': 'Elegant Theme for Pelican', | |||||
'url': 'http://oncrashreboot.com/pelican-elegant', | |||||
'description': 'A clean and distraction free theme, with search and a' | |||||
' lot more unique features, using Jinja2 and Bootstrap'}] | |||||
#} | |||||
{% if not PROJECTS %} | |||||
{% set PROJECTS = '' %} | |||||
{% else %} | |||||
{% set PROJECTS = PROJECTS %} | |||||
{% endif %} | |||||
@ -0,0 +1,11 @@ | |||||
{% if GOOGLE_ANALYTICS %} | |||||
<script> | |||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | |||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | |||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | |||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); | |||||
ga('create', '{{GOOGLE_ANALYTICS}}', 'auto'); | |||||
ga('send', 'pageview'); | |||||
</script> | |||||
{% endif %} | |||||
@ -0,0 +1,60 @@ | |||||
{% macro disqus_misc_scripts() %} | |||||
<script type="text/javascript"> | |||||
var disqus_shortname = '{{ DISQUS_SITENAME }}'; | |||||
(function () { | |||||
var s = document.createElement('script'); s.async = true; | |||||
s.type = 'text/javascript'; | |||||
s.src = '//' + disqus_shortname + '.disqus.com/count.js'; | |||||
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); | |||||
}()); | |||||
</script> | |||||
<script language="javascript" type="text/javascript"> | |||||
function uncollapse() { | |||||
if (window.location.hash.match(/^#comment-\d+$/)) { | |||||
$('#disqus_thread').collapse('show'); | |||||
} | |||||
} | |||||
</script> | |||||
<script type="text/javascript" language="JavaScript"> | |||||
uncollapse(); | |||||
window.onhashchange=function(){ | |||||
if (window.location.hash.match(/^#comment-\d+$/)) | |||||
window.location.reload(true); | |||||
} | |||||
</script> | |||||
<script> | |||||
$('#disqus_thread').on('shown', function () { | |||||
var link = document.getElementsByClassName('accordion-toggle'); | |||||
var old_innerHTML = link[0].innerHTML; | |||||
$(link[0]).fadeOut(500, function() { | |||||
$(this).text('Click here to hide comments').fadeIn(500); | |||||
}); | |||||
$('#disqus_thread').on('hidden', function () { | |||||
$(link[0]).fadeOut(500, function() { | |||||
$(this).text(old_innerHTML).fadeIn(500); | |||||
}); | |||||
}) | |||||
}) | |||||
</script> | |||||
{% endmacro %} | |||||
{% macro disqus_comments_script(article) %} | |||||
<div id="disqus_thread"></div> | |||||
<script type="text/javascript"> | |||||
var disqus_shortname = '{{ DISQUS_SITENAME }}'; | |||||
{% if article.disqus_identifier %} | |||||
var disqus_identifier = '{{ article.disqus_identifier }}'; | |||||
{% else %} | |||||
var disqus_identifier = '{{ SITEURL }}/{{ article.url }}'; | |||||
{% endif %} | |||||
var disqus_url = '{{ SITEURL }}/{{ article.url }}'; | |||||
(function() { | |||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; | |||||
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; | |||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); | |||||
})(); | |||||
</script> | |||||
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> | |||||
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> | |||||
{% endmacro %} |
@ -0,0 +1,18 @@ | |||||
{% from '_includes/_defaults.html' import USE_SHORTCUT_ICONS with context %} | |||||
{%if USE_SHORTCUT_ICONS == True %} | |||||
<link rel="shortcut icon" href="{{ SITEURL }}/theme/images/favicon.ico" type="image/x-icon" type="image/png" /> | |||||
{# Opera Speed Dial Icon #} | |||||
{# See https://github.com/operasoftware/devopera-static-backup/blob/master/http/dev.opera.com/articles/view/opera-speed-dial-enhancements/index.html #} | |||||
<link rel="icon" href="{{ SITEURL }}/theme/images/apple-touch-icon-152x152.png" type="image/png" /> | |||||
{# Safari on iOS #} | |||||
{# See https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html #} | |||||
<link rel="apple-touch-icon" href="{{ SITEURL }}/theme/images/apple-touch-icon.png" type="image/png" /> | |||||
<link rel="apple-touch-icon" sizes="57x57" href="{{ SITEURL }}/theme/images/apple-touch-icon-57x57.png" type="image/png" /> | |||||
<link rel="apple-touch-icon" sizes="72x72" href="{{ SITEURL }}/theme/images/apple-touch-icon-72x72.png" type="image/png" /> | |||||
<link rel="apple-touch-icon" sizes="76x76" href="{{ SITEURL }}/theme/images/apple-touch-icon-76x76.png" type="image/png" /> | |||||
<link rel="apple-touch-icon" sizes="114x114" href="{{ SITEURL }}/theme/images/apple-touch-icon-114x114.png" type="image/png" /> | |||||
<link rel="apple-touch-icon" sizes="120x120" href="{{ SITEURL }}/theme/images/apple-touch-icon-120x120.png" type="image/png" /> | |||||
<link rel="apple-touch-icon" sizes="144x144" href="{{ SITEURL }}/theme/images/apple-touch-icon-144x144.png" type="image/png" /> | |||||
<link rel="apple-touch-icon" sizes="152x152" href="{{ SITEURL }}/theme/images/apple-touch-icon-152x152.png" type="image/png" /> | |||||
{% endif %} | |||||
@ -0,0 +1,13 @@ | |||||
{% if FEED_ALL_ATOM %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags|e }} - Full Atom Feed" /> | |||||
{% endif %} | |||||
{% if FEED_ALL_RSS %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags|e }} - Full RSS Feed" /> | |||||
{% endif %} | |||||
{% if FEED_ATOM %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags|e }} - Atom Feed" /> | |||||
{% endif %} | |||||
{% if FEED_RSS %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags|e }} - RSS Feed" /> | |||||
{% endif %} | |||||
@ -0,0 +1,13 @@ | |||||
{% if CATEGORY_FEED_ATOM %} | |||||
{% for category in categories %} | |||||
{% set cat_name = category[0].slug %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM|format(cat_name) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags|e }} - {{category[0]}} Category Atom Feed" /> | |||||
{% endfor %} | |||||
{% endif %} | |||||
{% if CATEGORY_FEED_RSS %} | |||||
{% for category in categories %} | |||||
{% set cat_name = category[0].slug %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS|format(cat_name) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags|e }} - {{category[0]}} Category RSS Feed" /> | |||||
{% endfor %} | |||||
{% endif %} | |||||
@ -0,0 +1,12 @@ | |||||
{% if TAG_FEED_ATOM %} | |||||
{% for tag in tags %} | |||||
{% set tag_name = tag[0].slug %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM|format(tag_name) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags|e }} - {{tag[0]}} Tag Atom Feed" /> | |||||
{% endfor %} | |||||
{% endif %} | |||||
{% if TAG_FEED_RSS %} | |||||
{% for tag in tags %} | |||||
{% set tag_name = tag[0].slug %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS|format(tag_name) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags|e }} - {{tag[0]}} Tag RSS Feed" /> | |||||
{% endfor %} | |||||
{% endif %} |
@ -1,9 +1,11 @@ | |||||
<footer> | <footer> | ||||
<div id="footer"> | <div id="footer"> | ||||
<ul class="footer-content"> | <ul class="footer-content"> | ||||
{% from '_includes/_defaults.html' import SITESUBTITLE with context %} | |||||
{% if SITESUBTITLE %} | {% if SITESUBTITLE %} | ||||
<li class="elegant-subtitle"><span class="site-name">{{ SITENAME }}</span> - {{ SITESUBTITLE }}</li> | <li class="elegant-subtitle"><span class="site-name">{{ SITENAME }}</span> - {{ SITESUBTITLE }}</li> | ||||
{% endif %} | {% endif %} | ||||
{% from '_includes/_defaults.html' import SITE_LICENSE with context %} | |||||
{% if SITE_LICENSE %} | {% if SITE_LICENSE %} | ||||
<li class="elegant-license">{{ SITE_LICENSE }}</li> | <li class="elegant-license">{{ SITE_LICENSE }}</li> | ||||
{% endif %} | {% endif %} |
@ -0,0 +1,16 @@ | |||||
{# Check which version of Pelican user is using. | |||||
If it is <=3.3 than modified is a string | |||||
If it is >3.3 than modified is a datetime object | |||||
#} | |||||
{% if article.locale_modified and article.modified %} | |||||
<h4>Last Updated</h4> | |||||
{% set day = article.modified.strftime('%d')|int %} | |||||
<time datetime="{{ article.modified.isoformat() }}">{{ article.modified.strftime('%b') }} {{ day }} {{- article.modified.strftime(', %Y') }}</time> | |||||
{% elif article.modified %} | |||||
<h4>Last Updated</h4> | |||||
<div class="last-updated">{{ article.modified }}</div> | |||||
{% endif %} | |||||
@ -0,0 +1,16 @@ | |||||
{% from '_includes/_defaults.html' import MAILCHIMP_FORM_ACTION with context %} | |||||
{% if MAILCHIMP_FORM_ACTION %} | |||||
{% from '_includes/_defaults.html' import EMAIL_SUBSCRIPTION_LABEL with context %} | |||||
{% from '_includes/_defaults.html' import EMAIL_FIELD_PLACEHOLDER with context %} | |||||
{% from '_includes/_defaults.html' import SUBSCRIBE_BUTTON_TITLE with context %} | |||||
<!-- Begin MailChimp Signup Form --> | |||||
<div id="mc-embed-signup"> | |||||
<form action="{{ MAILCHIMP_FORM_ACTION }}" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> | |||||
<h4>{{ EMAIL_SUBSCRIPTION_LABEL }}</h4> | |||||
<input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="{{ EMAIL_FIELD_PLACEHOLDER }}" required> | |||||
<div class="clear"><input type="submit" value="{{ SUBSCRIBE_BUTTON_TITLE }}" name="subscribe" id="mc-embedded-subscribe" class="button"></div> | |||||
</form> | |||||
</div> | |||||
<!--End mc_embed_signup--> | |||||
{% endif %} | |||||
@ -0,0 +1,4 @@ | |||||
{% assets filters="cssmin", output="css/style.min.css", "css/pygments.css", "tipuesearch/tipuesearch.css","css/elegant.css", "css/custom.css" %} | |||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ ASSET_URL }}"> | |||||
{% endassets %} | |||||
@ -0,0 +1,4 @@ | |||||
{% assets filters="rjsmin", output="tipuesearch/tipuesearch.packed.min.js", "tipuesearch/tipuesearch_set.js", "tipuesearch/tipuesearch.js" %} | |||||
<script type="text/javascript" src="{{ SITEURL }}/{{ ASSET_URL }}"></script> | |||||
{% endassets %} | |||||
@ -0,0 +1,20 @@ | |||||
{% if article.metadata.parts_articles %} | |||||
{%if SERIES_TITLE %} | |||||
<h4>{{ SERIES_TITLE }}</h4> | |||||
{% elif article.series_title %} | |||||
<h4>{{ article.series_title }}</h4> | |||||
{% else %} | |||||
<h4>{{ article.parts }}</h4> | |||||
{% endif %} | |||||
<ul class="multi-parts-list"> | |||||
{% for part_article in article.metadata.parts_articles %} | |||||
<li {% if part_article == article %}class="active-part"{% endif %}> | |||||
{% if part_article != article %} | |||||
<a href="{{ SITEURL }}/{{ part_article.url }}" title="{{ part_article.title }}">Part {{loop.index}}</a> | |||||
{% else %} | |||||
Part {{loop.index}} | |||||
{% endif %} | |||||
</li> | |||||
{% endfor %} | |||||
</ul> | |||||
{% endif %} |
@ -0,0 +1,19 @@ | |||||
{% if article.related_posts %} | |||||
{% from '_includes/_defaults.html' import RELATED_POSTS_LABEL with context %} | |||||
<section> | |||||
<h2>{{ RELATED_POSTS_LABEL }}</h2> | |||||
<ul class="related-posts-list"> | |||||
{% for related_post in article.related_posts|sort(attribute = 'date') %} | |||||
{% set v_title = related_post.title|striptags %} | |||||
{% set title = related_post.title|striptags|e %} | |||||
{%if related_post.subtitle %} | |||||
{% set title = title + ' - ' + related_post.subtitle|striptags|e %} | |||||
{% set v_title = v_title + ' ' + '<small>' + related_post.subtitle|striptags + '</small>' %} | |||||
{% endif %} | |||||
<li><a href="{{ SITEURL }}/{{ related_post.url }}" title="{{ title }}">{{ v_title }}</a></li> | |||||
{% endfor %} | |||||
</ul> | |||||
<hr /> | |||||
</section> | |||||
{% endif %} | |||||
@ -0,0 +1,22 @@ | |||||
{% macro share_links(article) %} | |||||
{% if article.share_post and article.status != 'draft' %} | |||||
<section> | |||||
<p id="post-share-links"> | |||||
{% if article.share_post_intro %} | |||||
{{ article.share_post_intro }} | |||||
{% else %} | |||||
{% from '_includes/_defaults.html' import SHARE_POST_INTRO with context %} | |||||
{{ SHARE_POST_INTRO }} | |||||
{% endif %} | |||||
<a href="{{article.share_post['twitter']}}" target="_blank" title="Share on Twitter">Twitter</a> | |||||
❄ | |||||
<a href="{{article.share_post['facebook']}}" target="_blank" title="Share on Facebook">Facebook</a> | |||||
❄ | |||||
<a href="{{article.share_post['google-plus']}}" target="_blank" title="Share on Google Plus">Google+</a> | |||||
❄ | |||||
<a href="{{article.share_post['email']}}" target="_blank" title="Share via Email">Email</a> | |||||
</p> | |||||
</section> | |||||
{% endif %} | |||||
{% endmacro %} | |||||
@ -0,0 +1,26 @@ | |||||
{% macro smo_metadata(article) %} | |||||
<meta property="og:title" content="{{ article.title|striptags|e }} {%if article.subtitle %} - {{ article.subtitle|striptags|e }} {% endif %}"/> | |||||
<meta property="og:url" content="{{ SITEURL }}/{{ article.url }}" /> | |||||
<meta property="og:description" content="{{article.summary|striptags|e}}" /> | |||||
<meta property="og:site_name" content="{{ SITENAME|striptags|e }}" /> | |||||
<meta property="og:article:author" content="{{ article.author }}" /> | |||||
{% if article.date %} | |||||
<meta property="og:article:published_time" content="{{ article.date.isoformat() }}" /> | |||||
{% endif %} | |||||
{% if article.locale_modified and article.modified %} | |||||
<meta property="" content="{{ article.modified.isoformat() }}" /> | |||||
{% endif %} | |||||
<meta name="twitter:title" content="{{ article.title|striptags|e }} {%if article.subtitle %} - {{ article.subtitle|striptags|e }} {% endif %}"> | |||||
<meta name="twitter:description" content="{{article.summary|striptags|e}}"> | |||||
{% if article.featured_image %} | |||||
<meta property="og:image" content="{{article.featured_image}}" /> | |||||
<meta name="twitter:image" content="{{article.featured_image}}" > | |||||
{% else %} | |||||
{% from '_includes/_defaults.html' import FEATURED_IMAGE with context %} | |||||
{% if FEATURED_IMAGE %} | |||||
<meta property="og:image" content="{{FEATURED_IMAGE}}" /> | |||||
<meta name="twitter:image" content="{{FEATURED_IMAGE}}" > | |||||
{% endif %} | |||||
{% endif %} | |||||
{% endmacro %} | |||||
@ -0,0 +1,33 @@ | |||||
{% if SOCIAL %} | |||||
{% from '_includes/_defaults.html' import SOCIAL_PROFILE_LABEL with context %} | |||||
<h4>{{ SOCIAL_PROFILE_LABEL }}</h4> | |||||
{% for entry in SOCIAL %} | |||||
{% set f_entry = [] %} | |||||
{%for item in entry %} | |||||
{# first is for name #} | |||||
{% if loop.first %} | |||||
{% set link_title = 'My ' + item + ' Profile' %} | |||||
{% set link_icon = item.lower() %} | |||||
{% if item.lower() == 'email' %} | |||||
{% set link_title = 'My ' + item + ' Address' %} | |||||
{% set link_icon = 'envelope' %} | |||||
{% elif item.lower() == 'rss' %} | |||||
{% set link_title = 'Subscribe in a reader' %} | |||||
{% set link_icon = 'rss' %} | |||||
{% endif %} | |||||
{% if f_entry.insert(0, link_title) %}{% endif %} | |||||
{% if f_entry.insert(1, link_icon) %}{% endif %} | |||||
{% elif loop.index0 == 1 %} | |||||
{% set url = item|e %} | |||||
{% if f_entry.insert(2, url) %}{% endif %} | |||||
{% elif loop.index0 == 2 %} | |||||
{% set link_icon = item.lower() %} | |||||
{% if f_entry.pop(1) %}{% endif %} | |||||
{% if f_entry.insert(1, link_icon) %}{% endif %} | |||||
{% endif %} | |||||
{% endfor %} | |||||
<a href="{{f_entry[2]}}" title="{{f_entry[0]}}" class="sidebar-social-links" target="_blank"> | |||||
<i class="fa fa-{{f_entry[1]}} sidebar-social-links"></i></a> | |||||
{% endfor %} | |||||
{% endif %} | |||||
@ -0,0 +1,19 @@ | |||||
{% if STAT_COUNTER_PROJECT and STAT_COUNTER_SECURITY %} | |||||
<!-- Start of StatCounter Code for Default Guide --> | |||||
<script type="text/javascript"> | |||||
var sc_project={{ STAT_COUNTER_PROJECT }}; | |||||
var sc_invisible=1; | |||||
var sc_security="{{ STAT_COUNTER_SECURITY }}"; | |||||
var scJsHost = (("https:" == document.location.protocol) ? | |||||
"https://secure." : "http://www."); | |||||
document.write("<sc"+"ript type='text/javascript' src='" + | |||||
scJsHost+ | |||||
"statcounter.com/counter/counter.js'></"+"script>"); | |||||
</script> | |||||
<noscript><div class="statcounter"><a title="web analytics" | |||||
href="http://statcounter.com/" target="_blank"><img | |||||
class="statcounter" | |||||
src="http://c.statcounter.com/{{ STAT_COUNTER_PROJECT }}/0/{{ STAT_COUNTER_SECURITY }}/1/" | |||||
alt="web analytics"></a></div></noscript> | |||||
<!-- End of StatCounter Code for Default Guide --> | |||||
{% endif %} |
@ -0,0 +1,10 @@ | |||||
{% macro translations_for(article) %} | |||||
{% if article.translations %} | |||||
<p id="list-of-translations"> | |||||
This post is also available in: | |||||
{% for translation in article.translations|sort(attribute = 'lang') %} | |||||
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>{% if loop.index0 + 2 == loop.length %} and{% elif not loop.last %}, {% endif %} | |||||
{% endfor %} | |||||
</p> | |||||
{% endif %} | |||||
{% endmacro %} |
@ -1,46 +0,0 @@ | |||||
{% if GOOGLE_ANALYTICS %} | |||||
<script type="text/javascript"> | |||||
var _gaq = _gaq || []; | |||||
_gaq.push(['_setAccount', '{{GOOGLE_ANALYTICS}}']); | |||||
_gaq.push(['_trackPageview']); | |||||
(function() { | |||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; | |||||
ga.src = 'https://ssl.google-analytics.com/ga.js'; | |||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | |||||
})(); | |||||
</script> | |||||
{% endif %} | |||||
{% if GAUGES %} | |||||
<script type="text/javascript"> | |||||
var _gauges = _gauges || []; | |||||
(function() { | |||||
var t = document.createElement('script'); | |||||
t.type = 'text/javascript'; | |||||
t.async = true; | |||||
t.id = 'gauges-tracker'; | |||||
t.setAttribute('data-site-id', '{{GAUGES}}'); | |||||
t.src = '//secure.gaug.es/track.js'; | |||||
var s = document.getElementsByTagName('script')[0]; | |||||
s.parentNode.insertBefore(t, s); | |||||
})(); | |||||
</script> | |||||
{% endif %} | |||||
{% if PIWIK_URL and PIWIK_SITE_ID %} | |||||
<script type="text/javascript"> | |||||
{% if PIWIK_SSL_URL %} | |||||
var pkBaseURL = "{{ PIWIK_SSL_URL }}"; | |||||
{% else %} | |||||
var pkBaseURL = "{{ PIWIK_URL }}"; | |||||
{% endif %} | |||||
var _paq = _paq || []; | |||||
_paq.push(["trackPageView"]); | |||||
_paq.push(["enableLinkTracking"]); | |||||
(function() { | |||||
var u=(("https:" == document.location.protocol) ? "https" : "http")+"://"+pkBaseURL+"/"; | |||||
_paq.push(["setTrackerUrl", u+"piwik.php"]); | |||||
_paq.push(["setSiteId", "{{ PIWIK_SITE_ID }}"]); | |||||
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; | |||||
g.defer=true; g.async=true; g.src=u+"tricktracktrock.js"; s.parentNode.insertBefore(g,s); | |||||
})(); | |||||
</script> | |||||
{% endif %} |
@ -1,28 +1,62 @@ | |||||
{% extends "base.html" %} | |||||
{% extends 'base.html' %} | |||||
{% block title %} | {% block title %} | ||||
All Posts · {{ super() }} | All Posts · {{ super() }} | ||||
{% endblock title %} | {% endblock title %} | ||||
{% block head_description %} | {% block head_description %} | ||||
Full archives of {{ SITENAME|striptags }} blog. | |||||
Full archives of {{ SITENAME|striptags|e }} blog. | |||||
{% endblock head_description %} | {% endblock head_description %} | ||||
{% block meta_tags_in_head %} | |||||
{{ super() }} | |||||
<meta property="og:title" content="All Posts · {{ SITENAME|striptags|e }}"/> | |||||
<meta name="twitter:title" content="All Posts · {{ SITENAME|striptags|e }}"> | |||||
<meta property="og:url" content="{{ SITEURL }}/archives.html" /> | |||||
<meta property="og:description" content="Full archives of {{ SITENAME|striptags|e }} blog" /> | |||||
<meta name="twitter:description" content="Full archives of {{ SITENAME|striptags|e }} blog"> | |||||
<meta property="og:site_name" content="{{ SITENAME|striptags|e }}" /> | |||||
<meta property="og:article:author" content="{{ AUTHOR }}" /> | |||||
{% from '_includes/_defaults.html' import FEATURED_IMAGE with context %} | |||||
{% if FEATURED_IMAGE %} | |||||
<meta property="og:image" content="{{FEATURED_IMAGE}}" /> | |||||
<meta name="twitter:image" content="{{FEATURED_IMAGE}}" > | |||||
{% endif %} | |||||
{% endblock meta_tags_in_head %} | |||||
{% block content %} | {% block content %} | ||||
<div class="row-fluid"> | <div class="row-fluid"> | ||||
<header class="page_header span10 offset2"> | |||||
<h1><a href="/archives.html">All Posts</a></h1> | |||||
<header class="page-header span10 offset2"> | |||||
<h1><a href="{{ SITEURL }}/archives.html">All Posts</a></h1> | |||||
</header> | </header> | ||||
</div> | </div> | ||||
<div class="row-fluid"> | <div class="row-fluid"> | ||||
<div class="span8 offset2"> | |||||
<ul class="list-all-articles"> | |||||
<div class="span10 offset2"> | |||||
<div class="blog-archives"> | |||||
{% set last_year = 0 %} | |||||
{% for article in dates %} | {% for article in dates %} | ||||
<li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }} {%if article.subtitle %} <small> {{ article.subtitle }} </small> {% endif %} </a> | |||||
{% set year = article.date.strftime('%Y') %} | |||||
{%if last_year != year %} | |||||
<h2 id="{{year }}"><a href="#{{year}}">{{ year }}</a></h2> | |||||
{% set last_year = year %} | |||||
{% endif %} | |||||
{% set next_year = 0 %} | |||||
{% if not loop.last %} | |||||
{% set next = loop.index0 + 1 %} | |||||
{% set next_article = dates[next] %} | |||||
{% set next_year = next_article.date.strftime('%Y') %} | |||||
{% endif %} | |||||
{% if next_year != year %} | |||||
<article class="last-entry-of-year"> | |||||
{% else %} | |||||
<article> | |||||
{% endif %} | |||||
<a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }} {%if article.subtitle %} <small> {{ article.subtitle }} </small> {% endif %} </a> | |||||
<time pubdate="pubdate" datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time> | <time pubdate="pubdate" datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time> | ||||
</li> | |||||
</article> | |||||
{% endfor %} | {% endfor %} | ||||
</ul> | |||||
</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
@ -1,18 +0,0 @@ | |||||
<div id="disqus_thread"></div> | |||||
<script type="text/javascript"> | |||||
var disqus_shortname = '{{ DISQUS_SITENAME }}'; | |||||
{% if article.disqus_identifier %} | |||||
var disqus_identifier = '{{ article.disqus_identifier }}'; | |||||
{% else %} | |||||
var disqus_identifier = '{{ SITEURL }}/{{ article.url }}'; | |||||
{% endif %} | |||||
var disqus_url = '{{ SITEURL }}/{{ article.url }}'; | |||||
(function() { | |||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; | |||||
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; | |||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); | |||||
})(); | |||||
</script> | |||||
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> | |||||
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> |
@ -1,12 +0,0 @@ | |||||
{% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} | |||||
<script type="text/javascript"> | |||||
var disqus_shortname = '{{ DISQUS_SITENAME }}'; | |||||
(function () { | |||||
var s = document.createElement('script'); s.async = true; | |||||
s.type = 'text/javascript'; | |||||
s.src = '//' + disqus_shortname + '.disqus.com/count.js'; | |||||
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); | |||||
}()); | |||||
</script> | |||||
{% endif %} |
@ -1,36 +0,0 @@ | |||||
{% if FEED_ALL_ATOM %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} - Full Atom Feed" /> | |||||
{% endif %} | |||||
{% if FEED_ALL_RSS %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} - Full RSS Feed" /> | |||||
{% endif %} | |||||
{% if FEED_ATOM %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} - Atom Feed" /> | |||||
{% endif %} | |||||
{% if FEED_RSS %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} - RSS Feed" /> | |||||
{% endif %} | |||||
{% if CATEGORY_FEED_ATOM %} | |||||
{% for category in categories %} | |||||
{% set cat_name = category[0]|replace(' ', '-') %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM|format(cat_name) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} - {{category[0]}} Category Atom Feed" /> | |||||
{% endfor %} | |||||
{% endif %} | |||||
{% if CATEGORY_FEED_RSS %} | |||||
{% for category in categories %} | |||||
{% set cat_name = category[0]|replace(' ', '-') %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS|format(cat_name) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} - {{category[0]}} Category RSS Feed" /> | |||||
{% endfor %} | |||||
{% endif %} | |||||
{% if TAG_FEED_ATOM %} | |||||
{% for tag in tags %} | |||||
{% set tag_name = tag[0]|replace(' ', '-') %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM|format(tag_name) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} - {{tag[0]}} Tag Atom Feed" /> | |||||
{% endfor %} | |||||
{% endif %} | |||||
{% if TAG_FEED_RSS %} | |||||
{% for tag in tags %} | |||||
{% set tag_name = tag[0]|replace(' ', '-') %} | |||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS|format(tag_name) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} - {{tag[0]}} Tag RSS Feed" /> | |||||
{% endfor %} | |||||
{% endif %} |