created: 20130825162100000 modified: 20140318211655525 tags: dev title: TiddlyWiki Architecture type: text/vnd.tiddlywiki The heart of TiddlyWiki is an extensible representation transformation engine for text and images. Given the text of a tiddler and its associated ContentType, the engine can produce a rendering of the tiddler in a new ContentType. Furthermore, it can efficiently selectively update the rendering to track any changes in the tiddler or its dependents. ! Overview The following diagram shows the internals of TiddlyWiki as a stack of tiddlers above a processing pipeline that converts WikiText into HTML. {{TiddlyWiki Architecture.svg}} The processing pipeline shows how WikiText is parsed by a stack of parse rules into a parse tree. The parse tree is rendered as a tree of widgets, which is synchronised into the DOM via the RefreshMechanism. DOM events trigger actions on widgets which update the tiddler store. The updates trigger a change event which in turn triggers the refresh mechanism to update the DOM.