Anpassungen für neue Moin Version

This commit is contained in:
Lukas P 2016-01-05 17:13:48 +01:00
parent 8117b6a1e2
commit eb469fe356
10 changed files with 617 additions and 345 deletions

View file

@ -13,7 +13,7 @@
if ('cli' != php_sapi_name()) die();
define('DOKU_INC', '/usr/share/dokuwiki/');
define('DOKU_INC', '/home/caddy/wikifarm/dokuwiki/dokuwiki/');
require_once DOKU_INC.'inc/init.php';
require_once DOKU_INC.'inc/common.php';
require_once DOKU_INC.'inc/cliopts.php';

BIN
doku.pyc Normal file

Binary file not shown.

View file

@ -9,9 +9,10 @@
# Version: 1.0
import sys, os, os.path, re, codecs
sys.path.insert(1,'/home/caddy/.conda/envs/moinmoin/lib/python2.7/site-packages/MoinMoin/support')
import getopt
from MoinMoin import user, wikiutil
from MoinMoin.request import RequestCLI
from MoinMoin.web.contexts import ScriptContext as RequestCLI
from MoinMoin.logfile import editlog
from MoinMoin.Page import Page
from shutil import copyfile, copystat
@ -40,7 +41,7 @@ def init_dirs(output_dir):
mkdir(metadir)
def readfile(filename):
with open(filename, 'r') as f:
f = open(filename, 'r')
text = f.read()
return unicode(text.decode('utf-8'))
@ -50,7 +51,7 @@ def writefile(filename, content, overwrite=False):
os.makedirs(dir);
if os.path.exists(filename) and overwrite == False:
raise OSError, 'File already exists: %s' % filename
raise (OSError, 'File already exists: %s' % filename)
# ensure it's a list
if not isinstance(content, (list, tuple)):
@ -294,6 +295,7 @@ else:
# get list of all pages in wiki
# hide underlay dir temporarily
underlay_dir = request.rootpage.cfg.data_underlay_dir
print(underlay_dir)
request.rootpage.cfg.data_underlay_dir = None
pages = request.rootpage.getPageList(user = '', exists = not convert_attic, filter = filter)
pages = dict(zip(pages, pages))

View file

@ -7,13 +7,13 @@
#
# Author: Elan Ruusamäe <glen@pld-linux.org>
# Version: 1.0
from MoinMoin import wikimacro, wikiutil
#from MoinMoin.web.request import Request as RequestCLI
from MoinMoin.web.contexts import ScriptContext
from MoinMoin import wikiutil
from MoinMoin.Page import Page
from MoinMoin.parser.wiki import Parser
from MoinMoin.parser.text_moin_wiki import Parser
from text_dokuwiki import Formatter
from MoinMoin.request import RequestCLI
import sys
import StringIO
@ -37,7 +37,7 @@ def moin2doku(pagename, text):
return unicode(output.getvalue().decode('utf-8'))
request = RequestCLI()
request = ScriptContext()
formatter = Formatter(request)
if __name__ == "__main__":
@ -47,6 +47,6 @@ if __name__ == "__main__":
else:
inputfile = 'syntaxreference.txt'
with open(inputfile, 'r') as f:
f = open(inputfile, 'r')
text = f.read()
print moin2doku('test', text)

BIN
moinformat.pyc Normal file

Binary file not shown.

238
output.txt Normal file
View file

