From fc51d7160df5ce97bfeba64a5af8efe2962223dd Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Sat, 5 Nov 2011 00:33:33 +0100 Subject: Add parse_markdown command --- pages/management/commands/parse_markdown.py | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 pages/management/commands/parse_markdown.py (limited to 'pages/management/commands/parse_markdown.py') diff --git a/pages/management/commands/parse_markdown.py b/pages/management/commands/parse_markdown.py new file mode 100644 index 0000000..8c193df --- /dev/null +++ b/pages/management/commands/parse_markdown.py @@ -0,0 +1,31 @@ +import os +import markdown + +from django.core.management.base import BaseCommand, CommandError + +from settings import MARKDOWN_PATH, DEPLOY_PATH + +class Command(BaseCommand): + help = 'Parse markdown files in %s' % MARKDOWN_PATH + + def handle(self, *args, **options): + for root, dirs, files in os.walk(MARKDOWN_PATH): + for file in files: + subdir = root.replace(MARKDOWN_PATH, "") + mdfile = '%s/%s' % (root, file) + mdname = '%s/%s' % (subdir, os.path.splitext(file)[0]) + htmlpath = '%s/templates/html_pages/%s' % (DEPLOY_PATH, mdname) + htmlfile = '%s/index.html' % htmlpath + + if os.path.exists(mdfile) and not os.path.exists(htmlfile) \ + or os.path.getmtime(mdfile) > os.path.getmtime(htmlfile): + + if not os.path.exists(htmlpath): + os.makedirs(htmlpath) + + md = markdown.Markdown() + print 'Converting ', mdname, '-->', htmlfile, + wikiExtension = 'wikilinks(base_url=%s/)' % subdir + markdown.markdownFromFile(input=mdfile, output=htmlfile, encoding="utf-8", extensions=[wikiExtension]) + print ' ... succeeded' + -- cgit v1.2.3-54-g00ecf