git » blitiri » commit b1ff211

Add tags support

author Leandro Lucarella
2022-08-20 19:10:57 UTC
committer Alberto Bertogli
2022-08-20 19:30:20 UTC
parent 275c0cd4019fb2c9b015fb76a526e411217df156

Add tags support

blitiri.cgi +10 -0

diff --git a/blitiri.cgi b/blitiri.cgi
index bce7765..78ee66b 100755
--- a/blitiri.cgi
+++ b/blitiri.cgi
@@ -192,6 +192,7 @@ default_main_footer = """
   years: %(yearlinks)s<br/>
   subscribe: <a href="%(url)s/atom">atom</a><br/>
   views: <a href="%(url)s/">blog</a> <a href="%(url)s/list">list</a><br/>
+  tags: %(taglinks)s<br/>
 </div>
 
 </body>
@@ -583,6 +584,7 @@ class Templates (object):
 			'showyear': showyear,
 			'monthlinks': ' '.join(db.get_month_links(showyear)),
 			'yearlinks': ' '.join(db.get_year_links()),
+			'taglinks': ' '.join(db.get_tag_links()),
 		}
 
 	def get_template(self, page_name, default_template, extra_vars = None):
@@ -967,6 +969,7 @@ class ArticleDB (object):
 		self.uuids = {}
 		self.actyears = set()
 		self.actmonths = set()
+		self.acttags = set()
 		self.load()
 
 	def get_articles(self, year = 0, month = 0, day = 0, tags = None):
@@ -1004,6 +1007,7 @@ class ArticleDB (object):
 				datetime.datetime.fromtimestamp(float(l[1])),
 				datetime.datetime.fromtimestamp(float(l[2])))
 			self.uuids[a.uuid] = a
+			self.acttags.update(a.tags)
 			self.actyears.add(a.created.year)
 			self.actmonths.add((a.created.year, a.created.month))
 			self.articles.append(a)
@@ -1038,6 +1042,12 @@ class ArticleDB (object):
 			ml.append(s)
 		return ml
 
+	def get_tag_links(self):
+		tl = list(self.acttags)
+		tl.sort()
+		return [ '<a href="%s/tag/%s">%s</a>' % (blog_url,
+				sanitize(t), sanitize(t)) for t in tl ]
+
 #
 # Main
 #