@ -0,0 +1,238 @@
<file>#pragma section-numbers off
#acl All:admin,read,write,delete,revert
#language en</file>
This page tries to use each supported markup element at least once.
<file>'''Index'''
[[TableOfContents(2)]]</file>
**Index**
[[:TableOfContents(2)|TableOfContents(2)]]
====== Headers ======
===== Header 2 =====
==== Header 3 ====
=== Header 4 ===
== Header 5 ==
====== Font styles ======
<file>Normal text, ''emphasized'', '''strong''', __underline__, ,,subscript,,, ^superscript^, `typewriter` and {{{typewriter</file>
.}}}
Normal text, //emphasized//, **strong**, __underline__, <sub>subscript</sub>, <sup>superscript</sup>, ''typewriter'' and ''typewriter''.
===== Syntax Highlighting =====
* <code >
# python code
print code.colorize("abc", 1 + 1)</code>
====== Hyperlinks ======
===== Internal =====
<file> * MoinMoin
* MoinMoin/TextFormatting
* MoinMoin/InstallDocs
* ../InstallDocs
* /SubPage
* Self:InterWiki</file>
* [[:MoinMoin|MoinMoin]]
* [[:MoinMoin:TextFormatting|MoinMoin/TextFormatting]]
* [[:MoinMoin:InstallDocs|MoinMoin/InstallDocs]]
* [[:InstallDocs|../InstallDocs]]
* [[:test:SubPage|/SubPage]]
* [[:InterWiki|InterWiki]]
<file>[#anchorname Anchor Link]</file>
[#anchorname Anchor Link]
===== External =====
<file> * http://moinmoin.wikiwikiweb.de/
* [http://moinmoin.wikiwikiweb.de/]
* [http://moinmoin.wikiwikiweb.de/ MoinMoin Wiki]
* [http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png]
* http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png
* [http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png moinmoin.png]
* MeatBall:InterWiki
* wiki:MeatBall/InterWiki
* [wiki:MeatBall/InterWiki]
* [wiki:MeatBall/InterWiki InterWiki page on MeatBall]
* [file://servername/full/path/to/file/filename%20with%20spaces.txt Click here to read filename with spaces.txt]
* me@privacy.net</file>
* [[http://moinmoin.wikiwikiweb.de/|http://moinmoin.wikiwikiweb.de/]]
* [[[http://moinmoin.wikiwikiweb.de/|http://moinmoin.wikiwikiweb.de/]]]
* [[[http://moinmoin.wikiwikiweb.de/|http://moinmoin.wikiwikiweb.de/]] [[:MoinMoin|MoinMoin]] Wiki]
* [[[http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png|http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png]]]
* [[http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png|http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png]]
* [[[http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png|http://moinmoin.wikiwikiweb.de/wiki/classic/img/moinmoin.png]] moinmoin.png]
* [[MeatBall>InterWiki|InterWiki]]
* wiki:[[:MeatBall:InterWiki|MeatBall/InterWiki]]
* [wiki:[[:MeatBall:InterWiki|MeatBall/InterWiki]]]
* [wiki:[[:MeatBall:InterWiki|MeatBall/InterWiki]] [[:InterWiki|InterWiki]] page on [[:MeatBall|MeatBall]]]
* [[[file://servername/full/path/to/file/filename%20with%20spaces.txt|file://servername/full/path/to/file/filename%20with%20spaces.txt]] Click here to read filename with spaces.txt]
* [[mailto:me@privacy.net|me@privacy.net]]
===== Escaping WikiNames =====
<file>Wiki''''''Name
Wiki``Name</file>
Wiki****Name Wiki''''Name
====== Blockquote ======
<file> This is indented
Even more</file>
* This is indented
* Even more
====== Bullet list ======
<file> * item 1
* item 2, with gap
* item 3
* item 3.1</file>
* item 1
* item 2, with gap
* item 3
* item 3.1
====== Numbered list ======
<file> 1. item 1
i. item 1
i. item 2</file>
- item 1
- item 1
- item 2
<file> 1. item 2
a. item 1
a. item 2</file>
- item 2
- item 1
- item 2
====== Descriptions + Definitions ======
<file> Term:: Description
Label:: Definition</file>
<gloss><label>Term</label><item>Description </item><label>Label</label><item>Definition </item></gloss>
====== Code display ======
* <file>line 1
indented 4 characters</file>
====== Tables ======
===== General table layout and HTML like options =====
<file> ||cell 1||cell2||cell 3||</file>
*
|cell 1|cell2|cell 3|
====== Rules ======
<file>--- (not a rule)
----
-----
------
-------
--------
---------
----------
-------------------------------------------- (not thicker than 10)</file>
--- (not a rule)
-
--
---
----
----
----
----
(not thicker than 10)
====== Macros ======
<file>[[Anchor(anchorname)]]
'''[[PageCount]]''' pages</file>
[[:Anchor(anchorname)|Anchor(anchorname)]] **[[:PageCount|PageCount]]** pages

22
standalone.py Normal file
View file

@ -0,0 +1,22 @@
from MoinMoin.server.standalone import StandaloneConfig, run
import sys
# Path of the directory where wikiconfig.py is located.
# YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP.
sys.path.insert(0, 'home/caddy/wikifarm/var/wikifarm/config')
# Path to MoinMoin package, needed if you installed with --prefix=PREFIX
# or if you did not use setup.py.
sys.path.insert(0, '/usr/local/lib/python2.4/site-packages')
# Path of the directory where farmconfig.py is located (if different).
sys.path.insert(0, '/home/caddy/wikifarm/var/wikifarm/config')
class Config(StandaloneConfig):
docs = '/home/caddy/wikifarm/var/wikifarm'
user = 'http'
group = 'http'
port = 80
run(Config)

View file

@ -9,7 +9,7 @@
"""
from xml.sax import saxutils
from MoinMoin.formatter.base import FormatterBase
from MoinMoin.formatter import FormatterBase
from MoinMoin import config
from MoinMoin.Page import Page
from types import *
@ -57,7 +57,8 @@ class Formatter(FormatterBase):
return ('<sysmsg>', '</sysmsg>')[not on]
def rawHTML(self, markup):
return '<html>' + markup + '</html>'
#return '<html>' + markup + '</html>'
return ''
def pagelink(self, on, pagename='', page=None, **kw):
if on:
@ -76,8 +77,8 @@ class Formatter(FormatterBase):
def url(self, on, url='', css=None, **kw):
return ('[[%s|' % (self._escape(url)), ']]')[not on]
def attachment_link(self, url, text, **kw):
return '{{%s|%s}}' % (url, text)
def attachment_link(self, on, url=None, querystr=None, **kw):
return '{{ %s | %s }}' % (url, querystr)
def attachment_image(self, url, **kw):
return '{{%s|}}' % (url,)
@ -229,7 +230,7 @@ class Formatter(FormatterBase):
return '{{' + url + '}}'
def code_area(self, on, code_id, code_type='code', show=0, start=-1, step=-1):
def code_area(self, on, code_id, code_type='code', show=0, start=-1, step=-1,msg=None):
syntax = ''
# switch for Python: http://simonwillison.net/2004/may/7/switch/
try:
@ -254,7 +255,8 @@ class Formatter(FormatterBase):
def comment(self, text):
# real comments (lines with two hash marks)
if text[0:2] == '##':
return "/* %s */\n" % text[2:].strip()
#return "/* %s */\n" % text[2:].strip()
return ''
# Some kind of Processing Instruction
# http://moinmo.in/HelpOnProcessingInstructions
@ -274,16 +276,23 @@ class Formatter(FormatterBase):
if tokens[0] == 'pragma':
# TODO: can do 'description' via 'meta' dokuwiki plugin
return "/* pragma: %s */\n" % " ".join(tokens[1:])
#return "/* pragma: %s */\n" % " ".join(tokens[1:])
return ''
return "/* %s */\n" % text.lstrip('#')
#return "/* %s */\n" % text.lstrip('#')
return ''
def macro(self, macro_obj, name, args):
def macro(self, macro_obj, name, args,markup):
def email(args):
mail = args.replace(' AT ', '@')
mail = mail.replace(' DOT ', '.')
return '[[%s|%s]]' % (mail, args)
def showAttachedFiles(args):
args = args.split(',')
return self.attachment_link(1,url=args[0].strip(),querystr=args[1].strip())
# function which will just do what parent class would
def inherit(args):
return apply(FormatterBase.macro, (self, macro_obj, name, args))
@ -294,6 +303,7 @@ class Formatter(FormatterBase):
'MailTo' : email,
'GetText' : args,
'ShowSmileys' : inherit,
'ShowAttachedFiles' : showAttachedFiles
}[name]
except KeyError:
lookup = '/* UndefinedMacro: %s(%s) */' % (name, args)

BIN
text_dokuwiki.pyc Normal file

Binary file not shown.