initial commit

This commit is contained in:
The Dod
2012-11-05 12:51:12 +07:00
parent 662052faa4
commit bd942f2d4f
23 changed files with 749 additions and 0 deletions

View File

@@ -1,3 +1,31 @@
This fork adds the *waterspill-en* (as seen on `this blog`_).
.. _this blog: https://dubiousdod.org/blog/
Differences from *waterspill* are:
* Language is English
* Font is larger (I have bad eyesight :) )
* Tags aren't mentioned if you have none (both at the article level and on the sidebar)
* It's possible to suppress category display
* It's possible to add custom items before/after the main menu
Example pelicanconf.py snippet:
::
BEFORE_MENU = [
{'name':"Main site", 'url':'/'},
]
AFTER_MENU = [
{'name':"Gallery", 'url':'http://example.com/galleries/mygallery'},
]
SUPPRESS_CATEGORIES_ON_MENU = True
SUPPRESS_ITEM_CATEGORIES = True
-------------------------------
Pelican themes Pelican themes
############## ##############

Binary file not shown.

After

Width:  |  Height:  |  Size: 903 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 KiB

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,215 @@
* { margin: 0; padding: 0; }
dd { margin-left: 23px }
/* *** General Styles *** */
body {
background: url(../images/background.jpg);
color: #293331;
font: 16px Georgia, "Times New Roman", Times, serif;
text-align: center;
}
pre { font-size:12px }
a {
color: #293331;
}
a:hover {
background: #a7aa9e;
}
#header a,
#topMenu a,
.blogItem h2 a,
.blogMeta a {
text-decoration: none;
}
p {
line-height: 1.5em;
padding: 5px 0;
}
h1,
h2,
h3 {
font-weight: normal;
}
blockquote {
background: url(../images/body.gif) top left repeat-y;
font-size: 18px;
font-style: italic;
padding: 5px 0 5px 30px;
}
ul,
ol {
margin-left: 20px;
line-height: 1.6em;
}
/* *** Layout *** */
#container {
background: url(../images/spill.gif) no-repeat top right;
margin: 0 auto;
text-align: left;
width: 780px;
}
#header {
background: url(../images/header.gif) no-repeat;
height: 109px;
padding: 0 10px 0 20px;
}
#topMenu {
background: url(../images/menubar.gif) no-repeat;
height: 48px;
}
#sidebar {
float: right;
padding: 20px 30px 10px 0;
text-align: right;
width: 150px;
}
#mainContent {
background: url(../images/body.gif) repeat-y;
padding: 20px 250px 10px 40px;
}
#footer {
background: url(../images/bottom.gif) no-repeat;
font-size: 14px;
height: 70px;
padding: 0 10px 0 20px;
}
/* *** Header Styles *** */
#header h1 {
font-size: 48px;
font-weight: normal;
padding: 20px 0 0 170px;
}
#header h2 {
font-size: 20px;
font-weight: normal;
text-align: right;
}
#header a:hover {
background: none;
}
/* *** Top Menu Styles *** */
#topMenu ul {
font-size: 26px;
line-height: 1em;
list-style: none;
padding: 14px 30px 0 0;
text-align: right;
}
#topMenu li {
display: inline;
}
#topMenu a:hover {
background: url(../images/hr.gif) center center no-repeat;
}
/* *** Blog Styles *** */
.blogItem {
padding-bottom: 20px;
}
.blogItem h2,
.blogItem h3 {
font-weight: normal;
}
.blogItem h2 a:hover,
.blogItem h3 a:hover {
background: none;
text-decoration: underline;
}
.blogItem h2 {
font-size: 24px;
}
.blogItem h3 {
background: url(../images/hr.gif) bottom left no-repeat;
font-size: 18px;
padding-bottom: 6px;
}
.blogItem h3.blogMeta {
background-position: top left;
padding: 6px 0 0 0;
text-align: right;
}
/* *** Sidebar Styles *** */
#sidebar h3 {
font-size: 24px;
font-weight: normal;
}
#sidebar ul {
line-height: 1.8em;
list-style: none;
padding-bottom: 20px;
}
#sidebar ul a {
text-decoration: none;
}
/* *** Comments Styles *** */
#comments {
margin: 20px 0 0 20px;
}
#comments li {
margin-bottom: 10px;
}
.commentSep {
background: url(../images/hr.gif) bottom left no-repeat;
}
/* *** Footer Styles *** */
#footer p {
padding: 30px 0 0 0;
text-align: center;
}
.floatR, .align-right {
float: right;
margin-left: 8px;
}
.floatL, .align-left {
float: left;
margin-right: 8px;
}
.clearfloat {
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

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,25 @@
{% extends "base.html" %}
{% block title %}Archives of {{ SITENAME }}{% endblock %}
{% block content %}
<div class="blogItem">
<dl>
<h2>Archives of {{ SITENAME }}</h2>
{% for article in dates %}
<dt>{{ article.locale_date }}</dt>
<dd><a href='{{ article.url }}'>{{ article.title }}</a></dd>
{% endfor %}
</dl>
</div>
{% endblock %}

View File

@@ -0,0 +1,37 @@
{% extends "base.html" %}
{% block title %}{{ article.title }}{% endblock %}
{% block content %}
<div class="blogItem">
<h2><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h2>
<h3>{{ article.locale_date }}</h3>
{{ article.content }}
{% include 'twitter.html' %}
<h3 class="blogMeta">By <a href="#">{{ article.author }}</a>{% if not SUPPRESS_ITEM_CATEGORIES %}, Category: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>{% endif %}</h3>
<h3 class="blogMeta">Tags: {% for tag in article.tags %}
<span><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> / </span>
{% endfor %}</h3>
</div><!-- end #blogItem -->
{% if DISQUS_SITENAME %}
<div class="blogItem">
<h2>Comments</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_identifier = "{{ article.url }}";
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://{{ DISQUS_SITENAME }}.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
</div>
{% endif %}
<!-- end #content -->
{% endblock %}

View File

@@ -0,0 +1,131 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
<link href="{{ SITEURL }}/theme/css/style.css" rel="stylesheet" type="text/css" media="screen" />
<link href="{{ SITEURL }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} ATOM Feed" />
{% if FEED_RSS %}
<link href="{{ SITEURL }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
{% endif %}
<!--[if IE]>
<style type="text/css">
.twoColFixRtHdr #mainContent { zoom: 1; }
</style>
<![endif]-->
</head>
<body>
<div id="container">
<div id="header">
<h1><a href="{{ SITEURL }}">{{ SITENAME }}</h1>
{% if SITESUBTITLE %}<h2>{{ SITESUBTITLE }}</h2>{% endif %}
</div><!-- end #header -->
<div id="topMenu">
<ul>
{% for item in BEFORE_MENU %}
<li><a href="{{ item.url }}">{{ item.name }}</li>
<li>&ndash;</li>
{% endfor %}
<li><a href="{{ SITEURL }}">Home</a></li>
<li>&ndash;</li>
<li><a href="{{ SITEURL }}/archives.html">Archives</a></li>
{% for item in AFTER_MENU %}
<li>&ndash;</li>
<li><a href="{{ item.url }}">{{ item.name }}</li>
{% endfor %}
</ul>
</div><!-- end #topMenu -->
<div id="sidebar">
<ul>
{% if DISPLAY_PAGES_ON_MENU %}
<li>
<h3>Pages</h3>
<ul>
{% for page in PAGES %}
<li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li>
{% endfor %}
</ul>
</li>
{% endif %}
{% if not SUPPRESS_CATEGORIES_ON_MENU %}
<li>
<h3>Categories</h3>
<ul>
{% for cat, null in categories %}
<li {% if cat == category %}class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% endfor %}
</ul>
</li>
{% endif %}
{% if LINKS %}
<li>
<h3>Blogroll</h3>
<ul>
{% for name, link in LINKS %}
<li><a href="{{ link }}">{{ name }}</a></li>
{% endfor %}
</ul>
</li>
{% endif %}
{% if SOCIAL %}
<li>
<h3>Social</h3>
<ul>
{% if FEED_ATOM %}
<li><a href="{{ SITEURL }}/{{ FEED_ATOM }}" rel="alternate">Atom feed</a></li>
{% endif %}
{% if FEED_RSS %}
<li><a href="{{ SITEURL }}/{{ FEED_RSS }}" rel="alternate">Flux Rss</a></li>
{% endif %}
{% for name, link in SOCIAL %}
<li><a href="{{ link }}">{{ name }}</a></li>
{% endfor %}
</ul>
</li><!-- /.social -->
{% endif %}
{% if tags %}
<li>
<h3>Tags</h3>
<ul>
{% for tag, articles in tags %}
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a></li>
{% endfor %}
</ul>
</li>
{% endif %}
</ul>
</div><!-- end #sidebar -->
<div id="mainContent">
{% block content %}
{% endblock %}
</div><!-- end #mainContent -->
<div class="clearfloat"></div>
<div id="footer">
<p><a href="http://css4free.com/" title="free CSS web site designs">Free CSS Gallery</a></p>
<p>Proudly powered by <a href="http://getpelican.com">pelican</a>, which takes great advantages of <a href="http://python.org">python</a>.
</div><!-- end #footer -->
</div><!-- end #container -->
{% include 'analytics.html' %}
</body>
</html>

