I published a new version of SmallWiki to the public repository. I rewrote
the parser. It is ~8x faster parsing the introduction page. Also, it doesn't
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 * not an
empty link -- you can also use \*), and also support for nested list items
(e.g., ## to nest two numbered lists). However, the last two aren't hooked
up for round tripping yet (i.e., when you re-edit the page, it won't display
properly).
In addition to the parser, I added a #withAll: method to DocumentComposite
class and fixed a bug where Server assumed that its storage was a
SnapshotStorage. Whenever you set the storage, the server told the storage
to #start/stopThread.
Besides the SmallWiki changes, I published a package (SmallWiki WikiWorks
Importer) that extracts pages from a WikiWorks site. You can run it using
"WikiWorksWikiExtractor download: 'Refactoring Browser' from:
'http://wiki.cs.uiuc.edu/RefactoringBrowser'". It will download the page and
everything in the wiki reachable from that page. I've used it to download
the RB and VW wikis from
http://wiki.cs.uiuc.edu.
BTW, I'd suggest caching the Structure>>id. After I loaded the VW wiki into
SmallWiki and did a search, it was about 5x slower than the
wiki.cs.uiuc.edu
search (and my machine is likely 10x faster). 90% of the search time was the
asWikiIdentifier from Structure>>id.
John Brant