[HN Gopher] Ask HN: Looking for lightweight personal blogging pl...
       ___________________________________________________________________
        
       Ask HN: Looking for lightweight personal blogging platform
        
       Requirements: - Write software engineering blogs with markdown -
       Open IDE, write some thoughts, push new version of the blog from my
       terminal - Be able to host on github for free - Be able to display
       code with syntax (I guess if it supports markdown it will support
       that too?) - Maintain structure e.g. post dates, navigation, post
       tags - Ability to have a page about me  Bonus points - be able to
       personalise a little bit the look and feel if I wanted to e.g. font
       No need for: - comments on blog posts  What are my options?
        
       Author : trashtestcrash
       Score  : 71 points
       Date   : 2024-02-06 10:51 UTC (12 hours ago)
        
       | Kelteseth wrote:
       | Hugo and papermod as the theme
       | 
       | https://github.com/adityatelange/hugo-PaperMod
        
       | mbork_pl wrote:
       | I looked for something similar and ended up coding my own. It was
       | a lot of fun and even did not took too much time. Of course, I
       | had one advantage - being an Emacs user I could leverage Emacs &
       | Org mode. And one nice thing about my one is that the whole blog
       | (content, templates, styles, JS) is contained in one source file.
       | (Of course, binary assets are kept separately, though technically
       | they could be embedded in an org file, too.) And btw, I don't
       | even need to leave Emacs and go to the terminal to push he new
       | version. :-)
       | 
       | If not for Emacs, I'd probably glue together a few tools like
       | Pandoc, sedm scp and the like.
        
       | fabianholzer wrote:
       | If I were to start again from scratch, I'd likely use Zola as SSG
       | (https://www.getzola.org/)
        
         | asicsp wrote:
         | I was going to suggest Zola too. I use it for my personal blog
         | (hosted via GitHub Pages). Not sure if all of OP's requirements
         | are met, but many do.
        
         | bjord wrote:
         | every time I've tried to set something up using jekyll and a
         | theme I actually like, I've run into dependency issues, so I'm
         | really liking the look of this
        
       | matricaria wrote:
       | I think this is what your looking for: https://jamstack.org/
       | 
       | I use Hugo with a theme called Congo. https://gohugo.io/
       | https://github.com/jpanther/congo
        
         | rijavecb wrote:
         | Thank you for mentioning Congo! I was thinking to make a
         | personal blog using Astro, but since Congo looks great I might
         | as well go with it and Hugo.
        
       | lagniappe wrote:
       | check out bearclaw https://github.com/donuts-are-good/bearclaw
       | 
       | write it in markdown and host it anywhere, no fancy shenanigans
        
       | poidos wrote:
       | Maybe https://www.11ty.dev/
        
       | iammjm wrote:
       | I use https://mataroa.blog/ after it was posted on HN by one of
       | it's creators. Been happy with it for the past 2 years so far
        
       | ochronus wrote:
       | Most SSGs, or if you want to have it easy: https://getpublii.com/
       | - generates static sites, can publish to github pages (among
       | others), has themes.
        
         | ochronus wrote:
         | For syntax highlighting:
         | https://marketplace.getpublii.com/plugins/syntax-highlighter...
        
       | tcgv wrote:
       | Here's my personal blog, set up in 2019 on github pages (free
       | hosting), built with Jekyll [1] which supports markdown, code
       | snippets, tags, sections and more.
       | 
       | For a technical person, it does the job pretty well and almost
       | without any maintenance effort:
       | 
       | - Github: https://github.com/TCGV/Blog
       | 
       | - Live: https://thomasvilhena.com/
       | 
       | [1] https://github.com/jekyll/jekyll
        
       | xz18r wrote:
       | Many of the recommendations in this thread are great. Go with a
       | SSG; almost all of the bigger players will be able to do
       | everything you list and (a lot) more. Personally a big fan of
       | Astro[1] but Hugo, Jekyll, 11ty, etc. will do the job just fine
       | and there's imo no reason to pick one over the other in your case
       | apart from working with a framework in a language you're
       | comfortable with.
       | 
       | If you're looking to get started right away and don't care about
       | having it hosted by someone else there's also bearblog[2] which I
       | can recommend btw.
       | 
       | [1] https://astro.build/ [2] https://bearblog.dev/
        
         | Geste wrote:
         | Been procrastinating starting a blog for several weeks. I know
         | a bit of code, but I was bothered about using github or the t e
         | r m i n a l to write silly stuff online.
         | 
         | Thanks to your post about bearblog, I now have a blog. A tiny
         | website exactly like I wanted. With really nice themes (that I
         | can customise since I know a bit of code !) all for a fraction
         | of Squarespace asked me. And apparently I have anlaytics also ?
         | Can't wait to use those.
         | 
         | So far, this is the tits. Would be happy with more products
         | looking like this !
        
       | r0ckarong wrote:
       | How much code do you want to write for it? Do you just want to
       | push to a repo and it happens automatically? What does the
       | structure of your "navigation" "post dates" look like? Browsable?
       | 
       | The most simple thing I could think of would be asciidoc + github
       | pages. Write stuff, generate output HTML, push all to repo, wait
       | for sync. Done.
        
       | readscore wrote:
       | If you don't need tagging (as http://danluu.com/ doesn't, for
       | example), you can use my "no workflow" solution:
       | 
       | * draft in markdown
       | 
       | * render in HTML (using any Markdown to HTML tool, e.g. pandoc)
       | 
       | * link your CSS in the HTML file.
       | 
       | * push to your preferred serving platform
       | 
       | This has the advantage of getting you started as quick as you can
       | open an editor.
       | 
       | If after 5 posts you are wanting a tool, pick whichever (Hugo).
        
         | coxley wrote:
         | +1
         | 
         | This puts the focus on writing content vs. spending unlimited
         | time in the setup.
        
       | adriangrigore wrote:
       | May I recommend my personal creation https://mkws.sh/? Simple, sh
       | based, very customizable, very lightweight.
        
       | m-i-l wrote:
       | As per many other comments, it sounds like a static site
       | generator like Hugo (https://gohugo.io/) or Jekyll
       | (https://jekyllrb.com/), hosted on GitHub Pages
       | (https://pages.github.com/) or GitLab Pages
       | (https://about.gitlab.com/stages-devops-lifecycle/pages/), would
       | be a good match. If you set up GitHub Actions or GitLab CI/CD to
       | do the build and deploy (see e.g. https://gohugo.io/hosting-and-
       | deployment/hosting-on-github/), your normal workflow will simply
       | be to edit your markdown and do a git add/commit/push to make
       | your changes live. There are a number of pre-built themes (e.g.
       | https://themes.gohugo.io/) you can use, and these are relatively
       | straightforward to tweak to your requirements. In theory, since
       | the content (markdown) is separate from the presentation (theme),
       | you can change design relatively easily (although in practice
       | there's often theme specific config).
        
         | marosgrego wrote:
         | Or Blades (https://getblades.org)
        
         | cruano wrote:
         | There's also hexo [1]. I saw that on Matt Klein's website [2]
         | and the theme looked pretty clean.
         | 
         | [1] https://hexo.io
         | 
         | [2] https://mattklein123.dev/2020/03/08/2020-03-07-new-website/
        
           | trashtestcrash wrote:
           | I love the simple design, I feel this may be what I'm after,
           | will give it a shot! Thank you!
        
       | katet wrote:
       | MkDocs with the Material for MkDocs theme has reasonable blogging
       | support, and a dockerized image for building. It also has some
       | other features like footnotes, mermaid diagrams, and "code
       | annotations" for code blocks.
       | 
       | Type markdown, build in docker, publish assets to GitHub Pages
       | :tada:
        
       | K0nserv wrote:
       | My blog works like many of those described in others comments,
       | it's:
       | 
       | - Jekyll(any static site generator would do, I'd probably pick
       | Zola or Hugo if I was starting from scratch. See list[0])
       | 
       | - GitHub to host source code
       | 
       | - GitHub actions to push resulting assets to S3(Would try R2 over
       | S3 if starting from scratch I think)
       | 
       | - Cloudflare for TLS, edge caching(including HTML[1] which is
       | nice)
       | 
       | The source for my blog is:
       | https://github.com/k0nserv/hugotunius.se. I also made a starter
       | template[2] at some point, but it's quite out of date now.
       | 
       | 0: https://github.com/myles/awesome-static-generators
       | 
       | 1: https://hugotunius.se/2020/01/01/edge-cached-static-sites-
       | on...
       | 
       | 2: https://github.com/k0nserv/one-cent-blog
        
       | smallerfish wrote:
       | Here's a walkthrough of how I set up Hugo with free hosting on
       | Cloudflare - https://smaller.fish/posts/hugo
        
       | RockstarSprain wrote:
       | Lately I've been using Fruition - which is just a way to attach a
       | custom domain name to your published Notion directory. The script
       | is no longer maintained but it keeps working using some
       | Cloudflare agent scripting mechanisms.
       | 
       | URL: https://github.com/stephenou/fruitionsite
        
       | Sai_ wrote:
       | I built my blog to publish via email.
       | 
       | It's got everything you need except it's not possible to edit
       | posts. You just have to email yourself a new, updated version and
       | make that version public.
       | 
       | Taught me a lot about serverless, SES, css, and htmx. 10/10 would
       | recommend trying this route if you don't want to use the standard
       | toolsets.
        
         | PsyNyde wrote:
         | can you elaborate a bit more how did you achieve this. also
         | source code will be amazing if you have it open sourced of
         | course.
        
           | Sai_ wrote:
           | Source code is a bunch of lambda functions to extract content
           | from emails, then present that information in blog posts.
           | 
           | There are quite a few moving parts -
           | 
           | 1. Route 53/AWS SES rules to handle Inbound emails
           | 
           | 2. S3, Lambdas, and Step Functions to process emails into
           | json objects
           | 
           | 3. Cloudfront distro and behaviors to handle content delivery
           | 
           | 4. Aws Cognito to handle login
           | 
           | This probably needs an accompanying blog series just to
           | explain how everything works with each other.
           | 
           | If you're interested, I've written a bit about it on
           | https://pretzelbox.cc/blog which dogfoods the above product.
           | 
           | If there's genuine interest, I'll be happy to open source it.
        
       | dvko wrote:
       | Sounds like any static site generator supporting Markdown will
       | do.
       | 
       | - Jekyll: the OG, but requires a ruby toolchain.
       | 
       | - Hugo: compiles to a single static binary, but you may have to
       | get used to its (Go text/html) templating.
       | 
       | - Zola: also compiles to a single static binary, but uses Jinja-
       | like templating.
       | 
       | - Gozer [^1]: my own, like Hugo, but 1000x simpler. I rolled my
       | own because I wanted something that didn't move under me in the
       | next 10 years and just because it was fun and easy enough to
       | build.
       | 
       | [1]: https://github.com/dannyvankooten/gozer
        
         | pmontra wrote:
         | I run Jekyll in its own official docker container. You just
         | need to mount the directory with the md files and it
         | autogenerates new htmls whenever an md is updated. No need for
         | Ruby.
         | 
         | I'm on my phone now and I can't check what I used to run it but
         | all the details are at https://github.com/envygeeks/jekyll-
         | docker/blob/master/READM...
         | 
         | Then HTMLs can be deployed to the public facing server.
        
         | redman25 wrote:
         | I've hosted jekyll sites for a number of years. It's simple and
         | gets the job done. The documentation is good, there are a lot
         | of plugins written for it, and it's pretty configurable.
        
       | hiAndrewQuinn wrote:
       | I like Hugo a lot, personally.
       | 
       | If you want to go as minimal as possible, my
       | https://github.com/Siilikuin/minimum-viable-hugo gets you set up
       | with a single no-CSS, no-JS HTML page. I found this pretty ideal
       | for staying to learn the platform.
       | 
       | If you really, really like minimalism, you could also try pandoc-
       | server to dynamically serve HTML files from your Markdown as
       | people visit the page, just like PHP does:
       | https://pandoc.org/pandoc-server.html
        
       | godzillafarts wrote:
       | I've played around with several platforms in the last year or so.
       | I've landed on the following setup that works very well for me
       | and ticks all your boxes:
       | 
       | A SvelteKit[0] app hosted on Cloudflare pages. The repo is hosted
       | on GitHub and hooked up to the Cloudflare Pages app [1]. On PRs,
       | I get preview environments. On merge, the changes get deployed to
       | my "production" website. I write blog posts and other content in
       | markdown, which is then processed by mdsvex[2] with very minimal
       | setup.
       | 
       | Mostly, my requirements were more focused around getting the
       | actual framework, hosting, etc. out of my way so that I could
       | focus on writing. Gatsby and Next.js were too configuration heavy
       | and turned me off once I scratched beyond the surface.
       | 
       | [0] https://kit.svelte.dev/ [1]
       | https://developers.cloudflare.com/pages/configuration/git-in...
       | [2] https://github.com/pngwn/MDsveX
        
       | FLpxpyJ wrote:
       | omg.lol (https://home.omg.lol/) has not been mentioned. You get
       | quite a few nice bonuses from it (like community!) for a very
       | reasonable, imo, $20USD a year. At least give it a look my
       | friend!
        
       | toastal wrote:
       | Build your own setup with Soupault! It has the Unix philosophy of
       | piping output to CLI tools that do one thing well rather than
       | locking you into a specific system. It helps glue together many
       | other tools like a lightweight syntax renderer, modified date
       | adding, aggregating the posts to create feeds, make some markup
       | modifications, etc.
       | 
       | Additional suggestions outside a specific tool:
       | 
       | * Inevitably you will need more than base Markdown supports
       | features, so you'll either need to buy into a specific Markdown
       | fork (some of which aren't open) that won't port to other
       | platforms if you need to migrate, script the hell out Pandoc or
       | some other tool creating your own fork, or you could start with a
       | lightweight syntax like _reStructuredText_ or _AsciiDoc_ that
       | have a more comprehensive base supporting 98% of your needs
       | including proper metadata in the file, image sizes, figures,
       | callouts /admonitions, spans with class names, definition lists,
       | details/summary, footnotes, citing blockquotes; building these
       | ad-hoc will suck to maintain & could output bad semantic markup
       | making it difficult for screen readers, TUI browsers, web
       | crawlers to parse & understand
       | 
       | * Don't do syntax highlighting on the client side for a static
       | site (e.g. no highlight.js or similar)
       | 
       | * Don't touch the base user font size for a blog as users should
       | be able to override font size for their accessibility (e.g. no
       | body { font-size: 14px })
       | 
       | * Add an Atom and/or RSS feed
        
         | wakawaka28 wrote:
         | If you only care about web, Markdown has always supported
         | inserting raw HTML. Unfortunately, these lightweight markup
         | languages cannot emulate all of the features of all of the
         | underlying output formats, because different output formats
         | have incompatible features.
        
       | SanjayMehta wrote:
       | Tiddlywiki might be interesting.
       | 
       | https://tiddlywiki.com/
        
       | LaundroMat wrote:
       | No love for Astro[1]? I've been using it and like its easy setup
       | and extensibility.
       | 
       | (I host it on Netlify with a custom domain for free and Netlify
       | builds a new release every time I push to main).
       | 
       | https://astro.build/
        
         | poetril wrote:
         | +1 for Astro. Super easy, with great documentation and dev ex.
        
       | Brajeshwar wrote:
       | For a static blog written in Markdown, Github has all of that
       | built-in.
       | 
       | When you're on Github, use its IDE by pressing the _._ key. You
       | can, of course, use Git and edit the files locally.
       | 
       | Own and maintain these two folders __posts_ and __assets_. If you
       | are going to write regularly, I suggest creating sub-folders
       | inside __posts_ but name your Markdown files by date such as
       | _2024-02-5-foo-bar-is-my-file.md_.
       | 
       | On Github, use Github Pages (officially powered by Jekyll) and
       | deploy using one of the pre-defined Jekyll Themes[1]. That's it,
       | your blog is at _reponame.github.io_ which you can CNAME it from
       | a domain you own just like I did mine at _my-domain.com_.
       | 
       | Comments: You can either use Github Discussion as your blog's
       | commenting system or embed a third party service which you can
       | export and carry around when you change such services. Honestly,
       | and personally, I don't want to deal with comments these days.
       | 
       | Now, for the customization, the themes are in simple Jekyll[2]
       | which you can play around with. In future, if you want to move
       | from Jekyll to something else, you just have to worry about that
       | __posts_ and __assets_ folder. They may have different naming
       | convention but you can just config-managed it or change it to
       | your choice. This is why I suggested owning that two yourself.
       | 
       | You also may not worry about FrontMatter[3] (meta in the header)
       | and its accompanying jazz by asking Jekyll to use the plugins
       | _jekyll-optional-front-matter_ and _jekyll-titles-from-headings_.
       | These comes as part of the officially supported Jekyll plugins[4]
       | by Github. That way, you are just writing a human-readable plain-
       | text spiced up with Markdown and readable by almost every other
       | Static Site Generator. You can use your favorite IDE or another
       | Markdown editor such as Obsidian to edit your files without ever
       | running Jekyll locally.
       | 
       | Now, play with the __config.yml_ that Jekyll generates for you
       | from the theme above to define your post dates, navigation, and
       | others. Jekyll is one of the OGs -- the Gandalf of Static Site
       | Generators. If you have a problem, someone somewhere has solved
       | that.
       | 
       | If you really think of it, "there is no spoon", eer, I mean
       | "Jekyll."
       | 
       | Did I missed something? I was supposed to write a blog article
       | for my website on this one and this comment will serve as my
       | starting bullet points.
       | 
       | 1. https://docs.github.com/en/pages/setting-up-a-github-
       | pages-s...
       | 
       | 2. https://jekyllrb.com
       | 
       | 3. https://frontmatter.codes/docs/markdown
       | 
       | 4. https://docs.github.com/en/pages/setting-up-a-github-
       | pages-s...
        
       | stuartjohnson12 wrote:
       | Quartz! https://quartz.jzhao.xyz/
       | 
       | Beautiful, performant, native support for editing via Obsidian. I
       | use it for my personal side, https://thestu.art
        
       | kome wrote:
       | https://www.flatpress.org/
       | 
       | just php. nothing else is needed. flatfile database. you can
       | personalize it easily. it exists since 2006 and it still
       | maintained. boring, it just works.
        
       | jonpurdy wrote:
       | I have been using Pelican with a modified new.css theme. Recently
       | migrated from hosting on a DO instance with Nginx to Github
       | Pages.
       | 
       | What I'd love to do is totally remove the SSG from this pipeline
       | and replace it with a WYSIWYG editor (blasphemy, I know). Or at
       | least something that I could just drag and drop images to so I
       | don't have to manually link them in the .md files.
       | 
       | I'd also like to totally remove the CSS from my site and just
       | link to an existing theme served by a CDN somewhere, like if
       | there was a "standard" simple theme with same defaults and
       | platform-specific font choices etc. (ie. how it was supposed to
       | be near the beginning where users would get served markup (via
       | HTML) and then be able to theme it as they desire (obviously
       | still possible but very few people do this).
       | 
       | Micro.blog looks interesting but the themes aren't quite as
       | minimal as what I prefer.
        
         | egberts1 wrote:
         | I have all the settings documented for Pelican.
         | 
         | And hOWTOs for code syntax highlighting too.
         | 
         | Under "Pelican" tag on this Pelican blog of mine:
         | 
         | https://egbert.net/blog/tags/pelican.html
        
       | tagyro wrote:
       | Quarto - https://quarto.org
       | 
       | I've been searching for some time also, more or less the same
       | requirements, and I settled on quarto. Give it a try, you won't
       | be disappointed!
        
       | tr3ntg wrote:
       | I used eleventy recently to build my website. What I liked:
       | 
       | - npm / js-based tooling, no fooling around with ruby - plenty of
       | great docs - enough public adoption to find good answers to
       | common things you'd like set up
       | 
       | Not sure why I hadn't tried it before - I know it's been around
       | for a while.
        
       | alhirzel wrote:
       | Others have mentioned static site generators. I like Hakyll [1]
       | because it can tightly integrate with Pandoc [2] and allows you
       | to develop custom solutions (such as `.pdf` downloads) if your
       | needs ever grow.
       | 
       | [1]: https://jaspervdj.be/hakyll/
       | 
       | [2]: https://pandoc.org/
        
       | davely wrote:
       | A lot of great suggestions here and some stuff I've never heard
       | of before!
       | 
       | Throwing my own suggestion into the ring, as I was just looking
       | into this last week.
       | 
       | I started setting up a blog using Hexo. It's another Node based
       | SSG that uses markdown and supports tags. It has a lot of neat
       | plugins that people have developed, too.
       | 
       | I like it so far!
       | 
       | https://github.com/hexojs/hexo
        
       | billconan wrote:
       | https://github.com/reorx/hugo-PaperModX
        
       | pivic wrote:
       | I love Mataroa: https://mataroa.blog
       | 
       | I jumped from WordPress to Mataroa and I'm also using Jekyll,
       | Hugo, Zola, and Obsidian to blog.
       | 
       | There are a lot of great things about Mataroa that I love. I've
       | blogged about Mataroa: https://pivic.blog/blog/mataroa/
        
       | SeanKilleen wrote:
       | I created the BlogInABox[1] devcontainer to help people get
       | started with Jekyll + GitHub pages. It's a repo that you can fork
       | that has a site ready to go, and a devcontainer that has nice
       | utilities like spellcheck & markdown linting/fixing. This way,
       | you can use it locally in a devcontainer or with github
       | codespaces and a simplified process.
       | 
       | It comes with a companion site [2] that shows how to get
       | scheduled posts, comments, etc. working nicely.
       | 
       | [1] https://github.com/SeanKilleen/blog-in-a-box-container/ [2]
       | https://bloginaboxdemo.com/
       | 
       | Hope this is helpful!
        
       | prvt wrote:
       | https://git.btxx.org/barf/about/
        
       | mailman_2097 wrote:
       | Astro Js or similar hosted on Netlify, Cloudflare, etc.
       | 
       | Please review the link for further details on Jamstack and/or
       | SSG. https://nishad.link/posts/getting-started-with-jamstack/
       | 
       | Consider exploring Htmx if you don't want markdown or don't want
       | to deal with npm..
        
       | beaugunderson wrote:
       | blot (https://blot.im/about) is a contender. plain text files
       | stored in git are converted into a website; usable for blogs and
       | other types of sites (e.g. your use case, a blog + an about me
       | page). the source code to blot is in the public domain.
       | 
       | $5/month, I am a customer and have liked the experience. also
       | self-hostable for free.
        
       | krapp wrote:
       | I like Lektor - https://www.getlektor.com/
        
       ___________________________________________________________________
       (page generated 2024-02-06 23:01 UTC)