[pkg-java-blog] 01/01: Initial commit

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Wed Apr 27 10:09:44 UTC 2016


This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to branch master
in repository pkg-java-blog.

commit f4a4ffe86c969016b08584a300449a14a56fbd1e
Author: Emmanuel Bourg <ebourg at apache.org>
Date:   Wed Apr 27 00:08:51 2016 +0200

    Initial commit
---
 .gitignore                                         |   2 +
 Makefile                                           |  90 +++++++++++++++++
 README.txt                                         |  24 +++++
 content/2016/.gitkeep                              |   0
 content/images/.gitkeep                            |   0
 content/pages/about.md                             |  20 ++++
 develop_server.sh                                  | 103 +++++++++++++++++++
 pelicanconf.py                                     |  51 ++++++++++
 publishconf.py                                     |  21 ++++
 template.md                                        |  32 ++++++
 theme-bits/static/images/openlogo-nd-75.png        | Bin 0 -> 1165 bytes
 theme-bits/static/images/openlogo-nd-75_ribbon.png | Bin 0 -> 4411 bytes
 theme-bits/static/images/rss.png                   | Bin 0 -> 896 bytes
 theme-bits/static/pygment.css                      |  50 +++++++++
 theme-bits/static/style.css                        | 112 +++++++++++++++++++++
 theme-bits/templates/archives.html                 |  24 +++++
 theme-bits/templates/article.html                  |  19 ++++
 theme-bits/templates/author.html                   |   5 +
 theme-bits/templates/base.html                     | 105 +++++++++++++++++++
 theme-bits/templates/index.html                    |  23 +++++
 theme-bits/templates/metadata.html                 |  19 ++++
 theme-bits/templates/page.html                     |  19 ++++
 theme-bits/templates/pagination.html               |  15 +++
 theme-bits/templates/tag.html                      |   6 ++
 theme-bits/templates/tags.html                     |  15 +++
 theme-bits/templates/translations.html             |   8 ++
 26 files changed, 763 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..35f96ef
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.py[cod]
+output
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f764bc6
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,90 @@
+PY?=python
+PELICAN?=pelican
+PELICANOPTS=--ignore-cache
+
+BASEDIR=$(CURDIR)
+INPUTDIR=$(BASEDIR)/content
+OUTPUTDIR=$(BASEDIR)/output
+CONFFILE=$(BASEDIR)/pelicanconf.py
+PUBLISHCONF=$(BASEDIR)/publishconf.py
+
+SSH_HOST=alioth.debian.org
+SSH_PORT=22
+SSH_USER=
+SSH_TARGET_DIR=/srv/home/groups/pkg-java/htdocs/blog
+
+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]          start/restart develop_server.sh    '
+	@echo '   make stopserver                     stop local server                  '
+	@echo '   make 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
+	cd $(OUTPUTDIR) && $(PY) -m pelican.server $(PORT)
+else
+	cd $(OUTPUTDIR) && $(PY) -m pelican.server
+endif
+
+serve-global:
+ifdef SERVER
+	cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 $(SERVER)
+else
+	cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 0.0.0.0
+endif
+
+
+devserver:
+ifdef PORT
+	$(BASEDIR)/develop_server.sh restart $(PORT)
+else
+	$(BASEDIR)/develop_server.sh restart
+endif
+
+stopserver:
+	$(BASEDIR)/develop_server.sh stop
+	@echo 'Stopped Pelican and SimpleHTTPServer processes running in background.'
+
+publish:
+	$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
+
+ssh_upload: publish
+	scp -P $(SSH_PORT) -r $(OUTPUTDIR)/* $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)
+
+rsync_upload: publish
+	rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --delete $(OUTPUTDIR)/ $(SSH_HOST):$(SSH_TARGET_DIR) --cvs-exclude
+
+upload: rsync_upload
+
+.PHONY: html help clean regenerate serve serve-global devserver publish ssh_upload rsync_upload upload
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..8ccff3a
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,24 @@
+Debian Java Blog
+----------------
+
+This repository contains the sources needed to maintain the Debian Java blog
+http://java.debian.net/blog
+
+The blog uses the Pelican static site generator (apt-get install pelican).
+
+
+Updating the blog
+-----------------
+
+1. Copy and rename the template.md file at the root of the repository
+   into content/<year>/
+
+2. Edit the content of the file
+
+3. Push the changes to the Git repository on Alioth
+
+4. Ask the other team members to review the article
+
+5. Change the status of the article from 'draft' to 'published'
+
+6. Publish the site with 'make upload'
diff --git a/content/2016/.gitkeep b/content/2016/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/content/images/.gitkeep b/content/images/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/content/pages/about.md b/content/pages/about.md
new file mode 100644
index 0000000..8214172
--- /dev/null
+++ b/content/pages/about.md
@@ -0,0 +1,20 @@
+Title: About
+
+This is the official blog of the Debian Java Packaging Team.
+
+This blog is powered by [Pelican][pelican]. You can find the templates and
+theme used on this blog at [git.debian.org][gitdo]. Patches, new themes
+proposals and constructive suggestions are welcome!
+
+This site is under the same license and copyright as the [Debian][debian]
+website, see [Debian WWW pages license][wwwlicense].
+
+If you want to contact us, please send an email to the [debian-java
+mailing list][debian-java]. This is a publically archived list.
+
+
+[pelican]: http://getpelican.com/ "Find out about Pelican"
+[debian]: http://www.debian.org "Debian - The Universal Operating System"
+[gitdo]: http://anonscm.debian.org/cgit/publicity/bits.git
+[wwwlicense]: http://www.debian.org/license
+[debian-java]: https://lists.debian.org/debian-java/
diff --git a/develop_server.sh b/develop_server.sh
new file mode 100755
index 0000000..8c2f27f
--- /dev/null
+++ b/develop_server.sh
@@ -0,0 +1,103 @@
+#!/usr/bin/env bash
+##
+# This section should match your Makefile
+##
+PY=${PY:-python}
+PELICAN=${PELICAN:-pelican}
+PELICANOPTS=
+
+BASEDIR=$(pwd)
+INPUTDIR=$BASEDIR/content
+OUTPUTDIR=$BASEDIR/output
+CONFFILE=$BASEDIR/pelicanconf.py
+
+###
+# Don't change stuff below here unless you are sure
+###
+
+SRV_PID=$BASEDIR/srv.pid
+PELICAN_PID=$BASEDIR/pelican.pid
+
+function usage(){
+  echo "usage: $0 (stop) (start) (restart) [port]"
+  echo "This starts Pelican in debug and reload mode and then launches"
+  echo "an HTTP server to help site development. It doesn't read"
+  echo "your Pelican settings, so if you edit any paths in your Makefile"
+  echo "you will need to edit your settings as well."
+  exit 3
+}
+
+function alive() {
+  kill -0 $1 >/dev/null 2>&1
+}
+
+function shut_down(){
+  PID=$(cat $SRV_PID)
+  if [[ $? -eq 0 ]]; then
+    if alive $PID; then
+      echo "Stopping HTTP server"
+      kill $PID
+    else
+      echo "Stale PID, deleting"
+    fi
+    rm $SRV_PID
+  else
+    echo "HTTP server PIDFile not found"
+  fi
+
+  PID=$(cat $PELICAN_PID)
+  if [[ $? -eq 0 ]]; then
+    if alive $PID; then
+      echo "Killing Pelican"
+      kill $PID
+    else
+      echo "Stale PID, deleting"
+    fi
+    rm $PELICAN_PID
+  else
+    echo "Pelican PIDFile not found"
+  fi
+}
+
+function start_up(){
+  local port=$1
+  echo "Starting up Pelican and HTTP server"
+  shift
+  $PELICAN --debug --autoreload -r $INPUTDIR -o $OUTPUTDIR -s $CONFFILE $PELICANOPTS &
+  pelican_pid=$!
+  echo $pelican_pid > $PELICAN_PID
+  cd $OUTPUTDIR
+  $PY -m pelican.server $port &
+  srv_pid=$!
+  echo $srv_pid > $SRV_PID
+  cd $BASEDIR
+  sleep 1
+  if ! alive $pelican_pid ; then
+    echo "Pelican didn't start. Is the Pelican package installed?"
+    return 1
+  elif ! alive $srv_pid ; then
+    echo "The HTTP server didn't start. Is there another service using port" $port "?"
+    return 1
+  fi
+  echo 'Pelican and HTTP server processes now running in background.'
+}
+
+###
+#  MAIN
+###
+[[ ($# -eq 0) || ($# -gt 2) ]] && usage
+port=''
+[[ $# -eq 2 ]] && port=$2
+
+if [[ $1 == "stop" ]]; then
+  shut_down
+elif [[ $1 == "restart" ]]; then
+  shut_down
+  start_up $port
+elif [[ $1 == "start" ]]; then
+  if ! start_up $port; then
+    shut_down
+  fi
+else
+  usage
+fi
diff --git a/pelicanconf.py b/pelicanconf.py
new file mode 100644
index 0000000..db75cb2
--- /dev/null
+++ b/pelicanconf.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*- #
+from __future__ import unicode_literals
+
+# Basic details
+AUTHOR = u'Debian Java Maintainers'
+SITENAME = u'Debian Java News'
+SITEURL = 'http://java.debian.net/blog'
+
+# Configuration
+PATH = 'content'
+STATIC_PATHS = [ 'images' ]
+TIMEZONE = 'Europe/Paris'
+DEFAULT_LANG = u'en'
+DELETE_OUTPUT_DIRECTORY = True
+THEME = "theme-bits"
+DEFAULT_PAGINATION = 10
+SUMMARY_MAX_LENGTH = None
+LOCALE='C'
+USE_FOLDER_AS_CATEGORY = False
+
+# URL settings
+ARTICLE_URL = '{date:%Y}/{date:%m}/{slug}.html'
+ARTICLE_SAVE_AS = '{date:%Y}/{date:%m}/{slug}.html'
+
+# Feed settings
+FEED_DOMAIN = SITEURL
+FEED_ALL_RSS = 'feed.rss'
+FEED_ALL_ATOM = 'atom.xml'
+CATEGORY_FEED_ATOM = None
+CATEGORY_FEED_RSS = None
+TRANSLATION_FEED_ATOM = None
+AUTHOR_FEED_ATOM = None
+AUTHOR_FEED_RSS = None
+
+# Links
+MENUITEMS =  (('Home', 'http://java.debian.net/blog'),)
+
+LINKS = (('Mailing List', 'https://lists.debian.org/debian-java/'),
+         ('IRC Channel', 'irc://irc.debian.org/debian-java'),
+         ('TODO List', 'https://udd.debian.org/dmd.cgi?email1=pkg-java-maintainers%40lists.alioth.debian.org#todo'),
+         ('Packages overview', 'https://qa.debian.org/developer.php?email=pkg-java-maintainers%40lists.alioth.debian.org'),
+         ('Reproducible Builds', 'https://reproducible.debian.net/unstable/amd64/pkg_set_maint_pkg-java-maintainers.html'),)
+
+# Social widget
+#SOCIAL = (('You can add links in your config file', '#'),
+#          ('Another social link', '#'),)
+
+
+# Uncomment following line if you want document-relative URLs when developing
+#RELATIVE_URLS = True
diff --git a/publishconf.py b/publishconf.py
new file mode 100644
index 0000000..1174c33
--- /dev/null
+++ b/publishconf.py
@@ -0,0 +1,21 @@
+#!/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 *
+
+SITEURL = 'http://java.debian.net/blog'
+RELATIVE_URLS = False
+
+DELETE_OUTPUT_DIRECTORY = True
+
+# Following items are often useful when publishing
+
+#DISQUS_SITENAME = ""
+#GOOGLE_ANALYTICS = ""
diff --git a/template.md b/template.md
new file mode 100644
index 0000000..1033e95
--- /dev/null
+++ b/template.md
@@ -0,0 +1,32 @@
+Title: This is my awesome news item
+Date: YYYY-MM-DD HH:MM
+Author: Name Surname(s)
+Status: draft
+
+
+We're excited to announce my awesome news item about [the Debian Project](https://www.debian.org)
+and for that I'm writing this blog post in Markdown.
+
+My second parapgrah has text attributes in *italic*, **bold** and `monospace`.
+
+And I want to add a list:
+
+ * foo
+ * bar
+ * baz
+
+## Subtitle
+
+> This is a quote
+
+    :::Java
+    /**
+     * This is a code sample
+     */
+    public static void main(String[] argv) throws Exception {
+        System.out.println("Hello World!");
+    }
+
+<center>![Debian Logo]({filename}/images/openlogo-nd-75.png)</center>
+
+This is my last paragraph.
diff --git a/theme-bits/static/images/openlogo-nd-75.png b/theme-bits/static/images/openlogo-nd-75.png
new file mode 100644
index 0000000..045f241
Binary files /dev/null and b/theme-bits/static/images/openlogo-nd-75.png differ
diff --git a/theme-bits/static/images/openlogo-nd-75_ribbon.png b/theme-bits/static/images/openlogo-nd-75_ribbon.png
new file mode 100644
index 0000000..d0f693d
Binary files /dev/null and b/theme-bits/static/images/openlogo-nd-75_ribbon.png differ
diff --git a/theme-bits/static/images/rss.png b/theme-bits/static/images/rss.png
new file mode 100644
index 0000000..7d4e85d
Binary files /dev/null and b/theme-bits/static/images/rss.png differ
diff --git a/theme-bits/static/pygment.css b/theme-bits/static/pygment.css
new file mode 100644
index 0000000..fa249d0
--- /dev/null
+++ b/theme-bits/static/pygment.css
@@ -0,0 +1,50 @@
+.highlight .hll { background-color: #ffffcc }
+.highlight  { background: #ffffff; }
+.highlight .c { color: #008800; font-style: italic } /* Comment */
+.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+.highlight .k { color: #000080; font-weight: bold } /* Keyword */
+.highlight .ch { color: #008800; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #008080 } /* Comment.Preproc */
+.highlight .cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #008800; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #aa0000 } /* Generic.Error */
+.highlight .gh { color: #999999 } /* Generic.Heading */
+.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #555555 } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
+.highlight .kc { color: #000080; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #000080; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #000080; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #000080; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #000080; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #000080; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #0000FF } /* Literal.Number */
+.highlight .s { color: #0000FF } /* Literal.String */
+.highlight .na { color: #FF0000 } /* Name.Attribute */
+.highlight .nt { color: #000080; font-weight: bold } /* Name.Tag */
+.highlight .ow { font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #0000FF } /* Literal.Number.Bin */
+.highlight .mf { color: #0000FF } /* Literal.Number.Float */
+.highlight .mh { color: #0000FF } /* Literal.Number.Hex */
+.highlight .mi { color: #0000FF } /* Literal.Number.Integer */
+.highlight .mo { color: #0000FF } /* Literal.Number.Oct */
+.highlight .sb { color: #0000FF } /* Literal.String.Backtick */
+.highlight .sc { color: #800080 } /* Literal.String.Char */
+.highlight .sd { color: #0000FF } /* Literal.String.Doc */
+.highlight .s2 { color: #0000FF } /* Literal.String.Double */
+.highlight .se { color: #0000FF } /* Literal.String.Escape */
+.highlight .sh { color: #0000FF } /* Literal.String.Heredoc */
+.highlight .si { color: #0000FF } /* Literal.String.Interpol */
+.highlight .sx { color: #0000FF } /* Literal.String.Other */
+.highlight .sr { color: #0000FF } /* Literal.String.Regex */
+.highlight .s1 { color: #0000FF } /* Literal.String.Single */
+.highlight .ss { color: #0000FF } /* Literal.String.Symbol */
+.highlight .il { color: #0000FF } /* Literal.Number.Integer.Long */
diff --git a/theme-bits/static/style.css b/theme-bits/static/style.css
new file mode 100644
index 0000000..3628a8a
--- /dev/null
+++ b/theme-bits/static/style.css
@@ -0,0 +1,112 @@
+/* 2013 - Ana Guerrero Lopez <ana at debian.org> */
+
+ at import url("pygment.css");
+
+body {
+    font-family: tahoma,verdana,sans-serif;
+    /*font-family: Verdana, Arial, Helvetica, sans-serif;*/
+    font-size: 14px;
+}
+
+p {
+    padding: 0.3em 0;
+}
+
+a:link {
+    color: #C70038;
+    text-decoration: none
+}
+
+a:active {
+    color: #000000;
+    text-decoration: none
+}
+
+a:visited {
+    color: #C70038;
+    text-decoration: none
+}
+
+a:hover {
+    color: #FF0000;
+    text-decoration: underline
+}
+
+blockquote {
+    font-style: italic;
+    color: #555555;
+    border-left: 3px solid #AAAAAA;
+    margin-left: 2em;
+    padding-left: 1em;
+}
+
+pre {
+    margin-left: 2em;
+}
+
+#wrapper {
+    margin: 0 auto;
+}
+
+#header {
+    float: left;
+    height: 125px;
+}
+
+/* This is for having "Bits from Debian" more aligned to the center */
+#header p {
+    font-size: 36px;
+    margin-left: 2.5cm;
+}
+
+#content {
+    float: left;
+}
+
+#rightcolumn {
+    background: #fff;
+    float: left;
+}
+
+#footer {
+    height: 30px;
+    text-align:center;
+    clear: both;
+}
+
+.article h1 {
+    color: #C70038;
+}
+
+
+.lateral h1 {
+    font-size: 15px;
+    padding-left: 1em;
+    padding-top: 0em;
+}
+
+.nocss {
+    display: none;
+}
+
+ at media screen and (min-width: 940px) {
+    #wrapper {
+        width: 940px;
+    }
+
+    #header {
+        width: 940px;
+    }
+
+    #content {
+        width: 690px;
+    }
+
+    #rightcolumn {
+        width: 250px;
+    }
+
+    #footer {
+        width: 940px;
+    }
+}
diff --git a/theme-bits/templates/archives.html b/theme-bits/templates/archives.html
new file mode 100644
index 0000000..7c3639f
--- /dev/null
+++ b/theme-bits/templates/archives.html
@@ -0,0 +1,24 @@
+{% extends "base.html" %}
+
+{% block head %}
+{{ super() }}
+    <title>{% block windowtitle %}{{ SITENAME }} - Archives{% endblock %}</title>
+{% endblock %}
+
+{% block content %}
+
+<h1>Archives</h1>
+
+<table class="table">
+    <tbody>
+    {% for article in dates %}
+        <tr>
+        <td>{{ article.date.strftime("%d %b %Y") }}</td>
+        <td><a href='{{ article.url }}'>{{ article.title }}</a></td>
+        </tr>
+    {% endfor %}
+    </tbody>
+</table>
+
+
+{% endblock %}
diff --git a/theme-bits/templates/article.html b/theme-bits/templates/article.html
new file mode 100644
index 0000000..521452e
--- /dev/null
+++ b/theme-bits/templates/article.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+
+{% block head %}
+{{ super() }}
+    <title>{% block windowtitle %}{{ SITENAME }} - {{ article.title }}{% endblock %}</title>
+{% endblock %}
+
+{% block content %}
+    <div class='article' lang='{{ article.lang }}'>
+        <div class="content-title">
+            <h1>{{ article.title }}</h1>
+            {% include "metadata.html" %}
+        </div>
+
+        <div>{{ article.content }}</div>
+
+        <hr>
+    </div>
+{% endblock %}
diff --git a/theme-bits/templates/author.html b/theme-bits/templates/author.html
new file mode 100644
index 0000000..a4f8a2a
--- /dev/null
+++ b/theme-bits/templates/author.html
@@ -0,0 +1,5 @@
+{% extends "index.html" %}
+{% block head %}
+{{ super() }}
+    <title>{% block windowtitle %}{{ SITENAME }} - {{ author }}{% endblock %}</title>
+{% endblock %}
diff --git a/theme-bits/templates/base.html b/theme-bits/templates/base.html
new file mode 100644
index 0000000..9257ccf
--- /dev/null
+++ b/theme-bits/templates/base.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title>{% block windowtitle %}{{ SITENAME }}{% endblock %}</title>
+    <meta name="description" content="">
+    <meta name="author" content="{{ AUTHOR }}">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
+    <!-- Styles -->
+    <link href="{{ SITEURL }}/theme/style.css" rel="stylesheet">
+    <link rel="shortcut icon" href="https://www.debian.org/favicon.ico"/>
+    <link rel="alternate" type="application/atom+xml" title="{{ SITENAME }} Atom Feed" href="{{ SITEURL }}/atom.xml" />
+    <link rel="alternate" type="application/rss+xml"  title="{{ SITENAME }} RSS Feed"  href="{{ SITEURL }}/feed.rss" />
+</head>
+
+<body>
+
+<div id="wrapper">
+    <div id="header">
+        <a href="{{ SITEURL }}"><img align="left" class="logo" src="{{ SITEURL }}/theme/images/openlogo-nd-75.png" alt="{{ SITENAME }}" align="left" style="margin-top: 20px;"></a>
+        <p>{{ SITENAME }}</p>
+    </div>
+
+    <hr class="nocss" />
+    <div id="content">
+        {% block content %}{% endblock %}
+    </div>
+
+    <div id="rightcolumn">
+
+
+
+            <hr class="nocss" />
+            <div class="lateral" style="padding: 8px 0;">
+                <ul class="nav-list">
+
+                {% for title, link in MENUITEMS %}
+                <li><a href="{{ link }}">{{ title }}</a></li>
+                {% endfor %}
+
+                {% if DISPLAY_PAGES_ON_MENU %}
+                {% for page in PAGES %}
+                <li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li>
+                {% endfor %}
+                {% endif %}
+
+                <li><a href="{{ SITEURL }}/archives.html">Archives</a>
+                <li><a href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" rel="alternate">Atom feed</a></li>
+                {% if FEED_RSS %}
+                <li><a href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" rel="alternate">RSS feed</a></li>
+                {% endif %}
+                </ul>
+            </div>
+
+
+            {% if tags %}
+            <hr class="nocss" />
+            <div class="lateral" style="padding: 8px 0;">
+            <h1>Tags</h1>
+                <ul class="nav-list">
+                {% for ta, articles in tags|sort %}
+                  <li><a href="{{ SITEURL }}/{{ ta.url }}">{{ ta }}</a> ({{ articles|count }})</li>
+                {% endfor %}
+                </ul>
+            </div>
+            {% endif %}
+
+
+            {% if LINKS %}
+            <hr class="nocss" />
+            <div class="lateral" style="padding: 8px 0;">
+            <h1>Links</h1>
+                <ul class="nav-list">
+                {% for name, link in LINKS %}
+                <li><a href="{{ link }}">{{ name }}</a></li>
+                {% endfor %}
+                </ul>
+            </div>
+            {% endif %}
+
+
+            {% if SOCIAL %}
+            <hr class="nocss" />
+            <div class="lateral" style="padding: 8px 0;">
+            <h1>More on Debian</h1>
+                <ul class="nav-list">
+                {% for name, link in SOCIAL %}
+                <li><a href="{{ link }}">{{ name }}</a></li>
+                {% endfor %}
+                </ul>
+            </div>
+            {% endif %}
+
+    </div>
+
+    <hr class="nocss" />
+    <div id="footer">
+        <p><a href="{{ SITEURL }}">{{ SITENAME }}</a> is the official blog of the <a href="http://java.debian.net">Debian Java packaging team</a></p>
+    </div>
+
+</div>
+</body>
+</html>
diff --git a/theme-bits/templates/index.html b/theme-bits/templates/index.html
new file mode 100644
index 0000000..5e44b7c
--- /dev/null
+++ b/theme-bits/templates/index.html
@@ -0,0 +1,23 @@
+{% extends "base.html" %}
+{% block content_title %}{% endblock %}
+{% block content %}
+
+{% if articles %}
+{% for article in articles_page.object_list %}
+
+    <div class='article'>
+        <div class="content-title">
+            <a href="{{ SITEURL }}/{{ article.url }}"><h1>{{ article.title }}</h1></a>
+            {% include "metadata.html" %}
+        </div>
+
+        <div>{{ article.content }}</div>
+        <hr />
+    </div>
+
+{% endfor %} {# For article #}
+{% endif %} {# If articles #}
+
+{% include 'pagination.html' %}
+{% endblock content %}
+
diff --git a/theme-bits/templates/metadata.html b/theme-bits/templates/metadata.html
new file mode 100644
index 0000000..e21aa76
--- /dev/null
+++ b/theme-bits/templates/metadata.html
@@ -0,0 +1,19 @@
+{{ article.locale_date }}
+
+{% if article.author %}
+by <a class="url fn" href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a>
+{% endif %}
+
+{% if article.translator %}
+(Translated by {{ article.translator }})
+{% endif %}
+
+
+
+{% if article.tags %}
+with tags {% for tag in article.tags %}<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> {% endfor %}
+{% endif %}
+<p>
+{% import 'translations.html' as translations with context %}
+{{ translations.translations_for(article) }}
+</p>
diff --git a/theme-bits/templates/page.html b/theme-bits/templates/page.html
new file mode 100644
index 0000000..0d71c8c
--- /dev/null
+++ b/theme-bits/templates/page.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+
+{% block head %}
+{{ super() }}
+    <title>{% block windowtitle %}{{ SITENAME }} - {{ page.title }}{% endblock %}</title>
+{% endblock %}
+{% block content %}
+
+<section id="content" class="body" lang="{{ page.lang }}">
+    <h2 class="content-title">{{ page.title }}</h2>
+    {% import 'translations.html' as translations with context %}
+    {{ translations.translations_for(page) }}
+
+
+    {% if PDF_PROCESSOR %}<a href="{{ SITEURL }}/pdf/{{ page.slug }}.pdf">get the pdf</a>{% endif %}
+	{{ page.content }}
+</section>
+
+{% endblock %}
diff --git a/theme-bits/templates/pagination.html b/theme-bits/templates/pagination.html
new file mode 100644
index 0000000..83c587a
--- /dev/null
+++ b/theme-bits/templates/pagination.html
@@ -0,0 +1,15 @@
+{% if DEFAULT_PAGINATION %}
+<p class="paginator">
+    {% if articles_page.has_previous() %}
+        {% if articles_page.previous_page_number() == 1 %}
+            <a href="{{ SITEURL }}/{{ page_name }}.html">«</a>
+        {% else %}
+            <a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() }}.html">«</a>
+        {% endif %}
+    {% endif %}
+    Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}
+    {% if articles_page.has_next() %}
+        <a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.next_page_number() }}.html">»</a>
+    {% endif %}
+</p>
+{% endif %}
diff --git a/theme-bits/templates/tag.html b/theme-bits/templates/tag.html
new file mode 100644
index 0000000..7e2014f
--- /dev/null
+++ b/theme-bits/templates/tag.html
@@ -0,0 +1,6 @@
+{% extends "index.html" %}
+
+{% block head %}
+{{ super() }}
+    <title>{% block windowtitle %}{{ SITENAME }} - {{ tag }} {% endblock %}</title>
+{% endblock %}
diff --git a/theme-bits/templates/tags.html b/theme-bits/templates/tags.html
new file mode 100644
index 0000000..77d737a
--- /dev/null
+++ b/theme-bits/templates/tags.html
@@ -0,0 +1,15 @@
+{% extends "base.html" %}
+
+{% block head %}
+{{ super() }}
+    <title>{% block windowtitle %}{{ SITENAME }} - Tags {% endblock %}</title>
+{% endblock %}
+
+{% block content %}
+<ul>
+{% for tag, articles in tags|sort %}
+  <li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
+{% endfor %}
+
+</ul>
+{% endblock %}
diff --git a/theme-bits/templates/translations.html b/theme-bits/templates/translations.html
new file mode 100644
index 0000000..425df4a
--- /dev/null
+++ b/theme-bits/templates/translations.html
@@ -0,0 +1,8 @@
+{% macro translations_for(article) %}
+{% if article.translations %}
+Translations: 
+{% for translation in article.translations|sort(attribute='lang') %}
+<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
+{% endfor %}
+{% endif %}
+{% endmacro %}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/pkg-java-blog.git



More information about the pkg-java-commits mailing list