summaryrefslogtreecommitdiffstats
path: root/modules/markup/markdown/markdown.go
diff options
context:
space:
mode:
authorsilverwind <me@silverwind.io>2021-11-16 09:16:05 +0100
committerGitHub <noreply@github.com>2021-11-16 16:16:05 +0800
commit23bd7b1211a80aa3b0dcb60ec4a1c0089ff28dd4 (patch)
tree38fafd772b6341daa87cb256ee10dfdcf5a87a48 /modules/markup/markdown/markdown.go
parentd789670894d09d7db96f4cd2dc3d57d2424eb753 (diff)
downloadgitea-23bd7b1211a80aa3b0dcb60ec4a1c0089ff28dd4.tar.gz
gitea-23bd7b1211a80aa3b0dcb60ec4a1c0089ff28dd4.zip
Add copy button to markdown code blocks (#17638)
* Add copy button to markdown code blocks Done mostly in JS because I think it's better not to try getting buttons past the markup sanitizer. * add svg module tests * fix sanitizer regexp * remove outdated comment * vertically center button in issue comments as well * add comment to css * fix undefined on view file line copy * combine animation less files * Update modules/markup/markdown/markdown.go Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> * add test for different sizes * add cloneNode and add tests for it * use deep clone * remove useless optional chaining * remove the svg node cache * unify clipboard copy string and i18n * remove unused var * remove unused localization * minor css tweaks to the button * comment tweak * remove useless attribute Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'modules/markup/markdown/markdown.go')
-rw-r--r--modules/markup/markdown/markdown.go17
1 files changed, 5 insertions, 12 deletions
diff --git a/modules/markup/markdown/markdown.go b/modules/markup/markdown/markdown.go
index 554ee0d4be..2574585573 100644
--- a/modules/markup/markdown/markdown.go
+++ b/modules/markup/markdown/markdown.go
@@ -107,25 +107,18 @@ func actualRender(ctx *markup.RenderContext, input io.Reader, output io.Writer)
languageStr := string(language)
- preClasses := []string{}
+ preClasses := []string{"code-block"}
if languageStr == "mermaid" {
preClasses = append(preClasses, "is-loading")
}
- if len(preClasses) > 0 {
- _, err := w.WriteString(`<pre class="` + strings.Join(preClasses, " ") + `">`)
- if err != nil {
- return
- }
- } else {
- _, err := w.WriteString(`<pre>`)
- if err != nil {
- return
- }
+ _, err := w.WriteString(`<pre class="` + strings.Join(preClasses, " ") + `">`)
+ if err != nil {
+ return
}
// include language-x class as part of commonmark spec
- _, err := w.WriteString(`<code class="chroma language-` + string(language) + `">`)
+ _, err = w.WriteString(`<code class="chroma language-` + string(language) + `">`)
if err != nil {
return
}