Download SimpleWiki
initially posted November 24, 2009; updated July 9, 2011
Download
Download version RC1.05 (Release Candiate 1.05) July 9, 2011 (see change log).
simplewikiRC1.05.zip
See the Module page for components, integration, and extension information.
Requirements
- PHP 5.x (probably 5.2)
- JQuery core (for quicktoc)
Usage
$wiki = new SimpleWiki(); $html = $wiki->get_html($markup);
Licence: BSD
Changelog
| Version | Notes |
|---|---|
| RC1.05 (Release Candidate 1.05), July 9, 2011 | |
| bugfix | emitter code returning unregistered macro source markup was out of date |
| css fix | css for quicktoc was fixed to be right float to provide space for position absolute head |
| unknown format link decoration |
when link is unknown, decoration is added to provide visual clue: dash-underlining;appended superscript "?"; also rel="nofollow added. Unknown means not known url format, anchor or symlink, and no registered symlink or rawlink handlers. symlink and rawlink handlers can set $node->unknown = TRUE to get the same effect. example: unknownformat? |
| corrected mailto processing | mailto links had been processed into raw links, now properly processed into external links |
| $node->linkparts->externalselector corrected |
the externalselector property had included the connector to the protocol (://), and no longer does |
| RC1.04 (Release Candidate 1.04), June 22, 2011 | |
| bugfix | emitter was checking for invalid indexes for class and property callbacks |
| RC1.03 (Release Candidate 1.03), June 18, 2011 | |
| parsing of links defaults to a rawlink |
anything not recognized as a protocol-based link, an anchor (#) or a Symlink can be dispatched to a callback routine. The callback can interpret the rawlink and set a $node->linkparts->rawlinkaddress property to set a valid html address |
addition of a character filter callback capability to allow replacement of default htmlspecialchars(...) filtering |
This allows introduction of alternate encoding schemes by clients. The call is$object->customCharFilter($text,$node)to allow passing of a node for context. |
| bug fix: parser (preg_replace_callback) initialization | parser (preg_replace_callback) callbacks need to initialize returned arrays for missing subgroup name indexes, since the preg engine short-circuits the creation of these named associations |
| backtick added to symlink names |
allows symlink selectors to have a trailing version indicator, that can be read and interpreted by registered symlink handler. Useful for image size versions for example: Images:myimage.jpg`thumbnail. |
| added clone response | Simplewiki, when cloned, will now internally clone the parser and emitter. Cloning maintains settings. |
| RC1.02 (Release Candidate 1.02), March 28, 2011 | |
| class and file renaming | core classes (and files) now have Muster_ prefix (changed from Native_). This promotes branding, and allows easier integration with other Muster open source software (see mustersoftware.net) |
| RC1.01 (Release Candidate 1.01), March 26, 2011 | |
| minor bugfix | two text lines separated by newline have space inserted to avoid run-on text |
| blockdef indentation supports tab-char and space char | now either tab char or space char in any combination can be used to match open and close blocktag tags |
| RC1 (Release Candidate 1), March 24, 2011 | |
allow line-continuation markup (\n``) for metadata line |
|
| 80% faster | |
automatically wrap link markup [[ ... ]] around free-standing http, https, mailto url's |
allows removal of contraints from // (no leading ":" else a trailing space) |
removed markup constraints for // |
but uncommon url protocols must escape forward slashes (to differentiate from emphasis markup) |
improved escape (~) handling |
|
| added technical documentation | |
| extensive internal renaming and code maintenance | |
allow $wiki->get_html($markup) |
|
| {{##marker ...##}} markup, for non-visible section marking, stripped at runtime | Client can retrieve list of markers with names and offsets |
| markup support for dlml (dynamic layout markup language) |
(:dlwidget:), (:dlsettings:), (:dlmodule:) |
| added register_blockdef_handler($handler) | client-supplied handler is passed all currently emitting blockdef nodes (known and unknown, in turn) for manipulation. This allows arbitrary blockdef additions and manipulation. |
| added register_property_callouts | analagous to register_class_callouts, but since properties contain values, this is analagous to calling a method with arguments. The called property method can have a JSON string structure as an argument. |
definition list:term::definition, then::term:definition etc.(embedded term terminator " ::" is optional - leaves only definition when left out) |
consistent with other list definitions. Can be accompanied by definition list decorators|:dl ... :||:dt ... :||:dd ... :|: ... |
| JSON support by preserving single quote vs double quote delimiter for attributes |
The delimiter used in markup will be the one used in emitting. This allows valid JSON strings like '{"first":"firstvalue","second":"secondvalue"}' |
| version 1 beta 3, January 6, 2011 | |
| divided source into separate file for each class | |
| added shell classes | Allows easy custom insertion of class extension. See Module - Extension |
| version 1 beta 2, January 2010 | |
| |:h toc=no:| - suppress inclusion of heading in quicktoc | |
added %s mono% for monospace as class span.mono in SimpleWiki.css |
|
changed to overflow:auto from overflow-y:scroll in SimpleWiki.css div#quicktoc-body |
|
| version 1 beta 1, November 24, 2009 | |
| Initial release | |