From bb20eddb213b7514053d8dfb35d9e30639cd89cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= <hugo@lysator.liu.se> Date: Mon, 26 Jun 2023 21:08:05 +0200 Subject: [PATCH] Switch to scss. --- Makefile | 9 +- static-src/_breadcrumb.scss | 148 ++++++++++++++++++ static-src/_breadcrumb.scss.map | 7 + static-src/_color-headers.scss | 29 ++++ .../_highlight.scss | 0 static-src/_number-headers.scss | 21 +++ static/style2.css => static-src/_tabset.scss | 24 +-- static/style.css => static-src/style.scss | 42 ++--- static/.gitignore | 1 + static/hl1.css | 40 ----- templates/base.html | 2 - 11 files changed, 248 insertions(+), 75 deletions(-) create mode 100644 static-src/_breadcrumb.scss create mode 100644 static-src/_breadcrumb.scss.map create mode 100644 static-src/_color-headers.scss rename static/highlight.css => static-src/_highlight.scss (100%) create mode 100644 static-src/_number-headers.scss rename static/style2.css => static-src/_tabset.scss (64%) rename static/style.css => static-src/style.scss (75%) create mode 100644 static/.gitignore delete mode 100644 static/hl1.css diff --git a/Makefile b/Makefile index 22f271c..3000cef 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,10 @@ DOC_OUTPUT = doc.rendered OUTPUT_FLAGS = --path-base /code/muppet-strings/output \ --env ~/puppet/generated-environments/production/modules/ -output: - python -m muppet $(OUTPUT_FLAGS) +SCSS = sass + +output: static/style.css + python -m muppet $(OUTPUT_FLAGS) check_style: flake8 muppet @@ -34,3 +36,6 @@ documentation: $(DOC_OUTPUT)/index.html clean: -rm -r output + +static/%.css: static-src/style.scss $(wildcard static-src/_*.scss) + $(SCSS) --sourcemap=auto -Istatic-src $< $@ diff --git a/static-src/_breadcrumb.scss b/static-src/_breadcrumb.scss new file mode 100644 index 0000000..63534d6 --- /dev/null +++ b/static-src/_breadcrumb.scss @@ -0,0 +1,148 @@ +@charset "UTF-8"; +/* -------------------------------------------------- */ +.parse-error { + background: red; + color: yellow; } + +/* -------------------------------------------------- */ +h2 { + position: sticky; + top: 0; + background: white; + display: block; + z-index: 100; } + +/* -------------------------------------------------- */ +.documentation { + display: none; } + +/* +.var { + position: relative; +} + +.var .documentation { + display: none; + position: absolute; + top: 2ch; + left: 0; + border: 1px solid black; + background: lightblue; + z-index: 10; +} + +.var:hover .documentation { + display: block; +} +*/ +.noscript { + display: none; } + +code.json { + font-size: 80%; } + +:target { + background-color: yellow; } + +.overview-list p { + display: inline; } + +.example { + background: lightgray; + padding: 1em; + border-radius: 1ex; } + +.comment { + border-left: 1ex; + border-left-style: dotted; + display: inline-block; + padding-left: 1em; + font-family: sans; + font-size: 80%; } + .comment p:first-child { + margin-top: 0; } + .comment p:last-child { + margin-bottom: 0; } + +/* -------------------------------------------------- */ +.breadcrumb { + padding: 0; } + .breadcrumb li { + display: inline-block; + padding: 0; } + .breadcrumb li:not(:first-child)::before { + content: "»"; + padding: 1ex; } + +/* +.case { color: ; } +.splat { color: ; } +.array { color: ; } +.parse-error { color: ; } +.parameter { color: ; } +.string { color: ; } +.regex { color: ; } +.invoke { color: ; } +.default { color: ; } +.call { color: ; } +.qr { color: ; } +.lambda { color: ; } +.number { color: ; } +.regex-body { color: ; } +.call-method { color: ; } +*/ +.literal { + color: green; } + +.keyword { + color: orange; } + +.type { + color: darkgreen; } + +.qn { + color: darkgreen; } + +.var { + color: blue; } + +.str-var { + color: blue; } + +.name { + color: red; } + +.string { + color: olive; } + +.comment { + color: grey; } + +/* Style for tabgroups */ +.tabs { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto 1fr; + border: 1px solid red; } + .tabs menu { + display: flex; + flex-direction: row; + padding: 0; + margin: 0; } + .tabs menu li { + display: block; } + +/* +.tabs menu li { + display: block; + background-color: lightgray; + border: 1px solid gray; +} +*/ +.tab { + display: none; + border: 1px solid green; } + .tab.selected { + display: block !important; } + +/*# sourceMappingURL=_breadcrumb.scss.map */ diff --git a/static-src/_breadcrumb.scss.map b/static-src/_breadcrumb.scss.map new file mode 100644 index 0000000..5770a45 --- /dev/null +++ b/static-src/_breadcrumb.scss.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": ";AACA,wDAAwD;AAExD,YAAa;EACZ,UAAU,EAAE,GAAG;EACf,KAAK,EAAE,MAAM;;AAGd,wDAAwD;AAExD,EAAG;EACF,QAAQ,EAAE,MAAM;EAChB,GAAG,EAAE,CAAC;EACN,UAAU,EAAE,KAAK;EACjB,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,GAAG;;AAGb,wDAAwD;AAExD,cAAe;EACd,OAAO,EAAE,IAAI;;AAGd;;;;;;;;;;;;;;;;;;EAkBE;AAEF,SAAU;EACT,OAAO,EAAE,IAAI;;AAGd,SAAU;EACT,SAAS,EAAE,GAAG;;AAGf,OAAQ;EACP,gBAAgB,EAAE,MAAM;;AAGzB,gBAAiB;EAChB,OAAO,EAAE,MAAM;;AAGhB,QAAS;EACR,UAAU,EAAE,SAAS;EACrB,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,GAAG;;AAGnB,QAAS;EACR,WAAW,EAAE,GAAG;EAChB,iBAAiB,EAAE,MAAM;EACzB,OAAO,EAAE,YAAY;EACrB,YAAY,EAAE,GAAG;EACjB,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,GAAG;EAEd,sBAAc;IACb,UAAU,EAAE,CAAC;EAGd,qBAAa;IACZ,aAAa,EAAE,CAAC;;AAIlB,wDAAwD;ACnFxD,WAAY;EACX,OAAO,EAAE,CAAC;EAEV,cAAG;IACF,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,CAAC;EAGX,wCAA6B;IAC5B,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;;ACVd;;;;;;;;;;;;;;;;EAgBE;AAEF,QAAS;EAAE,KAAK,EAAE,KAAK;;AAKvB,QAAS;EAAE,KAAK,EAAE,MAAM;;AAWxB,KAAM;EAAE,KAAK,EAAE,SAAS;;AACxB,GAAI;EAAE,KAAK,EAAE,SAAS;;AAEtB,IAAK;EAAE,KAAK,EAAE,IAAI;;AAClB,QAAS;EAAE,KAAK,EAAE,IAAI;;AAEtB,KAAM;EAAE,KAAK,EAAE,GAAG;;AAElB,OAAQ;EACP,KAAK,EAAE,KAAK;;AAGb,QAAS;EACR,KAAK,EAAE,IAAI;;AC/CZ,yBAAyB;AACzB,KAAM;EACL,OAAO,EAAE,IAAI;EACb,qBAAqB,EAAE,GAAG;EAC1B,kBAAkB,EAAE,QAAQ;EAC5B,MAAM,EAAE,aAAa;EAErB,UAAK;IACJ,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,GAAG;IACnB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;EAGV,aAAQ;IACP,OAAO,EAAE,KAAK;;AAKhB;;;;;;EAME;AAEF,IAAK;EACJ,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,eAAe;EAEvB,aAAW;IACV,OAAO,EAAE,gBAAgB;;ACjC3B,EAAG;EAAE,KAAK,EAAE,OAAO;;AACnB,EAAG;EAAE,KAAK,EAAE,OAAO;;AACnB,EAAG;EAAE,KAAK,EAAE,OAAO;;AACnB,EAAG;EAAE,KAAK,EAAE,OAAO;;AACnB,EAAG;EAAE,KAAK,EAAE,OAAO;;AACnB,EAAG;EAAE,KAAK,EAAE,OAAO", +"sources": ["style.scss","_breadcrumb.scss","_highlight.scss","_tabset.scss","_color-headers.scss"], +"names": [], +"file": "_breadcrumb.scss" +} diff --git a/static-src/_color-headers.scss b/static-src/_color-headers.scss new file mode 100644 index 0000000..d256213 --- /dev/null +++ b/static-src/_color-headers.scss @@ -0,0 +1,29 @@ +h2, h3, h4, h5, h6 { + border-left: .5ch solid; + padding-left: .5ch; +} + +h2 { + margin-left: calc(.5ch * 0); + border-color: dodgerblue; +} + +h3 { + margin-left: calc(.5ch * 1); + border-color: purple; +} + +h4 { + margin-left: calc(.5ch * 2); + border-color: green; +} + +h5 { + margin-left: calc(.5ch * 3); + border-color: orange; +} + +h6 { + margin-left: calc(.5ch * 4); + border-color: red; +} diff --git a/static/highlight.css b/static-src/_highlight.scss similarity index 100% rename from static/highlight.css rename to static-src/_highlight.scss diff --git a/static-src/_number-headers.scss b/static-src/_number-headers.scss new file mode 100644 index 0000000..1d64fd4 --- /dev/null +++ b/static-src/_number-headers.scss @@ -0,0 +1,21 @@ + +/* Numbered Headings */ +body { + counter-reset: h1, h2, h3, h4, h5, h6; +} + +h1 { counter-increment: h1; counter-reset: h2; } +h2 { counter-increment: h2; counter-reset: h3; } +h3 { counter-increment: h3; counter-reset: h4; } +h4 { counter-increment: h4; counter-reset: h5; } +h5 { counter-increment: h5; counter-reset: h6; } +h6 { counter-increment: h6; } + +h1::before { content: counter(h1) ". "; } +h2::before { content: counter(h1) "." counter(h2) ". "; } +h3::before { content: counter(h1) "." counter(h2) "." counter(h3) ". "; } +h4::before { content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) ". "; } +h5::before { content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". "; } +h6::before { content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) ". "; } + + diff --git a/static/style2.css b/static-src/_tabset.scss similarity index 64% rename from static/style2.css rename to static-src/_tabset.scss index 163bfdc..b7251a2 100644 --- a/static/style2.css +++ b/static-src/_tabset.scss @@ -4,17 +4,17 @@ grid-template-columns: 1fr; grid-template-rows: auto 1fr; border: 1px solid red; -} -.tabs menu { - display: flex; - flex-direction: row; - padding: 0; - margin: 0; -} + menu { + display: flex; + flex-direction: row; + padding: 0; + margin: 0; + } -.tabs menu li { - display: block; + menu li { + display: block; + } } @@ -29,8 +29,8 @@ .tab { display: none; border: 1px solid green; -} -.tab.selected { - display: block !important; + &.selected { + display: block !important; + } } diff --git a/static/style.css b/static-src/style.scss similarity index 75% rename from static/style.css rename to static-src/style.scss index 7ab8ae0..b5c4407 100644 --- a/static/style.css +++ b/static-src/style.scss @@ -8,14 +8,24 @@ /* -------------------------------------------------- */ -h2 { +$header-height: 2em; + +h2, h3 { position: sticky; - top: 0; background: white; display: block; z-index: 100; } +h2 { + top: 0; + height: calc($header-height + 1em) +} + +h3 { + top: $header-height; +} + /* -------------------------------------------------- */ .documentation { @@ -71,26 +81,20 @@ code.json { padding-left: 1em; font-family: sans; font-size: 80%; -} -.comment p:first-child { - margin-top: 0; -} + p:first-child { + margin-top: 0; + } -.comment p:last-child { - margin-bottom: 0; + p:last-child { + margin-bottom: 0; + } } -.breadcrumb { - padding: 0; -} +/* -------------------------------------------------- */ -.breadcrumb li { - display: inline-block; - padding: 0; -} +@import "breadcrumb"; +@import "highlight"; +@import "tabset"; -.breadcrumb li:not(:first-child)::before { - content: "»"; - padding: 1ex; -} +@import "color-headers"; diff --git a/static/.gitignore b/static/.gitignore new file mode 100644 index 0000000..b3a5267 --- /dev/null +++ b/static/.gitignore @@ -0,0 +1 @@ +*.css diff --git a/static/hl1.css b/static/hl1.css deleted file mode 100644 index 29b8111..0000000 --- a/static/hl1.css +++ /dev/null @@ -1,40 +0,0 @@ -.qn { - color: green; -} - -.var { - color: blue; -} - -.define { - color: orange; -} - -.name { - color: red; -} - -.string { - color: olive; -} - -.str-var { - color: pink; -} - -.qr { - color: darkgreen; -} - -.compound-type { - color: lightblue; -} - -.undef { - color: lightgray; -} - -.number { - color: red; -} - diff --git a/templates/base.html b/templates/base.html index 0244a82..c218717 100644 --- a/templates/base.html +++ b/templates/base.html @@ -18,8 +18,6 @@ Parameters: <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link type="text/css" rel="stylesheet" href="{{ path_base }}/static/style.css"/> - <link type="text/css" rel="stylesheet" href="{{ path_base }}/static/highlight.css"/> - <link type="text/css" rel="stylesheet" href="{{ path_base }}/static/style2.css"/> <script src="{{ path_base }}/tabs.js"></script> <noscript> <style> -- GitLab