From 2e4f7f60a366f8b6cb6025b585c3fcb7e144d382 Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Thu, 16 Aug 2018 00:02:52 -0700 Subject: [PATCH] Stabilize article sorting by title in citeblocks and statistics page --- src/article.py | 8 ++++++-- src/build.py | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/article.py b/src/article.py index 9b2db7f..a4aeffc 100644 --- a/src/article.py +++ b/src/article.py @@ -182,7 +182,9 @@ class LexiconArticle: "{0}".format( title, utils.titleescape(title), "" if title in self.wcites else " class=\"phantom\"") - for title in sorted(self.wcites | self.pcites)] + for title in sorted( + self.wcites | self.pcites, + key=lambda t: utils.titlesort(t))] cites_str = " | ".join(cites_links) if len(cites_str) < 1: cites_str = "—" citeblock += "

Citations: {}

\n".format(cites_str) @@ -190,7 +192,9 @@ class LexiconArticle: citedby_links = [ "{0}".format( title, utils.titleescape(title)) - for title in self.citedby] + for title in sorted( + self.citedby, + key=lambda t: utils.titlesort(t))] citedby_str = " | ".join(citedby_links) if len(citedby_str) < 1: citedby_str = "—" citeblock += "

Cited by: {}

\n\n".format(citedby_str) diff --git a/src/build.py b/src/build.py index ff22f48..d4fbed9 100644 --- a/src/build.py +++ b/src/build.py @@ -160,7 +160,11 @@ def build_statistics_page(articles, config): citation_count = defaultdict(list) for title, count in citation_tally: citation_count[count].append(title) content += "
\n".join(map( - lambda kv: "{0} – {1}".format(kv[0], "; ".join(kv[1])), + lambda kv: "{0} – {1}".format( + kv[0], + "; ".join(sorted( + kv[1], + key=lambda t: utils.titlesort(t)))), sorted(citation_count.items(), reverse=True)[:3])) content += "

\n" content += "\n"