diff options
48 files changed, 1261 insertions, 1 deletions
diff --git a/.DS_Store b/.DS_Store Binary files differnew file mode 100644 index 0000000..81d7607 --- /dev/null +++ b/.DS_Store diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..39dca1b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "svbtle"] + path = svbtle + url = https://github.com/wting/pelican-svbtle.git +[submodule "chunk"] + path = chunk + url = git@github.com:tbunnyman/pelican-chunk.git diff --git a/bootstrap2/templates/base.html b/bootstrap2/templates/base.html index e98d06e..d96470e 100644 --- a/bootstrap2/templates/base.html +++ b/bootstrap2/templates/base.html @@ -77,7 +77,7 @@ {% endif %} {% for cat, null in categories %} <li {% if cat == category %}class="active"{% endif %}> - <a href="{{ SITEURL }}/{{ cat.url.url }}"> + <a href="{{ SITEURL }}/{{ cat.url }}"> <i class="icon-folder-open icon-large"></i>{{ cat }} </a> </li> diff --git a/chunk b/chunk new file mode 160000 +Subproject 432413cd0c07ad225971870c7183033c7d40144 diff --git a/notmyidea-cms/static/css/main.css b/notmyidea-cms/static/css/main.css index b3b631d..75cf78e 100644 --- a/notmyidea-cms/static/css/main.css +++ b/notmyidea-cms/static/css/main.css @@ -302,6 +302,7 @@ img.left, figure.left {float: right; margin: 0 0 2em 2em;} .social a[href*='rss.xml']:before {content: url('../images/icons/rss.png'); margin-right: 2px; vertical-align: -3px;} .social a[href*='twitter.com']:before {content: url('../images/icons/twitter.png'); margin-right: 2px; vertical-align: -3px;} .social a[href*='linkedin.com']:before {content: url('../images/icons/linkedin.png'); margin-right: 2px; vertical-align: -3px;} + .social a[href*='gitorious.org']:before {content: url('../images/icons/gitorious.png'); margin-right: 2px; vertical-align: -3px;} /* About diff --git a/notmyidea-cms/static/images/icons/gitorious.png b/notmyidea-cms/static/images/icons/gitorious.png Binary files differnew file mode 100644 index 0000000..6485f5e --- /dev/null +++ b/notmyidea-cms/static/images/icons/gitorious.png diff --git a/subtle/.gitignore b/subtle/.gitignore new file mode 100644 index 0000000..f2c2a6b --- /dev/null +++ b/subtle/.gitignore @@ -0,0 +1,38 @@ +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.o +*.so + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# Logs and databases # +###################### +*.log +*.sql +*.sqlite + +# OS generated files # +###################### +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +Icon? +ehthumbs.db +Thumbs.db
\ No newline at end of file diff --git a/subtle/LICENSE.txt b/subtle/LICENSE.txt new file mode 100644 index 0000000..c3d54b0 --- /dev/null +++ b/subtle/LICENSE.txt @@ -0,0 +1,7 @@ +This theme is uncopyrighted (https://github.com/asselinpaul/subtle), and is an adaptation of the notmyidea theme. + +This theme is also free, and offered as is. +If you ever meet me and feel like it, buy me a coffee. + +asselinpaul.com +@asselinpaul diff --git a/subtle/README.md b/subtle/README.md new file mode 100644 index 0000000..9fa8b4d --- /dev/null +++ b/subtle/README.md @@ -0,0 +1,147 @@ +#Subtle +###A pelican theme + +![screenshot](https://dl.dropbox.com/u/6712319/screenshot-6.png) + +This is subtle, a theme for the [Pelican static site generator](http://pelican.notmyidea.org/en/2.8/index.html). +It is adapted from the [notmyidea](https://github.com/ametaireau/notmyidea) default theme. + +The social icons are from: [http://www.alexpeattie.com/projects/justvector_icons/](http://www.alexpeattie.com/projects/justvector_icons/) + +The current background is from: [http://subtlepatterns.com/](http://subtlepatterns.com/) + +Apart from aesthetic changes, this also adds a different set of more 'classy' social icons and icons for many more services. + +If you wish to add a favicon to your website (and I believe that you should), then you should add a 16x16 icon 'favicon.ico' +file in your output directory. + +*PS: I've made this documentation quite easy to follow (I hope!), computer geeks might find it too 'simplified' but hey, it's well documented* + +Because this is 'based' on notmyidea (the theme), this supports all of these settings (which you would add to the pelican.conf.py file). +``` +DISQUS_SITENAME Pelican can handle disqus comments, specify the sitename you’ve filled in on disqus +``` +``` +GITHUB_URL Your github URL (if you have one), it will then use it to create a github ribbon. +``` +``` +GOOGLE_ANALYTICS ‘UA-XXXX-YYYY’ to activate google analytics. +``` +``` +MENUITEMS A list of tuples (Title, Url) for additional menu items to appear at the beginning of the main menu. +``` +``` +PIWIK_URL URL to your Piwik server - without ‘http://‘ at the beginning. +``` +``` +PIWIK_SSL_URL If the SSL-URL differs from the normal Piwik-URL you have to include this setting too. (optional) +``` +``` +PIWIK_SITE_ID ID for the monitored website. You can find the ID in the Piwik admin interface > settings > websites. +``` +``` +LINKS A list of tuples (Title, Url) for links to appear on the header. +``` +``` +SOCIAL A list of tuples (Title, Url) to appear in the “social” section. +``` +``` +TWITTER_USERNAME Allows to add a button on the articles to tweet about them. Add you twitter username if you want this button to appear. +``` + +Plus, I've added GoSquared support so their is a new command: +``` +GOSQUARED_SITENAME +``` + +I am hoping to fork and push that to the official Pelican repository. +##Preview +[http://asselinpaul.com/](http://asselinpaul.com/) +This post might be relevant if you want to know more about my particular blog (hosting, comments): [http://asselinpaul.com/static-site.html](http://asselinpaul.com/static-site.html) + +##Installation +It is easy to install this theme, just use the [pelican-themes](http://pelican.notmyidea.org/en/2.8/pelican-themes.html) command once you have downloaded the theme: +``` +pelican-themes -i /path_to_theme +``` +For more information about pelican-themes, [click here](http://pelican.notmyidea.org/en/2.8/pelican-themes.html). + + + +So that every blog ain't the same (we are all unique right?), I'd appreciate two things: + +* Change the background for the blog + +They are some great alternatives to this pattern on [subtlepatterns.com](http://subtlepatterns.com/). To do this you would open the static folder and add your chosen pattern/background. After that you need to modify the main.css file, specificly line 21 which defines the background: +``` +background: url("wavecut.png"): +``` +Replace *wavecut.png* with the name of your pattern/background. + +* Change the color theme +They is one main color in this theme that you can/should change to suit your liking and personality. +I'm using the #7A4700 brown, check out my site (linked in Preview) to see what elements are brown (you might have to hover over them). +To change that, I'd simply replace every value '#7A4700' in main.css by the color you want(ideally with the find and replace command). + +And if you could send me a message of your blog's url, I'd love to read your great content. + +##Changing Fonts + +If you want to change the font for the Titles (not the one which is used for the articles), you have to change line 14 and line 42 of the file. + +At the moment, line 14 says: +``` +@import url(http://fonts.googleapis.com/css?family=Lobster); +``` + +I'm using Google Web Fonts to get the font, here is the link to it: [Lobster](http://www.google.com/webfonts#QuickUsePlace:quickUse/Family:) + +You should note that step 3 ('Add this code to your website') has multiple options. I used the @import tab to get the previous line. Choose a font and add the @import code on line 14. + +On line 42, change the font-family with whatever you downloaded. In my case, it's: +``` +font-family: 'Lobster', cursive; +``` + +That's it, you're done. For the font that is used for the articles, do the same thing with line 15 and 22. + +##Social Icons +I've only implemented icons that I used but it's super easy to add more and best of all, the icons you are looking for are most likely already included! + +First, take a look in the main.css file. Towards line 315, you can see the social icon declaration. It looks like this: +``` +.social a[href*='twitter.com'] {background-image: url('../images/icons/twitter_alt.png'); + background-size: 16px 16px; } +``` +Check to see if the one you want isn't implemented, if not, let's continue. + +* open images/icon +* look for the icon you want in here or add it +* note down it's name (e.g: wikipedia.png) +* go into the main.css file and go towards line 315, you should see the icons declaration. +* copy and paste this template there: +``` +.social a[href*='url_of_site'] {background-image: url('../images/icons/name_of_icon'); + background-size: 16px 16px; } +``` +Change *url_of_site* with the url of the service for which you are adding an icon (e.g: wikipedia.com). +*Do not include 'www.'* + +Change *name_of_icon* with the name of the icon you got in step 2 (with it's extension). In our case that is wikipedia.png . +If you icon is located somewhere else, you can also change the path but you have to make sure that I'll be included with your css. + +* go into your pelican.conf.py file and add your social 'link' there(making sure that you use the correct service name and url) +For example: +``` +('github', 'http://github.com/thisisalongdocumentation'), +``` + +You're done! + +![icons](https://dl.dropbox.com/u/6712319/screenshot-5.png) +*Yeah, that is a lot of icons.* + +##Notes +I have not tested RSS and Atom feeds as I do not use these services, I think I might have removed the support for them so keep that in mind and you might be able to get the needed code on the notmyidea theme. + + diff --git a/subtle/screenshot-1-top.png b/subtle/screenshot-1-top.png Binary files differnew file mode 100644 index 0000000..99ec112 --- /dev/null +++ b/subtle/screenshot-1-top.png diff --git a/subtle/screenshot-2-bottom.png b/subtle/screenshot-2-bottom.png Binary files differnew file mode 100644 index 0000000..8e33d1f --- /dev/null +++ b/subtle/screenshot-2-bottom.png diff --git a/subtle/static/css/downdown.png b/subtle/static/css/downdown.png Binary files differnew file mode 100644 index 0000000..9a2cc89 --- /dev/null +++ b/subtle/static/css/downdown.png diff --git a/subtle/static/css/groovepaper.png b/subtle/static/css/groovepaper.png Binary files differnew file mode 100644 index 0000000..61f81a7 --- /dev/null +++ b/subtle/static/css/groovepaper.png diff --git a/subtle/static/css/lightpaper.png b/subtle/static/css/lightpaper.png Binary files differnew file mode 100644 index 0000000..50024de --- /dev/null +++ b/subtle/static/css/lightpaper.png diff --git a/subtle/static/css/main.css b/subtle/static/css/main.css new file mode 100755 index 0000000..b287588 --- /dev/null +++ b/subtle/static/css/main.css @@ -0,0 +1,445 @@ +/* + Name: Smashing HTML5 + Date: July 2009 + Description: Sample layout for HTML5 and CSS3 goodness. + Version: 1.0 + Author: Enrique Ramírez + Autor URI: http://enrique-ramirez.com +*/ + +/* Imports */ +@import url("reset.css"); +@import url("pygment.css"); +@import url("typogrify.css"); +@import url(http://fonts.googleapis.com/css?family=Lobster); +@import url(http://fonts.googleapis.com/css?family=Droid+Sans); + + +/***** Global *****/ +/* Body */ +body { + background: url("wavecut.png"); + font-family: 'Droid Sans', sans-serif; + font-size: 14px ; + 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: 'Lobster', cursive; + +} + +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: #7A4700; + padding: 0 1px; + text-decoration: underline; +} +a:hover, a:active { + background-color: #7A4700; + color: #fff; + text-decoration: none; + text-shadow: 1px 1px 1px #333; +} + +h1 a:hover { + background-color: inherit +} + +/* Paragraphs */ +p {margin-bottom: 1.143em;} + +strong, b {font-weight: bold;} +em, i {font-style: italic;} + +::-moz-selection {background: #F6CF74; color: #fff;} +::selection {background: #F6CF74; color: #fff;} + +/* Lists */ +ul { + list-style: outside disc; + margin: 1em 0 1.5em 1.5em; +} + +ol { + list-style: outside decimal; + margin: 1em 0 1.5em 1.5em; +} + +.post-info { + float:right; + margin:5px; + padding:9px; +} + +.post-info p{ + 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: #000; padding: 10px; color: #fff; 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: 800px;} +img.right figure.right {float: right; margin: 0 0 2em 2em;} +img.left, figure.left {float: right; margin: 0 0 2em 2em;} + +/* + Header +*****************/ +#banner { + margin: 0 auto; + padding: 2.5em 0 0 0; +} + + /* 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; + width: 427px; + } + #banner h1 a:hover, #banner h1 a:active { + background: none; + color: #7A4700; + 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: 800px; + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + + #banner nav ul {list-style: none; margin: 0 auto; width: 800px;} + #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: url("toptop.png") no-repeat, url('downdown.png') no-repeat, url("white.png") repeat; + background-position: top,bottom,top; + margin-bottom: 2em; + overflow: hidden; + padding: 20px; + width: 760px; + + border-radius: 0px; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; +} + +#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: url("toptop.png") no-repeat, url('downdown.png') no-repeat, url("white.png") repeat; + background-position: top,bottom,top; + margin-bottom: 2em; + overflow: hidden; + padding: 20px 20px; + width: 760px; + + border-radius: 0px; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; +} + +/* + 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: #000000; + 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*='facebook.com'] {background-image: url('../images/icons/facebook.png'); + background-size: 16px 16px; } + .social a[href*='twitter.com'] {background-image: url('../images/icons/twitter_alt.png'); + background-size: 16px 16px; } + .social a[href*='quora.com'] {background-image: url('../images/icons/quora.png'); + background-size: 16px 16px; } + .social a[href*='github.com'] {background-image: url('../images/icons/github.png'); + background-size: 16px 16px; } + .social a[href*='news.ycombinator.com'] {background-image: url('../images/icons/hacker_news.png'); + background-size: 16px 16px; } + .social a[href*='instapaper.com'] {background-image: url('../images/icons/instapaper.png'); + background-size: 16px 16px; } + .social a[href*='hypem.com'] {background-image: url('../images/icons/hype_machine.png'); + background-size: 16px 16px; } + + +/* + About +*****************/ +#about { + background: #fff; + font-style: normal; + margin-bottom: 2em; + overflow: hidden; + padding: 20px; + text-align: left; + width: 760px; + + 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;}
\ No newline at end of file diff --git a/subtle/static/css/paper.png b/subtle/static/css/paper.png Binary files differnew file mode 100644 index 0000000..a5ab482 --- /dev/null +++ b/subtle/static/css/paper.png diff --git a/subtle/static/css/pygment.css b/subtle/static/css/pygment.css new file mode 100755 index 0000000..594b0fa --- /dev/null +++ b/subtle/static/css/pygment.css @@ -0,0 +1,205 @@ +.hll { +background-color:#FFFFCC; +} +.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/subtle/static/css/reset.css b/subtle/static/css/reset.css new file mode 100755 index 0000000..1e21756 --- /dev/null +++ b/subtle/static/css/reset.css @@ -0,0 +1,52 @@ +/* + 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/subtle/static/css/toptop.png b/subtle/static/css/toptop.png Binary files differnew file mode 100644 index 0000000..17e7ead --- /dev/null +++ b/subtle/static/css/toptop.png diff --git a/subtle/static/css/typogrify.css b/subtle/static/css/typogrify.css new file mode 100755 index 0000000..c9b34dc --- /dev/null +++ b/subtle/static/css/typogrify.css @@ -0,0 +1,3 @@ +.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/subtle/static/css/wavecut.png b/subtle/static/css/wavecut.png Binary files differnew file mode 100644 index 0000000..fd574a2 --- /dev/null +++ b/subtle/static/css/wavecut.png diff --git a/subtle/static/css/white.png b/subtle/static/css/white.png Binary files differnew file mode 100644 index 0000000..97fb220 --- /dev/null +++ b/subtle/static/css/white.png diff --git a/subtle/static/css/wide.css b/subtle/static/css/wide.css new file mode 100755 index 0000000..88fd59c --- /dev/null +++ b/subtle/static/css/wide.css @@ -0,0 +1,48 @@ +@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/subtle/templates/analytics.html b/subtle/templates/analytics.html new file mode 100755 index 0000000..ba174fc --- /dev/null +++ b/subtle/templates/analytics.html @@ -0,0 +1,11 @@ +{% if GOOGLE_ANALYTICS %} + <script type="text/javascript"> + var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); + document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); + </script> + <script type="text/javascript"> + try { + var pageTracker = _gat._getTracker("{{GOOGLE_ANALYTICS}}"); + pageTracker._trackPageview(); + } catch(err) {}</script> +{% endif %}
\ No newline at end of file diff --git a/subtle/templates/archives.html b/subtle/templates/archives.html new file mode 100755 index 0000000..f678494 --- /dev/null +++ b/subtle/templates/archives.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} +{% block content %} +<section id="content" class="body"> +<h1>Archives for {{ SITENAME }}</h1> + +<dl> +{% for article in dates %} + <dt>{{ article.locale_date }}</dt> + <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd> +{% endfor %} +</dl> +</section> +{% endblock %} diff --git a/subtle/templates/article.html b/subtle/templates/article.html new file mode 100755 index 0000000..fc7e589 --- /dev/null +++ b/subtle/templates/article.html @@ -0,0 +1,34 @@ +{% extends "base.html" %} +{% block title %}{{ article.title|striptags }}{% endblock %} +{% block content %} +<section id="content" class="body"> + <article> + <header> + <h1 class="entry-title"> + <a href="{{ article.url }}" rel="bookmark" + title="Permalink to {{ article.title|striptags }}">{{ article.title}}</a></h1> + {% include 'twitter.html' %} + </header> + + <div class="entry-content"> + {% include 'article_infos.html' %} + {{ article.content }} + </div><!-- /.entry-content --> + {% if DISQUS_SITENAME %} + <div class="comments"> + <h2>Comments !</h2> + <div id="disqus_thread"></div> + <script type="text/javascript"> + var disqus_identifier = "{{ article.url }}"; + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://{{ DISQUS_SITENAME }}.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); + </script> + </div> + {% endif %} + + </article> +</section> +{% endblock %} diff --git a/subtle/templates/article_infos.html b/subtle/templates/article_infos.html new file mode 100755 index 0000000..a1993a0 --- /dev/null +++ b/subtle/templates/article_infos.html @@ -0,0 +1,14 @@ +<footer class="post-info"> + <abbr class="published" title="{{ article.date.isoformat() }}"> + {{ article.locale_date }} + </abbr> + + {% if article.author %} + <address class="vcard author"> + By <a class="url fn" href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a> + </address> + {% endif %} +<p>In <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>. {% if PDF_PROCESSOR %}<a href="{{ SITEURL }}/pdf/{{ article.slug }}.pdf">get the pdf</a>{% endif %}</p> +{% include 'taglist.html' %} +{% include 'translations.html' %} +</footer><!-- /.post-info --> diff --git a/subtle/templates/author.html b/subtle/templates/author.html new file mode 100755 index 0000000..0b37290 --- /dev/null +++ b/subtle/templates/author.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ author }}{% endblock %} diff --git a/subtle/templates/authors.html b/subtle/templates/authors.html new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/subtle/templates/authors.html diff --git a/subtle/templates/base.html b/subtle/templates/base.html new file mode 100755 index 0000000..64584c8 --- /dev/null +++ b/subtle/templates/base.html @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <title>{% block title %}{{ SITENAME }}{%endblock%}</title> + <meta charset="utf-8" /> + <link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ CSS_FILE }}" type="text/css" /> + + + <!--[if IE]> + <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]--> + + <!--[if lte IE 7]> + <link rel="stylesheet" type="text/css" media="all" href="{{ SITEURL }}/css/ie.css"/> + <script src="{{ SITEURL }}/js/IE8.js" type="text/javascript"></script><![endif]--> + + <!--[if lt IE 7]> + <link rel="stylesheet" type="text/css" media="all" href="{{ SITEURL }}/css/ie6.css"/><![endif]--> + +</head> + +<body id="index" class="home"> +{% include 'github.html' %} + <header id="banner" class="body"> + <h1><a href="{{ SITEURL }}">{{ SITENAME }} {% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a></h1> + <nav><ul> + {% for title, link in MENUITEMS %} + <li><a href="{{ link }}">{{ title }}</a></li> + {% endfor %} + {% if DISPLAY_PAGES_ON_MENU %} + {% for page in PAGES %} + <li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li> + {% endfor %} + {% endif %} + {% for cat, null in categories %} + <li {% if cat == category %}class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li> + {% endfor %} + </ul></nav> + </header><!-- /#banner --> + {% block content %} + {% endblock %} + <section id="extras" class="body"> + {% if LINKS %} + <div class="blogroll"> + <h2>blogroll</h2> + <ul> + {% for name, link in LINKS %} + <li><a href="{{ link }}">{{ name }}</a></li> + {% endfor %} + </ul> + </div><!-- /.blogroll --> + {% endif %} + {% if SOCIAL %} + <div class="social"> + <h2>social</h2> + <ul> + + {% for name, link in SOCIAL %} + <li><a href="{{ link }}">{{ name }}</a></li> + {% endfor %} + </ul> + </div><!-- /.social --> + {% endif %} + </section><!-- /#extras --> + + <footer id="contentinfo" class="body"> + + </footer><!-- /#contentinfo --> + +{% include 'analytics.html' %} +{% include 'piwik.html' %} +{% include 'gosquared.html' %} +{% include 'disqus_script.html' %} +</body> +</html> diff --git a/subtle/templates/categories.html b/subtle/templates/categories.html new file mode 100755 index 0000000..e29be0c --- /dev/null +++ b/subtle/templates/categories.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} +{% block content %} +<ul> +{% for category, articles in categories %} + <li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a></li> +{% endfor %} +</ul> +{% endblock %} diff --git a/subtle/templates/category.html b/subtle/templates/category.html new file mode 100755 index 0000000..56f8e93 --- /dev/null +++ b/subtle/templates/category.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ category }}{% endblock %} diff --git a/subtle/templates/comments.html b/subtle/templates/comments.html new file mode 100755 index 0000000..bb033c0 --- /dev/null +++ b/subtle/templates/comments.html @@ -0,0 +1 @@ +{% if DISQUS_SITENAME %}<p>There are <a href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>.</p>{% endif %} diff --git a/subtle/templates/disqus_script.html b/subtle/templates/disqus_script.html new file mode 100755 index 0000000..c4f442c --- /dev/null +++ b/subtle/templates/disqus_script.html @@ -0,0 +1,11 @@ +{% if DISQUS_SITENAME %} +<script type="text/javascript"> + var disqus_shortname = '{{ DISQUS_SITENAME }}'; + (function () { + var s = document.createElement('script'); s.async = true; + s.type = 'text/javascript'; + s.src = 'http://' + disqus_shortname + '.disqus.com/count.js'; + (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); + }()); +</script> +{% endif %} diff --git a/subtle/templates/github.html b/subtle/templates/github.html new file mode 100755 index 0000000..75592ac --- /dev/null +++ b/subtle/templates/github.html @@ -0,0 +1,9 @@ +{% if GITHUB_URL %} +<a href="{{ GITHUB_URL }}"> +{% if GITHUB_POSITION != "left" %} +<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub" /> +{% else %} +<img style="position: absolute; top: 0; left: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_left_white_ffffff.png" alt="Fork me on GitHub" /> +{% endif %} +</a> +{% endif %} diff --git a/subtle/templates/gosquared.html b/subtle/templates/gosquared.html new file mode 100644 index 0000000..f47efcf --- /dev/null +++ b/subtle/templates/gosquared.html @@ -0,0 +1,14 @@ +{% if GOSQUARED_SITENAME %} +<script type="text/javascript"> + var GoSquared={}; + GoSquared.acct = "{{ GOSQUARED_SITENAME }}"; + (function(w){ + function gs(){ + w._gstc_lt=+(new Date); var d=document; + var g = d.createElement("script"); g.type = "text/javascript"; g.async = true; g.src = "//d1l6p2sc9645hc.cloudfront.net/tracker.js"; + var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(g, s); + } + w.addEventListener?w.addEventListener("load",gs,false):w.attachEvent("onload",gs); + })(window); +</script> +{% endif %} diff --git a/subtle/templates/index.html b/subtle/templates/index.html new file mode 100755 index 0000000..69dc462 --- /dev/null +++ b/subtle/templates/index.html @@ -0,0 +1,60 @@ +{% extends "base.html" %} +{% block content_title %}{% endblock %} +{% block content %} +{% if articles %} + {% for article in articles_page.object_list %} + + {# First item #} + {% if loop.first and not articles_page.has_previous() %} + <aside id="featured" class="body"> + <article> + <h1 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h1> + {% include 'article_infos.html' %}{{ article.content }}{% include 'comments.html' %} + </article> + {% if loop.length == 1 %} + {% include 'pagination.html' %} + {% endif %} + </aside><!-- /#featured --> + {% if loop.length > 1 %} + <section id="content" class="body"> + <h1>Other articles</h1> + <hr /> + <ol id="posts-list" class="hfeed"> + {% endif %} + {# other items #} + {% else %} + {% if loop.first and articles_page.has_previous %} + <section id="content" class="body"> + <ol id="posts-list" class="hfeed" start="{{ articles_paginator.per_page -1 }}"> + {% endif %} + <li><article class="hentry"> + <header> + <h1><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title}}">{{ article.title }}</a></h1> + </header> + + <div class="entry-content"> + {% include 'article_infos.html' %} + {{ article.summary }} + <a class="readmore" href="{{ SITEURL }}/{{ article.url }}">read more</a> + {% include 'comments.html' %} + </div><!-- /.entry-content --> + </article></li> + {% endif %} + {% if loop.last and (articles_page.has_previous() + or not articles_page.has_previous() and loop.length > 1) %} + {% include 'pagination.html' %} + {% endif %} + {% if loop.last %} + </ol><!-- /#posts-list --> + </section><!-- /#content --> + {% endif %} + {% endfor %} +{% else %} +<section id="content" class="body"> +<h2>Pages</h2> + {% for page in PAGES %} + <li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li> + {% endfor %} +</section> +{% endif %} +{% endblock content %} diff --git a/subtle/templates/page.html b/subtle/templates/page.html new file mode 100755 index 0000000..9635fb8 --- /dev/null +++ b/subtle/templates/page.html @@ -0,0 +1,10 @@ +{% extends "base.html" %} +{% block title %}{{ page.title }}{% endblock %} +{% block content %} +<section id="content" class="body"> + <h1 class="entry-title">{{ page.title }}</h1> + {% if PDF_PROCESSOR %}<a href="{{ SITEURL }}/pdf/{{ page.slug }}.pdf">get + the pdf</a>{% endif %} + {{ page.content }} +</section> +{% endblock %} diff --git a/subtle/templates/pagination.html b/subtle/templates/pagination.html new file mode 100755 index 0000000..83c587a --- /dev/null +++ b/subtle/templates/pagination.html @@ -0,0 +1,15 @@ +{% if DEFAULT_PAGINATION %} +<p class="paginator"> + {% if articles_page.has_previous() %} + {% if articles_page.previous_page_number() == 1 %} + <a href="{{ SITEURL }}/{{ page_name }}.html">«</a> + {% else %} + <a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() }}.html">«</a> + {% endif %} + {% endif %} + Page {{ articles_page.number }} / {{ articles_paginator.num_pages }} + {% if articles_page.has_next() %} + <a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.next_page_number() }}.html">»</a> + {% endif %} +</p> +{% endif %} diff --git a/subtle/templates/piwik.html b/subtle/templates/piwik.html new file mode 100755 index 0000000..ff459af --- /dev/null +++ b/subtle/templates/piwik.html @@ -0,0 +1,16 @@ +{% if PIWIK_URL and PIWIK_SITE_ID %} + <script type="text/javascript"> + {% if PIWIK_SSL_URL %} + var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ PIWIK_SSL_URL }}/" : "http://{{ PIWIK_URL }}/"); + {% else %} + var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ PIWIK_URL }}/" : "http://{{ PIWIK_URL }}/"); + {% endif %} + document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E")); + </script><script type="text/javascript"> + try { + var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", {{ PIWIK_SITE_ID }}); + piwikTracker.trackPageView(); + piwikTracker.enableLinkTracking(); + } catch( err ) {} + </script><noscript><p><img src="http://{{ PIWIK_URL }}/piwik.php?idsite={{ PIWIK_SITE_ID }}" style="border:0" alt="" /></p></noscript> +{% endif %}
\ No newline at end of file diff --git a/subtle/templates/tag.html b/subtle/templates/tag.html new file mode 100755 index 0000000..68cdcba --- /dev/null +++ b/subtle/templates/tag.html @@ -0,0 +1,2 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %} diff --git a/subtle/templates/taglist.html b/subtle/templates/taglist.html new file mode 100755 index 0000000..c792fd7 --- /dev/null +++ b/subtle/templates/taglist.html @@ -0,0 +1,2 @@ +{% if article.tags %}<p>tags: {% for tag in article.tags %}<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>{% endfor %}</p>{% endif %} +{% if PDF_PROCESSOR %}<p><a href="{{ SITEURL }}/pdf/{{ article.slug }}.pdf">get the pdf</a></p>{% endif %} diff --git a/subtle/templates/tags.html b/subtle/templates/tags.html new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/subtle/templates/tags.html diff --git a/subtle/templates/translations.html b/subtle/templates/translations.html new file mode 100755 index 0000000..0079883 --- /dev/null +++ b/subtle/templates/translations.html @@ -0,0 +1,6 @@ +{% if article.translations %} +Translations: + {% for translation in article.translations %} + <a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a> + {% endfor %} +{% endif %} diff --git a/subtle/templates/twitter.html b/subtle/templates/twitter.html new file mode 100755 index 0000000..c6b159f --- /dev/null +++ b/subtle/templates/twitter.html @@ -0,0 +1,3 @@ +{% if TWITTER_USERNAME %} +<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> +{% endif %}
\ No newline at end of file diff --git a/svbtle b/svbtle new file mode 160000 +Subproject 847c9f3081b2fa0242e7c1bad1177050e72ee6c diff --git a/tuxlite_tbs/static/images/icons/gitorious.png b/tuxlite_tbs/static/images/icons/gitorious.png Binary files differnew file mode 100644 index 0000000..6485f5e --- /dev/null +++ b/tuxlite_tbs/static/images/icons/gitorious.png diff --git a/tuxlite_tbs/static/local.css b/tuxlite_tbs/static/local.css index 04a25a6..b511fd6 100644 --- a/tuxlite_tbs/static/local.css +++ b/tuxlite_tbs/static/local.css @@ -66,6 +66,7 @@ h3 { margin-top: 2.5em; } .social a[href*='digg.com']:before {content: url('./images/icons/digg.png'); margin-right: 2px; vertical-align: -3px;} .social a[href*='facebook.com']:before {content: url('./images/icons/facebook.png'); margin-right: 2px; vertical-align: -3px;} .social a[href*='github.com']:before {content: url('./images/icons/github.png'); margin-right: 2px; vertical-align: -3px;} +.social a[href*='gitorious.org']:before {content: url('./images/icons/gitorious.png'); margin-right: 2px; vertical-align: -3px;} .social a[href*='google.com/reader']:before {content: url('./images/icons/reader.png'); margin-right: 2px; vertical-align: -3px;} .social a[href*='jamendo.com']:before {content: url('./images/icons/jamendo.png'); margin-right: 2px; vertical-align: -3px;} .social a[href*='last.fm']:before {content: url('./images/icons/lastfm.png'); margin-right: 2px; vertical-align: -3px;} |