@ -6,7 +6,7 @@ import jinja2
STATIC_FOLDER_PATH = ' . ' # without trailing slash
PUBLIC_STATIC_FOLDER_PATH = ' . ' # without trailing slash
WRAPPING_ TEMPLATES_DIR = ' ./templates '
TEMPLATES_DIR = ' ./templates '
# This uses a low quality copy of all the images
# (using a folder with the name "images-small",
@ -136,6 +136,10 @@ def tweaking(html):
html = html . replace ( ' <a href= " #X,_y,_z_(4_filmstills) " ' , ' <a href= " #x,_y,_z_(4_filmstills) " ' ) # change the anchor link in the TOC to lowercase
html = html . replace ( ' <a href= " #Rehearsal_as_the_ %E 2 %80% 98Other %E 2 %80% 99_to_Hypercomputation " ' , ' <a href= " #Rehearsal_as_the_‘Other’_to_Hypercomputation " ' ) # change the anchor link in the TOC to lowercase
html = html . replace ( ' <a href= " #We_hardly_encounter_anything_that_didn %E 2 %80% 99t_really_matter " ' , ' <a href= " #We_hardly_encounter_anything_that_didn’t_really_matter " ' ) # change the anchor link in the TOC to lowercase
html = re . sub ( r ''' <h3><span class= " mw-headline " id= " References.*? " >References</span><span class= " mw-editsection " ><span class= " mw-editsection-bracket " ></span></span></h3>
< ul > ''' , ''' < h3 class = " references " > < span class = " mw-headline " id = " References " > References < / span > < span class = " mw-editsection " > < span class = " mw-editsection-bracket " > < / span > < / span > < / h3 >
< ul class = " references " > ''' , html) # add id= " references " to h3 and ul, so the elements can be selected with CSS
return html
def clean_up ( html ) :
@ -179,17 +183,18 @@ def parse_page(pagename, wiki):
return html
def save ( html , pagename , publication_unfolded ) :
def save ( html , pagename ) :
"""
html = string ( HTML )
pagename = string
"""
if html :
if __name__ == " __main__ " :
# command-line
# save final page that will be used with PagedJS
template_file = open ( f ' { STATIC_FOLDER_PATH } / { WRAPPING_ TEMPLATES_DIR } /template.html ' ) . read ( )
template_file = open ( f ' { STATIC_FOLDER_PATH } / { TEMPLATES_DIR } /template.html ' ) . read ( )
template = jinja2 . Template ( template_file )
html = template . render ( publication_unfolded = publication_unfolded , title = pagename )
html = template . render ( publication_unfolded = html , title = pagename )
html_file = f ' { STATIC_FOLDER_PATH } / { pagename } .html '
print ( ' Saving HTML: ' , html_file )
@ -197,10 +202,10 @@ def save(html, pagename, publication_unfolded):
out . write ( html )
out . close ( )
# save extra html page for debugging
template_file = open ( f ' { STATIC_FOLDER_PATH } / { WRAPPING_ TEMPLATES_DIR } /template.inspect.html ' ) . read ( )
# save extra html page for debugging (CLI only)
template_file = open ( f ' { STATIC_FOLDER_PATH } / { TEMPLATES_DIR } /template.inspect.html ' ) . read ( )
template = jinja2 . Template ( template_file )
html = template . render ( publication_unfolded = publication_unfolded , title = pagename )
html = template . render ( publication_unfolded = html , title = pagename )
html_file = f ' { STATIC_FOLDER_PATH } / { pagename } .inspect.html '
print ( ' Saving HTML: ' , html_file )
@ -208,6 +213,12 @@ def save(html, pagename, publication_unfolded):
out . write ( html )
out . close ( )
else :
# Flask application
with open ( f ' { STATIC_FOLDER_PATH } /Unfolded.html ' , ' w ' ) as out :
out . write ( html ) # save the html to a file (without <head>)
def update_material_now ( pagename , wiki ) :
"""
pagename = string
@ -225,5 +236,5 @@ if __name__ == "__main__":
pagename = ' Unfolded '
publication_unfolded = update_material_now ( pagename , wiki ) # download the latest version of the page
save ( publication_unfolded , pagename , publication_unfolded ) # save the page to file
save ( publication_unfolded , pagename ) # save the page to file