initial commit
This commit is contained in:
parent
46328a92a8
commit
c449f9d9ac
12 changed files with 457 additions and 4 deletions
89
parser.py
Normal file
89
parser.py
Normal file
|
@ -0,0 +1,89 @@
|
|||
# import modules
|
||||
import markdown as md
|
||||
|
||||
# function definitions
|
||||
|
||||
# convertFile(): takes in a path to a markdown file and
|
||||
# outputs an html snippet.
|
||||
def convertFile(infilePath):
|
||||
rawfile = open(infilePath)
|
||||
output = ""
|
||||
isComment = False
|
||||
for line in rawfile:
|
||||
if "+++" in line:
|
||||
if not isComment:
|
||||
isComment = True
|
||||
continue
|
||||
else:
|
||||
isComment = False
|
||||
continue
|
||||
if isComment:
|
||||
continue
|
||||
else:
|
||||
output = output + line
|
||||
output = md.markdown(output)
|
||||
return output
|
||||
|
||||
# getMetadata(): returns the metadata as a dictionary
|
||||
def getMetadata(infilePath):
|
||||
rawfile = open(infilePath)
|
||||
isComment = False
|
||||
metadata = {}
|
||||
for line in rawfile:
|
||||
if "+++" in line:
|
||||
if not isComment:
|
||||
isComment = True
|
||||
continue
|
||||
else:
|
||||
isComment=False
|
||||
break
|
||||
if isComment:
|
||||
key = line.split(" = ")[0]
|
||||
value = line.split(' = ')[1][:-1]
|
||||
metadata[key] = value
|
||||
if metadata[key] == "true":
|
||||
metadata[key] = True
|
||||
if metadata[key] == "false":
|
||||
metadata[key] = False
|
||||
if isinstance(metadata[key], str):
|
||||
metadata[key] = metadata[key][1:-1]
|
||||
return metadata
|
||||
|
||||
# getTitle(): returns the title from the metadata
|
||||
def getTitle(infilePath):
|
||||
return getMetadata(infilePath)['title']
|
||||
|
||||
def convertDate(timestamp):
|
||||
dateStr = ""
|
||||
newTime = timestamp.split('T')[0]
|
||||
date = newTime.split("-")
|
||||
day = date[2].lstrip("0")
|
||||
year = "20" + date[0][-2:]
|
||||
match date[1]:
|
||||
case "01":
|
||||
month = "January"
|
||||
case "02":
|
||||
month = "February"
|
||||
case "03":
|
||||
month = "March"
|
||||
case "04":
|
||||
month = "April"
|
||||
case "05":
|
||||
month = "May"
|
||||
case "06":
|
||||
month = "June"
|
||||
case "07":
|
||||
month = "July"
|
||||
case "08":
|
||||
month = "August"
|
||||
case "09":
|
||||
month = "September"
|
||||
case "10":
|
||||
month = "October"
|
||||
case "11":
|
||||
month = "November"
|
||||
case "12":
|
||||
month = "December"
|
||||
case _:
|
||||
month = ""
|
||||
return "{} {}, {}".format(day, month, year)
|
Loading…
Add table
Add a link
Reference in a new issue