diff --git a/theme/LICENSE.md b/theme/LICENSE.md new file mode 100644 index 0000000..5abc6ec --- /dev/null +++ b/theme/LICENSE.md @@ -0,0 +1,7 @@ +The license requires that you give credit to me, Talha Mansoor, as the author of the Elegant theme on every site that uses this theme. I have placed the attribution in the footer of every page. Do not remove it. If you need to remove or change the style of the attribution, please get in [touch with me](http://oncrashreboot.com/#about-me) first. + +Along with this attribution clause, Elegant theme is licensed under The MIT License. + +If you use my theme, I would love to hear from you. [Get in touch](http://oncrashreboot.com/#about-me) and let me know about it. I may link to your site too. + +Please visit License section of [Elegant - a theme for Pelican](http://oncrashreboot.com/pelican-elegant) at my blog for updated licensing details. diff --git a/theme/README.md b/theme/README.md new file mode 100644 index 0000000..cdce9bc --- /dev/null +++ b/theme/README.md @@ -0,0 +1,19 @@ +Please visit [Elegant - a theme for Pelican](http://oncrashreboot.com/pelican-elegant) at my blog for detailed features and documentation. + +Elegant offers several unique features including search, live filter, collapsible comments, Mailchimp, custom 404 page, etc. It is a minimal, and stylish theme that looks amazing across all screen resolutions and devices. + +Here is an example search result + +![Search result screenshot](https://raw.github.com/talha131/pelican-elegant/master/search-result-screenshot.png) + +Here is how the home page looks like + +![Home page screenshot](https://raw.github.com/talha131/pelican-elegant/master/home-page-screenshot.png) + +This is how a generated article looks like + +![Article screenshot](https://raw.github.com/talha131/pelican-elegant/master/article-screenshot.png) + +[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/c71132a529c1c5d7eb8dc5ea4825a851 "githalytics.com")](http://githalytics.com/talha131/pelican-elegant) + +[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/talha131/pelican-elegant/trend.png)](https://bitdeli.com/free "Bitdeli Badge") diff --git a/theme/RELEASE_NOTES.md b/theme/RELEASE_NOTES.md new file mode 100644 index 0000000..57547ce --- /dev/null +++ b/theme/RELEASE_NOTES.md @@ -0,0 +1,38 @@ +Version 1.3 +=========== + +* Next and previous article navigation is placed below comments section so that article's content and comments appear together +* Article title and site name in `` tag is separated by ` · ` which is cleaner and more subtle than ` - ` +* Subtitle of articles and pages is added in `<title>` tag along with main title +* Description meta tag on Home Page uses `SITE_DESCRIPTION` +* Bug fix: Expand comments section if URL points to a comment +* Bug fix: CSS style of links in an unordered list inside article content is different from article links + +Version 1.2 +=========== + +* RSS and Atom feed links +* CSS style for permanent links added. It is visible only user hovers over the heading +* Block quote is indented towards left +* Bug fix: Hyperlink dashed underline is not visible on Chrome +* Bug fix: Text in list goes beyond list marker when text is long and overflows to next line +* Bug fix: Disqus comment count is always 0 + +Version 1.1 +=========== + +* Add template for pages. Pages do not have tags, category and Disqus comments +* Keep style of a hyperlink in `modified` meta data consisted with the theme +* Add `keywords` meta tag that uses keywords, tags and category attribute of articles and pages +* Validate search form for empty strings +* If `RECENT_ARTICLES_COUNT` is undefined, set it to 10. So that Pelican does not throw critical error +* Bug fix: Path of search.html in search form action should always be absolute +* Bug fix: Copyright meta tag should be set to the author, instead of the license +* Bug fix: Close meta tags +* Bug fix: ID of search form in 404 page should be different from the ID of search form in main navigation +* Bug fix: Links in ordered list in an article do not conform to the link style in rest of the article + +Version 1.0 +=========== + +* Initial release diff --git a/theme/THANKS.md b/theme/THANKS.md new file mode 100644 index 0000000..87a3be7 --- /dev/null +++ b/theme/THANKS.md @@ -0,0 +1,54 @@ +Thanks to +========= + +[tshepang](https://github.com/tshepang) +--------------------------------------- + +### Oct 4, 2013 + +1. He [reported](https://github.com/talha131/pelican-elegant/issues/10) an issue with CSS style of links in an unordered lists. + +### Oct 1, 2013 + +1. He [reported](https://github.com/talha131/pelican-elegant/issues/6) that it is not possible to link to a Disqus comment. + +### Sep 29, 2013 + +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. + +[yuex](https://github.com/yuex) +------------------------------- + +### Sep 15, 2013 + +1. He submitted a [patch](https://github.com/talha131/pelican-elegant/pull/2) to the project. + +[Melissa](https://github.com/meli-lewis) +---------------------------------------- +### Sep 3, 2013 + +1. She reported a [critical bug](https://github.com/talha131/pelican-elegant/issues/1). + +[John](http://twitter.com/BostonEnginerd) +----------------------------------------- + +### Sep 2, 2013 + +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). + +[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 + +[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. diff --git a/theme/article-screenshot.png b/theme/article-screenshot.png new file mode 100644 index 0000000..76dd130 Binary files /dev/null and b/theme/article-screenshot.png differ diff --git a/theme/home-page-screenshot.png b/theme/home-page-screenshot.png new file mode 100644 index 0000000..4620f38 Binary files /dev/null and b/theme/home-page-screenshot.png differ diff --git a/theme/search-result-screenshot.png b/theme/search-result-screenshot.png new file mode 100644 index 0000000..6c99a15 Binary files /dev/null and b/theme/search-result-screenshot.png differ diff --git a/theme/static/css/main.css b/theme/static/css/main.css deleted file mode 100644 index b7b3536..0000000 --- a/theme/static/css/main.css +++ /dev/null @@ -1,453 +0,0 @@ -/* - Name: Smashing HTML5 - Date: July 2009 - Description: Sample layout for HTML5 and CSS3 goodness. - Version: 1.0 - License: MIT <http://opensource.org/licenses/MIT> - Licensed by: Smashing Media GmbH <http://www.smashingmagazine.com/> - Original author: Enrique Ramírez <http://enrique-ramirez.com/> -*/ - -/* Imports */ -@import url("reset.css"); -@import url("pygment.css"); -@import url("typogrify.css"); -@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz&subset=latin); - -/***** Global *****/ -/* Body */ -body { - background: #F5F4EF; - color: #000305; - font-size: 87.5%; /* Base font size: 14px */ - font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; - line-height: 1.429; - margin: 0; - padding: 0; - text-align: left; -} - -/* Headings */ -h1 {font-size: 2em } -h2 {font-size: 1.571em} /* 22px */ -h3 {font-size: 1.429em} /* 20px */ -h4 {font-size: 1.286em} /* 18px */ -h5 {font-size: 1.143em} /* 16px */ -h6 {font-size: 1em} /* 14px */ - -h1, h2, h3, h4, h5, h6 { - font-weight: 400; - line-height: 1.1; - margin-bottom: .8em; - font-family: 'Yanone Kaffeesatz', arial, serif; -} - -h3, h4, h5, h6 { margin-top: .8em; } - -hr { border: 2px solid #EEEEEE; } - -/* Anchors */ -a {outline: 0;} -a img {border: 0px; text-decoration: none;} -a:link, a:visited { - color: #C74350; - padding: 0 1px; - text-decoration: underline; -} -a:hover, a:active { - background-color: #C74350; - color: #fff; - text-decoration: none; - text-shadow: 1px 1px 1px #333; -} - -h1 a:hover { - background-color: inherit -} - -/* Paragraphs */ -div.line-block, -p { margin-top: 1em; - margin-bottom: 1em;} - -strong, b {font-weight: bold;} -em, i {font-style: italic;} - -/* Lists */ -ul { - list-style: outside disc; - margin: 0em 0 0 1.5em; -} - -ol { - list-style: outside decimal; - margin: 0em 0 0 1.5em; -} - -li { margin-top: 0.5em; - margin-bottom: 1em; } - -.post-info { - float:right; - margin:10px; - padding:5px; -} - -.post-info p{ - margin-top: 1px; - margin-bottom: 1px; -} - -.readmore { float: right } - -dl {margin: 0 0 1.5em 0;} -dt {font-weight: bold;} -dd {margin-left: 1.5em;} - -pre{background-color: rgb(238, 238, 238); padding: 10px; margin: 10px; overflow: auto;} - -/* Quotes */ -blockquote { - margin: 20px; - font-style: italic; -} -cite {} - -q {} - -div.note { - float: right; - margin: 5px; - font-size: 85%; - max-width: 300px; -} - -/* Tables */ -table {margin: .5em auto 1.5em auto; width: 98%;} - - /* Thead */ - thead th {padding: .5em .4em; text-align: left;} - thead td {} - - /* Tbody */ - tbody td {padding: .5em .4em;} - tbody th {} - - tbody .alt td {} - tbody .alt th {} - - /* Tfoot */ - tfoot th {} - tfoot td {} - -/* HTML5 tags */ -header, section, footer, -aside, nav, article, figure { - display: block; -} - -/***** Layout *****/ -.body {clear: both; margin: 0 auto; width: 80%;} -img.right, figure.right {float: right; margin: 0 0 2em 2em;} -img.left, figure.left {float: left; margin: 0 2em 2em 0;} - -/* - Header -*****************/ -#banner { - margin: 0 auto; - padding: 2.5em 0 0 0; - width: 80%; -} - - /* Banner */ - #banner h1 {font-size: 3.571em; line-height: 0;} - #banner h1 a:link, #banner h1 a:visited { - color: #000305; - display: block; - font-weight: bold; - margin: 0 0 .6em .2em; - text-decoration: none; - } - #banner h1 a:hover, #banner h1 a:active { - background: none; - color: #C74350; - text-shadow: none; - } - - #banner h1 strong {font-size: 0.36em; font-weight: normal;} - - /* Main Nav */ - #banner nav { - background: #000305; - font-size: 1.143em; - height: 40px; - line-height: 30px; - margin: 0 auto 2em auto; - padding: 0; - text-align: center; - width: 100%; - - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - } - - #banner nav ul {list-style: none; margin: 0 auto; width: 100%;} - #banner nav li {float: left; display: inline; margin: 0;} - - #banner nav a:link, #banner nav a:visited { - color: #fff; - display: inline-block; - height: 30px; - padding: 5px 1.5em; - text-decoration: none; - } - #banner nav a:hover, #banner nav a:active, - #banner nav .active a:link, #banner nav .active a:visited { - background: #C74451; - color: #fff; - text-shadow: none !important; - } - - #banner nav li:first-child a { - border-top-left-radius: 5px; - -moz-border-radius-topleft: 5px; - -webkit-border-top-left-radius: 5px; - - border-bottom-left-radius: 5px; - -moz-border-radius-bottomleft: 5px; - -webkit-border-bottom-left-radius: 5px; - } - -/* - Featured -*****************/ -#featured { - background: #fff; - margin-bottom: 2em; - overflow: hidden; - padding: 20px; - width: 80%; - - border-radius: 10px; - -moz-border-radius: 10px; - -webkit-border-radius: 10px; -} - -#featured figure { - border: 2px solid #eee; - float: right; - margin: 0.786em 2em 0 5em; - width: 248px; -} -#featured figure img {display: block; float: right;} - -#featured h2 {color: #C74451; font-size: 1.714em; margin-bottom: 0.333em;} -#featured h3 {font-size: 1.429em; margin-bottom: .5em;} - -#featured h3 a:link, #featured h3 a:visited {color: #000305; text-decoration: none;} -#featured h3 a:hover, #featured h3 a:active {color: #fff;} - -/* - Body -*****************/ -#content { - background: #fff; - margin-bottom: 2em; - overflow: hidden; - padding: 20px 20px; - width: 80%; - - border-radius: 10px; - -moz-border-radius: 10px; - -webkit-border-radius: 10px; -} - -/* - Extras -*****************/ -#extras {margin: 0 auto 3em auto; overflow: hidden;} - -#extras ul {list-style: none; margin: 0;} -#extras li {border-bottom: 1px solid #fff;} -#extras h2 { - color: #C74350; - font-size: 1.429em; - margin-bottom: .25em; - padding: 0 3px; -} - -#extras a:link, #extras a:visited { - color: #444; - display: block; - border-bottom: 1px solid #F4E3E3; - text-decoration: none; - padding: .3em .25em; -} - -#extras a:hover, #extras a:active {color: #fff;} - - /* Blogroll */ - #extras .blogroll { - float: left; - width: 615px; - } - - #extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;} - - /* Social */ - #extras .social { - float: right; - width: 175px; - } - - #extras div[class='social'] a { - background-repeat: no-repeat; - background-position: 3px 6px; - padding-left: 25px; - } - - /* Icons */ - .social a[href*='about.me'] {background-image: url('../images/icons/aboutme.png');} - .social a[href*='bitbucket.org'] {background-image: url('../images/icons/bitbucket.png');} - .social a[href*='delicious.com'] {background-image: url('../images/icons/delicious.png');} - .social a[href*='digg.com'] {background-image: url('../images/icons/digg.png');} - .social a[href*='facebook.com'] {background-image: url('../images/icons/facebook.png');} - .social a[href*='gitorious.org'] {background-image: url('../images/icons/gitorious.png');} - .social a[href*='github.com'], - .social a[href*='git.io'] { - background-image: url('../images/icons/github.png'); - background-size: 16px 16px; - } - .social a[href*='gittip.com'] {background-image: url('../images/icons/gittip.png');} - .social a[href*='plus.google.com'] {background-image: url('../images/icons/google-plus.png');} - .social a[href*='groups.google.com'] {background-image: url('../images/icons/google-groups.png');} - .social a[href*='news.ycombinator.com'], - .social a[href*='hackernewsers.com'] {background-image: url('../images/icons/hackernews.png');} - .social a[href*='last.fm'], .social a[href*='lastfm.'] {background-image: url('../images/icons/lastfm.png');} - .social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');} - .social a[href*='reddit.com'] {background-image: url('../images/icons/reddit.png');} - .social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');} - .social a[href*='slideshare.net'] {background-image: url('../images/icons/slideshare.png');} - .social a[href*='speakerdeck.com'] {background-image: url('../images/icons/speakerdeck.png');} - .social a[href*='stackoverflow.com'] {background-image: url('../images/icons/stackoverflow.png');} - .social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');} - .social a[href*='vimeo.com'] {background-image: url('../images/icons/vimeo.png');} - .social a[href*='youtube.com'] {background-image: url('../images/icons/youtube.png');} - -/* - About -*****************/ -#about { - background: #fff; - font-style: normal; - margin-bottom: 2em; - overflow: hidden; - padding: 20px; - text-align: left; - width: 80%; - - border-radius: 10px; - -moz-border-radius: 10px; - -webkit-border-radius: 10px; -} - -#about .primary {float: left; width: 165px;} -#about .primary strong {color: #C64350; display: block; font-size: 1.286em;} -#about .photo {float: left; margin: 5px 20px;} - -#about .url:link, #about .url:visited {text-decoration: none;} - -#about .bio {float: right; width: 500px;} - -/* - Footer -*****************/ -#contentinfo {padding-bottom: 2em; text-align: right;} - -/***** Sections *****/ -/* Blog */ -.hentry { - display: block; - clear: both; - border-bottom: 1px solid #eee; - padding: 1.5em 0; -} -li:last-child .hentry, #content > .hentry {border: 0; margin: 0;} -#content > .hentry {padding: 1em 0;} -.hentry img{display : none ;} -.entry-title {font-size: 3em; margin-bottom: 10px; margin-top: 0;} -.entry-title a:link, .entry-title a:visited {text-decoration: none; color: #333;} -.entry-title a:visited {background-color: #fff;} - -.hentry .post-info * {font-style: normal;} - - /* Content */ - .hentry footer {margin-bottom: 2em;} - .hentry footer address {display: inline;} - #posts-list footer address {display: block;} - - /* Blog Index */ - #posts-list {list-style: none; margin: 0;} - #posts-list .hentry {padding-left: 10px; position: relative;} - - #posts-list footer { - left: 10px; - position: relative; - float: left; - top: 0.5em; - width: 190px; - } - - /* About the Author */ - #about-author { - background: #f9f9f9; - clear: both; - font-style: normal; - margin: 2em 0; - padding: 10px 20px 15px 20px; - - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - } - - #about-author strong { - color: #C64350; - clear: both; - display: block; - font-size: 1.429em; - } - - #about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;} - - /* Comments */ - #comments-list {list-style: none; margin: 0 1em;} - #comments-list blockquote { - background: #f8f8f8; - clear: both; - font-style: normal; - margin: 0; - padding: 15px 20px; - - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - } - #comments-list footer {color: #888; padding: .5em 1em 0 0; text-align: right;} - - #comments-list li:nth-child(2n) blockquote {background: #F5f5f5;} - - /* Add a Comment */ - #add-comment label {clear: left; float: left; text-align: left; width: 150px;} - #add-comment input[type='text'], - #add-comment input[type='email'], - #add-comment input[type='url'] {float: left; width: 200px;} - - #add-comment textarea {float: left; height: 150px; width: 495px;} - - #add-comment p.req {clear: both; margin: 0 .5em 1em 0; text-align: right;} - - #add-comment input[type='submit'] {float: right; margin: 0 .5em;} - #add-comment * {margin-bottom: .5em;} diff --git a/theme/static/css/pygment.css b/theme/static/css/pygment.css deleted file mode 100644 index fdd056f..0000000 --- a/theme/static/css/pygment.css +++ /dev/null @@ -1,205 +0,0 @@ -.hll { -background-color:#eee; -} -.c { -color:#408090; -font-style:italic; -} -.err { -border:1px solid #FF0000; -} -.k { -color:#007020; -font-weight:bold; -} -.o { -color:#666666; -} -.cm { -color:#408090; -font-style:italic; -} -.cp { -color:#007020; -} -.c1 { -color:#408090; -font-style:italic; -} -.cs { -background-color:#FFF0F0; -color:#408090; -} -.gd { -color:#A00000; -} -.ge { -font-style:italic; -} -.gr { -color:#FF0000; -} -.gh { -color:#000080; -font-weight:bold; -} -.gi { -color:#00A000; -} -.go { -color:#303030; -} -.gp { -color:#C65D09; -font-weight:bold; -} -.gs { -font-weight:bold; -} -.gu { -color:#800080; -font-weight:bold; -} -.gt { -color:#0040D0; -} -.kc { -color:#007020; -font-weight:bold; -} -.kd { -color:#007020; -font-weight:bold; -} -.kn { -color:#007020; -font-weight:bold; -} -.kp { -color:#007020; -} -.kr { -color:#007020; -font-weight:bold; -} -.kt { -color:#902000; -} -.m { -color:#208050; -} -.s { -color:#4070A0; -} -.na { -color:#4070A0; -} -.nb { -color:#007020; -} -.nc { -color:#0E84B5; -font-weight:bold; -} -.no { -color:#60ADD5; -} -.nd { -color:#555555; -font-weight:bold; -} -.ni { -color:#D55537; -font-weight:bold; -} -.ne { -color:#007020; -} -.nf { -color:#06287E; -} -.nl { -color:#002070; -font-weight:bold; -} -.nn { -color:#0E84B5; -font-weight:bold; -} -.nt { -color:#062873; -font-weight:bold; -} -.nv { -color:#BB60D5; -} -.ow { -color:#007020; -font-weight:bold; -} -.w { -color:#BBBBBB; -} -.mf { -color:#208050; -} -.mh { -color:#208050; -} -.mi { -color:#208050; -} -.mo { -color:#208050; -} -.sb { -color:#4070A0; -} -.sc { -color:#4070A0; -} -.sd { -color:#4070A0; -font-style:italic; -} -.s2 { -color:#4070A0; -} -.se { -color:#4070A0; -font-weight:bold; -} -.sh { -color:#4070A0; -} -.si { -color:#70A0D0; -font-style:italic; -} -.sx { -color:#C65D09; -} -.sr { -color:#235388; -} -.s1 { -color:#4070A0; -} -.ss { -color:#517918; -} -.bp { -color:#007020; -} -.vc { -color:#BB60D5; -} -.vg { -color:#BB60D5; -} -.vi { -color:#BB60D5; -} -.il { -color:#208050; -} diff --git a/theme/static/css/reset.css b/theme/static/css/reset.css deleted file mode 100644 index 1e21756..0000000 --- a/theme/static/css/reset.css +++ /dev/null @@ -1,52 +0,0 @@ -/* - Name: Reset Stylesheet - Description: Resets browser's default CSS - Author: Eric Meyer - Author URI: http://meyerweb.com/eric/tools/css/reset/ -*/ - -/* v1.0 | 20080212 */ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, font, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td { - background: transparent; - border: 0; - font-size: 100%; - margin: 0; - outline: 0; - padding: 0; - vertical-align: baseline; -} - -body {line-height: 1;} - -ol, ul {list-style: none;} - -blockquote, q {quotes: none;} - -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} - -/* remember to define focus styles! */ -:focus { - outline: 0; -} - -/* remember to highlight inserts somehow! */ -ins {text-decoration: none;} -del {text-decoration: line-through;} - -/* tables still need 'cellspacing="0"' in the markup */ -table { - border-collapse: collapse; - border-spacing: 0; -} \ No newline at end of file diff --git a/theme/static/css/solarizedlight.css b/theme/static/css/solarizedlight.css new file mode 100644 index 0000000..baf3744 --- /dev/null +++ b/theme/static/css/solarizedlight.css @@ -0,0 +1,69 @@ +.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 */ diff --git a/theme/static/css/style.css b/theme/static/css/style.css new file mode 100644 index 0000000..8b7492c --- /dev/null +++ b/theme/static/css/style.css @@ -0,0 +1,397 @@ +body,html{ + height:100%; +} + +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: 1.1em; + 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:1em; +} + +.article-content ol { + list-style-type: decimal; + font-size: 1em; +} + +.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.7em; +} +.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; +} diff --git a/theme/static/css/typogrify.css b/theme/static/css/typogrify.css deleted file mode 100644 index c9b34dc..0000000 --- a/theme/static/css/typogrify.css +++ /dev/null @@ -1,3 +0,0 @@ -.caps {font-size:.92em;} -.amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} -.dquo {margin-left:-.38em;} diff --git a/theme/static/css/wide.css b/theme/static/css/wide.css deleted file mode 100644 index 88fd59c..0000000 --- a/theme/static/css/wide.css +++ /dev/null @@ -1,48 +0,0 @@ -@import url("main.css"); - -body { - font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; -} - -.post-info{ - display: none; -} - -#banner nav { - display: none; - -moz-border-radius: 0px; - margin-bottom: 20px; - overflow: hidden; - font-size: 1em; - background: #F5F4EF; -} - -#banner nav ul{ - padding-right: 50px; -} - -#banner nav li{ - float: right; - color: #000; -} - -#banner nav li a { - color: #000; -} - -#banner h1 { - margin-bottom: -18px; -} - -#featured, #extras { - padding: 50px; -} - -#featured { - padding-top: 20px; -} - -#extras { - padding-top: 0px; - padding-bottom: 0px; -} diff --git a/theme/static/images/icons/aboutme.png b/theme/static/images/icons/aboutme.png deleted file mode 100644 index 9609df3..0000000 Binary files a/theme/static/images/icons/aboutme.png and /dev/null differ diff --git a/theme/static/images/icons/bitbucket.png b/theme/static/images/icons/bitbucket.png deleted file mode 100644 index d05ba16..0000000 Binary files a/theme/static/images/icons/bitbucket.png and /dev/null differ diff --git a/theme/static/images/icons/delicious.png b/theme/static/images/icons/delicious.png deleted file mode 100644 index 3dccdd8..0000000 Binary files a/theme/static/images/icons/delicious.png and /dev/null differ diff --git a/theme/static/images/icons/facebook.png b/theme/static/images/icons/facebook.png deleted file mode 100644 index 74e7ad5..0000000 Binary files a/theme/static/images/icons/facebook.png and /dev/null differ diff --git a/theme/static/images/icons/github.png b/theme/static/images/icons/github.png deleted file mode 100644 index 8b25551..0000000 Binary files a/theme/static/images/icons/github.png and /dev/null differ diff --git a/theme/static/images/icons/gitorious.png b/theme/static/images/icons/gitorious.png deleted file mode 100644 index 3eeb3ec..0000000 Binary files a/theme/static/images/icons/gitorious.png and /dev/null differ diff --git a/theme/static/images/icons/gittip.png b/theme/static/images/icons/gittip.png deleted file mode 100644 index af94962..0000000 Binary files a/theme/static/images/icons/gittip.png and /dev/null differ diff --git a/theme/static/images/icons/google-groups.png b/theme/static/images/icons/google-groups.png deleted file mode 100644 index 5de15e6..0000000 Binary files a/theme/static/images/icons/google-groups.png and /dev/null differ diff --git a/theme/static/images/icons/google-plus.png b/theme/static/images/icons/google-plus.png deleted file mode 100644 index 3c6b743..0000000 Binary files a/theme/static/images/icons/google-plus.png and /dev/null differ diff --git a/theme/static/images/icons/hackernews.png b/theme/static/images/icons/hackernews.png deleted file mode 100644 index fc7a82d..0000000 Binary files a/theme/static/images/icons/hackernews.png and /dev/null differ diff --git a/theme/static/images/icons/lastfm.png b/theme/static/images/icons/lastfm.png deleted file mode 100644 index 3a6c626..0000000 Binary files a/theme/static/images/icons/lastfm.png and /dev/null differ diff --git a/theme/static/images/icons/linkedin.png b/theme/static/images/icons/linkedin.png deleted file mode 100644 index d29c120..0000000 Binary files a/theme/static/images/icons/linkedin.png and /dev/null differ diff --git a/theme/static/images/icons/reddit.png b/theme/static/images/icons/reddit.png deleted file mode 100644 index 71ae121..0000000 Binary files a/theme/static/images/icons/reddit.png and /dev/null differ diff --git a/theme/static/images/icons/rss.png b/theme/static/images/icons/rss.png deleted file mode 100644 index 7862c65..0000000 Binary files a/theme/static/images/icons/rss.png and /dev/null differ diff --git a/theme/static/images/icons/slideshare.png b/theme/static/images/icons/slideshare.png deleted file mode 100644 index ecc9741..0000000 Binary files a/theme/static/images/icons/slideshare.png and /dev/null differ diff --git a/theme/static/images/icons/speakerdeck.png b/theme/static/images/icons/speakerdeck.png deleted file mode 100644 index 087d093..0000000 Binary files a/theme/static/images/icons/speakerdeck.png and /dev/null differ diff --git a/theme/static/images/icons/stackoverflow.png b/theme/static/images/icons/stackoverflow.png deleted file mode 100644 index f5b65e9..0000000 Binary files a/theme/static/images/icons/stackoverflow.png and /dev/null differ diff --git a/theme/static/images/icons/twitter.png b/theme/static/images/icons/twitter.png deleted file mode 100644 index 057ab00..0000000 Binary files a/theme/static/images/icons/twitter.png and /dev/null differ diff --git a/theme/static/images/icons/vimeo.png b/theme/static/images/icons/vimeo.png deleted file mode 100644 index dba4720..0000000 Binary files a/theme/static/images/icons/vimeo.png and /dev/null differ diff --git a/theme/static/images/icons/youtube.png b/theme/static/images/icons/youtube.png deleted file mode 100644 index ce6cbe4..0000000 Binary files a/theme/static/images/icons/youtube.png and /dev/null differ diff --git a/theme/static/tipuesearch/img/expand.png b/theme/static/tipuesearch/img/expand.png new file mode 100644 index 0000000..21bb7b0 Binary files /dev/null and b/theme/static/tipuesearch/img/expand.png differ diff --git a/theme/static/tipuesearch/img/link.png b/theme/static/tipuesearch/img/link.png new file mode 100644 index 0000000..d4e51c5 Binary files /dev/null and b/theme/static/tipuesearch/img/link.png differ diff --git a/theme/static/tipuesearch/img/loader.gif b/theme/static/tipuesearch/img/loader.gif new file mode 100644 index 0000000..9c97738 Binary files /dev/null and b/theme/static/tipuesearch/img/loader.gif differ diff --git a/theme/static/tipuesearch/tipuesearch.css b/theme/static/tipuesearch/tipuesearch.css new file mode 100644 index 0000000..615d8a8 --- /dev/null +++ b/theme/static/tipuesearch/tipuesearch.css @@ -0,0 +1,136 @@ + +/* +Tipue Search 3.0.1 +Copyright (c) 2013 Tipue +Tipue Search is released under the MIT License +http://www.tipue.com/search +*/ + + +#tipue_search_content +{ + clear: left; + max-width: 650px; + padding: 25px 0 13px 0; + margin: 0; +} +#tipue_search_loading +{ + padding-top: 60px; + background: #fff url('img/loader.gif') no-repeat left; +} +#tipue_search_warning +{ + font: 12px/1.6 'open sans', sans-serif; + color: #333; + margin: 7px 0; +} +#tipue_search_warning a +{ + color: #3f72d8; + text-decoration: none; +} +#tipue_search_warning a:hover +{ + padding-bottom: 1px; + border-bottom: 1px solid #ccc; +} +#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); + font-size: 3em; + font-family: Baskerville, Garamond, Georgia, "DejaVu Serif", "Times New Roman", Times, serif; + font-weight: normal; +} +.tipue_search_content_title +{ + font: 300 23px/1.6 'open sans', sans-serif; + margin-top: 20px; +} +.tipue_search_content_title a +{ + color: #3f72d8; + text-decoration: none; +} +.tipue_search_content_title a:hover +{ + padding-bottom: 1px; + border-bottom: 1px solid #ccc; +} +.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; +} + +.tipue_search_content_text b { + color:#EF1D1D; + font-family:Garamond; + font-size: 1.3em; +} +.tipue_search_content_loc +{ + font: 300 13px/1.7 'open sans', sans-serif; + overflow: auto; +} +.tipue_search_content_loc a +{ + color: #555; + text-decoration: none; +} +.tipue_search_content_loc a:hover +{ + padding-bottom: 1px; + border-bottom: 1px solid #ccc; +} +#tipue_search_foot +{ + margin: 51px 0 21px 0; +} +#tipue_search_foot_boxes +{ + padding: 0; + margin: 0; + font: 12px/1 'open sans', sans-serif; +} +#tipue_search_foot_boxes li +{ + list-style: none; + margin: 0; + padding: 0; + display: inline; +} +#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; +} +#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; +} +#tipue_search_foot_boxes li a:hover +{ + border: 1px solid #ccc; + background-color: #f3f3f3; +} diff --git a/theme/static/tipuesearch/tipuesearch.min.js b/theme/static/tipuesearch/tipuesearch.min.js new file mode 100644 index 0000000..6458659 --- /dev/null +++ b/theme/static/tipuesearch/tipuesearch.min.js @@ -0,0 +1,12 @@ +(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("",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=set.minimumLength){if(replace){var d_r=d;for(var i= +0;i$1")}if(tipuesearch_in.pages[i].tags.search(pat)!=-1)score-=1E5-i}if(score<1E9)found[c++]=score+"^"+tipuesearch_in.pages[i].title+"^"+s_t+"^"+tipuesearch_in.pages[i].loc}if(c!= +0){if(show_replace==1){out+='
Showing results for '+d+"
";out+='
Search for '+d_r+"
"}if(c==1)out+='
1 result
';else{c_c=c.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");out+='
'+c_c+" results
"}found.sort();var l_o=0;for(var i=0;i= +start&&l_o"+fo[1]+"";var t=fo[2];var t_d="";var t_w=t.split(" ");if(t_w.length";if(set.showURL){t_url=fo[3];if(t_url.length>45)t_url=fo[3].substr(0,45)+" ...";out+='"}}l_o++}if(c>set.show){var pages=Math.ceil(c/set.show);var page=start/set.show;out+='
    ';if(start>0)out+='
  • Prev
  • ';if(page<=2){var p_b=pages;if(pages>3)p_b=3;for(var f=0;f'+(f+1)+"";else out+='
  • '+(f+1)+"
  • "}else{var p_b=page+3;if(p_b>pages)p_b=pages;for(var f=page;f'+(f+1)+"";else out+='
  • '+(f+1)+"
  • "}if(page+1!=pages)out+='
  • Next
  • ';out+="
"}}else out+='
Nothing found
'}else if(show_stop)out+= +'
Nothing found
Common words are largely ignored
';else{out+='
Search too short
';if(set.minimumLength==1)out+='
Should be one character or more
';else out+='
Should be '+set.minimumLength+" characters or more
"}$("#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); diff --git a/theme/static/tipuesearch/tipuesearch_set.js b/theme/static/tipuesearch/tipuesearch_set.js new file mode 100644 index 0000000..1d9242b --- /dev/null +++ b/theme/static/tipuesearch/tipuesearch_set.js @@ -0,0 +1,52 @@ + +/* +Tipue Search 3.0.1 +Copyright (c) 2013 Tipue +Tipue Search is released under the MIT License +http://www.tipue.com/search +*/ + + +var tipuesearch_stop_words = ["and", "be", "by", "do", "for", "he", "how", "if", "is", "it", "my", "not", "of", "or", "the", "to", "up", "what", "when"]; + +var tipuesearch_replace = {"words": [ + {"word": "tipua", replace_with: "tipue"}, + {"word": "javscript", replace_with: "javascript"} +]}; + +var tipuesearch_stem = {"words": [ + {"word": "e-mail", stem: "email"}, + {"word": "javascript", stem: "script"}, + {"word": "javascript", stem: "js"} +]}; + +var tipuesearch_pages; + +exclude_pages = ['/archives.html', '/tags.html', '/index.html', '/categories.html', '/search.html']; + +function showGetResult() +{ + var result = new Array(); + var scriptUrl = 'sitemap.xml'; + $.ajax({ + url: scriptUrl, + type: 'GET', + dataType: 'xml', + async: false, + success: function(xml) { + $(xml).find('url').each(function(){ + var loc = $(this).find('loc').text(); + if ($.inArray(loc, exclude_pages) < 0) { + result.push(loc); + } + }); + }, + error: function() { + alert('An error occurred while processing XML file.'); + } + }); + return result; +} + +var r = showGetResult(); +tipuesearch_pages = r; diff --git a/theme/templates/404.html b/theme/templates/404.html new file mode 100644 index 0000000..5d36dc4 --- /dev/null +++ b/theme/templates/404.html @@ -0,0 +1,30 @@ +{% extends "base.html" %} + +{% block title %} +Page not found · {{ super() }} +{% endblock title %} + +{% block head_description %} +Page does not exist at {{ SITENAME|striptags }} blog. +{% endblock head_description %} +{% block content %} +
+ +
+ + +
+
+

Sorry, but the page you are looking for cannot be found. It seems that the page you were trying to reach doesn't exist, or may be it has just moved, or it no longer exists.

+

The best thing to do is to use the search form or start again from the home page.

+
+
+ + +
+
+
+
+{% endblock content %} diff --git a/theme/templates/analytics.html b/theme/templates/analytics.html index 465754e..4de2c86 100644 --- a/theme/templates/analytics.html +++ b/theme/templates/analytics.html @@ -5,42 +5,8 @@ _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'; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); -{% endif %} -{% if GAUGES %} - -{% endif %} -{% if PIWIK_URL and PIWIK_SITE_ID %} - -{% endif %} +{% endif %} \ No newline at end of file diff --git a/theme/templates/archives.html b/theme/templates/archives.html index f678494..bfe17ed 100644 --- a/theme/templates/archives.html +++ b/theme/templates/archives.html @@ -1,13 +1,29 @@ -{% extends "base.html" %} +{% extends "base.html" %} +{% block title %} +All Posts · {{ super() }} +{% endblock title %} + +{% block head_description %} +Full archives of {{ SITENAME|striptags }} blog. +{% endblock head_description %} + {% block content %} -
-

Archives for {{ SITENAME }}

- -
-{% for article in dates %} -
{{ article.locale_date }}
-
{{ article.title }}
-{% endfor %} -
-
-{% endblock %} + +
+ +
+
+
+ +
+
+ +{% endblock content %} diff --git a/theme/templates/article.html b/theme/templates/article.html index 760e7b5..4dbb530 100644 --- a/theme/templates/article.html +++ b/theme/templates/article.html @@ -1,39 +1,155 @@ {% extends "base.html" %} {% import 'pcs/comments.html' as pcs with context %} -{% block title %}{{ article.title|striptags }}{% endblock %} + +{% block title %} +{{ article.title }} {%if article.subtitle %} - {{ article.subtitle }} {% endif %} · {{ super() }} +{% endblock title %} + +{% block head_description %} +{% if article.summary %} +{{ article.summary|striptags }} +{% endif %} +{% endblock head_description %} + +{% block meta_tags_in_head %} +{% if article.tags or article.category or article.keywords %} + +{% endif %} +{% endblock meta_tags_in_head %} + {% block content %} -
-
-
-

- {{ article.title }}

- {% include 'twitter.html' %} +
+ -
- {% include 'article_infos.html' %} - {{ article.content }} - {{ pcs.comments_quickstart("blog.victorhery", "victor-hery.com") }} -
- {% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} -
-

Comments !

-
- - +
+ {% if article.toc %} +
+
- {% endif %} +
+ {% else %} +
+ {% endif %} -
-
-{% endblock %} + {{ article.content }} + {{ pcs.comments_quickstart("blog.victorhery", "victor-hery.com") }} + + +
+
+ {% if article.date %} +

Published

+ {% set day = article.date.strftime('%d')|int %} + + {% endif %} + {% if article.modified %} +

Last Updated

+
{{ article.modified }}
+ {% endif %} + {% if article.category %} +

Category

+ {{ article.category }} + {% endif %} + {% if article.tags %} +

Tags

+ + {% endif %} + + {% if MAILCHIMP_FORM_ACTION %} + {% if not EMAIL_SUBSCRIPTION_LABEL %} + {% set EMAIL_SUBSCRIPTION_LABEL='Email Newsletter' %} + {% endif %} + {% if not SUBSCRIBE_BUTTON_TITLE %} + {% set SUBSCRIBE_BUTTON_TITLE='Subscribe' %} + {% endif %} + {% if not EMAIL_PLACEHOLDER %} + {% set EMAIL_PLACEHOLDER ='email address' %} + {% endif %} + +
+
+

{{ EMAIL_SUBSCRIPTION_LABEL }}

+ +
+
+
+ + + {% endif %} +
+
+ + +{% endblock content %} + +{% block script %} + {{ super() }} + {% include 'disqus_script_count.html' %} + {% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} + + + + {% endif %} +{% endblock script %} diff --git a/theme/templates/article_infos.html b/theme/templates/article_infos.html deleted file mode 100644 index 172ad85..0000000 --- a/theme/templates/article_infos.html +++ /dev/null @@ -1,23 +0,0 @@ -
- - Published: {{ article.locale_date }} - - {% if article.modified %} -
- - Updated: {{ article.locale_modified }} - - {% endif %} - - {% if article.authors %} -
- By {% for author in article.authors %} - {{ author }} - {% endfor %} -
- {% endif %} -

In {{ article.category }}.

-{% include 'taglist.html' %} -{% import 'translations.html' as translations with context %} -{{ translations.translations_for(article) }} -
diff --git a/theme/templates/author.html b/theme/templates/author.html deleted file mode 100644 index 0b37290..0000000 --- a/theme/templates/author.html +++ /dev/null @@ -1,2 +0,0 @@ -{% extends "index.html" %} -{% block title %}{{ SITENAME }} - {{ author }}{% endblock %} diff --git a/theme/templates/authors.html b/theme/templates/authors.html deleted file mode 100644 index e61a332..0000000 --- a/theme/templates/authors.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ SITENAME }} - Authors{% endblock %} - -{% block content %} - -
-

