I write a post in markdown, commit and run a pelican-provided script that uploads the generated site to the hosting server. The script-running could be done with a hook.
> I write a post in markdown, commit and run a pelican-provided script that uploads the generated site to the hosting server. The script-running could be done with a hook.
This is exactly what I don't want to deal with. Sure, I could use a ci service but this is a typical case of over-engineering a simple problem.
On my end I write a new markdown post and push it to Github.
At that point Netlify takes over to rebuild and redeploy my site including the new post. It's pretty trivial to do.
Say Microsoft decides to kill github pages. OK, fine, next.
Now picture Netlify changing some policy, adding some pricing or killing off a service which you need(unlikely but not entirely impossible). You have to setup the whole thing all over again with someone else, be it circleci, jenkins, gitlab, etc. Though in different contexts, I've been in similar situations and by the third time I usually want to murder someone.
If you wanted to you could run the build process locally and commit the output HTML and CSS files to the repo, and the build process wouldn't even be necessary. You'd just need to copy the output files to a server using a git commit hook.
I DON'T want to do either of that. Add a file, push it and know everything has worked.
The topic of the thread is __specifically__ personal blogs/pages and my point is as strong as ever: having to deal with builds, cis, for your personal page is pure bs.
That's precisely what Netlify offers you.
https://caddyserver.com/docs/markdown
”Caddy is both a flexible, efficient static file server and a powerful, scalable reverse proxy. Use it to serve your static site with compression, template evaluation, Markdown rendering, and more.”
Here’s a blog on doing this with the older version of Caddy:
https://blog.thomaspuppe.de/static-sites-from-markdown-with-...
Forgive me for suggesting the first thing that popped into mind, could you run the generator script locally and also push the /public dir which your server then serves directly?
A much better option. Still have to deal with the de-facto boilerplate of every html file: head, body, header, footer. Which is why I built something that does it in the browser for me.
> Forgive me for suggesting the first thing that popped into mind, could you run the generator script locally and also push the /public dir which your server then serves directly?
Same as CI - adds an extra step to the process. But as I said, services like Netlify come and go and the news might slip by you and catch you off guard. If I had to go down that road, I have ~10 raspberry pi's 6 of which are currently booted up. A 5 line shell script could easily do that. But again - I see no point in doing it if there's no need for it.
I find it fascinating that you'd go to all the trouble to build what essentially breaks down to a custom static site generator but you then balk at using an off the shelf one with a build script.
Just serve your markdown git repo using Caddy.
https://caddyserver.com/docs/markdown
”Caddy is both a flexible, efficient static file server and a powerful, scalable reverse proxy. Use it to serve your static site with compression, template evaluation, Markdown rendering, and more.”
Here’s a blog on doing this with the older version of Caddy:
https://blog.thomaspuppe.de/static-sites-from-markdown-with-...
You get a lot of other “just works” goodness too.
Did something like that years and years ago as a learning project. Works great! Drop in some markdown and you’re done. The source is only a few hundred lines; no build or package manager.
The simplest solution I've used is to just have a Makefile that indexes and stitches together pages using cat/sed/ls. Sure, you have to run make (and possibly make upload if you're not doing it live), but it's not so bad.
Could you explain what you mean here?
Quoting their README:
Web server with built-in support for QUIC, HTTP/2, Lua, Markdown, Pongo2, HyperApp, Amber, Sass(SCSS), GCSS, JSX, BoltDB (built-in, stores the database in a file, like SQLite), Redis, PostgreSQL, MariaDB/MySQL, rate limiting, graceful shutdown, plugins, users and permissions.
All in one small self-contained executable.