There are a bunch of bits of syntax which I struggle to remember.
I’m not always online when I’m using my laptop, but I always have a Powershell window open.
This is a possibly not-best-practice way of using Powershell’s wonderful help system to store bits of reference material.
The problem
I’m moving a WordPress blog to Hugo, which uses Markdown, but I’m struggling to remember the Markdown syntax. It’s not difficult, but I’m getting old and I get confused with Twiki syntax.
In any case this ‘technique’ could be used for anything.
I could equally well just store the content in a big text file, and select-string it….but this is more fun 🙂
The content
In this instance I only need a few lines as an aide-memoire:
## The second largest heading (an <h2> tag) > Blockquotes *italic* or _italic_ **bold** or __bold__ * Item (no spaces before the *) or - Item (no spaces before the -) 1. Item 1 1. Furthermore, ... 2. Item 2 `monospace` (backticks) ```` begin/end code block [A link!](http://mattypenny.net).
create a module
The module path is given by:
$env:PSModulePath
Mine is:
C:\Users\matty\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules\
Pick one of this folders to create your module in and do this:
mkdir C:\Users\matty\Documents\WindowsPowerShell\Modules\QuickReference
Then create a dummy Powershell module file in the folder
notepad C:\Users\matty\Documents\WindowsPowerShell\Modules\QuickReference\QuickReference.psm1
The content of the module file is throwaway:
function dummy {write-output "This is a dummy"}
create the help file(s)
Create a language-specific folder for the help files
mkdir C:\Users\matty\Documents\WindowsPowerShell\Modules\QuickReference\en-US\
Edit a file called about_.help.txt
notepad C:\Users\mpenny2\Documents\WindowsPowerShell\Modules\QuickReference\en-US\about_Markdown.help.txt
My content looked like this:
TOPIC about_Markdown SHORT DESCRIPTION Syntax for Markdown LONG DESCRIPTION ## The second largest heading (an <h2> tag) > Blockquotes *italic* or _italic_ **bold** or __bold__ * Item (no spaces before the *) or - Item (no spaces before the -) 1. Item 1 1. Furthermore, ... 2. Item 2 `monospace` (backticks) ```` begin/end code block [A link!](http://mattypenny.net).
Use the help
I can now do this (I’ll import the module in my $profile):
PS C:\Windows> import-module QuickReference
Then I can access my Markdown help from within Powershelll
PS C:\Windows> help Markdown TOPIC about_Markdown SHORT DESCRIPTION Syntax for Markdown LONG DESCRIPTION ## The second largest heading (an <h2> tag) > Blockquotes *italic* or _italic_ **bold** or __bold__ * Item (no spaces before the *) or - Item (no spaces before the -) 1. Item 1 1. Furthermore, ... 2. Item 2 `monospace` (backticks) ```` begin/end code block [A link!](http://mattypenny.net).