From 7e3060cc02aacecd13ba220cf69d1b8ae2517e09 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sun, 26 May 2019 15:46:29 +0200 Subject: Move generate_index to external file --- pyblog | 63 +-------------------------------------------------------------- 1 file changed, 1 insertion(+), 62 deletions(-) (limited to 'pyblog') diff --git a/pyblog b/pyblog index d1e83ba0..c398b932 100755 --- a/pyblog +++ b/pyblog @@ -51,67 +51,6 @@ from config.config import * from generators import generators -def generate_index(feed): - """Generate index.html from index.md and a TOC.""" - - sys.stderr.write("generating index.html\n") - - # generate TOC - tocbuff = io.StringIO() - tocbuff.write('
') - year = 10000 # will be larger than the latest year for quite a while - # recall that entries are in reverse chronological order - table_opened = False - for entry in feed.entries: - date = entry.updated_datetime - if date.year < year: - # close the previous table if there is one - if table_opened: - tocbuff.write(u'\n') - # write a new

tag with the smaller year - year = date.year - tocbuff.write(u'\n

.:{0}:.

\n\n'.format(year)) - tocbuff.write(u'\n') - table_opened = True - - # write a new table row entry in Markdown, in the format: - # - # - # - # - # - monthday = date.strftime("%b %d") - tocbuff.write(u'' - '\n' % - (date.isoformat(), monthday, entry.title_text, entry.relpath)) - if table_opened: - tocbuff.write(u'
[Blah blah](/blog/2015-05-04-blah-blah.html)
[%s](%s)
\n') - tocbuff.write('
') - - # create tempfile with index.md and the TOC concatenated, and generate index.html from that - # pylint: disable=invalid-name - fd, tmppath = tempfile.mkstemp() - os.close(fd) - with open(tmppath, 'w', encoding='utf-8') as tmpfile: - if os.path.exists(INDEXMD): - with open(INDEXMD, 'r', encoding='utf-8') as indexmd: - tmpfile.write(u"%s\n\n
\n\n" % indexmd.read()) - tmpfile.write("%s\n" % tocbuff.getvalue()) - tocbuff.close() - - pandoc_args = [ - "pandoc", tmppath, - "--template", HTMLTEMPLATE, - "--highlight-style=pygments", - "-o", INDEXHTML, - ] - try: - subprocess.check_call(pandoc_args) - except subprocess.CalledProcessError: - sys.stderr.write("error: failed to generate index.html\n") - os.remove(tmppath) - - def generate_sitemap(feed): """Generate sitemap.xml.""" sitemap = ET.Element("urlset", xmlns="http://www.sitemaps.org/schemas/sitemap/0.9") @@ -414,7 +353,7 @@ def generate_index_and_feed(): feed.entries.sort(key=lambda entry: entry.updated_datetime, reverse=True) rss.items.sort(key=lambda item: item.timestamp, reverse=True) - generate_index(feed) + generators.generate_index(feed) generators.generate_menu() generators.generate_table() generators.generate_blog_list(feed) -- cgit v1.2.1