#!/usr/bin/env python3 LICENSE = """ """ BaseHTML = """ {LICENSE} {TITLE}
{INFO} {BOARDS}
""" InfoHTML = """
<{H}>{TITLE} {CONTENT}
""" BoardHTML = """
{TITLE}
{CONTENT}
""" from markdown import Markdown def SplitPop(String, Key): List = String.split(Key) for i,s in enumerate(List): if not s: List.pop(i) return List def GetHeading(HTML): return 'h' + HTML.split('')[0] def GetDataHTML(): Path = 'Data.md' try: with open(Path, 'r') as f: return Markdown().convert(f.read()).replace('\n','') except Exception: print("Can't load {} file for reading. Exiting.".format(Path)) exit(1) def GetBoards(Data): Boards = SplitPop(Data, ''.format(Heading))[0], ''.format(Heading)) Title, Checkbox = GetBoardParams(Elements[0]) Board = Template.format( H=Heading, TITLE=Title, CHECKBOX=Checkbox, CONTENT=Elements[1] ) return Board def WriteHTML(Info, Boards): Path = 'index.html' InfoBoard = GenBoard(Info, InfoHTML) HTMLBoards = '' for b in Boards: HTMLBoards += GenBoard(b, BoardHTML) Heading = GetHeading(Info) Title = SplitPop( SplitPop( Info, '<{}>'.format(Heading))[0], ''.format(Heading))[0] Title, Checkbox = GetBoardParams(Title) try: with open(Path, 'w') as f: f.write( BaseHTML.format( LICENSE=LICENSE, TITLE=Title, CHECKBOX=Checkbox, INFO=InfoBoard, BOARDS=HTMLBoards)) return True except Exception: raise print("Can't load {} file for writing. Exiting.".format(Path)) exit(1) def Main(): Boards = GetBoards( GetDataHTML().replace( '