It's interesting. If you look at the core editions, they come in pairs, 
like "tw.com" and "tw.com-server".

The "-server" version has the needed plugins in the tiddlywiki.info file:
```
        "tiddlywiki/tiddlyweb",
        "tiddlywiki/filesystem",
```
and also loads the rest of the edition via an these attributes:
```
"includeWikis": [
        "../tw5.com"
    ],
    "config": {
        "default-tiddler-location": "../tw5.com/tiddlers"
    }
```

So, unpacking a single-file wiki does not include the plugins required to 
serve it via node.js "by default" because they do not, in fact, exist in 
the wiki when it is unpacked.

It's a neat way to organize things, because then you can call single-file 
build targets from the command line with Node & be sure the single-file 
Wiki generated will not error out when it is opened (as those plugins 
display an error if there is no backend to communicate with).

I honestly had to re-think all of my node wiki's structures when I figured 
this out.

Best,
Joshua F
On Tuesday, December 15, 2020 at 9:47:14 AM UTC-8 Mark S. wrote:

> I'm not sure what you mean by "install". You shouldn't have to install 
> them *per se*, just add the two lines:
>
> ...
>         "tiddlywiki/tiddlyweb",
>         "tiddlywiki/filesystem",
> ...
>
> to your tiddlywiki.info file in the plugins section. It's odd that 
> --savewikifolder doesn't insert them for you, since those will always be 
> needed when running under node.
>
>
> On Tuesday, December 15, 2020 at 9:08:16 AM UTC-8 ja...@baty.net wrote:
>
>> Thanks for testing it. I hadn't considered the mess that was my set of 
>> plugins so I removed everything not required or being used, then re-ran the 
>> command to build the node version without error!
>>
>> When starting the wiki the first time I got an error about missing 
>> plugins...
>>
>> > Plugins required for client-server operation ("tiddlywiki/filesystem" 
>> and "tiddlywiki/tiddlyweb") are missing from tiddlywiki.info
>>
>> So I installed those, re-built the node version, and things appear to be 
>> working fine now. I wonder why I didn't see anything in docs about needing 
>> to add those plugins. Maybe I had inadvertently removed them at some point, 
>> but either way it's working now, so thanks again for setting my down the 
>> right path! 
>>
>> Jack
>>
>> On Tuesday, December 15, 2020 at 11:00:54 AM UTC-5 Mark S. wrote:
>>
>>> I don't know if this is a useful clue, but you have 16 plugins in your 
>>> file (besides core). But on mine only
>>> 11 plugins were generated:
>>>
>>> codemirror-fullscreen
>>> ContextPlugin
>>> EditButtons
>>> edit-comptext
>>> notebook-mobile
>>> relink
>>> shiraz
>>> shiraz_1
>>> shuffle
>>> Stories
>>> uni-link
>>>
>>>
>>> On Tuesday, December 15, 2020 at 7:46:41 AM UTC-8 Mark S. wrote:
>>>
>>>> It worked fine for me, both using an early version of 5.1.23-prerelease 
>>>> and then with 5.1.22.
>>>> I also tried it renaming your .html to index.html and pasting your 
>>>> exact command. Works.
>>>>
>>>> However, I'm on Linux, not Mac, so maybe there's a difference there. 
>>>> Also using Node v8.11.1 .
>>>>
>>>> From your error, it looks like it doesn't like one of your custom 
>>>> plugins. Is the file at rudimentarylathe exactly the same as the one 
>>>> you're 
>>>> working with locally?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Tuesday, December 15, 2020 at 5:59:46 AM UTC-8 ja...@baty.net wrote:
>>>>
>>>>> I'm trying to convert my single-file html wiki for use via Node.js. 
>>>>> I've typically done this using the following...
>>>>>
>>>>> `tiddlywiki --load ./index.html --savewikifolder ./newwikifolder`
>>>>>
>>>>> Here's what happens with the wiki I'm trying to convert...
>>>>>
>>>>> ```
>>>>> node:internal/fs/utils:821
>>>>>   throw new ERR_INVALID_ARG_TYPE(
>>>>>   ^
>>>>>
>>>>> TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type 
>>>>> string or an instance of Buffer, TypedArray, or DataView. Received 
>>>>> undefined
>>>>>     at Object.writeFileSync (node:fs:1512:5)
>>>>>     at Object.exports.saveTiddlerToFileSync 
>>>>> ($:/core/modules/utils/filesystem.js:337:6)
>>>>>     at WikiFolderMaker.saveTiddler 
>>>>> ($:/core/modules/commands/savewikifolder.js:165:12)
>>>>>     at $:/core/modules/commands/savewikifolder.js:156:8
>>>>>     at Object.$tw.utils.each 
>>>>> (/usr/local/lib/node_modules/tiddlywiki/boot/boot.js:135:12)
>>>>>     at WikiFolderMaker.saveCustomPlugin 
>>>>> ($:/core/modules/commands/savewikifolder.js:155:12)
>>>>>     at $:/core/modules/commands/savewikifolder.js:99:12
>>>>>     at Object.$tw.utils.each 
>>>>> (/usr/local/lib/node_modules/tiddlywiki/boot/boot.js:126:12)
>>>>>     at WikiFolderMaker.save 
>>>>> ($:/core/modules/commands/savewikifolder.js:79:12)
>>>>>     at Command.execute 
>>>>> ($:/core/modules/commands/savewikifolder.js:39:25) {
>>>>>   code: 'ERR_INVALID_ARG_TYPE'
>>>>> ```
>>>>>
>>>>> Doing this on an empty.html wiki does not throw an error. I'm not sure 
>>>>> where to begin looking. Any tips would be appreciated. (it's the wiki at 
>>>>> rudimentarylathe.wiki)
>>>>>
>>>>> I'm on macOS running latest Node.js and tiddlywiki 5.1.22
>>>>>
>>>>> Jack
>>>>>
>>>>>
>>>>>

-- 
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/10ca99b8-578e-423a-9d89-4cbdebf291ccn%40googlegroups.com.

Reply via email to