aboutsummaryrefslogtreecommitdiff
path: root/generators/generators.py
diff options
context:
space:
mode:
Diffstat (limited to 'generators/generators.py')
-rw-r--r--generators/generators.py134
1 files changed, 134 insertions, 0 deletions
diff --git a/generators/generators.py b/generators/generators.py
index 8887bddb..9ad773c2 100644
--- a/generators/generators.py
+++ b/generators/generators.py
@@ -383,3 +383,137 @@ def generate_sitemap(feed):
sitemapfile.write('<?xml version="1.0" encoding="UTF-8"?>\n%s\n' %
ET.tostring(sitemap).decode('utf-8'))
sys.stderr.write("wrote sitemap.xml\n")
+
+
+def rewrite_title():
+ """Override the title of some page for a better render"""
+ sys.stderr.write("Overriding some titles\n")
+
+ filenames =['build/index.html',
+ 'build/blog/index.html',
+ 'build/notes/index.html']
+
+ for root, dirs, files in os.walk(BUILDDIR):
+ for name in files:
+ if re.search(r'website($)',root):
+ if name.endswith(".html"):
+ try:
+ filenames.append("build"+os.path.join(root.split(BUILDDIR)[1], name))
+ except IndexError:
+ filenames.append(name)
+ if re.search(r'Documents($)',root):
+ if name.endswith(".html"):
+ try:
+ filenames.append("build"+os.path.join(root.split(BUILDDIR)[1], name))
+ except IndexError:
+ filenames.append(name)
+ if re.search(r'notes($)',root):
+ if name.endswith(".html"):
+ try:
+ filenames.append("build"+os.path.join(root.split(BUILDDIR)[1], name))
+ except IndexError:
+ filenames.append(name)
+ if re.search(r'blog($)',root):
+ if name.endswith(".html"):
+ try:
+ filenames.append("build"+os.path.join(root.split(BUILDDIR)[1], name))
+ except IndexError:
+ filenames.append(name)
+
+ h1_titles_list = []
+ h1_title = []
+
+ h2_titles_list = []
+ h2_title = []
+
+ fd, tmppath = tempfile.mkstemp()
+ os.close(fd)
+ for filename in filenames:
+ soup = bs4.BeautifulSoup(open(filename), "lxml")
+ for myh1 in soup.find_all("h1"):
+ if re.match("^(?!.*article-title).*$", str(myh1)):
+ h1_id = myh1['id']
+ h1_name = myh1.string
+
+ h1_title.append(str(myh1))
+
+
+ myh1['class'] = "h1"
+ myh1.string = ""
+
+ h1_span_left = soup.new_tag("span")
+ h1_span_left['class'] = "left-h1"
+ h1_span_left.string = "█▓▒░"
+
+ h1_span_title = soup.new_tag("span")
+ h1_span_title['class'] = "title-h1"
+ h1_span_title.string = "「"+h1_name+"」"
+
+ h1_span_right = soup.new_tag("span")
+ h1_span_right['class'] = "right-h1"
+ h1_span_right.string = "░▒▓█"
+
+ myh1.string.insert_before(h1_span_left)
+ myh1.span.insert_after(h1_span_right)
+ myh1.span.insert_after(h1_span_title)
+
+ h1_title.append(myh1)
+ h1_title.append(h1_name)
+
+ h1_titles_list.append(h1_title)
+ h1_title = []
+
+ for myh2 in soup.find_all("h2"):
+ if re.match("^(?!.*blog-index-year-title).*$", str(myh2)):
+ h2_id = myh2['id']
+ h2_name = myh2.string
+
+ h2_title.append(str(myh2))
+
+
+ myh2['class'] = "h2"
+ myh2.string = ""
+
+ h2_span_left = soup.new_tag("span")
+ h2_span_left['class'] = "left-h2"
+ h2_span_left.string = ".: "
+
+ h2_span_title = soup.new_tag("span")
+ h2_span_title['class'] = "title-h2"
+ h2_span_title.string = h2_name
+
+ h2_span_right = soup.new_tag("span")
+ h2_span_right['class'] = "right-h2"
+ h2_span_right.string = " :."
+
+ myh2.string.insert_before(h2_span_left)
+ myh2.span.insert_after(h2_span_right)
+ myh2.span.insert_after(h2_span_title)
+
+ h2_title.append(myh2)
+ h2_title.append(h2_name)
+
+ h2_titles_list.append(h2_title)
+ h2_title = []
+
+ tested_title_list = []
+ tested_title = []
+ for filename in filenames:
+ soup = bs4.BeautifulSoup(open(filename), "lxml")
+ if os.path.exists(filename):
+ with open(filename, 'r', encoding='utf-8') as indexmd:
+ lines = indexmd.readlines()
+
+ with open(filename, 'w', encoding='utf-8') as indexmd:
+ for line in lines:
+ string = ""
+ for title in h1_titles_list:
+ if re.match(".*"+title[0]+".*", line):
+ string = str(title[1])
+ for title in h2_titles_list:
+ if re.match(".*"+title[0]+".*", line):
+ string = str(title[1])
+ if string != "":
+ indexmd.write(re.sub(line, string, line))
+ else:
+ indexmd.write(line)