Browse Source

initial commit

master
r 2 years ago
commit
65de0a5f8c
31 changed files with 1414 additions and 0 deletions
  1. 124
    0
      Makefile
  2. 5
    0
      content/first_post.md
  3. 103
    0
      develop_server.sh
  4. 92
    0
      fabfile.py
  5. 54
    0
      pelicanconf.py
  6. 24
    0
      publishconf.py
  7. 228
    0
      theme/wisselwerking/static/css/main.css
  8. 437
    0
      theme/wisselwerking/static/css/pygment.css
  9. BIN
      theme/wisselwerking/static/fonts/Now-Black.otf
  10. BIN
      theme/wisselwerking/static/fonts/Now-Bold.otf
  11. BIN
      theme/wisselwerking/static/fonts/Now-Light.otf
  12. BIN
      theme/wisselwerking/static/fonts/Now-Medium.otf
  13. BIN
      theme/wisselwerking/static/fonts/Now-Regular.otf
  14. BIN
      theme/wisselwerking/static/fonts/Now-Thin.otf
  15. 27
    0
      theme/wisselwerking/static/js/stars.js
  16. 11
    0
      theme/wisselwerking/templates/archives.html
  17. 50
    0
      theme/wisselwerking/templates/article.html
  18. 7
    0
      theme/wisselwerking/templates/author.html
  19. 13
    0
      theme/wisselwerking/templates/authors.html
  20. 69
    0
      theme/wisselwerking/templates/base.html
  21. 8
    0
      theme/wisselwerking/templates/categories.html
  22. 5
    0
      theme/wisselwerking/templates/category.html
  23. 14
    0
      theme/wisselwerking/templates/gosquared.html
  24. 29
    0
      theme/wisselwerking/templates/index.html
  25. 16
    0
      theme/wisselwerking/templates/page.html
  26. 11
    0
      theme/wisselwerking/templates/pagination.html
  27. 11
    0
      theme/wisselwerking/templates/period_archives.html
  28. 57
    0
      theme/wisselwerking/templates/syndication.html
  29. 0
    0
      theme/wisselwerking/templates/tag.html
  30. 10
    0
      theme/wisselwerking/templates/tags.html
  31. 9
    0
      theme/wisselwerking/templates/translations.html

+ 124
- 0
Makefile View File

