A disadvantage for some users of TiddlyWiki’s static site generation 
capabilities is the requirement to use Node.js. I’m therefore pleased to 
announce an update to the JSZip plugin that makes it practical to render medium 
sized static sites in the browser, without needing to use Node.js.

https://github.com/Jermolene/TiddlyWiki5/commit/6a0ff7db1807f45b73061ced82f5a85f1a529bbf
 
<https://github.com/Jermolene/TiddlyWiki5/commit/6a0ff7db1807f45b73061ced82f5a85f1a529bbf>

The updated plugin adds a handful of messages that can be used in the browser 
to:

* create a blank ZIP file as a tiddler of type "application/zip”
* add text files to a ZIP tiddler
* download a ZIP tiddler as a .zip file

To try it out, visit the prerelease and review the docs:

https://tiddlywiki.com/prerelease/#%24%3A%2Fplugins%2Ftiddlywiki%2Fjszip 
<https://tiddlywiki.com/prerelease/#$:/plugins/tiddlywiki/jszip>

The complete code to save a static site looks like this:

\define actions-render-static-site()
<$action-sendmessage $message="tm-zip-create" $param="$:/temp/_ZipTiddler"/>
<$list filter="[all[tiddlers]!is[system]limit[100]]">
<$action-sendmessage $message="tm-zip-render-file" $param="$:/temp/_ZipTiddler" 
filename={{{ [<currentTiddler>encodeuricomponent[]addsuffix[.html]] }}} 
tiddler=<<currentTiddler>> template="$:/core/templates/static.tiddler.html"/>
</$list>
<$action-sendmessage $message="tm-zip-render-file" $param="$:/temp/_ZipTiddler" 
filename="static.css" template="$:/core/templates/static.template.css"/>
<$action-sendmessage $message="tm-zip-download" $param="$:/temp/_ZipTiddler" 
filename="myzip.zip"/>
\end

<$button actions=<<actions-render-static-site>>>
Render site
</$button>

Performance is a bit sluggish with large zip files (>2MB on my desktop machine) 
but otherwise it seems to work well. I’ve got an idea for improving performance 
that I’ll work on if I have time.

Questions and comments welcome.

Best wishes

Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/C47C185A-5BBE-4861-8461-50731738BA89%40gmail.com.

Reply via email to