From f4ec8613bfde9e71323b8881c325068a12a1796f Mon Sep 17 00:00:00 2001 From: Zachary Vance Date: Wed, 17 Jul 2024 17:51:35 -0400 Subject: [PATCH] Better markdown conversion --- blog | 6 +- html2markdown.js | 52 +- html2markdown.py | 10 +- posts-md/116.md | 4 +- posts-md/20-minute-interruptions.md | 4 +- posts-md/2020-books.md | 29 +- posts-md/2020-review.md | 20 +- posts-md/2021-books.md | 19 +- posts-md/2022-books.md | 4 +- posts-md/2022-year-in-review.md | 51 +- ...h-media-longevity-testing-3-years-later.md | 16 +- posts-md/3-more-games.md | 13 +- ...ation-rpg-logic-potions-emperical-zendo.md | 13 +- posts-md/a-mystery-in-the-text-editor.md | 144 +- posts-md/a-pixel-art.md | 4 +- posts-md/all-the-recipes.md | 4 +- posts-md/amazon-aws.md | 4 +- posts-md/android-backup-on-arch-linux.md | 21 +- .../april-fools-puzzle-contest-solutions.md | 11 +- posts-md/april-fools-puzzle-contest.md | 4 +- posts-md/archiving-all-bash-commands-typed.md | 6 +- posts-md/archiving-all-web-traffic.md | 20 +- posts-md/archiving-github.md | 17 +- posts-md/archiving-gmail.md | 9 +- posts-md/archiving-twitch.md | 14 +- posts-md/archiving-twitter.md | 18 +- posts-md/articles-section.md | 7 +- posts-md/backup-android-on-plugin.md | 35 +- posts-md/banh-chung.md | 23 +- posts-md/blast-furance.md | 19 +- posts-md/blueprint-maker-13-complete.md | 8 +- posts-md/board-game-travel-kit.md | 10 +- ...th-the-blackmagic-intensity-pro-4k-card.md | 59 +- posts-md/cardboard-mail-holders.md | 4 +- .../configuring-mailxs-mailrc-with-gmail.md | 2 + ...rolling-a-computercraft-turtle-remotely.md | 42 +- posts-md/cookbook.md | 4 +- posts-md/crawling-etiquette.md | 10 +- ...l-and-sending-email-to-only-one-address.md | 22 +- .../dd-spells-srd-vs-5e-players-handbook.md | 5 +- posts-md/dd-story-time.md | 4 +- posts-md/ddos.md | 13 - posts-md/default-twitter-icons.md | 17 +- .../dependency-resolution-in-javascript.md | 8 +- posts-md/diy-hard-drive-carrying-case.md | 13 +- .../diy-keyboards-and-how-keyboards-work.md | 61 +- posts-md/domain-names-for-sale.md | 7 +- posts-md/dungeon-master-ii-spell-runes.md | 16 +- posts-md/e-ink-laptop.md | 56 +- posts-md/easel-toy.md | 7 +- ...d-root-on-debian-part-2-unattended-boot.md | 72 +- posts-md/etherpad.md | 4 +- posts-md/even-more-uri-handlers-in-linux.md | 4 +- posts-md/fabric1-aur-package.md | 4 +- posts-md/first-aid-kit.md | 226 ++- ...h-media-longevity-testing-4-years-later.md | 80 +- posts-md/games-i-like.md | 4 +- posts-md/garden-signs-on-wall-tiles-pt-2.md | 22 +- posts-md/garden-signs-on-wall-tiles.md | 34 +- posts-md/getting-rid-of-mold.md | 10 +- ...-pro-trinket-3-3v-to-work-in-arch-linux.md | 30 +- .../github-com-archive-background-research.md | 5 +- posts-md/good-time-estimation.md | 8 +- posts-md/hack-a-day-2023-2.md | 10 +- posts-md/hack-a-day-2023-is-done.md | 31 +- posts-md/hack-a-day-2023.md | 7 +- posts-md/hack-a-day-day-01-perquackey.md | 7 +- posts-md/hack-a-day-day-04-lashed-table.md | 18 +- .../hack-a-day-day-06-doodlemoji-alchemy.md | 16 +- posts-md/hack-a-day-day-06.md | 11 +- posts-md/hack-a-day-day-08-receipt-zine.md | 4 +- posts-md/hack-a-day-day-10-typewriter.md | 8 +- posts-md/hack-a-day-day-11-raytraced-rain.md | 4 +- posts-md/hack-a-day-day-12-screensavers.md | 8 +- posts-md/hack-a-day-day-13-blueprint-maker.md | 8 +- posts-md/hack-a-day-day-14-bytebeat-synth.md | 8 +- .../hack-a-day-day-17-tower-of-choices.md | 4 +- posts-md/hack-a-day-day-18-a-i-grab-bag.md | 4 +- posts-md/hack-a-day-day-2-raytracing.md | 11 +- ...day-20-hillsfar-lockpicking-spritesheet.md | 16 +- posts-md/hack-a-day-day-22-homemade-pcbs.md | 43 +- posts-md/hack-a-day-day-23-packing.md | 73 +- posts-md/hack-a-day-day-28-90s-sitcom.md | 7 +- posts-md/hack-a-day-day-29-speed-reading.md | 5 +- ...y-day-30-music-of-the-celestial-spheres.md | 8 +- posts-md/hack-a-day-hack-a-battle.md | 9 +- posts-md/hack-a-day-hack-a-blog.md | 9 +- posts-md/hack-a-day-hack-a-bug.md | 9 +- posts-md/hack-a-day-hack-a-chat.md | 9 +- posts-md/hack-a-day-hack-a-clock.md | 12 +- posts-md/hack-a-day-hack-a-crop.md | 12 +- posts-md/hack-a-day-hack-a-dictionary.md | 9 +- posts-md/hack-a-day-hack-a-farm.md | 9 +- posts-md/hack-a-day-hack-a-hang.md | 9 +- posts-md/hack-a-day-hack-a-hell.md | 9 +- posts-md/hack-a-day-hack-a-homepage.md | 12 +- posts-md/hack-a-day-hack-a-line.md | 9 +- posts-md/hack-a-day-hack-a-link-2.md | 9 +- posts-md/hack-a-day-hack-a-link.md | 9 +- posts-md/hack-a-day-hack-a-machine.md | 9 +- posts-md/hack-a-day-hack-a-mandelbrot.md | 9 +- posts-md/hack-a-day-hack-a-minigame.md | 12 +- posts-md/hack-a-day-hack-a-paste.md | 9 +- posts-md/hack-a-day-hack-a-snake.md | 10 +- posts-md/hack-a-day-hack-a-song.md | 9 +- posts-md/hack-a-day-hack-a-sound.md | 9 +- posts-md/hack-a-day-hack-a-stats.md | 9 +- posts-md/hack-a-day-hack-a-tank.md | 9 +- posts-md/hack-a-day-hack-a-tile.md | 12 +- posts-md/hack-a-day-hack-a-tv-guide.md | 11 +- posts-md/hack-a-day-hack-an-adventure.md | 9 +- posts-md/hack-a-day-hack-an-asteroid.md | 9 +- posts-md/hack-a-day-hack-an-experiment.md | 9 +- .../hack-a-day-hack-an-icecube-failure.md | 12 +- posts-md/hack-a-day-hack-an-mmo.md | 9 +- posts-md/hack-a-day-hack-an-uptime.md | 9 +- posts-md/hack-a-day-website.md | 7 +- posts-md/hello-world.md | 4 +- posts-md/hillsfar-lockpicking-20-complete.md | 11 +- posts-md/how-to-retire-for-infinity-years.md | 4 +- posts-md/html-css-cheatsheet.md | 7 +- ...on-imageclass-lbp-6000-on-64-bit-debian.md | 40 +- ...stalling-email-with-postfix-and-dovecot.md | 387 ++--- .../introducing-the-zorchpad-display-demo.md | 63 +- posts-md/irc.md | 15 +- posts-md/ircpuzzles-2024.md | 4 +- posts-md/is-rick-and-morty-out-season-5.md | 4 +- posts-md/is-rick-and-morty-out-season-6.md | 4 +- posts-md/life-logging-in-2019.md | 77 +- posts-md/linux-print-server.md | 10 +- posts-md/mail-filtering-with-dovecot.md | 73 +- ...king-a-hardware-random-number-generator.md | 75 +- posts-md/making-my-finances-public.md | 25 +- posts-md/making-signs-on-wall-tiles.md | 20 +- posts-md/markdown-support.md | 19 +- posts-md/meeple-initiative-tracker.md | 7 +- ...g-debian-installation-to-encrypted-root.md | 32 +- posts-md/mon8.md | 18 +- posts-md/money-orders.md | 4 +- posts-md/moreorcs-com.md | 13 +- posts-md/multi-universe-rpg-toy.md | 8 +- posts-md/my-todo-list.md | 13 +- posts-md/ogs2021-27-million-go-games.md | 5 +- posts-md/ok-mixnet.md | 7 +- posts-md/old-wikipedia-urdu.md | 7 +- posts-md/old-wikipedia.md | 7 +- posts-md/one-page-rpgs.md | 10 +- posts-md/one-screenshot-per-minute.md | 23 +- posts-md/open-nntp-server.md | 4 +- posts-md/painting.md | 13 +- posts-md/pandora-songs.md | 5 +- posts-md/paper-archival.md | 32 +- posts-md/pixel-alphabet.md | 4 +- posts-md/pixel-art-a-cool-cat.md | 4 +- posts-md/pompompom.md | 10 +- posts-md/printable-todo-list.md | 10 +- ...-hl-2270dw-printer-using-a-raspberry-pi.md | 145 +- posts-md/problem-log-txt.md | 18 +- posts-md/qr-backup-2.md | 4 +- posts-md/qr-backup-v1-1.md | 18 +- posts-md/qr-backup.md | 43 +- posts-md/raspberry-pi-comparison.md | 4 +- posts-md/relay-music.md | 2 + posts-md/repulsive-dots.md | 21 +- posts-md/roasted-chickpeas.md | 4 +- ...unning-a-forge-server-on-headless-linux.md | 105 +- posts-md/scan-organizer.md | 99 +- posts-md/scheme-interpreter.md | 4 +- posts-md/screen-and-tmux-ides.md | 29 +- posts-md/scroll-props.md | 13 +- ...ting-up-ssl-certificates-using-startssl.md | 18 +- posts-md/software-section.md | 7 +- posts-md/sql-views.md | 32 +- posts-md/steak-tartare-3.md | 19 +- posts-md/storage-prices-2019-07.md | 13 +- posts-md/storage-prices-2020-01.md | 16 +- posts-md/storage-prices-2022-07.md | 19 +- posts-md/storage-prices-2023-01.md | 22 +- ...ming-linux-twitch-using-ffmpeg-and-alsa.md | 92 +- posts-md/stylish.md | 4 +- .../terminal-goal-rationality-techniques.md | 21 +- posts-md/testing-scrapers-faster.md | 60 +- .../the-bible-translated-to-the-new-latin.md | 20 +- posts-md/the-double-lives-of-books.md | 32 +- posts-md/time-log-transcribed.md | 4 +- ...ement-optimizers-satisficers-minimizers.md | 13 - posts-md/timelog-analysis.md | 134 +- posts-md/tiny-cute-vampire-bat.md | 20 +- posts-md/tty-audit-logs.md | 8 +- posts-md/understanding-gzip-2.md | 1517 +---------------- posts-md/url-handlers-in-linux.md | 40 +- .../usb-flash-longevity-testing-year-2.md | 10 +- ...s-rick-and-morty-out-season-4-episode-6.md | 4 +- posts-md/whiteboard-partition.md | 5 - posts-md/whoosh.md | 4 +- posts-md/whsh.md | 4 +- posts-md/wip-dead-tree-publishing-2.md | 14 +- posts-md/wip-dead-tree-publishing-3.md | 7 +- posts-md/wip-dead-tree-publishing-4.md | 29 +- posts-md/wip-dead-tree-publishing.md | 11 +- posts-md/xp-boot-usb-stick.md | 44 +- posts-md/year-in-review.md | 64 +- posts-md/youtube-autodl.md | 7 +- posts-md/zorchpad-keyboard-update.md | 25 +- .../zorchpad-update-cardboard-mockup-mk1.md | 7 +- posts-md/zorchpad-update-first-3d-print.md | 25 +- posts-md/zorchpad-update-keyboard.md | 16 +- templates/feed.mustache.html | 8 +- templates/layout.mustache.html | 1 + templates/postcombined.mustache.html | 48 +- 210 files changed, 1729 insertions(+), 4392 deletions(-) diff --git a/blog b/blog index bb7a179..ad06892 100755 --- a/blog +++ b/blog @@ -22,11 +22,11 @@ import chevron as mustache import collections import datetime import math -import markdown2 import os, os.path import re import subprocess import yaml +from markdown2html import markdown2html from pathlib import Path @@ -107,7 +107,6 @@ def scale(i1, range1, range2): i2 = frac2 * (range2.stop - range2.start) + range2.start return i2 -md2html = markdown2.markdown RELOAD_HTML = b"""