@@ -0,0 +1,124 @@
1
+PY?=python
2
+PELICAN?=pelican
3
+PELICANOPTS=
4
+
5
+BASEDIR=$(CURDIR)
6
+INPUTDIR=$(BASEDIR)/content
7
+OUTPUTDIR=$(BASEDIR)/output
8
+CONFFILE=$(BASEDIR)/pelicanconf.py
9
+PUBLISHCONF=$(BASEDIR)/publishconf.py
10
+
11
+FTP_HOST=localhost
12
+FTP_USER=anonymous
13
+FTP_TARGET_DIR=/
14
+
15
+SSH_HOST=roelof.info
16
+SSH_PORT=8282
17
+SSH_USER=r
18
+SSH_TARGET_DIR=/opt/wisselwerking
19
+
20
+S3_BUCKET=my_s3_bucket
21
+
22
+CLOUDFILES_USERNAME=my_rackspace_username
23
+CLOUDFILES_API_KEY=my_rackspace_api_key
24
+CLOUDFILES_CONTAINER=my_cloudfiles_container
25
+
26
+DROPBOX_DIR=~/Dropbox/Public/
27
+
28
+GITHUB_PAGES_BRANCH=gh-pages
29
+
30
+DEBUG ?= 0
31
+ifeq ($(DEBUG), 1)
32
+	PELICANOPTS += -D
33
+endif
34
+
35
+RELATIVE ?= 0
36
+ifeq ($(RELATIVE), 1)
37
+	PELICANOPTS += --relative-urls
38
+endif
39
+
40
+help:
41
+	@echo 'Makefile for a pelican Web site                                           '
42
+	@echo '                                                                          '
43
+	@echo 'Usage:                                                                    '
44
+	@echo '   make html                           (re)generate the web site          '
45
+	@echo '   make clean                          remove the generated files         '
46
+	@echo '   make regenerate                     regenerate files upon modification '
47
+	@echo '   make publish                        generate using production settings '
48
+	@echo '   make serve [PORT=8000]              serve site at http://localhost:8000'
49
+	@echo '   make serve-global [SERVER=0.0.0.0]  serve (as root) to $(SERVER):80    '
50
+	@echo '   make devserver [PORT=8000]          start/restart develop_server.sh    '
51
+	@echo '   make stopserver                     stop local server                  '
52
+	@echo '   make ssh_upload                     upload the web site via SSH        '
53
+	@echo '   make rsync_upload                   upload the web site via rsync+ssh  '
54
+	@echo '   make dropbox_upload                 upload the web site via Dropbox    '
55
+	@echo '   make ftp_upload                     upload the web site via FTP        '
56
+	@echo '   make s3_upload                      upload the web site via S3         '
57
+	@echo '   make cf_upload                      upload the web site via Cloud Files'
58
+	@echo '   make github                         upload the web site via gh-pages   '
59
+	@echo '                                                                          '
60
+	@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html   '
61
+	@echo 'Set the RELATIVE variable to 1 to enable relative urls                    '
62
+	@echo '                                                                          '
63
+
64
+html:
65
+	$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
66
+
67
+clean:
68
+	[ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR)
69
+
70
+regenerate:
71
+	$(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
72
+
73
+serve:
74
+ifdef PORT
75
+	cd $(OUTPUTDIR) && $(PY) -m pelican.server $(PORT)
76
+else
77
+	cd $(OUTPUTDIR) && $(PY) -m pelican.server
78
+endif
79
+
80
+serve-global:
81
+ifdef SERVER
82
+	cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 $(SERVER)
83
+else
84
+	cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 0.0.0.0
85
+endif
86
+
87
+
88
+devserver:
89
+ifdef PORT
90
+	$(BASEDIR)/develop_server.sh restart $(PORT)
91
+else
92
+	$(BASEDIR)/develop_server.sh restart
93
+endif
94
+
95
+stopserver:
96
+	$(BASEDIR)/develop_server.sh stop
97
+	@echo 'Stopped Pelican and SimpleHTTPServer processes running in background.'
98
+
99
+publish:
100
+	$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
101
+
102
+ssh_upload: publish
103
+	scp -P $(SSH_PORT) -r $(OUTPUTDIR)/* $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)
104
+
105
+rsync_upload: publish
106
+	rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --delete $(OUTPUTDIR)/ $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR) --cvs-exclude
107
+
108
+dropbox_upload: publish
109
+	cp -r $(OUTPUTDIR)/* $(DROPBOX_DIR)
110
+
111
+ftp_upload: publish
112
+	lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
113
+
114
+s3_upload: publish
115
+	s3cmd sync $(OUTPUTDIR)/ s3://$(S3_BUCKET) --acl-public --delete-removed --guess-mime-type --no-mime-magic --no-preserve
116
+
117
+cf_upload: publish
118
+	cd $(OUTPUTDIR) && swift -v -A https://auth.api.rackspacecloud.com/v1.0 -U $(CLOUDFILES_USERNAME) -K $(CLOUDFILES_API_KEY) upload -c $(CLOUDFILES_CONTAINER) .
119
+
120
+github: publish
121
+	ghp-import -m "Generate Pelican site" -b $(GITHUB_PAGES_BRANCH) $(OUTPUTDIR)
122
+	git push origin $(GITHUB_PAGES_BRANCH)
123
+
124
+.PHONY: html help clean regenerate serve serve-global devserver stopserver publish ssh_upload rsync_upload dropbox_upload ftp_upload s3_upload cf_upload github

+ 5
- 0
content/first_post.md View File

@@ -0,0 +1,5 @@
1
+Title: first_post
2
+Date: 2014-12-13 18:32
3
+Category: Test
4
+
5
+Hello world from Pelican!

+ 103
- 0
develop_server.sh View File

@@ -0,0 +1,103 @@
1
+#!/usr/bin/env bash
2
+##
3
+# This section should match your Makefile
4
+##
5
+PY=${PY:-python}
6
+PELICAN=${PELICAN:-pelican}
7
+PELICANOPTS=
8
+
9
+BASEDIR=$(pwd)
10
+INPUTDIR=$BASEDIR/content
11
+OUTPUTDIR=$BASEDIR/output
12
+CONFFILE=$BASEDIR/pelicanconf.py
13
+
14
+###
15
+# Don't change stuff below here unless you are sure
16
+###
17
+
18
+SRV_PID=$BASEDIR/srv.pid
19
+PELICAN_PID=$BASEDIR/pelican.pid
20
+
21
+function usage(){
22
+  echo "usage: $0 (stop) (start) (restart) [port]"
23
+  echo "This starts Pelican in debug and reload mode and then launches"
24
+  echo "an HTTP server to help site development. It doesn't read"
25
+  echo "your Pelican settings, so if you edit any paths in your Makefile"
26
+  echo "you will need to edit your settings as well."
27
+  exit 3
28
+}
29
+
30
+function alive() {
31
+  kill -0 $1 >/dev/null 2>&1
32
+}
33
+
34
+function shut_down(){
35
+  PID=$(cat $SRV_PID)
36
+  if [[ $? -eq 0 ]]; then
37
+    if alive $PID; then
38
+      echo "Stopping HTTP server"
39
+      kill $PID
40
+    else
41
+      echo "Stale PID, deleting"
42
+    fi
43
+    rm $SRV_PID
44
+  else
45
+    echo "HTTP server PIDFile not found"
46
+  fi
47
+
48
+  PID=$(cat $PELICAN_PID)
49
+  if [[ $? -eq 0 ]]; then
50
+    if alive $PID; then
51
+      echo "Killing Pelican"
52
+      kill $PID
53
+    else
54
+      echo "Stale PID, deleting"
55
+    fi
56
+    rm $PELICAN_PID
57
+  else
58
+    echo "Pelican PIDFile not found"
59
+  fi
60
+}
61
+
62
+function start_up(){
63
+  local port=$1
64
+  echo "Starting up Pelican and HTTP server"
65
+  shift
66
+  $PELICAN --debug --autoreload -r $INPUTDIR -o $OUTPUTDIR -s $CONFFILE $PELICANOPTS &
67
+  pelican_pid=$!
68
+  echo $pelican_pid > $PELICAN_PID
69
+  mkdir -p $OUTPUTDIR && cd $OUTPUTDIR
70
+  $PY -m pelican.server $port &
71
+  srv_pid=$!
72
+  echo $srv_pid > $SRV_PID
73
+  cd $BASEDIR
74
+  sleep 1
75
+  if ! alive $pelican_pid ; then
76
+    echo "Pelican didn't start. Is the Pelican package installed?"
77
+    return 1
78
+  elif ! alive $srv_pid ; then
79
+    echo "The HTTP server didn't start. Is there another service using port" $port "?"
80
+    return 1
81
+  fi
82
+  echo 'Pelican and HTTP server processes now running in background.'
83
+}
84
+
85
+###
86
+#  MAIN
87
+###
88
+[[ ($# -eq 0) || ($# -gt 2) ]] && usage
89
+port=''
90
+[[ $# -eq 2 ]] && port=$2
91
+
92
+if [[ $1 == "stop" ]]; then
93
+  shut_down
94
+elif [[ $1 == "restart" ]]; then
95
+  shut_down
96
+  start_up $port
97
+elif [[ $1 == "start" ]]; then
98
+  if ! start_up $port; then
99
+    shut_down
100
+  fi
101
+else
102
+  usage
103
+fi

+ 92
- 0
fabfile.py View File

@@ -0,0 +1,92 @@
1
+from fabric.api import *
2
+import fabric.contrib.project as project
3
+import os
4
+import shutil
5
+import sys
6
+import SocketServer
7
+
8
+from pelican.server import ComplexHTTPRequestHandler
9
+
10
+# Local path configuration (can be absolute or relative to fabfile)
11
+env.deploy_path = 'output'
12
+DEPLOY_PATH = env.deploy_path
13
+
14
+# Remote server configuration
15
+production = 'r@roelof.info:8282'
16
+dest_path = '/opt/wisselwerking'
17
+
18
+# Rackspace Cloud Files configuration settings
19
+env.cloudfiles_username = 'my_rackspace_username'
20
+env.cloudfiles_api_key = 'my_rackspace_api_key'
21
+env.cloudfiles_container = 'my_cloudfiles_container'
22
+
23
+# Github Pages configuration
24
+env.github_pages_branch = "gh-pages"
25
+
26
+# Port for `serve`
27
+PORT = 8000
28
+
29
+def clean():
30
+    """Remove generated files"""
31
+    if os.path.isdir(DEPLOY_PATH):
32
+        shutil.rmtree(DEPLOY_PATH)
33
+        os.makedirs(DEPLOY_PATH)
34
+
35
+def build():
36
+    """Build local version of site"""
37
+    local('pelican -s pelicanconf.py')
38
+
39
+def rebuild():
40
+    """`build` with the delete switch"""
41
+    local('pelican -d -s pelicanconf.py')
42
+
43
+def regenerate():
44
+    """Automatically regenerate site upon file modification"""
45
+    local('pelican -r -s pelicanconf.py')
46
+
47
+def serve():
48
+    """Serve site at http://localhost:8000/"""
49
+    os.chdir(env.deploy_path)
50
+
51
+    class AddressReuseTCPServer(SocketServer.TCPServer):
52
+        allow_reuse_address = True
53
+
54
+    server = AddressReuseTCPServer(('', PORT), ComplexHTTPRequestHandler)
55
+
56
+    sys.stderr.write('Serving on port {0} ...\n'.format(PORT))
57
+    server.serve_forever()
58
+
59
+def reserve():
60
+    """`build`, then `serve`"""
61
+    build()
62
+    serve()
63
+
64
+def preview():
65
+    """Build production version of site"""
66
+    local('pelican -s publishconf.py')
67
+
68
+def cf_upload():
69
+    """Publish to Rackspace Cloud Files"""
70
+    rebuild()
71
+    with lcd(DEPLOY_PATH):
72
+        local('swift -v -A https://auth.api.rackspacecloud.com/v1.0 '
73
+              '-U {cloudfiles_username} '
74
+              '-K {cloudfiles_api_key} '
75
+              'upload -c {cloudfiles_container} .'.format(**env))
76
+
77
+@hosts(production)
78
+def publish():
79
+    """Publish to production via rsync"""
80
+    local('pelican -s publishconf.py')
81
+    project.rsync_project(
82
+        remote_dir=dest_path,
83
+        exclude=".DS_Store",
84
+        local_dir=DEPLOY_PATH.rstrip('/') + '/',
85
+        delete=True,
86
+        extra_opts='-c',
87
+    )
88
+
89
+def gh_pages():
90
+    """Publish to GitHub Pages"""
91
+    rebuild()
92
+    local("ghp-import -b {github_pages_branch} {deploy_path} -p".format(**env))

+ 54
- 0
pelicanconf.py View File

@@ -0,0 +1,54 @@
1
+#!/usr/bin/env python
2
+# -*- coding: utf-8 -*- #
3
+from __future__ import unicode_literals
4
+
5
+AUTHOR = u'team'
6
+SITENAME = u'Centrum Alledaagse Tecnologie'
7
+SITEURL = ''
8
+
9
+PATH = 'content'
10
+
11
+TIMEZONE = 'Europe/Amsterdam'
12
+
13
+DEFAULT_LANG = u'nl'
14
+
15
+# Feed generation is usually not desired when developing
16
+FEED_ALL_ATOM = None
17
+CATEGORY_FEED_ATOM = None
18
+TRANSLATION_FEED_ATOM = None
19
+AUTHOR_FEED_ATOM = None
20
+AUTHOR_FEED_RSS = None
21
+
22
+# Blogroll
23
+#LINKS = (('Pelican', 'http://getpelican.com/'),
24
+#         ('Python.org', 'http://python.org/'),
25
+#         ('Jinja2', 'http://jinja.pocoo.org/'),
26
+#         ('You can modify those links in your config file', '#'),)
27
+
28
+# Social widget
29
+#SOCIAL = (('You can add links in your config file', '#'),
30
+          ('Another social link', '#'),)
31
+
32
+DEFAULT_PAGINATION = 5
33
+
34
+# Uncomment following line if you want document-relative URLs when developing
35
+#RELATIVE_URLS = True
36
+
37
+PLUGIN_PATHS = ['./plugins']
38
+PLUGINS = ['extract_toc']
39
+MD_EXTENSIONS = ['codehilite','extra','smarty', 'toc']
40
+
41
+STATIC_PATHS = ['extra', 'images', 'pdfs']
42
+EXTRA_PATH_METADATA = {
43
+            'extra/robots.txt': {'path': 'robots.txt'},
44
+                'extra/favicon.ico': {'path': 'favicon.ico'},
45
+                    'extra/htaccess': {'path': '.htaccess'}
46
+                    }
47
+
48
+MENUITEMS=(
49
+        # adds extra menu items, the others are automatically generated as pages
50
+            ('home', '/'),
51
+            )
52
+
53
+THEME = 'themes/wisselwerking'
54
+

+ 24
- 0
publishconf.py View File

@@ -0,0 +1,24 @@
1
+#!/usr/bin/env python
2
+# -*- coding: utf-8 -*- #
3
+from __future__ import unicode_literals
4
+
5
+# This file is only used if you use `make publish` or
6
+# explicitly specify it as your config file.
7
+
8
+import os
9
+import sys
10
+sys.path.append(os.curdir)
11
+from pelicanconf import *
12
+
13
+SITEURL = ''
14
+RELATIVE_URLS = False
15
+
16
+FEED_ALL_ATOM = 'feeds/all.atom.xml'
17
+CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'
18
+
19
+DELETE_OUTPUT_DIRECTORY = True
20
+
21
+# Following items are often useful when publishing
22
+
23
+#DISQUS_SITENAME = ""
24
+#GOOGLE_ANALYTICS = ""

+ 228
- 0
theme/wisselwerking/static/css/main.css View File

@@ -0,0 +1,228 @@
1
+/* 
2
+2k17 Homebrewserver.club Pelican theme
3
+---
4
+Style sheet is ordered vertically, with declarations for the header on top and footer on the bottom.
5
+
6
+With contributions by club members:
7
+http://roelof.info
8
+http://randomiser.info/
9
+http://majesticmoo.se
10
+*/
11
+
12
+@font-face {
13
+    font-family: 'NowBlack';
14
+    src: url('../fonts/Now-Black.otf') format('opentype');
15
+    font-weight: normal;
16
+    font-style: normal;
17
+      }
18
+
19
+@font-face {
20
+    font-family: 'NowBold';
21
+    src: url('../fonts/Now-Bold.otf') format('opentype');
22
+    font-weight: bold;
23
+    font-style: normal;
24
+      }
25
+
26
+@font-face {
27
+    font-family: 'NowLight';
28
+    src: url('../fonts/Now-Light.otf') format('opentype');
29
+    font-weight: normal;
30
+    font-style: normal;
31
+      }
32
+
33
+@font-face {
34
+    font-family: 'NowMedium';
35
+    src: url('../fonts/Now-Medium.otf') format('opentype');
36
+    font-weight: normal;
37
+    font-style: normal;
38
+      }
39
+
40
+@font-face {
41
+    font-family: 'NowRegular';
42
+    src: url('../fonts/Now-Regular.otf') format('opentype');
43
+    font-weight: normal;
44
+    font-style: normal;
45
+      }
46
+
47
+@font-face {
48
+    font-family: 'NowThin';
49
+    src: url('../fonts/Now-Thin.otf') format('opentype');
50
+    font-weight: normal;
51
+    font-style: normal;
52
+      }
53
+
54
+header {
55
+	width:100%;
56
+}
57
+
58
+#banner {
59
+	margin-top:1em;
60
+	font-size: 60px;
61
+  transform: rotate(5deg);
62
+}
63
+
64
+hr {
65
+    background-color: #06061e;
66
+    color: #06061e;
67
+    height: 5px;
68
+}
69
+pre {
70
+}
71
+#menu{
72
+	font-size:40px;
73
+	font-weight:bold;
74
+	margin-top: 1em;
75
+	text-align:center;
76
+}
77
+
78
+body {
79
+	line-height:1.5em;
80
+	background-color: #06061e;
81
+	font-size: 16px;
82
+  margin: 0 auto;
83
+  width: 900px;
84
+  color:white;
85
+  font-family:"NowRegular";
86
+  font-style: normal; 
87
+}
88
+
89
+a {
90
+	color:LimeGreen;
91
+  font-weight: bold;
92
+}
93
+
94
+.paginator{
95
+    float:right;
96
+    margin:0px;
97
+}
98
+
99
+#index{
100
+}
101
+
102
+#post-list {
103
+	padding-left:0px;
104
+	margin-top:0px;
105
+}
106
+
107
+ul {
108
+	padding-left:0px;
109
+}
110
+
111
+.hentry{
112
+    /*margin-top:2em;*/
113
+	border-width: 1px;
114
+	border-color: #444;
115
+}
116
+
117
+.article-info{
118
+    clear: right;
119
+    display: inline;
120
+    float: left;
121
+    margin-bottom: 5em;
122
+    max-width: 150px;
123
+    padding-right: em;
124
+    transform: rotate(-3deg);
125
+}
126
+
127
+
128
+
129
+.entry-title span{
130
+        width:100%;
131
+        display:inline-block;
132
+}
133
+
134
+.entry-content{
135
+	display: inline;
136
+	float: right;
137
+    margin-bottom: 2.5em;
138
+	max-width: 700px;
139
+	padding-right: 1em;
140
+}
141
+
142
+.entry-content pre{
143
+    font-size:20px;
144
+    padding-left:1em;
145
+    overflow: auto;
146
+    background-color: #F8F8F8;
147
+    line-height:1.2em;
148
+}
149
+
150
+.entry-content img{
151
+    max-width:100%;
152
+    border: 2px solid white;
153
+}
154
+
155
+p:nth-child(odd){
156
+    -ms-transform: rotate(1deg); 
157
+    -webkit-transform: rotate(1deg);
158
+    transform: rotate(1deg); 
159
+    }
160
+
161
+p:nth-child(even){
162
+    -ms-transform: rotate(-1deg);
163
+    -webkit-transform: rotate(-1deg); 
164
+    transform: rotate(-1deg); 
165
+    }
166
+
167
+
168
+.entry-content ul {
169
+	font-size:20px;
170
+	line-height:1.5;
171
+	margin: auto;
172
+	max-width:800px;
173
+}
174
+
175
+.highlight{
176
+	margin: auto;
177
+	max-width:800px;
178
+}
179
+
180
+#page-content img{
181
+    max-width:100%;
182
+}
183
+
184
+blockquote {
185
+	font-style:italic;
186
+}
187
+
188
+#content{
189
+        margin:auto;
190
+}
191
+
192
+.divider {
193
+	font-size:12px;
194
+	width:100%;
195
+	line-height:1em;
196
+	background-color:white;
197
+}
198
+
199
+.published{
200
+        font-size:smaller;
201
+}
202
+
203
+.article_tags{
204
+        font-size:smaller;
205
+}
206
+
207
+
208
+#categories {
209
+    font-size: 40px;
210
+    margin-top: 2em;
211
+    text-align: center;
212
+}
213
+#pertaining{
214
+	margin-top:2em;
215
+	text-align:center;
216
+
217
+}
218
+.simple-footnotes{
219
+	font-size:14px;
220
+	margin:auto;
221
+	max-width:800px;
222
+}
223
+
224
+.author{
225
+	font-size:smaller;
226
+}
227
+
228
+

