r/PowerShell • u/positivemark • 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
1
u/positivemark 3d ago
As of version 1.6.3 of the module you can now paginate through the comics by using
-Nextor-PreviousonGet-XKCDorShow-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-XKCDshould have the option to test the existence of a specific comic, so you can now doTest-XKCD 9999and get a true/false result.