(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=43771645

Hacker News 的讨论围绕一篇博文展开,该博文详细介绍了如何使用 Obsidian、Hugo、GitHub 和 Cloudflare 建立一个“零成本,完全拥有”的博客系统。核心争论在于“完全拥有”的含义,许多用户认为依赖云服务与真正的所有权相矛盾。 博主 ingav 解释说,“完全拥有”指的是控制和可移植性,而不是基础设施的所有权。内容存储在本地,使用 Git 版本控制,并使用开放工具构建,方便迁移。这与锁定在特定 CMS 平台形成了对比。 用户讨论了 Jekyll 和 VSCode 等替代方案,称赞 Hugo 的速度和灵活性。一些人对 Cloudflare 可能的商业限制(相比 GitHub Pages)表示担忧。另一些人质疑静态网站生成器的必要性,更倾向于直接编写 HTML。还讨论了自定义域名集成和管理元数据等实际问题。总体而言,大家普遍赞赏这种方案提供的可移植性和控制能力。

相关文章

原文
Hacker News new | past | comments | ask | show | jobs | submit login
How I Blog with Obsidian, Hugo, GitHub, and Cloudflare – Zero Cost, Fully Owned (ingau.me)
56 points by ingav 59 minutes ago | hide | past | favorite | 53 comments










I really dont agree with "fully owned", you arent running on anything you actually own ie self-hosting. It's all on the cloud, which dont get me wrong, is pretty cool and helpful, but hardly yours.


I’m using “fully owned” more in the sense of control rather than infrastructure ownership. The content lives locally, it’s versioned in Git, and everything’s built with open tools. I can move it to another host any time without being locked into a specific platform or format.

I agree it’s not “self-hosted”. But compared to a closed CMS or paid platform, it feels meaningfully more in my hands.



Not “fully-owned” though if you need external services to do the heavy lifting. I think they mean deployed onto a personal vps.


It's deployed onto Cloudflare Pages - I think this is 100% the opposite of fully-owned.


As long as they use their own domain and have that registered with some other registrar they can trivially move the blog to any other hoster, including a random VPS. So while the current setup depends on github and cloudflare they don't hold much power over him.

It's not really fully-owned, but it's owned in the ways that matter most



I think the point is that it's not someone else's blogging service. If CF or GH die, you can port this to some other platform or your own server without losing anything, compared to e.g. blogger.


Yes. That's exactly what I meant. The content is not locked-down and is fully portable.



Strikingly similar to mine, except Jekyll instead of Hugo. I don't even build it locally these days. So, Obsidian > Github > Cloudflare.

Jekyll is slow for large content (my blog is huge), Hugo is fast. But I want to stay as mobile and lean as possible. I've tried and with a few changes in the template, I can move from Jekyll to Hugo in a weekend. I've also tried to stay as decoupled as possible from any templating engine (Jekyll), and hence rely mostly on pure HTML + CSS, while Jekyll is used more as the task runner. All the posts are separated by "YYYY" as folders and none of the posts have frontmatter.

I can also move between Github Pages, CloudFlare Pages, Netlify, or Vercel within hours if not minutes by just pointing the DNS to the ones that I want. I did this when Github Pages went down quite a few times about 3 years ago.

I almost went Markdown > Pandoc + Make but not worth it right now.



What do you mean "fully owned"? There is no mention of that in the post

Edit: I guess you mean the content itself is still on your machine if the services go away, and you can choose to host them elsewhere



By "fully owned," I mean that I control the entire stack:

- Content is just Markdown files in my local Obsidian vault

- Hugo builds the site locally - no dependency on external editors or platforms

- GitHub is just used for version control and deployment

- Cloudflare Pages handles static hosting, but I can move it elsewhere anytime



While "fully owned" is ambiguous, the only other term I can think of here would be "fully portable", which has other connotations, so it's probably the best term for this.

Would be nice to coin an unambiguous term for this as it's a useful design goal.



I don't think there is a good term in the context of the Internet. Or offline for that matter. Even if you printed your blog and handed it out on street corners, for it to be "fully owned" would that mean you make your own ink and paper?


VSCode has been good enough for markdown blogging for me. Hugo compiles pages on save so its quick to iterate. The markdown preview plugin brings same experience to misc markdown editing.

No new editors to learn and one gets instant access to copilot etc.



Why would you need copilot for blogging? Isn't the whole appeal of a blog that it's something you, a human created?


Copilot is helpful for handing formatting and repetitive structural stuff. It doesn't need to actually create the content to be useful.


Nice setup. I use Jekyll but recently moved to a flow where I author posts as rich text emails and a process on the receiving end persists them as markdown and compresses images. It could be improved but so far has been working well.

https://matthewbilyeu.com/blog/2025-04-06/blogging-via-email



I'm curious about the pros and cons of Cloudflare pages versus GitHub pages. Given that you're using GH as a repo, would it be simpler to also use it to serve pages?


https://docs.github.com/en/pages/getting-started-with-github...

> GitHub Pages is not intended for or allowed to be used as a free web-hosting service to run your online business, e-commerce site, or any other website that is primarily directed at either facilitating commercial transactions or providing commercial software as a service (SaaS).

Not finding a similar mention for Cloudflare... commercial sites are fine there?



I already have several other projects and DNS managed in Cloudflare, so it made sense to keep everything in one place. GitHub Pages would definitely work too.


Where in the process do you integrate your custom domain (ingau.me) ???


If you're using cloudflare already then it makes sense, closer to the edge and all that, plus there's integration to make that all very seamless from gh.


I profoundly do not understand why one needs Hugo or Jekyll or whatever other generator. Why not write HTML in the first place? It's so absurdly easy and it makes you not depend on external infrastructure at all.

I tried some generators but it was so much more complicated than writing a style sheet and some pages. Maybe for some more complex use-case, okay, I get it, but the author's blog is so minimal and simple.



Id like to see you writing a semantically correct, accessible, responsive
block containing an image of a chart displaying some data.

It takes me nine characters plus URL and alt text in markdown using Hugo. I would be surprised if you get it right on the third try without consulting MDN, spending time to research, do image conversions, and fiddle with the tag and its srcset attribute.



The separation of template and content is the reason. You don't want to have to run a find and replace to add a new link to your sidebar or whatever.


When I want to write longer content, the last thing I want to think about in that process is html tags. Doesn't matter how simple - if it distracts from content, it has no place at that stage of the process. I'm also very likely to include code snippets in any post I write and I extremely don't want to write the code colouring by hand every time.


I thought this too, but then it hit me that it will need pagination as the number of blog posts grow. Also updating links, footers, menus, headers etc also quickly becomes a nightmare.


That's a very technical perspective. If you're a note taker, you ALREADY write in a format that is comfortable for you. And like the vast majority of people who enjoy putting proverbial pen to paper, you aren't thinking about bloody html tags.

The goal of generators is to reduce the friction of taking your notes/articles/etc. and wrapping them in thematically consistent HTML/CSS for your site. Once you've got it tuned/setup for your blog, they're pretty easy to use.

Obviously in your use-case where you find static site generators more complicated, then you can stick with raw html.



Changing common parts like the navigation becomes a bit of a chore without a ssg as soon as your site has more than a handful of pages.


Writing raw HTML is just not fun for some people.

Obsidian is a nice middle ground between WYSIWYG and plain text - it doesn't send markup characters into the ether but at the same time does show you something close to the final text in real time.

Closest thing we've had to WordPerfect's Reveal Codes in decades.



Obsidian, Hugo, Github, Cloudflare ... none of those are owned by you.


The idea is to use them as tools that get the job done and get out of the way, while you own the content. All of these tools are easily replaceable and the pipeline can still publish to the final blog domain without any worry.


I have a very similar setup, but I went a step further by writing a custom Obsidian plugin that handles compressing assets / transforming frontmatter / pushing the bundle up to my Github blog repo.

Github has an automated action that then uses Pelican (a python based static site generator) to convert to HTML and deploys it to my VPS where it is served by Caddy.

Makes it very easy to have a WYSIWYG interface, the blog pages look basically identical to Obsidian.

https://mordenstar.com/blog/obsidian-to-pelican-exporter

Pelican static site generator:

https://github.com/getpelican/pelican



For me it's (neo)vim, 11ty and netlify. I've be using netlify for years before CF launched their worker/pages offering.

I however use CF workers a lot to deploy single-purpose webapps for my personal use.



Local priority means that the written content can be automatically saved even when there is no network?


I have been using this way of blogging for years now and it works perfectly.

I didn't know about Cloudflare pages, thanks for sharing!

I use Jekyll, Github pages and Cloudflare. I use hackmd for editing but Obsidian will work as well.



Very cool. I first setup my blog way back in the 90s and wrote the HTML by hand and used FTP to get it on the server. Then moved to phpslash and slashcode, Drupal and then Wordpress. Probably something else in there too. This setup feels much closer to how I was doing it in the 90s in some ways. It kind of feels like we've come full circle!


Yeah, I’m hoping this kind of setup gets more popular. It’s simple, fast, and gives you real control over your content.


I have largely the same setup but use neovim instead of obsidian.

A friendly tip: you don’t have to populate the metadata yourself and can use ‘hugo new

/.md’ to create the file with the metadata.



My blog workflow and deployment are so simple they don't even deserve a blog post;)


Great stuff, looking forward to your next blog post in 1 year: “How I rebuilt my blog on…”

A fun hobby of mine is Googling “how I built this blog with [next.js/Gatsby/etc etc]” and going to page 10 of the Google results.

It’s just hundreds of developer blogs with no blog posts other than the ones announcing how the blog was built.



Is there a support group for this? I have not rebuilt my blog since Feb 21 2024 though I have been sorely tempted :P


Haha, been there. But this setup’s actually working really well for me. It’s not chasing the "hot new thing," it’s going back to stuff that’s proven and solid.


Obsidian is honestly such a joy to write in - I use it for my blog as well:

https://ezhik.jp/

On my end I ended up building an entire custom thing that bastardizes SvelteKit to produce a static website that I then upload to GitHub Pages, but I think over-engineering a personal website is always good fun - and hey, I can tweak lots of silly aspects like how my post names get turned into /nice-and-readable-urls.

Out of curiosity, what's the advantage of using Cloudflare Pages over GitHub Pages? Both seem to require a GitHub repository.



My own setup is similar but replace cloudflare with netlify and vscode with obsidian. However I do find writing markdown as someone with dyslexia to be a huge issue when it comes to spelling and grammer.

How is Obsidian for correcting this? Years ago I would have used something like grammarly to solve it but I'd rather something build it in if possible and make it as brainless as possible



“Zero cost” until cloudflare management decide to kill the free program.


I’m tired of the git workflow. I yearn for a CMS for my Jekyll.


> max-width: 55rem;

Why???



I imagine this just mitigates the need to make the site reactive for mobile users. Everyone gets the mobile experience.

I actually prefer reading like this, even on desktop. It feels like it causes less eye strain. Though I might prefer if it was closer to 65rem.



> It feels like it causes less eye strain.

Yes that was the intention.



Is the domain name free too?


Not the OP but I own some ab.xy type of domain names and use one of them as my personal gTLD.

It's like having infinite "free" domains (even with the small fee for the base domain.)

But the most important part is the fun of just having an entire namespace at your disposal to create whatever "domain name" in seconds.



Do you mean you can easily spin up foo.ab.xy, bar.ab.xy and baz.ab.xy?


This was written assuming you already have a domain. If not, then yes that would be an additional cost.






Join us for AI Startup School this June 16-17 in San Francisco!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact



Search:
联系我们 contact @ memedata.com