aboutsummaryrefslogtreecommitdiffstats
path: root/franticworld
diff options
context:
space:
mode:
authorPeter Fraenkel <pnf@podsnap.com>2014-08-21 12:53:41 -0400
committerPeter Fraenkel <pnf@podsnap.com>2014-08-21 12:53:41 -0400
commitcfa5f40283668540cda45794200809640f251acd (patch)
treecf2bd8ffbea3ed4c01b5690ffd8ae2702976b583 /franticworld
parent1cd742a84a81f135234be021cf4fe7b8ff2c13ff (diff)
parenta928687830876af8c919606bae47195af65bc82d (diff)
downloadpelican-themes-cfa5f40283668540cda45794200809640f251acd.tar.gz
Merge remote-tracking branch 'upstream/master'
Keep the latex and tag-specific feeds in bootstrap3 Conflicts: pelican-bootstrap3/templates/base.html
Diffstat (limited to 'franticworld')
-rw-r--r--franticworld/LICENSE13
-rw-r--r--franticworld/screenshot.pngbin0 -> 407201 bytes
-rw-r--r--franticworld/static/css/franticworld.css241
-rw-r--r--franticworld/static/css/pygments.css61
-rw-r--r--franticworld/static/img/pattern.pngbin0 -> 22749 bytes
-rw-r--r--franticworld/templates/archives.html13
-rw-r--r--franticworld/templates/article.html34
-rw-r--r--franticworld/templates/author.html5
-rw-r--r--franticworld/templates/authors.html0
-rw-r--r--franticworld/templates/base.html34
-rw-r--r--franticworld/templates/categories.html1
-rw-r--r--franticworld/templates/category.html2
-rw-r--r--franticworld/templates/index.html20
-rw-r--r--franticworld/templates/page.html27
-rw-r--r--franticworld/templates/pagination.html15
-rw-r--r--franticworld/templates/sidebar.html1
-rw-r--r--franticworld/templates/tag.html2
-rw-r--r--franticworld/templates/tags.html0
18 files changed, 469 insertions, 0 deletions
diff --git a/franticworld/LICENSE b/franticworld/LICENSE
new file mode 100644
index 0000000..07b7a81
--- /dev/null
+++ b/franticworld/LICENSE
@@ -0,0 +1,13 @@
+ 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. \ No newline at end of file
diff --git a/franticworld/screenshot.png b/franticworld/screenshot.png
new file mode 100644
index 0000000..1164a21
--- /dev/null
+++ b/franticworld/screenshot.png
Binary files differ
diff --git a/franticworld/static/css/franticworld.css b/franticworld/static/css/franticworld.css
new file mode 100644
index 0000000..0dc03b4
--- /dev/null
+++ b/franticworld/static/css/franticworld.css
@@ -0,0 +1,241 @@
+@import url(http://fonts.googleapis.com/css?family=Source+Code+Pro|Kelly+Slab|Atomic+Age|Jim+Nightshade);
+
+body{
+font-size:15px;
+font-family:arial;
+font-family:kelly slab;
+}
+a{text-decoration:none}
+.nav-banner{
+display:block;
+width:auto;
+height:50px;
+font-size:64px;
+margin-top:20px;
+margin-bottom:40px;
+text-align:center;
+font-family:jim nightshade;
+}
+.nav-banner>a{
+color:white;
+font-weight:bold;
+font-size:72px;
+text-shadow:5px 5px 0px #000,4px 4px 0px white,5px -5px 0px #000,4px -4px 0px white,-5px 5px 0px #000,-4px 4px 0px white,-5px -5px 0px #000,-4px -4px 0px white;
+}
+
+.content{
+width:62em;
+display:inline-block;
+margin-left:3%;
+}
+.summarycontainer{
+width:62em;
+}
+.metabox{
+vertical-align:top;
+display:inline-block;
+top:0;
+width:5em;
+text-align:center;
+color:white;
+background-color:rgba(255,255,255,0.3);
+box-shadow:0px 0px 10px #000000;
+z-index:-1;
+}
+.metaday{
+font-weight:bold;
+font-size:26px;
+text-shadow:0 0 10px #ff1f99;
+}
+.metayear{
+font-size:18px;
+text-shadow:0 0 5px #ff1f99;
+}
+.metacategory{
+font-size:22px;
+text-shadow:1px 1px 0px #000;
+}
+.summarybox{
+display:inline-block;
+width:52em;
+background-color:rgba(255,255,255,0.6);
+margin-bottom:3em;
+margin-left:-4px;
+padding:1em;
+box-shadow:0px 0px 10px #000000;
+color:#222;
+text-shadow:1px 1px 0px rgba(255,255,255,0.2);
+}
+.summarytitle,.articletitle{
+display:block;
+width:820px;
+margin-top:-25px;
+margin-left:-25px;
+padding:5px;
+padding-top:10px;
+padding-bottom:15px;
+font-size:30px;
+font-weight:bold;
+text-align:center;
+color:#eee;
+text-shadow:1px 1px 2px #333,-1px -1px 5px #333,20px 15px 2px rgba(255,255,255,0.1),-20px 15px 2px rgba(255,255,255,0.1),20px -10px 2px rgba(255,255,255,0.1),-20px -10px 2px rgba(255,255,255,0.1);
+box-shadow:0 1px 5px rgba(0,0,0,0.8);
+background:rgba(48,48,48,1);
+transition: text-shadow 0.5s;
+-moz-transition: text-shadow 0.5s; /* Firefox 4 */
+-webkit-transition: text-shadow 0.5s; /* Safari 和 Chrome */
+-o-transition: text-shadow 0.5s; /* Opera */
+}
+.summarytitle:hover,.articletitle:hover{
+text-shadow:0 0 10px #2fa0ff;
+}
+
+.arcticlecontentbox,.page-body{
+display:inline-block;
+width:52em;
+background-color:rgba(255,255,255,0.6);
+margin-bottom:3em;
+margin-left:-4px;
+padding:1em;
+box-shadow:0px 0px 10px #000000;
+color:#222;
+text-shadow:1px 1px 0px rgba(255,255,255,0.2);
+}
+.arcticlecontentbox img, .page-body img, .summarybox img{
+ max-width:780px;
+}
+h1{
+padding-top:5px;
+padding-bottom:5px;
+padding-left:10px;
+margin-left:-20px;
+background:rgba(140,203,255,0.2);
+text-shadow:0 0 10px rgba(255,255,255,0.5);
+width:780px;
+height:1.2em;
+text-align:center;
+box-shadow:1px 1px 2px rgba(48,168,200,1);
+}
+h2{
+padding:3px;
+font-size:28px;
+text-align:center;
+margin-left:30px;
+margin-right:30px;
+background:rgba(155,155,155,0.5);
+box-shadow:0 0 2px rgba(0,0,0,0.4);
+}
+pre,blockquote{
+color:#eee;
+padding:5px;
+background-color:#222;
+box-shadow:0px 0px 1px #222;
+padding-left:10px;
+border-left:2px solid #2fa0ff;
+overflow:auto;
+}
+blockquote{
+margin-left:0;
+margin-right:0;
+padding-top:1px;
+padding-bottom:1px;
+border-left:2px solid #000;
+color:inherit;
+font-size:12px;
+line-height:18px;
+background-color:transparent;
+}
+code{
+font-family:sourcecode pro;
+font-weight:bold;
+padding-left:2px;
+padding-right:2px;
+background:#888888
+}
+table{
+font-size:12px;
+line-height:18px;
+background-color:transparent;
+width:100%;
+overflow:auto;
+}
+tr:nth-child(odd){background-color:rgba(255,255,255,0.2);}
+tr:nth-child(even){background-color:rgba(140,203,255,0.2);}
+li{
+font-size:12px;
+list-style-type : square;
+}
+.sidebar{
+position:absolute;
+display:inline-block;
+margin-left:-1em;
+width:10em;
+padding:0em 1em 1em 1em;
+background-color:rgba(0,0,0,0.3);
+box-shadow:2px 0px 10px #000000;
+}
+.sidebar h4{
+line-height:5px;
+font-size:20px;
+text-shadow:0 0 1px #63b8ff;
+color:#ccc;
+font-weight:bold;
+}
+.sidebar li{list-style-type : none;}
+.sidebar a{
+font-family:atomic age;
+line-height:28px;
+color:#2fa0ff;
+font-size:16px;
+display:block;
+width:100%;
+padding:3px;
+padding-left:5px;
+}
+.sidebar a:hover{
+font-size:20px;
+font-weight:bold;
+color:#eee;
+padding-left:18px;
+border-radius:2px 0 0 2px;
+box-shadow:0px 0px 20px rgba(140,203,255,0.7);
+background:rgba(140,203,255,1);
+-moz-transition: font-size 0.2s; /* Firefox 4 */
+-webkit-transition:font-size 0.2s; /* Safari 和 Chrome */
+-o-transition:font-size 0.2s; /* Opera */
+}
+.paginator{
+border-radius:2px;
+padding:10px;
+color:#fff;
+font-family:jim nightshade;
+margin-top:-1em;
+text-align:center;
+font-size:2em;}
+.paginator>a{
+color:#2f99ff;
+font-family:kelly slab;
+text-shadow:1px 1px 1px rgba(0,0,0,0.8),-1px -1px 1px rgba(0,0,0,0.8),1px -1px 1px rgba(0,0,0,0.8),-1px 1px 1px rgba(0,0,0,0.8);
+transition:text-shadow;
+-moz-transition:text-shadow 0.2s; /* Firefox 4 */
+-webkit-transition:text-shadow 0.2s; /* Safari 和 Chrome */
+-o-transition:text-shadow 0.2s; /* Opera */
+}
+.paginator>a:hover{
+font-weight:bold;
+color:white;
+text-shadow:1px 1px 1px rgba(0,0,0,0.4),-1px -1px 1px rgba(0,0,0,0.4),1px -1px 1px rgba(0,0,0,0.4),-1px 1px 1px rgba(0,0,0,0.4),0px 0px 10px rgba(140,203,255,0.8),0px 0px 10px rgba(140,203,255,0.8),0px 0px 10px rgba(140,203,255,0.8),0px 0px 10px rgba(140,203,255,0.8);
+}.paginator>a:before{
+content:" ";
+display:inline-block;
+margin-left:20px;
+height:10px;
+width:10px;
+background-color:transparent;}
+#about{
+font-size:1.5em;
+display:block;
+text-align:center;
+color:#ccc;
+}
+#about a{text-decoration:underline;color:#ccc;font-family:jim nightshade;} \ No newline at end of file
diff --git a/franticworld/static/css/pygments.css b/franticworld/static/css/pygments.css
new file mode 100644
index 0000000..3fbcb47
--- /dev/null
+++ b/franticworld/static/css/pygments.css
@@ -0,0 +1,61 @@
+/* .highlight { background: #eeffcc; } */
+.highlight .hll { background-color: #ffffcc }
+.highlight .c { color: #75715E; font-style: italic } /* Comment */
+.highlight .k { color: #F92672; font-weight: bold } /* Keyword */
+.highlight .o { color: #F92672 } /* Operator */
+.highlight .cm { color: #75715E; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #F92672 } /* Comment.Preproc */
+.highlight .c1 { color: #75715E; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #75715E; background-color: #000000 } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #303030 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0040D0 } /* Generic.Traceback */
+.highlight .kc { color: #F92672; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #F92672; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #F92672; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #F92672 } /* Keyword.Pseudo */
+.highlight .kr { color: #F92672; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #F92672 } /* Keyword.Type */
+.highlight .m { color: #AE81FF } /* Literal.Number */
+.highlight .s { color: #E6DB74 } /* Literal.String */
+.highlight .na { color: #E6DB74 } /* Name.Attribute */
+.highlight .nb { color: #F92672 } /* Name.Builtin */
+.highlight .nc { color: #ff8300; font-weight: bold } /* Name.Class */
+.highlight .no { color: #60add5 } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #F92672 } /* Name.Exception */
+.highlight .nf { color: #06287e } /* Name.Function */
+.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #ff8300; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #bb60d5 } /* Name.Variable */
+.highlight .ow { color: #F92672; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #777777 } /* Text.Whitespace */
+.highlight .mf { color: #AE81FF } /* Literal.Number.Float */
+.highlight .mh { color: #AE81FF } /* Literal.Number.Hex */
+.highlight .mi { color: #AE81FF } /* Literal.Number.Integer */
+.highlight .mo { color: #AE81FF } /* Literal.Number.Oct */
+.highlight .sb { color: #E6DB74 } /* Literal.String.Backtick */
+.highlight .sc { color: #E6DB74 } /* Literal.String.Char */
+.highlight .sd { color: #E6DB74; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #E6DB74 } /* Literal.String.Double */
+.highlight .se { color: #E6DB74; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #E6DB74 } /* Literal.String.Heredoc */
+.highlight .si { color: #E6DB74; font-style: italic } /* Literal.String.Interpol */
+.highlight .sx { color: #c65d09 } /* Literal.String.Other */
+.highlight .sr { color: #235388 } /* Literal.String.Regex */
+.highlight .s1 { color: #E6DB74 } /* Literal.String.Single */
+.highlight .ss { color: #517918 } /* Literal.String.Symbol */
+.highlight .bp { color: #F92672 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
+.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
+.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.highlight .il { color: #AE81FF } /* Literal.Number.Integer.Long */ \ No newline at end of file
diff --git a/franticworld/static/img/pattern.png b/franticworld/static/img/pattern.png
new file mode 100644
index 0000000..17b491e
--- /dev/null
+++ b/franticworld/static/img/pattern.png
Binary files differ
diff --git a/franticworld/templates/archives.html b/franticworld/templates/archives.html
new file mode 100644
index 0000000..0e25a5d
--- /dev/null
+++ b/franticworld/templates/archives.html
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+{% block content %}
+
+<h1>Archives for {{ SITENAME }}</h1>
+
+<dl>
+{% for article in dates %}
+ <dt>{{ article.date|strftime('%d %b,%Y') }}</dt>
+ <dd><a href='{{ article.url }}'>{{ article.title }}</a></dd>
+{% endfor %}
+</dl>
+
+{% endblock %}
diff --git a/franticworld/templates/article.html b/franticworld/templates/article.html
new file mode 100644
index 0000000..ecb4bfe
--- /dev/null
+++ b/franticworld/templates/article.html
@@ -0,0 +1,34 @@
+{% extends "base.html" %}
+{% block title %}{{ article.title }} | {{ SITENAME }}{% endblock title %}
+{% block content %}
+
+<div class="metabox">
+ <p class="metaday">{{ article.date|strftime('%j') }}</p>
+ <p class="metayear">{{ article.date|strftime('%Y') }}</p>
+ <p class="metacategory">{{ article.category }}</p>
+</div>
+<div class="arcticlecontentbox">
+ <div class="articlecontent">
+ <a class="articletitle" href="{{ BLOGURL }}/{{ article.url }} " >{{ article.title }}</a>
+ {{ article.content }}
+ </div>
+
+ {% if DISQUS_SITENAME %}
+ <div class="comments">
+ <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 %}
+
+</div>
+
+{% endblock content %} \ No newline at end of file
diff --git a/franticworld/templates/author.html b/franticworld/templates/author.html
new file mode 100644
index 0000000..bde672c
--- /dev/null
+++ b/franticworld/templates/author.html
@@ -0,0 +1,5 @@
+{% extends "index.html" %}
+{% block title %}{{ SITENAME }} - {{ author }}{% endblock %}
+{% block content %}
+<h2>Articles by {{ author }}</h2>
+{% endblock content %} \ No newline at end of file
diff --git a/franticworld/templates/authors.html b/franticworld/templates/authors.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/franticworld/templates/authors.html
diff --git a/franticworld/templates/base.html b/franticworld/templates/base.html
new file mode 100644
index 0000000..d53e03d
--- /dev/null
+++ b/franticworld/templates/base.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html lang="{{ DEFAULT_LANG }}">
+<head>
+ {% block head %}
+ <title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
+ <meta charset="utf-8" />
+ <meta name="author" content="{{ AUTHOR }}">
+ <link rel="stylesheet" href="{{ SITEURL }}/theme/css/franticworld.css" type="text/css" />
+ <link href="{{ SITEURL }}/theme/css/pygments.css" rel="stylesheet">
+ {% endblock head %}
+</head>
+<body background="{{ SITEURL }}/theme/img/pattern.png">
+ <div class="nav-banner">
+ <a href="{{ SITEURL }}">{{ SITENAME }}</a>
+ </div>
+
+ <div class="content">
+ {% block content %}
+ {% endblock content %}
+ </div>
+
+ <div class="sidebar">
+ {% include 'sidebar.html' %}
+ </div>
+
+ <footer id="contentinfo" class="body">
+ <address id="about" class="vcard body">
+ Proudly powered by <a href="http://getpelican.com/">Pelican</a>,
+ which takes great advantage of <a href="http://python.org">Python</a>,
+ Theme by <a href="http://frantic1048.com/">Frantic1048</a>.
+ </address><!-- /#about -->
+ </footer><!-- /#contentinfo -->
+</body>
+</html> \ No newline at end of file
diff --git a/franticworld/templates/categories.html b/franticworld/templates/categories.html
new file mode 100644
index 0000000..6708a47
--- /dev/null
+++ b/franticworld/templates/categories.html
@@ -0,0 +1 @@
+{% extends "base.html" %} {% block content %} <ul> {% for category, articles in categories %} <li><a href="{{ category.url }}">{{ category }}</a></li> {% endfor %} </ul> {% endblock %} \ No newline at end of file
diff --git a/franticworld/templates/category.html b/franticworld/templates/category.html
new file mode 100644
index 0000000..816aaf0
--- /dev/null
+++ b/franticworld/templates/category.html
@@ -0,0 +1,2 @@
+{% extends "index.html" %}
+{% block title %}{{ SITENAME }} - {{ category }}{% endblock %} \ No newline at end of file
diff --git a/franticworld/templates/index.html b/franticworld/templates/index.html
new file mode 100644
index 0000000..e3b8c81
--- /dev/null
+++ b/franticworld/templates/index.html
@@ -0,0 +1,20 @@
+{% extends "base.html" %}
+{% block content %}
+
+{% for article in articles_page.object_list %}
+<div class="summarycontainer">
+ <div class="metabox">
+ <p class="metaday">{{ article.date|strftime('%j') }}</p>
+ <p class="metayear">{{ article.date|strftime('%Y') }}</p>
+ <p class="metacategory">{{ article.category }}</p>
+ </div>
+ <div class="summarybox">
+ <a class="summarytitle" href="{{ BLOGURL }}/{{ article.url }} " >{{ article.title }}</a>
+ {{ article.summary }}
+ <a class="btnmore" href="{{ BLOGURL }}/{{ article.url }}">more ...</a>
+ </div>
+</div>
+{% endfor %}
+
+{% include 'pagination.html' %}
+{% endblock content %} \ No newline at end of file
diff --git a/franticworld/templates/page.html b/franticworld/templates/page.html
new file mode 100644
index 0000000..3b569b5
--- /dev/null
+++ b/franticworld/templates/page.html
@@ -0,0 +1,27 @@
+{% extends "base.html" %}
+{% block title %}{{ page.title }} | {{ SITENAME }}{% endblock %}
+{% block content %}
+<div id="content" class="page-body">
+ <h1 class="page-title">{{ page.title }}</h1>
+ <hr></hr>
+ {{ page.content }}
+ {% if DISQUS_SITENAME %}
+ <div class="comments">
+ <div id="disqus_thread"></div>
+ <script type="text/javascript">
+ var disqus_identifier = "{{ page.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 %}
+</div>
+
+
+
+{% endblock %}
diff --git a/franticworld/templates/pagination.html b/franticworld/templates/pagination.html
new file mode 100644
index 0000000..a1300e8
--- /dev/null
+++ b/franticworld/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">&laquo;prev</a>
+ {% else %}
+ <a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() }}.html">&laquo;</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">next&raquo;</a>
+ {% endif %}
+</p>
+{% endif %}
diff --git a/franticworld/templates/sidebar.html b/franticworld/templates/sidebar.html
new file mode 100644
index 0000000..c8811c2
--- /dev/null
+++ b/franticworld/templates/sidebar.html
@@ -0,0 +1 @@
+<div class="sidebarcategory"> <h4>Categories</h4> {% for cat, null in categories %} <li><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li> {% endfor %} </div> <div class="sidebarpages"> {% if PAGES %} <h4>Pages</h4> {% for page in PAGES %} <li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li> {% endfor %} {% endif %} </div> <div class="sidebarblogroll"> {% if LINKS %} <h4>Blogroll</h4> {% for name, link in LINKS %} <li><a href="{{ link }}" target="_blank">{{ name }}</a></li> {% endfor %} {% endif %} </div> <div class="sidebarsocial"> {% if SOCIAL %} <h4>Social</h4> {% for name, link in SOCIAL %} <li><a href="{{ link }}">{{ name }}</a></li> {% endfor %} {% endif %} </div> \ No newline at end of file
diff --git a/franticworld/templates/tag.html b/franticworld/templates/tag.html
new file mode 100644
index 0000000..68cdcba
--- /dev/null
+++ b/franticworld/templates/tag.html
@@ -0,0 +1,2 @@
+{% extends "index.html" %}
+{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %}
diff --git a/franticworld/templates/tags.html b/franticworld/templates/tags.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/franticworld/templates/tags.html