+ 437
- 0
theme/wisselwerking/static/css/pygment.css View File

@@ -0,0 +1,437 @@
1
+
2
+pre .hll {
3
+    background-color: #ffffcc;
4
+}
5
+pre .c {
6
+    color: #60a0b0;
7
+    font-style: italic;
8
+}
9
+pre .err {
10
+    border: 1px solid #ff0000;
11
+}
12
+pre .k {
13
+    color: #007020;
14
+    font-weight: bold;
15
+}
16
+pre .o {
17
+    color: #666666;
18
+}
19
+pre .ch {
20
+    color: #60a0b0;
21
+    font-style: italic;
22
+}
23
+pre .cm {
24
+    color: #60a0b0;
25
+    font-style: italic;
26
+}
27
+pre .cp {
28
+    color: #007020;
29
+}
30
+pre .cpf {
31
+    color: #60a0b0;
32
+    font-style: italic;
33
+}
34
+pre .c1 {
35
+    color: #60a0b0;
36
+    font-style: italic;
37
+}
38
+pre .cs {
39
+    background-color: #fff0f0;
40
+    color: #60a0b0;
41
+}
42
+pre .gd {
43
+    color: #a00000;
44
+}
45
+pre .ge {
46
+    font-style: italic;
47
+}
48
+pre .gr {
49
+    color: #ff0000;
50
+}
51
+pre .gh {
52
+    color: #000080;
53
+    font-weight: bold;
54
+}
55
+pre .gi {
56
+    color: #00a000;
57
+}
58
+pre .go {
59
+    color: #888888;
60
+}
61
+pre .gp {
62
+    color: #c65d09;
63
+    font-weight: bold;
64
+}
65
+pre .gs {
66
+    font-weight: bold;
67
+}
68
+pre .gu {
69
+    color: #800080;
70
+    font-weight: bold;
71
+}
72
+pre .gt {
73
+    color: #0044dd;
74
+}
75
+pre .kc {
76
+    color: #007020;
77
+    font-weight: bold;
78
+}
79
+pre .kd {
80
+    color: #007020;
81
+    font-weight: bold;
82
+}
83
+pre .kn {
84
+    color: #007020;
85
+    font-weight: bold;
86
+}
87
+pre .kp {
88
+    color: #007020;
89
+}
90
+pre .kr {
91
+    color: #007020;
92
+    font-weight: bold;
93
+}
94
+pre .kt {
95
+    color: #902000;
96
+}
97
+pre .m {
98
+    color: #40a070;
99
+}
100
+pre .s {
101
+    color: #4070a0;
102
+}
103
+pre .na {
104
+    color: #4070a0;
105
+}
106
+pre .nb {
107
+    color: #007020;
108
+}
109
+pre .nc {
110
+    color: #0e84b5;
111
+    font-weight: bold;
112
+}
113
+pre .no {
114
+    color: #60add5;
115
+}
116
+pre .nd {
117
+    color: #555555;
118
+    font-weight: bold;
119
+}
120
+pre .ni {
121
+    color: #d55537;
122
+    font-weight: bold;
123
+}
124
+pre .ne {
125
+    color: #007020;
126
+}
127
+pre .nf {
128
+    color: #06287e;
129
+}
130
+pre .nl {
131
+    color: #002070;
132
+    font-weight: bold;
133
+}
134
+pre .nn {
135
+    color: #0e84b5;
136
+    font-weight: bold;
137
+}
138
+pre .nt {
139
+    color: #062873;
140
+    font-weight: bold;
141
+}
142
+pre .nv {
143
+    color: #bb60d5;
144
+}
145
+pre .ow {
146
+    color: #007020;
147
+    font-weight: bold;
148
+}
149
+pre .w {
150
+    color: #bbbbbb;
151
+}
152
+pre .mb {
153
+    color: #40a070;
154
+}
155
+pre .mf {
156
+    color: #40a070;
157
+}
158
+pre .mh {
159
+    color: #40a070;
160
+}
161
+pre .mi {
162
+    color: #40a070;
163
+}
164
+pre .mo {
165
+    color: #40a070;
166
+}
167
+pre .sb {
168
+    color: #4070a0;
169
+}
170
+pre .sc {
171
+    color: #4070a0;
172
+}
173
+pre .sd {
174
+    color: #4070a0;
175
+    font-style: italic;
176
+}
177
+pre .s2 {
178
+    color: #4070a0;
179
+}
180
+pre .se {
181
+    color: #4070a0;
182
+    font-weight: bold;
183
+}
184
+pre .sh {
185
+    color: #4070a0;
186
+}
187
+pre .si {
188
+    color: #70a0d0;
189
+    font-style: italic;
190
+}
191
+pre .sx {
192
+    color: #c65d09;
193
+}
194
+pre .sr {
195
+    color: #235388;
196
+}
197
+pre .s1 {
198
+    color: #4070a0;
199
+}
200
+pre .ss {
201
+    color: #517918;
202
+}
203
+pre .bp {
204
+    color: #007020;
205
+}
206
+pre .vc {
207
+    color: #bb60d5;
208
+}
209
+pre .vg {
210
+    color: #bb60d5;
211
+}
212
+pre .vi {
213
+    color: #bb60d5;
214
+}
215
+pre .il {
216
+    color: #40a070;
217
+}
218
+.syntax pre .hll {
219
+    background-color: #ffffcc;
220
+}
221
+.syntax pre {
222
+    background: #f0f0f0 none repeat scroll 0 0;
223
+}
224
+.syntax pre .c {
225
+    color: #60a0b0;
226
+    font-style: italic;
227
+}
228
+.syntax pre .err {
229
+    border: 1px solid #ff0000;
230
+}
231
+.syntax pre .k {
232
+    color: #007020;
233
+    font-weight: bold;
234
+}
235
+.syntax pre .o {
236
+    color: #666666;
237
+}
238
+.syntax pre .ch {
239
+    color: #60a0b0;
240
+    font-style: italic;
241
+}
242
+.syntax pre .cm {
243
+    color: #60a0b0;
244
+    font-style: italic;
245
+}
246
+.syntax pre .cp {
247
+    color: #007020;
248
+}
249
+.syntax pre .cpf {
250
+    color: #60a0b0;
251
+    font-style: italic;
252
+}
253
+.syntax pre .c1 {
254
+    color: #60a0b0;
255
+    font-style: italic;
256
+}
257
+.syntax pre .cs {
258
+    background-color: #fff0f0;
259
+    color: #60a0b0;
260
+}
261
+.syntax pre .gd {
262
+    color: #a00000;
263
+}
264
+.syntax pre .ge {
265
+    font-style: italic;
266
+}
267
+.syntax pre .gr {
268
+    color: #ff0000;
269
+}
270
+.syntax pre .gh {
271
+    color: #000080;
272
+    font-weight: bold;
273
+}
274
+.syntax pre .gi {
275
+    color: #00a000;
276
+}
277
+.syntax pre .go {
278
+    color: #888888;
279
+}
280
+.syntax pre .gp {
281
+    color: #c65d09;
282
+    font-weight: bold;
283
+}
284
+.syntax pre .gs {
285
+    font-weight: bold;
286
+}
287
+.syntax pre .gu {
288
+    color: #800080;
289
+    font-weight: bold;
290
+}
291
+.syntax pre .gt {
292
+    color: #0044dd;
293
+}
294
+.syntax pre .kc {
295
+    color: #007020;
296
+    font-weight: bold;
297
+}
298
+.syntax pre .kd {
299
+    color: #007020;
300
+    font-weight: bold;
301
+}
302
+.syntax pre .kn {
303
+    color: #007020;
304
+    font-weight: bold;
305
+}
306
+.syntax pre .kp {
307
+    color: #007020;
308
+}
309
+.syntax pre .kr {
310
+    color: #007020;
311
+    font-weight: bold;
312
+}
313
+.syntax pre .kt {
314
+    color: #902000;
315
+}
316
+.syntax pre .m {
317
+    color: #40a070;
318
+}
319
+.syntax pre .s {
320
+    color: #4070a0;
321
+}
322
+.syntax pre .na {
323
+    color: #4070a0;
324
+}
325
+.syntax pre .nb {
326
+    color: #007020;
327
+}
328
+.syntax pre .nc {
329
+    color: #0e84b5;
330
+    font-weight: bold;
331
+}
332
+.syntax pre .no {
333
+    color: #60add5;
334
+}
335
+.syntax pre .nd {
336
+    color: #555555;
337
+    font-weight: bold;
338
+}
339
+.syntax pre .ni {
340
+    color: #d55537;
341
+    font-weight: bold;
342
+}
343
+.syntax pre .ne {
344
+    color: #007020;
345
+}
346
+.syntax pre .nf {
347
+    color: #06287e;
348
+}
349
+.syntax pre .nl {
350
+    color: #002070;
351
+    font-weight: bold;
352
+}
353
+.syntax pre .nn {
354
+    color: #0e84b5;
355
+    font-weight: bold;
356
+}
357
+.syntax pre .nt {
358
+    color: #062873;
359
+    font-weight: bold;
360
+}
361
+.syntax pre .nv {
362
+    color: #bb60d5;
363
+}
364
+.syntax pre .ow {
365
+    color: #007020;
366
+    font-weight: bold;
367
+}
368
+.syntax pre .w {
369
+    color: #bbbbbb;
370
+}
371
+.syntax pre .mb {
372
+    color: #40a070;
373
+}
374
+.syntax pre .mf {
375
+    color: #40a070;
376
+}
377
+.syntax pre .mh {
378
+    color: #40a070;
379
+}
380
+.syntax pre .mi {
381
+    color: #40a070;
382
+}
383
+.syntax pre .mo {
384
+    color: #40a070;
385
+}
386
+.syntax pre .sb {
387
+    color: #4070a0;
388
+}
389
+.syntax pre .sc {
390
+    color: #4070a0;
391
+}
392
+.syntax pre .sd {
393
+    color: #4070a0;
394
+    font-style: italic;
395
+}
396
+.syntax pre .s2 {
397
+    color: #4070a0;
398
+}
399
+.syntax pre .se {
400
+    color: #4070a0;
401
+    font-weight: bold;
402
+}
403
+.syntax pre .sh {
404
+    color: #4070a0;
405
+}
406
+.syntax pre .si {
407
+    color: #70a0d0;
408
+    font-style: italic;
409
+}
410
+.syntax pre .sx {
411
+    color: #c65d09;
412
+}
413
+.syntax pre .sr {
414
+    color: #235388;
415
+}
416
+.syntax pre .s1 {
417
+    color: #4070a0;
418
+}
419
+.syntax pre .ss {
420
+    color: #517918;
421
+}
422
+.syntax pre .bp {
423
+    color: #007020;
424
+}
425
+.syntax pre .vc {
426
+    color: #bb60d5;
427
+}
428
+.syntax pre .vg {
429
+    color: #bb60d5;
430
+}
431
+.syntax pre .vi {
432
+    color: #bb60d5;
433
+}
434
+.syntax pre .il {
435
+    color: #40a070;
436
+}
437
+

