r/PowerShell 5d ago

Script Sharing XKCD PowerShell module

Years ago just for fun, I wrote a PowerShell module to query the API of the webcomic XKCD https://xkcd.com/. It has a Get-XKCD cmdlet to retrieve data about a specified or random comic, and had a -Open switch to then open its URL in a browser. You can also use Find-XKCD to perform keyword searches, and there's a local cache of the API output to speed this up and to reduce the need to do web calls.

Modern terminals now support the ability to render images directly, so I've just added Show-XKCD and Get-XKCD -Show.

This works in Windows Terminal, but should also work in iTerm2 and Kitty.

If it's of interest, you can download the module from the PowerShell Gallery here: https://www.powershellgallery.com/packages/XKCD/1.5.0

Or directly from GitHub: https://github.com/markwragg/Powershell-XKCD

128 Upvotes

19 comments sorted by

View all comments

1

u/positivemark 3d ago

As of version 1.6.3 of the module you can now paginate through the comics by using -Next or -Previous on Get-XKCD or Show-XKCD.

It will also output a warning if a Sixel rendered image is likely to take a long time, based on its size. Some XKCD comics are big (although not too many).

I also thought that Text-XKCD should have the option to test the existence of a specific comic, so you can now do Test-XKCD 9999 and get a true/false result.