Skip to content

Commit 433c4f3

Browse files
authored
Proposal to create a TiddlyWiki based website (#64)
* Improve Rnote description Add Rnote features from official site and github link * Proposal to create a TiddlyWiki based website Introduction Proposal to create a TiddlyWiki based website to replace or use in parallel with the existing markdown file based one. Goal is to create a more dynamic searchable experience making it easier to find apps available through Portable Linux Apps. This would ideally replace the current markdown based site generated by Github, or optionally both keep coexisting, even if redundant. This is a semi functional proof of concept that only includes the final output and a tentative preliminary workflow for integration. For practical full deployment some changes would likely be required. Advantages - Fully searchable app listing. - Search, filter, categorize, browse based on arbitrary criteria. - Update process can be kept relatively automated. - Requires less processing of markdown data, most of it can be templated in-wiki - Avoid dependence on Github pages, works around lengthy processing of html files. - Can still maintain the markdown based workflow, Tiddlywiki can import and directly display them Disadvantages - Still slow to import and process the app updates (can ideally be scripted and left to process in the background). - Couldn't make the full app list work acceptably for end users. In TiddlyWiki it becomes too slow to display. Tested with dynamically generated list from apps themselves (ideal), imported markdown file, "static" wikitext and pure HTML, all are too slow to display for and end user. On the flip side I suppose the need for one is drastically reduced now that we can search and filter arbitrarily anyway, so maybe not a real concern. - Makes it harder to invite visitors to contribute. Features - Templated most aspects of display and navigation. - App icons in each app page - Raw and blob links automatically created - Dynamic app category and counts - App tree - Dynamic creation of menus, navigation trees, tags, etc. - Can mostly import use already existing markdown files - Easy to navigate, can see more than one app simultaneously To-Do's - Some of the current links still point to current off-wiki pages on Github.io, some are redundant, (like links "back to the main page", "lists", "edit this page", etc), needs some cleanup. - TiddlyWiki can run on Node.js, see https://tiddlywiki.com/#GettingStarted%20-%20Node.js and https://tiddlywiki.com/#GettingStarted%20-%20Node.js. With your scripting abilities I'm sure much of the work I've done manually here could be automated. There is even a command line interface for a more hands-off approach. Even if you don't have access to a hosted one online, you can run an instance locally for the purpose of automatically generating a standalone ready to publish single file TiddlyWiki. - Improve the categories/tagging generation, right now I roughly ported the existing ones. Not entirely sure they are working exactly like yours, but can then be easily tweaked. - Figure out how to tag/distinguish the 2115 AppImages and 394 standalone packages from among the other apps, as described in the Index page. For now I ignored the counts, they are static. - For now the documentation text under the `index.md` file is static, it was imported, manually processed and can't be updated automatically, since it was broken up into sub pages, which is the TiddlyWiki preferred format. Going forward you could make your processing scripts break down the different headings in `index.md` into separate markdown files from the start, which would then allow importing them more easily like the updated apps. Workflow Currently to update apps: # Open the PortableLinuxApps.html file # Navigate to the tiddler named $:/PortableLinuxApps/App Maintenance under the Sidebar > More > $:/PortableLinuxApps > $:/PortableLinuxApps/App Maintenance # Follow the steps by pressing the buttons under each section by the numbered order. # First step, pressing button #1 Delete Existing Apps will clear all existing apps (either in unprocessed state (as `appname.md`) or as fully tagged apps after cleanup # Second step import all new .md files from https://github.com/Portable-Linux-Apps/Portable-Linux-Apps.github.io/tree/main/apps by dragging the files from a file manager over the browser window showing the PortableLinuxApps.html. Beware that dragging and dropping 2500+ files will inherently be slow for the browser to handle, you will have to wait a few seconds to let it "pick up" the dropped files and show the green import banner along the top of the page. Don't forget to exclude the `.template.md` # Third step, press the button under #3 Process Incoming Apps to process imported markdown files. This will clean up the title to remove `.md` from the title, and tag them all with [[App]] for easier further filtering. Since the process can take a few minutes, a button to process 200 at a time for diagnostics purposes is available. # Last step under #4 is to categorize them by pressing Categorize Apps with a process similar to the one you already currently use use, by pressing. Done. Repeat whenever a new app is added. If you don't want to reprocess them all, you can just add the newly added markdown files. I read somewhere in your scripts you considered at some point having an Electron based front end. Since it also uses Node.js under the hood, maybe this could ease the implementation or even unify it with the website. A copy of this description is included under $:/PortableLinuxApps/Proposal
1 parent 8ac1ac4 commit 433c4f3

File tree

1 file changed

+11217
-0
lines changed

1 file changed

+11217
-0
lines changed

0 commit comments

Comments
 (0)