Replies: 14 comments 11 replies
-
Having a minimal TW has been a matter of discussion and interest in the past. This is a very useful idea. So, I highly support your idea. |
Beta Was this translation helpful? Give feedback.
-
The implementation path here would be to start with a |
Beta Was this translation helpful? Give feedback.
-
A working demo will facilitate to grasp the idea better. I am not sure if you have made any minimal version yet. |
Beta Was this translation helpful? Give feedback.
-
That's pretty much the repository structure you describe. Have a look at the core/modules Every js-module is a tiddler, that is activated at startup. The startup is done in boot/boot.js, which defines the minimally needed kernel code to import the module tiddlers from "core/modules" and to start them. So every module-js file is "plugin-like" -- but we call them modules. So we do not get a naming conflict with user facing TW plugins. A TW plugin combines several tiddlers into a new plugin-tiddler. So every plugin is a tiddler that contains "sub-tiddlers". Those subtiddlers The UI gets started from the TW render.js module, which exports a The UI itself is defined and started using the following tiddlers:
That's basically all you need to start
Edit: That's done with boot.js |
Beta Was this translation helpful? Give feedback.
-
Hi @anicolao the idea of making the core plugin smaller seems like an obvious no-brainer: everybody can start out with the smallest possible thing, and then just add the granular functionality that they need. It might feel like this would make things more efficient. However, TiddlyWiki exists in a symbiotic relationship with the community that supports and sustains it. One role of the community is to help newcomers debug problems, or learn new techniques. In that context, there are enormous benefits of everyone in the community using the same thing. If everyone was using a slightly different variant of TiddlyWiki, with different features, then before we could answer support questions we'd have to establish which variants of TiddlyWiki they are using. That would add significantly to the friction of the support process. So, we try to establish a baseline of commonality between all users that makes support and backwards compatibility much easier to handle. A further consideration is that TiddlyWiki's architecture means that one can't necessarily meaningfully separate features like "editing tiddlers". Architecturally, TiddlyWiki is comprised of a suite of primitives: operators, widgets, macros, etc. These primitives are combined through templates to create the features visible to end users. For example, there is an It's interesting to look at the composition of the core by measuring the size of the source folders:
That means that there is very little to be gained by moving wikitext templates out of the core plugin, so this is really about rearranging the JS modules, where we have the problem discussed above that there isn't a clear correspondence between JS primitives and end-user functionality. |
Beta Was this translation helpful? Give feedback.
-
To add further that @pmario is correct to point out the similarities between the existing design and the one you outline. We have the boot kernel in boot.js that boots up enough of the infrastructure to be able to load the JS modules from tiddlers. |
Beta Was this translation helpful? Give feedback.
-
+1 much interest in this i have , testing i can do ...
+10 vaguely (perhaps/hopefully) related ramble hear : #7347
this sounds interesting |
Beta Was this translation helpful? Give feedback.
-
one perhaps related point about comparison with file systems or file system like thing's eg WebDAV is the support of features like symlinks for example i would hope that the nature/history of p9 would bring symlink support out of the box !! -- edit -- ... https://github.com/roobie/9p.js -- edit -- it appears (i read / heard stated) plan 9 has no support for symlinks =0 |
Beta Was this translation helpful? Give feedback.
-
imho the reduction of required source is less about size in bytes more about cognitive load having methods (even if adhoc) of partitioning / filtering in which seance the key is knowing what you can ignore / dis-guard , and what is essential-functionality (for whatever intended use) |
Beta Was this translation helpful? Give feedback.
-
wrt
i think iv given abit of thought to &... and that "producing an edition more basic" wiki should be able to be used via browser console as UI ... |
Beta Was this translation helpful? Give feedback.
-
@dubiouscript Quick summary: I haven't written the A probable ETA for actually having something you could use to edit your tiddlywiki with shell tools seems like no earlier than November, but probably this calendar year. |
Beta Was this translation helpful? Give feedback.
-
@anicolao eg request https://pastebin.com/raw/cS3DMsUj#http-request.txt or https://github.com/msoap/shell2http as an alternative to svr.awk
or ./gron.awk could replace jq imho these methods are interesting , while its not exactly p9fs server or whatever |
Beta Was this translation helpful? Give feedback.
-
I'm producing template that is more advanced than "advanced" TidGi mobile now load template list from a wiki with filter expression ( from tag https://tidgi.fun/#WikiTemplates , so anyone can PR to add new template to https://github.com/tiddly-gittly/TidGi-Official-Website ). The default template will have 71 plugins, so it works like Obsidian (but still less than it). But I hope there can be a more powerful template that works like Notion, so people won't say "Tiddlywik is difficult to use because you need to take days to setup before you can use it like Obsidian out of box) |
Beta Was this translation helpful? Give feedback.
-
I think a "Tiddlywiki-lib" is necessary for #6590 |
Beta Was this translation helpful? Give feedback.
-
I'd like to have a
core
edition that contains nothing except the ability to execute plugins, and have all non-kernel functionality expressed as a plugin on top of core. To give a sense of how minimal this would be, core would not contain a user interface, plugins, editing facility, knowledge of the markdown language, or basically anything other than the kernel that can load a javascript tiddler to extend core. Initially it might be hard to subdivide the UI and. other parts into sufficiently small tiddlers but it ought to be possible to create a read-only view of a story river by loading only enough of core to display tiddlers, search tiddlers and re-order recents for example.More or less every single feature would ultimately be broken out into its own tiddler so that it could be included or not as desired.
So to be clear what this discussion is about: it is not clear this is a good idea; and so let's discuss if it is. If it is a good idea, is there any appetite to take on patches?
Beta Was this translation helpful? Give feedback.
All reactions