View File

@@ -0,0 +1,18 @@
{% extends "base.html" %}
{% block content %}
<div class="blogItem">
{% if articles %}
{% for article in articles %}
{% if loop.index == 1 %}
<ul>
{% for category, articles in categories %}
<li>{{ category }}</li>
{% endfor %}
</ul>
{% endif %}
{% endfor %}
{% endif %}
</div>
{% endblock %}

View File

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

View File

@@ -0,0 +1,46 @@
{% extends "base.html" %}
{% block content_title %}{% endblock %}
{% block content %}
{% if articles %}
{% for article in articles %}
{% if loop.index == 1 %}
<div class="blogItem">
<h2><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h2>
<h3>{{ article.locale_date }}</h3>
{{ article.content }}
<h3 class="blogMeta">By <a href="#">{{ article.author }}</a>{% if not SUPPRESS_ITEM_CATEGORIES %}, Category: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>{% endif %}</h3>
{% if article.tags %}<h3 class="blogMeta">Tags: {% for tag in article.tags %}
<span><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> / </span>
{% endfor %}</h3>{% endif %}
</div><!-- end #blogItem -->
{% if loop.length > 1 %}
<div class="blogItem">
<h2>Other articles</h2>
</div>
{% endif %}
{% else %}
<div class="blogItem">
<h2><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h2>
<h3>{{ article.locale_date }}</h3>
{{ article.summary }}
<h3 class="blogMeta">By <a href="#">{{ article.author }}</a>{% if not SUPPRESS_ITEM_CATEGORIES %}, Category: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>{% endif %}</h3>
<a href="{{ SITEURL }}/{{ article.url }}">Cuntinue reading …</a>
</div><!-- end #blogItem -->
{% endif %}
{% endfor %}
{% else %}
{% endif %}
{% endblock content %}

View File

@@ -0,0 +1,16 @@
{% extends "base.html" %}
{% block title %}{{ page.title }}{% endblock %}
{% block content %}
<div class="blogItem">
<h2><a href="{{ SITEURL }}/pages/{{ page.url }}">{{ page.title }}</a></h3>
{{ page.content }}
{% include 'twitter.html' %}
{% if PDF_PROCESSOR %}<h3 class="blogMeta"><a href="{{ SITEURL }}/pdf/{{ page.slug }}.pdf">get
the pdf</a></h3>{% endif %}
</div>
{% endblock %}

View File

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

View File

@@ -0,0 +1,10 @@
{% extends "base.html" %}
{% block content %}
<div class="blogItem">
<ul>
{% for tag, articles in tags %}
<li>{{ tag }}</li>
{% endfor %}
</ul>
</div>
{% endblock %}

View File

@@ -0,0 +1,3 @@
{% if TWITTER_USERNAME %}
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
{% endif %}