Authors on {{ SITENAME }}

-
    - {% for author, articles in authors|sort %} -
  • {{ author }} ({{ articles|count }})
  • - {% endfor %} -
-
- -{% endblock %} diff --git a/theme/templates/base.html b/theme/templates/base.html index 45ab404..a816ae7 100644 --- a/theme/templates/base.html +++ b/theme/templates/base.html @@ -1,82 +1,90 @@ - - - - {% block title %}{{ SITENAME }}{%endblock%} - - {% if FEED_ALL_ATOM %} - + + + + + {% if article and article.author %} + + + {% elif page and page.author %} + + + {% else %} + + {% endif %} - {% if FEED_ALL_RSS %} - - {% endif %} - - - - -{% include 'github.html' %} - - {% block content %} - {% endblock %} -
- {% if LINKS %} -
-

blogroll

-
    - {% for name, link in LINKS %} -
  • {{ name }}
  • - {% endfor %} -
-
+ {% if SITE_DESCRIPTION %} + {% endif %} - {% if SOCIAL or FEED_ALL_ATOM or FEED_ALL_RSS %} -
- - - -{% include 'analytics.html' %} -{% include 'disqus_script.html' %} - + + + + +
+
+
+
+ {% block content %} + {% endblock content %} +
+
+
+
+ + {% include 'footer.html' %} + {% block script %} + + + + {% endblock script %} + diff --git a/theme/templates/categories.html b/theme/templates/categories.html new file mode 100644 index 0000000..d974771 --- /dev/null +++ b/theme/templates/categories.html @@ -0,0 +1,57 @@ +{% extends "base.html" %} + +{% block title %} +All Categories · {{ super() }} +{% endblock title %} + +{% block head_description %} +All categories of the {{ SITENAME|striptags }} blog. +{% endblock head_description %} +{% block content %} + + + +
+
+
+ {% for category, articles in categories %} +
+ +
+
+ +
+
+
+ {% endfor %} +
+
+
+{% endblock content %} +{% block script %} +{{ super() }} + + + +{% endblock script %} diff --git a/theme/templates/category.html b/theme/templates/category.html deleted file mode 100644 index 56f8e93..0000000 --- a/theme/templates/category.html +++ /dev/null @@ -1,2 +0,0 @@ -{% extends "index.html" %} -{% block title %}{{ SITENAME }} - {{ category }}{% endblock %} diff --git a/theme/templates/comments.html b/theme/templates/comments.html index bb033c0..db5add2 100644 --- a/theme/templates/comments.html +++ b/theme/templates/comments.html @@ -1 +1,27 @@ -{% if DISQUS_SITENAME %}

