Powershell spikri kirjutamine

Powershelli spikri kasutamisest sai mõnda aega tagasi kirjutatud. Nüüd vaataks, kuidas selle spikri sisu loomise ja muutmisega on.

Powershelli spikri süsteem kasutab info hoidmiseks XML-vormingut, mis on isegi dokumenteeritud. Ent sellega ümberkäimine on suhteliselt ebamugav (isegi kui omada selleks sobivaid tööriistu) ning see peab olema samas masinas, kus spikrit lugeda tahetakse. Seetõttu on spikri sisu dünaamiline muutmine/uuendamine natuke keeruline.

Teiseks on skriptidele spikri kirjutamisel võimalik kasutada XML-vormingu asemel hoopis skripti sisse käivat kommentaaripõhist spikrit. Muidugi saab kommentaaripõhisest spikrist alati viidata ka välisele (XML-põhisele) spikrile.

Kolmandaks on moodulite spikris niinimetatud about-teemad, mida hoitakse tavaliste tekstifailide kujul.

Powershell 3.0 lisas spikrisüsteemile veel Online-spikri ja spikri värskendamise toe. Aga see teeb elu veelgi ebamugavamaks, kuna nüüd tuleb hallata nelja erinevat vormingut:

  1. tekstifailid
  2. XML-vormingus spikker
  3. veebisait online-spikriga
  4. veebisait, kust saab muudetud spikri sisu alla laadida (ja sellega koos alla laetava spikri fail).

Õnneks paistab tunneli otsast valgust. Powershelli moodul platyPS pakub võimalust tuua kõik ülalmainitud spikri vormingud kokku ühe ja sama allika peale ning muuta spikri sisu samast allikast kättesaadavaks kõigis ülaltoodud vormingutes.

platyPS pakub võimalust hoida spikri sisu Markdown-vormingus, mis on inimloetav ja lihtsasti muudetav mistahes tekstiredaktoriga. Paljud veebisaidid oskavad Markdown-vormingut automaatselt näidata HTMLi kujul. Seega on Online-spikker sellega valmis.

Järgmine samm on XML-vorming. platyPS sisaldab käsku New-ExternalHelp, millega saab Markdown-spikri teemad teisendada XML-vormingusse. Ja ühtlasi pakkida ka uuendatava spikri failiks, mida saab veebisaiti üles laadida.

Kui Sa leiad, et Markdown on koodist eraldi ning jääb seetõttu tähelepanuta, siis oskab platyPS teisendada kommentaaripõhise spikri Markdown-vormingusse. Nii et siis tuleb lihtsalt aeg-ajalt värskendada oma Markdown spikri teemasid ja need seejärel kättesaadavaks teha. Kommentaarid ise on alati koodiga koos ja seega kohe kättesaadavad koodi arendajale.

Powershell 6 plaanib kogu spikrisüsteemi viia XML-vormingult üle Markdown vormingusse. Juba praegu on Powershell 6.1-s lisatud käsk ConvertFrom-Markdown, mis loeb Markdown-vormingut ja muudab selle Powershelli käsurealt kasutatavaks.

Suuremates projektides tekib vajadus hoida dokumentatsioon (ja spikker) koodist lahus, kuna dokumenteerimisega võivad tegeleda teised inimesed. Ka sellisel juhul on Markdown-vorming hea. Ilus näide selle kohta on Microsofti dokumentatsiooni sait docs.microsoft.com. Kogu selle sisu on tegelikult Github’is üleval ja kaastööks kättesaadav.