Feather Wiki: app for creating personal non-linear notebooks, databases, wikis
feather.wiki
feather.wiki
For similar purpose (not-so-important semi-ephemeral notes and doodles) I usually (ab)use dataURI documents with "#hash" part and rely on browsers' history/bookmarks persistence, so both "editor engine" and "data" remains in URL and does not need to leave the browser.
Example: simple "HTML sandbox" with live preview under 1kb [1].
(Hypothetically they could be even synced to browser profiles, but. Also there presumably is a size limit for URI (or perhaps bookmarks database) but I haven't ran into it yet.)
Most probably not advisable for larger apps (even tiny feather wiki) but for it's super small purposes it has a nice advantage of "un-hosted" application/data can be passed around with clipboard. (Naturally, the "engine" works from a file as well [2], but the persistence remans in the "#hash" nevertheless.)
[1] https://gist.github.com/myfonj/c8ce74bf549e19600026ce9022388... [2] http://myfonj.github.io/sandbox.html
itty bitty is a great tool to store stuff in urls with compression! http://itty.bitty.site/
A plugin for Feather Wiki to export to itty bitty would be awesome. I've personally did some experiments. I'll share the finding to the Feather Wiki author to give him an idea and also add an issue for a plug in request, so some hackers can work on it...
I've created an issue at itty bitty github some time ago so that wikis like tiddly wikis and feather wiki could be fully compatible:
https://github.com/alcor/itty-bitty/issues/70
There is also link to an example in that issue.
The issue is "features" -- it is a bit of a one-legged-duck.
It's lightweight is brill. It's expandability somewhat mute.
A comment
Tiddlywiki classic 400kb
Tiddlywiki 2250kb
My personal Tiddlywiki instance is 5300kb so nearly half of it is content now. This is why I don’t care much about its size. At least saving 300kb for Feather would not be worth any effort.
I'm actively working on a way to extend individual wikis, which will hopefully pave the way for more features through hacking it.
( Good stuff BTW: http://knockoutjs.com/ http://underscorejs.org/ https://zeptojs.com/ https://github.com/chjj/marked )
Probably the only interesting bit is the code to save the page: https://github.com/calroc/HulloWurld/blob/1f88da21081a73469a... But I didn't figure that out, I got it from stackoverflow: https://stackoverflow.com/questions/27177661/save-html-local...
It has two CSS styles! Eh? ( https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative... )
I currently use Noteself (tiddlywiki + local / remote database saving function) for this, and it's an excellent solution that I'd be loathe to migrate away from. The main issue is having to setup and host a CouchDB instance, but once it works it works well. If 'Feather Wiki Nest' has a lower barrier to entry than Noteself, then I could see it being very popular.
Whilst I use Noteself for personal notes and life organisation, I may use Featherwiki as a blog platform, just to keep a thicker separation between the two (I've previously considered using Noteself for blog content to then publish as static HTML).
Feather Wiki Nest is the thing I am looking forward too. It would be a single application, start it and forget it, your wiki just works. That's immense awesomeness!
But be careful because it seems very easy to lose data. At least in my testing, if you create a new page but don't save and close the tab then you lose all data without any warnings. Similarly, if you are in the middle of adding content to a page and close the tab then it is gone without any confirmation box. A built-in browser confirmation box when closing tab/window should be relatively easy to add in I think.
Tiddlywiki will prevent a page close, this does not and will lose the entire wiki. Feather warns on not saving individual pages, but saving in this context means so little, this should just be part of the ephemeral internal state. No saving required. Save to disk is the only permanent storage and Feather doesn't have any guardrails here.
I don't do browsers, but can locally loaded file set cookies and/or use browser storage? I shouldn't ever have to consciously think about saving a file, let alone an entire wiki in 2022.
Here, I'll simplify the options:
- All features, transpiled
- All features, not transpiled
- No Markdown, transpiled
- No Markdown, not transpiled
- No WYSIWYG, transpiled
- No WYSIWYG, not transpiled
And the difference in gzipped size from the largest to the smallest size is... 2KB.
This is a metaphoric meaning, as software doesn't really need to be 'stocked', and just refers to the different configurations available.
Rip Joe
The wiki/app is the html file itself. If you add / remove content, you get another html file that contains the wiki app and the added / modified content.
No need for complicated applications, compatible wherever a browser runs (All OS), always compatible cos html (the raw html is human readable). No proprietary format lock in.
For the strict meaning: https://en.wikipedia.org/wiki/Quine_(computing)
For mindblowing stuff:
Quine Relay - A Ruby Program that generates Rust program that generates Scala program that generates ...(through 128 languages in total)... REXX program that generates the original Ruby code again. https://github.com/mame/quine-relay
Afaict, the edit and save is local and not sent to the server. So to persist changes and make them visible to others you’d need to then upload the edited HTML file to the server, using for example scp or sftp, or whatever method is used for deploying changes.
So for example you could put this in a git repo and have GitHub or Cloudflare Pages host it, and after you make an edit to a page from the browser you’d put the edited HTML file for the page in the git repo, commit that and push it to GitHub or whatever.
Seems pretty useful actually.
EDIT: Unless you're talking about it surviving after saving the wiki, in which case it won't remain. I'm actively working on support for extending Feather Wiki that allows whatever custom JavaScript you want, in a very similar way to how the custom CSS is preserved. But it's not ready yet. Keep an eye out for version 1.3.0 in the near future!
So I would like to see these additions: synchronization and a mobile app.
Thank you to the GP for the suggestion to use https://fusejs.io
I wasn't aware that it's easy to implement one's own search engine.
Note: I have no solid reference point for what "too big" actually means for this project—my only guideline so far has been "as small as possible"
awesome! Scale to n=1! And development is hosted at codeberg!