diff --git a/css/modules/_footnotes.scss b/css/modules/_footnotes.scss index 8284658..7a396cf 100644 --- a/css/modules/_footnotes.scss +++ b/css/modules/_footnotes.scss @@ -1,6 +1,7 @@ @page { @footnote { float: bottom; + max-height: 90%; } } @@ -11,11 +12,11 @@ .inline-note { float: footnote; - font-size: 9px; - line-height: calc(var(--baseline)*0.9); + font-size: 9.5px; + line-height: 12.8px; padding-left: var(--indent); position: relative; - font-weight: 100; + // font-weight: 100; &::marker{ display: none; diff --git a/css/modules/_layout.scss b/css/modules/_layout.scss index 278356f..a7e4a58 100644 --- a/css/modules/_layout.scss +++ b/css/modules/_layout.scss @@ -2,35 +2,37 @@ @page { size: 134mm 205mm; // size: 150mm 220mm; - margin-top: 67px; - margin-bottom: 10mm; + margin-top: 35px; + margin-bottom: 20mm; margin-left: 10mm; margin-right: 10mm; - bleed: 6mm; - marks: crop; + // bleed: 6mm; + // marks: crop; } @page:left { margin-left: 12mm; margin-right: 32mm; - @top-left { + @bottom-left { content: counter(page); + font-family: var(--font-title); + font-size: 11px; } - // @top-right { - // content: "Höchstpersönlichkeit"; - // font-variant-caps: small-caps; - // letter-spacing: 0.01em; - // } } @page:right { margin-left: 32mm; margin-right: 12mm; - @top-right { + @bottom-right { content: counter(page); + font-family: var(--font-title); + font-size: 11px; } - @top-left { + @bottom-left { content: "Höchstpersönlichkeit"; - font-variant-caps: small-caps; - letter-spacing: 0.05em; + font-family: var(--font-title); + font-size: 11px; + // font-style: italic; + // font-variant-caps: small-caps; + // letter-spacing: 0.05em; } } diff --git a/css/modules/_text.scss b/css/modules/_text.scss index 0fd8176..cd607b1 100644 --- a/css/modules/_text.scss +++ b/css/modules/_text.scss @@ -34,16 +34,16 @@ ol[type="1"]{ break-after: avoid; position: absolute; - left: calc(var(--indent)*-3); + left: calc(var(--indent)*-2); &::before{ content: attr(start); - font-family: var(--font-sans); + font-family: var(--font-sans-txt); // font-weight: 200; - font-size: 0.6rem; + font-size: 9px; color: #999; display: block; padding: 0px 2px; - border: 1px solid #efefef; + border: 1px solid #cfcfcf; min-width: 1.5ch; display: flex; @@ -57,7 +57,7 @@ ol[type="1"]{ .pagedjs_left_page{ ol[type="1"] { left: inherit; - right: calc(var(--indent)*-3); + right: calc(var(--indent)*-2); } } @@ -72,37 +72,45 @@ blockquote{ padding-left: var(--indent); margin-top: calc(var(--baseline)*1); margin-bottom: calc(var(--baseline)*1); + + font-family: var(--font-sans-txt); + font-size: var(--fs-small-q); + line-height: calc(var(--baseline)*0.9); + // font-weight: var(--w-title); + + + .inline-note::after{ + font-family: var(--font); + line-height: 0; + font-size: var(--font-size)!important; + } - p{ - font-style: italic; - em{ - font-style: normal; - } - } + // p{ + // font-style: italic; + // em{ + // font-style: normal; + // } + // } - u{ - font-variant: small-caps; - text-decoration: none; - } + // u{ + // font-variant: small-caps; + // text-decoration: none; + // } } - -blockquote + ol + p{ text-indent: 0px; } +.these + ol + p, +blockquote + ol + p{ + text-indent: 0px; +} .these{ - &::before{ - content: "---" - } - &::after{ - content: "---"; - } - &::before, &::after{ - display: flex; - // width: 3ch; - justify-content: center; - } + // color: red; + + margin-bottom: var(--baseline); + padding-left: var(--indent); + border-left: 4px solid #efefef; } \ No newline at end of file diff --git a/css/modules/_titles-counters.scss b/css/modules/_titles-counters.scss deleted file mode 100644 index efd6adc..0000000 --- a/css/modules/_titles-counters.scss +++ /dev/null @@ -1,50 +0,0 @@ -#section__content{ - - counter-reset: h1; - - h1{ - counter-increment: h1 1; - counter-reset: h2; - } - - h1::before{ - content: counter(h1, upper-alpha); - - } - - h2{ - counter-increment: h2 1; - counter-reset: h3; - } - - h2::before{ - content: counter(h2, upper-roman); - } - - h3{ - counter-increment: h3 1; - counter-reset: h4; - } - - h3::before{ - content: counter(h3); - } - - h4{ - counter-increment: h4 1; - counter-reset: h5; - } - - h4::before{ - content: counter(h4, lower-alpha) ". "; - } - - h5{ - counter-increment: h5 1; - counter-reset: h6; - } - - h5::before{ - content: counter(h5, lower-alpha) counter(h5, lower-alpha) ". "; - } - } \ No newline at end of file diff --git a/css/modules/_titles.scss b/css/modules/_titles.scss index b26db1e..db4cfaa 100644 --- a/css/modules/_titles.scss +++ b/css/modules/_titles.scss @@ -2,6 +2,20 @@ #section__content{ + h1, h2, h3 { + text-wrap: balance; + &::before{ + content: attr(data-counter); + } + } + + h4, h5, h6{ + text-wrap: balance; + &::before{ + content: attr(data-counter) ". "; + } + } + h1, h2, h3 { break-inside: avoid; break-after: avoid; @@ -16,6 +30,20 @@ } } + h4, h5, h6 { + break-inside: avoid; + break-after: avoid; + + /* hack for avoiding break-after */ + margin-bottom: calc(var(--baseline)*-2); + &::after{ + content: ''; + display: block; + height: calc(var(--baseline)*2); + // background-color: rgba(255, 255, 0, 0.595); + } + } + h1 + ol + p, h2 + ol + p, @@ -28,8 +56,10 @@ h1{ font-family: var(--font-title); - font-weight: normal; - font-size: 1.5rem; + text-transform: uppercase; + font-weight: var(--w-title); + + font-size: 1.3rem; line-height: calc(var(--baseline)*1.4); text-align: center; position: relative; @@ -53,12 +83,14 @@ h2{ font-family: var(--font-title); - font-weight: normal; - font-size: 1.3rem; + text-transform: uppercase; + font-weight: var(--w-title); + + font-size: 1.1rem; line-height: calc(var(--baseline)*1.2); text-align: right; - padding-left: 3ch; + padding-left: 4ch; position: relative; margin-top: calc(var(--baseline)*1 + 9px); padding-bottom: calc(var(--baseline)*1); @@ -70,7 +102,7 @@ h3{ font-family: var(--font-sans); - font-weight: normal; + font-weight: var(--w-title); font-size: 1rem; line-height: calc(var(--baseline)*1); @@ -90,7 +122,7 @@ h4{ font-family: var(--font-sans); - font-weight: normal; + font-weight: var(--w-title); font-size: 0.8rem; line-height: calc(var(--baseline)*1); @@ -98,20 +130,19 @@ padding-left: 3ch; position: relative; margin-top: calc(var(--baseline)*0.5); - margin-bottom: calc(var(--baseline)*0.5); - font-weight: 500; + padding: calc(var(--baseline)*0.5); } h5{ font-family: var(--font-sans); - font-weight: normal; + font-weight: var(--w-title); font-size: 0.7rem; line-height: calc(var(--baseline)*1); position: relative; margin-top: calc(var(--baseline)*0.75); - margin-bottom: calc(var(--baseline)*0.25); + padding-bottom: calc(var(--baseline)*0.25); } diff --git a/css/modules/_var.scss b/css/modules/_var.scss index 3b7e71a..0083670 100644 --- a/css/modules/_var.scss +++ b/css/modules/_var.scss @@ -1,10 +1,14 @@ :root{ --font: 'Edgar', sans-serif; - --font-title: "Heliotrope 3 Caps", sans-serif; - --font-sans: "Heliotrope 4", sans-serif; + --font-title: "Moulin", sans-serif; + --w-title: normal; + // --font-sans: "Heliotrope 4", sans-serif; + --font-sans: "Moulin", sans-serif; + // --font-sans-txt: 'Akkurat Std'; + --font-sans-txt: 'Moulin', sans-serif; --font-size: 12px; + --fs-small-q: 11px; --baseline: 16px; - --indent: 26px; } diff --git a/css/style.css b/css/style.css index f500709..08fb957 100644 --- a/css/style.css +++ b/css/style.css @@ -1,9 +1,12 @@ @charset "UTF-8"; :root { --font: "Edgar", sans-serif; - --font-title: "Heliotrope 3 Caps", sans-serif; - --font-sans: "Heliotrope 4", sans-serif; + --font-title: "Moulin", sans-serif; + --w-title: normal; + --font-sans: "Moulin", sans-serif; + --font-sans-txt: "Moulin", sans-serif; --font-size: 12px; + --fs-small-q: 11px; --baseline: 16px; --indent: 26px; } @@ -31,30 +34,32 @@ body { @media print { @page { size: 134mm 205mm; - margin-top: 67px; - margin-bottom: 10mm; + margin-top: 35px; + margin-bottom: 20mm; margin-left: 10mm; margin-right: 10mm; - bleed: 6mm; - marks: crop; } @page :left { margin-left: 12mm; margin-right: 32mm; - @top-left { + @bottom-left { content: counter(page); + font-family: var(--font-title); + font-size: 11px; } } @page :right { margin-left: 32mm; margin-right: 12mm; - @top-right { + @bottom-right { content: counter(page); + font-family: var(--font-title); + font-size: 11px; } - @top-left { + @bottom-left { content: "Höchstpersönlichkeit"; - font-variant-caps: small-caps; - letter-spacing: 0.05em; + font-family: var(--font-title); + font-size: 11px; } } @page :first { @@ -198,16 +203,16 @@ ol[type="1"] { -moz-column-break-after: avoid; break-after: avoid; position: absolute; - left: calc(var(--indent) * -3); + left: calc(var(--indent) * -2); } ol[type="1"]::before { content: attr(start); - font-family: var(--font-sans); - font-size: 0.6rem; + font-family: var(--font-sans-txt); + font-size: 9px; color: #999; display: block; padding: 0px 2px; - border: 1px solid #efefef; + border: 1px solid #cfcfcf; min-width: 1.5ch; display: flex; justify-content: center; @@ -215,7 +220,7 @@ ol[type="1"]::before { .pagedjs_left_page ol[type="1"] { left: inherit; - right: calc(var(--indent) * -3); + right: calc(var(--indent) * -2); } p + p, @@ -227,72 +232,39 @@ blockquote { padding-left: var(--indent); margin-top: calc(var(--baseline) * 1); margin-bottom: calc(var(--baseline) * 1); + font-family: var(--font-sans-txt); + font-size: var(--fs-small-q); + line-height: calc(var(--baseline) * 0.9); } -blockquote p { - font-style: italic; -} -blockquote p em { - font-style: normal; -} -blockquote u { - font-variant: small-caps; - text-decoration: none; +blockquote .inline-note::after { + font-family: var(--font); + line-height: 0; + font-size: var(--font-size) !important; } +.these + ol + p, blockquote + ol + p { text-indent: 0px; } -.these::before { - content: "---"; -} -.these::after { - content: "---"; -} -.these::before, .these::after { - display: flex; - justify-content: center; +.these { + margin-bottom: var(--baseline); + padding-left: var(--indent); + border-left: 4px solid #efefef; } -#section__content { - counter-reset: h1; +#section__content h1, #section__content h2, #section__content h3 { + text-wrap: balance; } -#section__content h1 { - counter-increment: h1 1; - counter-reset: h2; +#section__content h1::before, #section__content h2::before, #section__content h3::before { + content: attr(data-counter); } -#section__content h1::before { - content: counter(h1, upper-alpha); +#section__content h4, #section__content h5, #section__content h6 { + text-wrap: balance; } -#section__content h2 { - counter-increment: h2 1; - counter-reset: h3; +#section__content h4::before, #section__content h5::before, #section__content h6::before { + content: attr(data-counter) ". "; } -#section__content h2::before { - content: counter(h2, upper-roman); -} -#section__content h3 { - counter-increment: h3 1; - counter-reset: h4; -} -#section__content h3::before { - content: counter(h3); -} -#section__content h4 { - counter-increment: h4 1; - counter-reset: h5; -} -#section__content h4::before { - content: counter(h4, lower-alpha) ". "; -} -#section__content h5 { - counter-increment: h5 1; - counter-reset: h6; -} -#section__content h5::before { - content: counter(h5, lower-alpha) counter(h5, lower-alpha) ". "; -} - #section__content h1, #section__content h2, #section__content h3 { -moz-column-break-inside: avoid; break-inside: avoid; @@ -306,6 +278,19 @@ blockquote + ol + p { display: block; height: calc(var(--baseline) * 3); } +#section__content h4, #section__content h5, #section__content h6 { + -moz-column-break-inside: avoid; + break-inside: avoid; + -moz-column-break-after: avoid; + break-after: avoid; + /* hack for avoiding break-after */ + margin-bottom: calc(var(--baseline) * -2); +} +#section__content h4::after, #section__content h5::after, #section__content h6::after { + content: ""; + display: block; + height: calc(var(--baseline) * 2); +} #section__content h1 + ol + p, #section__content h2 + ol + p, #section__content h3 + ol + p, @@ -316,8 +301,9 @@ blockquote + ol + p { } #section__content h1 { font-family: var(--font-title); - font-weight: normal; - font-size: 1.5rem; + text-transform: uppercase; + font-weight: var(--w-title); + font-size: 1.3rem; line-height: calc(var(--baseline) * 1.4); text-align: center; position: relative; @@ -335,11 +321,12 @@ blockquote + ol + p { } #section__content h2 { font-family: var(--font-title); - font-weight: normal; - font-size: 1.3rem; + text-transform: uppercase; + font-weight: var(--w-title); + font-size: 1.1rem; line-height: calc(var(--baseline) * 1.2); text-align: right; - padding-left: 3ch; + padding-left: 4ch; position: relative; margin-top: calc(var(--baseline) * 1 + 9px); padding-bottom: calc(var(--baseline) * 1); @@ -350,7 +337,7 @@ blockquote + ol + p { } #section__content h3 { font-family: var(--font-sans); - font-weight: normal; + font-weight: var(--w-title); font-size: 1rem; line-height: calc(var(--baseline) * 1); text-align: right; @@ -365,24 +352,23 @@ blockquote + ol + p { } #section__content h4 { font-family: var(--font-sans); - font-weight: normal; + font-weight: var(--w-title); font-size: 0.8rem; line-height: calc(var(--baseline) * 1); text-align: right; padding-left: 3ch; position: relative; margin-top: calc(var(--baseline) * 0.5); - margin-bottom: calc(var(--baseline) * 0.5); - font-weight: 500; + padding: calc(var(--baseline) * 0.5); } #section__content h5 { font-family: var(--font-sans); - font-weight: normal; + font-weight: var(--w-title); font-size: 0.7rem; line-height: calc(var(--baseline) * 1); position: relative; margin-top: calc(var(--baseline) * 0.75); - margin-bottom: calc(var(--baseline) * 0.25); + padding-bottom: calc(var(--baseline) * 0.25); } [data-id=section__content][data-split-from] > :first-child { @@ -392,6 +378,7 @@ blockquote + ol + p { @page { @footnote { float: bottom; + max-height: 90%; } } .pagedjs_footnote_content { @@ -400,11 +387,10 @@ blockquote + ol + p { .inline-note { float: footnote; - font-size: 9px; - line-height: calc(var(--baseline) * 0.9); + font-size: 9.5px; + line-height: 12.8px; padding-left: var(--indent); position: relative; - font-weight: 100; } .inline-note::marker { display: none; diff --git a/css/style.css.map b/css/style.css.map index fc0a9af..b8062fc 100644 --- a/css/style.css.map +++ b/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.css","modules/_var.scss","modules/_init.scss","modules/_layout.scss","modules/_text.scss","modules/_titles-counters.scss","modules/_titles.scss","modules/_footnotes.scss","modules/_list-of-abbr.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["style.css","modules/_var.scss","modules/_init.scss","modules/_layout.scss","modules/_text.scss","modules/_titles.scss","modules/_footnotes.scss","modules/_list-of-abbr.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/css/style.scss b/css/style.scss index d81f558..59fbe83 100644 --- a/css/style.scss +++ b/css/style.scss @@ -3,7 +3,6 @@ @import 'modules/init'; @import 'modules/layout'; @import 'modules/text'; -@import 'modules/titles-counters'; @import 'modules/titles'; @import 'modules/footnotes'; @import 'modules/list-of-abbr'; \ No newline at end of file diff --git a/csspageweaver/manifest.json b/csspageweaver/manifest.json index 7aa95e6..c5d0eff 100644 --- a/csspageweaver/manifest.json +++ b/csspageweaver/manifest.json @@ -11,8 +11,7 @@ } }, "hook": [ - "/js/custom-handler-example-1.js", - "/js/custom-handler-example-2.js" + "/js/counters.js" ] } diff --git a/index.html b/index.html index fafa53c..c1688ff 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,12 @@ - + + + + + + @@ -3596,6 +3601,7 @@ Bürgerlichen Gesetzbuch
+

These 4. Das 19. Jahrhundert wurde zur Wiege der noch heute geltenden Voraussetzung einer Höchstpersönlichkeit der Verfügung von Todes wegen, zunächst vermittelt über das gemeine Recht, @@ -3662,6 +3668,7 @@ Auflage beschlossen hatte, bestimmte er mit § 2151 BGB und damit in gewisser Spannung zum Prinzip des Vonselbsterwerbs eine Ausnahme von der Selbständigkeit und Bestimmtheit der Verfügung auch für das Vermächtnis.

+
@@ -7972,6 +7979,7 @@ Geschichte.

id="vom-umlesen-der-höchstpersönlichkeit-im-deutschen-bürgerlichen-gesetzbuch"> Vom Umlesen der Höchstpersönlichkeit im deutschen Bürgerlichen Gesetzbuch +
@@ -8034,6 +8042,7 @@ auseinanderzulegen und neu zu begründen. Je nach gefundener Begründung gelangte man so zu dessen Begründet‑ oder teilweisen Unbegründetheit. Am Ausschluss einer gewillkürten Stellvertretung wollte man jedoch nach allen Ansichten festhalten.

+
@@ -11355,6 +11364,7 @@ schweizerische Weg und deutsche Rechtsimplantate
+

These 16. Der Schweizer Gesetzgeber schloss sich nicht der gesetzgeberischen Konzeption des deutschen Bürgerlichen Gesetzbuchs an. Anders als der deutsche Gesetzgeber, bestimmte der @@ -11432,6 +11442,7 @@ eingefügten Rechtsimplantate abzustossen. Versucht wird dies mit wiederum neuen Rechtsimplantaten, aus dem deutschen Recht. Die gesetzgeberische Konzeption hat man damit weit hinter sich gelassen. Für die Praxis bedeutet dies eine erhebliche Rechtsunsicherheit.

+
@@ -13172,6 +13183,7 @@ role="doc-noteref">1552

überweisen. Mit der vorliegenden Rechtsgeschichte ist ihr hoffentlich der Grund bereitet.

Zusammenfassung in Thesen

+
@@ -13416,6 +13428,7 @@ eingefügten Rechtsimplantate abzustossen. Versucht wird dies mit wiederum neuen Rechtsimplantaten, aus dem deutschen Recht. Die gesetzgeberische Konzeption hat man damit weit hinter sich gelassen. Für die Praxis bedeutet dies eine erhebliche Rechtsunsicherheit.

+

Quellen- und Literaturverzeichnis

Adomeit, Klaus, Heteronome diff --git a/js/counters.js b/js/counters.js new file mode 100644 index 0000000..967125e --- /dev/null +++ b/js/counters.js @@ -0,0 +1,94 @@ +import { Handler } from '/csspageweaver/lib/paged.esm.js'; + +export default class counters extends Handler { + constructor(chunker, polisher, caller) { + super(chunker, polisher, caller); + } + + // Convertir en upper-alpha (A, B, C...) + toUpperAlpha(num) { + return String.fromCharCode(64 + num); + } + + // Convertir en lower-alpha (a, b, c...) + toLowerAlpha(num) { + return String.fromCharCode(96 + num); + } + + // Convertir en upper-roman (I, II, III...) + toUpperRoman(num) { + const romanNumerals = [ + ['M', 1000], ['CM', 900], ['D', 500], ['CD', 400], + ['C', 100], ['XC', 90], ['L', 50], ['XL', 40], + ['X', 10], ['IX', 9], ['V', 5], ['IV', 4], ['I', 1] + ]; + let result = ''; + for (const [letter, value] of romanNumerals) { + while (num >= value) { + result += letter; + num -= value; + } + } + return result; + } + + beforeParsed(content) { + const sectionContent = content.querySelector('#section__content'); + if (!sectionContent) return; + + // Compteurs + let h1Count = 0; + let h2Count = 0; + let h3Count = 0; + let h4Count = 0; + let h5Count = 0; + let h6Count = 0; + + // Parcourir tous les éléments dans l'ordre du document + const allElements = sectionContent.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + allElements.forEach(el => { + const tagName = el.tagName.toLowerCase(); + + switch (tagName) { + case 'h1': + h1Count++; + h2Count = 0; // reset h2 + el.setAttribute('data-counter', this.toUpperAlpha(h1Count)); + break; + + case 'h2': + h2Count++; + h3Count = 0; // reset h3 + el.setAttribute('data-counter', this.toUpperRoman(h2Count)); + break; + + case 'h3': + h3Count++; + h4Count = 0; // reset h4 + el.setAttribute('data-counter', h3Count.toString()); + break; + + case 'h4': + h4Count++; + h5Count = 0; // reset h5 + el.setAttribute('data-counter', this.toLowerAlpha(h4Count)); + break; + + case 'h5': + h5Count++; + h6Count = 0; // reset h6 + const letter = this.toLowerAlpha(h5Count); + el.setAttribute('data-counter', letter + letter); + break; + + case 'h6': + h6Count++; + el.setAttribute('data-counter', '(' + h6Count + ')'); + break; + } + }); + } +} + + diff --git a/js/custom-handler-example-1.js b/js/custom-handler-example-1.js deleted file mode 100644 index 2b01603..0000000 --- a/js/custom-handler-example-1.js +++ /dev/null @@ -1,21 +0,0 @@ -import { Handler } from '/csspageweaver/lib/paged.esm.js'; - -export default class myCustomHandler1 extends Handler { - constructor(chunker, polisher, caller) { - super(chunker, polisher, caller); - } - - beforeParsed(content){ - // let h2 = content.querySelectorAll('h2'); - // h2.forEach( h2 => { - // h2.insertAdjacentHTML("afterbegin", '🍄'); - // }); - } - - afterParsed(parsed) { - console.info("%c [CSS Page Weaver] Example custom handler 1 with afterParsed hook (see js/custom-handler-example-1.js", 'color: green;'); - } - -} - - diff --git a/js/custom-handler-example-2.js b/js/custom-handler-example-2.js deleted file mode 100644 index 5111051..0000000 --- a/js/custom-handler-example-2.js +++ /dev/null @@ -1,16 +0,0 @@ -import { Handler } from '/csspageweaver/lib/paged.esm.js'; - - -export default class myCustomHandler2 extends Handler { - constructor(chunker, polisher, caller) { - super(chunker, polisher, caller); - } - - - afterPageLayout(pageElement, page, breakToken) { - if(pageElement.id == "page-1"){ - console.info("%c [CSS Page Weaver] Example custom handler 2 with afterPageLayout hook (see js/custom-handler-example-2.js", 'color: green;') - } - } -} - diff --git a/lua/add-style-as-class.lua b/lua/add-style-as-class.lua deleted file mode 100644 index c277278..0000000 --- a/lua/add-style-as-class.lua +++ /dev/null @@ -1,11 +0,0 @@ -function Span(el) - local cs = el.attributes['custom-style'] - if cs then - local class = cs - :lower() - :gsub("%s+", "-") - :gsub("[^a-z0-9%-]", "") - el.classes:insert("style-" .. class) - end - return el -end diff --git a/lua/blockquote.lua b/lua/blockquote.lua deleted file mode 100644 index ce8c43a..0000000 --- a/lua/blockquote.lua +++ /dev/null @@ -1,6 +0,0 @@ -function Para(el) - if el.style then - io.stderr:write("STYLE: " .. el.style .. "\n") - end - return el -end \ No newline at end of file