From 7e112fa051b0c1d66c651b4158b64fda204ee1b7 Mon Sep 17 00:00:00 2001 From: CoderCow Date: Tue, 9 May 2017 01:03:32 +0200 Subject: [PATCH] chore(publishing): improve XenForo formatting --- publish.ps1 | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/publish.ps1 b/publish.ps1 index 5e9078e..2a1f916 100644 --- a/publish.ps1 +++ b/publish.ps1 @@ -247,14 +247,7 @@ function Update-TShockResource($releaseVersion, $terrariaVersion, $pluginApiVers $fields["version_string"] = $releaseVersion $readmeMarkdown = Get-Content $readmeFile - $readmeMarkdown = ($readmeMarkdown -join "`n") - $readmeMarkdown = $readmeMarkdown -replace "<","<" - $readmeMarkdown = $readmeMarkdown -replace ">",">" - $readmeHtml = ConvertFrom-Markdown -MarkdownContent ($readmeMarkdown -join "`n") - # make things a bit prettier because XenForo does some weird transformations to the html - $readmeHtml = $readmeHtml -replace "

","

" - $readmeHtml = $readmeHtml -replace "

[\s\n\r]*

","

" - $fields["message_html"] = $readmeHtml + $fields["message_html"] = Convert-MarkdownToHtml $readmeMarkdown # save the resource $response = Invoke-WebRequest -Uri "$tshockResourceUri/save" -Method Post -Body $fields -WebSession $session @@ -267,21 +260,34 @@ function Update-TShockResource($releaseVersion, $terrariaVersion, $pluginApiVers $fields["download-url"] = "https://github.com/$gitHubUser/$gitHubRepoName/releases/tag/$releaseVersion" $fields["version-string"] = $releaseVersion $fields["title"] = "$releaseVersion Update" - $fields["message_html"] = "$releaseVersion Update" $changelogMarkdown = Get-Content $changelogFile # remove commit hashes $changelogMarkdown = $changelogMarkdown -replace "\(\[[A-Za-z0-9]+\]\([A-Za-z0-9]+\)\)","" - - $changelogHtml = ConvertFrom-Markdown -MarkdownContent ($changelogMarkdown -join "`n") - # make things a bit prettier because XenForo does some weird transformations to the html - $changelogHtml = $changelogHtml -replace "

","

" - $fields["message_html"] = $changelogHtml + $fields["message_html"] = Convert-MarkdownToHtml $changelogMarkdown # post update $response = Invoke-WebRequest -Uri "$tshockResourceUri/save-version" -Method Post -Body $fields -WebSession $session } +function Convert-MarkdownToHtml($markdown) { + $html = ConvertFrom-Markdown -MarkdownContent ($markdown -join "`n") + + # make things a bit prettier because XenForo does some weird transformations to the html + $html = $html -replace '

[\s\n\r]*',"" + $html = $html -replace "

[\s\n\r]*

","

" + $html = $html -replace "

","

" + $html = $html -replace '

[\s\n\r]*',"" + $html = $html -replace "

","

" + $html = $html -replace "

(.*)

",'$1
' + $html = $html -replace "

(.*)

",'$1
' + $html = $html -replace "

(.*)

",'$1
' + $html = $html -replace "[\s\n\r]*
","
" + $html = $html -replace "
[\s\n\r]*

","

" + + return $html +} + function Construct-FormFields($request, $formHtmlElement) { $fields = @{} $inputFields = $formHtmlElement.getElementsByTagName("input") | Where { $_.name -and $_.type -ne "button" }