Files
PrimalMarkup/src/render.py
dennisgunia 738579d7fc init
2021-02-02 23:12:52 +01:00

51 lines
2.0 KiB
Python

import pyfiglet
def renderSeperator(properties):
outString = ''
for i in range(0, properties['Document']['defaultWidth']):
outString = "{}{}".format(outString, properties['Document']['spacerChar'])
return outString
def renderHeader(properties):
ascii_banner = pyfiglet.figlet_format(properties['Document']['shorttitle'])
ascii_banner = "{}Title : {}".format(ascii_banner,properties['Document']['title'])
ascii_banner = "{}\nAuthor : {}\n".format(ascii_banner,properties['Document']['author'])
return ascii_banner
def repeatChar(symbol, amount):
outString = ''
for i in range(0, int(amount)):
outString = "{}{}".format(outString, symbol)
return outString
def renderSectionTitle(properties, title):
titleString = "{}. {}".format(properties['counter_section'] ,title)
titleLen = len(titleString)
return "{}\n{}".format(titleString, repeatChar('=', titleLen))
def renderSubsectionTitle(properties, title):
titleString = "{}.{} {}".format(properties['counter_section'] ,properties['counter_subsection'] ,title)
titleLen = len(titleString)
return "{}{}\n{}{}".format(properties['Document']['indentation'],titleString, properties['Document']['indentation'], repeatChar('-', titleLen))
def renderContentTable(properties, content):
contentString = ''
for section in content:
sectionNumber = section['number']
titleString = "{}. {}".format(sectionNumber, section['title'])
titleStringLen = len(titleString)
contentString = "{}\n{}\n{}".format(contentString,titleString,repeatChar('-',titleStringLen))
#subsections
for subsection in section['subsections']:
titleString = "{}.{} {}".format(sectionNumber,subsection['number'], subsection['title'])
contentString = "{}\n{}{}".format(contentString,properties['Document']['indentation'],titleString)
contentString = "{}\n".format(contentString)
return contentString[1:]