Check whether file names match their defined slugs

Sometimes when moving content around, it’s easy to forget to update their slugs.

This can cause a lot of trouble:

  • Users may end up viewing the wrong content
  • Google may index things incorrectly
  • It’s just confusing to navigate around the site when files map differently to what has been deployed
Location Slug Filename
now.md now now
blog/2023-10-09-spreadsheet-to-visualisation.md spreadsheet-to-visualisation 2023-10-09-spreadsheet-to-visualisation
blog/2023-04-11-i-dont-identify-as-anxious.md i-dont-identify-as-anxious 2023-04-11-i-dont-identify-as-anxious
blog/2023-01-29-miserable-presentation-tips.md miserable-presentation-tips 2023-01-29-miserable-presentation-tips
blog/2023-01-17-inefficient-habit-forming.md inefficient-habit-forming 2023-01-17-inefficient-habit-forming
blog/2022-10-22-so-you-have-or-are-competition.md so-you-have-or-are-competition 2022-10-22-so-you-have-or-are-competition
blog/2022-08-08-sampling-all-the-way-down.md sampling-all-the-way-down 2022-08-08-sampling-all-the-way-down
blog/2022-06-03-ipad-canonical-owner.md ipad-canonical-owner 2022-06-03-ipad-canonical-owner
blog/2022-05-28-fastmail-caldav.md fastmail-caldav 2022-05-28-fastmail-caldav
blog/2022-02-12-plex-tidal-together.md plex-tidal-together 2022-02-12-plex-tidal-together
blog/2022-01-22-not-being-an-astronaut.md not-being-an-astronaut 2022-01-22-not-being-an-astronaut
blog/2021-11-28-some-brief-thoughts-on-crypto.md brief-thoughts-on-crypto 2021-11-28-some-brief-thoughts-on-crypto
blog/2021-10-26-day-two.md day-two 2021-10-26-day-two
blog/2021-10-01-twitter-image-servers-2021.md twitter-image-servers-2021 2021-10-01-twitter-image-servers-2021
blog/2021-09-24-who-is-software-even-for.md who-is-software-even-for 2021-09-24-who-is-software-even-for
blog/2021-08-29-taking-holidays.md taking-holidays 2021-08-29-taking-holidays
blog/2021-08-12-conditional-gitconfig.md conditional-gitconfig 2021-08-12-conditional-gitconfig
blog/2021-07-12-hugo-debug-reports.md hugo-debug-reports 2021-07-12-hugo-debug-reports
blog/2021-07-04-time-dilation.md time-dilation 2021-07-04-time-dilation
blog/2021-06-03-let-your-streaks-end-naturally.md let-your-streaks-end-naturally 2021-06-03-let-your-streaks-end-naturally
blog/2021-06-01-remind-the-user-what-your-service-does.md remind-the-user-what-your-service-does 2021-06-01-remind-the-user-what-your-service-does
blog/2021-05-22-ride-the-curve.md ride-the-curve 2021-05-22-ride-the-curve
blog/2021-05-14-bootstrap-is-eating-the-world.md has-bootstrap-eaten-the-world-yet 2021-05-14-bootstrap-is-eating-the-world
blog/2021-05-11-always-bet-on-sales.md you-can-always-count-on-sales 2021-05-11-always-bet-on-sales
blog/2021-04-27-dropbox-is-way-too-clingy.md dropbox-is-way-too-clingy 2021-04-27-dropbox-is-way-too-clingy
blog/2021-04-18-starbucks-ecosystem.md starbucks-rewards-third-place 2021-04-18-starbucks-ecosystem
blog/2021-03-03-walking-while-reading.md walking-while-reading 2021-03-03-walking-while-reading
blog/2021-02-21-address-book-sorting.md address-book-sorting 2021-02-21-address-book-sorting
blog/2021-02-17-faq-driven-configuration.md faq-driven-configuration 2021-02-17-faq-driven-configuration
blog/2021-02-13-emacs-probably-isnt-right-for-me.md emacs-probably-isnt-right-for-me 2021-02-13-emacs-probably-isnt-right-for-me
blog/2021-02-13-a-recently-horrible-iteration-of-google-search.md a-recently-horrible-iteration-of-google-search 2021-02-13-a-recently-horrible-iteration-of-google-search
blog/2021-02-11-zettelkasten-blog-a-good-idea.md zettelkasten-blog-a-good-idea 2021-02-11-zettelkasten-blog-a-good-idea
blog/2021-01-31-is-anything-happening-behind-the-curtain.md is-anything-happening-behind-the-curtain 2021-01-31-is-anything-happening-behind-the-curtain
blog/2021-01-29-latency-as-a-forcing-function.md latency-as-a-forcing-function 2021-01-29-latency-as-a-forcing-function
blog/2021-01-11-subscription-management.md subscription-management 2021-01-11-subscription-management
blog/2020-12-01-solid-systems.md solid-systems 2020-12-01-solid-systems
blog/2020-11-23-tidying-towing-data.md tidying-towing-data 2020-11-23-tidying-towing-data
blog/2020-11-20-configuration-magic.md configuration-magic 2020-11-20-configuration-magic
blog/2020-11-02-fruit-plate.md fruit-plate 2020-11-02-fruit-plate
blog/2020-10-11-digital-spring-cleaning.md digital-spring-cleaning 2020-10-11-digital-spring-cleaning
blog/2020-10-06-internet-reliance.md internet-reliance 2020-10-06-internet-reliance
blog/2020-08-30-day-one.md day-one 2020-08-30-day-one
blog/2020-07-01-quicksand.md quicksand 2020-07-01-quicksand
blog/2020-05-12-mental-overhead-of-data.md mental-overhead-of-data 2020-05-12-mental-overhead-of-data
blog/2020-05-06-emacs-wsl2-install.md emacs-wsl2-install 2020-05-06-emacs-wsl2-install
blog/2020-04-13-reducing-my-edc-2019.md reducing-my-edc-2019 2020-04-13-reducing-my-edc-2019
blog/2020-03-08-bookmarking-march-2020.md bookmarking-march-2020 2020-03-08-bookmarking-march-2020
blog/2020-02-07-publish-old-works.md publish-old-works 2020-02-07-publish-old-works
blog/2020-01-06-multiple-git-hosts.md multiple-git-hosts 2020-01-06-multiple-git-hosts
blog/2019-09-26-email-lookup.md email-lookup 2019-09-26-email-lookup
blog/2019-08-19-25.md 25 2019-08-19-25
blog/2019-07-29-retrieving-jenkins-credentials.md retrieving-jenkins-credentials 2019-07-29-retrieving-jenkins-credentials
blog/2019-07-20-wsl2-vhd-issue.md wsl2-vhd-issue 2019-07-20-wsl2-vhd-issue
blog/2019-03-20-future-of-emergency-services.md future-of-emergency-services 2019-03-20-future-of-emergency-services
blog/2018-12-12-lost-python-results.md lost-python-results 2018-12-12-lost-python-results
blog/2018-12-03-automation-right.md automation-right 2018-12-03-automation-right
blog/2018-08-18-nz-oia-guide.md nz-oia-guide 2018-08-18-nz-oia-guide
blog/2018-02-28-lore-tabs.md lore-tabs 2018-02-28-lore-tabs
blog/2018-02-15-day-xero.md day-xero 2018-02-15-day-xero
blog/2017-12-24-arch-nuc-install.md arch-nuc-install 2017-12-24-arch-nuc-install
blog/2017-12-18-wiki-thoughts.md wiki-thoughts 2017-12-18-wiki-thoughts
blog/2017-02-05-deepfakes.md deepfakes 2017-02-05-deepfakes
reviews/2016-05-02-gitaroo-man-lives.md gitaroo-man-lives 2016-05-02-gitaroo-man-lives
reviews/2016-04-12-gravity-rush.md gravity-rush 2016-04-12-gravity-rush
reviews/2016-01-01-life-is-strange.md life-is-strange 2016-01-01-life-is-strange
reviews/2015-05-12-hiatus.md hiatus 2015-05-12-hiatus
reviews/2015-05-04-lili-child-of-geos.md lili-child-of-geos 2015-05-04-lili-child-of-geos
reviews/2015-04-27-tail-concerto.md tail-concerto 2015-04-27-tail-concerto
reviews/2015-04-18-grand-theft-auto-v.md grand-theft-auto-v 2015-04-18-grand-theft-auto-v
reviews/2015-04-12-eva-3nd-impact.md eva-3nd-impact 2015-04-12-eva-3nd-impact
reviews/2015-04-04-kenka-bancho.md kenka-bancho 2015-04-04-kenka-bancho
reviews/2015-04-01-friends-for-real.md friends-for-real 2015-04-01-friends-for-real
reviews/2015-03-28-jumping-flash.md jumping-flash 2015-03-28-jumping-flash
reviews/2015-03-20-picross-3d.md picross-3d 2015-03-20-picross-3d
reviews/2015-03-13-magrunner-dark-pulse.md magrunner-dark-pulse 2015-03-13-magrunner-dark-pulse
reviews/2015-03-08-liberation-maiden.md liberation-maiden 2015-03-08-liberation-maiden
reviews/2015-02-22-call-of-juarez-gunslinger.md call-of-juarez-gunslinger 2015-02-22-call-of-juarez-gunslinger
reviews/2015-02-13-fatal-frame.md fatal-frame 2015-02-13-fatal-frame
reviews/2015-02-08-time-hollow.md time-hollow 2015-02-08-time-hollow
reviews/2015-02-01-d.md d 2015-02-01-d
reviews/2015-01-23-onimusha-warlords.md onimusha-warlords 2015-01-23-onimusha-warlords
reviews/2015-01-10-the-simpsons-hit-and-run.md the-simpsons-hit-and-run 2015-01-10-the-simpsons-hit-and-run
reviews/2015-01-03-yakuza.md yakuza 2015-01-03-yakuza
reviews/2014-12-29-p-n-03.md p-n-03 2014-12-29-p-n-03
reviews/2014-12-23-asuras-wrath.md asuras-wrath 2014-12-23-asuras-wrath
reviews/2014-10-22-red-faction-guerilla.md red-faction-guerilla 2014-10-22-red-faction-guerilla
reviews/2014-10-13-killer-is-dead.md killer-is-dead 2014-10-13-killer-is-dead
reviews/2014-10-12-wolfenstein-new-order.md wolfenstein-new-order 2014-10-12-wolfenstein-new-order
reviews/2014-10-11-the-stanley-parable.md the-stanley-parable 2014-10-11-the-stanley-parable
reviews/2014-10-10-infamous-2.md infamous-2 2014-10-10-infamous-2
reviews/2014-10-10-infamous.md infamous 2014-10-10-infamous
about.md about about
questions/azure-regions-alike.md azure-regions-alike azure-regions-alike
books.md books books
debug/build-information.md build-information build-information
debug/file-url-match.md file-url-match file-url-match
debug/aliased-content.md aliased-content aliased-content
debug/category-missing.md category-missing category-missing
debug/description-missing.md description-missing description-missing
debug/tags-missing.md tags-missing tags-missing
experiments/fancy-hyperlinks.md fancy-hyperlinks fancy-hyperlinks
experiments/fullscreen-images.md fullscreen-images fullscreen-images
questions/macos-clipboard-piping.md macos-clipboard-piping macos-clipboard-piping
questions/emacs-compile-from-source.md emacs-compile-from-source emacs-compile-from-source
questions/macos-printer-cli.md macos-printer-cli macos-printer-cli
questions/kubes-create-cron-instance.md kubes-create-cron-instance kubes-create-cron-instance
questions/js-detect-iframe-parent.md js-detect-iframe-parent js-detect-iframe-parent
questions/macos-disable-safari-recommendation.md macos-disable-safari-recommendation macos-disable-safari-recommendation
questions/postgres-export-db.md postgres-export-db postgres-export-db
questions/nodejs-module-version.md nodejs-module-version nodejs-module-version
questions/macos-view-hardware.md macos-view-hardware macos-view-hardware
questions/emacs-auth-sources.md emacs-auth-sources emacs-auth-sources
questions/macos-check-shutdown-cause.md macos-check-shutdown-cause macos-check-shutdown-cause
questions/linux-disable-stock-folders.md linux-disable-stock-folders linux-disable-stock-folders
questions/git-globally-ignore-files.md git-globally-ignore-files git-globally-ignore-files
questions/macos-hide-home-folders.md macos-hide-home-folders macos-hide-home-folders
questions/postgres-import-db.md postgres-import-db postgres-import-db
questions/saml-inspect-request.md saml-inspect-request saml-inspect-request
questions/js-colour-scheme-listener.md js-colour-scheme-listener js-colour-scheme-listener
questions/dns-lookup-current-ip.md dns-lookup-current-ip dns-lookup-current-ip
questions/macos-monitor-jamf-downloads.md macos-monitor-jamf-downloads macos-monitor-jamf-downloads
questions/kubes-pause-recurring-cronjob.md kubes-pause-recurring-cronjob kubes-pause-recurring-cronjob
questions/powershell-regex.md powershell-regex powershell-regex
questions/kubes-read-secret.md kubes-read-secret kubes-read-secret
questions/selenium-remote-connection.md selenium-remote-connection selenium-remote-connection
questions/kubes-ingress-ip-range.md kubes-ingress-ip-range kubes-ingress-ip-range
questions/macos-homebrew-app-blocked.md macos-homebrew-app-blocked macos-homebrew-app-blocked
questions/macos-view-route-table.md macos-view-route-table macos-view-route-table
questions/macos-see-file-usage.md macos-see-file-usage macos-see-file-usage
questions/kubes-default-namespace.md kubes-default-namespace kubes-default-namespace
questions/kubes-namespace-connectivity.md kubes-namespace-connectivity kubes-namespace-connectivity
questions/macos-invoke-x-callback-url.md macos-invoke-x-callback-url macos-invoke-x-callback-url
questions/firefox-local-cert-store.md firefox-local-cert-store firefox-local-cert-store
questions/macos-configured-networks.md macos-configured-networks macos-configured-networks
questions/elixir-help-docs.md elixir-help-docs elixir-help-docs
questions/elixir-object-methods.md elixir-object-methods elixir-object-methods
questions/powershell-object-methods.md powershell-object-methods powershell-object-methods
questions/prometheus-sample-size.md prometheus-sample-size prometheus-sample-size
questions/dns-original-implementation.md dns-original-implementation dns-original-implementation
debug/alt-text-missing.md alt-text-missing alt-text-missing
debug/links.md links links
projects/parnell.md parnell parnell
projects/netbox-plugin-azuread.md netbox-plugin-azuread netbox-plugin-azuread
projects/october.md october october
experiments/remote-resources.md remote-resources remote-resources
debug/reports-todo.md reports-todo reports-todo
experiments/requester-window.html requester-window requester-window
thanks.md thanks thanks
uses.md uses uses
projects/towing.md towing towing
games.md games games
questions/monitoring-what-is-profiling.md monitoring-what-is-profiling monitoring-what-is-profiling
questions/dns-trailing-period.md dns-trailing-period dns-trailing-period
questions/monitoring-tracing-overview.md monitoring-tracing-overview monitoring-tracing-overview
questions/macos-port-5000-monterey.md macos-port-5000-monterey macos-port-5000-monterey
questions/monitoring-what-to-instrument.md monitoring-what-to-instrument monitoring-what-to-instrument
questions/http-non-encryption-benefits.md http-non-encryption-benefits http-non-encryption-benefits
debug/file-sizes.md file-sizes file-sizes
questions/linux-why-do-dotfiles-exist.md linux-why-do-dotfiles-exist linux-why-do-dotfiles-exist
questions/finance-oil-futures-negative.md finance-oil-futures-negative finance-oil-futures-negative
questions/http-domain-splits.md http-domain-splits http-domain-splits
questions/ps1-disc-offset.md ps1-disc-offset ps1-disc-offset
questions/emacs-function-double-dash.md emacs-function-double-dash emacs-function-double-dash
questions/emacs-list-backtick.md emacs-list-backtick emacs-list-backtick
questions/linux-audio-muting-suddenly.md linux-audio-muting-suddenly linux-audio-muting-suddenly
projects/meta-oia-requests.md meta-oia-requests meta-oia-requests
Remaining items to be fixed: 90 / 166