Merge branch 'markdown-powered'

This commit is contained in:
Tom Willemsen 2011-11-05 00:33:54 +01:00
commit cb59bfad71
12 changed files with 69 additions and 0 deletions

View file

@ -1,4 +1,5 @@
DEBUG = False
MARKDOWN_PATH = ''
DATABASES = {
'default': {

0
pages/__init__.py Normal file
View file

View file

View file

View 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'

3
pages/models.py Normal file
View file

@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

5
pages/urls.py Normal file
View file

@ -0,0 +1,5 @@
from django.conf.urls.defaults import *
urlpatterns = patterns('pages.views',
(r'^(?P<page>.+)/$', 'index'),
)

18
pages/views.py Normal file
View file

@ -0,0 +1,18 @@
import os.path
from django.http import Http404
from django.views.generic.simple import direct_to_template
from settings import DEPLOY_PATH
def index(request, page):
template = 'html_pages/%s/index.html' % page
if not os.path.exists('%s/templates/%s' % (DEPLOY_PATH, template)):
raise Http404
c = {
"page": template,
}
return direct_to_template(request, "pages/index.html", c)

View file

@ -87,4 +87,5 @@ INSTALLED_APPS = (
'main',
'blog',
'projects',
'pages',
)

1
templates/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
html_pages

View file

@ -0,0 +1,5 @@
{% extends "base.html" %}
{% block content %}
{% include page %}
{% endblock %}

View file

@ -16,3 +16,7 @@ if DEBUG:
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '%s/static' % DEPLOY_PATH})
)
urlpatterns += patterns('',
(r'^', include("pages.urls"))
)