first commit
75
Makefile
Normal file
@ -0,0 +1,75 @@
|
||||
PY?=python3
|
||||
PELICAN?=pelican
|
||||
PELICANOPTS=
|
||||
|
||||
BASEDIR=$(CURDIR)
|
||||
INPUTDIR=$(BASEDIR)/content
|
||||
OUTPUTDIR=$(BASEDIR)/output
|
||||
CONFFILE=$(BASEDIR)/pelicanconf.py
|
||||
PUBLISHCONF=$(BASEDIR)/publishconf.py
|
||||
|
||||
|
||||
DEBUG ?= 0
|
||||
ifeq ($(DEBUG), 1)
|
||||
PELICANOPTS += -D
|
||||
endif
|
||||
|
||||
RELATIVE ?= 0
|
||||
ifeq ($(RELATIVE), 1)
|
||||
PELICANOPTS += --relative-urls
|
||||
endif
|
||||
|
||||
help:
|
||||
@echo 'Makefile for a pelican Web site '
|
||||
@echo ' '
|
||||
@echo 'Usage: '
|
||||
@echo ' make html (re)generate the web site '
|
||||
@echo ' make clean remove the generated files '
|
||||
@echo ' make regenerate regenerate files upon modification '
|
||||
@echo ' make publish generate using production settings '
|
||||
@echo ' make serve [PORT=8000] serve site at http://localhost:8000'
|
||||
@echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 '
|
||||
@echo ' make devserver [PORT=8000] serve and regenerate together '
|
||||
@echo ' make ssh_upload upload the web site via SSH '
|
||||
@echo ' make rsync_upload upload the web site via rsync+ssh '
|
||||
@echo ' '
|
||||
@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html '
|
||||
@echo 'Set the RELATIVE variable to 1 to enable relative urls '
|
||||
@echo ' '
|
||||
|
||||
html:
|
||||
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
|
||||
|
||||
clean:
|
||||
[ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR)
|
||||
|
||||
regenerate:
|
||||
$(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
|
||||
|
||||
serve:
|
||||
ifdef PORT
|
||||
$(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT)
|
||||
else
|
||||
$(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
|
||||
endif
|
||||
|
||||
serve-global:
|
||||
ifdef SERVER
|
||||
$(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT) -b $(SERVER)
|
||||
else
|
||||
$(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT) -b 0.0.0.0
|
||||
endif
|
||||
|
||||
|
||||
devserver:
|
||||
ifdef PORT
|
||||
$(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT)
|
||||
else
|
||||
$(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
|
||||
endif
|
||||
|
||||
publish:
|
||||
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
|
||||
|
||||
|
||||
.PHONY: html help clean regenerate serve serve-global devserver publish
|
BIN
__pycache__/pelicanconf.cpython-37.pyc
Normal file
14
content/articles/article-de-manon.md
Normal file
@ -0,0 +1,14 @@
|
||||
Title: L'article de Manon
|
||||
Date: 2020-03-30 10:20
|
||||
Modified: 2020-03-30 10:20
|
||||
Category: public
|
||||
Tags: swag, résilience
|
||||
Slug: article-manon
|
||||
Authors: manon
|
||||
Summary: Short version for index and feeds
|
||||
|
||||
# Le swag
|
||||
Définition : un levier de paillettes
|
||||
|
||||
# La résilience
|
||||
Une porte d'entrée vers les perspectives
|
30
content/articles/firstarticle.md
Normal file
@ -0,0 +1,30 @@
|
||||
Title: My super title 1
|
||||
Date: 2020-03-30 10:20
|
||||
Modified: 2020-03-30 10:20
|
||||
Category: public
|
||||
Tags: ducks, kubernetes
|
||||
Slug: my-super-post-1
|
||||
Authors: fel
|
||||
Summary: Short version for index and feeds
|
||||
|
||||
# CALLED IT
|
||||
`do you even markdown`
|
||||
|
||||
do you even markdown
|
||||
|
||||
# autres trucs
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Fermentum dui faucibus in ornare quam. Lacinia quis vel eros donec ac odio. Commodo viverra maecenas accumsan lacus vel facilisis. Donec et odio pellentesque diam volutpat commodo sed egestas. Vel orci porta non pulvinar neque laoreet suspendisse. Habitasse platea dictumst vestibulum rhoncus est pellentesque elit. Sit amet mattis vulputate enim nulla aliquet porttitor. Metus vulputate eu scelerisque felis imperdiet proin fermentum leo. Sagittis aliquam malesuada bibendum arcu. Bibendum arcu vitae elementum curabitur vitae nunc sed. Semper eget duis at tellus at urna. Mi proin sed libero enim sed faucibus turpis in. Ac turpis egestas integer eget aliquet nibh. Quis risus sed vulputate odio ut enim blandit. Ultrices mi tempus imperdiet nulla.
|
||||
</p>
|
||||
<p>
|
||||
Sed augue lacus viverra vitae congue eu. Sed id semper risus in hendrerit gravida rutrum. Sollicitudin ac orci phasellus egestas tellus rutrum tellus pellentesque. Interdum posuere lorem ipsum dolor sit amet consectetur adipiscing elit. Ut venenatis tellus in metus vulputate eu scelerisque felis. Lorem ipsum dolor sit amet. Varius duis at consectetur lorem donec massa sapien faucibus et. Nisl suscipit adipiscing bibendum est ultricies integer. Sed egestas egestas fringilla phasellus. Vulputate ut pharetra sit amet aliquam id diam. Varius morbi enim nunc faucibus a pellentesque sit amet porttitor. Sodales neque sodales ut etiam. Cursus risus at ultrices mi tempus imperdiet nulla.
|
||||
</p>
|
||||
<p>
|
||||
Gravida dictum fusce ut placerat orci nulla. Ullamcorper a lacus vestibulum sed arcu non. Sed risus pretium quam vulputate dignissim suspendisse in est ante. Lectus arcu bibendum at varius vel pharetra vel. Et malesuada fames ac turpis egestas. Sed id semper risus in. In arcu cursus euismod quis viverra. Pretium fusce id velit ut tortor. Elit eget gravida cum sociis. Urna porttitor rhoncus dolor purus non enim praesent elementum facilisis. Mi proin sed libero enim sed faucibus turpis in. Id interdum velit laoreet id donec ultrices tincidunt arcu. Proin fermentum leo vel orci. Egestas congue quisque egestas diam in arcu. Lectus nulla at volutpat diam. At tempor commodo ullamcorper a lacus vestibulum sed arcu non. Pellentesque sit amet porttitor eget dolor. Enim sed faucibus turpis in eu mi bibendum. Pharetra massa massa ultricies mi. Mauris commodo quis imperdiet massa tincidunt.
|
||||
</p>
|
||||
<p>
|
||||
Venenatis lectus magna fringilla urna porttitor rhoncus. Dictum non consectetur a erat nam at lectus urna. Viverra nibh cras pulvinar mattis nunc sed blandit libero volutpat. Hac habitasse platea dictumst quisque sagittis purus sit amet. Diam volutpat commodo sed egestas egestas fringilla phasellus faucibus scelerisque. Ut diam quam nulla porttitor massa id neque. Facilisis leo vel fringilla est ullamcorper eget. Rhoncus aenean vel elit scelerisque mauris pellentesque. Ipsum faucibus vitae aliquet nec ullamcorper sit amet risus nullam. Cum sociis natoque penatibus et magnis. Volutpat odio facilisis mauris sit amet massa vitae. Pellentesque adipiscing commodo elit at imperdiet dui accumsan sit amet. Sem nulla pharetra diam sit amet. Volutpat blandit aliquam etiam erat. Viverra orci sagittis eu volutpat odio facilisis mauris. Sed cras ornare arcu dui vivamus. Id cursus metus aliquam eleifend mi in nulla posuere. Viverra suspendisse potenti nullam ac tortor vitae. Malesuada proin libero nunc consequat interdum varius sit. Pellentesque sit amet porttitor eget dolor.
|
||||
</p>
|
||||
<p>
|
||||
Dictumst quisque sagittis purus sit amet volutpat consequat mauris. Quam lacus suspendisse faucibus interdum posuere lorem ipsum dolor sit. Suspendisse interdum consectetur libero id. Blandit cursus risus at ultrices. Velit scelerisque in dictum non consectetur a erat nam at. Lacus viverra vitae congue eu consequat ac. Purus semper eget duis at tellus at urna condimentum. A erat nam at lectus. Ornare arcu dui vivamus arcu. Enim sed faucibus turpis in eu mi. Lectus quam id leo in vitae. Aliquet enim tortor at auctor urna nunc id cursus. Facilisi nullam vehicula ipsum a arcu cursus vitae congue mauris. Et netus et malesuada fames ac turpis egestas integer. Fermentum dui faucibus in ornare quam viverra orci sagittis. Diam donec adipiscing tristique risus nec. Massa eget egestas purus viverra accumsan in nisl. In aliquam sem fringilla ut morbi tincidunt augue.
|
||||
</p>
|
14
content/articles/secondarticle.md
Normal file
@ -0,0 +1,14 @@
|
||||
Title: My super title 2
|
||||
Date: 2010-12-03 10:20
|
||||
Modified: 2010-12-05 19:30
|
||||
Category: personal
|
||||
Tags: beavers
|
||||
Slug: my-super-post-2
|
||||
Authors: theo
|
||||
Summary: Short version for index and feeds 2
|
||||
|
||||
# Second article
|
||||
|
||||
Other random shit to talk about
|
||||
|
||||
## other shit
|
0
output/archives.html
Normal file
29
output/article-manon.html
Normal file
@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Félicie</title>
|
||||
<link rel="stylesheet" href="/theme/css/main.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class='sidebar'>
|
||||
<a id='home' href='index.html'> /HOME </a></br>
|
||||
<div id='anchors'>
|
||||
<a href=article-manon.html>L'article de Manon</a></br>
|
||||
<a href=my-super-post-1.html>My super title 1</a></br>
|
||||
<a href=my-super-post-2.html>My super title 2</a></br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='content'>
|
||||
<h1 class='article-title'>L'article de Manon</h1>
|
||||
<h2 class='article-author'> by manon</h2>
|
||||
<div class='article-content'> <h1>Le swag</h1>
|
||||
<p>Définition : un levier de paillettes</p>
|
||||
<h1>La résilience</h1>
|
||||
<p>Une porte d'entrée vers les perspectives</p></div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
0
output/author/fel.html
Normal file
0
output/author/manon.html
Normal file
0
output/author/thelem.html
Normal file
0
output/author/theo.html
Normal file
0
output/authors.html
Normal file
0
output/categories.html
Normal file
0
output/category/article.html
Normal file
0
output/category/personal.html
Normal file
0
output/category/public.html
Normal file
41
output/index.html
Normal file
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Félicie</title>
|
||||
<link rel="stylesheet" href="/theme/css/main.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class='sidebar'>
|
||||
<a id='home' href='index.html'> /HOME </a></br>
|
||||
<div id='anchors'>
|
||||
<a href=article-manon.html>L'article de Manon</a></br>
|
||||
<a href=my-super-post-1.html>My super title 1</a></br>
|
||||
<a href=my-super-post-2.html>My super title 2</a></br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='content'>
|
||||
<p id='welcome-message'>Welcome aboard ! </p>
|
||||
|
||||
<iframe id="surrealistic-quote" src='http://www.madsci.org/cgi-bin/lynn/jardin/SCG'></iframe>
|
||||
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.4.1.min.js"
|
||||
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<script type='text/javascript'>
|
||||
$(document).ready(function(){
|
||||
var iframe_title = $('#surrealistic-quote').contents();
|
||||
console.log(iframe_title);
|
||||
$('#surrealistic-quote').hide();
|
||||
$('#welcome-message').after('<p>' + iframe_title + '</p>');
|
||||
})
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
44
output/my-super-post-1.html
Normal file
@ -0,0 +1,44 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Félicie</title>
|
||||
<link rel="stylesheet" href="/theme/css/main.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class='sidebar'>
|
||||
<a id='home' href='index.html'> /HOME </a></br>
|
||||
<div id='anchors'>
|
||||
<a href=article-manon.html>L'article de Manon</a></br>
|
||||
<a href=my-super-post-1.html>My super title 1</a></br>
|
||||
<a href=my-super-post-2.html>My super title 2</a></br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='content'>
|
||||
<h1 class='article-title'>My super title 1</h1>
|
||||
<h2 class='article-author'> by fel</h2>
|
||||
<div class='article-content'> <h1>CALLED IT</h1>
|
||||
<p><code>do you even markdown</code></p>
|
||||
<p>do you even markdown</p>
|
||||
<h1>autres trucs</h1>
|
||||
<p><p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Fermentum dui faucibus in ornare quam. Lacinia quis vel eros donec ac odio. Commodo viverra maecenas accumsan lacus vel facilisis. Donec et odio pellentesque diam volutpat commodo sed egestas. Vel orci porta non pulvinar neque laoreet suspendisse. Habitasse platea dictumst vestibulum rhoncus est pellentesque elit. Sit amet mattis vulputate enim nulla aliquet porttitor. Metus vulputate eu scelerisque felis imperdiet proin fermentum leo. Sagittis aliquam malesuada bibendum arcu. Bibendum arcu vitae elementum curabitur vitae nunc sed. Semper eget duis at tellus at urna. Mi proin sed libero enim sed faucibus turpis in. Ac turpis egestas integer eget aliquet nibh. Quis risus sed vulputate odio ut enim blandit. Ultrices mi tempus imperdiet nulla.
|
||||
</p>
|
||||
<p>
|
||||
Sed augue lacus viverra vitae congue eu. Sed id semper risus in hendrerit gravida rutrum. Sollicitudin ac orci phasellus egestas tellus rutrum tellus pellentesque. Interdum posuere lorem ipsum dolor sit amet consectetur adipiscing elit. Ut venenatis tellus in metus vulputate eu scelerisque felis. Lorem ipsum dolor sit amet. Varius duis at consectetur lorem donec massa sapien faucibus et. Nisl suscipit adipiscing bibendum est ultricies integer. Sed egestas egestas fringilla phasellus. Vulputate ut pharetra sit amet aliquam id diam. Varius morbi enim nunc faucibus a pellentesque sit amet porttitor. Sodales neque sodales ut etiam. Cursus risus at ultrices mi tempus imperdiet nulla.
|
||||
</p>
|
||||
<p>
|
||||
Gravida dictum fusce ut placerat orci nulla. Ullamcorper a lacus vestibulum sed arcu non. Sed risus pretium quam vulputate dignissim suspendisse in est ante. Lectus arcu bibendum at varius vel pharetra vel. Et malesuada fames ac turpis egestas. Sed id semper risus in. In arcu cursus euismod quis viverra. Pretium fusce id velit ut tortor. Elit eget gravida cum sociis. Urna porttitor rhoncus dolor purus non enim praesent elementum facilisis. Mi proin sed libero enim sed faucibus turpis in. Id interdum velit laoreet id donec ultrices tincidunt arcu. Proin fermentum leo vel orci. Egestas congue quisque egestas diam in arcu. Lectus nulla at volutpat diam. At tempor commodo ullamcorper a lacus vestibulum sed arcu non. Pellentesque sit amet porttitor eget dolor. Enim sed faucibus turpis in eu mi bibendum. Pharetra massa massa ultricies mi. Mauris commodo quis imperdiet massa tincidunt.
|
||||
</p>
|
||||
<p>
|
||||
Venenatis lectus magna fringilla urna porttitor rhoncus. Dictum non consectetur a erat nam at lectus urna. Viverra nibh cras pulvinar mattis nunc sed blandit libero volutpat. Hac habitasse platea dictumst quisque sagittis purus sit amet. Diam volutpat commodo sed egestas egestas fringilla phasellus faucibus scelerisque. Ut diam quam nulla porttitor massa id neque. Facilisis leo vel fringilla est ullamcorper eget. Rhoncus aenean vel elit scelerisque mauris pellentesque. Ipsum faucibus vitae aliquet nec ullamcorper sit amet risus nullam. Cum sociis natoque penatibus et magnis. Volutpat odio facilisis mauris sit amet massa vitae. Pellentesque adipiscing commodo elit at imperdiet dui accumsan sit amet. Sem nulla pharetra diam sit amet. Volutpat blandit aliquam etiam erat. Viverra orci sagittis eu volutpat odio facilisis mauris. Sed cras ornare arcu dui vivamus. Id cursus metus aliquam eleifend mi in nulla posuere. Viverra suspendisse potenti nullam ac tortor vitae. Malesuada proin libero nunc consequat interdum varius sit. Pellentesque sit amet porttitor eget dolor.
|
||||
</p>
|
||||
<p>
|
||||
Dictumst quisque sagittis purus sit amet volutpat consequat mauris. Quam lacus suspendisse faucibus interdum posuere lorem ipsum dolor sit. Suspendisse interdum consectetur libero id. Blandit cursus risus at ultrices. Velit scelerisque in dictum non consectetur a erat nam at. Lacus viverra vitae congue eu consequat ac. Purus semper eget duis at tellus at urna condimentum. A erat nam at lectus. Ornare arcu dui vivamus arcu. Enim sed faucibus turpis in eu mi. Lectus quam id leo in vitae. Aliquet enim tortor at auctor urna nunc id cursus. Facilisi nullam vehicula ipsum a arcu cursus vitae congue mauris. Et netus et malesuada fames ac turpis egestas integer. Fermentum dui faucibus in ornare quam viverra orci sagittis. Diam donec adipiscing tristique risus nec. Massa eget egestas purus viverra accumsan in nisl. In aliquam sem fringilla ut morbi tincidunt augue.
|
||||
</p> </p></div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
28
output/my-super-post-2.html
Normal file
@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Félicie</title>
|
||||
<link rel="stylesheet" href="/theme/css/main.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class='sidebar'>
|
||||
<a id='home' href='index.html'> /HOME </a></br>
|
||||
<div id='anchors'>
|
||||
<a href=article-manon.html>L'article de Manon</a></br>
|
||||
<a href=my-super-post-1.html>My super title 1</a></br>
|
||||
<a href=my-super-post-2.html>My super title 2</a></br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='content'>
|
||||
<h1 class='article-title'>My super title 2</h1>
|
||||
<h2 class='article-author'> by theo</h2>
|
||||
<div class='article-content'> <h1>Second article</h1>
|
||||
<p>Other random shit to talk about </p>
|
||||
<h2>other shit</h2></div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
0
output/second-article-title.html
Normal file
0
output/tag/beavers.html
Normal file
0
output/tag/ducks.html
Normal file
0
output/tag/kubernetes.html
Normal file
0
output/tag/resilience.html
Normal file
0
output/tag/swag.html
Normal file
0
output/tags.html
Normal file
32
output/theme/css/main.css
Normal file
@ -0,0 +1,32 @@
|
||||
*{
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
background-color:#527a7a;
|
||||
}
|
||||
|
||||
.sidebar{
|
||||
height: 100%;
|
||||
width: 160px;
|
||||
z-index: 1; /* Stay on top */
|
||||
top: 0; /* Stay at the top */
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
position: fixed;
|
||||
border-style: double;
|
||||
border-right-color: black;
|
||||
}
|
||||
|
||||
.content{
|
||||
margin-left: 200px;
|
||||
max-width: 60%;
|
||||
}
|
||||
|
||||
/* CSS MAIN */
|
||||
|
||||
h2{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
a:before{
|
||||
color: #85adad;
|
||||
content: '> ';
|
||||
}
|
0
output/this-is-an-attempt-to-create-an-article.html
Normal file
38
pelicanconf.py
Normal file
@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*- #
|
||||
from __future__ import unicode_literals
|
||||
|
||||
AUTHOR = 'thelem'
|
||||
SITENAME = 'Félicie'
|
||||
SITEURL = '127.0.0.1'
|
||||
CSS_FILE= 'main.css'
|
||||
|
||||
PATH = 'content'
|
||||
|
||||
TIMEZONE = 'Europe/Paris'
|
||||
|
||||
DEFAULT_LANG = 'fr'
|
||||
|
||||
# Feed generation is usually not desired when developing
|
||||
FEED_ALL_ATOM = None
|
||||
CATEGORY_FEED_ATOM = None
|
||||
TRANSLATION_FEED_ATOM = None
|
||||
AUTHOR_FEED_ATOM = None
|
||||
AUTHOR_FEED_RSS = None
|
||||
|
||||
# Blogroll
|
||||
#LINKS = (('Pelican', 'http://getpelican.com/'),
|
||||
# ('Python.org', 'http://python.org/'),
|
||||
# ('Jinja2', 'http://jinja.pocoo.org/'),
|
||||
# ('You can modify those links in your config file', '#'),)
|
||||
|
||||
# Social widget
|
||||
#SOCIAL = (('You can add links in your config file', '#'),
|
||||
# ('Another social link', '#'),)
|
||||
|
||||
DEFAULT_PAGINATION = 10
|
||||
|
||||
# Uncomment following line if you want document-relative URLs when developing
|
||||
#RELATIVE_URLS = True
|
||||
|
||||
THEME='themes/felicie'
|
25
publishconf.py
Normal file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*- #
|
||||
from __future__ import unicode_literals
|
||||
|
||||
# This file is only used if you use `make publish` or
|
||||
# explicitly specify it as your config file.
|
||||
|
||||
import os
|
||||
import sys
|
||||
sys.path.append(os.curdir)
|
||||
from pelicanconf import *
|
||||
|
||||
# If your site is available via HTTPS, make sure SITEURL begins with https://
|
||||
SITEURL = '127.0.0.1:8000/'
|
||||
RELATIVE_URLS = False
|
||||
|
||||
FEED_ALL_ATOM = 'feeds/all.atom.xml'
|
||||
CATEGORY_FEED_ATOM = 'feeds/{slug}.atom.xml'
|
||||
|
||||
DELETE_OUTPUT_DIRECTORY = True
|
||||
|
||||
# Following items are often useful when publishing
|
||||
|
||||
#DISQUS_SITENAME = ""
|
||||
#GOOGLE_ANALYTICS = ""
|
110
tasks.py
Normal file
@ -0,0 +1,110 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
import datetime
|
||||
|
||||
from invoke import task
|
||||
from invoke.util import cd
|
||||
from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer
|
||||
from pelican.settings import DEFAULT_CONFIG, get_settings_from_file
|
||||
|
||||
SETTINGS_FILE_BASE = 'pelicanconf.py'
|
||||
SETTINGS = {}
|
||||
SETTINGS.update(DEFAULT_CONFIG)
|
||||
LOCAL_SETTINGS = get_settings_from_file(SETTINGS_FILE_BASE)
|
||||
SETTINGS.update(LOCAL_SETTINGS)
|
||||
|
||||
CONFIG = {
|
||||
'settings_base': SETTINGS_FILE_BASE,
|
||||
'settings_publish': 'publishconf.py',
|
||||
# Output path. Can be absolute or relative to tasks.py. Default: 'output'
|
||||
'deploy_path': SETTINGS['OUTPUT_PATH'],
|
||||
# Port for `serve`
|
||||
'port': 8000,
|
||||
}
|
||||
|
||||
@task
|
||||
def clean(c):
|
||||
"""Remove generated files"""
|
||||
if os.path.isdir(CONFIG['deploy_path']):
|
||||
shutil.rmtree(CONFIG['deploy_path'])
|
||||
os.makedirs(CONFIG['deploy_path'])
|
||||
|
||||
@task
|
||||
def build(c):
|
||||
"""Build local version of site"""
|
||||
c.run('pelican -s {settings_base}'.format(**CONFIG))
|
||||
|
||||
@task
|
||||
def rebuild(c):
|
||||
"""`build` with the delete switch"""
|
||||
c.run('pelican -d -s {settings_base}'.format(**CONFIG))
|
||||
|
||||
@task
|
||||
def regenerate(c):
|
||||
"""Automatically regenerate site upon file modification"""
|
||||
c.run('pelican -r -s {settings_base}'.format(**CONFIG))
|
||||
|
||||
@task
|
||||
def serve(c):
|
||||
"""Serve site at http://localhost:$PORT/ (default port is 8000)"""
|
||||
|
||||
class AddressReuseTCPServer(RootedHTTPServer):
|
||||
allow_reuse_address = True
|
||||
|
||||
server = AddressReuseTCPServer(
|
||||
CONFIG['deploy_path'],
|
||||
('', CONFIG['port']),
|
||||
ComplexHTTPRequestHandler)
|
||||
|
||||
sys.stderr.write('Serving on port {port} ...\n'.format(**CONFIG))
|
||||
server.serve_forever()
|
||||
|
||||
@task
|
||||
def reserve(c):
|
||||
"""`build`, then `serve`"""
|
||||
build(c)
|
||||
serve(c)
|
||||
|
||||
@task
|
||||
def preview(c):
|
||||
"""Build production version of site"""
|
||||
c.run('pelican -s {settings_publish}'.format(**CONFIG))
|
||||
|
||||
@task
|
||||
def livereload(c):
|
||||
"""Automatically reload browser tab upon file modification."""
|
||||
from livereload import Server
|
||||
build(c)
|
||||
server = Server()
|
||||
# Watch the base settings file
|
||||
server.watch(CONFIG['settings_base'], lambda: build(c))
|
||||
# Watch content source files
|
||||
content_file_extensions = ['.md', '.rst']
|
||||
for extension in content_file_extensions:
|
||||
content_blob = '{0}/**/*{1}'.format(SETTINGS['PATH'], extension)
|
||||
server.watch(content_blob, lambda: build(c))
|
||||
# Watch the theme's templates and static assets
|
||||
theme_path = SETTINGS['THEME']
|
||||
server.watch('{}/templates/*.html'.format(theme_path), lambda: build(c))
|
||||
static_file_extensions = ['.css', '.js']
|
||||
for extension in static_file_extensions:
|
||||
static_file = '{0}/static/**/*{1}'.format(theme_path, extension)
|
||||
server.watch(static_file, lambda: build(c))
|
||||
# Serve output path on configured port
|
||||
server.serve(port=CONFIG['port'], root=CONFIG['deploy_path'])
|
||||
|
||||
|
||||
@task
|
||||
def publish(c):
|
||||
"""Publish to production via rsync"""
|
||||
c.run('pelican -s {settings_publish}'.format(**CONFIG))
|
||||
c.run(
|
||||
'rsync --delete --exclude ".DS_Store" -pthrvz -c '
|
||||
'-e "ssh -p {ssh_port}" '
|
||||
'{} {ssh_user}@{ssh_host}:{ssh_path}'.format(
|
||||
CONFIG['deploy_path'].rstrip('/') + '/',
|
||||
**CONFIG))
|
||||
|
14
themes/cebong/LICENSE.txt
Normal file
@ -0,0 +1,14 @@
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim or modified
|
||||
copies of this license document, and changing it is allowed as long
|
||||
as the name is changed.
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||
|
14
themes/cebong/README.markdown
Normal file
@ -0,0 +1,14 @@
|
||||
# pelican-cebong-theme #
|
||||
|
||||
This theme is focused on simplicity and solarized-looks, its structure was derived from the pelican's *notmyidea* theme, and I altered some stuff to look more like [my old tumblr blog](http://kecebongsoft.tumblr.com), which is pretty much solarized-like.
|
||||
|
||||
This theme is used for [my pelican blog](http://kecebongsoft.com).
|
||||
|
||||
You can add a tagline below the title using `SITETAGLINE`, and add
|
||||
additional footer information with `FOOTERTEXT`
|
||||
|
||||
## Screenshots ##
|
||||
|
||||

|
||||

|
||||

|
BIN
themes/cebong/screenshot-article.png
Normal file
After Width: | Height: | Size: 266 KiB |
BIN
themes/cebong/screenshot-with-tagline.png
Normal file
After Width: | Height: | Size: 462 KiB |
BIN
themes/cebong/screenshot-without-tagline.png
Normal file
After Width: | Height: | Size: 457 KiB |
461
themes/cebong/static/css/main.css
Normal file
@ -0,0 +1,461 @@
|
||||
/*
|
||||
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("https://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600,600italic,700,700italic");
|
||||
|
||||
/***** Global *****/
|
||||
/* Body */
|
||||
body {
|
||||
background: #FDF6E3;
|
||||
color: #8A887B;
|
||||
font-size: 16px;
|
||||
font-family: 'Crimson Text', 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
/*line-height: 1.429;*/
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
text-align: left;
|
||||
text-shadow:0px 0px 1px #BFBFBF;
|
||||
padding-top:120px;
|
||||
}
|
||||
|
||||
code{
|
||||
border:1px solid #eaeaea;
|
||||
background-color:#f8f8f8;
|
||||
font-size:11px;
|
||||
font-style:normal;
|
||||
color:#777;
|
||||
-moz-border-radius:7px;
|
||||
-webkit-border-radius:7px;
|
||||
padding-left:3px;
|
||||
padding-right:3px;
|
||||
padding-bottom:0px;
|
||||
font-weight:normal;
|
||||
font-family:Consolas, "Liberation Mono", Courier, monospace;
|
||||
}
|
||||
|
||||
/* 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 {
|
||||
text-shadow:0px 0px 1px #BFBFBF;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
line-height: 50px;
|
||||
/*margin-bottom: .8em;*/
|
||||
font-family: 'Crimson Text', arial, serif;
|
||||
}
|
||||
h1 {
|
||||
font-size: 50px;
|
||||
|
||||
}
|
||||
|
||||
h3, h4, h5, h6 { margin-top: .8em; }
|
||||
|
||||
hr { border: 1px dotted #8A887B; }
|
||||
|
||||
/* Anchors */
|
||||
a {outline: 0;}
|
||||
a img {border: 0px; text-decoration: none;}
|
||||
a:link, a:visited {
|
||||
color: inherit;
|
||||
padding: 0 1px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:hover, a:active {
|
||||
/*background-color: #inherit;*/
|
||||
/*color: #fff;*/
|
||||
text-decoration: underline;
|
||||
/*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;}
|
||||
|
||||
/* 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:10px;*/
|
||||
/*padding:5px;*/
|
||||
}
|
||||
|
||||
.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: left; margin: 0 2em 2em 0;}
|
||||
|
||||
/*
|
||||
Header
|
||||
*****************/
|
||||
#banner {
|
||||
margin: 0 auto;
|
||||
padding: 2.5em 0 0 0;
|
||||
}
|
||||
|
||||
/* Banner */
|
||||
#banner h1 {font-size: 51px; line-height: 0;}
|
||||
#banner h1 a:link, #banner h1 a:visited {
|
||||
text-align:center;
|
||||
color: #383732;
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
margin: 0 0 .4em .2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
#banner h1 a:hover, #banner h1 a:active {
|
||||
background: none;
|
||||
color: inherit;
|
||||
/*text-shadow: none;*/
|
||||
}
|
||||
|
||||
#banner h1 strong {font-size: 0.36em; font-weight: normal;}
|
||||
|
||||
/* Main Nav */
|
||||
#banner nav {
|
||||
background:transparent;
|
||||
/*font-size: 1.143em;*/
|
||||
/*height: 40px;*/
|
||||
/*line-height: 30px;*/
|
||||
/*margin: 0 auto 2em auto;*/
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
width: 800px;
|
||||
font-style:italic;
|
||||
|
||||
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 {
|
||||
display: inline-block;
|
||||
/*height: 30px;*/
|
||||
padding: 5px;
|
||||
text-decoration: none;
|
||||
color: #8A887B;
|
||||
}
|
||||
#banner nav a:hover, #banner nav a:active,
|
||||
#banner nav .active a:link, #banner nav .active a:visited {
|
||||
background: transparent;
|
||||
/*color: #fff;*/
|
||||
/*text-shadow: none !important;*/
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
#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: transparent;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
padding: 20px;
|
||||
width: 760px;
|
||||
|
||||
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: inherit; 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: transparent;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
padding: 20px 20px;
|
||||
width: 760px;
|
||||
|
||||
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: inherit;
|
||||
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*='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*='last.fm'], .social a[href*='lastfm.'] {background-image: url('../images/icons/lastfm.png');}
|
||||
.social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');}
|
||||
.social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');}
|
||||
.social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');}
|
||||
.social a[href*='gitorious.org'] {background-image: url('../images/icons/gitorious.org');}
|
||||
|
||||
/*
|
||||
About
|
||||
*****************/
|
||||
#about {
|
||||
background: transparent;
|
||||
font-style: italic;
|
||||
font-size: 11px;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
padding: 20px;
|
||||
text-align: right;
|
||||
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 {text-align:center;font-size: 31px; font-style:italic; margin-bottom: 10px; margin-top: 0;}
|
||||
.entry-title a:link, .entry-title a:visited {text-decoration: none; color: #8A887B;}
|
||||
.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;}
|
||||
|
||||
#tagline{
|
||||
text-align:center;
|
||||
font-style:italic;
|
||||
padding:0px;
|
||||
margin:0px;
|
||||
}
|
205
themes/cebong/static/css/pygment.css
Normal file
@ -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;
|
||||
}
|
52
themes/cebong/static/css/reset.css
Normal file
@ -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;
|
||||
}
|
3
themes/cebong/static/css/typogrify.css
Normal file
@ -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;}
|
48
themes/cebong/static/css/wide.css
Normal file
@ -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;
|
||||
}
|
BIN
themes/cebong/static/images/icons/delicious.png
Normal file
After Width: | Height: | Size: 963 B |
BIN
themes/cebong/static/images/icons/facebook.png
Normal file
After Width: | Height: | Size: 300 B |
BIN
themes/cebong/static/images/icons/gitorious.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
themes/cebong/static/images/icons/lastfm.png
Normal file
After Width: | Height: | Size: 980 B |
BIN
themes/cebong/static/images/icons/linkedin.png
Normal file
After Width: | Height: | Size: 376 B |
BIN
themes/cebong/static/images/icons/rss.png
Normal file
After Width: | Height: | Size: 896 B |
BIN
themes/cebong/static/images/icons/twitter.png
Normal file
After Width: | Height: | Size: 835 B |
11
themes/cebong/templates/analytics.html
Normal file
@ -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 %}
|
14
themes/cebong/templates/archives.html
Normal file
@ -0,0 +1,14 @@
|
||||
{% extends "base.html" %}
|
||||
{% block robots %}noindex,follow{% endblock %}
|
||||
{% 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 %}
|
62
themes/cebong/templates/article.html
Normal file
@ -0,0 +1,62 @@
|
||||
{% extends "base.html" %}
|
||||
{% block robots %}
|
||||
{% if article.robots %}{{ article.robots }}{% else %}index,follow{% endif %}
|
||||
{% endblock %}
|
||||
{% block head_description %}
|
||||
{% if article.summary %}
|
||||
{{ article.summary|striptags }}
|
||||
{% endif %}
|
||||
{% endblock head_description %}
|
||||
{% block title %}{{ article.title|striptags }}{% endblock %}
|
||||
{% block meta_tags_in_head %}
|
||||
{% if article.tags and article.category %}
|
||||
<meta name="keywords" content="{{ [article.tags|join(', '), article.category]|join(', ') }}" />
|
||||
{% endif %}
|
||||
{% if article.category %}
|
||||
<meta name="category" content="{{ article.category|striptags }}" />
|
||||
{% endif %}
|
||||
{% if article.description %}
|
||||
<meta name="description" content="{{ article.description|striptags }}" />
|
||||
{% elif article.summary %}
|
||||
<meta name="description" content="{{ article.summary|striptags }}" />
|
||||
{% endif %}
|
||||
{% if article.author %}
|
||||
<meta name="author" content="{{ article.author }}" />
|
||||
<meta name="copyright" content="{{ article.author }}" />
|
||||
{% endif %}
|
||||
{% if article.date %}
|
||||
<meta name="date" content="{{ article.date }}">
|
||||
{% endif %}
|
||||
{% endblock meta_tags_in_head %}
|
||||
{% 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 = 'https://{{ DISQUS_SITENAME }}.disqus.com/embed.js';
|
||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</article>
|
||||
</section>
|
||||
{% endblock %}
|
7
themes/cebong/templates/article_infos.html
Normal file
@ -0,0 +1,7 @@
|
||||
<footer class="post-info">
|
||||
<abbr class="published" title="{{ article.date.isoformat() }}">
|
||||
{{ article.locale_date }}
|
||||
</abbr>
|
||||
{% include 'taglist.html' %}
|
||||
{% include 'translations.html' %}
|
||||
</footer><!-- /.post-info -->
|
3
themes/cebong/templates/author.html
Normal file
@ -0,0 +1,3 @@
|
||||
{% extends "index.html" %}
|
||||
{% block robots %}noindex,follow{% endblock %}
|
||||
{% block title %}{{ SITENAME }} - {{ author }}{% endblock %}
|
0
themes/cebong/templates/authors.html
Normal file
100
themes/cebong/templates/base.html
Normal file
@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="Pelican" />
|
||||
{% if not page and not article %}
|
||||
<meta name="author" content="{{ AUTHOR }}" />
|
||||
<meta name="copyright" content="{{ AUTHOR }}" />
|
||||
{% if SITE_DESCRIPTION %}
|
||||
<meta name="description" content="{% block head_description %}{{ SITE_DESCRIPTION }}{% endblock head_description %}" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% block meta_tags_in_head %}
|
||||
{% endblock meta_tags_in_head %}
|
||||
<meta name="robots" content="{% block robots %}index,follow{% endblock %}">
|
||||
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ CSS_FILE }}" type="text/css" />
|
||||
{% 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 IE]>
|
||||
<script src="https://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>
|
||||
{% if SITETAGLINE %}
|
||||
<div id="tagline">{{SITETAGLINE}}</div>
|
||||
{% endif %}
|
||||
<nav>
|
||||
{% for title, link in MENUITEMS %}
|
||||
<a href="{{ link }}">{{ title }}</a>
|
||||
{% endfor %}
|
||||
{% if DISPLAY_PAGES_ON_MENU %}
|
||||
{% for page in pages %}
|
||||
<a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% for cat, null in categories %}
|
||||
<a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a>
|
||||
{% endfor %}
|
||||
</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>
|
||||
<li><a href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate">atom feed</a></li>
|
||||
{% if FEED_RSS %}
|
||||
<li><a href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate">rss feed</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% for name, link in SOCIAL %}
|
||||
<li><a href="{{ link }}">{{ name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div><!-- /.social -->
|
||||
{% endif %}
|
||||
</section><!-- /#extras -->
|
||||
|
||||
<footer id="contentinfo" class="body">
|
||||
<address id="about" class="vcard body">
|
||||
{{FOOTERTEXT}} Proudly powered by <a href="http://getpelican.com/">Pelican</a>, which takes great advantage of <a href="https://www.python.org/">Python</a>. Theme is using <a href="https://github.com/getpelican/pelican-themes" target="_blank">cebong</a>.
|
||||
</address><!-- /#about -->
|
||||
|
||||
</footer><!-- /#contentinfo -->
|
||||
|
||||
{% include 'analytics.html' %}
|
||||
{% include 'piwik.html' %}
|
||||
{% include 'disqus_script.html' %}
|
||||
</body>
|
||||
</html>
|
3
themes/cebong/templates/category.html
Normal file
@ -0,0 +1,3 @@
|
||||
{% extends "index.html" %}
|
||||
{% block robots %}noindex,follow{% endblock %}
|
||||
{% block title %}{{ SITENAME }} - {{ category }}{% endblock %}
|
1
themes/cebong/templates/comments.html
Normal file
@ -0,0 +1 @@
|
||||
{% if DISQUS_SITENAME %}<p>There are <a href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>.</p>{% endif %}
|
11
themes/cebong/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 = 'https://' + disqus_shortname + '.disqus.com/count.js';
|
||||
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
|
||||
}());
|
||||
</script>
|
||||
{% endif %}
|
9
themes/cebong/templates/github.html
Normal file
@ -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="https://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="https://s3.amazonaws.com/github/ribbons/forkme_left_white_ffffff.png" alt="Fork me on GitHub" />
|
||||
{% endif %}
|
||||
</a>
|
||||
{% endif %}
|
59
themes/cebong/templates/index.html
Normal file
@ -0,0 +1,59 @@
|
||||
{% extends "base.html" %}
|
||||
{% block robots %}noindex,follow{% endblock %}
|
||||
{% 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">
|
||||
<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>
|
||||
<h3><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
|
||||
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h3>
|
||||
</header>
|
||||
|
||||
<div class="entry-content">
|
||||
{{ article.summary }}
|
||||
<a class="readmore" href="{{ SITEURL }}/{{ article.url }}">read more</a>
|
||||
</div><!-- /.entry-content -->
|
||||
</article></li>
|
||||
{% endif %}
|
||||
{% if loop.last %}
|
||||
</ol><!-- /#posts-list -->
|
||||
{% if loop.last and (articles_page.has_previous()
|
||||
or not articles_page.has_previous() and loop.length > 1) %}
|
||||
{% include 'pagination.html' %}
|
||||
{% endif %}
|
||||
</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 %}
|
31
themes/cebong/templates/page.html
Normal file
@ -0,0 +1,31 @@
|
||||
{% extends "base.html" %}
|
||||
{% block title %}{{ page.title }}{% endblock %}
|
||||
{% block robots %}
|
||||
{% if page.robots %}{{ page.robots }}{% else %}index,follow{% endif %}
|
||||
{% endblock %}
|
||||
{% block meta_tags_in_head %}
|
||||
{% if page.tags and page.category %}
|
||||
<meta name="keywords" content="{{ [page.tags|join(', '), page.category]|join(', ') }}" />
|
||||
{% endif %}
|
||||
{% if page.category %}
|
||||
<meta name="category" content="{{ page.category|striptags }}" />
|
||||
{% endif %}
|
||||
{% if page.description %}
|
||||
<meta name="description" content="{{ page.description|striptags }}" />
|
||||
{% elif page.summary %}
|
||||
<meta name="description" content="{{ page.summary|striptags }}" />
|
||||
{% endif %}
|
||||
{% if page.author %}
|
||||
<meta name="author" content="{{ page.author }}" />
|
||||
<meta name="copyright" content="{{ page.author }}" />
|
||||
{% endif %}
|
||||
{% endblock meta_tags_in_head %}
|
||||
|
||||
{% 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 %}
|
16
themes/cebong/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="https://{{ PIWIK_URL }}/piwik.php?idsite={{ PIWIK_SITE_ID }}" style="border:0" alt="" /></p></noscript>
|
||||
{% endif %}
|
2
themes/cebong/templates/tag.html
Normal file
@ -0,0 +1,2 @@
|
||||
{% extends "index.html" %}
|
||||
{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %}
|
2
themes/cebong/templates/taglist.html
Normal file
@ -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 %}
|
6
themes/cebong/templates/translations.html
Normal file
@ -0,0 +1,6 @@
|
||||
{% if article.translations %}
|
||||
Translations:
|
||||
{% for translation in article.translations %}
|
||||
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
3
themes/cebong/templates/twitter.html
Normal file
@ -0,0 +1,3 @@
|
||||
{% if TWITTER_USERNAME %}
|
||||
<a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script>
|
||||
{% endif %}
|
32
themes/felicie/static/css/main.css
Normal file
@ -0,0 +1,32 @@
|
||||
*{
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
background-color:#527a7a;
|
||||
}
|
||||
|
||||
.sidebar{
|
||||
height: 100%;
|
||||
width: 160px;
|
||||
z-index: 1; /* Stay on top */
|
||||
top: 0; /* Stay at the top */
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
position: fixed;
|
||||
border-style: double;
|
||||
border-right-color: black;
|
||||
}
|
||||
|
||||
.content{
|
||||
margin-left: 200px;
|
||||
max-width: 60%;
|
||||
}
|
||||
|
||||
/* CSS MAIN */
|
||||
|
||||
h2{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
a:before{
|
||||
color: #85adad;
|
||||
content: '> ';
|
||||
}
|
0
themes/felicie/templates/archives.html
Normal file
7
themes/felicie/templates/article.html
Normal file
@ -0,0 +1,7 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class='article-title'>{{ article.title }}</h1>
|
||||
<h2 class='article-author'> by {{ article.author }}</h2>
|
||||
<div class='article-content'> {{ article.content }}</div>
|
||||
{% endblock content %}
|
0
themes/felicie/templates/author.html
Normal file
0
themes/felicie/templates/authors.html
Normal file
26
themes/felicie/templates/base.html
Normal file
@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{% block title %}{{ SITENAME }}{% endblock %}</title>
|
||||
<link rel="stylesheet" href="/theme/css/{{ CSS_FILE }}" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class='sidebar'>
|
||||
<a id='home' href='index.html'> /HOME </a></br>
|
||||
{% if articles %}
|
||||
<div id='anchors'>
|
||||
{% for article in articles %}
|
||||
<a href={{ article.url }}>{{ article.title }}</a></br>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class='content'>
|
||||
{% block content%} {% endblock %}
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
0
themes/felicie/templates/categories.html
Normal file
0
themes/felicie/templates/category.html
Normal file
26
themes/felicie/templates/index.html
Normal file
@ -0,0 +1,26 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block sidebar %}
|
||||
|
||||
{% endblock sidebar %}
|
||||
|
||||
{% block content %}
|
||||
<p id='welcome-message'>Welcome aboard ! </p>
|
||||
|
||||
<iframe id="surrealistic-quote" src='http://www.madsci.org/cgi-bin/lynn/jardin/SCG'></iframe>
|
||||
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.4.1.min.js"
|
||||
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<script type='text/javascript'>
|
||||
$(document).ready(function(){
|
||||
var iframe_title = $('#surrealistic-quote').contents();
|
||||
console.log(iframe_title);
|
||||
$('#surrealistic-quote').hide();
|
||||
$('#welcome-message').after('<p>' + iframe_title + '</p>');
|
||||
})
|
||||
</script>
|
||||
|
||||
{% endblock content %}
|