3 ms·
[OP: Bellow I'm describing what I'm searching for in a lightweight wiki engine, suitable for replacing MoinMoin.] Now I know that there are many wiki engines,
by ciprian_craciun 6y ago
[OP: Bellow I'm describing what I'm searching for in a lightweight wiki engine, suitable for replacing MoinMoin.]
Now I know that there are many wiki engines, from dokuwiki and MediaWiki up to Bookstack and Wiki.js, however none of them fulfill the following requirements:
* first and foremost it has to use the file system to store the page content; one file per page (or per page history if it supports revisions); this excludes databases, including embedded ones like SQLite or the like; (basically I want to be able to cobbler together `find`, `grep` and `sed` to extract what I'm searching for if I want;)
* secondly it has to be lightweight enough so I can run it on my laptop; thus fiddling with NGinx and Apache is sub-optimal, as is having another 20-worker-process behemoth (I have enough Electron-ware already)... (for context, in my previous MoinMoin setup, I actually had two instances running, one on a public server and one on my laptop, and I've synchronized the files between them;)
* if possible it should come in a single binary (e.g. Go, Rust or C/C++), or at least be self contained (e.g. virtual environment); also NodeJS is out of the question just because I don't believe I'll be able to deploy it 5 years from now when the project is dead... (and no, I don't want to run a cluster of containers or even a single VM for my wiki... it's a wiki after all, not a web-scale search-engine with NLP built into it...)
* the UI shouldn't be more complex than it needs, thus a large text area for editing the page (without an WYSIWYG editor), lacking syntax highlighting, and not integrating with Jupyter Notebook are actually a plus; :)
* support for ACL's (for keeping sensitive pages private) would be a plus; (MoinMoin had the best ACL solution from all the wiki's I've seen so far;)
* (obviously, it must be open-source;)
So in the end why not just go with MoinMoin? Because I have the feeling the project is dead, and the stable version (1.9) seems to support only Python 2.7, which has just been EOL-ed and I believe it will slowly start to phase out from distributions repositories... Thus I wanted to see if there are alternatives...
- splitbrain 6y agoIf this is for personal use only, you could also just install PHP from your distro (cli only, not mod_php) and run DokuWiki using the builtin PHP devel server. Low hassle and only running a process when you need it.
- rsto 6y agoI can't offer an alternative, but given that you used MoinMoin for years, you could also look into porting MoinMoin to python 3? Most likely you will learn enough about its codebase to add the features you wanted in 2018. If the upstream project is dying, you might not only do yourself but others a favor by reviving its codebase.
- ciprian_craciun 6y agoPorting MoinMoin 1.x to Python 3.x would be a major hurdle especially since MoinMoin is very complex and has lots of advanced features (from supporting multiple syntaxes to API and even master-master replication). (On the bright side, by default it doesn't seem to have many dependencies, thus at least in that regard it would be easier.) Therefore if I were to invest development time into a wiki engine, I would definitively go with a simpler Rust / Go based implementation from scratch. In fact this is another reason why I'm looking for alternatives, namely I want a "simpler" wiki.
- ciprian_craciun 6y agoAs an example I found the following wiki (in Rust) that is closer to what I'm searching for: https://github.com/xvxx/deadwiki https://github.com/xvxx/deadwiki (however I don't think that one is ready for real usage). From the Go land we have: https://github.com/lucas-clemente/goldfish https://github.com/lucas-clemente/goldfish and https://github.com/cooper/quiki https://github.com/cooper/quiki (the later seems more "polished").
- ciprian_craciun 6y ago[OP here] I would also like to point out that by "self-hosted" I actually lean towards a HTTP-server-based solution as opposed to a desktop-application one.