Build Process for TiddlyWiki Classic

813 views
Skip to first unread message

Tobias Beer

unread,
Mar 7, 2013, 8:47:36 AM3/7/13
to tiddly...@googlegroups.com
Hi everyone,

I currently cannot run the TW build process on my Win8 machine.

Although desireable, figuring out how to set this up and using any test tools involves a bit too much effort out of the blue.

What I know is...
  1. there is an old build process (cook, ginsu, ruby)
  2. there is a new build process (node.js)
  3. there are some tests
  4. there is TinyTiddlyWiki
What I don't know is...
  1. is the old build process still relevant and why
  2. how to set up the old build process
  3. how to run tests using the old build process and how to verify the results
  4. how to set up the new build process on node.js
  5. is the new build process complete
  6. are the tests complete
  7. how to run tests using the new build process and how to verify the results
  8. how to build a TinyTiddlyWiki (old? / new? / tests?)
I would appreciate if we could get all of the above documented in the @TiddlyWikiDev space.

I'll also gladly put it there if someone would post it here...

Cheers, Tobias.

Tobias Beer

unread,
Mar 7, 2013, 8:50:58 AM3/7/13
to tiddly...@googlegroups.com
For a start,

Mario mentioned the following two resources here...

Tobias Beer

unread,
Mar 7, 2013, 8:52:30 AM3/7/13
to tiddly...@googlegroups.com
One more thing,

I believe I am not the only who doesn't work on linux. So, an equivalent process documentation for windows may be equally desireable.

Cheers, Tobias.

PMario

unread,
Mar 7, 2013, 9:30:11 AM3/7/13
to tiddly...@googlegroups.com
Eric uses .bat files to create the stuff with nodejs. I don't know, about the test coverage.
https://github.com/TiddlyWiki/tiddlywiki.com

I didn't test the win version but I got bld.sh to work. The default directory structure has to be exactly as described, otherwise you'll need to set all the environment variables, ...

-m

Jeremy Ruston

unread,
Mar 7, 2013, 11:54:28 AM3/7/13
to TiddlyWikiDev
Hi Tobias

I currently cannot run the TW build process on my Win8 machine.

Although desireable, figuring out how to set this up and using any test tools involves a bit too much effort out of the blue.

What I know is...
  1. there is an old build process (cook, ginsu, ruby)
the old build tools live at https://github.com/tiddlywiki/cooker 
  1. there is a new build process (node.js)
there are two parts to this: the capabilit 

The TW5 documentation for the ability to build TW2 documents is here:


The build scripts for using TW5 to build tiddlywiki.com are here:


  1. there are some tests
The new build process doesn't run the tests. It probably should. 

  1. there is TinyTiddlyWiki
What I don't know is...
  1. is the old build process still relevant and why
The new build process isn't 100% backwards compatible with the old cook/ginsu tools, and so the old tools may be necessary for some legacy operations. The desire is to upgrade the new tools vigorously - a recent example is the work just done on using phantomjs to script the saving of TiddlyWiki's release versions:

 
  1. how to set up the old build process
  2. how to run tests using the old build process and how to verify the results
  3. how to set up the new build process on node.js

The readme.md in github.com/tiddlywiki/tiddlywiki.com should have everything you need to know 
  1. is the new build process complete
There are certainly improvements I'd like to see (eg the ability to use http: URLs in recipe files)
 
  1. are the tests complete
  2. how to run tests using the new build process and how to verify the results
  3. how to build a TinyTiddlyWiki (old? / new? / tests?)
I would appreciate if we could get all of the above documented in the @TiddlyWikiDev space.

It's worth noting that Eric has been maintaining this kind of information in a standalone TiddlyWiki here:


Best wishes

Jeremy

 


I'll also gladly put it there if someone would post it here...

Cheers, Tobias.

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Jeremy Ruston
mailto:jeremy...@gmail.com

Tobias Beer

unread,
Mar 7, 2013, 6:26:20 PM3/7/13
to tiddly...@googlegroups.com, jeremy...@gmail.com
Thanks Jeremy,

I'll try to...
  • dig into this
  • see if I can get to set up my machine and build the thing
    • perhaps using both, the old and new process
  • see what I can bring over to TiddlyWikiDev
    • I like things at one place (less scattered)
Cheers, Tobias.

Jeremy Ruston

unread,
Mar 9, 2013, 6:24:06 AM3/9/13
to Tobias Beer, TiddlyWikiDev
Hi Tobias

I've made a couple of pull requests that get the TW2 tests running with the new build environment:

https://github.com/TiddlyWiki/tiddlywiki/pull/119 - updates the test recipe and tiddler format to the latest versions understood by the new tools

https://github.com/TiddlyWiki/tiddlywiki.com/pull/10 - adds a line to bld.sh to build the tests.html file

(I also made some changes to TW5 to get things working, so you'll need the latest version of that too).

At the moment you can run the tests by opening tests.html in the browser. The next step is to use phantom.js to run the tests automatically.

Best wishes

Jeremy

Yakov

unread,
Oct 29, 2017, 7:40:19 PM10/29/17
to TiddlyWikiDev
Hello everyone,

not sure if it's worthy to post here since the thread is very old; still it seems to have almost every reference I've found so far, so...

I'm on Windows (10) and I'd like to build TWc core. I've pulled TiddlyWiki Classic repo (my branch that I'd like to build and test), installed Ruby (v2.4.2 x64), pulled https://github.com/TiddlyWiki/cooker to a separate folder, tried run to biuld and got an error that takes place even if I just run cook.rb -h:

