diff options
Diffstat (limited to 'bn_django/git_wiki')
-rw-r--r-- | bn_django/git_wiki/models.py | 12 | ||||
-rw-r--r-- | bn_django/git_wiki/settings.py | 11 | ||||
-rw-r--r-- | bn_django/git_wiki/templates/git_wiki/item.html | 26 | ||||
-rw-r--r-- | bn_django/git_wiki/views.py | 15 |
4 files changed, 39 insertions, 25 deletions
diff --git a/bn_django/git_wiki/models.py b/bn_django/git_wiki/models.py index ae9ef79..060e9d5 100644 --- a/bn_django/git_wiki/models.py +++ b/bn_django/git_wiki/models.py @@ -150,10 +150,10 @@ def fromslug(reqslug): import commands if reqslug == '' or reqslug == '/': - f = open(GITWIKI_BASE + '/HEAD','r') + f = open(GITWIKI_DIR + '/HEAD','r') head = f.readline().strip().split()[1] f.close() - f = open(GITWIKI_BASE + '/'+head,'r') + f = open(GITWIKI_DIR + '/'+head,'r') hash = f.readline().strip() f.close() ret = Tree(id=hash) @@ -198,13 +198,13 @@ def fromslug(reqslug): def reposcan(): import os heads = dict() - for h in os.listdir(GITWIKI_BASE + '/refs/heads/'): - f = open(GITWIKI_BASE + '/refs/heads/' + h,'r') + for h in os.listdir(GITWIKI_DIR + '/refs/heads/'): + f = open(GITWIKI_DIR + '/refs/heads/' + h,'r') heads[h.strip()] = f.readline().strip() f.close() tags = dict() - for t in os.listdir(GITWIKI_BASE + '/refs/tags/'): - f = open(GITWIKI_BASE + '/refs/tags/' + t,'r') + for t in os.listdir(GITWIKI_DIR + '/refs/tags/'): + f = open(GITWIKI_DIR + '/refs/tags/' + t,'r') tags[t.strip()] = f.readline().strip() f.close() return (heads, tags) diff --git a/bn_django/git_wiki/settings.py b/bn_django/git_wiki/settings.py index 882dd30..965ac26 100644 --- a/bn_django/git_wiki/settings.py +++ b/bn_django/git_wiki/settings.py @@ -1,13 +1,14 @@ # full path to directory holding the wiki repository (or sys links to # the repositories) -GITWIKI_BASE = '/srv/git/knowledge.git' +GITWIKI_BASE = '/home/bnewbold/knowledge/' # leave this blank (NO WHITE SPACE) unless you're using a bare repo -GITWIKI_NAME = 'knowledge' +GITWIKI_NAME = '' # fill path to the git command -GITCOMMAND = '/usr/bin/git' +GITCOMMAND = '/usr/local/bin/git' -GITPREFIX = 'cd ' +str(GITWIKI_BASE) + '/.. ; ' + str(GITCOMMAND) + ' --git-dir=' \ - + str(GITWIKI_BASE) +GITWIKI_DIR = str(GITWIKI_BASE) + '/' + str(GITWIKI_NAME) + '.git' +GITPREFIX = 'cd ' +str(GITWIKI_BASE) + '; ' + str(GITCOMMAND) + ' --git-dir=' \ + + str(GITWIKI_DIR) diff --git a/bn_django/git_wiki/templates/git_wiki/item.html b/bn_django/git_wiki/templates/git_wiki/item.html index 7562fc6..16d3518 100644 --- a/bn_django/git_wiki/templates/git_wiki/item.html +++ b/bn_django/git_wiki/templates/git_wiki/item.html @@ -1,25 +1,29 @@ {% extends "git_wiki/base.html" %} -{% load markup %} +{% block stylesheets %} +{{ block.super }} +<link rel="STYLESHEET" type="text/css" href="/style/docutils.css" /> +{% endblock %} {% block path %}{{ block.super }} » <a href="/k/{{ item.slug }}/"> {{ item.path }}</a>{% endblock %} -{% block title %}Knowledge Item: {{ item.path }}{% endblock %} +{% block title %}{% endblock %} {% block gitwiki %} - {{ item.contents|restructuredtext }} + +{{ doc.html_body }} <br /><hr /> - <h3>Item name:</h3> - <span class="hash">{{ item.name }}</span> - <h3>Item sha1 hash:</h3> - <span class="hash">{{ item.id }}</span> - <h3>Raw Contents:</h3> - <pre class="large">{{ item.contents|escape|wordwrap:80 }}</pre> - + <h3>Meta</h3> + <b>Item name:</b> + <span class="hash">{{ item.name }}</span><br /> + <b>Item sha1 hash:</b> + <span class="hash">{{ item.id }}</span><br /> <br /> <span class="righty"> - <a href="/k/{{ item.slug }}/pdf/">pdf</a> - <a href="/k/{{ item.slug }}/log">log</a> + <a href="/k/{{ item.slug }}/raw/">raw</a> - + <a href="/k/{{ item.slug }}/pdf/">pdf</a> - + <a href="/k/{{ item.slug }}/log">log</a> </span> <br /> {% endblock %} diff --git a/bn_django/git_wiki/views.py b/bn_django/git_wiki/views.py index 2e66061..c0681c7 100644 --- a/bn_django/git_wiki/views.py +++ b/bn_django/git_wiki/views.py @@ -1,7 +1,7 @@ from django import forms, http, template from django.contrib.auth.decorators import login_required from django.shortcuts import get_object_or_404, render_to_response -from django.http import HttpResponse, Http404 +from django.http import HttpResponse, Http404, HttpResponseServerError import os, commands @@ -42,8 +42,17 @@ def item(request, reqslug, blob=None): else: i = blob i.update() - return render_to_response('git_wiki/item.html', - dict(item=i)) + + try: + from docutils.core import publish_parts + except ImportError: + if settings.DEBUG: + raise HttpResponseServerError(request) + else: + docutils_settings = getattr(settings, "GITWIKI_REST_SETTINGS", {}) + parts = publish_parts(source=i.contents, writer_name="html4css1", settings_overrides=docutils_settings) + return render_to_response('git_wiki/item.html', + dict(item=i,doc=parts)) def olditem(request, hash): i = get_object_or_404(Item, id=hash) |