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" }