Separate markdown headings into pages

Previously the Threat Hunting page contained all search queries in one page separated by headings. That approach was untidy especially when conducting a web search; where after being redirected to the threat hunting page, still had to navigate to the relevant heading to locate the relevant search query.

Each heading or search query is now in a separate page, so once those new pages are indexed by search engine, the search result will lead directly to a page that only contains the relevant search query, e.g. FileFix detection.

from os import chdir, path
from re import S, findall, sub

chdir(path.dirname(__file__))

template = """---
title: {title}
layout: page
date: 2025-07-27
---
{content}"""

with open("index.md") as f:
    s = f.read()
    # https://stackoverflow.com/a/66619938
    for title, content in findall(r"(?:^|\n)##\s([^\n]+)\n(.*?)(?=\n##?\s|$)", s, S):
        # https://stackoverflow.com/a/74260791
        fname = sub(r"\W+", "-", title).strip("-").lower()
        with open(fname + ".md", "w") as w:
            w.write(template.format(title=title, content=content))
        with open("index-new.md", "a") as a:
            a.write(f"- [{title}]({fname})\n")

linux-firmware meta package on Arch Linux

Arch Linux linux-firmware is now a meta package. Its derivative Manjaro renamed it to linux-firmware-meta. The default set covers a wide range of firmwares that may not be applicable to most devices and can be trimmed down.

  1. Remove the meta package, pacman -Rn linux-firmware
  2. Identify device manufacturer, lspci
  3. Remove irrelevant firmware, e.g. if Nvidia device is not installed, pacman -Rns linux-firmware-nvidia
  4. Mark the necessary firmware as explicitly installed, pacman -D --asexplicit $(pacman -Qs -q linux-firmware | sed -z 's|\n| |g')