Blame


1 5127fd58 2021-12-17 jrmu <?php if (!defined('PmWiki')) exit();
2 5127fd58 2021-12-17 jrmu /* Copyright 2007-2017 Patrick R. Michaud (pmichaud@pobox.com)
3 5127fd58 2021-12-17 jrmu This file is part of PmWiki; you can redistribute it and/or modify
4 5127fd58 2021-12-17 jrmu it under the terms of the GNU General Public License as published
5 5127fd58 2021-12-17 jrmu by the Free Software Foundation; either version 2 of the License, or
6 5127fd58 2021-12-17 jrmu (at your option) any later version. See pmwiki.php for full details.
7 5127fd58 2021-12-17 jrmu
8 5127fd58 2021-12-17 jrmu This script adds Creole v0.4 markup (http://www.wikicreole.org/)
9 5127fd58 2021-12-17 jrmu to PmWiki. To activate this script, simply add the following into
10 5127fd58 2021-12-17 jrmu a local customization file:
11 5127fd58 2021-12-17 jrmu
12 5127fd58 2021-12-17 jrmu include_once('scripts/creole.php');
13 5127fd58 2021-12-17 jrmu
14 5127fd58 2021-12-17 jrmu Script maintained by Petko YOTOV www.pmwiki.org/petko
15 5127fd58 2021-12-17 jrmu */
16 5127fd58 2021-12-17 jrmu
17 5127fd58 2021-12-17 jrmu ## **strong**
18 5127fd58 2021-12-17 jrmu Markup('**', 'inline',
19 5127fd58 2021-12-17 jrmu '/^\\*\\*(?>(.+?)\\*\\*)(?!\\S)|(?<!^)\\*\\*(.+?)\\*\\*/',
20 5127fd58 2021-12-17 jrmu '<strong>$1$2</strong>');
21 5127fd58 2021-12-17 jrmu
22 5127fd58 2021-12-17 jrmu ## //emphasized//
23 5127fd58 2021-12-17 jrmu Markup('//', 'inline',
24 5127fd58 2021-12-17 jrmu '/(?<!http:|https:|ftp:)\\/\\/(.*?)\\/\\//',
25 5127fd58 2021-12-17 jrmu '<em>$1</em>');
26 5127fd58 2021-12-17 jrmu
27 5127fd58 2021-12-17 jrmu ## == Headings ==
28 5127fd58 2021-12-17 jrmu Markup('^=', 'block',
29 5127fd58 2021-12-17 jrmu '/^(={1,6})\\s?(.*?)(\\s*=*\\s*)$/',
30 5127fd58 2021-12-17 jrmu "MarkupCreole");
31 5127fd58 2021-12-17 jrmu
32 5127fd58 2021-12-17 jrmu ## Line breaks
33 5127fd58 2021-12-17 jrmu Markup('\\\\', 'inline', '/\\\\\\\\/', '<br />');
34 5127fd58 2021-12-17 jrmu
35 5127fd58 2021-12-17 jrmu ## Preformatted
36 5127fd58 2021-12-17 jrmu Markup('^{{{', '[=',
37 5127fd58 2021-12-17 jrmu "/^\\{\\{\\{\n(.*?\n)\\}\\}\\}[^\\S\n]*\n/sm",
38 5127fd58 2021-12-17 jrmu "MarkupCreole");
39 5127fd58 2021-12-17 jrmu Markup('{{{', '>{{{',
40 5127fd58 2021-12-17 jrmu '/\\{\\{\\{(.*?)\\}\\}\\}/s',
41 5127fd58 2021-12-17 jrmu "MarkupCreole");
42 5127fd58 2021-12-17 jrmu
43 5127fd58 2021-12-17 jrmu ## Tables
44 5127fd58 2021-12-17 jrmu Markup('|-table', '>^||',
45 5127fd58 2021-12-17 jrmu '/^\\|(.*)$/',
46 5127fd58 2021-12-17 jrmu "MarkupCreole");
47 5127fd58 2021-12-17 jrmu
48 5127fd58 2021-12-17 jrmu ## Images
49 5127fd58 2021-12-17 jrmu Markup('{{', 'inline',
50 5127fd58 2021-12-17 jrmu '/\\{\\{(?>(\\L))([^|\\]]*)(?:\\|\\s*(.*?)\\s*)?\\}\\}/',
51 5127fd58 2021-12-17 jrmu "MarkupCreole");
52 5127fd58 2021-12-17 jrmu
53 5127fd58 2021-12-17 jrmu function MarkupCreole($m) {
54 5127fd58 2021-12-17 jrmu extract($GLOBALS["MarkupToHTML"]); # get $pagename, $markupid
55 5127fd58 2021-12-17 jrmu switch ($markupid) {
56 5127fd58 2021-12-17 jrmu case '^=':
57 5127fd58 2021-12-17 jrmu return '<:block,1><h'.strlen($m[1]).'>'.$m[2].'</h'.strlen($m[1]).'>';
58 5127fd58 2021-12-17 jrmu case '^{{{':
59 5127fd58 2021-12-17 jrmu return Keep('<pre class="escaped">'.$m[1].'</pre>');
60 5127fd58 2021-12-17 jrmu case '{{{':
61 5127fd58 2021-12-17 jrmu return Keep('<code class="escaped">'.$m[1].'</code>');
62 5127fd58 2021-12-17 jrmu case '|-table':
63 5127fd58 2021-12-17 jrmu return FormatTableRow($m[0], '\\|');
64 5127fd58 2021-12-17 jrmu case '{{':
65 5127fd58 2021-12-17 jrmu return Keep($GLOBALS['LinkFunctions'][$m[1]]($pagename, $m[1], $m[2], $m[3],
66 5127fd58 2021-12-17 jrmu $m[1].$m[2], $GLOBALS['ImgTagFmt']),'L');
67 5127fd58 2021-12-17 jrmu }
68 5127fd58 2021-12-17 jrmu }
69 5127fd58 2021-12-17 jrmu
70 5127fd58 2021-12-17 jrmu ## GUIButtons
71 5127fd58 2021-12-17 jrmu SDVA($GUIButtons, array(
72 5127fd58 2021-12-17 jrmu 'em' => array(100, "//", "//", '$[Emphasized]',
73 5127fd58 2021-12-17 jrmu '$GUIButtonDirUrlFmt/em.gif"$[Emphasized (italic)]"',
74 5127fd58 2021-12-17 jrmu '$[ak_em]'),
75 5127fd58 2021-12-17 jrmu 'strong' => array(110, "**", "**", '$[Strong]',
76 5127fd58 2021-12-17 jrmu '$GUIButtonDirUrlFmt/strong.gif"$[Strong (bold)]"',
77 5127fd58 2021-12-17 jrmu '$[ak_strong]'),
78 5127fd58 2021-12-17 jrmu 'h2' => array(400, '\\n== ', ' ==\\n', '$[Heading]',
79 5127fd58 2021-12-17 jrmu '$GUIButtonDirUrlFmt/h.gif"$[Heading]"'),
80 5127fd58 2021-12-17 jrmu
81 5127fd58 2021-12-17 jrmu ));
82 5127fd58 2021-12-17 jrmu