vendredi 9 juillet 2021

PsToHtml

Permet de convertir un script PowerShell en Hlml pour ce Blogger.
1 - Ajoute les balises pour le bouton "code".
2 - Converti les espaces et retour chariot pour HTML.
3 - Ajoute les balises de fermeture.

Usage :
1 - Créer un fichier "in.txt".
2 - Coller le code PowerShell dans le fichier "in.txt".
3 - Exécuter le script.
4 - Copier le code Html généré dans le fichier "out.txt".
5 - Coller le code généré dans la page "Html" lors de la création de l'article.
 
 

##################################################################################
#                                                                                #
# Prepare le code Ps pour la publication Html                                    #
#                                                                                #
# Note : Le script Ps ne doit pas depacer 83 caractères en largeur (si possible).#
#                                                                                #
##################################################################################


#curpath
if ($psISE) { $curpath = Split-Path -parent $psISE.CurrentFile.Fullpath }
else        { $curpath = Split-Path $MyInvocation.MyCommand.Path }

#Fichier d'entrée / sortie.
$script = $curpath+"\in.txt"
$html   = $curpath+"\out.txt"

#Code de zone pour la copie.
$cpcode = "copy" + (date -f "yyMMddHHmmss")

#Ajoute de l'entête.
$top  = "<div id=""code"">`r`n"
$top += "<div style=""text-align: right;""><button id=""copy"" "
$top += "onclick=""CopyCode('#$($cpcode)')"">Copy</button> </div>`r`n"
$top += "<div id=""$($cpcode)"">`r`n"
$top += "<br />`r`n"

#Traitement des lignes.
$txt   = ""
$lines = Get-Content $script
Foreach ($line in $lines)
 {
   #Convertir les espaces.
   $line = $line.replace("  ","&nbsp;&nbsp;")
   #Ajoute la balise Br en fin de ligne.
   $line += "<br />`r`n"
   #Ajout au texte modifié.
   $txt += $line
 }

#Fermeture des Divs.
$bottom = "</div></div>`r`n"

#Enregistre le fichier.
$txt = $top + $txt + $bottom
Set-Content -Path $html -Value $txt

#Fin.