add theme
This commit is contained in:
parent
b58fa13180
commit
720176d791
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
output
|
||||
__pycache__
|
8
Makefile
8
Makefile
|
@ -12,10 +12,10 @@ FTP_HOST=syntax-fehler.de
|
|||
FTP_USER=syntax-fehler
|
||||
FTP_TARGET_DIR=httpdocs
|
||||
|
||||
SSH_HOST=localhost
|
||||
SSH_HOST=pigstarter.krebsco.de
|
||||
SSH_PORT=22
|
||||
SSH_USER=root
|
||||
SSH_TARGET_DIR=/var/www
|
||||
SSH_USER=makefu
|
||||
SSH_TARGET_DIR=/var/www/euer.krebsco.de
|
||||
|
||||
S3_BUCKET=my_s3_bucket
|
||||
|
||||
|
@ -84,7 +84,7 @@ publish:
|
|||
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
|
||||
|
||||
ssh_upload: publish
|
||||
scp -P $(SSH_PORT) -r $(OUTPUTDIR)/* $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)
|
||||
rsync -a $(OUTPUTDIR)/* $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)
|
||||
|
||||
rsync_upload: publish
|
||||
rsync -e "ssh -p $(SSH_PORT)" -P -rvz --delete $(OUTPUTDIR)/ $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR) --cvs-exclude
|
||||
|
|
35
content/posts/a-usable-vim-undo-tree.rst
Normal file
35
content/posts/a-usable-vim-undo-tree.rst
Normal file
|
@ -0,0 +1,35 @@
|
|||
A usable VIM Undo tree
|
||||
##################################
|
||||
:date: 2014-04-15 14:20
|
||||
:tags: vim, undo
|
||||
|
||||
|
||||
As some may have heard, vim stores your actions (and undos) as a tree, which is
|
||||
great. With vim 7.3 there is even a option to persist these changes between
|
||||
session. But with vanilla vim this tree is pretty much unusable.
|
||||
|
||||
A friend showed me a great plugin which gives vim git-like super powers by
|
||||
showing undos in a tree, together with a patch view with the `gundo plugin <https://github.com/sjl/gundo.vim>`_.
|
||||
|
||||
This plugin, together with persistent undo files feels almost like when i have used ctrl-r for the shell the first time!
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Grab vundle for VIM, `install it
|
||||
<https://github.com/gmarik/Vundle.vim>`_.
|
||||
|
||||
Add these lines to your vimrc:
|
||||
|
||||
.. code-block:: vim
|
||||
|
||||
Bundle 'sjl/gundo.vim'
|
||||
nnoremap <F5> :GundoToggle<CR>
|
||||
set undodir=~/.vim/undo
|
||||
set undofile
|
||||
"maximum number of changes that can be undone
|
||||
set undolevels=1000000
|
||||
"maximum number lines to save for undo on a buffer reload
|
||||
set undoreload=10000000
|
||||
|
||||
In vim run **:BundleInstall** , you can now toggle the undo bar with **<F5>**.
|
|
@ -3,7 +3,7 @@ WPS and OpenWRT
|
|||
:date: 2014-04-09 22:40
|
||||
:tags: wps, openwrt
|
||||
|
||||
When hearing WPS_ i always think of the worst idea in network security. *'Hey,
|
||||
When hearing WPS(Wifi Protected Setup) i always think of the worst idea in network security. *'Hey,
|
||||
how about changing a long key with a minimum length of 8 characters to
|
||||
something like... 4 numbers! And with that number you get the original
|
||||
password! GENIUS'* . But WPS consists of more than this shitty idea. It also
|
||||
|
@ -12,7 +12,7 @@ button'[#]_. That is why quite a lot of current routers have the WPS-Button to
|
|||
easily connect such devices (namely wifi printers and scanners).
|
||||
|
||||
It **just works** with stock firmware but of course i am running a
|
||||
Frickelsystem_ on my TP-Link router. On OpenWRT it *might* work out of the box
|
||||
Frickelsystem [#]_ on my TP-Link router. On OpenWRT [#]_ it *might* work out of the box
|
||||
with the latest and greatest unstable release but in my case i
|
||||
needed to replace some packages to make it work.
|
||||
|
||||
|
@ -36,7 +36,5 @@ The WPS button on your router should now also be working if the stars are
|
|||
alligned correctly.
|
||||
|
||||
.. [#] http://en.wikipedia.org/wiki/Wi-Fi_Protected_Setup#Methods
|
||||
.. _WPS: Wifi Protected Setup
|
||||
.. _Frickelsystem: Systems not made for end-users. see Openwrt
|
||||
.. _Openwrt: Alternative router firmware without the official router vendor
|
||||
backdoors (safety not guaranteed). Also the mother of all Frickelsystemen
|
||||
.. [#] Systems not made for end-users. see Openwrt
|
||||
.. [#] Alternative router firmware without the official router vendor backdoors (safety not guaranteed). Also the mother of all Frickelsystemen
|
||||
|
|
7
pelican-themes/gum/LICENSE
Normal file
7
pelican-themes/gum/LICENSE
Normal file
|
@ -0,0 +1,7 @@
|
|||
MIT Open Source License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
45
pelican-themes/gum/README.md
Normal file
45
pelican-themes/gum/README.md
Normal file
|
@ -0,0 +1,45 @@
|
|||
### What is Gum?
|
||||
|
||||
Gum is a clean and responsive theme for [Pelican](https://github.com/getpelican/pelican), based on the [Gumby Framework](http://gumbyframework.com/docs).
|
||||
|
||||
### Requirements
|
||||
|
||||
* [Pelican](https://github.com/getpelican/pelican)
|
||||
|
||||
### Configuration
|
||||
|
||||
* Edit your settings file to include the following if desired (any values left blank won't show up in the theme):
|
||||
|
||||
```
|
||||
GITHUB_URL = ''
|
||||
TWITTER_URL = ''
|
||||
FACEBOOK_URL = ''
|
||||
GOOGLEPLUS_URL = ''
|
||||
```
|
||||
|
||||
This theme uses the latest Google Analytics code, which will be included when the following values are filled out appropriately.
|
||||
|
||||
```
|
||||
GOOGLE_ANALYTICS_ID = ''
|
||||
GOOGLE_ANALYTICS_SITENAME = ''
|
||||
```
|
||||
|
||||
|
||||
### Screenshot ###
|
||||
|
||||
![screenshot](screenshot.png)
|
||||
|
||||
### Credits / Thanks
|
||||
|
||||
* Alexis Metaireau / Pelican
|
||||
* Digital Surgeons / Gumby Framework
|
||||
* Twitter Bootstrap
|
||||
* traeblain for his [makefile](https://gist.github.com/traeblain/4252511) gist for building Pelican on Windows
|
||||
|
||||
**MIT Open Source License**
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
BIN
pelican-themes/gum/screenshot.png
Normal file
BIN
pelican-themes/gum/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 135 KiB |
BIN
pelican-themes/gum/static/fonts/icons/entypo.eot
Normal file
BIN
pelican-themes/gum/static/fonts/icons/entypo.eot
Normal file
Binary file not shown.
BIN
pelican-themes/gum/static/fonts/icons/entypo.ttf
Normal file
BIN
pelican-themes/gum/static/fonts/icons/entypo.ttf
Normal file
Binary file not shown.
BIN
pelican-themes/gum/static/fonts/icons/entypo.woff
Normal file
BIN
pelican-themes/gum/static/fonts/icons/entypo.woff
Normal file
Binary file not shown.
7097
pelican-themes/gum/static/gumby.css
Normal file
7097
pelican-themes/gum/static/gumby.css
Normal file
File diff suppressed because it is too large
Load diff
27
pelican-themes/gum/static/js/libs/gumby.init.js
Normal file
27
pelican-themes/gum/static/js/libs/gumby.init.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* Gumby Init
|
||||
*/
|
||||
|
||||
// test for touch event support
|
||||
Modernizr.load({
|
||||
test: Modernizr.touch,
|
||||
|
||||
// if present load custom jQuery mobile build and update Gumby.click
|
||||
yep: 'js/libs/jquery.mobile.custom.min.js',
|
||||
callback: function(url, result, key) {
|
||||
// check jQuery mobile has successfully loaded before using tap events
|
||||
if($.mobile) {
|
||||
window.Gumby.click = 'tap';
|
||||
}
|
||||
},
|
||||
|
||||
// either way initialize Gumby
|
||||
complete: function() {
|
||||
window.Gumby.init();
|
||||
|
||||
// if AMD return Gumby object to define
|
||||
if(typeof define == "function" && define.amd) {
|
||||
define(window.Gumby);
|
||||
}
|
||||
}
|
||||
});
|
145
pelican-themes/gum/static/js/libs/gumby.js
Normal file
145
pelican-themes/gum/static/js/libs/gumby.js
Normal file
|
@ -0,0 +1,145 @@
|
|||
/**
|
||||
* Gumby Framework
|
||||
* ---------------
|
||||
*
|
||||
* Follow @gumbycss on twitter and spread the love.
|
||||
* We worked super hard on making this awesome and released it to the web.
|
||||
* All we ask is you leave this intact. #gumbyisawesome
|
||||
*
|
||||
* Gumby Framework
|
||||
* http://gumbyframework.com
|
||||
*
|
||||
* Built with love by your friends @digitalsurgeons
|
||||
* http://www.digitalsurgeons.com
|
||||
*
|
||||
* Free to use under the MIT license.
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
!function() {
|
||||
|
||||
'use strict';
|
||||
|
||||
function Gumby() {
|
||||
this.$dom = $(document);
|
||||
this.isOldie = !!this.$dom.find('html').hasClass('oldie');
|
||||
this.click = 'click';
|
||||
this.onReady = this.onOldie = this.onTouch = false;
|
||||
this.uiModules = {};
|
||||
this.inits = {};
|
||||
}
|
||||
|
||||
// initialize Gumby
|
||||
Gumby.prototype.init = function() {
|
||||
// init UI modules
|
||||
this.initUIModules();
|
||||
|
||||
var scope = this;
|
||||
|
||||
// call ready() code when dom is ready
|
||||
this.$dom.ready(function() {
|
||||
if(scope.onReady) {
|
||||
scope.onReady();
|
||||
}
|
||||
|
||||
// call oldie() callback if applicable
|
||||
if(scope.isOldie && scope.onOldie) {
|
||||
scope.onOldie();
|
||||
}
|
||||
|
||||
// call touch() callback if applicable
|
||||
if(Modernizr.touch && scope.onTouch) {
|
||||
scope.onTouch();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// public helper - set Gumby ready callback
|
||||
Gumby.prototype.ready = function(code) {
|
||||
if(code && typeof code === 'function') {
|
||||
this.onReady = code;
|
||||
}
|
||||
};
|
||||
|
||||
// public helper - set oldie callback
|
||||
Gumby.prototype.oldie = function(code) {
|
||||
if(code && typeof code === 'function') {
|
||||
this.onOldie = code;
|
||||
}
|
||||
};
|
||||
|
||||
// public helper - set touch callback
|
||||
Gumby.prototype.touch = function(code) {
|
||||
if(code && typeof code === 'function') {
|
||||
this.onTouch = code;
|
||||
}
|
||||
};
|
||||
|
||||
// public helper - return debuggin object including uiModules object
|
||||
Gumby.prototype.debug = function() {
|
||||
return {
|
||||
$dom: this.$dom,
|
||||
isOldie: this.isOldie,
|
||||
uiModules: this.uiModules,
|
||||
click: this.click
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
// grab attribute value, testing data- gumby- and no prefix
|
||||
Gumby.prototype.selectAttr = function() {
|
||||
var i = 0;
|
||||
|
||||
// any number of attributes can be passed
|
||||
for(; i < arguments.length; i++) {
|
||||
// various formats
|
||||
var attr = arguments[i],
|
||||
dataAttr = 'data-'+arguments[i],
|
||||
gumbyAttr = 'gumby-'+arguments[i];
|
||||
|
||||
// first test for data-attr
|
||||
if(this.attr(dataAttr)) {
|
||||
return this.attr(dataAttr);
|
||||
|
||||
// next test for gumby-attr
|
||||
} else if(this.attr(gumbyAttr)) {
|
||||
return this.attr(gumbyAttr);
|
||||
|
||||
// finally no prefix
|
||||
} else if(this.attr(attr)) {
|
||||
return this.attr(attr);
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return false;
|
||||
};
|
||||
|
||||
// add an initialisation method
|
||||
Gumby.prototype.addInitalisation = function(ref, code) {
|
||||
this.inits[ref] = code;
|
||||
};
|
||||
|
||||
// initialize a uiModule
|
||||
Gumby.prototype.initialize = function(ref) {
|
||||
if(this.inits[ref] && typeof this.inits[ref] === 'function') {
|
||||
this.inits[ref]();
|
||||
}
|
||||
};
|
||||
|
||||
// store a UI module
|
||||
Gumby.prototype.UIModule = function(data) {
|
||||
var module = data.module;
|
||||
this.uiModules[module] = data;
|
||||
};
|
||||
|
||||
// loop round and init all UI modules
|
||||
Gumby.prototype.initUIModules = function() {
|
||||
var x;
|
||||
for(x in this.uiModules) {
|
||||
this.uiModules[x].init();
|
||||
}
|
||||
};
|
||||
|
||||
window.Gumby = new Gumby();
|
||||
|
||||
}();
|
1
pelican-themes/gum/static/js/libs/gumby.min.js
vendored
Normal file
1
pelican-themes/gum/static/js/libs/gumby.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
pelican-themes/gum/static/js/libs/jquery-1.9.1.min.js
vendored
Normal file
5
pelican-themes/gum/static/js/libs/jquery-1.9.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
3
pelican-themes/gum/static/js/libs/jquery.mobile.custom.min.js
vendored
Normal file
3
pelican-themes/gum/static/js/libs/jquery.mobile.custom.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
pelican-themes/gum/static/js/libs/modernizr-2.6.2.min.js
vendored
Normal file
4
pelican-themes/gum/static/js/libs/modernizr-2.6.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
69
pelican-themes/gum/static/js/libs/ui/gumby.navbar.js
Normal file
69
pelican-themes/gum/static/js/libs/ui/gumby.navbar.js
Normal file
|
@ -0,0 +1,69 @@
|
|||
/**
|
||||
* Gumby Navbar
|
||||
*/
|
||||
!function() {
|
||||
|
||||
'use strict';
|
||||
|
||||
// define module class and init only if we're on touch devices
|
||||
if(!Modernizr.touch) {
|
||||
return;
|
||||
}
|
||||
|
||||
function Navbar($el) {
|
||||
this.$el = $el;
|
||||
var scope = this;
|
||||
|
||||
// when navbar items are tapped hide/show dropdowns
|
||||
this.$el.find('li').on(Gumby.click, function(e) {
|
||||
var $this = $(this);
|
||||
|
||||
e.stopPropagation();
|
||||
|
||||
// prevent jump to top of page
|
||||
if(this.href === '#') {
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
scope.dropdown($this);
|
||||
});
|
||||
}
|
||||
|
||||
// hide/show dropdowns
|
||||
Navbar.prototype.dropdown = function($this) {
|
||||
// we have dropdowns so open/cose
|
||||
if($this.children('.dropdown').length) {
|
||||
if($this.hasClass('active')) {
|
||||
$this.removeClass('active');
|
||||
} else {
|
||||
$this.addClass('active');
|
||||
}
|
||||
// no dropdown so close others
|
||||
} else {
|
||||
this.$items.removeClass('active');
|
||||
}
|
||||
};
|
||||
|
||||
// add initialisation
|
||||
Gumby.addInitalisation('navbars', function() {
|
||||
$('.navbar').each(function() {
|
||||
var $this = $(this);
|
||||
// this element has already been initialized
|
||||
if($this.data('isNavbar')) {
|
||||
return true;
|
||||
}
|
||||
// mark element as initialized
|
||||
$this.data('isNavbar', true);
|
||||
new Navbar($this);
|
||||
});
|
||||
});
|
||||
|
||||
// register UI module
|
||||
Gumby.UIModule({
|
||||
module: 'navbar',
|
||||
events: [],
|
||||
init: function() {
|
||||
Gumby.initialize('navbars');
|
||||
}
|
||||
});
|
||||
}();
|
8
pelican-themes/gum/static/js/plugins.js
Normal file
8
pelican-themes/gum/static/js/plugins.js
Normal file
|
@ -0,0 +1,8 @@
|
|||
window.log=function(){log.history=log.history||[];log.history.push(arguments);if(this.console){arguments.callee=arguments.callee.caller;var a=[].slice.call(arguments);(typeof console.log==="object"?log.apply.call(console.log,console,a):console.log.apply(console,a))}};
|
||||
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try
|
||||
{console.log();return window.console;}catch(err){return window.console={};}})());
|
||||
|
||||
/*! http://mths.be/placeholder v2.0.7 by @mathias */
|
||||
;(function(f,h,$){var a='placeholder' in h.createElement('input'),d='placeholder' in h.createElement('textarea'),i=$.fn,c=$.valHooks,k,j;if(a&&d){j=i.placeholder=function(){return this};j.input=j.textarea=true}else{j=i.placeholder=function(){var l=this;l.filter((a?'textarea':':input')+'[placeholder]').not('.placeholder').bind({'focus.placeholder':b,'blur.placeholder':e}).data('placeholder-enabled',true).trigger('blur.placeholder');return l};j.input=a;j.textarea=d;k={get:function(m){var l=$(m);return l.data('placeholder-enabled')&&l.hasClass('placeholder')?'':m.value},set:function(m,n){var l=$(m);if(!l.data('placeholder-enabled')){return m.value=n}if(n==''){m.value=n;if(m!=h.activeElement){e.call(m)}}else{if(l.hasClass('placeholder')){b.call(m,true,n)||(m.value=n)}else{m.value=n}}return l}};a||(c.input=k);d||(c.textarea=k);$(function(){$(h).delegate('form','submit.placeholder',function(){var l=$('.placeholder',this).each(b);setTimeout(function(){l.each(e)},10)})});$(f).bind('beforeunload.placeholder',function(){$('.placeholder').each(function(){this.value=''})})}function g(m){var l={},n=/^jQuery\d+$/;$.each(m.attributes,function(p,o){if(o.specified&&!n.test(o.name)){l[o.name]=o.value}});return l}function b(m,n){var l=this,o=$(l);if(l.value==o.attr('placeholder')&&o.hasClass('placeholder')){if(o.data('placeholder-password')){o=o.hide().next().show().attr('id',o.removeAttr('id').data('placeholder-id'));if(m===true){return o[0].value=n}o.focus()}else{l.value='';o.removeClass('placeholder');l==h.activeElement&&l.select()}}}function e(){var q,l=this,p=$(l),m=p,o=this.id;if(l.value==''){if(l.type=='password'){if(!p.data('placeholder-textinput')){try{q=p.clone().attr({type:'text'})}catch(n){q=$('<input>').attr($.extend(g(this),{type:'text'}))}q.removeAttr('name').data({'placeholder-password':true,'placeholder-id':o}).bind('focus.placeholder',b);p.data({'placeholder-textinput':q,'placeholder-id':o}).before(q)}p=p.removeAttr('id').hide().prev().attr('id',o).show()}p.addClass('placeholder');p[0].value=p.attr('placeholder')}else{p.removeClass('placeholder')}}}(this,document,jQuery));
|
||||
|
||||
// place any jQuery/helper plugins in here, instead of separate, slower script files.
|
205
pelican-themes/gum/static/pygment.css
Normal file
205
pelican-themes/gum/static/pygment.css
Normal file
|
@ -0,0 +1,205 @@
|
|||
.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;
|
||||
}
|
201
pelican-themes/gum/static/style.css
Normal file
201
pelican-themes/gum/static/style.css
Normal file
|
@ -0,0 +1,201 @@
|
|||
/*
|
||||
Author : Nick Rance
|
||||
|
||||
- Credits
|
||||
- Main CSS from Gumby framework
|
||||
- Some CSS from Twitter Bootstrap - http://twitter.github.io/bootstrap/
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/* Code Highlighting */
|
||||
code,
|
||||
pre {
|
||||
padding: 0 3px 2px;
|
||||
font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
|
||||
font-size: 12px;
|
||||
color: #333333;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
code {
|
||||
padding: 2px 4px;
|
||||
color: #d14;
|
||||
white-space: nowrap;
|
||||
background-color: #f7f7f9;
|
||||
border: 1px solid #e1e1e8;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 20px;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
white-space: pre;
|
||||
white-space: pre-wrap;
|
||||
background-color: #f5f5f5;
|
||||
border: 1px solid #ccc;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
pre.prettyprint {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
pre code {
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
white-space: pre;
|
||||
white-space: pre-wrap;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.pre-scrollable {
|
||||
max-height: 340px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Table
|
||||
--------------------------------------------------------- */
|
||||
|
||||
table {
|
||||
max-width: 100%;
|
||||
background-color: transparent;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.table th,
|
||||
.table td {
|
||||
padding: 8px;
|
||||
line-height: 20px;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
.table th {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.table thead th {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.table caption + thead tr:first-child th,
|
||||
.table caption + thead tr:first-child td,
|
||||
.table colgroup + thead tr:first-child th,
|
||||
.table colgroup + thead tr:first-child td,
|
||||
.table thead:first-child tr:first-child th,
|
||||
.table thead:first-child tr:first-child td {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
.table tbody + tbody {
|
||||
border-top: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.table .table {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.table-condensed th,
|
||||
.table-condensed td {
|
||||
padding: 4px 5px;
|
||||
}
|
||||
|
||||
.table-bordered {
|
||||
border: 1px solid #dddddd;
|
||||
border-collapse: separate;
|
||||
*border-collapse: collapse;
|
||||
border-left: 0;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.table-striped tbody > tr:nth-child(odd) > td,
|
||||
.table-striped tbody > tr:nth-child(odd) > th {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
.table-hover tbody tr:hover > td,
|
||||
.table-hover tbody tr:hover > th {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
table td[class*="span"],
|
||||
table th[class*="span"],
|
||||
.row-fluid table td[class*="span"],
|
||||
.row-fluid table th[class*="span"] {
|
||||
display: table-cell;
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Navigation
|
||||
--------------------------------------------------------- */
|
||||
#banner strong {display:block;}
|
||||
#banner h1 { font-size:3.25rem }
|
||||
|
||||
.no-touch .navbar ul li.active > a {
|
||||
|
||||
background: #868d92;
|
||||
|
||||
}
|
||||
/* Posts
|
||||
--------------------------------------------------------- */
|
||||
|
||||
#post-list { margin-left:0; }
|
||||
#post-list > li {list-style:none; border-bottom: 2px solid #ccc; margin-bottom: 20px; padding-bottom: 15px;}
|
||||
|
||||
.tag-row {margin-top:20px;}
|
||||
|
||||
address { font-size:14px; margin-bottom:10px;}
|
||||
|
||||
/* Typography
|
||||
--------------------------------------------------------- */
|
||||
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
|
||||
color: #3498DB;
|
||||
}
|
||||
|
||||
a, a:hover { color: #3498DB; }
|
||||
a:focus { color: #34495E; }
|
||||
|
||||
.btn a:hover,
|
||||
.btn a:focus {color:#eee; }
|
||||
|
||||
.label:hover,
|
||||
.label:focus {color:#eee; }
|
||||
|
||||
/* Footer
|
||||
--------------------------------------------------------- */
|
||||
.bg { background:#eee; margin-top:35px; padding-top:25px; border-top:5px solid #3498DB; }
|
||||
|
||||
|
||||
|
||||
/* Responsive fixes
|
||||
--------------------------------------------------------- */
|
||||
@media only screen and (max-width: 600px) {
|
||||
#banner h1 a {font-size:22px!important; line-height:24px;}
|
||||
}
|
11
pelican-themes/gum/templates/archives.html
Normal file
11
pelican-themes/gum/templates/archives.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<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>
|
||||
{% endblock %}
|
53
pelican-themes/gum/templates/article.html
Normal file
53
pelican-themes/gum/templates/article.html
Normal file
|
@ -0,0 +1,53 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}{{ article.title|striptags }}{% endblock %}
|
||||
{% block content %}
|
||||
<section id="content" class="body">
|
||||
|
||||
<div class="row">
|
||||
<div class="eleven columns">
|
||||
|
||||
|
||||
<header>
|
||||
<h2 class="entry-title">
|
||||
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
|
||||
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{{ translations.translations_for(article) }}
|
||||
</header>
|
||||
<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 %}
|
||||
</footer><!-- /.post-info -->
|
||||
<div class="entry-content">
|
||||
{{ article.content }}
|
||||
</div><!-- /.entry-content -->
|
||||
{% if DISQUS_SITENAME %}
|
||||
<div class="comments">
|
||||
<h3>Comments</h3>
|
||||
<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 %}
|
||||
|
||||
|
||||
</div><!-- /.eleven.columns -->
|
||||
|
||||
{% include 'sidebar.html' %}
|
||||
</div><!-- /.row -->
|
||||
|
||||
|
||||
</section>
|
||||
{% endblock %}
|
7
pelican-themes/gum/templates/author.html
Normal file
7
pelican-themes/gum/templates/author.html
Normal file
|
@ -0,0 +1,7 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
|
||||
{% block content_title %}
|
||||
<h2>Articles by {{ author }}</h2>
|
||||
{% endblock %}
|
||||
|
155
pelican-themes/gum/templates/base.html
Normal file
155
pelican-themes/gum/templates/base.html
Normal file
|
@ -0,0 +1,155 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ DEFAULT_LANG }}">
|
||||
<head>
|
||||
{% block head %}
|
||||
|
||||
<title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
|
||||
<meta charset="utf-8" />
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_ATOM and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM|format(category.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_RSS and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS|format(category.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_ATOM and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM|format(tag.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_RSS and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS|format(tag.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />
|
||||
{% endif %}
|
||||
|
||||
|
||||
<!-- Mobile viewport optimized: j.mp/bplateviewport -->
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1, maximum-scale=1">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/gumby.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/style.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/pygment.css" />
|
||||
|
||||
<script src="{{ SITEURL }}/theme/js/libs/modernizr-2.6.2.min.js"></script>
|
||||
|
||||
|
||||
{% if GOOGLE_ANALYTICS_ID %}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', '{{ GOOGLE_ANALYTICS_ID }}', '{{ GOOGLE_ANALYTICS_SITENAME }}');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock head %}
|
||||
</head>
|
||||
|
||||
<body id="index" class="home">
|
||||
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<header id="banner" class="body">
|
||||
<h1><a href="{{ SITEURL }}">{{ SITENAME }} <strong>{{ SITESUBTITLE }}</strong></a></h1>
|
||||
</header><!-- /#banner -->
|
||||
|
||||
<div id="navigation" class="navbar row">
|
||||
<a href="#" gumby-trigger="#navigation > ul" class="toggle"><i class="icon-menu"></i></a>
|
||||
|
||||
<ul class="columns">
|
||||
<li><a href="{{ SITEURL }}">Home</a></li>
|
||||
|
||||
{% for title, link in MENUITEMS %}
|
||||
<li><a href="{{ link }}">{{ title }}</a></li>
|
||||
{% endfor %}
|
||||
{% if DISPLAY_PAGES_ON_MENU %}
|
||||
{% for p in PAGES %}
|
||||
<li{% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% if DISPLAY_CATEGORIES_ON_MENU %}
|
||||
{% for cat, null in categories %}
|
||||
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.container -->
|
||||
|
||||
|
||||
<div class="container.nopad bg">
|
||||
|
||||
|
||||
<footer id="credits" class="row">
|
||||
<div class="seven columns left-center">
|
||||
|
||||
<address id="about" class="vcard body">
|
||||
Proudly powered by <a href="http://getpelican.com/">Pelican</a>,
|
||||
which takes great advantage of <a href="http://python.org">Python</a>.
|
||||
<br />
|
||||
Based on the <a target="_blank" href="http://gumbyframework.com">Gumby Framework</a>
|
||||
</address>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="seven columns">
|
||||
<div class="row">
|
||||
<ul class="socbtns">
|
||||
|
||||
{% if GITHUB_URL %}
|
||||
<li><div class="btn primary"><a href="{{ GITHUB_URL }}" target="_blank">Github</a></div></li>
|
||||
{% endif %}
|
||||
|
||||
{% if TWITTER_URL %}
|
||||
<li><div class="btn twitter"><a href="{{ TWITTER_URL }}" target="_blank">Twitter</a></div></li>
|
||||
{% endif %}
|
||||
|
||||
{% if FACEBOOK_URL %}
|
||||
<li><div class="btn facebook"><a href="{{ FACEBOOK_URL }}" target="_blank">Facebook</a></div></li>
|
||||
{% endif %}
|
||||
|
||||
{% if GOOGLEPLUS_URL %}
|
||||
<li><div class="btn danger"><a href="{{ GOOGLEPLUS_URL }}" target="_blank">Google+</a></div></li>
|
||||
{% endif %}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{% include 'disqus_script.html' %}
|
||||
{% include 'piwik.html' %}
|
||||
<script src="{{ SITEURL }}/theme/js/libs/jquery-1.9.1.min.js"></script>
|
||||
<script src="{{ SITEURL }}/theme/js/libs/gumby.min.js"></script>
|
||||
<script src="{{ SITEURL }}/theme/js/plugins.js"></script>
|
||||
</body>
|
||||
</html>
|
8
pelican-themes/gum/templates/categories.html
Normal file
8
pelican-themes/gum/templates/categories.html
Normal file
|
@ -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 %}
|
5
pelican-themes/gum/templates/category.html
Normal file
5
pelican-themes/gum/templates/category.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
{% extends "index.html" %}
|
||||
{% block content_title %}
|
||||
<h2>Articles in the {{ category }} category</h2>
|
||||
{% endblock %}
|
||||
|
11
pelican-themes/gum/templates/disqus_script.html
Normal file
11
pelican-themes/gum/templates/disqus_script.html
Normal file
|
@ -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 %}
|
49
pelican-themes/gum/templates/index.html
Normal file
49
pelican-themes/gum/templates/index.html
Normal file
|
@ -0,0 +1,49 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<section id="content">
|
||||
{% block content_title %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="eleven columns">
|
||||
<ol id="post-list">
|
||||
{% for article in articles_page.object_list %}
|
||||
<li><article class="hentry">
|
||||
<header> <h2 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2> </header>
|
||||
<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 %}
|
||||
</footer><!-- /.post-info -->
|
||||
<div class="entry-content"> {{ article.summary }} </div><!-- /.entry-content -->
|
||||
|
||||
<div class="medium primary btn"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">Read more <i class="icon-arrow-right"></i></a></div>
|
||||
|
||||
|
||||
|
||||
<div class="row tag-row">
|
||||
{% if article.tags %}
|
||||
<span>Tagged as : </span>
|
||||
{% for tag in article.tags %}
|
||||
<a class="danger label" href="{{ SITEURL }}/{{ tag.url }}">{{ tag|e }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</article></li>
|
||||
{% endfor %}
|
||||
</ol><!-- /#posts-list -->
|
||||
|
||||
</div><!-- /.eleven.columns -->
|
||||
|
||||
{% include 'sidebar.html' %}
|
||||
</div><!-- /.row -->
|
||||
|
||||
{% include 'pagination.html' %}
|
||||
</section><!-- /#content -->
|
||||
{% endblock content %}
|
9
pelican-themes/gum/templates/page.html
Normal file
9
pelican-themes/gum/templates/page.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}{{ page.title }}{%endblock%}
|
||||
{% block content %}
|
||||
<h1>{{ page.title }}</h1>
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{{ translations.translations_for(page) }}
|
||||
|
||||
{{ page.content }}
|
||||
{% endblock %}
|
15
pelican-themes/gum/templates/pagination.html
Normal file
15
pelican-themes/gum/templates/pagination.html
Normal file
|
@ -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"><i class="icon-arrow-left"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() }}.html"><i class="icon-arrow-left"></i></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"><i class="icon-arrow-right"></i></a>
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
16
pelican-themes/gum/templates/piwik.html
Normal file
16
pelican-themes/gum/templates/piwik.html
Normal file
|
@ -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 %}
|
53
pelican-themes/gum/templates/sidebar.html
Normal file
53
pelican-themes/gum/templates/sidebar.html
Normal file
|
@ -0,0 +1,53 @@
|
|||
<div class="three columns">
|
||||
|
||||
<h4>Pages</h4>
|
||||
|
||||
<ul>
|
||||
{% for title, link in MENUITEMS %}
|
||||
<li><a href="{{ link }}">{{ title }}</a></li>
|
||||
{% endfor %}
|
||||
{% if DISPLAY_PAGES_ON_MENU %}
|
||||
{% for p in PAGES %}
|
||||
<li{% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% if DISPLAY_CATEGORIES_ON_MENU %}
|
||||
{% for cat, null in categories %}
|
||||
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
<h4>Categories</h4>
|
||||
{% if categories %}
|
||||
<ul>
|
||||
{% for cat, null in categories %}
|
||||
<li><a href="{{ SITEURL }}/{{ cat.url|e }}">{{ cat }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<h4>Tags</h4>
|
||||
{% if tags %}
|
||||
<ul>
|
||||
{% for tag in tag_cloud %}
|
||||
<li class="tag-{{ tag.1 }}"><a href="{{ SITEURL }}/{{ tag.0.url }}">{{ tag.0|e }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if SOCIAL %}
|
||||
<nav class="widget">
|
||||
<h4>Social</h4>
|
||||
<ul>
|
||||
{% for name, url in SOCIAL %}
|
||||
<li><a href="{{ url|e }}">{{ name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
2
pelican-themes/gum/templates/tag.html
Normal file
2
pelican-themes/gum/templates/tag.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
{% extends "index.html" %}
|
||||
{% block title %}{{ SITENAME }} - {{ tag|e }}{% endblock %}
|
13
pelican-themes/gum/templates/tags.html
Normal file
13
pelican-themes/gum/templates/tags.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<ul>
|
||||
<li class="nav-header"><h4><i class="icon-tags icon-large"></i>Tags</h4></li>
|
||||
{% for tag in tag_cloud %}
|
||||
<li class="tag-{{ tag.1 }}">
|
||||
<a href="{{ SITEURL }}/{{ tag.0.url }}">
|
||||
<i class="icon-tag icon-large"></i>{{ tag.0|e }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
BIN
pelican-themes/gum/typography.png
Normal file
BIN
pelican-themes/gum/typography.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 93 KiB |
|
@ -10,15 +10,17 @@ SITEURL = 'http://syntax-fehler.de'
|
|||
TIMEZONE = 'Europe/Berlin'
|
||||
THEME = './pelican-themes/gum/'
|
||||
DEFAULT_LANG = 'en'
|
||||
DEFAULT_CATEGORY = 'misc'
|
||||
#DEFAULT_CATEGORY = 'misc'
|
||||
# Feed generation is usually not desired when developing
|
||||
FEED_ALL_ATOM = 'feeds/all.atom.xml'
|
||||
FEED_ALL_ATOM = 'atom.xml'
|
||||
CATEGORY_FEED_ATOM = None
|
||||
TRANSLATION_FEED_ATOM = None
|
||||
# Blogroll
|
||||
STATIC_PATHS = [ 'extra/robots.txt', ]
|
||||
STATIC_PATHS = ['extra/robots.txt',
|
||||
'wiki/knowledge_base.html',
|
||||
'wiki/knowledge_base.xml', ]
|
||||
EXTRA_PATH_METADATA = { 'extra/robots.txt': {'path': 'robots.txt'}, }
|
||||
|
||||
# Blogroll
|
||||
LINKS = (('exco\'s blog', 'http://excogitation.de'),
|
||||
('Binaergewitter', 'http://krepel.us'),)
|
||||
|
||||
|
@ -26,6 +28,12 @@ LINKS = (('exco\'s blog', 'http://excogitation.de'),
|
|||
SOCIAL = (('@makefoo', 'http://twitter.com/makefoo') ,)
|
||||
DEFAULT_PAGINATION = 10
|
||||
|
||||
DISQUS_SITENAME = 'euer'
|
||||
#GOOGLE_ANALYTICS = ""
|
||||
PIWIK_URL='mediengewitter.krebsco.de:10000'
|
||||
PIWIK_SITE_ID=1
|
||||
|
||||
# Uncomment following line if you want document-relative URLs when developing
|
||||
RELATIVE_URLS = True
|
||||
MENUITEMS = (( 'RSS', '/feeds/all.atom.xml'),)
|
||||
MENUITEMS = ( ( 'Wiki', '/wiki/knowledge_base.html'),
|
||||
( 'Graphs', '/graphs/retiolum/'),( 'RSS', '/atom.xml',),)
|
||||
|
|
|
@ -10,15 +10,14 @@ import sys
|
|||
sys.path.append(os.curdir)
|
||||
from pelicanconf import *
|
||||
|
||||
SITEURL = 'http://syntax-fehler.de'
|
||||
SITEURL = 'http://euer.krebsco.de'
|
||||
RELATIVE_URLS = True
|
||||
|
||||
FEED_ALL_ATOM = 'feeds/all.atom.xml'
|
||||
CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'
|
||||
|
||||
DELETE_OUTPUT_DIRECTORY = True
|
||||
DELETE_OUTPUT_DIRECTORY = False
|
||||
|
||||
# Following items are often useful when publishing
|
||||
|
||||
#DISQUS_SITENAME = ""
|
||||
DISQUS_SITENAME = 'euer'
|
||||
#GOOGLE_ANALYTICS = ""
|
||||
PIWIK_URL='mediengewitter.krebsco.de:10000'
|
||||
PIWIK_SITE_ID=1
|
||||
|
|
Loading…
Reference in a new issue