BIN
theme/wisselwerking/static/fonts/Now-Black.otf View File


BIN
theme/wisselwerking/static/fonts/Now-Bold.otf View File


BIN
theme/wisselwerking/static/fonts/Now-Light.otf View File


BIN
theme/wisselwerking/static/fonts/Now-Medium.otf View File


BIN
theme/wisselwerking/static/fonts/Now-Regular.otf View File


BIN
theme/wisselwerking/static/fonts/Now-Thin.otf View File


+ 27
- 0
theme/wisselwerking/static/js/stars.js View File

@@ -0,0 +1,27 @@
1
+// stars.js
2
+// Random Stars
3
+var generateStars = function(){
4
+    
5
+    var $galaxy = $(".galaxy");
6
+    var iterator = 0;
7
+    
8
+    while (iterator <= 100){
9
+        var xposition = Math.random();
10
+        var yposition = Math.random();
11
+        var star_type = Math.floor((Math.random() * 3) + 1);
12
+        var position = {
13
+            "x" : $galaxy.width() * xposition,
14
+            "y" : $galaxy.height() * yposition,
15
+        };
16
+        
17
+        $('<div class="star star-type' + star_type + '"></div>').appendTo($galaxy).css({
18
+            "top" : position.y,
19
+            "left" : position.x
20
+        });
21
+        
22
+        iterator++;
23
+    }
24
+    
25
+};
26
+
27
+generateStars();

