Also, if it's helpful, I actually live-streamed my implementation and luckily a Tina maintainer was in the chat when I also struggled with the docs: https://twitch.tv/cassidoo
Here's the source code for my blog with utilizes that workflow, which could publish a post live just from uploading a single Markdown file: https://github.com/minimaxir/minimaxir.github.io
In the case of Hugo the issue for me is always that images are a hassle. I wish there was a web interface I could plug into my Hugo installation that just gives me drag & drop image uploading.
Then it's just a git commit away from publishing. You could probably even just use git sync from obsidian if you're disciplined with the published flag
Before this, I felt the same as the linked post - there was too much friction for me to ever publish anything.
I also maintain two VitePress[1] sites. Once I setup it up (I still use Sublime Text), I do the writing on Obsidian.
What I write and see in Obsidian is good enough that I have just done away with looking at how the site looks after I change/add/edit the text. I sometimes do but just to check build and if the sitemaps are generated, etc. -- routine hygiene.
It can be hosted serverless but needs an instance of MongoDB[2]. This detracts a bit from other SSG that simply compile markdown into HTML, JS, and CSS.
[1] https://tina.io/docs/reference/content-api/data-layer/ [2] https://tina.io/blog/self-hosted-datalayer/
You're right, to render a static site you don't need a database. However, for a lot of CMS functionality, a database is required (or in our case a "Data Layer"). It's used for searching, sorting, and filtering content. In Smashing Magazine's case, they need to do these operations across 10's of thousands of Markdown files. This couldn't be done without our Data Layer and would result in rate limiting if they hit the GitHub API directly.
Also, since our Data Layer provides a GraphQL API, developers can do interesting things like pull their Markdown content into other applications and use server side rendering. We see it as the best of both worlds: you own your content in Git but you also get a headless CMS to query.
Semi-related: we're on the cusp of releasing some improvements that will make self-hosting Tina much better, so check back in a week or two if you're interested in that.
Looking forward to seeing the improvements in a couple of weeks.
I will be trying it out solely based on this first impression. :)
Semi-headless, Git-backed, so each change goes into a commit. MDX, so you can have a mix of markdown and more complex content (buttons, or more complex components).
Not a massive fan of graphql per se, but there's a very interesting graphql layer for querying your content. One can define schemas for content, and TinaCMS seems to be able to generate fairly rich data ways to query & search your data.
Some of the advanced features are powered by a level.js compatible store, which was the popular interface for data stores on node & js for a while. The content is still git filesystem backed, so one can just throw out the store & rebuild it, but the store makes it fast to query versus having to reread the filesystem each time. Neat.
The point of this article came down to this observation, which rings true to me. I idealize this model where we have outbrains we can file thoughts & data into, and this seems like a great tool for starting:
> something that Chris Coyier said in his segment stuck with me when he talked about his consistency: the fact that he can just type into a CMS and hit send, with minimal things getting in his way, has kept him more consistent in his writing. I do prefer Markdown and my usual local-first workflow, but the fact that I could spit out a blog quickly without any sort of copying and pasting or editing is something I’m excited to try.
blessed be the man who, having nothing to say, abstains from giving evidence of the fact
I liked Forestry, but wanted something that was embedded directly into my website, so I built Penmark CMS https://penmark.appsinprogress.com/. Inspired by utteranc.es, it uses the GitHub API to make edits directly to your repo. It's definitely a simple CMS but I'm liking it to write for my own blog!
* https://content.nuxt.com/ - JS, SSG and SSR * https://www.11ty.dev/ - JS, ?? * https://getkirby.com/ - PHP * https://statamic.com/ - PHP also static export and database