21 ms·
How I blog with Obsidian, Hugo, GitHub, and Cloudflare
- deleted 1y ago[deleted]
- voidUpdate 1y agoIs the domain name free too?
- ingav 1y agoThis was written assuming you already have a domain. If not, then yes that would be an additional cost.
- ahmedfromtunis 1y agoNot 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 1y agoDo you mean you can easily spin up foo.ab.xy, bar.ab.xy and baz.ab.xy?
- ahmedfromtunis 1y agoYep. 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.
- caboteria 1y agoI'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?
- _joel 1y agoIf 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.
- ingav 1y agoI 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 1y agoWhere in the process do you integrate your custom domain (ingau.me) ???
- seanwilson 1y agohttps://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits 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?
- 1y ago
- blakesterz 1y agoVery 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 1y agoYeah, I’m hoping this kind of setup gets more popular. It’s simple, fast, and gives you real control over your content.
- ahmedfromtunis 1y agoFor 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.
- vunderba 1y agoI 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 https://mordenstar.com/blog/obsidian-to-pelican-exporter Pelican static site generator: https://github.com/getpelican/pelican https://github.com/getpelican/pelican
- lylejantzi3rd 1y agoNice! 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 1y agoHaha 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
- BeetleB 1y agoUpvote for Pelican. I never understood why so many people don't consider it and jump straight to Jekyll/Hugo.
- heltale 1y agoI 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 1y agoNice, didn’t know that. Will try it out, thanks!
- ValtteriL 1y agoVSCode 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 1y agoWhy would you need copilot for blogging? Isn't the whole appeal of a blog that it's something you, a human created?
- x187463 1y agoCopilot is helpful for handing formatting and repetitive structural stuff. It doesn't need to actually create the content to be useful.
- wolfgang42 1y agoPersonally, 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/#calculator-for-words https://simonwillison.net/2023/Apr/2/calculator-for-words/#c...
- angristan 1y agoI 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/ https://stanislas.blog/2025/02/writing-workflow-llm/)
- ingav 1y agoI 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.
- DLion 1y agoI 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.
- leonheld 1y agoI 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!
- vunderba 1y agoThat'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.
- Ezhik 1y agoWriting 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.
- viraptor 1y agoWhen 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.
- 9dev 1y agoId 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.
- Ezhik 1y agoObsidian is honestly such a joy to write in - I use it for my blog as well: https://ezhik.jp/ 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.
- undebuggable 1y agoMy blog workflow and deployment are so simple they don't even deserve a blog post;)
- pembrook 1y agoGreat 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.
- ChadMoran 1y agoThis reminds me of people who will make an entire YouTube series on crafting the perfect Notion architecture. Only to not actually use it.
- mmsimanga 1y agoI 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
- ingav 1y agoHaha, 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.
- jasonthorsness 1y agoIs there a support group for this? I have not rebuilt my blog since Feb 21 2024 though I have been sorely tempted :P
- fabianholzer 1y agoThere probably should be one, maybe taking turns with the biweekly Authors of custom static site Generators Anonymous meeting
- barrenko 1y agoIt's our Hello World of sorts.
- philipwhiuk 1y ago> max-width: 55rem; Why???
- mfro 1y agoI 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 1y ago> It feels like it causes less eye strain. Yes that was the intention.
- chyueli 1y agoLocal priority means that the written content can be automatically saved even when there is no network?
- mbil 1y agoNice 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 https://matthewbilyeu.com/blog/2025-04-06/blogging-via-email
- Dathuil 1y agoMy 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 1y agoI’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.
- Brajeshwar 1y agoStrikingly 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.
- sneak 1y agoI’m tired of the git workflow. I yearn for a CMS for my Jekyll.
- ksec 1y agoThis 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.
- csallen 1y agoProcesses 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.
- jajuuka 1y agoI 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.
- microtonal 1y agoShout out to Quartz, which produces a site similar to Obsidian Publish: https://quartz.jzhao.xyz/ https://quartz.jzhao.xyz/ (I would use Obsidian Publish, but it rendered far too slowly on some pages. I do use their excellent sync service though.)
- jsifalda 1y agohave you submitted your site to Obsidian Garden Gallery yet? https://obsidian-gallery.craftengineer.com/ https://obsidian-gallery.craftengineer.com/
- tjoff 1y agoZero 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.
- bryanhogan 1y agoVery 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 https://bryanhogan.com/blog/obsidian-astro-submodule
- J_Shelby_J 1y agoSame. 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-creator 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 1y agoWhat 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.
- bix6 1y agoAwesome! 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 1y agoDropbox and Google Drive work for Obsidian on the desktop version, but the iOS version does not seem to support them.
- HenryBemis 1y agoThe 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 1y agoTrue, 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.
- flanbiscuit 1y agoI 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://www.11ty.dev/ https://github.com/11ty/eleventy-base-blog https://github.com/11ty/eleventy-base-blog
- ingav 1y agoNice 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 1y agoah yes, I was going to mention that if it's private then it's not an issue.
- Cieric 1y agoI 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/ https://marctenbosch.com/quaternions/
- fareesh 1y agoI have a similar setup - my post goes into some more details on getting a few things working like embedded tweets etc https://fareesh.com/post/config-to-content/ https://fareesh.com/post/config-to-content/
- superkuh 1y agoHow 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 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.
- ingav 1y agoBut 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 1y agoYes, 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).
- 1y ago
- hk1337 1y agoI'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 1y 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 1y agoJust out of curiosity, what would the Hugo toml file look like and do you use multiple themes?
- hk1337 1y agoI found this as a source. Just like most Hugo.toml with the added module.imports and you have to use the full import name, not just the theme name. https://discourse.gohugo.io/t/how-to-add-a-theme-using-modules-for-beginners/20665/3 https://discourse.gohugo.io/t/how-to-add-a-theme-using-modul... I don’t have any but I’ve been swapping out to see which I like better and trying to make my own too.
- D13Fd 1y agoHonestly this sounds a bit cumbersome. I built my blog years ago using Puput (https://github.com/APSL/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 1y agoTotally 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 1y agoThat 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.
- netsharc 1y agoI'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 1y agoYou 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.
- treeblah 1y agoI 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).
- pwillia7 1y agoBig fan of DecapCMS if you get tired of only writing from VScode or w/e. https://decapcms.org/ https://decapcms.org/ Shameless plug for my AI blog run on Hugo -- https://reticulated.net/ https://reticulated.net/
- crooked-v 1y agoI 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 1y agoThe 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 1y ago-Your own- yes, but Cloudflare is extremely easy.
- ksvarma 1y agoThis 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 1y agoThank you!
- bad_username 1y 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.
- dathinab 1y agothat 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 1y agoYou guessed one of the reasons correctly - I work offline (deliberately or accidentally) fairly regularly.
- dtkav 1y agoYou 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 https://relay.md [1] https://discord.system3.md https://discord.system3.md [2] https://obsidian.md/changelog/2025-04-22-mobile-v1.8.10/ https://obsidian.md/changelog/2025-04-22-mobile-v1.8.10/
- 1y ago
- exiguus 1y agoIs there a reason to use Cloudflare instead of github pages for static site hosting?
- dang 1y ago[stub for offtopicness] [submitted title was "How I Blog with Obsidian, Hugo, GitHub, and Cloudflare – Zero Cost, Fully Owned"]
- Zambyte 1y agoWhat 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 1y agoBy "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
- lucideer 1y agoWhile "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.
- intrasight 1y agoI 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?
- jagged-chisel 1y 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 1y agoI 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 1y 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-website https://github.com/neutor/bite-sized-aws/blob/main/static-s3...
- tiffanyh 1y agoOr just use Obsidian Publish (and eliminate Huge, Github and Cloudflare) https://obsidian.md/publish https://obsidian.md/publish
- ipsento606 1y 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 1y agoThe 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 1y agoSimilarly, 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.
- gexla 1y agoYou 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.
- intalentive 1y ago
- tmaly 1y agoI 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.
- trollbridge 1y agoBack in the day, I just blogged by appending a text file, and then later an HTML file.
- Vingdoloras 1y agoCool 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 1y agoI 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 1y agoI 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.
- wood_spirit 1y agoI 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?
- killingtime74 1y agoMaybe your friend should pay someone (not you) for tech support. It shouldn't take that long
- tough 1y agojust use WSL to run python sighs
- mkl 1y agoRun 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.
- sureglymop 1y agoLately 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.
- mmcnl 1y agoMy 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 1y agoWhere... where do you house a laptop?
- thevivekshukla 1y agoThat'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 https://vivekshuk.la [2]: https://daestro.com/blog https://daestro.com/blog
- khimaros 1y agothe 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.
- hexage1814 1y agoYou can use archive.org for file hosting.
- dv35z 1y agoI'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.
- 1oooqooq 1y agoand no access logs :(
- mazzystar 1y agoWith a similar intention, I made an open source blog tool that stores md files on Github: https://github.com/mazzzystar/tinymind 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.
- dSebastien 1y agoObsidian 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.02+Content/My+communications+plan 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.
- lylo 1y agoBig 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 https://pagecord.com
- sifik 1y ago[dead]
- riveralabs 1y agoIn 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.
- miragecraft 1y agoIt’s great that this works for you, I hope you write lots. Everyone’s brain is wired differently, and for me Kirby CMS works best as I can blog anywhere and can run scripts server side. Throw it up on NearlyFreeSpeech.Net and I pay less than $5 a year for hosting. I’ve read about SSGs suffer software (really dependency) rot when left alone for a few years. You’ll never need to worry about that with PHP.