From 37b4706ae745b97f429fffdd63d1f104d5fe5a1d Mon Sep 17 00:00:00 2001 From: "Mr.k" Date: Wed, 19 Jun 2024 16:18:31 +0300 Subject: [PATCH] Re-formate Comments to be a bit Clear-er --- Compile.ps1 | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Compile.ps1 b/Compile.ps1 index 8568e1af..e1134fd4 100644 --- a/Compile.ps1 +++ b/Compile.ps1 @@ -37,16 +37,17 @@ Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach- # Replace every XML Special Character so it'll render correctly in final build # Only do so if json files has content to be displayed (for example the applications, tweaks, features json files) - # Some Type Convertion using Casting and Cleaning Up of the convertion result using 'Replace' Method + # Some Type Convertion using Casting and Cleaning Up of the convertion result using 'Replace' Method $jsonAsObject = $json | convertfrom-json $firstLevelJsonList = ([System.String]$jsonAsObject).split('=;') | ForEach-Object { $_.Replace('=}','').Replace('@{','').Replace(' ','') } - for ($i = 0; $i -lt $firstLevelJsonList.Count; $i += 1) { + # Note: + # Avoid using HTML Entity Codes, for example '”' (stands for "Right Double Quotation Mark"), + # Use **HTML decimal/hex codes instead**, as using HTML Entity Codes will result in XML parse Error when running the compiled script. + for ($i = 0; $i -lt $firstLevelJsonList.Count; $i += 1) { $firstLevelName = $firstLevelJsonList[$i] - # Note: Avoid using HTML Entity Codes (for example '”' (stands for "Right Double Quotation Mark")), and use HTML decimal/hex codes instead. - # as using HTML Entity Codes will result in XML parse Error when running the compiled script. if ($jsonAsObject.$firstLevelName.content -ne $null) { $jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('&','&').replace('“','“').replace('”','”').replace("'",''').replace('<','<').replace('>','>') $jsonAsObject.$firstLevelName.content = $jsonAsObject.$firstLevelName.content.replace('''',"'") # resolves the Double Apostrophe caused by the first replace function in the main loop @@ -56,8 +57,8 @@ Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach- $jsonAsObject.$firstLevelName.description = $jsonAsObject.$firstLevelName.description.replace('''',"'") # resolves the Double Apostrophe caused by the first replace function in the main loop } } - # The replace at the end is required, as without it the output of converto-json will be somewhat weird for Multiline String - # Most Notably is the scripts in json files, making it harder for users who want to review these scripts that are found in the final compiled script + # The replace at the end is required, as without it the output of 'converto-json' will be somewhat weird for Multiline Strings + # Most Notably is the scripts in some json files, making it harder for users who want to review these scripts, which're found in the compiled script $json = ($jsonAsObject | convertto-json -Depth 3).replace('\r\n',"`r`n") $sync.configs.$($psitem.BaseName) = $json | convertfrom-json