Compare commits

..

3 Commits

4 changed files with 16 additions and 7 deletions

View File

@ -39,6 +39,11 @@ class ArchiveLinker(Linker):
def translate_page_title (self, page_title):
page_title = super().translate_page_title(page_title)
fragment = ""
if "#" in page_title:
fragment = page_title[page_title.find("#"):]
page_title = page_title[:-len(fragment)]
directory_name = ""
for name in self.directory_names:
@ -50,7 +55,7 @@ class ArchiveLinker(Linker):
for key, value in self.replacements.items():
page_title = page_title.replace(key, value)
return "{}{}{}.html".format(directory_name, '/' if directory_name else '', page_title)
return "{}{}{}.html{}".format(directory_name, '/' if directory_name else '', page_title, fragment)
def prepare_thread (thread):
thread.subject = html.unescape(thread.subject)
@ -126,6 +131,7 @@ class ArchiveGenerator():
renderer.render_template_to_file("page", page_out, {
"title": " - {}".format(page.title),
"pagename": page.title,
"page": page,
"base": base,
"text": rendered
@ -143,6 +149,7 @@ class ArchiveGenerator():
try:
renderer.render_template_to_file("category", category_out, {
"title": " - {}".format(category),
"pagename": "Category:{}".format(category),
"category": category,
"pages": pages
})
@ -243,4 +250,4 @@ class TemplateRenderer():
def render_template_to_file (self, template_name, out_file, data={}):
with self.open_template(template_name) as template:
with open(os.path.join(self.out_dir, out_file), "w") as out:
out.write(chevron.render(template, data, self.partials_dir, self.extension))
out.write(chevron.render(template, data, self.partials_dir, self.extension))

View File

@ -170,8 +170,9 @@ def render (wikitext, base="", linker=None):
render(node.tag)
))
elif node_type is Heading:
rendered.append("<h{}>{}</h{}>".format(
rendered.append('<h{} id="{}">{}</h{}>'.format(
node.level,
reformat_page_title(node.title),
render(node.title, base, linker),
node.level
))
@ -224,4 +225,4 @@ class Template():
try:
parsed_wikicode.replace(argument, value)
except ValueError: pass
return parsed_wikicode
return parsed_wikicode

View File

@ -1,9 +1,9 @@
{{>header}}
{{>wiki_notice}}
<h2>{{title}}</h2>
<h2>{{pagename}}</h2>
<ul>
{{#pages}}
<li><a href="{{url}}">{{title}}</a></li>
{{/pages}}
</ul>
{{>footer}}
{{>footer}}

View File

@ -1,5 +1,6 @@
<div class="notice">
<p>Glitch City Laboratories closed on 1 September 2020 (<a href="{{base}}../forums/board-2/thread-9114/page-0.html">announcement</a>). This is an <b>archived</b> copy of an article from Glitch City Laboratories wiki.</p>
<p><b>A live version of this article is available at the <a href="https://glitchcity.wiki/">Glitch City Wiki</a> <a href="https://glitchcity.wiki/{{pagename}}">here</a>.</b></p>
<p>You can join <a href="https://discord.com/invite/EA7jxJ6">Glitch City Research Institute</a> to ask questions or discuss current developments.</p>
<p>You may also download the archive of the wiki in <a href="{{base}}../wiki.tar.gz">.tar.gz</a> or <a href="{{base}}../wiki.xml.gz">.xml.gz</a> formats.</p>
</div>
</div>