Gollum – A simple, Git-powered wiki with a sweet API and local frontend
github.com
github.com
Another interesting thing is that I used my Readme Driven Development method to develop it, which you can see in the Readme of the first commit: https://github.com/gollum/gollum/commit/c7875704971be998a539.... I wrote it before writing a single line of code and found it worked nicely to figure out the API and feel out the ergonomics of the text format. More on that approach here: https://tom.preston-werner.com/2010/08/23/readme-driven-deve...
Glad to see the project alive and well!
nano-waterfall (nWF) - README.md -Driven Development
micro-waterfall (μWF) - ARCHITECTURE.md -Driven Development
mini-waterfall (mWF) - plan→build (iterate)→ship
full waterfool (FWF) - "you went full waterfool, never go full waterfool"I'm writing the next generation of Jekyll, called Svekyll, which is Jekyll plus Svelte: "the radical simplicity of Jekyll + the futuristic power of Svelte"
I know it has been hard for you to get in on the ground floor of things, but this is your chance if you want to invest. I'm building a publishing company with Svekyll as the starting point, but with a few extra twists coming soon. Could we jump on a call and I'll share the roadmap?
I've been looking for a similarly simplistic git-based wiki which works much like Jekyll/Pelican/Hugo.
Tangent: how do HN folks generally do technical wikis -- or really, just keep track of the technical details of your software -- in large software development organizations?
My org uses Confluence for some stuff, Github pages and READMEs for others. It's... fine. It's not the worst I've ever seen, you can find some useful stuff with a little bit of work and some knowledge about where to look, but it's still very likely that whatever you're reading is either outdated or now-irrelevant.
How do you (and your team) solve the challenge of keeping documentation actually relevant and up-to-date when there are so many people writing so much code, then leaving two years later?
The things my team uses GitHub pages for tends to do better because devs don't object too heavily to writing code comments (for generated docs), markdown (for design docs), or API specs (for API docs). The last two in particular have become a big part of the design process, so it's been bought into heavily. Whether those stand the test of time remains to be seen - they're relatively new.
Any kind of friction is a huge problem when it comes to a task that people are already sort of reluctant to do; just the thought of "ah, fuck, I gotta get two reviews just to add a couple lines of setup instructions?" makes people way less likely to update repo docs as frequently as they need to.
Yeah... I'm not a big fan either. Currently in my team we just use google docs for more dynamic stuff, and have a wiki page with links to all docs. Otherwise we know that people won't bother editing
After the initial discussion is finished, the Google doc can be converted to the [Github-flavored] Markdown and stored in the [Github] repo.
It would be a good idea to create an initial GDoc based on the markdown template from the repo.
Frankly with the speed of Github innovation, they will be adding GDoc-like commenting and collaboration soon.
Not sure how it can be integrated with git branches though.
I'm sure it is a difficult problem but I haven't really found any good solutions other than "make really long titles that use many words to describe the content" or "Add lots of tags" and even them I'm not sure it helps or not. Does the search take into account click-through rate? Link count?
These kinds of problems can be solved using neural networks as the foundation for search (variously termed "neural information retrieval" and "semantic search"). I worked on this at Google Research from 2016-2020, before launching ZIR AI in 2020 to make neural search available as a PaaS, just like Elasticsearch and Algolia have done for keyword matching.
Here are a couple of introductory pieces if you're interested in learning more:
[1] https://blog.zir-ai.com/the-high-cost-of-keyword-search, "The High Cost of Keyword Search"
[2] https://blog.zir-ai.com/semantic-search-helps-chatbots-answe... "Semantic search helps chatbots answer more questions"
It also has a good auth system and supports U2F (or SSO).
There is https://stackedit.io/ offering it but I stopped using it because of bugs when trying to edit on mobile. And it basically abandoned for the last 2 years https://github.com/benweet/stackedit (only some deps updates, nothing more).
You can have different people using different tools to write it, but all those documents needs to be referenced at the same place and be searchable at least by title. There is no magic tool this is first a people/process problem
If your org has several place to find it and no strategy. Then the first step is to have a documentation strategy. That will not solve all your issues, but without it you are going to be very limited
I’ve been thinking about building something like Slack but for documentation instead of conversation. A git repo is a great way to store your files so that you have history, backups, and avoid vendor lock-in.
A customer of mine writes documentation in Google Sites (horrible UX and not for for this task, they eventually realized it) and my pages (Bitbucket) are linked from the table of contents (release branch). To read the documentation for a new feature one must know the name of the feature branch.
https://buildingtoolswithgithub.teddyhyde.io/chapter-03-goll...
There is a section on using Rugged, the ruby git library and how you can use that with Gollum.
https://buildingtoolswithgithub.teddyhyde.io/chapter-03-goll...
While writing this book, I found it really fascinating to learn about how git works by trying to manage a Gollum wiki. For example, if you add an image to multiple places in a repository, it only needs to store it once because git can tell it is already in there.
https://buildingtoolswithgithub.teddyhyde.io/chapter-03-goll...
Gollum was one of the first Markdown wikis and still is a fantastic choice for running a Git Markdown-powered wiki. I ran a number of technical documentation sites on Gollum, and one of the things that set it apart was hackability. It was easy to modify it to do very custom things based on our site's needs.
> Gollum strives to be compatible with GitHub wikis (see --lenient-tag-lookup)
Edit: Looks like the answer is yes if you look at just /gollum.
> Gollum is a simple wiki system built on top of Git that powers GitHub Wikis.
Isn't it better to couple the documentation of a project to the source (e.g. in a `docs/` sub-directory) and just use markdown?
[1] https://js.wiki/
I will say, however, that getting it running took minutes; getting auth running was nearly a full day. Just HTTP Basic auth had me writing Ruby, then giving up and using a library that hasn't seen a single commit in years.
github even has their own wiki system.
None of them support pull requests. (wikipedia supports patch/diff style manual change requests done via talk pages which is sorta gets you there, but not quite the github style automated pull request work flow i'd love to see supported)
Its honestly a shame.
Gollum and Gitit have both been around for more than a decade. Thousands of stars, hundreds of forks, and active commit histories spanning more than ten years suggests the world views both as of value.