From a19432541e776bfb63b1b985a60f472e9f1d4352 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Tue, 18 Mar 2014 21:18:00 +0000 Subject: [PATCH] New architecture diagram and docs updates --- .../tiddlers/dev/TiddlyWiki Architecture.tid | 19 +++++++++++++++++++ .../dev/TiddlyWiki for Developers.tid | 6 +++--- .../tiddlers/dev/TiddlyWikiArchitecture.tid | 9 --------- .../images/TiddlyWiki Architecture.svg | 3 +++ .../images/TiddlyWiki Architecture.svg.meta | 3 +++ 5 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 editions/tw5.com/tiddlers/dev/TiddlyWiki Architecture.tid delete mode 100644 editions/tw5.com/tiddlers/dev/TiddlyWikiArchitecture.tid create mode 100644 editions/tw5.com/tiddlers/images/TiddlyWiki Architecture.svg create mode 100644 editions/tw5.com/tiddlers/images/TiddlyWiki Architecture.svg.meta diff --git a/editions/tw5.com/tiddlers/dev/TiddlyWiki Architecture.tid b/editions/tw5.com/tiddlers/dev/TiddlyWiki Architecture.tid new file mode 100644 index 000000000..0323122f7 --- /dev/null +++ b/editions/tw5.com/tiddlers/dev/TiddlyWiki Architecture.tid @@ -0,0 +1,19 @@ +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. + + diff --git a/editions/tw5.com/tiddlers/dev/TiddlyWiki for Developers.tid b/editions/tw5.com/tiddlers/dev/TiddlyWiki for Developers.tid index e8e312d1e..ee2e295f7 100644 --- a/editions/tw5.com/tiddlers/dev/TiddlyWiki for Developers.tid +++ b/editions/tw5.com/tiddlers/dev/TiddlyWiki for Developers.tid @@ -1,14 +1,14 @@ created: 20131203074550710 -modified: 20140226083600000 +modified: 20140318210720798 tags: introduction dev title: TiddlyWiki for Developers type: text/vnd.tiddlywiki -TiddlyWiki is published as OpenSource which means that anyone can read the code and contribute to its development. It's a big, complex piece of software and can be overwhelming to newcomers. +TiddlyWiki is published as OpenSource which means that anyone can read the code and contribute to its development. ! Resources -If you're interested in understanding more about the internal operation of TiddlyWiki, start by reviewing [[TiddlyWiki for Developers]] and then read the code -- start with the boot kernel [[$:/boot/boot.js]]. +If you're interested in understanding more about the internal operation of TiddlyWiki, [[TiddlyWiki Architecture]] gives an overview of how TiddlyWiki is structured. Then read the code -- start with the boot kernel [[$:/boot/boot.js]]. ! The one thing you need to know diff --git a/editions/tw5.com/tiddlers/dev/TiddlyWikiArchitecture.tid b/editions/tw5.com/tiddlers/dev/TiddlyWikiArchitecture.tid deleted file mode 100644 index 2d351d17b..000000000 --- a/editions/tw5.com/tiddlers/dev/TiddlyWikiArchitecture.tid +++ /dev/null @@ -1,9 +0,0 @@ -created: 20130825162100000 -modified: 20131212093605368 -tags: dev -title: TiddlyWikiArchitecture -type: text/vnd.tiddlywiki - -The heart of TiddlyWiki can be seen as 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. - -The primary use of the engine is to convert raw `text/vnd.tiddlywiki` WikiText into a `text/html` or `text/plain` representation for display. The transclusion and templating features of WikiText allow the engine to also be used to generate TiddlyWiki HTML files from raw tiddlers. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/images/TiddlyWiki Architecture.svg b/editions/tw5.com/tiddlers/images/TiddlyWiki Architecture.svg new file mode 100644 index 000000000..cb5fb6728 --- /dev/null +++ b/editions/tw5.com/tiddlers/images/TiddlyWiki Architecture.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.0.4 2014-03-18 12:12ZArchitectureMainWikiTextParserParseTreeRendererWidgetTreeRefresh cycleDOMParse RulesParse RulesParse RulesParse RulesParse RulesWidgetsTiddlersTiddlersTiddlersTiddlersTiddlersTiddlersTiddlersTiddlersTiddlersTiddlersTiddlersTiddlersTiddlerschange eventstate updateboot renderingDOM event diff --git a/editions/tw5.com/tiddlers/images/TiddlyWiki Architecture.svg.meta b/editions/tw5.com/tiddlers/images/TiddlyWiki Architecture.svg.meta new file mode 100644 index 000000000..55f44de63 --- /dev/null +++ b/editions/tw5.com/tiddlers/images/TiddlyWiki Architecture.svg.meta @@ -0,0 +1,3 @@ +title: TiddlyWiki Architecture.svg +type: image/svg+xml +tags: picture