ipsento606 a day ago

    > This stack gives me full control: no subscriptions, no vendor lock-in,
    > and no risk of platforms disappearing or changing policies.
I'm not trying to dunk on the author, but this sentiment encapsulates a tremendous paradigm shift in the meaning of "full control", compared to say:

* Writing in obsidian

* Syncing files via git

* Publishing via nginx hosted on the cheapest possible vps (with https via let's encrypt)

Running a static blog is one of the easiest scenarios to self-host, because even if you get slashdotted, nginx should be able to handle all the requests even if you're host it on a potato

It's not free, but you can get a VPS for $20-$30 a year.

This isn't the best fit for everyone, but it seems weird to talk about "full control" and "no risk of platforms disappearing" when you're relying on the free tier of two external companies

  • lolinder a day ago

    The point is that because of the way they structured their blog it would be trivial to do exactly this if they ever needed to. There's no complicated export from a locked in application, you just move your blog files from one host to another (maybe to your own VPS).

    The overhead of switching from Cloudflare to a VPS if they needed to is really not that much larger than switching from one VPS to another, so they likely figured it wasn't worth paying $30/yr to own the whole stack, as long as they architected it such that they could own the whole stack if they needed to.

    • anon7000 a day ago

      Similarly, Obsidian is just a markdown editor. So you're not even relying on their free tier; you could use any other markdown editor on the planet with the same results. Or any cloud file syncing tool.

  • y42 13 hours ago

    Been there, done that. Had my personal blog hosted on a machine like that. Even a little more sophisticated with nginx, virtual hosts and stuff like that. I ended up with almost the same setup as OP is presenting here: Hugo, GitHub Pages and Obsidian (or VS Code).

    While I know how to maintain a server, as I worked as a SysOp for many years supervising way bigger infrastructures, I just didn't want to spend my free time also with maintaining some remote host, installing security updates, checking fail2ban and so on.

    Self hosting is always more than just "instaling nginx".

    >> but it seems weird to talk about "full control" and "no risk of platforms disappearing" when you're relying on the free tier of two external companies

    This ignores the fact, that OP is actually storing the content on it's own devices. Sure, OP is using some cloud services to sync them around and GitHub/Cloudflare to eventually publish it to the world. But there's no real dependency. OP could always and easily (!) move to another similar setup.

  • gexla a day ago

    You don't have so much platform risk when you're hosting a static site. It's not like spending a fortune on development time to build on AWS just to find that the platform is a liability for the company, but you're locked in to the vendor.

  • taurath 16 hours ago

    It has more to do with Obsidian vs Notion or OneNote or Google Keep I'm gonna guess

  • intalentive 17 hours ago

    Do you even need https for static content?

    • linmob 16 hours ago

      Yes.

      (For "social reasons": If you have any feedback channel on your static site, people won't stop breaking your balls until you add https.)

      • 7thpower 12 hours ago

        Easy problem to solve.

pembrook a day ago

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.

  • freetonik a day ago

    I’ve noticed this a lot, too, and made this drawing as a joke: https://rakhim.org/honestly-undefined/19/

    • bewuethr 15 hours ago

      I love that graph! So many occurrences of "that's me" or "I know somebody exactly like that".

    • y42 13 hours ago

      *scnr:

      ooof.. this chart is making my day, not because of it's content, but it's presentation. Apparently it only works if you have very different scales for x and y axis. As you have the same metrics on both of them (number of posts), it only worked if like x axis is from 1 to 10 while y axis is either log or from 1 to 100 or so. Or you choose a differnt metric for the x axis, like "share of posts about blog setups".

      • freetonik 10 hours ago

        My thoughts exactly! Originally I wanted to also add a 2nd vertical axis on the right to signify "share of posts about blog setups".

    • rsync a day ago

      Oh, you put me on your graph!

      "Weird Dude Who Writes Raw HTML"

      My most recent example:

      https://kozubik.com/items/wago_audio/

      • gen220 a day ago

        Just a small word of unasked-for-advice... consider compressing your images further! Even ignoring bandwidth concerns, a 1.3MB image takes a while to paint :)

    • janandonly 15 hours ago

      Can I use this image on my blog?

      I will off course link to you site. It’s to illustrate a point about my blogspot blog haha…

      I’ve been looking to switch over to something else. But I’ve been actively blogging since 2006 and I haven’t found a good enough way and platform to switch over to.

      • freetonik 14 hours ago

        >I’ve been looking to switch over to something else. But I’ve been actively blogging since 2006 and I haven’t found a good enough way and platform to switch over to.

        Would you consider participating in a private beta of https://exotext.com/, a simple blogging platform I'm building? (example blog: https://rakhim.exotext.com/)

        If so, please send me an email: hello at rakhim.org

      • freetonik 14 hours ago

        Of course, go ahead! Please, share a link to your blog, I'm gonna add it to minifeed.net :)

        (I'll update my website soon and will make the licensing clearer.)

    • ceautery a day ago

      I'm in the "old-ass blogger.com site" category, with posts going back to '05.

      • martylamb a day ago

        Literally just posted my newly hogoized site that dates back to 2003 THIS MORNING. :)

    • realprimoh a day ago

      This is hilarious, and so true

  • nickjj a day ago

    I started with and used Jekyll for almost ~10 years and ~500 posts before switching to Hugo.

    I have a 7,000 word blog post on how and why I switched which I didn't publish yet because I wanted to wait 6+ months with Hugo to make sure I ironed out all of the kinks. I guess I'm the anti-case for this one! Maybe I should post this one next week. It's been quite stable.

  • BeetleB a day ago

    A bit unfair to the OP, given that he actually does write posts on his blog.

  • ChadMoran a day ago

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

    • mmsimanga a day ago

      I am in a worse group. Changed my blogging platform, wrote the obligatory post detailing why I changed platform and couldn't even get that obligatory post out. I hang my head

  • wolfgang42 a day ago

    I’ve been through a couple of different tools for my personal blog, and, having seen this trap, every time I did the migration I made sure to write a blog post about something completely unrelated instead. A few years ago I built my own static site generator and I vowed that I would never try to publish it for other people to use, another trap[1] that often springs on enthusiastic developer-blogger types.

    [1] https://news.ycombinator.com/item?id=21616774

  • barrenko a day ago

    It's our Hello World of sorts.

    • netsharc a day ago

      I remember someone presenting a development framework and saying something similar to this, "Of course, I used it to build a blogging platform..."

  • ingav a day ago

    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.

  • devsda a day ago

    Haha. I guess discovering & teaching how to do X is more rewarding than doing X. It applies to blogging, PKM and productivity too.

    Is there a name for this phenomenon where this actually turns out to be true? Closest I can think of is "During a gold rush, sell shovels".

  • jasonthorsness a day ago

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

    • fabianholzer a day ago

      There probably should be one, maybe taking turns with the biweekly Authors of custom static site Generators Anonymous meeting

Vingdoloras a day ago

Cool setup, but the choice of Obsidian is kind of weird in this context (in an interesting way, see next paragraph). Instead of opening a subfolder of the Hugo project in Obsidian, one could just open the entire thing in VSCode or a similar IDE, enjoy a good markdown editing experience, AND use git integration and the integrated terminal (and possibly set up automated tasks) to run your local testing and deployment workflows.

Note that Obsidian's markdown editing experience is _different_ from (but not necessarily better or worse than) what you'd get in a typical IDE. So while the choice seems weird to me, it absolutely makes sense if the author prefers the feature set that Obsidian offers. Being supported by so many different editors is one of markdown's strengths, after all, and this kind of editor-portability fits right in with the other parts of "Fully Owned" from the blog post.

  • anon7000 a day ago

    I mean, Obsidian is just a markdown editor. You could keep an identical publishing setup and use any text editor on the planet :P

    But I honestly despise writing raw markdown in an IDE. If I'm writing (not coding), I need it to be somewhat visual, which means I want WYSIWYG -- and Obsidian is an excellent markdown editor, even if you don't use the other features.

    My reasons for not liking writing "raw" markdown:

    - Long links take up too much space. I put it in text so it'd be hidden

    - No syntax highlighting in code blocks

    - Text wrapping/font is typically not configured for easy reading of text

    - A ton of markdown features are for visual formatting. Highlighting, bold, underline, strike-through, inline code, etc. If you stay in raw IDE no-preview, you never get the visual benefits.

    - When I'm using markdown, I'm often mostly reading, and doing some writing, but even when I'm writing, I'm re-reading what I wrote constantly. It's annoying to switch to preview mode. Writing mode in IDEs isn't a pleasant reading experience unless you do a lot of configuration. (depending on the IDE of course)

    I mean, writing raw md is fine for tiny little things. But because reading & writing are so linked, I don't like separate modes for each. I want to write in the visual mode I read in.

    • mrbombastic a day ago

      I find it annoying that I can get stuck in a mode when I am editing and the app is trying to render at the same time (e.g. I write some backticks to make a code block and Obsidian tries to be smart and add the second set and it encapsulates a bunch of lines I don't want it to) but to each their own I suppose. Vscode for what its worth has a preview that you can keep open side by side to see the visuals as you edit.

    • nottorp a day ago

      > If I'm writing (not coding), I need it to be somewhat visual, which means I want WYSIWYG

      <cough> You didn't grow up with WordPerfect 5.1 for DOS with reveal codes on, did you? :)

      • klank 5 hours ago

        Holy cow! 10 year old me learned word processing first with wordperfect. I looked for reveal codes in other processors for years after that and was always disappointed when I couldn't find it.

        Young me was like "how can you edit a document if you can't see the codes?!" Still to this day I wish I had it in word processors.

  • rcarmo 15 hours ago

    This is what I do, mostly. I try not to rely on Obsidian for anything but drafts (just because it’s convenient and less distracting than VS Code).

  • fallinditch a day ago

    Another benefit of using an IDE like VSCode for writing and publishing your blog is you can use the copilot AI to fill in the front matter details for you, easily add a table of contents, or add a cohesive structure of subsections. Don't forget the shift + CMD + v command to see see a preview within VSCode.

    Hugo is a great choice for an SSG, I find it logical and intuitive. As for extending it with a CMS front end, I looked at Decapcms.org - formerly Netlify CMS - it gives you the WYSIWYG editor and you can hook it up to an asset management platform like Cloudinary for images.

    BTW just checked Cloudinary pricing - generous free tier looks like plenty for most blogs.

vunderba a day ago

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

  • BeetleB a day ago

    Upvote for Pelican. I never understood why so many people don't consider it and jump straight to Jekyll/Hugo.

  • lylejantzi3rd a day ago

    Nice! I especially like the automatic compression of assets. It's such a pain to do it manually that I don't bother most of the time. I cross my fingers and hope the reader has a fast internet connection.

    • vunderba a day ago

      Haha yeah I get that. I probably get the most savings from the animation compressor which checks if GIFs are over a certain threshold (> 1mb) and then seamlessly converts to autoplaying muted MP4 files which function nearly identically.

      I really wanted to use animated WebP but the iOS decoding is SUPER unreliable often resulting in choppy inconsistent framerates.

      One thing I don't do but I know is more common is using <Picture> elements to serve scaled assets depending on if the user is coming from mobile vs desktop.

      Depending on what you use for your blog, you might look and see if the SSG has plugins for media optimization. By the time I figured that out, I had already handrolled my own. :p

jagged-chisel a day ago

> … and no risk of platforms disappearing or changing policies.

Those risks still exist. GitHub and Cloudflare can do these things at any moment.

  • connicpu a day ago

    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.

  • nuker a day ago

    > GitHub and Cloudflare can do these things at any moment

    I hosted mine in AWS S3 with CloudFront for Https and custom domain. Using Hugo too. I wrote Cloudformation template for whole setup [0], just create the CFN stack using template in AWS. Then copy public html to S3 using "aws s3 sync" and done!

    [0] https://github.com/neutor/bite-sized-aws/blob/main/static-s3...

ValtteriL a day ago

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.

  • _verandaguy a day ago

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

    • wolfgang42 a day ago

      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...

    • angristan 13 hours ago

      I found it very useful for proofreading. It's easier than copying/pasting the content into ChatGPT or similar, as it's right in the editor. I disabled the autocomplete though, as I found it breaks my flow of thoughts

      (Wrote about this: https://stanislas.blog/2025/02/writing-workflow-llm/)

    • x187463 a day ago

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

  • ingav a day ago

    I just like keeping all my writing in one place, separate from coding. Obsidian gives me that focused space, and I’ve set it up with a nice font and minimal theme that fits how I like to write.

Brajeshwar a day ago

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.

riveralabs 5 hours ago

In the past I’ve been hesitant about Obsidian, but I tried this with my hugo site (hosted on AWS Amplify) and I’m liking the workflow. I like the fact that it creates a vault for my blog directory and the front matter is shown as properties that are easy to edit. Yes I can use VSCode for that, but I like the polished markdown editor. Or that I don’t have to copy/paste content. It’s not revolutionary but a good improvement to my workflow.

hk1337 a day ago

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
    │       ├── 1718983133-post-1.md
    │       ├── 1720321560-post-2.md
    │       └── 1740070985-post-3.md
    ├── go.mod
    ├── go.sum
    ├── hugo.toml
    └── README.md
3 directories, 8 files
  • ashishb a day ago

    > 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?

  • sureglymop a day ago

    Just out of curiosity, what would the Hugo toml file look like and do you use multiple themes?

bryanhogan a day ago

Very nice post!

I do almost the same, but instead I use Astro.

I use Obsidian, with a GitHub submodule for the content, and host it all as a static page. I wrote about that here if anyone is interested: https://bryanhogan.com/blog/obsidian-astro-submodule

  • J_Shelby_J a day ago

    Same. I even built this for my GF to use. You don’t even need to download vscode as you can run it in a free dev container in browser: https://github.com/easy-astro-blog-creator/easy-astro-blog-c...

    The only thing I want is to implement a gui for adding and editing posts.

    • bryanhogan a day ago

      What you built is actually so great! Was also thinking of building something that makes blogging for less technical people easy without the downsides of a walled system.

      Haven't heard of dev containers like that before, but cool to see that they can be used like that.

caboteria a day ago

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?

  • seanwilson a day ago

    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?

    • semi-extrinsic a day ago

      The way I understand this is not that Github Pages can't be used for commercial purposes, but that it's not OK for something like ecommerce with many users every minute which generates a lot of load?

      So a small company could host a static landing page with generic info and "contact us" etc., and that would be fine, I think?

      It also mentions that breaking the rules will result in getting a "polite email suggesting ways to reduce load on Github".

    • flanbiscuit a day ago

      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

      • simonw a day ago

        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.
      • jerf a day ago

        The "front page of HN" has not scaled like the rest of the computing hardware has scaled. The smallest VM you can get serving static content will yawn at the full power of an HN surge. Unless you have a very 200x-era bandwidth limit, or you're trying to be on the front page of HN with a 250MB web page (which does happen), it's not anything to be concerned about anymore.

  • ingav a day ago

    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.

    • igravious a day ago

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

      • ingav a day ago

        I connect the custom domain in the Cloudflare Pages dashboard. Once the site is deployed, you can assign a domain under Pages > Custom Domains, and since I already manage DNS in Cloudflare, it's just a couple of clicks to route it.

  • _joel a day ago

    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.

tjoff a day ago

Zero cost is an antifeature.

It is just centralizing the web. You can do a lot with a $4 droplet if a single board computer isn't your cup of tea. Not "buying" into icloud/cloudfare is alone worth that cost. Also much more meaningful stack to learn.

Nothing against the post/author, I just feel the creativity to "exploit" features of the giants that is put in place just to undermine alternatives is misplaced.

mmcnl a day ago

My blog is self-hosted on a Dell Latitude E7270 with 1 Gbit/s fiber connection. No Cloudflare. It handled the #1 position on HN last year quite well. I use self-hosted Ghost as a headless CMS with a Nuxt frontend.

  • aeve890 15 hours ago

    Where... where do you house a laptop?

ksvarma a day ago

This is really good to help overcome many fears of blogging!! Once you know your obsidian is linked, all your notes and writing would take next level of drafting to actually becoming a post. Thank you ingav!

Ps: Folks should chill out about wording here and there.

  • ingav a day ago

    Thank you!

leonheld a day ago

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.

edit: today I learned people have very strong opinions about static site generators. Good valid reasons, y'all. Maybe my use case really is too simplistic!

  • craftkiller a day ago

    For me its mainly:

      - the ability to update every page on my site at-once in a uniform fashion (want to change the page layout or add a link in the footer, either you're manually editing a hundred HTML files or a couple lines in a single template file)
    
      - Syntax highlighting. My blog has code blocks so I would have to manually invoke a syntax highlighter for each code block (and every time I update the code I'd have to do it again).
    
      - auto-invoking graphviz and gnuplot. Similar to the code blocks, I write graphviz dot and graphviz blocks as code in my blog posts and have my static site generator render them to images. If I was manually writing the HTML then I'd either end up committing the built binaries (rendered images) to git (which, of course, is bad practice but ultimately inconsequential when talking about small SVGs for the few charts/graphs on my blog) or I'd have to have a "build" step where a script invokes graphviz/gnuplot to output the images which is the first step on the road to a static site generator.
    
      - Avoiding name collisions with internal anchor links (the kind with the `#` symbol that scrolls the page). I use these for footnotes and code block references. I could manually assign names for these for each blog post, but when combining multiple blog posts into a single list-view for the home page, there is the risk that I might reuse the same `#fn1` anchor across multiple blog posts. Using a static site generator, I don't need to concern myself with naming them at all and I have my static site generator assign unique names so there are no conflicts.
  • victorbjorklund a day ago

    Because then you have 200 blog posts and suddenly you realize "oh I wanna add an author section to all my blog posts". That is 200 files to edit. Could you write a script to do the edit? Sure, but then you pretty much build a static site generator.

    • Lammy a day ago
      • jerf a day ago

        And you built a static site generator.

        Or at least, you will have as you realize things like you only wanted to do that on certain categories or whathaveyou.

        You can in principle just write HTML with no script support, but it itself becomes an exercise in conspicuous asceticism. It is not unreasonable to want things like "the last 5 posts" on every page on a blog, or an RSS feed, or any number of other very basic, simple things that are impractical with an editor and raw HTML.

        • Lammy a day ago

          I use Jekyll actually. That's totally not the point I'm trying to argue :p

  • funkyfourier a day ago

    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.

  • Ezhik a day ago

    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.

  • 9dev a day ago

    Id like to see you writing a semantically correct, accessible, responsive <figure> 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 <picture> tag and its srcset attribute.

  • fabianholzer a day ago

    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.

  • vunderba a day ago

    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.

  • viraptor a day ago

    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.

  • lylejantzi3rd a day ago

    Because writing in markdown is a nicer experience. You could convert markdown to html using Pandoc, but another nice thing that these blog generators do is templating and indexing. Neither of which is necessary, but still, they're nice, especially if it happens automatically when you push to github.

  • Macha a day ago

    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.

  • corobo a day ago

    Because I don't want to publish the millions of draft posts I'm procrastinating on right now

  • imtringued 12 hours ago

    The input is markdown, the output is HTML. How do you bridge that gap without generating HTML?

DLion a day ago

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.

dSebastien 16 hours ago

Obsidian is also the single source of truth for everything I create and share: articles, newsletters, courses, and even books.

I shared my communications plan here: https://notes.dsebastien.net/30+Areas/33+Permanent+notes/33....

This enables me to connect everything and to have a single place where I maintain the content.

My end goal is automating publishing and updates to all platforms from within Obsidian.

bad_username a day ago

> 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 not "seamless" either.

  • dtkav a day ago

    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/

    • sureglymop a day ago

      Very interesting! A while ago I worked on a toy project that would allow for realtime collaboration for obsidian vaults located on a nextcloud instance.

      Basically, I saw that nextcloud built their own realtime text editor based on TipTap so I created an obsidian extension to connect to it.

      Unfortunately work and uni got in the way but it was a very interesting idea/learning experience.

      • dtkav a day ago

        wow, that's awesome! Did you open-source it? I'd love to take a look.

  • dathinab a day ago

    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

    • bad_username a day ago

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

mazzystar 21 hours ago

With a similar intention, I made an open source blog tool that stores md files on Github: https://github.com/mazzzystar/tinymind

No deployment is required, just authorise Github to access your public repo permissions. It will create a repo called "tinymind-blog" under your Github account. Every update you make will be committed to your Github repo, ensuring data synchronisation at all times.

lylo 15 hours ago

Big fan of Cloudflare Pages for static sites. Personally I prefer Jekyll (Ruby innit) and VS code but same workflow and result.

These days for daily blogging I built Pagecord so I can just type an email and clicking Send :) https://pagecord.com

tmaly a day ago

I had thought to do this same things. I am glad someone figured it out.

The one thing I do differently with Obsidian is that I use a private git repo rather than having it live in iCloud. I sync it across an iphone, ipad, and windows desktop.

wood_spirit a day ago

I set up a friend’s prolific blog with a very similar approach many years ago using pelican and pushing to a git server vps where a tiny custom python wevserver serves whatever is in git.

Only friend has struggled to get pelican and git etc set up on a new laptop. And tbh I am lost - and horrified - at the latest windows. Not keen on being tech support and working out why python command hangs etc.

And my custom vps setup doesn’t do tls. And I don’t want to try.

So I’m wondering if there are any alternatives? Is there a web frontend for blogging straight to ghpages, for example?

  • mkl 17 hours ago

    Run things in WSL instead of Windows native? Python, git, Pelican, etc. should just work there, as it's just Linux. VSCode can open WSL folders directly. WSL git operating in Windows folders does work, but it's slow and occasionally has strange errors.

  • killingtime74 a day ago

    Maybe your friend should pay someone (not you) for tech support. It shouldn't take that long

Cieric a day ago

I actually set up something close to this myself, but purely selfhosted. I never really wrote any posts though because I wanted to figure out a system for interactivity like some other blogs have done. The one that always sticks out in my mind is the "Let's remove Quaternions from every 3D Engine" post [1], I never really cared for the video aspect of it, but all the little examples to try and give a better 3d perspective of what's going on is the thing I've always wanted a good system for.

[1] https://marctenbosch.com/quaternions/

treeblah a day ago

I had a near identical approach for my blog but I recently moved to a headless CMS. The bugbear being that it wasn't easy to publish if I wasn't at my desktop. With a headless CMS, I auth through Github via my phone, which also serves as the draft/publish step since posts in the CMS manifest as pull requests. It's been working great so far, with the caveat that the writing experience isn't as nice as Obsidian.

FWIW the CMS is Decap CMS and I have it configured likewise with Cloudflare Pages (since Pages supports functions that are needed for the auth/callback cycle).

netsharc a day ago

I've been wondering how to get off the Zuckerverse (I still post on Instagram) and wondered if I can streamline uploading pictures to my own website. I imagine a Telegram bot that receives an image + caption, with backend code that creates such a blog post and does a git push is one way of doing it.

It seems this post talks about blogging from the desktop. But I just installed Obsidian on Android, it allows a filesystem vault. I think pairing it with Syncthing and some automation on my NAS (to do a git push to Github/Gitlab) could make it very streamlined.

  • bayindirh a day ago

    You can install or use any of the open pixelfed instances instead of Instagram.

    I stopped uploading to Instagram the day they started using images for AI training.

    If any of the file syncing applications work directly on the filesystem, I think you can use Obsidian on these folders and it'll sync automatically. On iOS, Obsidian defaults to iCloud, for example.

thevivekshukla a day ago

That's a nice way to write blog using Obsidian. I am using zola for my blog[1] and I might use obsidian for better UI.

For my work[2] I am using SvelteKit and written my own blog using mdsvex and enabled pre-render. That works well too.

[1]: https://vivekshuk.la [2]: https://daestro.com/blog

Ezhik a day ago

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.

  • ingav a day ago

    Github Pages also works, I used Cloudflare since almost all my other projects are hosted there + I use it to manage DNS.

    • Ezhik a day ago

      Understandable. I went with GH Pages for my new blog pretty much entirely because that's what my old site already used.

crooked-v a day ago

I feel like Obsidian Publish must be really doing something wrong, when this sort of thing keeps catching interest when it's a lot more effort than just paying $8/mo.

  • packetlost a day ago

    The one issue I have with Obsidian Publish is it's a bit of a pain to put your own SSL-secured domain in front of it. I run a nginx-based proxy as a bandage. I can see why someone would not want to pay $8/m for it though when there are a ton of free options out there. You have to remember that devs love flexing their skills and automating a blog can be fun, it's not really anything wrong with the service.

    • 2snakes a day ago

      -Your own- yes, but Cloudflare is extremely easy.

sureglymop a day ago

Lately I've been trying out Astro for my blog and it's actually kind of nice. I like how actively it gets developed.

What I regret though was using Tailwind. Mainly because I later couldn't find a straightforward way to just use normal CSS and ignore that within the scope of some component/page.

blakesterz a day ago

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!

  • ingav a day ago

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

khimaros a day ago

the last i checked, hugo didn't support wikilink syntax. they don't seem to be doing anything to get around this, so my assumption is that they aren't using them.

exiguus a day ago

Is there a reason to use Cloudflare instead of github pages for static site hosting?

heltale a day ago

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 <dir>/<post_name>.md’ to create the file with the metadata.

  • ingav a day ago

    Nice, didn’t know that. Will try it out, thanks!

ahmedfromtunis a day ago

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.

D13Fd a day ago

Honestly this sounds a bit cumbersome. I built my blog years ago using Puput (https://github.com/APSL/puput) and Render, and it has been running strong with minimal maintenance since then, with hundreds of posts. The software is all open source and free other than the minimal hosting fees.

If I want to do a post, I log in, draft the post in a simple rich-text editor with image support and keyboard shortcuts for formatting, and click "publish." I don't have to fool with anything, there is no chance of sync breaking, and it's instantly responsive.

The back-end is stored in Github, but the posts are stored, with revision history, in a Postgres database that I have full access to.

It's hard to envision a scenario where I'd prefer digging through a git repository to see a previous version of a post rather than just clicking into the CMS site and clicking on the historical version of the post that I'd like to look at, where it is instantly displayed including images. And even with daily blogging, the number of times I've actually looked at a prior version of a post is very low -- probably less than once a year.

  • ingav a day ago

    Totally get that. My post was meant as a way, not the way. I already use Obsidian for most of my writing and notes, so this setup just fits naturally into my workflow.

    • D13Fd a day ago

      That makes sense. I too use Obsidian for just about all of my notes (and nvAlt before that -- my Obsidian notes archive dates back over thirteen years). I think the key difference is that I don't use the Git CLI on a daily basis, so dropping down into the terminal to use git to publish a blog post seems like too much work.

      Keeping Hugo installed and up to date as part of the publish process seems like a headache as well. I like the blog to be totally separate from my local machine, so if I change anything or switch laptops, it doesn't interfere with the publication process.

      Manually adding the Hugo front matter to each post also strikes me as annoyingly fiddly, although you could use a text expander app to handle most of it. Another issue is that I'm not sure that Markdown would do well for the full scope of formatting, such as aligning images and adding image captions.

ksec a day ago

This is completely off topic.

What hit me ( hard ) wasn't the blogging set up, it was this:

>And if anything’s unclear, LLMs like ChatGPT or Claude are great for filling in the gaps.

For people like me who grown up before Internet was a thing. If we dont understand anything we either have to go to the library to look it up go to find someone for help. Then it was encarta. When Internet arrived I could do look up faster, or more importantly if I am stuck anywhere I could ask on IRC or forums for help.

I am sensing a large part of learning on forums and online will be gone. Read the manual becomes ask the LLMs?

And I am sensing ( no offence ) the generation growing up with LLMs may be far worst. We already have a generation of people who think Googling the answer is 99% of the work when in fact the answer is not important. It is the process of getting to that answer that is largely missing from today's education.

Sorry about the off topic message. But that sentence really hit me differently.

  • jajuuka a day ago

    I grew up the same way and it's for sure wild to think back how if we had a question about something we had to do digging at a library to find the answer hopefully. Now it's just search and done. Or read a wikipedia page about it.

    I do see the "I asked chatGPT" response more and more and initially had a similar feeling but I think it's still early days for LLM's. Will they be around in 10 years and ubiquitous like search engines? Who knows. But undoubtably they will get better over time and more accurate. Just like how the early internet had a lot of bad information on it, it got better over time.

    This might also be a divide between different types of people. Personally I am very curious and want to really understand how something works so I get tons of information that won't help me solve a problem, but I understand the tool or part better. I would guess you might be in the same basket. But there are also people who just want the answer to solve the problem. They don't care how it works they just want it to work. And that's fine. It takes all kinds. Not everyone needs to have a masters in CS to use a computer or program one. Best we can do is try and nurture curiosity among other people and help them figure out ways to learn more and more.

  • csallen a day ago

    Processes are always changing and getting easier. The process you grew up with was far easier than what people had to do decades before you, which was easier than the process decades before that, etc.

    It's easy to fret about, "How will the next generation survive in the world I grew up in, without the skills I developed?"

    But the answer is, they won't. Just like you don't need the same skills a caveman had because you live in a thoroughly transformed world, the kids of today won't need the same skills you had because they'll live in a thoroughly transformed world.

    Ofc some good or important things will always be lost from one generation to the next. But that's okay. Still, humanity marches onward.

trollbridge a day ago

Back in the day, I just blogged by appending a text file, and then later an HTML file.

chyueli a day ago

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

flanbiscuit a day ago

I have a sort of similar setup but I haven't started using Obsidian yet, it's on my todo list. I use Eleventy instead of Hugo, with its simple Eleventy-Base-Blog starter template. I use Github action to publish to Github pages instead of using Cloudflare. It's a nascent site/blog, haven't written much, no images yet, so I don't see the need for something more than Github pages right now.

One thing I don't see the author mention that is part of what I plan to do with Obsidian is use Syncthing (which I already use for other things) so I can work on a post when I'm not at my laptop. Probably just to write down ideas/notes and then fully work it out when I get to my laptop.

If the blog author is here, curious if they commit drafts to their repo or not. I personally don't commit drafts. Besides also using 'draft: true` in the front-matter, I gitignore any markdown file where the filename starts with the word "draft". When I'm ready to publish I rename the file.

https://www.11ty.dev/

https://github.com/11ty/eleventy-base-blog

  • ingav a day ago

    Nice setup.

    Yeah, I do commit drafts. My repo’s private, so I don’t mind keeping everything versioned there, including posts still marked as draft: true.

    • flanbiscuit a day ago

      ah yes, I was going to mention that if it's private then it's not an issue.

undebuggable a day ago

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

hexage1814 a day ago

You can use archive.org for file hosting.

bix6 a day ago

Awesome! I setup something similar recently for my website and love it. I go Cursor with Hugo to GitHub to Cloudflare. I saw many Wrangler mentions so want to look at that at some point?

It’s funny because we could ostensibly switch to any git hoster but it’s really only GitHub and gitlab huh? And Cloudflare is hard to beat.

salt-thrower a day ago

Dropbox and Google Drive work for Obsidian on the desktop version, but the iOS version does not seem to support them.

philipwhiuk a day ago

> max-width: 55rem;

Why???

  • mfro a day ago

    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.

    • ingav a day ago

      > It feels like it causes less eye strain.

      Yes that was the intention.

HenryBemis a day ago

The Hugo/GitHub combo has been around/mentioned for some years.. I thought of running a blog once (but then.. no) and this was the choice I would have made. But on the other hand, if you are going to post something online, just go to blogspot and call it a day. Because that's what you did there. A blogspot (but on MS instead of Google) with many-many-many extra steps.

  • ingav a day ago

    True, Blogspot is simpler. But if it ever shuts down or changes policies, you’re at their mercy - and exporting your content cleanly could be a mess. With this setup, everything is just Markdown files and Git. I can move it anywhere, anytime, no lock-in.

voidUpdate a day ago

Is the domain name free too?

  • ahmedfromtunis a day ago

    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.

    • voidUpdate a day ago

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

      • ahmedfromtunis a day ago

        Yep. I recently built a noise generator app and hosted it at noise.ab.xy.

        Nothing technically groundbreaking (actually Cloudflare does it automatically for me), but it's a nice quality of life trick.

  • ingav a day ago

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

sneak a day ago

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

Dathuil a day ago

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

  • ingav a day ago

    I’m not totally sure, but Obsidian does have built-in spellcheck, and there are some community plugins like LanguageTool that might help with grammar. Haven’t used them extensively myself, but they could be worth checking out.

dv35z a day ago

I'm wondering if someone can help me brainstorm my setup -

How to handle images & video content, when using git to track files? I'll explain my setup...

My vision is a somewhat "lo-fi" and 10+ year durable system - so even my "CI/CD" is more local, in the form of shell scripts, rather than remotely (like GitHub Actions)

I have a folder, that's basically my-website.com, and it has a folder `docs` for content (that's `mkdocs` default content folder). The top level directory is a git repository, which is pushed to Codeberg (code repository, similar to GitHub).

As a content editor, I currently use VSCodium (open-source VSCode) + FOAM (clone of ROAM, similar to Obsidian, which lets you cross-link Markdown files with Obsidian-style links [[MyLink]]. To be specific here, on MacOS, I created a shortcut to the website folder on Finder, and I drag that onto the VSCodium app icon, when I want to write. It's a pretty easy workflow on my computer (not practical on mobile)

I use MkDocs to generate the HTML site. I use a simple deploy script to run `mkdocs build` and `aws s3 sync` to copy the files to an AWS S3 bucket.

This all works pretty well, but I'm now trying to figure out how to handle photos & videos.

To give an example, I would have something like `~/_Websites/my-website.com/docs` and inside of that I would have `journal/2025/04/2025-04-23.md` as a journal entry. Related photos and videos, I use `journal/2025/04/media` - so its sort of a catch-all for all the media files for the month.

Recently, I added some large videos (unrelated: but I'm recording video of my CNC router doing cool stuff), and quickly realized

(1) Git is not the right spot for large media (I knew this, but just hadn't hit the problem yet - seeing how long `git pushes` take).

(1.1) I actually have a broken repo right now, as I committed video files into it, and can't `git push` without the network connection being cut. I think it may be on the Codeberg side, because they have a limit of 1 GB per repo.... So I'm also trying to figure out how to back out the change, get the video file out of there, and arrive to a better solution.

(2) After reading `git-lfs` (Git Large File Storage) website several times, I can't quite figure out how to integrate it - or IF I should integrate it.

(3) Now, I'm noodling on having something like a `MEDIA.my-website.com` directory, which is basically a non-git-tracked folder structure of photos/videos, which I would then rsync to a separate S3 bucket - and then website content could reference it. However - I'm fearful that over time, the markdown content and the media site would be out of "sync" - I frequently re-organize content as needed. For example, I might start with a `python` folder, and a `java` folder, but then later create a top-level `programming` folder. I could see doing the same with the media folder too. `padel` and `squash` folder (containing video clips of games, how-to's) might be grouped under a `sports` folder, and so on. Dragging these folders around while the media content is inside the folder usually doesn't cause problems, because of relative links. However when the content & media are in different file structures, broken links would happen - and this reduces the "fluidity" / increases friction in naturally re-organizing the site with time.

To conclude: - How to handle video media with git tracked markdown content?

Anyway! I appreciate your patience in reading this, and hope you get the idea of the setup - curious what folks who have been down this route can recommend.

superkuh a day ago

How I Blog with HTML and nginx - Zero Cost, Fully Owned: Step 1. install nginx from repos on my home desktop computer. Step two: write html files and put them in directories under the web root. Step 3. forward port 80 to the webserver internal IP on my router config. Step 4. Link people to http://your.ip.here.a/somepage.html or maybe rent a .com domain.

I've been doing it for 20+ years (xitami and thttpd before nginx) and it not only has an infinite lifetime (because it's .html and files) but it also has no attack surfaces or mantainence required.

All that static site generator and remote corporate services stuff will break within a year if left untouched. And re: security, running a static nginx server from home is about 10,000x less of a security risk than opening a random page in $browser with JS enabled. nginx RCEs are less than once a decade. And DoS re: home IP? A vastly over-stated risk for most human people. In my 20+ years I've never had a problem, and even if I ever do, who cares? It's not like my personal website needs nine 9s of uptime. It can be down for days, weeks, with no issue. It's just for fun.

  • quesera a day ago

    Yikes, I'd strongly discourage unfiltered ingress PAT to your desktop machine.

    I know you have acknowledged the decision to entrust nginx with all of your personal data and tax records and bank statements and legal documents and browser history and GitHub credentials and ssh private keys and so on.

    But it's still madness. You are one oversight, accident, or bug away from total pwnage.

    • superkuh a day ago

      All of this applies to using your browser and your browser automatically executes code from random sources. If this is your threat model then how are you even posting on HN? Shut down that insecure browser quickly. It is tens of thousands of times more likely to expose your personal data etc etc than nginx.

      Running nginx isn't madness. Thinking nginx is more of a risk, or even comparable to, your normal daily browser behavior certainly is.

      Go look up the last nginx RCE. I think you'll be in the 2000s for just bare nginx.

      • quesera 20 hours ago

        You are not educating me in any way. And obviously I don't browse with JavaScript enabled.

        We could go back and forth all day about the likelihood of a v8 sandbox escape vs RCE in a big C program. But another risk to consider is a non-obvious misconfiguration. A default server block with a wildcard server name. A stray symlink inside the docroot. An unexpected mount point. A temporary config change that you forget to revert. So many ways to fail...

        Regardless, trusting your entire personal data security to a single layer of protection is madness.

        Perhaps only exceeded by the logic of "it hasn't happened for a long time, therefore it will never happen again".

        Good luck.

        • superkuh 8 hours ago

          I guess you're right. Humans make mistakes so we should just not have any control where we might make a mistake at all and host all our personal data at large corporations who definitely have our privacy as the #1 priority and never leak. And before you say, "I don't do that, false dichotomy." we're not talking about us, here, it seems. Since we both are obviously huge nerds capable of securing things (I have js disabled by default too). We're talking about the type of person that runs javascript.

          • quesera 7 hours ago

            I thought we were talking about blog posts.

            Host your personal data on your local machine. Encrypt it and sync to another physical location for backup.

            But serve your blog from somewhere else. If you want to self-host it at home, buy a cheap NUC (or RPi) and hang it off the guest network on your WiFi router. Or, minimally, a VM or a zone/jail/container. I don't like the idea of a compromised host sitting on my home LAN, but it's better than a compromised daemon running on my desktop OS.

            Or don't self-host at home, but mirror the data up to GitHub Pages or Cloudflare Pages for free. Or pay for a cheap VPS (people elsewhere in these comments mentioned a $20/yr host). Or OVH, Hetzner, even AWS low-spec instances...all reasonable options.

            If you're no longer talking about blog posts, but you want worldwide access to arbitrary personal data on your home desktop, that's a job for a VPN -- preferably one that still does not terminate on your desktop itself, and of course not one that gives a sketchy third party direct access to the desktop.

            I completely agree that pushing your personal files and such up to Dropbox (e.g., etc) would also be madness!

            You say we're not talking about us, but I'm responding to your specific mention that you serve blog posts to the public Internet from nginx running on your desktop. We may not be able to help to average consumer, but I'm talking about you! :)

  • ingav a day ago

    But I’d say “infinite lifetime” only holds as long as your hardware, power, and IP setup stay stable. If your home machine dies or your router resets, things go offline fast.

    That’s part of why I prefer hosting the static output somewhere external. Not perfect, but it lets me step away from the setup for months and still have it running.

    • superkuh a day ago

      Yes, I do need society to continue existing and for me to not be homeless. I guess I hadn't considered the needs of the unhoused. For them self-hosting is going to be a problem. For everyone else, not a problem. Going briefly offline for a week literally doesn't matter at all. This isn't a business or institutional service. Once you stop trying to fulfill the needs and constraints typical of those endevors you can see just how easy it is.

      As for IP, when it changes you can just copy the new IP and stop sending links with the old IP to friends. It's not a big deal. But a domain is nice (either some dyndns subdomain or a real tld with free DNS hosting (and dyndns updates) by zoneedit or the like).

1oooqooq a day ago

and no access logs :(

sifik 8 hours ago

[dead]

dang a day ago

[stub for offtopicness]

[submitted title was "How I Blog with Obsidian, Hugo, GitHub, and Cloudflare – Zero Cost, Fully Owned"]

  • zoezoezoezoe a day ago

    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.

    • ingav a day ago

      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.

      • Minor49er a day ago

        In that sense, everything is "fully owned" and the phrase is meaningless. But in the context of the summary where you're using it, it certainly sounds like you are claiming ownership on the infrastructure

        • zoezoezoezoe a day ago

          I do agree that the phrasing may be poor, but I see where ingav is coming from, if you're using hosted Wordpress and only keep your data in the Wordpress CMS, if Wordpress disappears today, so does all of your content. Although, that may seem foolish to some of us, there are definitely people out there who do that.

          • tanelpoder a day ago

            Yup. I'm using Vim + Hugo + GitHub + Netlify in a similar fashion. Just edit my markdown post, git push and it shows up on my website. I used some other static hosting service previously, don't even remember which one, but switching was super easy as I just pointed the output to some other bucket. So the public web hosting provider is completely commoditized and easy to switch from.

            Also, I like treating my blog as a version-controlled, declarative "codebase" that's just a bunch of plaintext files (no MySQL tables, XML or JSON to crawl through).

        • kelvinjps10 a day ago

          You don't own for example the comments in this platform or the post that you make on Facebook or writing platforms like substack, if you are using notion you don't your notes

        • jollyllama a day ago

          The phrase to use would be something like data ownership. Something more specific.

        • johnmaguire a day ago

          I don't know, where do you draw the line? If I host it myself using nginx running on a VPS, does that count? Or still no, because I don't own the VPS?

          What if it's a dedicated machine, colocated? What if it's at home, but I pay an ISP?

          edit: Downvoted, care to explain why? I genuinely wrestle with this question. I self-host lots of services at home - and I also self-host services on a cloud VPS, which have better availability and security posture with regards to my home network for things I make public or semi-public. Some have told me this isn't "self-hosting" and I am not sure where the line is drawn.

          • Minor49er 17 hours ago

            The cloud VPS isn't self hosting if you don't own the server. It would be like saying that you self-host your email service because you opened a GMail account

            • johnmaguire 16 hours ago

              So self-hosting refers to hosting the hardware, not the software? Does a colocated dedi count?

      • NelsonMinar a day ago

        You're getting a lot of pushback but I agree with the sentiment of fully owned. Sure, the git repo and static files are hosted elsewhere for now. But you can easily switch that place any time. Meanwhile all the important stuff: the post data, the code to format them, the domain name, the process itself. That's all in your complete ownership and control. It's a very different bargain than, say, hosting things at wordpress dot com.

        • tasuki a day ago

          But the git repo is also fully on their local computer. Isn't that owning? Just because there's a copy elsewhere does not invalidate the local copy!

      • dietr1ch a day ago

        I'd go for fully static, which can be served everywhere.

        I think blogs should be built like this to make preservation easier. I'd love to have something that make content domain agnostic, more like git that allows cloning and distributing content without forcing people to guess when to pull and archive if they want to keep track of things.

      • zoezoezoezoe a day ago

        I see, I do agree it is nice to have your data fully owned (like really) and safe on device (or devices), though, sometimes it doesnt feel like enough in the ever changing landscape of the internet.

        • esperent a day ago

          People get protective of the term self hosted, but all I know is that if I search "how to self host" for any open source project, 90% of the guides at least, probably including the project's own docs, will be about installing on a VPS.

          Anyway, the important thing is being in control of your own data. With proper off-site backups and reproducible setups using containers, migrating between VPS providers should usually take just a few hours.

          I fully understand the arguments for (and against) managing your own server. But I've not been convinced by any arguments for that server being in your house/office rather than a climate controlled warehouse somewhere.

          Well, unless you enjoy setting up and managing the physical hardware yourself of course. That's fully reason enough.

          • zoezoezoezoe a day ago

            I'm definitely in that last camp I like self-hosting with my own hardware on my own network because it's really fun.

      • 6stringmerc a day ago

        But if they kill your access to those accounts do you have a method to force them to let you back in to get “your” content? Serious question as I self-publish and use a distribution service for my music but I stop short of your claim. I’m an independent rights holder. I don’t own the platforms upon which I choose to distribute my work - terminology does matter and, well, you’re claiming something basically untrue because it sounds cool…that’s my impression.

        • blackoil a day ago

          As long as domain control isn't lost, he can quickly move from Github to Gitlab/gitee/self hosted and from CloudFlare to Netlify/DO/AWS.

        • squidbeak a day ago

          Why would he need to be 'let back in to get' his content? This is a static site: he's already got it.

    • corobo a day ago

      If we're going to nitpick that far they'd need to start an ISP and lay their own fibre too

      Personally I feel if you can quickly pull out of a provider and host elsewhere with maybe just a config change - aye the data is fully owned, close enough.

      • 6stringmerc a day ago

        Can you make them give it back if they nerf / quash your account? That’s true ownership, in my view.

        • ForHackernews a day ago

          Git is natively distributed. One would hope he has a local copy of the repo.

  • Zambyte a day ago

    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

    • ingav a day ago

      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

      • greyman a day ago

        Thank you for your post, it's very sensible setup. Does Cloudflare Pages offer unlimited bandwidth?

        • ingav a day ago

          Thank you. Yes they offer unlimited bandwidth.

    • intrasight a day ago

      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?

      • jprjr_ a day ago

        So I agree in the sense that, you're always going to rely on something. Even if you're hosting on hardware you own at your house, using your own self-signed SSL certificates, you're still relying on an internet connection from some company.

        But, I think using the term "fully-owned" to refer to pushing up to GitHub, then deploying to Cloudflare Pages is definitely not "fully-owned"

        • ingav a day ago

          What I meant by "fully-owned" is really about owning the content and the workflow: everything lives locally in plain text, versioned in Git, and built with open tools. I can move it to any host without being locked into a platform or losing anything.

          You're right that hosting on GitHub and Cloudflare isn't infrastructure ownership. I should’ve been more precise with the wording.

      • angra_mainyu a day ago

        "Vendor-agnostic" maybe? It's not perfect but I get where OP is coming from. Personally, the use of the term is completely reasonable.

      • throwaway519 a day ago

        It would mean you owned the ink and paper.

        The OP's fully owned is analogous to someone else doing the printing for the privelege of spying on your readers.

      • gosub100 a day ago

        You're being obtuse. Paper and ink are fungible commodities. Try again.

    • lucideer a day ago

      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.

  • righthand a day ago

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

    • bitbasher a day ago

      "Fully-owned" when it's relying on GitHub Pages, Hugo, Obsidian and Cloudflare to function.

      Two of which are services operated by a corporate entity and one of which is a closed source piece of software.

      The only thing "owned" here is the fact that the entire blog is simple markdown and the domain name. However, that doesn't mean it's very portable. It's not impossible, but it's a lot more work than I would want to do.

      • mind-blight a day ago

        Obsidian is just a very convenient markdown editor. You could rip and replace it with another editor trivially. You just don't get the convenient UI

    • jprjr_ a day ago

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

      • wongarsu a day ago

        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

      • riffraff a day ago

        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.

        • ingav a day ago

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

    • Saris a day ago

      I'd argue it is, because it's portable to any other service. As in you own all the content and methods to generate it.

      • righthand a day ago

        But he doesn’t. If Cf or Gh go down he has to reconfigure the whole mess. Portability != full-ownership.

        • Saris a day ago

          No matter what host it's on, even if you run it at your house, if something goes down you'll need to do the same.

          The internet as a whole relies on a huge variety of services all working as they should.

        • greyman a day ago

          As a corporate senior eng, this does't look like a mess to me - just a few things, easily configurable in the matter of hours. My only concern would be if Cloudflare pages offer truly unlimited bandwidth, but so far the site is live. :-)

        • yawnxyz a day ago

          If he hosts from his house, if he loses internet he'll still have to reconfigure the whole mess. We don't own anything.

          • righthand a day ago

            So we’re agreed, “fully-owned” is not the correct choice of words.

  • begueradj a day ago

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

    • victorbjorklund a day ago

      Obsidian is just an editor for markdown files, Hugo is open source. If we can't count open source as "self-owned" then god no one owns anything because pretty much no one runs their computer on a OS they build from scratch with no contributors or using any existing code.

    • Brajeshwar a day ago

      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.

    • Saris a day ago

      Obsidian is just a markdown editor, so the files are portable. The context is that the content and methods to publish it are not someone elses.

  • xyst a day ago

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

    • bryanhogan a day ago

      There are so many other services that allow you to host static pages for free though, at least currently.