aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdro <tdro@noreply.example.com>2023-10-07 20:19:06 -0400
committertdro <tdro@noreply.example.com>2023-10-07 20:19:06 -0400
commit286b14e540b35dcb5ca30c507dd36c106d79d1a9 (patch)
tree0e41da3d3b76da9a6bd77fb7a71cd19c4c4ed97b
parent9fabe86ebb7f4b3d04ccd0aabf3a0a62e5088e8c (diff)
downloadcanory-286b14e540b35dcb5ca30c507dd36c106d79d1a9.tar.gz
canory-286b14e540b35dcb5ca30c507dd36c106d79d1a9.tar.bz2
canory-286b14e540b35dcb5ca30c507dd36c106d79d1a9.zip
themes/default/layouts/_default/_markup/render-codeblock: Support content editable
-rw-r--r--assets/css/default.css8
-rw-r--r--themes/default/layouts/_default/_markup/render-codeblock.html13
2 files changed, 17 insertions, 4 deletions
diff --git a/assets/css/default.css b/assets/css/default.css
index b9842bb..b24a0dc 100644
--- a/assets/css/default.css
+++ b/assets/css/default.css
@@ -188,7 +188,9 @@ li:target [role="doc-backlink"][href^="#fnref\:"],
color: var(--warning) !important;
}
-:hover:not(a):not(s):not(span):not(img):not(summary):not(nav):not(abbr):not(form):not(code):not(mark):not(td):not(nav):not(p):not(object):not(tab-bar) {
+:hover:not(a):not(s):not(span):not(img):not(summary):not(nav):not(abbr):not(
+ form
+ ):not(code):not(mark):not(td):not(nav):not(p):not(object):not(tab-bar) {
border-radius: 0.5rem;
}
@@ -1658,6 +1660,10 @@ code-block header language-label a:hover {
text-decoration: underline;
}
+code-content {
+ width: 100%;
+}
+
nav[data-type="pagination"] {
padding: 1rem 0;
display: flex;
diff --git a/themes/default/layouts/_default/_markup/render-codeblock.html b/themes/default/layouts/_default/_markup/render-codeblock.html
index 1321d8e..542c9a6 100644
--- a/themes/default/layouts/_default/_markup/render-codeblock.html
+++ b/themes/default/layouts/_default/_markup/render-codeblock.html
@@ -3,6 +3,11 @@
{{- $options := .Attributes.options | default "default=1" -}}
{{- $hash := print (truncate 3 "" (sha256 .Inner)) (truncate 3 "" (sha256 .Page.RelPermalink)) .Ordinal -}}
{{- $id := print "code-block:" $hash | safeURL -}}
+{{- $edit := "false" -}}
+
+{{- if not (in $options "linenos=1") -}}
+ {{- $edit = "true" -}}
+{{- end -}}
<code-block id="{{ $id }}" {{ if in (lower $options) "linenos" }}data-lines=""{{ end }}>
<header>
@@ -10,9 +15,11 @@
<a href="#{{ $id }}">{{ $type }}</a>
</language-label>
</header>
- {{ highlight .Inner $type (print $options ",lineAnchors=" "code-line:" $hash) }}
+ <code-content contenteditable="{{ $edit }}">
+ {{- highlight .Inner $type (print $options ",lineAnchors=" "code-line:" $hash) -}}
+ </code-content>
</code-block>
-{{ with $caption }}
+{{- with $caption -}}
<footer>{{ . | markdownify }}</footer>
-{{ end }}
+{{- end -}}