Live data from Hacker News

How I blog with Obsidian, Hugo, GitHub, and Cloudflare

ingau.me

151–160 of 248 posts

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#151

> notes sync seamlessly across devices Droobox and similar services have never been seamless for me with Obsidian. There will inevitably be some conflict when the same file gets edited on two machines, and an ugly conflict file will appear, with no easy way to resolve it without a specialized diff tool. Sometimes this conflict file will get unnoticed and a change will fall theough the cracks. Not a deal breaker - but…

You might be interested in our real-time collaboration plugin for Obsidian called Relay [0].

Relay attaches a CRDT to the Obsidian editor. It makes collaboration really smooth and removes conflicts.

Markdown collaboration is free, but we do charge for attachment/media storage. If you dm me (@dtkav) on our discord [1] or email me (in my profile) I'm happy to give out free storage to HN folks.

One other benefit of using Relay is that you can use the new "App Storage" feature on Android to keep your files isolated and private on your device [2]. Using dropbox/gdrive forces you to store your notes in your documents folder and that means that they can be read by other apps.

[0] https://relay.md

[1] https://discord.system3.md

[2] https://obsidian.md/changelog/2025-04-22-mobile-v1.8.10/

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#152

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?

Personally, I’m a lot better at recognizing good writing than producing it, and LLMs are great at being a “calculator for words.”[1] Writing posts became a lot easier once I got an automated editor I could tell to “break up this run-on sentence to make it less confusing” or “rearrange these paragraphs so I introduce concepts before I start using them”. The end result is still the same, but this way I save a lot of time I used to spend glaring at Roget, Strunk, and White.

[1] https://simonwillison.net/2023/Apr/2/calculator-for-words/#c...

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#154

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.

This reminds me of people who will make an entire YouTube series on crafting the perfect Notion architecture. Only to not actually use it.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#155

Earlier quoted context omitted.

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…

So a personal website with a personal blog is ok then. Curious though how it handles a surge in requests, like from being on the front-page of HN. But many open source projects host their doc pages with Github pages and some of those get a lot of traffic so I'm sure that it's not an issue

GitHub Pages runs everything through a Fastly CDN. You can tell like this:

  curl -i https://simonw.github.io/
I get this:

  HTTP/2 200 
  server: GitHub.com
  content-type: text/html; charset=utf-8
  permissions-policy: interest-cohort=()
  last-modified: Wed, 16 Nov 2022 21:38:29 GMT
  access-control-allow-origin: *
  etag: "63755855-299"
  expires: Wed, 23 Apr 2025 18:20:50 GMT
  cache-control: max-age=600
  x-proxy-cache: MISS
  x-github-request-id: 3D02:22250F:11BEDCA:123BE7A:68092D2A
  accept-ranges: bytes
  age: 0
  date: Wed, 23 Apr 2025 18:10:50 GMT
  via: 1.1 varnish
  x-served-by: cache-pao-kpao1770029-PAO
  x-cache: MISS
  x-cache-hits: 0
  x-timer: S1745431851.518299,VS0,VE110
  vary: Accept-Encoding
  x-fastly-request-id: 0df3187f050552dfde088fae8a6a83e0dde187f5
  content-length: 665
The x-fastly-request-id is the giveaway.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#157
post #151

> notes sync seamlessly across devices Droobox and similar services have never been seamless for me with Obsidian. There will inevitably be some conflict when the same file gets edited on two machines, and an ugly conflict file will appear, with no easy way to resolve it without a specialized diff tool. Sometimes this conflict file will get unnoticed and a change will fall theough the cracks. Not a deal breaker - but…

You might be interested in our real-time collaboration plugin for Obsidian called Relay [0]. Relay attaches a CRDT to the Obsidian editor. It makes collaboration really smooth and removes conflicts. Markdown collaboration is free, but we do charge for attachment/media storage. If you dm me (@dtkav) on our discord [1] or email me (in my profile) I'm happy to give out free storage to HN folks. One other benefit of usin…

Thanks!

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#158

> … and no risk of platforms disappearing or changing policies. Those risks still exist. GitHub and Cloudflare can do these things at any moment.

I think the point was more about mitigating the risk of being locked in to a platform with bespoke authoring tools. GitHub and Cloudflare are very convenient with their generous free services, but if you had to a hugo blog could still be hosted on any web server in the world.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#159

> notes sync seamlessly across devices Droobox and similar services have never been seamless for me with Obsidian. There will inevitably be some conflict when the same file gets edited on two machines, and an ugly conflict file will appear, with no easy way to resolve it without a specialized diff tool. Sometimes this conflict file will get unnoticed and a change will fall theough the cracks. Not a deal breaker - but…

that should only happen if either - you haven't setup auto save/auto sync - multiple people editing the documents - you frequently have no Internet and the application closed when you re-gain Internet or similar if only a single person edits the same document at a time and you always sync changes when they happen that should be a non issue

You guessed one of the reasons correctly - I work offline (deliberately or accidentally) fairly regularly.

Re: How I blog with Obsidian, Hugo, GitHub, and Cloudflare

#160
post #112

I've started recently working on setting up the "special" public profile repository in GitHub to be my blog central and wanted to keep the files to a minimum. So, I really like using themes as modules in Hugo, then your blog repository will be just your content directory, go.mod, go.sum, hugo.toml, and any layouts you want to override or add. . ├── .devcontainer │ └── devcontainer.json ├── content │ └── posts │ ├── 1…

> So, I really like using themes as modules in Hugo, then your blog repository will be just your content directory

`themes` are small in size, why not copy them into your repository to keep the build hermetic?

Post reply on HN