# This script takes a txt file and use a template to create # html pages linked in a linear sequence and containing each a line of the txt # It generate also the css out of a template. # I would like to make also a circular version. A loop that arrived at the last page reconnects with the first page. # and eventually try other possible sequences and links (such as metarefresh etc..) # This could become a commad, like > htgen [chose if linear (-l) or circular (-c) or ...] [input file] [input html template] from jinja2 import Template file = "./texts/axs.txt" #ask name input file and use it also for name output file # read formatted text with open(file, "r") as sentences_file: for n, line in enumerate(sentences_file.readlines()): # CHECK IF THE FORMAT IS CORRECT FIRST - comment all the above print() print(line) # format text again if needed - comment if not needed line = line.replace("\n", "") # link to next page nxt_n = n + 1 nxt_n = str(nxt_n) file_name_next = "file_{}.html".format(nxt_n.zfill(2)) # file name n = str(n) file_name = "file_{}.html".format(n.zfill(2)) # jinja html template template_html = Template(''' Axs

{{ sentence }}

''') # render template html_list = template_html.render(sentence = line, next = file_name_next) # write html with open(file_name, "w") as output: output.write(html_list) # css template template_css = ''' body { background-color: black; color: red; } p {font-size: 100px;} .button { font: bold 11px Arial; text-decoration: none; background-color: #EEEEEE; color: #333333; padding: 2px 6px 2px 6px; border-top: 1px solid #CCCCCC; border-right: 1px solid #333333; border-bottom: 1px solid #333333; border-left: 1px solid #CCCCCC; } ''' # write css with open("style.css", "w") as output: output.write(template_css)