first commit
This commit is contained in:
commit
95c97d8c52
|
@ -0,0 +1,2 @@
|
||||||
|
config.py
|
||||||
|
__pycache__
|
|
@ -0,0 +1,48 @@
|
||||||
|
# This is the configuration file for geminer.
|
||||||
|
# Is is not intended to be executed.
|
||||||
|
|
||||||
|
# path to directory containing markdonw files to convert
|
||||||
|
md_dir = "~/repo/htg-content/content/posts"
|
||||||
|
|
||||||
|
# path to directory where gemini files will be exported
|
||||||
|
gmi_dir = "/tmp/gemini"
|
||||||
|
|
||||||
|
# path to directory containing templates
|
||||||
|
tpl_dir = "~/repo/htg-content/gemini/templates"
|
||||||
|
|
||||||
|
# list of markdown files extensions
|
||||||
|
# Any file with a different extension will be ignored.
|
||||||
|
md_extensions = [
|
||||||
|
"markdown",
|
||||||
|
"mdown",
|
||||||
|
"mkdn",
|
||||||
|
"md",
|
||||||
|
"mkd",
|
||||||
|
"mdwn",
|
||||||
|
"mdtxt",
|
||||||
|
"mdtext",
|
||||||
|
"text",
|
||||||
|
"Rmd"
|
||||||
|
]
|
||||||
|
|
||||||
|
# Set following value to True if you want ".gmi" extensions on new files.
|
||||||
|
gmi_extension = False
|
||||||
|
|
||||||
|
# replacement map
|
||||||
|
# Some CMS make you use some placeholders (for instance for assets URL).
|
||||||
|
# You have to inform geminer of them here.
|
||||||
|
replace = [
|
||||||
|
("%assets_url%", "https://hashtagueule.fr/assets")
|
||||||
|
]
|
||||||
|
|
||||||
|
# md2gemini settings
|
||||||
|
# Check the documentation at https://pypi.org/project/md2gemini/
|
||||||
|
code_tag=""
|
||||||
|
img_tag="[IMG]"
|
||||||
|
indent=" "
|
||||||
|
ascii_table=False
|
||||||
|
links="copy"
|
||||||
|
plain=True
|
||||||
|
strip_html=False
|
||||||
|
base_url=""
|
||||||
|
table_tag="table"
|
|
@ -0,0 +1,70 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from md2gemini import md2gemini
|
||||||
|
import frontmatter
|
||||||
|
from jinja2 import Template
|
||||||
|
import os
|
||||||
|
|
||||||
|
import config
|
||||||
|
|
||||||
|
md_path = os.path.expanduser(config.md_dir)
|
||||||
|
gmi_path = os.path.expanduser(config.gmi_dir)
|
||||||
|
tpl_path = os.path.expanduser(config.tpl_dir)
|
||||||
|
|
||||||
|
os.chdir(md_path)
|
||||||
|
|
||||||
|
for dirname, subdirlist, mdlist in os.walk('.'):
|
||||||
|
gmi_subpath = os.path.abspath(gmi_path+"/"+dirname)
|
||||||
|
os.makedirs(gmi_subpath, exist_ok=True)
|
||||||
|
for mdfile in mdlist:
|
||||||
|
basename, extension = os.path.splitext(mdfile)
|
||||||
|
extension = extension[1:]
|
||||||
|
if extension not in config.md_extensions:
|
||||||
|
print("Ignoring file {}: \"{}\" not in markdown extensions list".format(mdfile, extension))
|
||||||
|
pass
|
||||||
|
with open(dirname+"/"+mdfile, 'r') as md:
|
||||||
|
mdtext = md.read()
|
||||||
|
meta = frontmatter.parse(mdtext)[0]
|
||||||
|
template = meta.get("template", None)
|
||||||
|
author = meta.get("author", None)
|
||||||
|
date = meta.get("date", None)
|
||||||
|
title = meta.get("title", None)
|
||||||
|
tags = meta.get("tags", None)
|
||||||
|
for item in config.replace:
|
||||||
|
mdtext = mdtext.replace(item[0],item[1])
|
||||||
|
gmitext = md2gemini(mdtext,
|
||||||
|
code_tag=config.code_tag,
|
||||||
|
img_tag=config.img_tag,
|
||||||
|
indent=config.indent,
|
||||||
|
ascii_table=config.ascii_table,
|
||||||
|
frontmatter=True,
|
||||||
|
links=config.links,
|
||||||
|
plain=config.plain,
|
||||||
|
strip_html=config.strip_html,
|
||||||
|
base_url=config.base_url,
|
||||||
|
md_links=True,
|
||||||
|
table_tag=config.table_tag
|
||||||
|
)
|
||||||
|
with open(tpl_path+"/"+template+".tpl", 'r') as tpl:
|
||||||
|
template = Template(tpl.read())
|
||||||
|
simpledirname = dirname[2:]
|
||||||
|
if simpledirname == "":
|
||||||
|
path = basename
|
||||||
|
else:
|
||||||
|
path = simpledirname + "/" + basename
|
||||||
|
gmitext = template.render(
|
||||||
|
content=gmitext,
|
||||||
|
tags=tags,
|
||||||
|
template=template,
|
||||||
|
author=author,
|
||||||
|
date=date,
|
||||||
|
title=title,
|
||||||
|
path=path
|
||||||
|
)
|
||||||
|
gmitext = gmitext.replace('\r\n','\n')
|
||||||
|
gmifile = basename
|
||||||
|
if config.gmi_extension:
|
||||||
|
gmifile += ".gmi"
|
||||||
|
print(gmi_subpath+"/"+gmifile)
|
||||||
|
with open(gmi_subpath+"/"+gmifile, 'w') as gmi:
|
||||||
|
gmi.write(gmitext)
|
Loading…
Reference in New Issue