I am puzzled a bit now :) I think I'm doing exactly what you need. The only
problem is that it is not a part of some known and used wiki engine. But it
still could be useful as an example. Here is the code, that does all I need
from "personal" wiki. Note that it is just
http://www.sitepoint.com/blogs/2006/01/06/a-simple-wiki-with-webpy/
simplified and reworked for asciidoc.
-----------------------------------------------
#!/usr/bin/env python
import web
import os, re, mimetypes
import asciidoc
asciidoc.APP_DIR=os.path.realpath('.')
urls = ('/', 'ADoc',
'/adoc/([a-zA-Z_]+)', 'ADocPage')
textdir=os.path.realpath('./texts')
class ADoc:
def GET(self):
web.header("Content-Type","text/html; charset=utf-8")
t = re.compile('^[a-zA-Z_]+$')
asciidoc_pages = os.listdir(textdir)
print "<html><head><title>Texts</title></head><body>"
print "<h2>AsciiDoc Pages:</h2><ul>"
for page in asciidoc_pages:
if os.path.isfile(os.path.join(textdir, page)) and t.match(page):
print "<li><a href=\"%(path)sadoc/%(page)s\">%(page)s</a></li>" \
% {'path':web.ctx.home+web.ctx.path, 'page':page}
print "</ul></body></html>"
class ADocPage:
def GET(self, name):
page = os.path.join(textdir,name)
web.header("Content-Type","text/html; charset=utf-8")
if os.path.exists(page):
asciidoc.asciidoc('xhtml11', 'article', (), page, '<stdout>', ())
else:
web.ctx.status = '404 Not Found'
print "<html><head><title>Does not exist: %s</title></head><body>" %
name
print "<p>Page %s does not yet exist - " % name
print "<a href=\"%s\">Create</a>" % (web.ctx.home+'/editor/'+name)
web.internalerror = web.debugerror
if __name__ == '__main__': web.run(urls, web.reloader)
-----------------------------------------------
Note that I use asciidoc as a module, and I'm displaying xhtml "on-the-fly" -
the only files that exist on the disk are the text files in asciidoc format.
Those text files are exactly what I want to have on the disk and in my
subversion repository. Xhtml is generated and sent in the moment I open it in
my browser. The option to edit the files in the browser as is usual in wikis
is unfinished, but I prefer text editor for such a job anyway.
Pavel
On Monday 29 January 2007 16:06, Dag Wieers wrote:
> Pavel,
>
> You're certainly right,, but what we are looking at (and hoping to have
> implemented in asciidoc) is a module that can be loaded (like your
> asciidoc.py).
>
> But instead of having an interface to write it out, we'd like to be able
> to provide a function the input, and get the output back. So that you
> don't have to write it to disk, but can send it to the web-browser.
>
> It cannot be hard to have asciidoc provide such an interface by default.
>
> Kind regards,
> -- dag wieers, [EMAIL PROTECTED], http://dag.wieers.com/ --
> [all I want is a warm bed and a kind word and unlimited power]
_______________________________________________
Asciidoc-discuss mailing list
[email protected]
http://metaperl.com/cgi-bin/mailman/listinfo/asciidoc-discuss