API akzeptiert keine MarkDown-Tabellen

Wir nutzen die gehostete Lösung.

Problembeschreibung: Nutzung der API zum Erstellen von Beiträgen. Dies hat in den letzten 4 Monaten (der letzte Beitrag war am Montag, 11.03.2019) einwandfrei funktioniert, bis heute. Ich habe ein paar sehr einfache Tests erstellt, um das Problem einzugrenzen:

Über die API gesendete Daten:

Col1 Col2
Col1data Col2data
Bild des Ergebnisses:
![image 409x214](upload://8nVSGDsKwFV9DdRhzH3l9NnAnOB.png)

Beachten Sie den hervorgehobenen ersten Header-/Datentrenner. Irgendwie wurde er von drei Bindestrichen in eine durchgehende Linie geändert. Der zweite Trenner wurde nicht geändert. Ich glaube, das ist das Problem. Da der Trenner der ersten Spalte nicht mehr drei Bindestriche ist, wird er nicht mehr als Markdown-Tabelle interpretiert. Ich weiß nur nicht, was dazu führt, dass sich die drei Bindestriche in dieses Zeichen für die Linie ändern.

Ich kann dies (sozusagen) auch beim manuellen Posten nachvollziehen. Wenn ich dies eingebe (beachten Sie, dass der Trenner der zweiten Spalte drei Bindestriche ist) – nun ja, das ist er, bis er gepostet wird…
|Col1|Col2|
|___|—|
|Col1data|Col2data|

Der Beitrag zeigt den zweiten Trenner nun tatsächlich als durchgehende Linie an. Da ich ein neuer Benutzer auf dieser Seite bin, wird mir mitgeteilt, dass ich nicht mehr als zwei Bilder posten kann (was?), sodass ich das genaue Bild nicht zeigen kann. Hier ist jedoch eine Test-URL: https://try.discourse.org/t/test-table-cause-seeing-problem/1335

Ich glaube, dass das, was diese Änderung der Bindestriche in das Linienzeichen verursacht, auch dafür verantwortlich ist, dass sich die drei Bindestriche in der API ändern. Aber das ist alles nur eine Vermutung.

Kann mir jemand bitte helfen, etwas Licht ins Dunkel zu bringen? 1) Warum passiert das? 2) Hat sich kürzlich etwas geändert, das dies verursacht haben könnte?

Try disabling the setting enable markdown typographer

1 „Gefällt mir“

Thanks for the quick reply Rafael. That definitely got back the 3 dashes, but it still displays as plain text, instead of converting it to a table, like I would expect. So, quite possibly, what I thought was the issue was not :-(. Any other suggestions as to why this may not be displaying correctly as a table after posting thru the API?

image

Can you share the exact content of the post sent to the API here?

Not really - it’s a a PS script…the first line tho shows the data being passed in, and the result shown above…

 $HTMLTableAll = '|Col1|Col2|<br>|---|---|<br>|Col1data|Col2data|'

#Create Discourse JSON Body for posting new Topic
$DiscourseBodyJSON = @{}
$DiscourseBodyJSON.Add("title","Test - please ignore")
$DiscourseBodyJSON.Add("raw",$HTMLTableAll)
$DiscourseBodyJSON.Add("category",$TFOCategoryID)
$DiscourseDevNoteJSON = $DiscourseBodyJSON | ConvertTo-Json
$URI = $TWDomain + "posts.json" + $DiscourseCredsURI

Show-Log -LogType Txt -LogText $URI
Show-Log -LogType Txt -LogText $HTMLTableAll

$PostNote = @{Method     = 'POST'
             Uri         = $URI  
             ContentType = "application/json"
             Headers     = @{Authorization = "Basic " + [System.Convert]::ToBase64String($DiscourseUserEnc)}
             Body        = $DiscourseDevNoteJSON
            }

Result:

Actually, I have this working again. I think that settings change actually did fix this issue. Thanks for the help!

Only thing that jumps to me is that we use \n for line breaks in the API instead of <br>.

Anyway, since it’s working already, keep going.

4 „Gefällt mir“