+ 11
- 0
theme/wisselwerking/templates/archives.html View File

@@ -0,0 +1,11 @@
1
+{% extends "base.html" %}
2
+{% block content %}
3
+<h1>Archives for {{ SITENAME }}</h1>
4
+
5
+<dl>
6
+{% for article in dates %}
7
+    <dt>{{ article.locale_date }}</dt>
8
+    <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
9
+{% endfor %}
10
+</dl>
11
+{% endblock %}

+ 50
- 0
theme/wisselwerking/templates/article.html View File

@@ -0,0 +1,50 @@
1
+{% extends "base.html" %}
2
+{% block head %}
3
+  {{ super() }}
4
+  {% if article.description %}
5
+    <meta name="description" content="{{article.description}}" />
6
+  {% endif %}
7
+
8
+  {% if article.tags or article.category or article.keywords %}
9
+    <meta name="keywords" content="{{ [article.tags|join(', '), article.category, article.keywords]|join(', ') }}" />
10
+  {% endif %}
11
+
12
+
13
+{% endblock %}
14
+                <div class="file type_folder">
15
+                    <a title="../" href="/log/" id="link0" class="type_folder"><img alt="../" src="/icons/back.png" class="type_folder"></a>
16
+                    </br>
17
+                    <span class="filename">../</span>
18
+
19
+
20
+{% block content %}
21
+<section id="content" class="body">
22
+  <div class="article-info">
23
+    <div class="entry-title">
24
+      <a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
25
+         title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></div>
26
+ {% import 'translations.html' as translations with context %}
27
+ {{ translations.translations_for(article) }}
28
+  <div class="post-info">
29
+    <time class="published" datetime="{{ article.date.isoformat() }}">
30
+      {{ article.locale_date }}
31
+    </time>
32
+	{% if article.modified %}
33
+    <time class="modified" datetime="{{ article.modified.isoformat() }}">
34
+      {{ article.locale_modified }}
35
+    </time>
36
+	{% endif %}
37
+    {% if article.authors %}
38
+    <address class="vcard author">
39
+      By {% for author in article.authors %}
40
+          <a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
41
+        {% endfor %}
42
+    </address>
43
+    {% endif %}
44
+  </div>
45
+  </div>
46
+  <div class="entry-content">
47
+    {{ article.content }}
48
+  </div><!-- /.entry-content -->
49
+</section>
50
+{% endblock %}

