| The Grav CMS also internally uses Markdown for the page contents and generates static files: https://getgrav.org/ They do use YAML FrontMatter for attaching metadata so the CMS knows how to process certain pages (e.g. page title, page type etc.), but it isn't too complicated in practice: https://learn.getgrav.org/17/content/content-pages#page-file They also have an admin plugin, which you can use if you prefer a more traditional workflow, even if it just generates the same file format under the hood: https://learn.getgrav.org/16/admin-panel/introduction I'm actually using an ancient version of Grav for my own blog, although I had to put the admin path behind additional auth (in addition to the one it already provides), for safety: https://blog.kronis.dev/ I really like hybrid systems like that: a CMS for blogging or just writing in general that's based on Markdown, generates static files for decent performance, but is also extensible with additional functionality, and also has a decent web UI if you want one. (there are probably other CMSes like that out there, or more generic solutions, too) Of course, the actual use case for the linked solution is a bit different, being able to dynamically render Markdown client side is also pretty cool! Feels almost more flexible in a way. |
At work I've been trying to solve the question, how can we let the dev team continue to write documentation as Markdown files in Git repos, while not excluding others in the company who need/prefer GUI and rich text editor. I see now that it's possible to have the best of both worlds, with admin UI as a layer on top of the same underlying system, generating Markdown internally.
Still not sure how such an admin interface will integrate with Git though. I suppose "publish" can trigger a Git commit, but I wonder if it's feasible to ensure no Git push conflict when remote is ahead of local, i.e., someone else pushed a change before you did. Otherwise, I imagine the admin UI can get complex if it needs to provide a way to resolve such conflicting changes, with a side-by-side view of diffs.