
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3061 fd906abe-77d9-0310-91a1-e0d9ade77398
57 lines
1.6 KiB
Text
57 lines
1.6 KiB
Text
==============================
|
|
Yet Another WikiWiki Framework
|
|
==============================
|
|
|
|
($Id$)
|
|
|
|
|
|
An Example for an Elementary Wiki Structure
|
|
===========================================
|
|
|
|
>>> from cybertools.wiki.base.wiki import WikiManager, Wiki
|
|
|
|
We create a wiki manager with one wiki that in turn contains a simple
|
|
start page.
|
|
|
|
>>> manager = WikiManager()
|
|
>>> wiki = manager.addWiki(Wiki('demo_wiki'))
|
|
>>> startPage = wiki.createPage('start_page')
|
|
|
|
We format the content of the start page using the restructured text format.
|
|
|
|
>>> startPage.text = '''
|
|
... **Welcome to the Demo Wiki**
|
|
... '''
|
|
|
|
As we have not yet registered any formatting plugins rendering the page
|
|
returns it content unchanged.
|
|
|
|
>>> tree = startPage.parse()
|
|
|
|
>>> print startPage.render()
|
|
<p><strong>Welcome to the Demo Wiki</strong></p>
|
|
|
|
**Welcome to the Demo Wiki**
|
|
|
|
|
|
A Very Basic Wiki Format
|
|
========================
|
|
|
|
We first set up a format (a utility) and create a format instance
|
|
from it. The instance needs a wiki page as its context - to simplify
|
|
things during testing we just use a bare object.
|
|
|
|
>>> from cybertools.wiki.base.format import BasicFormat
|
|
>>> format = BasicFormat()
|
|
>>> page = object()
|
|
>>> instance = format.getInstance(page)
|
|
|
|
Now we enter some simple text and request the format instance to
|
|
unmarshall it, i.e. to convert it from the editable to the internal
|
|
representation.
|
|
|
|
>>> input = ('This is text with a [[Wiki Link]].\n\n'
|
|
... 'It also contains a second line.')
|
|
|
|
>>> instance.unmarshall(input)
|
|
'This is text with a [[${l0000001}]].\n\nIt also contains a second line.'
|