There are comments.

{% endif %} +{% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} +
+{% if COMMENTS_INTRO %} +

{{ COMMENTS_INTRO }}

+{% endif %} +
+
+ +
+
+
+ {% include 'disqus_script_comment.html' %} +
+
+
+
+
+
+{% endif %} diff --git a/theme/templates/disqus_script_comment.html b/theme/templates/disqus_script_comment.html new file mode 100644 index 0000000..a08f75b --- /dev/null +++ b/theme/templates/disqus_script_comment.html @@ -0,0 +1,18 @@ +
+ + +comments powered by Disqus diff --git a/theme/templates/disqus_script.html b/theme/templates/disqus_script_count.html similarity index 69% rename from theme/templates/disqus_script.html rename to theme/templates/disqus_script_count.html index 23ec532..fbbefef 100644 --- a/theme/templates/disqus_script.html +++ b/theme/templates/disqus_script_count.html @@ -1,11 +1,12 @@ -{% if DISQUS_SITENAME %} +{% if DISQUS_SITENAME and SITEURL and article.status != "draft" %} + {% endif %} diff --git a/theme/templates/feeds.html b/theme/templates/feeds.html new file mode 100644 index 0000000..b7616c9 --- /dev/null +++ b/theme/templates/feeds.html @@ -0,0 +1,36 @@ +{% if FEED_ALL_ATOM %} + +{% endif %} +{% if FEED_ALL_RSS %} + +{% endif %} +{% if FEED_ATOM %} + +{% endif %} +{% if FEED_RSS %} + +{% endif %} +{% if CATEGORY_FEED_ATOM %} + {% for category in categories %} + {% set cat_name = category[0]|replace(' ', '-') %} + + {% endfor %} +{% endif %} +{% if CATEGORY_FEED_RSS %} + {% for category in categories %} + {% set cat_name = category[0]|replace(' ', '-') %} + + {% endfor %} +{% endif %} +{% if TAG_FEED_ATOM %} + {% for tag in tags %} + {% set tag_name = tag[0]|replace(' ', '-') %} + + {% endfor %} +{% endif %} +{% if TAG_FEED_RSS %} + {% for tag in tags %} + {% set tag_name = tag[0]|replace(' ', '-') %} + + {% endfor %} +{% endif %} diff --git a/theme/templates/footer.html b/theme/templates/footer.html new file mode 100644 index 0000000..a683dde --- /dev/null +++ b/theme/templates/footer.html @@ -0,0 +1,13 @@ +
+ +
diff --git a/theme/templates/github.html b/theme/templates/github.html deleted file mode 100644 index ccc401f..0000000 --- a/theme/templates/github.html +++ /dev/null @@ -1,9 +0,0 @@ -{% if GITHUB_URL %} - -{% if GITHUB_POSITION != "left" %} -Fork me on GitHub -{% else %} -Fork me on GitHub -{% endif %} - -{% endif %} diff --git a/theme/templates/index.html b/theme/templates/index.html index 3bb8f9c..bdea322 100644 --- a/theme/templates/index.html +++ b/theme/templates/index.html @@ -1,59 +1,65 @@ {% extends "base.html" %} -{% block content_title %}{% endblock %} + +{% block title %} +{{ super() }} +{% endblock title %} + {% block content %} -{% if articles %} - {% for article in articles_page.object_list %} +
+ {% if LANDING_PAGE_ABOUT and LANDING_PAGE_ABOUT.title %} + + {% endif %} - {# First item #} - {% if loop.first and articles_page.has_previous() %} - - {% if loop.length > 1 %} -
-

Other articles

-
-
    - {% endif %} - {# other items #} - {% else %} - {% if loop.first %} -
    -
      - {% endif %} -
    1. -
      -

      {{ article.title }}

      -
      +
      + {% if LANDING_PAGE_ABOUT and LANDING_PAGE_ABOUT.details %} +
      +
      +

      About me

      +
      +
      + {{ LANDING_PAGE_ABOUT.details }} +
      +
      + {% endif %} -
      - {% include 'article_infos.html' %} - {{ article.summary }} - read more - {% include 'comments.html' %} -
      -
    2. + {% if PROJECTS %} +
      +
      +

      My Projects

      + {% for project in PROJECTS %} + + {%endfor %} +
      {% endif %} - {% if loop.last %} - {% if loop.length > 1 or articles_page.has_other_pages() %} -
    - {% if articles_page.has_other_pages() %} - {% include 'pagination.html' %} - {% endif %} -
    +
+ + {% if articles %} +
+
+
+

Recent Posts all posts

+
+ {% for article in articles %} + {% if not RECENT_ARTICLES_COUNT %} + {% set RECENT_ARTICLES_COUNT = 10 %} {% endif %} - {% endif %} - {% endfor %} -{% else %} -
-

Pages

- {% for page in PAGES %} -
  • {{ page.title }}
  • - {% endfor %} -
    -{% endif %} + {% if loop.index0 < RECENT_ARTICLES_COUNT %} + + {% endif %} + {% endfor %} +
    +
    + {% endif %} + {% endblock content %} diff --git a/theme/templates/page.html b/theme/templates/page.html index 0d8283f..e5f7245 100644 --- a/theme/templates/page.html +++ b/theme/templates/page.html @@ -1,10 +1,83 @@ {% extends "base.html" %} -{% block title %}{{ page.title }}{% endblock %} + +{% block title %} +{{ page.title }} {%if page.subtitle %} - {{ page.subtitle }} {% endif %} · {{ super() }} +{% endblock title %} + +{% block head_description %} +{% if page.summary %} +{{ page.summary|striptags }} +{% endif %} +{% endblock head_description %} + +{% block meta_tags_in_head %} +{% if page.keywords %} + +{% endif %} +{% endblock meta_tags_in_head %} + {% block content %} -
    -

    {{ page.title }}

    - {% import 'translations.html' as translations with context %} - {{ translations.translations_for(page) }} - {{ page.content }} -
    -{% endblock %} +
    + + +
    + {% if page.toc %} +
    + +
    +
    + {% else %} +
    + {% endif %} + + {{ page.content }} +
    +
    +
    + {% if page.date %} +

    Published

    + {% set day = page.date.strftime('%d')|int %} + + {% endif %} + {% if page.modified %} +

    Last Updated

    +
    {{ page.modified }}
    + {% endif %} + + {% if MAILCHIMP_FORM_ACTION %} + {% if not EMAIL_SUBSCRIPTION_LABEL %} + {% set EMAIL_SUBSCRIPTION_LABEL='Email Newsletter' %} + {% endif %} + {% if not SUBSCRIBE_BUTTON_TITLE %} + {% set SUBSCRIBE_BUTTON_TITLE='Subscribe' %} + {% endif %} + {% if not EMAIL_PLACEHOLDER %} + {% set EMAIL_PLACEHOLDER ='email address' %} + {% endif %} + +
    +
    +

    {{ EMAIL_SUBSCRIPTION_LABEL }}

    + +
    +
    +
    + + + {% endif %} +
    +
    +
    +
    + {% endblock content %} + + {% block script %} + {{ super() }} + {% endblock script %} diff --git a/theme/templates/period_archives.html b/theme/templates/period_archives.html deleted file mode 100644 index 252e002..0000000 --- a/theme/templates/period_archives.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "base.html" %} -{% block content %} -
    -

    Archives for {{ period | reverse | join(' ') }}

    - -
    -{% for article in dates %} -
    {{ article.locale_date }}
    -
    {{ article.title }}
    -{% endfor %} -
    -
    -{% endblock %} diff --git a/theme/templates/search.html b/theme/templates/search.html new file mode 100644 index 0000000..7fbcbdf --- /dev/null +++ b/theme/templates/search.html @@ -0,0 +1,48 @@ +{% extends "base.html" %} + +{% block title %} +Search · {{ super() }} +{% endblock title %} + +{% block head_links %} +{{ super() }} + + +{% endblock head_links %} + +{% block head_description %} +Search results for {{ SITENAME|striptags }} blog. +{% endblock head_description %} + +{% block script %} + + + + +{% endblock script %} + +{% block content %} +
    +
    +
    +
    +
    +{% endblock content %} diff --git a/theme/templates/tag.html b/theme/templates/tag.html deleted file mode 100644 index 68cdcba..0000000 --- a/theme/templates/tag.html +++ /dev/null @@ -1,2 +0,0 @@ -{% extends "index.html" %} -{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %} diff --git a/theme/templates/taglist.html b/theme/templates/taglist.html deleted file mode 100644 index 58f3557..0000000 --- a/theme/templates/taglist.html +++ /dev/null @@ -1 +0,0 @@ -{% if article.tags %}

    tags: {% for tag in article.tags %}{{ tag | escape }} {% endfor %}

    {% endif %} diff --git a/theme/templates/tags.html b/theme/templates/tags.html index fb09955..7c25c1a 100644 --- a/theme/templates/tags.html +++ b/theme/templates/tags.html @@ -1,16 +1,89 @@ {% extends "base.html" %} -{% block title %}{{ SITENAME }} - Tags{% endblock %} +{% block title %} +All Tags · {{ super() }} +{% endblock title %} +{% block head_description %} +All tags used in the {{ SITENAME|striptags }} blog. +{% endblock head_description %} {% block content %} -
    -

    Tags for {{ SITENAME }}

    -
      - {% for tag, articles in tags|sort %} -
    • {{ tag }} ({{ articles|count }})
    • - {% endfor %} -
    -
    +
    + +
    +
    +
    + +
      + {% for tag, articles in tags|sort %} +
    • + {% set num = articles|count %} + {{ tag }}{{ num }} +
    • + {% endfor %} +
    +
    +
    -{% endblock %} +
    +
    + {% for tag, articles in tags|sort %} +

    {{ tag }}

    + + + {% endfor %} +
    +
    + +{% endblock content %} + +{% block script %} +{{ super() }} + + + + +{% endblock script %} diff --git a/theme/templates/translations.html b/theme/templates/translations.html deleted file mode 100644 index 7894bb0..0000000 --- a/theme/templates/translations.html +++ /dev/null @@ -1,8 +0,0 @@ -{% macro translations_for(article) %} -{% if article.translations %} -Translations: - {% for translation in article.translations %} - {{ translation.lang }} - {% endfor %} -{% endif %} -{% endmacro %} diff --git a/theme/templates/twitter.html b/theme/templates/twitter.html deleted file mode 100644 index bf78c32..0000000 --- a/theme/templates/twitter.html +++ /dev/null @@ -1,3 +0,0 @@ -{% if TWITTER_USERNAME %} - -{% endif %}