Refactor citeblock code to take full article object
This commit is contained in:
parent
49917bdc17
commit
1f897ecbb0
|
@ -162,18 +162,20 @@ class LexiconArticle:
|
||||||
}
|
}
|
||||||
return self.content.format(**format_map)
|
return self.content.format(**format_map)
|
||||||
|
|
||||||
def build_default_citeblock(self, prev_target, next_target):
|
def build_default_citeblock(self, prev_article, next_article):
|
||||||
"""
|
"""
|
||||||
Builds the citeblock content HTML for use in regular article pages.
|
Builds the citeblock content HTML for use in regular article pages.
|
||||||
For each defined target, links the target page as Previous or Next.
|
For each defined target, links the target page as Previous or Next.
|
||||||
"""
|
"""
|
||||||
citeblock = "<div class=\"content citeblock\">\n"
|
citeblock = "<div class=\"content citeblock\">\n"
|
||||||
# Prev/next links
|
# Prev/next links
|
||||||
if next_target is not None:
|
if next_article is not None:
|
||||||
citeblock += "<p style=\"float:right\"><a href=\"{}.html\">Next →</a></p>\n".format(utils.titleescape(next_target))
|
citeblock += "<p style=\"float:right\"><a href=\"{}.html\">Next →</a></p>\n".format(
|
||||||
if prev_target is not None:
|
next_article.title_filesafe)
|
||||||
citeblock += "<p><a href=\"{}.html\">← Previous</a></p>\n".format(utils.titleescape(prev_target))
|
if prev_article is not None:
|
||||||
elif next_target is not None:
|
citeblock += "<p><a href=\"{}.html\">← Previous</a></p>\n".format(
|
||||||
|
prev_article.title_filesafe)
|
||||||
|
if next_article is None and prev_article is None:
|
||||||
citeblock += "<p> </p>\n"
|
citeblock += "<p> </p>\n"
|
||||||
# Citations
|
# Citations
|
||||||
cites_links = [
|
cites_links = [
|
||||||
|
@ -182,7 +184,7 @@ class LexiconArticle:
|
||||||
"" if title in self.wcites else " class=\"phantom\"")
|
"" if title in self.wcites else " class=\"phantom\"")
|
||||||
for title in sorted(self.wcites | self.pcites)]
|
for title in sorted(self.wcites | self.pcites)]
|
||||||
cites_str = " | ".join(cites_links)
|
cites_str = " | ".join(cites_links)
|
||||||
if len(cites_str) < 1: cites_str = "--"
|
if len(cites_str) < 1: cites_str = "—"
|
||||||
citeblock += "<p>Citations: {}</p>\n".format(cites_str)
|
citeblock += "<p>Citations: {}</p>\n".format(cites_str)
|
||||||
# Citedby
|
# Citedby
|
||||||
citedby_links = [
|
citedby_links = [
|
||||||
|
@ -190,6 +192,6 @@ class LexiconArticle:
|
||||||
title, utils.titleescape(title))
|
title, utils.titleescape(title))
|
||||||
for title in self.citedby]
|
for title in self.citedby]
|
||||||
citedby_str = " | ".join(citedby_links)
|
citedby_str = " | ".join(citedby_links)
|
||||||
if len(citedby_str) < 1: citedby_str = "--"
|
if len(citedby_str) < 1: citedby_str = "—"
|
||||||
citeblock += "<p>Cited by: {}</p>\n</div>\n".format(citedby_str)
|
citeblock += "<p>Cited by: {}</p>\n</div>\n".format(citedby_str)
|
||||||
return citeblock
|
return citeblock
|
||||||
|
|
|
@ -288,8 +288,8 @@ def build_all(path_prefix, lexicon_name):
|
||||||
with open(pathto("article", article.title_filesafe + ".html"), "w", encoding="utf8") as f:
|
with open(pathto("article", article.title_filesafe + ".html"), "w", encoding="utf8") as f:
|
||||||
content = article.build_default_content()
|
content = article.build_default_content()
|
||||||
citeblock = article.build_default_citeblock(
|
citeblock = article.build_default_citeblock(
|
||||||
None if idx == 0 else articles[idx - 1].title,
|
None if idx == 0 else articles[idx - 1],
|
||||||
None if idx == l-1 else articles[idx + 1].title)
|
None if idx == l-1 else articles[idx + 1])
|
||||||
article_html = entry_skeleton.format(
|
article_html = entry_skeleton.format(
|
||||||
title = article.title,
|
title = article.title,
|
||||||
lexicon = config["LEXICON_TITLE"],
|
lexicon = config["LEXICON_TITLE"],
|
||||||
|
|
Loading…
Reference in New Issue