-
{% for thread in threads %}
-
- {{ thread.title }} +
- {{ thread.title }} {% endfor %}
diff --git a/filters.py b/filters.py
new file mode 100644
index 0000000..d6f1fbd
--- /dev/null
+++ b/filters.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+"""
+Jinja2 template filters.
+"""
+import re
+
+from markupsafe import Markup
+
+def quotelink(line, post):
+ """Checks if the quotelink is valid and adds an anchor tag if so."""
+ links = re.findall(r'>>(\d+)', line)
+ for link in links:
+ if int(link) in post['link_tos']:
+ span = f'>>{link}'
+ else:
+ span = f'>>{link}'
+ line = line.replace('>>' + link, span)
+ return Markup(line)
diff --git a/static/voyage.css b/static/voyage.css
index e69de29..3cc940a 100644
--- a/static/voyage.css
+++ b/static/voyage.css
@@ -0,0 +1,49 @@
+body {
+ background-color: #FAFAFA;
+ color: #111111;
+ font-family: Arial, sans-serif;
+}
+
+.post_container {
+ border: 1px solid darkgray;
+ margin-top: 1em;
+ padding: 0.5em;
+}
+
+.header {
+ margin-bottom: 0.5em;
+}
+
+.subject {
+ color: darkblue;
+ font-weight: bold;
+}
+
+.name {
+ color: darkgreen;
+ font-weight: bold;
+}
+
+.tripcode {
+ color: darkgreen;
+}
+
+.backlink {
+ color: darkblue;
+}
+
+.quote {
+ color: green;
+}
+
+.quotelink, .deadlink {
+ color: darkred;
+}
+
+.quotelink:hover, .backlink:hover {
+ color: red;
+}
+
+.deadlink {
+ text-decoration: line-through;
+}
diff --git a/templates/index.html b/templates/index.html
index 4721157..3cd2086 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -14,7 +14,7 @@
{% for thread in threads %}
-