I published a new version of SmallWiki to the public repository. I
the parser. It is ~8x faster parsing the introduction page. Also, it
need an extra CR at the end of the stream. Finally, it has support for
special characters inside the text (e.g., ** is parsed as text for *
empty link -- you can also use \*), and also support for nested list
(e.g., ## to nest two numbered lists). However, the last two aren't
up for round tripping yet (i.e., when you re-edit the page, it won't
that looks great and is also much shorter than the previous parser.
I've fixed the wiki-renderer to allow a full round-trip and created a
class testing parsing and rendering, however the old tests are still
there. The ** doesn't seem to work, but that is all-right with me as I
prefer the escaping using the backslash.
Besides the SmallWiki changes, I published a package (SmallWiki
Importer) that extracts pages from a WikiWorks site. You can run it
"WikiWorksWikiExtractor download: 'Refactoring Browser' from:
'http://wiki.cs.uiuc.edu/RefactoringBrowser'". It will download the
everything in the wiki reachable from that page. I've used it to
the RB and VW wikis from http://wiki.cs.uiuc.edu
That is really a cool extension, I've tried it and it works just great!
Alexandre is working on the SWiki importer and when this is done, we
should be able to import most Wiki of the Smalltalk community.
BTW, I'd suggest caching the Structure>>id. After I loaded
the VW wiki
SmallWiki and did a search, it was about 5x slower than the
search (and my machine is likely 10x faster). 90% of the search time
asWikiIdentifier from Structure>>id.
Actually this had been implemented in an older version of SmallWiki,
but then removed again. Recreating the id all the time again seems to
take a lot of time, as a new string-stream has to be created. The
current implementation caches the id, but it is lazy initialized to not
break SmallWiki's currently running. This feature will be removed again
for the final version.
Thanks a lot for your help,