Add parse_markdown command
This commit is contained in:
parent
3ae51caab7
commit
fc51d7160d
5 changed files with 33 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
DEBUG = False
|
||||
MARKDOWN_PATH = ''
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
|
|
0
pages/management/__init__.py
Normal file
0
pages/management/__init__.py
Normal file
0
pages/management/commands/__init__.py
Normal file
0
pages/management/commands/__init__.py
Normal file
31
pages/management/commands/parse_markdown.py
Normal file
31
pages/management/commands/parse_markdown.py
Normal file
|
@ -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'
|
||||
|
1
templates/.gitignore
vendored
Normal file
1
templates/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
html_pages
|
Loading…
Reference in a new issue