11 ms·
A key take away from many years of running a blog as a static website is that may add friction to your process. Unless you have some sort of CI/CD going on, the
by soapdog 5y ago
A key take away from many years of running a blog as a static website is that may add friction to your process. Unless you have some sort of CI/CD going on, the chances are that one can only post from their own computer, while using something like Wordpress allows them to post from anywhere — including their mobile devices — which leads to a ton of serendipity.
You might want to evaluate if posting from multiple devices is important to you, and if you're willing to setup some process to do it with a static website. I'm not saying that it can be done, I'm just highlighting that it is not something you can automatically take for granted.
An option that you might want to consider is GravCMS[1] which is PHP based. It has an interactive app for admin and posting, but once you post it generates static files. So from the point of view of the server and your readers, your website is static. You can still post from anywhere though.
I'm sure there are other similar solutions, and that someone has a SaaS to solve this which they think it will be the next unicorn. Anyway, just another thing for you to consider.
[1]: https://getgrav.org/ https://getgrav.org/
- mooreds 5y agoYes, it depends on what you want to achieve. If you are looking to get an understanding of deployment models, gitops, hosting solutions, CSS, HTML, and maybe do some writing, choose the static hosting option. If you are looking to write, choose wordpress, preferably hosted.
- pxllh 5y agoI think the rise of static site generators has pretty much gotten rid of this as a problem. Regarding posting only from your computer, you can just use a git repo that triggers builds on push. You can see many options for them here https://jamstack.org/generators/ https://jamstack.org/generators/
- southerntofu 5y agoCI/CD pipelines is not exactly complicated, but how do you handle multi-user permissions on a git repository? You sure can with git hooks if you run your own git server, but with an integrated solution like Github it's simply impossible. Some apps like Netlify (are there others?) presented solutions but are unfortunately to my knowledge not selfhostable.
- drakonka 5y agoI don't think most people would need multi-user permissions on a git repository for a personal blog, right? In my case, I just push to GitLab and have CI run to deploy to S3 via a GitLab-specific IAM user key/secret set as a repo env variable.
- southerntofu 5y agoWhen i say multi-user i don't necessarily mean human users. Some bots could be pushing content like comments from 3rd party interfaces (email inbox, HN thread, HTTP form) and i wouldn't like them to have write access to content/ or themes/ folder, only to a dedicated folder. Also interesting to question the whole supply chain security. What is Gitlab gets hacked? Surely you could deploy from/to your own infra using Gitlab as a source of truth by verifying PGP signatures (like with guix git-authenticate), but then how to apply the aforementioned ACLs? If you have resources on that topic, i'm all ears.
- gitgud 5y ago> When i say multi-user i don't necessarily mean human users. Some bots could be pushing content like comments from 3rd party interfaces Could be easier to use either another repository or a 3rd party comment system like Disqus
- drakonka 5y agoI think this might be over-complicating it a bit for a personal blog. There are comment systems like Commento, Disqus, Hyvor, etc that let you just embed a JS snippet into your layout for comments (if one even wants to support blog comments at all). Regarding GitLab getting hacked, while it is of course a concern I'm not sure it's any more of a concern compared to using any other hosted blog service. You'd have to consider how secure any hosting solution is, whether it's Wordpress, GitLab/AWS, Medium, or anything else. As a benefit, GitLab (unlike many other blog hosting services) supports U2F MFA.
- rcarmo 5y agoI just do git push to post, the site generator does the rest (including diffs and optimized change rendering in my case). You can git push from anything these days, including an iPad (which is basically what I do). (edit: why the downvotes?)
- soapdog 5y agoYes, that is what I said. It can be done, but it is not as trivial as posting on a wordpress-based blog. You have to setup some sort of CI/CD workflow and be able to do git stuff from other devices. It is up to the OP if they want to go through that route.
- cyber_kinetist 5y agoI've googled a bit on this issue and it seems like you can auto-deploy on post-push easily by using Git Hooks (https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) You just need a single simple bash script, no need for complex CI/CD stuff. Still, you're right that doing git stuff on other devices can be a bit annoying. A web interface might be a lot more convenient if you want to edit your blog WYSIWYG on the fly.
- lewisjoe 5y agoYeah it's me who made that SaaS but just as a handy tool for me to publish a static blog out of my google docs. It's live at https://hexo.press https://hexo.press P.S had no intention of becoming the next unicorn :)
- smbv 5y ago+1 for Grav: I've deployed it on my server and interact with it using the admin page and the git integration. It's simple and easily customizable, unlike WordPress. The main appeal of Grav, to me, is the hackability and ease of management compared to other CMS's. With a proper caching system, Grav is as fast as an SSG.
- throw0101a 5y ago> Unless you have some sort of CI/CD going on, the chances are that one can only post from their own computer, while using something like Wordpress allows them to post from anywhere — including their mobile devices — which leads to a ton of serendipity. There's a plug-in(s) for WP that allows you to have the GUI for convenience, but then generate a static site: * https://wp2static.com https://wp2static.com * https://www.wordpress.org/plugins/simply-static/ https://www.wordpress.org/plugins/simply-static/ * https://www.wpexplorer.com/static-website-wordpress/ https://www.wpexplorer.com/static-website-wordpress/ Either serve the static area directly, or use some scripting to update where your public web server lives.