From a4bcb40c5905783ae1458612279af7926c1569ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl> Date: Tue, 14 Dec 2021 12:54:22 +0100 Subject: [PATCH 01/26] WIP: Add support for markdown in checks --- modules/templates/helper.go | 12 ++++++++++++ templates/repo/pulls/status.tmpl | 3 ++- web_src/less/_base.less | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index f4529503d8f4d..f013e49137b7e 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -32,6 +32,7 @@ import ( "code.gitea.io/gitea/modules/json" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/markup" + "code.gitea.io/gitea/modules/markup/markdown" "code.gitea.io/gitea/modules/repository" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/svg" @@ -97,6 +98,7 @@ func NewFuncMap() []template.FuncMap { "SafeJS": SafeJS, "JSEscape": JSEscape, "Str2html": Str2html, + "Md2html": Md2html, "TimeSince": timeutil.TimeSince, "TimeSinceUnix": timeutil.TimeSinceUnix, "RawTimeSince": timeutil.RawTimeSince, @@ -619,6 +621,16 @@ func Str2html(raw string) template.HTML { return template.HTML(markup.Sanitize(raw)) } +// Md2html render Markdown text to HTML (non-sanitize) +func Md2html(raw string) template.HTML { + var err error + var RenderedContent string + if RenderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { + return template.HTML(err.Error()) + } + return template.HTML(RenderedContent) +} + // Escape escapes a HTML string func Escape(raw string) string { return html.EscapeString(raw) diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl index f029d5cb6c7cb..0905d6d844451 100644 --- a/templates/repo/pulls/status.tmpl +++ b/templates/repo/pulls/status.tmpl @@ -20,13 +20,14 @@ {{range $.LatestCommitStatuses}} <div class="ui attached segment"> <span>{{template "repo/commit_status" .}}</span> - <span class="ui">{{.Context}} <span class="text grey">{{.Description}}</span></span> + <span class="ui">{{.Context}}</span> <div class="ui right"> {{if $.is_context_required}} {{if (call $.is_context_required .Context)}}<div class="ui label">{{$.i18n.Tr "repo.pulls.status_checks_requested"}}</div>{{end}} {{end}} <span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> </div> + <div class="ui issue-segment">{{.Description|Md2html}}</div> </div> {{end}} {{end}} diff --git a/web_src/less/_base.less b/web_src/less/_base.less index 1d6b65e945c53..5263488bf4d23 100644 --- a/web_src/less/_base.less +++ b/web_src/less/_base.less @@ -1893,6 +1893,10 @@ a.ui.basic.label:hover { border-color: var(--color-secondary); } +.ui.issue-segment { + margin-top: 1rem; +} + .ui.segments > .segment { border-color: var(--color-secondary); } From 615028bda687ac6dfaf064763e4cf95e59d795ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl> Date: Tue, 14 Dec 2021 14:50:17 +0100 Subject: [PATCH 02/26] update private key to pass tests --- integrations/private-testing.key | 227 ++++++++++++++----------------- 1 file changed, 102 insertions(+), 125 deletions(-) diff --git a/integrations/private-testing.key b/integrations/private-testing.key index 293256a16c292..df5f95def7715 100644 --- a/integrations/private-testing.key +++ b/integrations/private-testing.key @@ -1,128 +1,105 @@ -----BEGIN PGP PRIVATE KEY BLOCK----- -lQVYBF3190cBDADpfh1CvNtLl8N6lJQ03jymeE8h2ocvT61stAj31eefiOvZPDyx -n0kRztBcrQ1OITBEslYqKiYHVfVptscIWf+5bARoHnLQIgpJEio00ggqO3AP8lIZ -uiy9/ARDVgyPl3WgMza/J3Z7W0sBJTtN/6W35i+eNEY4Q0mScmNIVc75oo5ey/pL -JSF0qumiy94o38dy6Vk2dPEf5LyxJWoA4dLvj49LL/QGPqnsAXAQXr1zULaRuwf2 -a8oKebr3m9wVkZcaH86duUmkU822k6OZSSxWCxZFFGVkC/VaA0uUjIL4a6SQqOOr -PPOttmCLXJrtvpFdRwJ4PNwr9r2nPDDLwoajLJ8zo5jRumzwvkK9vALkY0BPuVoC -qFdGY+2SGYKa4FTE7Mri/5j0NhWplhbcdGRe5doGDxJHbIN2UO21XjDlTBcscKep -mWPVE2cdJrspYaZ9O0L6vhMVwGyyk+Qxmf6NbDw0q63AtqVe9qwbr2O3Irxseftw -uWuSuLXzp+SMh/0AEQEAAQAL/2ExopuDwuNSHsh5bcIeGnAPV51Xentqtt2viaYk -0AB8PfTVGsyzafa0OM7DKG0z6oRGGhD+L4tRMFGbiHlFAWqdeK4gsplJ+i8VlSUc -otJ1oH262IsmEPban6mp+ZuSKCASAYGLu0m5JF0rMucSeli1RHAeAXbtJ4SDAin7 -sib/EDWMwjkikS0f8hZWt7kbAcqnMQA2qKKmlBdHZDtOxX/8KeFZ6kHpNtFrfcsK -rOECIaVDDhr5HobCyl3E7tW5nrlrvSUkLVFl0IjcypqfzDlZp04PMdswhkdfBhu+ -0iY4K+d4uMPMzcpF1+mcn8C+7XK7jOqZysQa42bqgFHWEqljjJiUCuXfHbxnZWls -0R2j9FLgTqtPQ33f3zMjhOyvdiy1DmfzU9MSu/I0VqCJnq6AwlW5rBQaKwAQuHMB -UJ7bjMx/z41z41v0IFpxHnwSa+tkl49tV+y8zVtajfwXxJNy8j/ElX0ywfM5sDHa -RAVwI7DSwMk5azp3F15DnA6XbwYA8O0b5AIeCo8edmIdKgY3vAi20j/lsTgsTUkY -GTQ4BdMohr9gpZWHZZmQ1TeZokm4Auex7UgPblflufepkADassXixMmSNUsggGI+ -sR9qydNCw+qzgaJjchpwT5TdLJNHRbE+6VuGXJftcjdfXiKYZltEQBX8U4w7hui8 -D6dpzJK5mE1QebrFnJ7IKpAe+hWTc1+g9iHH3rInPMIzQW72WqSKndKIrRy1PZS5 -WM5MJzgWQaDzZSOQhrKA4yLIyzsrBgD4GfFLWh+sQ02sob5xmpDblfQUYVRy5TAx -4WOLSflJqqyarrk7s1D7obqsSoAEdJk521dpE/0ciI5xT41fQKMXH1Qm9tu9uW5d -1Y3oDxQXFJFa34gi5J9UbUBBIJRU0KyFcB1mGVF+fKbAKGPFR2lMCmkeqAYjVohM -PG+tluArQrQYCwkZroR460TqvSadmPUekEjYsIzwlaOkJhGf7r40G5Djgyb2/LoC -JY28zH7P9MXxIc7WAWuMJniUOqvslXcGAOkfZ1KVI61AIAvkEoRUpKwNSofs2PDQ -1K5Q9DN0NK5UNAAr+Wn91mw/MBXqxdheq9wjmcsvx8OAhvw7O89QMuTviCTUQjSl -Wzel6gpoZhpOgVb2RTxV7yVrp2fgYKkeUr7hiGhSxw78guF2jLgfBgb1ef+XKIMk -5anUqKcsHHiouBQbcUCDyKBcVeIUKjAuh9ADpqn1v1oVshugnjpx32Oq1AW6Mn9e -SmxBoR7YIvsy79P2IonjixEAjSp1chkGpNQTtBhnaXRlYSA8Z2l0ZWFAZmFrZS5s -b2NhbD6JAdQEEwEKAD4WIQQ4G/p4KVUOUEVu5g5R68KXFICqDwUCXfX3RwIbAwUJ -A8JnAAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRBR68KXFICqD/8/C/4wYdr1 -Q6fnXiAdBZPQDOHUjCSjH1d6tbVYaCz0ku8rK1uU0oTToKRSTXH9K59erHl//MEX -Rte6loI22y3GFA8wAWzFKGwb6wDUr0SkH21espsp+plKUI/gHV8JyfWs0pLmy/C0 -tOr9XhdnQepFjpDAquWszSO0B70G32Tl82Tzbrho6+ePvU+2X0fYj1F8q/2bmegB -lL1CcdVuivBqYglj6tzlurPXFq1QenJdssZNn0fizGiGfTY/7kgrvKHc4KN03i9d -PUrPMQw7J59KSFNdkE3KYdedmEeWBVmrbfC8QBEO1zcTJN9wwV8fVv4qOhKN8yIO -QLuhBZTeChtP3i2FCPHQqbeD2f0SG+yBbWu/OyfSC2YHcGyjbNV8D9upNg5eIJ34 -Sm5i0tGUYEdq9QQROacXn2/MhyJuJYbFrTcsHLsSiwygUXvHOqi0G0gEjWl67yMd -9YIq1sZlNs3WY7ASrV+QcB7B9WKJAyh5YWz/G4MlThU91YUfltAb3QmNFeadBVgE -XfX3RwEMALH7pae22J/BmhFFBCjMld166hTknXjOR459csv5ppky91Yl82VFFg+J -G6hbkGzvCQ5XDJu8xgWeXowe2sXkyDwhTRaB6MEnA4KW5PUazL7KlDGsR5oPvBlE -dSQDGzTV/RPcszSNdcN9MRNbfAf0ZFV6D9R3CIlNZAm6HwML7lZ0JmCiLORz3TbF -4kg1KDZIQAhY7Y7AuMdoXfnpUqFLba2ZxZBvdcrMcuYz8GkmFsYdi1/JuXEK3//B -Mo7Pg78zsq7UolUcT2p3qKb7hB3CEtwa3xffwzgAcFSKYrCE/5/IYjHhS97uKWor -8dh59wUCuPCmAiuIz3aD84rxZIHgBGPy03TEWCrCBCVxAdH/2Ezpn3DpuZyCuanJ -0WGSzrPBw+twA8bk9BATvFVQ/7Bs9deSsMAOI1uj9lTy1R9LU/KHEr8BEz61+Bgk -+m4ev6OQAVDY6QpRtf+zfB2xO95Wu4l1pIFuz7OJaZLCm2ApeAKsCCUDdTSJn5e7 -0i1E4SIVgwARAQABAAv/WHaZqbiqBw21RCwnmxfEzWbQfj37PxZYXqxfqJ6XfcHl -Sb5nMcia5HHje1S3fk15FNWTgLzdN+G1YLPdTUsfczOiGzPKumZnyjqx5lnBtnr+ -GYpltF9pwK1UA+g/V42c0oh50f8Vr2rEP7jS9ykzzYBz6ciYR5ZdyK/nxh3iArqM -cK9q3MnyA81rYTR6njBfE0cQHEoSDZsESrj7xwu0ofqyRc4AoCHqYh0iu0ChRSte -IOgk8djT6Uzfkjf2ZcyNiD2/iFzAXaI8CpoiiRJDn/qIhtSFqjb284wwbmTUE+Nw -LjeMbpKQiWqnsw2GKhlXVvTLjrCb8TIKjbLtFH2HlEaIjL332GcVqkVy2TMtjZRi -lhy/uSY2kzkBkoGJXp5isJFk3ZcOHHsG4VQ+08vq++GoqQE8U1t8zMfAbBFoFlpP -nkRjZs0MwY9u6C0IiXRDrYrMIW12LjsRBiebGHUhzv10/4T0XZ8FKTewxcszcuMf -lpbIotF1ItGqCXqgufnhBgDBhi8BErxO59ksWLAHdozDyiXwQ5ua6WesGrIRvw23 -Z8a5wxTByXmd1fMgJ509hpXbxUC94TGObJoUo23YE3TpqlTLs5NqeFzzU+OjWSb0 -Wo1hpFlzyatuynpz2aXbKbjw5dgyeIxj9t+NhGo2SW6v+RHtYAWJRFBFOPVOLwTy -an733pA3MSUT0oEh+aggDkXEJLBum0P3Onnma7wR7Xj2Nk1SGLCMgVmKbtGlvyrj -yc5FZhzuvOfeuLSYoa0KE4sGAOtxED2jDkV2HS67bxrUzMLvAAhOnRmunA7Qk4F7 -B2uMYa03O7vnUJAINpmZVu/ubWz1/JRV6M3/1lQTH+2B9kZ5v6kHrczCsoSP2dXD -7CQnxSm6zngdgwkoo+9pgFztGUZM071SjRW+r1IwE/XBZNwFya5PM02/Akb0ejuB -6K2ClnIFf7gflndUZ0mhZn48I88b6mzEG4X4uUZG+4vW8EZEInl+nMA9f3S6YT0U -ZG4JC8JMKsmoYLye/BuedHxk6QX6AnMFBjK7cnfBnViJkmXhDLxmcCjwjUUBraRI -QbyzHzY2Jq1VyhTJ1HZxE+vj26MzFFzjpe84r1Ggrcowx53RHstBBYBA5OjRy+cN -vDzqqWz4cDKU/XlwJhRnG+PcY3c47obpvjjagcwG7xU4df15fDetKajnIloA5r22 -hbmVmTAqljyWLnvSNYrvf5QDqqg6tBuHITUiZhYgECpIoeEj9hU8MZSvQOscK0kx -Vn8SqUjxDcNazQM8NoxNB10wfJw63hCJAbwEGAEKACYWIQQ4G/p4KVUOUEVu5g5R -68KXFICqDwUCXfX3RwIbDAUJA8JnAAAKCRBR68KXFICqD54+DAC4VZpKrU6Oo04z -/gJeC+3fNon6W9Pdxx7KimDOttkpCiss8JydO6aSB97xrWdvMBTui333qGo2exE/ -XFA4RF7K4lAKUWbwaR1brLQfGVYOltmMb986/LeE3OsmMt4vbxUnGvHVX+QXDWAr -p6q4DZvMgQQhbWp+rMjXtRr10iQnSlM5CYhyawdiiahFqgoo8395l/2JA2YGhUgU -nARUPZ9SqaUmRm+KGsSyoYnvN9apiDk5KVQoyfrmweNN7DCIIcoh/B9Ax8nmouKz -yBB2fjCM/bJNtN/AsgYbZIScuYK/xqTkwNtbe5WdCyD/QJOHTsPJzx59hgSVo6gf -Fe8VBnxHtrY8gPSUU3gkhYLvLzyVX+YLNzRcffobd8gJbfumwFJUkz91oGvYz7xg -XN2qmsgBNCbTIzWZMpRDMAbY+n2QFImGf+EJZlMdj6gOrIYq8N4+nMW1FwJivsOb -muqySyjZnD2AYjEA6OYPXfCVhaB5fTfhQXbIrZbgsEh4ob/eIdOdBVgEXta5egEM -AMYlmZ47NqBMBeaN0o/ahYMe8eIMaroWkufMfC9VRBSMAkpbDl34oNp0cflmnMYo -AFAl8ucRMFTiUnjiWpo27q14tjSyDVsn/CqwbnrgJgCFNV/MGsYsToEkb4JwDIRC -bky+1BvqvI8RMlO3MlwzrlIaMrlQfx5NtUb9TyO7S4xZTz864+Ty5p3HhRwbdZMe -Ko8sfXFhCcCHFXosI0mX83EyzsrXlbkGRawId7jvrdOAUg/cYP8f/XmV6z1NHHH9 -cvz+3oLOGuVxUdG0KuS/jigHrLWdRuKM3xfEeesp870yZU3AbyFdoHnGXROJePTl -FV8j2P5Ahf/yuVhjdyJSKdZC2h6+HtLG9RiGgLviLLYhtlZG2H6pYyKY5Ud3php+ -qw1aYL1xtdxrHYkQlAa0vLY/mwpuPfMke9I+rtnrwlLRMCstdiN34ybZ4sRD+gL1 -w5VIZ/aM6/Gsczd3s/T8psIi09TKPfEU2gWLMGvlDsgz+aSDdVP7XYQpNglaEPet -PwARAQABAAv8CHg6+hnV2pblTwGTlTU7V8DO3gwMfn/QhQ/8ju66G5a7J6p/ZreQ -nfCJnqYq4AgoW0SuqVSBbbTENF6YjixNmiSlb9iHMZ+ilms24xG0Y3lOMBYYCY3Y -nTSNf6nXyconz31TW7jLmTdG9hpykKEKO9WFgt5UpgWe+2CAgtUoBDZyaLrVBZ2h -te99WmziDbPQZeZPm7UQ0aX0iRBclxy4+dxjcnrcmi1mdQAM/glgs2sHbEjN7JnV -dTOvUSN7/8ixj6I719Wx6MN6jE+BNd0ytZOun6tcDl0vamfT5fBpqbQoJMib2ggo -+FGg9VFnzEMLqyI47LfOKUjCIhwVsxS4q9HXa2FtpO8UfRMPjDKgDZQzRTRJScrP -s1NJ9HiM/eCHS1YjRmgroo60HygxkoLVCHp+Rz/hi0tG/ptv4q6mdnm8Mwb5JJtV -48EvmZoNTWl9xOez1wmQn6caVHipc0qDqn/veoe8N5wdc+3hoMEXbSXqU+kx2KUa -cVxCCVoUeURhBgDUGWtx34j1y17zE92BYhtVJTCU89dDe4wOEqGPyCGvRtgTmZ+1 -KwWr66pij91MV9mlY+7Ue2QHUSmgav2EFGIjVes956p4/F/CJ6qaYoekirMSnmX5 -jhRt4p6RW7m4omha3LAQ+gN4Fqa4acZUywENBvv1x3v+IWbjGJGn3eBnRrP3o9P+ -QUAtyMifiRm0ZN8J767o+bzUVmscXrkh7Qml47lQfDToyRI1UZZQmP2izpwHcwbZ -NtfkgRUdeEq4GJUGAO8o4Oebbt0ALZ54E2LHhk8xi4ofKkFBDCkUFjcqS3bJJNck -rkhfqEkMLETNhPbiC4TRNiunI5PXOinwNPkKI8P/hfp4S49WdIvnARazCoxjZNtl -0Cbo+F1wtOH9FZaaWzNlU2lCQ2JJ3MCpLHz+nEmdYWOIWGQu2/s7smLODVEFbYKR -50VWVRL7mB83v1XdfMFvExdQ7i5MOX4hFvmwi/WJIKClJfhNwTrHp6Jrm9jA66RL -+dNyPKfwcFcYrqt1gwYAruZzP7QgTYVL+cmvGtCaHY4KoR8hanbpqR4YbzzyEXwS -ll2FUCaVSokuRAdH3+/CHF9bqog3Zvn6HYcCS/A/rHVGIU9a+7s5IbRe0Ysc2FAN -Nm9AsC5YnuyoAjW3cJGaZLYxp2WOZcMEXZeLPFYrNz22R1nRoxnUIPRpsKICXcK0 -aC4rSMk479jc/8WprWx4d45EVG+6Gsh1AT8LVhDL9yHFrh50ss2jCe1Fnftet6DI -V5zHcxBx4sCs91aPxxe12UiJA2wEGAEKACAWIQQ4G/p4KVUOUEVu5g5R68KXFICq -DwUCXta5egIbAgHACRBR68KXFICqD8D0IAQZAQoAHRYhBKAm5ShdO9gmF/o8jan0 -RkmWoKbKBQJe1rl6AAoJEKn0RkmWoKbKacUL/3YYKmiVvcr5LYFzMdwdahkla+6m -hEEkL0l3dJNuU97Ou71tA1ieF0fjbVRSWjXKsntKwhyPoXjaZEZwMmv7iZ8BXV+b -oO/EG5sg2/6iukJFXZqGnQwMdLVo1jPoXDteZU1qYiCoxLHhGhHL7ivtD1ygEi6w -/cMbbOEB5Le1vOWIwqazs8dDcAYyy1PKthRl0ygvh8CpqPwy+AK3uLm0TVwetQAp -taux0bDYWCb5Aft1r1nlV44gU4RiC131TDo+TKd754+UuI+UHk1D+LjTmZxRX2S6 -fXgoMXzrWmthGPdqvVOgKWm7Ef18hmaBECvPnp/tUJeDVVe02KrYQi8Bf2kxveSd -8T0N/ExcydU9HgzTL8MuyPI+yp086elQzKJu6vb9tpgxCcglQZrUNT9Uy82pzTRY -z9MmhnCDI2SD5L/CW5PsNpPTPy7s3f9DOV0G5Vka4LTSBOCK64NvAGBmRf8rFjJU -lPtRPhC7h6uHdUIx3Q550Xogvq5sQm8UBCsbG8OJDADT3FJSIulR9Sh96OsES3sc -H09juN4KcbpS03MAeUFwXqw3jBMhDoGKlsjX17Jf31qh/nI/XjigS3XWyj1BLSMG -rJfH0NyYoGDCnff37tf+8lD9km9TlnV4Qjd9ujYbDRsefhaSjLVcy/gqdxZEuNBC -BWmGwsmLI3nyZ4KDtNsa5JUHUNNZLBN20hvmE41Eszmz4Yg9Ho9DxKiFKvzUULMc -bnMHaVHseHHq6+NVUnN1SAcOA0ygjnEid8D57RtdBCD90LXjLB7vlR+HaSMZYOnr -DtseivHvqqy4+rxhwV2S3avnls9vRwE4bV6GCiqhoBnWIZRrARLZc2OTBIya82vS -BIS1eyhjif1mE7Lqhs6aPD+eqQK2mBtQ/sidN8P/IfKfVF5siXfFbuGZLz5nRIho -Yp1z7oO3OZ09lpUk0G1h+ouIFF6goDP48M/AKtbvs9OWk3QKxnOUZD8sRncq95x6 -m4q1MVb+aJyxwBqDRGaFY+3TVArB1b+kG1JsAvV5dag= -=511T +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 +=9A2w -----END PGP PRIVATE KEY BLOCK----- From 415175d97c83da8295311241dd0b47469ddd80a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl> Date: Tue, 14 Dec 2021 15:06:53 +0100 Subject: [PATCH 03/26] naming, markup class --- templates/repo/pulls/status.tmpl | 2 +- web_src/less/_base.less | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl index 0905d6d844451..e14e0e023f09b 100644 --- a/templates/repo/pulls/status.tmpl +++ b/templates/repo/pulls/status.tmpl @@ -27,7 +27,7 @@ {{end}} <span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> </div> - <div class="ui issue-segment">{{.Description|Md2html}}</div> + <div class="ui status-segment markup">{{.Description|Md2html}}</div> </div> {{end}} {{end}} diff --git a/web_src/less/_base.less b/web_src/less/_base.less index 5263488bf4d23..ac62067771d22 100644 --- a/web_src/less/_base.less +++ b/web_src/less/_base.less @@ -1893,7 +1893,7 @@ a.ui.basic.label:hover { border-color: var(--color-secondary); } -.ui.issue-segment { +.ui.status-segment { margin-top: 1rem; } From 6b75d440c7520f746f8afd5d225dfb45751e065a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl> Date: Tue, 14 Dec 2021 15:15:56 +0100 Subject: [PATCH 04/26] also use markdown-supporting statuses in pop-up --- templates/repo/commit_statuses.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl index d2e9f0bd16d91..77fbf76ea14ea 100644 --- a/templates/repo/commit_statuses.tmpl +++ b/templates/repo/commit_statuses.tmpl @@ -4,10 +4,11 @@ {{range .Statuses}} <div class="ui item singular-status"> <span>{{template "repo/commit_status" .}}</span> - <span class="ui">{{.Context}} <span class="text grey">{{.Description}}</span></span> + <span class="ui">{{.Context}}</span> {{if .TargetURL}} <div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div> {{end}} + <div class="ui status-segment markup">{{.Description|Md2html}}</div> </div> {{end}} </div> From c9e754b9e3c7f9db55ba18014fcaf675d395c4cb Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Wed, 15 Dec 2021 01:28:48 +0100 Subject: [PATCH 05/26] Update templates/repo/commit_statuses.tmpl Co-authored-by: silverwind <me@silverwind.io> --- templates/repo/commit_statuses.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl index 77fbf76ea14ea..b4669f3424da0 100644 --- a/templates/repo/commit_statuses.tmpl +++ b/templates/repo/commit_statuses.tmpl @@ -8,7 +8,7 @@ {{if .TargetURL}} <div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div> {{end}} - <div class="ui status-segment markup">{{.Description|Md2html}}</div> + <div class="ui markup mt-4">{{.Description|Md2html}}</div> </div> {{end}} </div> From fcf972b3c2bcd845d649b83adec97267b9e9016c Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Wed, 15 Dec 2021 01:28:53 +0100 Subject: [PATCH 06/26] Update templates/repo/pulls/status.tmpl Co-authored-by: silverwind <me@silverwind.io> --- templates/repo/pulls/status.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl index e14e0e023f09b..ca00562ae6a16 100644 --- a/templates/repo/pulls/status.tmpl +++ b/templates/repo/pulls/status.tmpl @@ -27,7 +27,7 @@ {{end}} <span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> </div> - <div class="ui status-segment markup">{{.Description|Md2html}}</div> + <div class="ui markup mt-4">{{.Description|Md2html}}</div> </div> {{end}} {{end}} From c4fd589db1e6fa550b5cdbd2de1f1d59c95b651f Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Wed, 15 Dec 2021 01:29:03 +0100 Subject: [PATCH 07/26] Update web_src/less/_base.less Co-authored-by: silverwind <me@silverwind.io> --- web_src/less/_base.less | 4 ---- 1 file changed, 4 deletions(-) diff --git a/web_src/less/_base.less b/web_src/less/_base.less index ac62067771d22..1d6b65e945c53 100644 --- a/web_src/less/_base.less +++ b/web_src/less/_base.less @@ -1893,10 +1893,6 @@ a.ui.basic.label:hover { border-color: var(--color-secondary); } -.ui.status-segment { - margin-top: 1rem; -} - .ui.segments > .segment { border-color: var(--color-secondary); } From aa587f5a27622d4d12afe069a4c267f98673d78b Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Wed, 15 Dec 2021 01:28:48 +0100 Subject: [PATCH 08/26] Update templates/repo/commit_statuses.tmpl Co-authored-by: silverwind <me@silverwind.io> --- templates/repo/commit_statuses.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl index 77fbf76ea14ea..b4669f3424da0 100644 --- a/templates/repo/commit_statuses.tmpl +++ b/templates/repo/commit_statuses.tmpl @@ -8,7 +8,7 @@ {{if .TargetURL}} <div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div> {{end}} - <div class="ui status-segment markup">{{.Description|Md2html}}</div> + <div class="ui markup mt-4">{{.Description|Md2html}}</div> </div> {{end}} </div> From d04616063e62b91f4dd27331601c4dc970d71e79 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Wed, 15 Dec 2021 01:28:53 +0100 Subject: [PATCH 09/26] Update templates/repo/pulls/status.tmpl Co-authored-by: silverwind <me@silverwind.io> --- templates/repo/pulls/status.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl index e14e0e023f09b..ca00562ae6a16 100644 --- a/templates/repo/pulls/status.tmpl +++ b/templates/repo/pulls/status.tmpl @@ -27,7 +27,7 @@ {{end}} <span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> </div> - <div class="ui status-segment markup">{{.Description|Md2html}}</div> + <div class="ui markup mt-4">{{.Description|Md2html}}</div> </div> {{end}} {{end}} From 8605af6f1c95744dca573df877f1cb627123ad40 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Wed, 15 Dec 2021 01:29:03 +0100 Subject: [PATCH 10/26] Update web_src/less/_base.less Co-authored-by: silverwind <me@silverwind.io> --- web_src/less/_base.less | 4 ---- 1 file changed, 4 deletions(-) diff --git a/web_src/less/_base.less b/web_src/less/_base.less index ac62067771d22..1d6b65e945c53 100644 --- a/web_src/less/_base.less +++ b/web_src/less/_base.less @@ -1893,10 +1893,6 @@ a.ui.basic.label:hover { border-color: var(--color-secondary); } -.ui.status-segment { - margin-top: 1rem; -} - .ui.segments > .segment { border-color: var(--color-secondary); } From 3a0d6ef4d271972c472d7c5244792e04d9cd9ae5 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Wed, 15 Dec 2021 07:31:57 +0100 Subject: [PATCH 11/26] Update modules/templates/helper.go Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> --- modules/templates/helper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 91b643f496e0d..52397de924547 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -625,7 +625,7 @@ func Str2html(raw string) template.HTML { // Md2html render Markdown text to HTML (non-sanitize) func Md2html(raw string) template.HTML { var err error - var RenderedContent string + var renderedContent string if RenderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { return template.HTML(err.Error()) } From 46a2090bc3e76bf732dc14beccf06b6a4f994b75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl> Date: Wed, 15 Dec 2021 07:50:39 +0100 Subject: [PATCH 12/26] partial suggested changes --- modules/templates/helper.go | 13 +++++++------ templates/repo/commit_statuses.tmpl | 2 +- templates/repo/pulls/status.tmpl | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 52397de924547..7d60ed38082ba 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -98,7 +98,7 @@ func NewFuncMap() []template.FuncMap { "SafeJS": SafeJS, "JSEscape": JSEscape, "Str2html": Str2html, - "Md2html": Md2html, + "Markdown2html": Markdown2html, "TimeSince": timeutil.TimeSince, "TimeSinceUnix": timeutil.TimeSinceUnix, "RawTimeSince": timeutil.RawTimeSince, @@ -622,14 +622,15 @@ func Str2html(raw string) template.HTML { return template.HTML(markup.Sanitize(raw)) } -// Md2html render Markdown text to HTML (non-sanitize) -func Md2html(raw string) template.HTML { +// Markdown2html render Markdown text to HTML (non-sanitize) +func Markdown2html(raw string) template.HTML { var err error var renderedContent string - if RenderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { - return template.HTML(err.Error()) + if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { + log.Warning("Markdown2html: Invalid markdown? %v", err) + return template.HTML(markup.Sanitize(raw)) // this was gitea 1.15.* behaviour } - return template.HTML(RenderedContent) + return template.HTML(renderedContent) } // Escape escapes a HTML string diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl index b4669f3424da0..fc1e48028024b 100644 --- a/templates/repo/commit_statuses.tmpl +++ b/templates/repo/commit_statuses.tmpl @@ -8,7 +8,7 @@ {{if .TargetURL}} <div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div> {{end}} - <div class="ui markup mt-4">{{.Description|Md2html}}</div> + <div class="ui markup mt-4">{{.Description|Markdown2html}}</div> </div> {{end}} </div> diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl index ca00562ae6a16..0fb8c43d69937 100644 --- a/templates/repo/pulls/status.tmpl +++ b/templates/repo/pulls/status.tmpl @@ -27,7 +27,7 @@ {{end}} <span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> </div> - <div class="ui markup mt-4">{{.Description|Md2html}}</div> + <div class="ui markup mt-4">{{.Description|Markdown2html}}</div> </div> {{end}} {{end}} From c37264d4822ecbf496ad45d4db2fa765b2587a7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl> Date: Wed, 15 Dec 2021 07:55:23 +0100 Subject: [PATCH 13/26] it actually is log.Warn --- modules/templates/helper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 7d60ed38082ba..e72b1b073a9be 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -627,7 +627,7 @@ func Markdown2html(raw string) template.HTML { var err error var renderedContent string if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { - log.Warning("Markdown2html: Invalid markdown? %v", err) + log.Warn("Markdown2html: Invalid markdown? %v", err) return template.HTML(markup.Sanitize(raw)) // this was gitea 1.15.* behaviour } return template.HTML(renderedContent) From fda6ca33588eef61e16e9d699607bccd5f088cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl> Date: Wed, 15 Dec 2021 08:04:10 +0100 Subject: [PATCH 14/26] `template.HTML(html.EscapeString(raw))` instead of `template.HTML(markup.Sanitize(raw))` in `Markdown2html` --- modules/templates/helper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index e72b1b073a9be..ecc708561f980 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -628,7 +628,7 @@ func Markdown2html(raw string) template.HTML { var renderedContent string if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { log.Warn("Markdown2html: Invalid markdown? %v", err) - return template.HTML(markup.Sanitize(raw)) // this was gitea 1.15.* behaviour + return template.HTML(html.EscapeString(raw)) } return template.HTML(renderedContent) } From 22461a2ff525b87bd6cd59348d4ef1cf2582e309 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 06:19:59 +0100 Subject: [PATCH 15/26] Update helper.go --- modules/templates/helper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 67aa2c9df7122..9062cb0eb8164 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -622,7 +622,7 @@ func Str2html(raw string) template.HTML { return template.HTML(markup.Sanitize(raw)) } -// Markdown2html render Markdown text to HTML (non-sanitize) +// Markdown2html render Markdown text to sanitized HTML func Markdown2html(raw string) template.HTML { var err error var renderedContent string From b1d817f2efa75410e2db41f1eff6a1f0d0367e16 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 06:20:17 +0100 Subject: [PATCH 16/26] Update modules/templates/helper.go Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> --- modules/templates/helper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 9062cb0eb8164..52bbbbb487239 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -630,7 +630,7 @@ func Markdown2html(raw string) template.HTML { log.Warn("Markdown2html: Invalid markdown? %v", err) return template.HTML(html.EscapeString(raw)) } - return template.HTML(renderedContent) + return template.HTML(markup.Sanitize(renderedContent)) } // Escape escapes a HTML string From fc75a26199bbee8b2ffbee0d380ad1b8349cc4c0 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 17:42:36 +0100 Subject: [PATCH 17/26] Should be what @silverwind wanted, but I don't have working gofmt here, so it might fail on gofmt Co-Authored-By: silverwind <me@silverwind.io> --- modules/templates/helper.go | 18 ++++++++++++------ templates/repo/commit_statuses.tmpl | 2 +- templates/repo/pulls/status.tmpl | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 52bbbbb487239..dd44f79fe9650 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -98,7 +98,7 @@ func NewFuncMap() []template.FuncMap { "SafeJS": SafeJS, "JSEscape": JSEscape, "Str2html": Str2html, - "Markdown2html": Markdown2html, + "RenderMarkup": RenderMarkup, "TimeSince": timeutil.TimeSince, "TimeSinceUnix": timeutil.TimeSinceUnix, "RawTimeSince": timeutil.RawTimeSince, @@ -623,14 +623,20 @@ func Str2html(raw string) template.HTML { } // Markdown2html render Markdown text to sanitized HTML -func Markdown2html(raw string) template.HTML { +func RenderMarkup(Type string, raw string) template.HTML { var err error var renderedContent string - if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { - log.Warn("Markdown2html: Invalid markdown? %v", err) - return template.HTML(html.EscapeString(raw)) + + if Type == "markdown" { + if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { + log.Warn("Markdown2html: Invalid markdown? %v", err) + return template.HTML(html.EscapeString(raw)) + } + } else if Type == "markup" { + return template.HTML(markup.Sanitize(renderedContent)) } - return template.HTML(markup.Sanitize(renderedContent)) + + return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, Type)) } // Escape escapes a HTML string diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl index fc1e48028024b..7e7cab8d55c53 100644 --- a/templates/repo/commit_statuses.tmpl +++ b/templates/repo/commit_statuses.tmpl @@ -8,7 +8,7 @@ {{if .TargetURL}} <div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div> {{end}} - <div class="ui markup mt-4">{{.Description|Markdown2html}}</div> + <div class="ui markup mt-4">{{RenderMarkup "markdown" .Description}}</div> </div> {{end}} </div> diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl index 0fb8c43d69937..e41e5cb5fe5de 100644 --- a/templates/repo/pulls/status.tmpl +++ b/templates/repo/pulls/status.tmpl @@ -27,7 +27,7 @@ {{end}} <span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> </div> - <div class="ui markup mt-4">{{.Description|Markdown2html}}</div> + <div class="ui markup mt-4">{{RenderMarkup "markdown" .Description}}</div> </div> {{end}} {{end}} From 06246765f43845a46c4fabb4eafa0d22c4c7a433 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 17:48:31 +0100 Subject: [PATCH 18/26] forgot to `save` before `commit` Co-Authored-By: silverwind <me@silverwind.io> --- modules/templates/helper.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index dd44f79fe9650..80fa7ce5e0e39 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -632,7 +632,12 @@ func RenderMarkup(Type string, raw string) template.HTML { log.Warn("Markdown2html: Invalid markdown? %v", err) return template.HTML(html.EscapeString(raw)) } + return template.HTML(markup.Sanitize(renderedContent)) } else if Type == "markup" { + if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil { + log.Warn("Markdown2html: Invalid markup? %v", err) + return template.HTML(html.EscapeString(raw)) + } return template.HTML(markup.Sanitize(renderedContent)) } From 017a60963e09812bedb02144cd392af55ca2d90b Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 17:50:41 +0100 Subject: [PATCH 19/26] go please... these are comments, not code Co-Authored-By: silverwind <me@silverwind.io> --- modules/templates/helper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 80fa7ce5e0e39..a1647de48562c 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -622,7 +622,7 @@ func Str2html(raw string) template.HTML { return template.HTML(markup.Sanitize(raw)) } -// Markdown2html render Markdown text to sanitized HTML +// RenderMarkup render Markdown text to sanitized HTML func RenderMarkup(Type string, raw string) template.HTML { var err error var renderedContent string From 72b83ff8a3feb72b23972e4a017a0f173d466ab9 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 17:52:51 +0100 Subject: [PATCH 20/26] fixed comment again Co-Authored-By: silverwind <me@silverwind.io> --- modules/templates/helper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index a1647de48562c..c965de3447ae8 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -622,7 +622,7 @@ func Str2html(raw string) template.HTML { return template.HTML(markup.Sanitize(raw)) } -// RenderMarkup render Markdown text to sanitized HTML +// RenderMarkup render markdown/markup specified in type to sanitized HTML func RenderMarkup(Type string, raw string) template.HTML { var err error var renderedContent string From c1d1d4ab90b14b12b1a1a4bca4bc1389d58ba4cb Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 18:07:27 +0100 Subject: [PATCH 21/26] `markupType` instead of `Type` Co-Authored-By: silverwind <me@silverwind.io> --- modules/templates/helper.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index c965de3447ae8..589bd0a343e6d 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -623,17 +623,17 @@ func Str2html(raw string) template.HTML { } // RenderMarkup render markdown/markup specified in type to sanitized HTML -func RenderMarkup(Type string, raw string) template.HTML { +func RenderMarkup(markupType string, raw string) template.HTML { var err error var renderedContent string - if Type == "markdown" { + if markupType == "markdown" { if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { log.Warn("Markdown2html: Invalid markdown? %v", err) return template.HTML(html.EscapeString(raw)) } return template.HTML(markup.Sanitize(renderedContent)) - } else if Type == "markup" { + } else if markupType == "markup" { if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil { log.Warn("Markdown2html: Invalid markup? %v", err) return template.HTML(html.EscapeString(raw)) @@ -641,7 +641,7 @@ func RenderMarkup(Type string, raw string) template.HTML { return template.HTML(markup.Sanitize(renderedContent)) } - return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, Type)) + return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, markupType)) } // Escape escapes a HTML string From 52124b74493ee2136da3086ffd35c131e32a7040 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 19:25:39 +0100 Subject: [PATCH 22/26] it was meant to be `raw` Co-Authored-By: silverwind <me@silverwind.io> --- modules/templates/helper.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 589bd0a343e6d..d751f64b0d26e 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -632,13 +632,13 @@ func RenderMarkup(markupType string, raw string) template.HTML { log.Warn("Markdown2html: Invalid markdown? %v", err) return template.HTML(html.EscapeString(raw)) } - return template.HTML(markup.Sanitize(renderedContent)) + return template.HTML(markup.Sanitize(raw)) } else if markupType == "markup" { if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil { log.Warn("Markdown2html: Invalid markup? %v", err) return template.HTML(html.EscapeString(raw)) } - return template.HTML(markup.Sanitize(renderedContent)) + return template.HTML(markup.Sanitize(raw)) } return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, markupType)) From 7c401a3bf1c2fdfabfd0696fdf4fe2dd5ee8b3b8 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 19:38:54 +0100 Subject: [PATCH 23/26] but not that much `raw` Co-Authored-By: silverwind <me@silverwind.io> --- modules/templates/helper.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index d751f64b0d26e..38eb5a6e89763 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -630,13 +630,13 @@ func RenderMarkup(markupType string, raw string) template.HTML { if markupType == "markdown" { if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { log.Warn("Markdown2html: Invalid markdown? %v", err) - return template.HTML(html.EscapeString(raw)) + return template.HTML(html.EscapeString(renderedContent)) } return template.HTML(markup.Sanitize(raw)) } else if markupType == "markup" { if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil { log.Warn("Markdown2html: Invalid markup? %v", err) - return template.HTML(html.EscapeString(raw)) + return template.HTML(html.EscapeString(renderedContent)) } return template.HTML(markup.Sanitize(raw)) } From 252cfe255661b1233daed28667c74f8d3c6d6b32 Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Thu, 16 Dec 2021 19:40:23 +0100 Subject: [PATCH 24/26] ok, now i think i got that right, if error, then raw, else rendered Co-Authored-By: silverwind <me@silverwind.io> --- modules/templates/helper.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 38eb5a6e89763..589bd0a343e6d 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -630,15 +630,15 @@ func RenderMarkup(markupType string, raw string) template.HTML { if markupType == "markdown" { if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { log.Warn("Markdown2html: Invalid markdown? %v", err) - return template.HTML(html.EscapeString(renderedContent)) + return template.HTML(html.EscapeString(raw)) } - return template.HTML(markup.Sanitize(raw)) + return template.HTML(markup.Sanitize(renderedContent)) } else if markupType == "markup" { if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil { log.Warn("Markdown2html: Invalid markup? %v", err) - return template.HTML(html.EscapeString(renderedContent)) + return template.HTML(html.EscapeString(raw)) } - return template.HTML(markup.Sanitize(raw)) + return template.HTML(markup.Sanitize(renderedContent)) } return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, markupType)) From 585dfe54a77547957e3a9fda6cbd5333dfeae68a Mon Sep 17 00:00:00 2001 From: Caellion <administrator@michalpol.pl> Date: Fri, 17 Dec 2021 15:11:32 +0100 Subject: [PATCH 25/26] Apply suggestions from code review Co-authored-by: silverwind <me@silverwind.io> --- modules/templates/helper.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 589bd0a343e6d..4dc8a9ca9830b 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -629,19 +629,19 @@ func RenderMarkup(markupType string, raw string) template.HTML { if markupType == "markdown" { if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil { - log.Warn("Markdown2html: Invalid markdown? %v", err) + log.Warn("RenderMarkup: Invalid markdown? %v", err) return template.HTML(html.EscapeString(raw)) } return template.HTML(markup.Sanitize(renderedContent)) } else if markupType == "markup" { if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil { - log.Warn("Markdown2html: Invalid markup? %v", err) + log.Warn("RenderMarkup: Invalid markup? %v", err) return template.HTML(html.EscapeString(raw)) } return template.HTML(markup.Sanitize(renderedContent)) } - return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, markupType)) + return template.HTML(fmt.Sprintf(`RenderMarkup: Unsupported markup type: %s`, markupType)) } // Escape escapes a HTML string From 182d358c7f192d304426ff0f70494db4254b1846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl> Date: Wed, 2 Feb 2022 08:29:27 +0100 Subject: [PATCH 26/26] gofumpt --- modules/templates/helper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index ebc219b29dfe0..511510c99aee3 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -625,7 +625,7 @@ func Str2html(raw string) template.HTML { } // RenderMarkup render markdown/markup specified in type to sanitized HTML -func RenderMarkup(markupType string, raw string) template.HTML { +func RenderMarkup(markupType, raw string) template.HTML { var err error var renderedContent string