This repository has been archived on 2023-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
md-pdf/md_pdf/build/pandoc.py

34 lines
868 B
Python
Raw Permalink Normal View History

2017-03-27 09:17:49 +01:00
import pypandoc
2017-03-30 08:44:50 +01:00
import os
2017-04-01 16:12:03 +01:00
from md_pdf.consts import CSL_DIR
import logging
logger = logging.getLogger(__file__)
2017-03-27 09:17:49 +01:00
2017-06-09 23:07:30 +01:00
def output_html(html: str, out_dir: str):
2017-04-04 22:04:25 +01:00
logger.info("Outputting HTML...")
2017-03-28 21:59:11 +01:00
with open(os.path.join(out_dir, 'output.html'), 'w') as f:
f.write(html)
2017-06-09 23:07:30 +01:00
def build_document(files_content: str, bibliography: dict) -> str:
2017-03-28 09:21:06 +01:00
args = [
'-s',
]
filters = []
if bibliography is not None:
args += [
2017-03-30 18:26:06 +01:00
'--bibliography={}'.format(os.path.abspath(bibliography['references'])),
'--csl={}'.format(os.path.join(CSL_DIR, "{}.csl".format(bibliography['csl'])))
2017-03-27 09:17:49 +01:00
]
2017-03-28 09:21:06 +01:00
filters.append('pandoc-citeproc')
2017-04-04 22:04:25 +01:00
logger.info("Rendering Document...")
2017-05-10 17:22:55 +01:00
return pypandoc.convert_text(
2017-03-30 09:00:42 +01:00
files_content,
'html',
format='md',
2017-03-28 09:21:06 +01:00
extra_args=args,
filters=filters
2017-05-10 17:22:55 +01:00
)