git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3153 fd906abe-77d9-0310-91a1-e0d9ade77398
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
==============================
 | 
						|
Yet Another WikiWiki Framework
 | 
						|
==============================
 | 
						|
 | 
						|
  ($Id$)
 | 
						|
 | 
						|
  >>> from zope import component
 | 
						|
  >>> from zope.publisher.browser import TestRequest
 | 
						|
 | 
						|
 | 
						|
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**
 | 
						|
  ... '''
 | 
						|
 | 
						|
The parser for restructured text and a corresponding HTML writer are the
 | 
						|
default plugins used, so we can already render the page as HTML.
 | 
						|
 | 
						|
  >>> print startPage.render(TestRequest())
 | 
						|
  <p><strong>Welcome to the Demo Wiki</strong></p>
 | 
						|
 | 
						|
Links to existing pages
 | 
						|
-----------------------
 | 
						|
 | 
						|
We now create another page that contains a link to the start page.
 | 
						|
 | 
						|
  >>> aboutPage = wiki.createPage('about')
 | 
						|
  >>> aboutPage.text = '''
 | 
						|
  ... **Information about the Demo Wiki**
 | 
						|
  ...
 | 
						|
  ... This is the cybertools demo wiki.
 | 
						|
  ...
 | 
						|
  ... `Back to the Start Page <start_page>`_
 | 
						|
  ... '''
 | 
						|
 | 
						|
  >>> print aboutPage.render(TestRequest())
 | 
						|
  <p><strong>Information about the Demo Wiki</strong></p>
 | 
						|
  <p>This is the cybertools demo wiki.</p>
 | 
						|
  <p><a class="reference"
 | 
						|
        href="http://127.0.0.1/demo_wiki/start_page">Back to the Start Page</a></p>
 | 
						|
 | 
						|
Let's now have a look at the link manager - it should have recorded the link
 | 
						|
from the page content.
 | 
						|
 | 
						|
  >>> from cybertools.wiki.interfaces import ILinkManager
 | 
						|
  >>> linkManager = manager.getPlugin(ILinkManager, 'basic')
 | 
						|
  >>> links = linkManager.links
 | 
						|
  >>> len(links)
 | 
						|
  1
 | 
						|
  >>> link = links.values()[0]
 | 
						|
  >>> link.source, link.target, link.name, link.refuri
 | 
						|
  (0, 1, u'start_page', 'http://127.0.0.1/demo_wiki/start_page')
 | 
						|
 | 
						|
Links to not yet existing pages
 | 
						|
-------------------------------
 | 
						|
 | 
						|
  >>> aboutPage.text += '''
 | 
						|
  ... `More... <more>`_
 | 
						|
  ... '''
 | 
						|
  >>> print aboutPage.render(TestRequest())
 | 
						|
  <p><strong>Information about the Demo Wiki</strong></p>
 | 
						|
  <p>This is the cybertools demo wiki.</p>
 | 
						|
  <p><a class="reference"
 | 
						|
        href="http://127.0.0.1/demo_wiki/start_page">Back to the Start Page</a></p>
 | 
						|
  <p><a class="reference"
 | 
						|
        href="http://127.0.0.1/demo_wiki/create.html?linkid=0000002">?More...</a></p>
 | 
						|
 | 
						|
 |