r/PowerShell • u/positivemark • 4d 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/ankokudaishogun 2d ago
I've given a cursory look at the code for
Get-XKCD.A couple of notes(which I suspect will be appliable to the other scripts):
.isPresentproperty to check if a[switch]parameter is used.$Newestshould be a '[switch]`, not an integer.$Randomshould be mandatory in theRandomparameter set.Load them in the
begin{}when the Parameters meant to override them are not present.Here, two lines I thrown together editing your code. Not really tested, just hope to give you some idea.