Org html: allow src blocks to start collapsed

This commit is contained in:
TEC 2020-07-19 13:50:22 +08:00
parent 6decee3e1b
commit 6933f8db28
1 changed files with 13 additions and 6 deletions

View File

@ -4668,7 +4668,7 @@ somewhat spiffy.
(name (plist-get properties :name))
(ref (org-export-get-reference src-block info)))
(format
"<details id='%s' class='code' open><summary%s>%s</summary>
"<details id='%s' class='code'%s><summary%s>%s</summary>
<div class='gutter'>
<a href='#%s'>#</a>
<button title='Copy to clipboard' onclick='copyPreToClipdord(this)'>⎘</button>\
@ -4676,6 +4676,9 @@ somewhat spiffy.
%s
</details>"
ref
(if (member (org-export-read-attribute :attr_html src-block :collapsed)
'("y" "yes" "t" "true"))
"" " open")
(if name " class='named'" "")
(if (not name) (concat "<span class='lang'>" lang "</span>")
(format "<span class='name'>%s</span><span class='lang'>%s</span>" name lang))
@ -4776,13 +4779,17 @@ somewhat spiffy.
(after! org
(defun org-html-block-collapsable (orig-fn block contents info)
"Wrap the usual block in a <details>"
(concat
"<details class='code' open><summary></summary>
(format
"<details class='code'%s><summary></summary>
<div class='gutter'>\
<button title='Copy to clipboard' onclick='copyPreToClipdord(this)'>⎘</button>\
</div>\n"
(funcall orig-fn block contents info)
"</details>"))
</div>
%s\n
</details>"
(if (member (org-export-read-attribute :attr_html block :collapsed)
'("y" "yes" "t" "true"))
"" " open")
(funcall orig-fn block contents info)))
(advice-add 'org-html-example-block :around #'org-html-block-collapsable)
(advice-add 'org-html-fixed-width :around #'org-html-block-collapsable)