first commit

This commit is contained in:
theo lem 2020-04-03 15:05:13 +02:00
commit 4ef88ade54
79 changed files with 1708 additions and 0 deletions

75
Makefile Normal file
View 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

Binary file not shown.

View 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

View 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>

View 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
View File

29
output/article-manon.html Normal file
View 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
View File

0
output/author/manon.html Normal file
View File

View File

0
output/author/theo.html Normal file
View File

0
output/authors.html Normal file
View File

0
output/categories.html Normal file
View File

View File

View File

View File

41
output/index.html Normal file
View 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>

View 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>

View 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>

View File

0
output/tag/beavers.html Normal file
View File

0
output/tag/ducks.html Normal file
View File

View File

View File

0
output/tag/swag.html Normal file
View File

0
output/tags.html Normal file
View File

32
output/theme/css/main.css Normal file
View 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: '> ';
}

38
pelicanconf.py Normal file
View 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
View 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
View 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
View 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.

View 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 ##
![screenshot1](screenshot-article.png)
![screenshot2](screenshot-with-tagline.png)
![screenshot3](screenshot-without-tagline.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

View 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;
}

View 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;
}

View 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;
}

View 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;}

View 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;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

View 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 %}

View 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 %}

View 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 %}

View 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 -->

View File

@ -0,0 +1,3 @@
{% extends "index.html" %}
{% block robots %}noindex,follow{% endblock %}
{% block title %}{{ SITENAME }} - {{ author }}{% endblock %}

View File

View 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>&nbsp;
{% endfor %}
{% if DISPLAY_PAGES_ON_MENU %}
{% for page in pages %}
<a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a>&nbsp;
{% endfor %}
{% endif %}
{% for cat, null in categories %}
<a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a>&nbsp;
{% 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>

View File

@ -0,0 +1,3 @@
{% extends "index.html" %}
{% block robots %}noindex,follow{% endblock %}
{% block title %}{{ SITENAME }} - {{ category }}{% endblock %}

View File

@ -0,0 +1 @@
{% if DISQUS_SITENAME %}<p>There are <a href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>.</p>{% endif %}

View 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 %}

View 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 %}

View 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 %}

View 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 %}

View 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 %}

View File

@ -0,0 +1,2 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %}

View 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 %}

View File

@ -0,0 +1,6 @@
{% if article.translations %}
Translations:
{% for translation in article.translations %}
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
{% endfor %}
{% endif %}

View 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 %}

View 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: '> ';
}

View File

View 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 %}

View File

View File

View 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>

View File

View File

View 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 %}

View File

View File

View File