惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
博客园 - Franky
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
爱范儿
爱范儿
罗磊的独立博客
博客园_首页
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
V
Visual Studio Blog
T
Tailwind CSS Blog

Red Blob Games: latest blog posts

Red Blob Games: Differential heuristics Red Blob Games: Responsive design calculator Red Blob Games: Academic citations Red Blob Games: Highlighting interactive code blocks Red Blob Games: Optimizing page size Red Blob Games: Writing a guide to SDF fonts Red Blob Games: URLs with trailing punctuation Red Blob Games: What I did in 2025 Red Blob Games: Goodbye Sass Goodbye Sass Red Blob Games: RotMG map seeds Red Blob Games: Mapgen4 Mapgen4's use of WebGL2 Red Blob Games: Mapgen4 river shader Red Blob Games: Mapgen4 renderer Red Blob Games: Harnessing ChatGPT hallucinations Red Blob Games: Let Let's write a search engine, part 2 of 2 Red Blob Games: Let Let's write a search engine, part 1 of 2 Red Blob Games: Hexagon conversions Red Blob Games: Mapgen4 trade routes Red Blob Games: De-optimizing mapgen4 Red Blob Games: Hexagon spiral coordinates Red Blob Games: Thoughts on Flash Red Blob Games: What I did in 2024 Red Blob Games: Hexagon page animations Red Blob Games: SDF Halos SDF Halos Red Blob Games: SDF headless tests, part 2
Red Blob Games: New Blog for 2024
2024-03-09 · via Red Blob Games: latest blog posts
Blog post: 8 Mar 2024

For some time now I’ve been unhappy with how much more friction there is when posting to my blog[1] than posting to twitter[2]. I keep wanting to blog more but I don’t. Part of the problem is content. I did blog more in 2018, when I was working on projects that had more to share. Part of the problem is expectations. On Twitter it’s expected that I write very little (280 character limit, up to 4 images or 1 animation). That constraint makes it easier to post. On my blog I tend to write longer more involved posts. But part of the problem is the process. My posts on Twitter take a lot less effort than my posts on Blogger. The Blogger UI got a lot worse in 2020[3], but it was already inconvenient for me.

So I’ve been thinking about what I actually want, and what I want isn’t Twitter or Blogger. I want something much closer to Hugo or Jekyll — a static site generator. I want to be able to save a file and have it become a blog post. I want to be able to grep over my existing files. I want to be able to write a perl script to fix something across pages. I decided a goal in 2024 is to switch from Blogspot to a static site generator.

But when I looked at Hugo and Jekyll I started thinking of more things I wanted. In particular, I want to integrate into the rest of my site, which isn’t Markdown, but instead a messy mix of technologies that I’ve worked with over the past nearly 30 years of having a web site. I already have a static site generator. I use Emacs Org-Mode instead of Markdown. Hugo does support Org-Mode[4], and Org-Mode has a way to publish posts[5], and there are Org-Mode blogging packages[6]. But I don’t always use Org-Mode. I sometimes use Markdown. I sometimes use XHTML. And I sometimes use other formats. Also I have my own templating system based on XSLT. So either:

  1. I use Hugo/Jekyll/etc and replicate my template and other aspects in their format, which means I need to maintain two versions.
  2. I write my own blog software, which I have to maintain.

But what is actually involved in writing my own blog software? I already have the markup and templating and comments. What’s missing is:

  • Atom/RSS feed
  • Home page showing the most recent posts
  • Browse by category
  • Browse by date

Of these, I already want to add browse by category and browse by date to the rest of the site, so the main thing I need to add is an Atom/RSS feed and a home page listing the posts.

Well, I decided to try it.

  1. Each blog post will be in /blog/YYYY-MM-DD-slug/index.html → no extra work
  2. I’ll use the templating system I already use for the rest of the site → no extra work
  3. When I save a file (markdown or org-mode) it will automatically update the html → no extra work
  4. A short Python script will find all /blog/*/index.html files and generate the feed (xml) and home page (html) → some work
  5. The home page will use my standard page template → no extra work
  6. Each blog post will have comments like any other page on my site → no extra work

“How hard could it be?” → famous last words, right? I’ll see how it goes. I’m using python-feedgen[7] and ElementTree[8], and I think it will be around 200 lines of Python code to implement the blog, assuming nothing goes wrong.