[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)