+ 7
- 0
theme/wisselwerking/templates/author.html View File

@@ -0,0 +1,7 @@
1
+{% extends "index.html" %}
2
+
3
+{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
4
+{% block content_title %}
5
+<h2>Articles by {{ author }}</h2>
6
+{% endblock %}
7
+

+ 13
- 0
theme/wisselwerking/templates/authors.html View File

@@ -0,0 +1,13 @@
1
+{% extends "base.html" %}
2
+
3
+{% block title %}{{ SITENAME }} - Authors{% endblock %}
4
+
5
+{% block content %}
6
+    <h1>Authors on {{ SITENAME }}</h1>
7
+
8
+    <ul>
9
+    {%- for author, articles in authors|sort %}
10
+        <li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>
11
+    {% endfor %}
12
+    </ul>
13
+{% endblock %}

+ 69
- 0
theme/wisselwerking/templates/base.html View File

@@ -0,0 +1,69 @@
1
+<!DOCTYPE html>
2
+<html lang="{{ DEFAULT_LANG }}">
3
+<head>
4
+        {% block head %}
5
+        <title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
6
+        <meta charset="utf-8" />
7
+	<link rel="icon" href="{{ SITEURL}}/favicon.ico" type="image/x-icon">
8
+	<link rel="shortcut icon" href="{{ SITEURL }}/favicon.ico" type="image/x-icon">
9
+        
10
+	{% if FEED_ALL_ATOM %}
11
+        <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
12
+        {% endif %}
13
+        {% if FEED_ALL_RSS %}
14
+        <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />
15
+        {% endif %}
16
+        {% if FEED_ATOM %}
17
+        <link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
18
+        {% endif %}
19
+        {% if FEED_RSS %}
20
+        <link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
21
+        {% endif %}
22
+        {% if CATEGORY_FEED_ATOM and category %}
23
+        <link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM|format(category.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" />
24
+        {% endif %}
25
+        {% if CATEGORY_FEED_RSS and category %}
26
+        <link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS|format(category.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" />
27
+        {% endif %}
28
+        {% if TAG_FEED_ATOM and tag %}
29
+        <link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM|format(tag.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" />
30
+        {% endif %}
31
+        {% if TAG_FEED_RSS and tag %}
32
+        <link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS|format(tag.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />
33
+        {% endif %}
34
+	
35
+	{% from 'syndication.html' import syndication with context %}
36
+	{{ syndication(article) }}
37
+	
38
+        <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/pygment.css" />
39
+        <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/{{ CSS_FILE }}" />
40
+        {% endblock head %}
41
+</head>
42
+
43
+<body id="index" class="home">
44
+    <div class="galaxy"></div>
45
+        <header id="banner">
46
+		SPACEKEET
47
+               	<span id="subtitle">{{ SITESUBTITLE }}</span>
48
+        </header><!-- /#banner -->
49
+        <nav id="menu">
50
+        {% for title, link in MENUITEMS %}
51
+            <a class="menu-item" href="{{ link }}">{{ title }}</a>
52
+        {% endfor %}
53
+        {% if DISPLAY_PAGES_ON_MENU %}
54
+          {% for p in pages %}
55
+            <span {% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></span>
56
+          {% endfor %}
57
+        {% else %}
58
+          {% if DISPLAY_CATEGORIES_ON_MENU %}
59
+            {% for cat, null in categories %}
60
+              <li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
61
+            {% endfor %}
62
+          {% endif %}
63
+        {% endif %}
64
+	</ul><hr></nav><!-- /#menu -->
65
+        {% block content %}
66
+        {% endblock %}
67
+    
68
+</body>
69
+</html>

+ 8
- 0
theme/wisselwerking/templates/categories.html View File

@@ -0,0 +1,8 @@
1
+{% extends "base.html" %}
2
+{% block content %}
3
+<div id="categories">
4
+{% for category, articles in categories %}
5
+    <a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a>
6
+{% endfor %}
7
+</div>
8
+{% endblock %}

+ 5
- 0
theme/wisselwerking/templates/category.html View File

@@ -0,0 +1,5 @@
1
+{% extends "index.html" %}
2
+{% block content_title %}
3
+<div id="pertaining">Everything pertaining to {{ category }}</div>
4
+{% endblock %}
5
+

+ 14
- 0
theme/wisselwerking/templates/gosquared.html View File

@@ -0,0 +1,14 @@
1
+{% if GOSQUARED_SITENAME %}
2
+<script type="text/javascript">
3
+    var GoSquared={};
4
+    GoSquared.acct = "{{ GOSQUARED_SITENAME }}";
5
+    (function(w){
6
+        function gs(){
7
+            w._gstc_lt=+(new Date); var d=document;
8
+            var g = d.createElement("script"); g.type = "text/javascript"; g.async = true; g.src = "https://d1l6p2sc9645hc.cloudfront.net/tracker.js";
9
+            var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(g, s);
10
+        }
11
+        w.addEventListener?w.addEventListener("load",gs,false):w.attachEvent("onload",gs);
12
+    })(window);
13
+</script>
14
+{% endif %}

+ 29
- 0
theme/wisselwerking/templates/index.html View File

@@ -0,0 +1,29 @@
1
+{% extends "base.html" %}
2
+{% block content %}
3
+<section id="content">
4
+{% block content_title %}
5
+{% endblock %}
6
+{% if articles_page.has_other_pages() %}
7
+    {% include 'pagination.html' %}
8
+{% endif %}
9
+<div id="post-list">
10
+{% for article in articles_page.object_list %}
11
+        <article class="hentry">
12
+                <div class="article-info"> <span class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></span>
13
+                <div class="post-info">
14
+                    <time class="published" datetime="{{ article.date.isoformat() }}"> <sup>{{ article.locale_date }}</sup> </time>
15
+                    <div class ='article_tags'>
16
+                    	{%- for tag in article.tags %}
17
+        				{{ tag }}
18
+    					{% endfor %}
19
+    				</div>
20
+		</div></div><!-- /.post-info -->
21
+		<div class="entry-content"> {{ article.content }}
22
+		<div class="separator"><hr></div>
23
+		</div><!-- /.entry-content -->
24
+	</article>
25
+{% endfor %}
26
+</div><!-- /#posts-list -->
27
+
28
+</section><!-- /#content -->
29
+{% endblock content %}

+ 16
- 0
theme/wisselwerking/templates/page.html View File

@@ -0,0 +1,16 @@
1
+{% extends "base.html" %}
2
+{% block title %}{{ page.title }}{%endblock%}
3
+{% block content %}
4
+    {% import 'translations.html' as translations with context %}
5
+    {{ translations.translations_for(page) }}
6
+
7
+   <div id ="page-content">
8
+	 {{ page.content }}
9
+
10
+	{% if page.modified %}
11
+		<p>
12
+		Last updated: {{ page.locale_modified }}
13
+		</p>
14
+	{% endif %}
15
+   </div>
16
+{% endblock %}

+ 11
- 0
theme/wisselwerking/templates/pagination.html View File

@@ -0,0 +1,11 @@
1
+{% if DEFAULT_PAGINATION %}
2
+<p class="paginator">
3
+    {% if articles_page.has_previous() %}
4
+        <a href="{{ SITEURL }}/{{ articles_previous_page.url }}">&laquo;</a>
5
+    {% endif %}
6
+    Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}
7
+    {% if articles_page.has_next() %}
8
+        <a href="{{ SITEURL }}/{{ articles_next_page.url }}">&raquo;</a>
9
+    {% endif %}
10
+</p>
11
+{% endif %}

+ 11
- 0
theme/wisselwerking/templates/period_archives.html View File

@@ -0,0 +1,11 @@
1
+{% extends "base.html" %}
2
+{% block content %}
3
+<h1>Archives for {{ period | reverse | join(' ') }}</h1>
4
+
5
+<dl>
6
+{% for article in dates %}
7
+    <dt>{{ article.locale_date }}</dt>
8
+    <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
9
+{% endfor %}
10
+</dl>
11
+{% endblock %}

+ 57
- 0
theme/wisselwerking/templates/syndication.html View File

@@ -0,0 +1,57 @@
1
+{#This template is for syndicating across the fucked up part of the  web. It implements Open Graph and Twitter Card metadata to display links to HBSC well on social media
2
+# This code is mostly taken from Talha Mansoor's Elegant pelican theme https://github.com/talha131/pelican-elegant
3
+#}
4
+
5
+{# Thumbnail image to show when homepage is shared on social media. It also
6
+serves as the default image for posts whose featured_image is not set. #}
7
+{% if not FEATURED_IMAGE %}
8
+{% set FEATURED_IMAGE = 'https://keet.space/images/keet.jpg' %}
9
+{% else %}
10
+{% set FEATURED_IMAGE = FEATURED_IMAGE %}
11
+{% endif %}
12
+
13
+
14
+{% macro syndication(article) %}
15
+{% if article %}
16
+<meta property="og:title" content="{{ article.title|striptags|e }} {%if article.subtitle %} - {{ article.subtitle|striptags|e }} {% endif %}"/>
17
+<meta property="og:url" content="{{ SITEURL }}/{{ article.url }}" />
18
+<meta property="og:description" content="{{article.description|striptags|e}}" />
19
+<meta property="og:site_name" content="{{ SITENAME|striptags|e }}" />
20
+<meta property="og:article:author" content="{{ article.author }}" />
21
+{% if article.date %}
22
+<meta property="og:article:published_time" content="{{ article.date.isoformat() }}" />
23
+{% endif %}
24
+{% if article.locale_modified and article.modified %}
25
+<meta property="" content="{{ article.modified.isoformat() }}" />
26
+{% endif %}
27
+<meta name="twitter:card" content="summary_large_image">
28
+<meta name="twitter:title" content="{{ article.title|striptags|e }} {%if article.subtitle %} - {{ article.subtitle|striptags|e }} {% endif %}">
29
+<meta name="twitter:description" content="{{article.description|striptags|e}}">
30
+{% if article.featured_image %}
31
+<meta property="og:image" content="{{article.featured_image}}" />
32
+<meta property="og:image:secure_url" content="{{article.featured_image}}" />
33
+<meta name="twitter:image" content="{{article.featured_image}}" >
34
+{% else %}
35
+    {% if FEATURED_IMAGE %}
36
+<meta property="og:image" content="{{FEATURED_IMAGE}}" />
37
+<meta name="twitter:image" content="{{FEATURED_IMAGE}}" >
38
+    {% endif %}
39
+{% endif %}
40
+{% endif %}
41
+{% if not article %}
42
+<meta property="og:title" content="{{ SITENAME|striptags|e }}"/>
43
+<meta name="twitter:title" content="{{ SITENAME|striptags|e }}">
44
+<meta name="twitter:card" content="summary" />
45
+<meta property="og:url" content="{{ SITEURL }}" />
46
+<meta property="og:description" content="the spacekeet is a DIY satellite observatory trying to map out man-made space from the Utrecht Science Park">
47
+<meta name="twitter:description" content="the spacekeet is a DIY satellite observatory trying to map out man-made psace from the Utrecht Science Park">
48
+<meta property="og:site_name" content="{{ SITENAME|striptags|e }}" />
49
+<meta property="og:article:author" content="{{ AUTHOR }}" />
50
+{% if FEATURED_IMAGE %}
51
+<meta property="og:image" content="{{FEATURED_IMAGE}}" />
52
+<meta name="twitter:image" content="{{FEATURED_IMAGE}}" >
53
+{% endif %}
54
+{% endif %}
55
+{% endmacro %}
56
+
57
+

+ 0
- 0
theme/wisselwerking/templates/tag.html View File


+ 10
- 0
theme/wisselwerking/templates/tags.html View File

@@ -0,0 +1,10 @@
1
+{% extends "base.html" %}
2
+
3
+{% block title %}{{ SITENAME }} - Tags{% endblock %}
4
+
5
+{% block content %}
6
+    <h1>Tags for {{ SITENAME }}</h1>
7
+    {%- for tag, articles in tags|sort %}
8
+        <li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
9
+    {% endfor %}
10
+{% endblock %}

+ 9
- 0
theme/wisselwerking/templates/translations.html View File

@@ -0,0 +1,9 @@
1
+{% macro translations_for(article) %}
2
+{% if article.translations %}
3
+Translations: 
4
+{% for translation in article.translations %}
5
+<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
6
+{% endfor %}
7
+{% endif %}
8
+{% endmacro %}
9
+

Loading…
Cancel
Save