4 ms·
Fossil has enough wiki and theming features to power a customized website and to let you edit its contents in the browser. I've joked that Fossil SCM is secret
by networked 5y ago
Fossil has enough wiki and theming features to power a customized website and to let you edit its contents in the browser. I've joked that Fossil SCM is secretly "Fossil CMS".
My personal website, https://dbohdan.com/ https://dbohdan.com/, is powered by Fossil. A year ago I was shopping for a wiki engine, didn't love any I looked at, and realized I could try something I was already familiar with: Fossil. It did take a few hacks to make it work how I wanted. The wiki lacks category and transclusion features and, at least for now [1], can't generate tables of contents. I've invented a simple notation for tags and generate a "tag page" [2] using a Tcl script [3]. The script runs every time I synchronize my local repository with dbohdan.com. The TOC is generated in IE11-compatible JavaScript in the reader's browser [4]. The redirects are in the Caddyfile (not in the repo). Maybe I'll migrate to a more full-featured wiki later [5], but I am enjoying this setup right now. I am happy I gave Fossil a try.
Fossil also has a built-in forum engine [6]. I am thinking of migrating a forum running on deprecated software to it.
Edit: My favorite music page and sitemap are generated on sync, too. [7] The sitemap uses Fossil's "unversioned content" feature to avoid polluting the timeline (commit history). [8]
-----
[1] In the forum thread https://fossil-scm.org/forum/forumpost/b635dc56cb?t=h https://fossil-scm.org/forum/forumpost/b635dc56cb?t=h DRH talks about implementing a server-side TOC.
[2] The page lists the tags and what pages are tagged with each. Tags on other pages link to their section of the tag page. https://dbohdan.com/wiki/special:tags https://dbohdan.com/wiki/special:tags.
[3] https://dbohdan.com/artifact/8297b54f5d https://dbohdan.com/artifact/8297b54f5d
[4] https://dbohdan.com/artifact/d81bb60a0e https://dbohdan.com/artifact/d81bb60a0e
[5] PmWiki seems like a nice lightweight option—an order of magnitude less code than its closest competitor DokuWiki, very stable, and has a better page history view. Caveat: it is written in old school PHP. https://pmwiki.org/ https://pmwiki.org/.
[6] https://fossil-scm.org/home/doc/trunk/www/forum.wiki https://fossil-scm.org/home/doc/trunk/www/forum.wiki
[7] https://dbohdan.com/wiki/music-links https://dbohdan.com/wiki/music-links with https://dbohdan.com/artifact/053d0ff993 https://dbohdan.com/artifact/053d0ff993, https://dbohdan.com/uv/sitemap.xml https://dbohdan.com/uv/sitemap.xml with https://dbohdan.com/artifact/c21444f7c9 https://dbohdan.com/artifact/c21444f7c9.
[8] https://fossil-scm.org/home/doc/trunk/www/unvers.wiki https://fossil-scm.org/home/doc/trunk/www/unvers.wiki
- sgbeal 5y ago> The wiki lacks category ... Just FYI: we recently improved the internals to be able to add propagating tags to wiki pages[1], so it will eventually be possible to use those to categorize/group your wiki pages. What's missing now is UIs which can make use of that feature. The CLI tag command can make use of them, but that doesn't help your UI much. > ... and transclusion features For the wiki it seems unlikely to me that transclusion will ever be a thing. It can hypothetically be done with the embedded docs feature if the fossil binary is built with "th1-docs" support, but, alas, we can't currently support propagating tags on file-level content. (i have an idea how it might be integrated, but figuring out whether or not it internally makes sense requires trying it out (and that doesn't have a high priority).) [1] https://fossil-scm.org/forum/forumpost/3d4b79a3f9?t=h https://fossil-scm.org/forum/forumpost/3d4b79a3f9?t=h
- networked 5y agoThis is excellent news! I hope Fossil can eventually obsolete both my tag script and the JavaScript TOC. As for transclusions, I don't expect Fossil to implement them. While something like https://www.pmwiki.org/wiki/PmWiki/IncludeOtherPages https://www.pmwiki.org/wiki/PmWiki/IncludeOtherPages would be cool, it seems probably out of scope for Fossil.
- rpdillon 5y agoI'm glad others are using Fossil this way as well! I use Fossil for hosting my small projects, but have also built a forum/wiki site for my family using it, and I'm working on porting my blog to Fossil as well. I'm very impressed with its design and flexibility while still remaining small, fast, and understandable. Side note: I've been exploring the ecosystem around Fossil/SQlite as well. I've been working with Pikchr a lot recently as a way to create diagrams that can be version controlled. Because Pikchr is implemented as a single C file, I was able to compile using Emscripten as a WASM file, and embed that file in a single HTML page that gives me a "live editing" experience (basically I call a render method when the text area gets updated). The way these pieces of software are written minimizes dependencies and allows for them to be used in a huge variety of environments. I've really enjoyed working with them. https://pikchr.org/home/doc/trunk/homepage.md https://pikchr.org/home/doc/trunk/homepage.md