<custom path to installations>/Ruby_2_4__x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- recipe (LoadError)
        from <custom path to installations>/Ruby_2_4__x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from <path to TiddlyWiki Classic cook>/cook.rb:7:in `<main>'


Can anybody help me with that? I'd like to take maintainance of TWc, but for that (and for my own needs) I have to learn how to build TWc core!

Guidance regarding building TWC with TW5 is also appreciated, but it seems that using cook should be quite simple and there's either something that's broken or I'm missing some simple detail. I have no knowledge of Ruby yet, though.

Best regards,
Yakov.

суббота, 9 марта 2013 г., 14:24:06 UTC+3 пользователь Jeremy Ruston написал:

Jeremy Ruston

unread,
Nov 1, 2017, 1:03:54 PM11/1/17
to TiddlyWikiDev
Hi Yakov

Apologies for the late response.

I'm afraid I can't help with cook/ginsu; I always found them difficult to use because I'm not familiar with Ruby. That was what drove me to rewrite the TWC build process with TW5 back in 2011.

I've just tried to get the TW5-based build process running and found that it is currently broken due to a minor change in TW5 since it was last used.

I'm happy to get things fixed up again, or should I wait to see how you get on with cook/ginsu?

Best wishes

Jeremy.




--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikidev+unsubscribe@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.

PMario

unread,
Nov 1, 2017, 7:04:46 PM11/1/17
to TiddlyWikiDev
On Wednesday, November 1, 2017 at 6:03:54 PM UTC+1, Jeremy Ruston wrote:
I'm happy to get things fixed up again,

please do!
 
or should I wait to see how you get on with cook/ginsu?

-1 IMO needs unnecessary bloat.

-m

BJ

unread,
Nov 2, 2017, 6:20:32 AM11/2/17
to TiddlyWikiDev
what version of the core can be used to build TWC?


On Wednesday, November 1, 2017 at 6:03:54 PM UTC+1, Jeremy Ruston wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.

Jeremy Ruston

unread,
Nov 2, 2017, 7:12:22 AM11/2/17
to tiddly...@googlegroups.com
Hi BJ


what version of the core can be used to build TWC?

One might need to do a git bisect to find the last working build. Some of the code is pretty hacky so may be better to slightly re-engineer.

The current code is written as a deserialiser, but needs the file path of the file. The old hack for that no longer works. I think better to rewrite as a “load-classic-recipe” command

Best wishes

Jeremy

Yakov

unread,
Nov 2, 2017, 11:22:10 AM11/2/17
to TiddlyWikiDev
Hi Jeremy,

I'm not familiar with Ruby, too, and I have no preferences among the two ways, actually I'm looking for an "at least this works" way. However, I'm not familiar with the unit testing system used for TWc core and have no idea if building with TW5 supports that. Also, I need some how-to guide/help since I haven't found any. TiddlyWikiDev space [1] gives links to [2] where I haven't found any instructions and to [3] which seems to be an instruction to build classic.tiddlywiki.com and which looks quite complicated (I can try to extract a recipe of how to build TWc from there, but if there's something more brief, it will be lovely to know). Also please keep in mind that for now I'm not very familiar with TW5.

Best regards,
Yakov.

[1] http://yakovl.bplaced.net/TW/TS_backups/TiddlyWikiDev.tiddlyspace.com%20(31.12.2016).html#Build
[2] http://tiddlywiki.com/dev/
[3] https://github.com/TiddlyWiki/tiddlywiki.com/blob/master/README.md

четверг, 2 ноября 2017 г., 14:12:22 UTC+3 пользователь Jeremy Ruston написал:

Jeremy Ruston

unread,
Nov 5, 2017, 9:48:39 AM11/5/17
to TiddlyWikiDev
Hi Yakov

I've made a number of updates that should get the TW2 build process working again:

1. Fixing a regression in TW5 that had broken the "classictools" TW5 plugin that we use for the build process
2. Removing the old code associated with pulling the content down from TiddlySpace, and instead storing the content in the tiddlywiki repo
3. Working around the removal of the editions/tw2 edition from TW5


Anyhow, things are working for me now under Mac OS X. I haven't tested under Windows.

The instructions for the build process can be found here:


Hopefully now Eric and I between us should be able to help you get up and running,

Best wishes

Jeremy


To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikidev+unsubscribe@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

For more options, visit https://groups.google.com/d/optout.

Yakov

unread,
Nov 11, 2017, 1:12:18 PM11/11/17
to TiddlyWikiDev
Hello Jeremy,

I've played a bit with these tools and got a number of questions (and also notes regarding how the .md file [1]).

What I have done already:
  • downloaded WinDiff, pulled TiddlyWiki/TiddlyWiki to somedir\TiddlyWiki, TiddlyWiki/tiddlywiki.com to somedir\tiddlywiki.com_and_builders, Jermolene/TiddlyWiki5 to somedir\TiddlyWiki5.
    • actually, somedir\TiddlyWiki was somedir\TiddlyWiki Classic core at first, but running somedir\tiddlywiki.com_and_builders\bld.bat showed some errors and I've figured (judging by the bld.bat code) that path to the TiddlyWiki Classic repo must be ..\TiddlyWiki relatively to bld.bat and is not configurable
    • (haven't downloaded curl and phantomjs since the .md says the former is needed to retrieve content from TiddlySpace and the latter is only used by the OS X/Linux batch files; and haven't pulled TiddlyWiki/tiddlywiki.github.com since I'm not publishing the build to tiddlywiki.com yet)
  • edited somedir\tiddlywiki.com_and_builders\setenv.bat namely:
    • TIDDLYWIKI_RELEASE=2.9.1
    • TIDDLYWIKI5_DIR=%CD%\..\TiddlyWiki5
    • SET BROWSER="C:\<path\to\Vivaldi>\vivaldi.exe"
    • SET DIFF="<somedir>\WinDiff.exe"
  • run bld.bat from the somedir\tiddlywiki.com_and_builders. What happens:
    • somedir\tiddlywiki.com_and_builders\cooked\2.9.1 is cleared as expected.
    • what is created inside \2.9.1:
      • jquery.js
      • jQuery.twStylesheet.js
      • tests.html
      • TiddlySaver.jar
      • tiddlywiki_externaljs.html
      • tiddlywiki_externaljs_tiddlyspace.html
      • twcore.js
    • however, despite the .bat reports ... creating EMPTY.HTML and INDEX.XML from INDEX.HTML ... copying INDEX.HTML to TEST/INDEX.2.9.1.HTML ... copying EMPTY.HTML to TEST/EMPTY.2.9.1.HTML, there's no INDEX.2.9.1.HTML and EMPTY.2.9.1.HTML inside the somedir\tiddlywiki.com_and_builders\test\ folder
    • in browser (Vivaldi): somedir\tiddlywiki.com_and_builders\phantom_driver.js is opened and nothing else (no html)
    • full output of bld.bat is below
  • I'm puzzled: is there something I haved missed? Where should I look for the built TWc file? Can I build it before any tests just to see what's built? (the process description suggests that it should work this way but it seems something went wrong)
Some notes and questions regarding the .md file:
  • it wasn't obvious that I have to pull tiddlywiki/tiddlywiki.com and look for setenv.bat and bld.bat there (not in TW5 repo)
  • the repo describes the recommended directory structure but doesn't mention that it is required that the TWc repo must have path ../tiddlywiki relatively to bld.bat
  • there's 2 sections headed "Building classic.tiddlywiki.com on Windows". What's the difference? The first one is actually needed for both building TWc file and classic.tiddlywiki.com which is somewhat confusing (I'd change to Building classic.tiddlywiki.com and TiddlyWiki Classic on Windows)
  • the overall hierarchy of sections/headers is somewhat confusing, too, but I'll be ready to propose distinct changes after I successfully build TWc, I think

Best regards,
Yakov.

[1] https://github.com/TiddlyWiki/tiddlywiki.com/blob/master/README.md
full output of bld.bat (with the paths substituted with <somedir>):
BUILD: clearing target folder: "cooked/2.9.1"
- - - - - - - - - - - - - - -
BUILD: assembling INDEX.HTML (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ./index.html.recipe
fs.js:642
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open '<
somedir>\tiddlywiki\content\split.recipe'
    at Error (native)
    at Object.fs.openSync (fs.js:642:18)
    at Object.fs.readFileSync (fs.js:510:33)
    at processRecipe ($:/plugins/tiddlywiki/classictools/recipe.js:63:34)
    at exports.text/vnd.tiddlywiki2-recipe ($:/plugins/tiddlywiki/classictools/recipe.js:71:2)
    at $tw.Wiki.deserializeTiddlers (
<somedir>\TiddlyWiki5\boot\boot.js:1249:23)
    at $tw.loadTiddlersFromFile (
<somedir>\TiddlyWiki5\boot\boot.js:1480:23)
    at $tw.loadTiddlersFromPath (
<somedir>\TiddlyWiki5\boot\boot.js:1530:22)
    at Command.execute ($:/core/modules/commands/load.js:33:21)
    at Commander.executeNextCommand ($:/core/modules/commander.js:115:14)
- - - - - - - - - - - - - - -
BUILD: assembling TESTS.HTML (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ../tiddlywiki/test/recipes/tests.html.recipe
Executing command: rendertiddler $:/core/templates/tiddlywiki2.template.html
<somedir>\tiddlywiki.com_and_builders\cooked\2.9.1/tests.html text/plain
- - - - - - - - - - - - - - -
BUILD: creating TIDDLYWIKI_EXTERNALJS.HTML (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ../tiddlywiki/tiddlywiki_externaljs.html.recipe
Executing command: rendertiddler $:/core/templates/tiddlywiki2.template.html
<somedir>\tiddlywiki.com_and_builders\cooked\2.9.1/tiddlywiki_externaljs.html text/plain
- - - - - - - - - - - - - - -
BUILD: creating TIDDLYWIKI_EXTERNALJS_TIDDLYSPACE.HTML (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ../tiddlywiki/tiddlywiki_externaljs_tiddlyspace.html.recipe
Executing command: rendertiddler $:/core/templates/tiddlywiki2.template.html
<somedir>\tiddlywiki.com_and_builders\cooked\2.9.1/tiddlywiki_externaljs_tiddlyspace.html text/plain
- - - - - - - - - - - - - - -
BUILD: creating TWCORE.JS (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ../tiddlywiki/tiddlywikinosaver.html.recipe
Executing command: rendertiddler $:/core/templates/tiddlywiki2.externaljs.template.html
<somedir>\tiddlywiki.com_and_builders\cooked\2.9.1/twcore.js text/plain
- - - - - - - - - - - - - - -
BUILD: copying TIDDLYSAVER.JAR
- - - - - - - - - - - - - - -
BUILD: copying JQUERY.JS
- - - - - - - - - - - - - - -
BUILD: copying JQUERY.TWSTYLESHEET.JS
- - - - - - - - - - - - - - -
BUILD: creating EMPTY.HTML and INDEX.XML from INDEX.HTML
- - - - - - - - - - - - - - -
BUILD: copying INDEX.HTML to TEST/INDEX.2.9.1.HTML
BUILD: copying EMPTY.HTML to TEST/EMPTY.2.9.1.HTML
- - - - - - - - - - - - - - -
BUILD: done


воскресенье, 5 ноября 2017 г., 17:48:39 UTC+3 пользователь Jeremy Ruston написал:
Message has been deleted
Message has been deleted

Jeremy Ruston

unread,
Dec 12, 2017, 6:17:03 AM12/12/17
to TiddlyWikiDev
Hi Yakov

my bad, I thought that the update you were talking about was some time ago and haven't checked the repo. Now I've updated my forks and tried bld.bat and got much nicer results but still somewhat incomplete.

Great stuff, I'm very pleased you are still working on this.
 
So what's nice is that in somedir\tiddlywiki.com_and_builders\test I now got cooked index.2.9.1.html which is classic.tiddlywiki.com file with the new core. Same file is inside the somedir\tiddlywiki.com_and_builders\cooked\2.9.1\ folder (named index.html; I've compared them, texts are identical).

What's not that nice:
  • empty.2.9.1.html is not cooked (no present in both cooked/2.9.1/ and test/ subfolders of somedir\tiddlywiki.com_and_builders\
It sounds like PhantomJS needs to be installed - http://phantomjs.org/

It enables the batch file to invoke TiddlyWiki itself to generate the empty file and the RSS index file.


The script suggests that you'll need to set the environment variable BROWSER to point to the phantomjs executable.

 
  • bld.bat output still contains an error; it's another one, though: now in the 4th block, see the log below. Looks like the tiddlywiki_externaljs_tiddlyspace.html.recipe was deleted but the building tools still try to use it (I've made git fetch origin master and have checked git status for them, looks like I'm up-to-date).

I've removed the obsolete build steps I missed before:


https://github.com/TiddlyWiki/tiddlywiki.com/commit/60d32efadec15fb13ef5ede4b201e3fbd874fed1

 
  • there are many errors in tests.html. I've tried to build both current TWc core and my updated core, I've got only one new test failed and over 10 others are failed with the current core. There's definitely a number of tests which should be rewritten (for instance, slice names no longer can't have space in their name), they are located (defined) in TiddlyWiki/test/ , right?

That certainly makes sense, do feel free to adjust the tests as required.

 
  • when I run building, still phantom_driver.js is opened in browser instead of anything helpful. Any ideas?
Best regards,
Yakov.

See above.


Good luck, and let me know how you get on,


Best wishes


Jeremy

 

The full output:

BUILD: clearing target folder: "cooked/2.9.1"
- - - - - - - - - - - - - - -
BUILD: assembling INDEX.HTML (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ./index.html.recipe
Executing command: rendertiddler $:/core/templates/tiddlywiki2.template.html D:\data\based_here\code\tiddlywiki.com_and_builders\cooked\2.9.1/index.html text/plain

- - - - - - - - - - - - - - -
BUILD: assembling TESTS.HTML (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ../tiddlywiki/test/recipes/tests.html.recipe
Executing command: rendertiddler $:/core/templates/tiddlywiki2.template.html D:\data\based_here\code\tiddlywiki.com_and_builders\cooked\2.9.1/tests.html text/plain

- - - - - - - - - - - - - - -
BUILD: creating TIDDLYWIKI_EXTERNALJS.HTML (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ../tiddlywiki/tiddlywiki_externaljs.html.recipe
Executing command: rendertiddler $:/core/templates/tiddlywiki2.template.html D:\data\based_here\code\tiddlywiki.com_and_builders\cooked\2.9.1/tiddlywiki_externaljs.html text/plain

- - - - - - - - - - - - - - -
BUILD: creating TIDDLYWIKI_EXTERNALJS_TIDDLYSPACE.HTML (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ../tiddlywiki/tiddlywiki_externaljs_tiddlyspace.html.recipe
Error: No tiddlers found in file "../tiddlywiki/tiddlywiki_externaljs_tiddlyspace.html.recipe"
- - - - - - - - - - - - - - -
BUILD: creating TWCORE.JS (v2.9.1)
Boot log:
  Startup task: load-modules
  Startup task: info after: load-modules before: startup
  Startup task: startup after: load-modules
  Startup task: story after: startup
  Startup task: commands platforms: node after: story
Executing command: load ../tiddlywiki/tiddlywikinosaver.html.recipe
Executing command: rendertiddler $:/core/templates/tiddlywiki2.externaljs.template.html D:\data\based_here\code\tiddlywiki.com_and_builders\cooked\2.9.1/twcore.js text/plain

- - - - - - - - - - - - - - -
BUILD: copying TIDDLYSAVER.JAR
- - - - - - - - - - - - - - -
BUILD: copying JQUERY.JS
- - - - - - - - - - - - - - -
BUILD: copying JQUERY.TWSTYLESHEET.JS
- - - - - - - - - - - - - - -
BUILD: creating EMPTY.HTML and INDEX.XML from INDEX.HTML
- - - - - - - - - - - - - - -
BUILD: copying INDEX.HTML to TEST/INDEX.2.9.1.HTML
BUILD: copying EMPTY.HTML to TEST/EMPTY.2.9.1.HTML
- - - - - - - - - - - - - - -
BUILD: done


суббота, 11 ноября 2017 г., 21:12:18 UTC+3 пользователь Yakov написал:
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikidev+unsubscribe@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

For more options, visit https://groups.google.com/d/optout.

Tobias Beer

unread,
Dec 18, 2017, 10:39:49 AM12/18/17
to TiddlyWikiDev
Hi Jeremy / Yakov,

I managed to build TWC, I believe...
BUT the number of failing tests in tests.html,
and the continued popups informing me of this error:

TypeError: Cannot read property 'formatterRegExp' of null

...are quite irritating, for now.

best -tb

Tobias Beer

unread,
Dec 18, 2017, 4:49:43 PM12/18/17
to TiddlyWikiDev
@Jeremy,

Was there a particular necessity why the TWC build process involves recipes and also phantom.js?

Especially the former appear to complicate things a lot and make it somewhat less intuitive to build custom wikis.

best -tb

Jeremy Ruston

unread,
Dec 18, 2017, 5:52:32 PM12/18/17
to tiddly...@googlegroups.com
Hi Tobias


Was there a particular necessity why the TWC build process involves recipes and also phantom.js?

The recipe files have been part of the TWC build process since 2005; they're implemented in TW5 via the "classictools” plugin.

We integrated Phantom.js sometime between 4 and 8 years ago. The final stage of the build process is to run TWC under Phantom.js in order to generate the index.xml RSS file.

Best wishes

Jeremy


Especially the former appear to complicate things a lot and make it somewhat less intuitive to build custom wikis.

best -tb

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Yakov

unread,
Dec 27, 2017, 10:52:15 AM12/27/17
to TiddlyWikiDev
Hi Jeremy,

I wanted to write once I manage to correct at least one test and be ready to become a maintainer of TWc, but as a short note: yeap, now building works somewhat as expected and I also made a pull request to the tiddlywiki.com repo [1] to clarify the docs (I'll make some more suggestions later, the description definitely should be refactored to simplify the process for beginners).

Best regards,
Yakov.

[1] https://github.com/TiddlyWiki/tiddlywiki.com/pull/29

вторник, 19 декабря 2017 г., 1:52:32 UTC+3 пользователь Jeremy Ruston написал:

Yakov

unread,
Jan 1, 2018, 4:02:37 PM1/1/18
to TiddlyWikiDev
Hi guys, happy new year :)

I've successfully modified a couple of tests and will make a pull request once I build a complete set of tests for extended slices, now I think I can become a maintainer, although there's a number things to learn still (most notably, how to update classic.tiddlywiki.com once a new version is ready). Jeremy, let me know how should I proceed for this.

Another thing to note is I've found a probable source of those multiple TypeError: Cannot read property 'formatterRegExp' of null errors when tests.html is opened. Since I've faced this error before in a plugin where the problem was formatter is built before plugins are loaded and the plugin used getPageTitle, I've suspected tests are launched before main – and it looks so: first, the accepted answer at [1] suggests that window.onload (which, as [2] suggests, is the same as <body onload=...>) fires later than jQuery(document).ready(..); second, if (in tests.html) in

test("generateRss: feed for an empty store", function() {

I put

        alert('1');
        alert(formatter);
        var rss = generateRss();
        alert('2');

instead of just var rss = generateRss();, I see the '1' alert before all of those error alerts, second alert indicates that formatter is actually null, then 5 of those errors are shown and then goes '2'.

It is tempting to use the same hack I've used in the plugin I've mentioned before: substitute

problematicFunctionThatNeedsFormatterToBeBuilt();

with

formatter = new Formatter(config.formatters);
problematicFunctionThatNeedsFormatterToBeBuilt();
formatter = null;

but I'm not sure yet if that can trick some tests and it feels like there should be a more consistent approach to this. Any suggestions? By the way, if I extend the example above like this:

        alert('1');
        var formatterCash = formatter;
        formatter = new Formatter(config.formatters);
        var rss = generateRss();

        formatter = formatterCash;
        alert('2');

all error messages between '1' and '2' alerts go away and all the "3. GenerateRss" tests are passed.

Best regards,
Yakov.

[1] https://stackoverflow.com/a/3698214/3995261
[2] https://stackoverflow.com/a/191318/3995261

среда, 27 декабря 2017 г., 18:52:15 UTC+3 пользователь Yakov написал:

Yakov

unread,
Jan 2, 2018, 9:24:00 AM1/2/18
to TiddlyWikiDev
PS on the design part: to put it simply, tests should be run after main() worked. Other 80+ alerts are for the Macros.js tests, and if I put

formatter = new Formatter(config.formatters);

after

module("Macros.js", {});

both alerts are removed and tests 34-60 are passed. Though it doesn't mean all of the alerts were there because of Macros.js tests since in this case I don't set formatter back to null (seemingly I have to set and unset formatter in each test separately to do that).

Other tests however need separate consideration (32, 33 for loading/saving; 66 for readMacroParams should be updated for the new version, 76 should be updated, too, for extended slices).

I have some additional questions:

? TiddlyWiki/test/README says there are JSSpec tests, but I don't see them. Were they removed? Should README be updated?

? what is a .recipe file? How they are ~concatenated? Some of them contain only tiddler or recipe commands (sounds like "include one recipe into another) while others various commands like
template, copyright, style, noscript, jsext (TiddlyWiki/html/split.recipe)
prehead, shadow (TiddlyWiki/shadows/split.recipe)
version, js (TiddlyWiki/js/split.recipe)
jsdeprecated (TiddlyWiki/deprecated/split.recipe)
jslib, jquery (TiddlyWiki/jquery/split.recipe, TiddlyWiki/jquery/plugins/split.recipe)
a whole zoo of them. Is there some docs/group threads with their description?

? (for now, just out of curiosity) does TW5 use some unit-tests system? Which one?

Best regards,
Yakov.

вторник, 2 января 2018 г., 0:02:37 UTC+3 пользователь Yakov написал:

Jeremy Ruston

unread,
Jan 2, 2018, 5:33:34 PM1/2/18
to TiddlyWikiDev
Hi Yakov

Happy New Year to you, too, and well done on the excellent progress.

I’ve merged the documentation PR: https://github.com/TiddlyWiki/tiddlywiki.com/pull/29

> I've successfully modified a couple of tests and will make a pull request once I build a complete set of tests for extended slices, now I think I can become a maintainer, although there's a number things to learn still (most notably, how to update classic.tiddlywiki.com once a new version is ready). Jeremy, let me know how should I proceed for this.

Great stuff. The next step is for you to be given the necessary access to the https://github.com/TiddlyWiki/tiddlywiki.github.com repo (as well as the https://github.com/TiddlyWiki/tiddlywiki.com and https://github.com/TiddlyWiki/TiddlyWiki repos). I’ve gone ahead and done that, hopefully you’ll have received a notification from GitHub.

? TiddlyWiki/test/README says there are JSSpec tests, but I don't see them. Were they removed? Should README be updated?

I suspect that the README needs updating.

? what is a .recipe file? How they are ~concatenated? Some of them contain only tiddler or recipe commands (sounds like "include one recipe into another) while others various commands like
template, copyright, style, noscript, jsext (TiddlyWiki/html/split.recipe)
prehead, shadow (TiddlyWiki/shadows/split.recipe)
version, js (TiddlyWiki/js/split.recipe)
jsdeprecated (TiddlyWiki/deprecated/split.recipe)
jslib, jquery (TiddlyWiki/jquery/split.recipe, TiddlyWiki/jquery/plugins/split.recipe)
a whole zoo of them. Is there some docs/group threads with their description?

Recipe files were introduced with the original Ruby-based “cook” tool. I don’t think that the format was ever documented. I reverse engineered the Ruby code in order to develop the TW5 support:


? (for now, just out of curiosity) does TW5 use some unit-tests system? Which one?

Yakov

unread,
Jan 21, 2018, 7:03:28 PM1/21/18
to tiddly...@googlegroups.com
Hi guys,

today's progress is somewhat nice, although the visible part is quite small: +1 merge, -1 issue (my own, corresponding to the merged PR), +1 pull. But I also learned and practiced with git/github (GH merge happened to be a frustrating practice since it doesn't really merge, but creates a new commit so my master branch got 3 commits behind, 1 ahead of TW/TW/master and I ended up with hard resetting it locally [git reset --hard 5a53e55], force-pushing [git push -f origin master] and then merging locally [git merge official/master] which made it what I expected it to be; to find out history of JSSpec, used search by commit comments etc, details are in the pull request). More importantly, I've found a hack that fixes macros tests in a "compact" manner, without touching any other tests or things after tests, but to minimize hackery, I'll research why substituting jQuery(document).ready(function(){ with jQuery(document).on('startup',function(){ didn't work for me since this seems to be a very sane way to start tests at appropriate time (doc.trigger("startup") is called in the end of startup).

Now, regarding pull requests/merging I wonder if I should discuss those with others somehow or I just PR/merge until somebody sais "wait, that one was not that unambiguous". I'm planning to incorporate several fixes to the core, deal with some PRs, fix testing system but at some point I'm going to change some code structure (mostly to simplify it) and start adding some helpers (like Tiddler.prototype.getSection/.getSlice) and probably even features (adding viewport/making interface adaptive? nowrap option to the <html> formatter? reactivity? better keyboard navigation? I've got an amount of perspectives[*], along with limited time :) – I'm researching/implementing those mostly in form of plugins but some seem to desert a spot in the core). Of'course some questions are to be discussed with end users of TWc but I don't know well if some of the dev guys are still interested in discussing TWc architecture/development. And also I'm definitely biased in terms of testing (as for plugins I've created, I've never tested most of them in IE/Edge/Safari – things like that).

Along with fixing tests and issues I'll probably be learning using git rebase: looks like it is an exact tool to deal with this mess. If there are any suggestions regarding this, let me know (as well as suggestions of how to merge on GitHub in a proper way or other things regarding git/github workflow).

Another thing I'd like to ask is – I remember some discussions regarding updating jQuery version and even some rollbacks of such updates. In the future I'll probably want to update it, so – what are main obstacles? Is it enough to check if all tests work the same way as they did?

Best regards,
Yakov.

[*] here's an in-progress map of core values (with many things omitted – those that definitely don't belong to the core or the back-end core) (ok, Google rejects to insert it nicely, use zoom out to see the whole thing):


среда, 3 января 2018 г., 1:33:34 UTC+3 пользователь Jeremy Ruston написал:
Auto Generated Inline Image 1

PMario

unread,
Jan 22, 2018, 8:48:10 AM1/22/18
to TiddlyWikiDev
Hi Yakov,


Along with fixing tests and issues I'll probably be learning using git rebase: looks like it is an exact tool to deal with this mess. If there are any suggestions regarding this, let me know (as well as suggestions of how to merge on GitHub in a proper way or other things regarding git/github workflow).

I do use the following workflow (for TiddlyWiki5), which never caused merge conflicts for me.

I'm using 2 aliases for my local git repos:

 - origin ... points to my github account, where I do have write access.
 - upstream ... points to the "main project" account ... which only merges to master with pull requestes, even if I have write access!

The most important rule for me is: 

 - Never, ever commit and push to origin remote master branch!

Except for

 - git status ... if working tree is clean I can go on. If not I need to commit to a "feature-branch" or I simply do a "git stash"
 - git checkout master
 - git pull upstream master
 - git push origin master   .... to update origin repo.

 
My local workflow looks like this:

 - git status ... if working tree is clean I can go on. If not I need to commit to a "feature-branch" or I simply do a "git stash"
 - git checkout master
 - git pull upstream master
 - git checkout -b new-feature-branch
 - git add .
 - git commit -m "detailed info"
 - git push origin new-feature-branch

 - Create a PR with github web UI.
 - Once the PR is merged start over with git status ...

have fun!
mario




Yakov

unread,
Jan 24, 2018, 8:05:17 AM1/24/18
to TiddlyWikiDev
Hi Mario,

thanks, I've almost came up with the same workflow, but the issue with merging on github side was an unexpected one. For now I'll be using this workflow, although may be I'll add rebasing and also I have to admit that merging updates of master to each branch is somewhat annoying, I'll probably do something about it.

Now, yesterday I've done some debugging and found the real problem that broke those tests. It's not formatter was created too late, rather it wasn't created at all because startup process (main) crashes. The cause is QUnit overwrites window.isLocal as a boolean while TW defines it and main tries to call it as a function. Commenting out QUnit.isLocal = !!(location.protocol === 'file:'); (which is later is set to window using extend(window, QUnit);) in test/qunit/qunit.js fixes all tests (but LoadingSaving and slices) and removes the error messages. I wonder if this may break something, but from what I see, no error messages are shown in console and looking through the whole tests.html source (search for isLocal and in QUnit, in window) makes me think it's ok to remove (comment out) that line – as far as I can see, this property isn't really used anywhere. I'll probably comment this out in the next PR.

Best regards,
Yakov.

понедельник, 22 января 2018 г., 16:48:10 UTC+3 пользователь PMario написал:

Yakov

unread,
Jan 24, 2018, 8:09:11 AM1/24/18
to TiddlyWikiDev
PS is that correct that the upstream name is purely a convention and git doesn't do anything different with regard to it, technically?

среда, 24 января 2018 г., 16:05:17 UTC+3 пользователь Yakov написал:

PMario

unread,
Jan 24, 2018, 9:56:27 AM1/24/18
to TiddlyWikiDev
On Wednesday, January 24, 2018 at 2:09:11 PM UTC+1, Yakov wrote:
PS is that correct that the upstream name is purely a convention and git doesn't do anything different with regard to it, technically?

Yes ... All aliases are just a convention. ... If you use the same schema for all your local repos, it helps to minify "user errors"

For me "push origin" means ... I can savely write to it.

"push upstream" means ... Be really carefull ... Messing it up, will cause a lot of work to fix it!

-m

Yakov

unread,
Jan 24, 2018, 5:31:16 PM1/24/18
to TiddlyWikiDev
So, regarding classic.tiddlywiki.com..

Is it correct that editing it can be done by just (forking and) cloning the [1] repo and editing TW in a browser? (and pushing back to fork and merging) I mean are recipes at [2] outdated since TiddlySpace is down (so [2] now has nothing to do with [1] and classic.tiddlywiki.com)?

No, wait, this can't be. First, TW version won't be updated this way (as well as the download package). Second, which is more surprising, for now I have only cloned [2] and still got cooked/2.9.1/index.html with classic.tiddlywiki.com's content in it once I've cooked TW.. is content from [1] accounted at all?

Any suggestions? What's the correct workflow? Yeah, the last change was done back in 2013, so it won't surprise me if nobody remembers...

Best regards,
Yakov.

[1] https://github.com/TiddlyWiki/tiddlywiki.github.com
[2] https://github.com/TiddlyWiki/tiddlywiki.com/

среда, 24 января 2018 г., 17:56:27 UTC+3 пользователь PMario написал:

Yakov

unread,
Jan 26, 2018, 6:12:12 PM1/26/18
to TiddlyWikiDev
Hi guys,

ok, from what I understand now, bld.bat creates index.html (for classic.tiddlywiki.com) with the following line:

node %TIDDLYWIKI5_DIR%/tiddlywiki.js ./wiki --verbose --load ./index.html.recipe --rendertiddler $:/core/templates/tiddlywiki2.template.html %TIDDLYWIKI_DEST%/index.html text/plain

which points to the index.html.recipe which contains

recipe: ../tiddlywiki/tiddlywikinosaver.html.recipe
recipe: ../tiddlywiki/content/split.recipe


and the latter contains the list of tiddlers that are in the same folder (tiddlywiki/content) which actually constitute content of index.html.

What I still don't understand is how do I get those .tid files updated (except for editing them as plain text) from the tiddlywiki.github.com repo (and shouldn't we move the content files to that repo instead of the repo of TW2 core?). It would be nice to edit a TW (tiddlywiki.github.com repo/index.html) and get those files updated..

Any suggestions? Jeremy, where did you get those .tid files from (and how?) for making this commit: https://github.com/TiddlyWiki/TiddlyWiki/commit/c5d5c85eb7337a4f052f0d0151de0679be72e0ed ?

Best regards,
Yakov.

четверг, 25 января 2018 г., 1:31:16 UTC+3 пользователь Yakov написал:

Jeremy Ruston

unread,
Jan 27, 2018, 5:58:40 AM1/27/18
to tiddly...@googlegroups.com
Hi Yakov

Terrific progress, well done!

What I still don't understand is how do I get those .tid files updated (except for editing them as plain text) from the tiddlywiki.github.com repo (and shouldn't we move the content files to that repo instead of the repo of TW2 core?). It would be nice to edit a TW (tiddlywiki.github.com repo/index.html) and get those files updated..

The tiddlywiki.github.com repo is for storing the output of the build process; the files within it are exposed to the web as https://classic.tiddlywiki.com. There shouldn't be anything in that repo that was not generated by the build process.

Any suggestions? Jeremy, where did you get those .tid files from (and how?) for making this commit: https://github.com/TiddlyWiki/TiddlyWiki/commit/c5d5c85eb7337a4f052f0d0151de0679be72e0ed ?

Those .tid files were obtained from a backup of tiddlywiki.tiddlyspace.com that I took before it shut down.

To make further content changes you'd manually edit those .tid files, recommit them to the TiddlyWiki/TiddlyWiki repo, and then re-run the build process to regenerate tiddlywiki.github.com.

Best wishes

Jeremy.


Best regards,
Yakov.

четверг, 25 января 2018 г., 1:31:16 UTC+3 пользователь Yakov написал:
So, regarding classic.tiddlywiki.com..

Is it correct that editing it can be done by just (forking and) cloning the [1] repo and editing TW in a browser? (and pushing back to fork and merging) I mean are recipes at [2] outdated since TiddlySpace is down (so [2] now has nothing to do with [1] and classic.tiddlywiki.com)?

No, wait, this can't be. First, TW version won't be updated this way (as well as the download package). Second, which is more surprising, for now I have only cloned [2] and still got cooked/2.9.1/index.html with classic.tiddlywiki.com's content in it once I've cooked TW.. is content from [1] accounted at all?

Any suggestions? What's the correct workflow? Yeah, the last change was done back in 2013, so it won't surprise me if nobody remembers...

Best regards,
Yakov.

[1] https://github.com/TiddlyWiki/tiddlywiki.github.com
[2] https://github.com/TiddlyWiki/tiddlywiki.com/

среда, 24 января 2018 г., 17:56:27 UTC+3 пользователь PMario написал:
On Wednesday, January 24, 2018 at 2:09:11 PM UTC+1, Yakov wrote:
PS is that correct that the upstream name is purely a convention and git doesn't do anything different with regard to it, technically?

Yes ... All aliases are just a convention. ... If you use the same schema for all your local repos, it helps to minify "user errors"

For me "push origin" means ... I can savely write to it.

"push upstream" means ... Be really carefull ... Messing it up, will cause a lot of work to fix it!

-m

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Yakov

unread,
Jan 28, 2018, 3:15:50 PM1/28/18
to TiddlyWikiDev
Hi Jeremy,

Terrific progress, well done!

:D thanks for words of encouragement! I myself understand that for end-users there's no progress at all for now, but these steps are necessary and, in a way, are valuable experience.

The tiddlywiki.github.com repo is for storing the output of the build process; the files within it are exposed to the web as https://classic.tiddlywiki.com. There shouldn't be anything in that repo that was not generated by the build process.

[...]


Those .tid files were obtained from a backup of tiddlywiki.tiddlyspace.com that I took before it shut down.

To make further content changes you'd manually edit those .tid files, recommit them to the TiddlyWiki/TiddlyWiki repo, and then re-run the build process to regenerate tiddlywiki.github.com.

Right, I see. Yet, I wonder if TW5 is also capable of "exploding" a TWc into those .tid files: it would be a nicer workflow if I could edit content in an ordinary TW and then explode + cook new index.html. Is there currently such a feature?

Best regards,
Yakov.
 

okido

unread,
Mar 1, 2018, 8:01:34 AM3/1/18
to TiddlyWikiDev
Hi Yakov,

I used the github repo to build a fresh TWc, I just glued all files together with some node scripts.
The final TWc fails at one point, in Saving.js at line 126 there is a lost </script> tag that crashes the TWc when loaded.

125 content=content.replace(/<div id="saveTest">savetest<\/div>/,'<div id="saveTest"></div>');
126 //# clear <applet> following </script>, please use < / script >
127 content=content.replace(/script><applet [^\>]*><\/applet>/g,'script>');

Have a nice day, Okido

Op zondag 28 januari 2018 21:15:50 UTC+1 schreef Yakov:

Yakov

unread,
Mar 21, 2018, 6:17:56 AM3/21/18
to TiddlyWikiDev
Hi okido,

do you mean you use some custom script for building TW? Can you share it?

Actually, now the building process using TW5 works well for me, although the


BUILD: creating EMPTY.HTML and INDEX.XML from INDEX.HTML

stage works slower than I'd like it to.

Do you have any problems with the current description of the building process? I've updated it considerably although that was mostly about the structure of the docs and I'm planning to update building details as well at some point. Any feedback here is appreciated.

Best regards,
Yakov.

четверг, 1 марта 2018 г., 16:01:34 UTC+3 пользователь okido написал:

okido

unread,
Mar 25, 2018, 3:55:07 PM3/25/18
to TiddlyWikiDev
Hi Yakov,

I can only build an empty html TWc with a node script that retrieves the files, concate them and replaces the place holders in the template, no testing is done other than loading the TWc in a browser.
I am going to clean up the code a litle and will pass it on.


Have a nice day, Okido


Op woensdag 21 maart 2018 11:17:56 UTC+1 schreef Yakov:

okido

unread,
Jun 20, 2018, 10:25:30 AM6/20/18
to TiddlyWikiDev
Hi Yakov,

I used the master from https://github.com/YakovL/tiddlywiki to build a TWc and compared it with your published TWc 2.9.1.
In the master the shadow tiddlers contain << and >>, in your build these are replaced by &lt;&lt; etc.
Do you replace << by &lt;&lt; in your build process ?

Yakov

unread,
Jun 20, 2018, 4:56:03 PM6/20/18
to TiddlyWikiDev
Hi Okido,

could you specify links to and parts of files which refer to? I mean, I've opened empty.html that I've built, found merge(config.shadowTiddlers,{ (line 1209) and SideBarTabs in it (line 1216) and there are "<", not "&lt;".

Actually, I haven't dived into the building scripts, they just worked and I thought "right, the building process works normally, now let's update the other parts of infrastructure (like tests and TWc site)".

But new lightweight scripts with documented internals are surely welcome.

Best regards,
Yakov.

среда, 20 июня 2018 г., 17:25:30 UTC+3 пользователь okido написал:

okido

unread,
Jun 21, 2018, 5:54:17 AM6/21/18
to TiddlyWikiDev
Hello Yakov,

When I use the file https://github.com/YakovL/tiddlywiki/blob/YLTW/shadows/GettingStarted.tid it contains a macro call: <<option txtUserName>>
Code:
title: GettingStarted

To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>

When I look up this code in your build that is here: https://groups.google.com/forum/#!topic/tiddlywikiclassic/4xiDlSbiY9c the code is inserted at line 117 and looks like this:

</div>
<div title="GettingStarted">
<pre>To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] &amp; [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: &lt;&lt;option txtUserName&gt;&gt;
</pre>
</div>



As you can see the macro changed from <<option txtUserName>> to &lt;&lt;option txtUserName&gt;&gt; this is no problem as it executes properly.
The issue is that when I build from the code that contains << and >> I need to replace the << >> by
&lt;&lt; &gt;&gt; etc else it renders incorrect, it becomes <<option txtusername="">>;\n</option>.
It only is happening with the shadow tiddlers.
Hence my question if your build script replaces the << >>  to html entity names.

I hope this makes it clear.

Yakov

unread,
Jul 3, 2018, 6:21:26 AM7/3/18
to TiddlyWikiDev
Hello Okido, sorry for the delay,

yeah, you are right, surprisingly there's 2 types of shadows: those stored in shadowArea (ColorPalette, EditTemplate, GettingStarted, ImportTiddlers, MarkupPreHead, OptionsPanel, PageTemplate, StyleSheetColors, StyleSheetLayout, StyleSheetLocale, StyleSheetPrint, ViewTemplate) and those merged to config.shadowTiddlers by JavaScript (line 1209 and below: DefaultTiddlers, MainMenu, SiteTitle, SiteSubtitle, SiteUrl, SideBarOptions, SideBarTabs, TabMore). Not sure what's the main difference (I'd guess that the first ones should be loaded quicker but since GettingStarted is in the first group while DefaultTiddlers is in the second, I'm not really sure).

It is most likely the first group is "cooked" as html (hence &lt; and &gt;) via the .externalizeTiddler method ( https://github.com/TiddlyWiki/TiddlyWiki/blob/master/js/TW21Saver.js#L9 ). I'm afraid I can't provide much more details without diving into TW5 code: the building script for index.html is just one line


node %TIDDLYWIKI5_DIR%/tiddlywiki.js ./wiki --verbose --load ./index.html.recipe --rendertiddler $:/core/templates/tiddlywiki2.template.html %TIDDLYWIKI_DEST%/index.html text/plain

although building empty.html is done in a stranger manner: it is build from index.html (TW with content for classic.tiddlywiki.com):

echo BUILD: creating EMPTY.HTML and INDEX.XML from INDEX.HTML
%BROWSER% phantom_driver.js


Best regards,
Yakov.

четверг, 21 июня 2018 г., 12:54:17 UTC+3 пользователь okido написал:

Yakov

unread,
Jul 3, 2018, 6:26:52 AM7/3/18
to TiddlyWikiDev
By the way, does anybody know how to build TiddlySaver from its source? I can't see any docs besides the sign.readme and verify.readme which are for later stages of the process. Also I wonder if there's a way to get TiddlySaver version (if there's any versioning at all) since I'm not even sure whether the latest version is packed in the download archive on classic.tiddlywiki.com Any ideas?

вторник, 3 июля 2018 г., 13:21:26 UTC+3 пользователь Yakov написал:

Jeremy Ruston

unread,
Jul 17, 2018, 12:58:50 PM7/17/18
to TiddlyWikiDev
Hi Yakov
On Tue, Jul 3, 2018 at 11:26 AM Yakov <yakov.litv...@gmail.com> wrote:
By the way, does anybody know how to build TiddlySaver from its source? I can't see any docs besides the sign.readme and verify.readme which are for later stages of the process. Also I wonder if there's a way to get TiddlySaver version (if there's any versioning at all) since I'm not even sure whether the latest version is packed in the download archive on classic.tiddlywiki.com Any ideas?

I think it's just a matter of compiling the source at https://github.com/TiddlyWiki/TiddlyWiki/blob/master/java/src/TiddlySaver.java into TiddlySaver.jar, and then signing it as described in the file.

Back in the day, BiDiX used to do the builds on UnaMesa's behalf, and had the necessary signing keys. I can try to put you in touch?

Best wishes

Jeremy.
 
--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

For more options, visit https://groups.google.com/d/optout.

Yakov

unread,
Sep 16, 2018, 5:02:01 PM9/16/18
to TiddlyWikiDev
Hi Jeremy


On Tue, Jul 3, 2018 at 11:26 AM Yakov <yakov.litv...@gmail.com> wrote:
By the way, does anybody know how to build TiddlySaver from its source? I can't see any docs besides the sign.readme and verify.readme which are for later stages of the process. Also I wonder if there's a way to get TiddlySaver version (if there's any versioning at all) since I'm not even sure whether the latest version is packed in the download archive on classic.tiddlywiki.com Any ideas?

I think it's just a matter of compiling the source at https://github.com/TiddlyWiki/TiddlyWiki/blob/master/java/src/TiddlySaver.java into TiddlySaver.jar, and then signing it as described in the file.

Back in the day, BiDiX used to do the builds on UnaMesa's behalf, and had the necessary signing keys. I can try to put you in touch?

That would be nice. The time to explore TiddlySaver in deep has not quite come (I'd like to finish the work on debugging upgrading first, see the other thread), but contacting BidiX would be nice (as far as I can remember I've tried to write to him once, to BidiX at bidix.info, and mail delivery system responded "can not be delivered" and bidix.info is down these days, only the old bidix.tiddlyspot.com is up) as well as getting more info about building TiddlySaver.

Best regards,
Yakov.
 
Reply all
Reply to author
Forward
0 new messages