Compare commits

...

10 commits

Author SHA1 Message Date
Yann Esposito (Yogsototh) 7b0e2df9ed
updated to improve uploading website 2023-11-13 11:26:43 +01:00
Yann Esposito (Yogsototh) c66dfade4d
rebuild 2023-11-13 10:41:41 +01:00
Yann Esposito (Yogsototh) bce23d1cca
improved card/block 2022-11-15 12:50:33 +01:00
Yann Esposito (Yogsototh) 861c7bcccd
densify 2022-10-29 15:09:32 +02:00
Yann Esposito (Yogsototh) 36cb28823d
Improve size generalization & composability 2022-10-26 20:05:53 +02:00
Yann Esposito (Yogsototh) 1e29408400
Cleaning up and improvements 2022-10-26 19:55:44 +02:00
Yann Esposito (Yogsototh) 5144b0637b
improve composability even more 2022-10-26 19:27:00 +02:00
Yann Esposito (Yogsototh) e6d4a7f1f9
improve colors composability even more 2022-10-26 18:59:21 +02:00
Yann Esposito (Yogsototh) 286b3670c4
a few improvements 2022-10-26 18:56:24 +02:00
Yann Esposito (Yogsototh) bb7b1b222d
Few fixes, better composability of colors 2022-10-26 16:06:40 +02:00
23 changed files with 1485 additions and 192 deletions

View file

@ -24,5 +24,19 @@ Then
```
If you don't have `nix` you need to manually install:
- [babashka](https://babashka.org)
- [`lessc`](https://lesscss.org),
- and [`minify`](https://www.minifier.org).
### Develop
```
nix develop
```
all tasks
```
bb tasks
```

1
_site/brut.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1158
_site/h/docs.html Normal file

File diff suppressed because one or more lines are too long

1
_site/h/download.html Normal file
View file

@ -0,0 +1 @@
<head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /><meta content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no" name="viewport" /><title>BRUT - download</title><link href="../brut.min.css" rel="stylesheet" type="text/css" /></head><body class="col gapless"><div><nav class="nav" onclick="this.focus()" tabindex="-1"><div class="container"><a class="pagename" href="../index.html">BRUT</a><a href="../h/docs.html">Docs</a><a href="../h/download.html">Download</a><a href="https://gitea.esy.fun/yogsototh/brutcss">Code</a></div></nav><button class="btn sn btn-close">×</button></div><div class="central fill" style="background:url(&apos;../h/img/brutalism.webp&apos;)"><a class="btn warn huge" href="../brut.min.css">Download BRUT</a></div></body>

BIN
_site/h/img/brutalism.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

1
_site/index.html Normal file
View file

@ -0,0 +1 @@
<head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /><meta content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no" name="viewport" /><title>BRUT</title><link href="brut.min.css" rel="stylesheet" type="text/css" /></head><body class="col gapless"><div><nav class="nav" onclick="this.focus()" tabindex="-1"><div class="container"><a class="pagename" href="index.html">BRUT</a><a href="h/docs.html">Docs</a><a href="h/download.html">Download</a><a href="https://gitea.esy.fun/yogsototh/brutcss">Code</a></div></nav><button class="btn sn btn-close">×</button></div><div><div class="hero" style="background: url(h/img/brutalism.webp)"><div class="container col middle"><div class="row middle"><div class="c2"></div><div class="c8 col block bg-neutral"><h1 class="tight huge">BRUT</h1><h4>A Brutalist and Minimalist CSS Framework</h4><p>This CSS framework is ideal to be used for <strong>private admin interfaces</strong>.</p><p> Just by the look of it, it will scream: <span class="hl">THIS IS NOT FOR NON-TECHNICAL PEOPLE!!!</span></p></div><div class="c2"></div></div></div></div><div class="container"><div class="row"><div class="card"><h3>Docs</h3><p>A few quick examples to show every components. This should be quick and straightforward.</p><p>This CSS framework makes its best to respect some expected composability accross classes. Here are a few examples:</p><div class="row"><div><p class="tight">A block: </p><div class="card"><div class="tb">textual btn</div><br /><div class="btn">classic btn</div><br /><div class="msg">Some message block</div></div></div><div><p class="tight">Then add the class <code>big</code>: </p><div class="card big"><div class="tb">textual btn</div><br /><div class="btn">classic btn</div><br /><div class="msg">Some message block</div></div></div></div><a class="btn big push" href="h/docs.html">Docs</a></div><div class="col card"><h3>Download</h3><p>Download BRUT</p><a class="btn warn big push" href="h/download.html">Download</a></div></div></div></div><footer><div class="container"><p>By <a href="https://yannesposito.com">Yann Esposito</a></p></div></footer></body>

4
bb.edn
View file

@ -6,8 +6,8 @@
{clean {:doc "clean temporary assets"
:requires ([babashka.fs :as fs])
:task (do (fs/delete-tree "_build")
(fs/delete-if-exists "brut.min.css")
(fs/delete-if-exists "brut-nocolors.min.css"))}
(fs/delete-tree "_site")
(fs/delete-if-exists "brut.min.css"))}
build-site {:doc "build the HTML"
:requires ([brut.site])
:task (brut.site/-main)}

View file

@ -8,7 +8,7 @@
tmp-dir (-> (fs/create-temp-dir)
(fs/delete-on-exit))
tmp-css (fs/file tmp-dir "tmp.css")
brut-css "brut.min.css"
brut-css "_site/brut.min.css"
sub-css ["colors"
"extended-colors"
"general"
@ -37,6 +37,7 @@
(spit min-css minified)
(when-not (= "extended-colors" item)
(spit tmp-css minified :append true))))
(fs/create-dirs (fs/parent brut-css))
(fs/move tmp-css brut-css {:replace-existing true
:atomic-move true})
(println "built: " brut-css)))

View file

@ -51,6 +51,8 @@
(when footer?
(footer))])))
(def dest "_site")
(defn gen-page [file-path metas content-fn]
(let [depth (or (some-> file-path
fs/parent
@ -58,37 +60,60 @@
count)
0)
rel-pref (apply str (repeat depth "../"))
html (mk-page rel-pref metas (content-fn rel-pref metas))]
(println "Generates: " file-path)
(spit file-path html)))
html (mk-page rel-pref metas (content-fn rel-pref metas))
dst (str dest "/" file-path)]
(fs/create-dirs (fs/parent dst))
(println "Generates: " dst)
(spit dst html)))
(defn mk-index [rel-pref _metas]
(let [to (fn [path] (str rel-pref path))
hero [:div.hero.bg-neutral
[:div.row.middle
[:img.c3.no-grow {:src (to brutalism-img) :alt "brutalism"}]
[:div.col.block.c6
[:h1.title "BRUT"]
[:h4 "A Brutalist and Minimalist CSS Framework"]
[:p (str "This CSS framework is ideal to be used for admin interface where you"
"want to make it clear, this is not for any kind of end user but only"
"advanced technical people.")]]
[:img.c3.no-grow {:src (to brutalism-img) :alt "brutalism"}]
]]
cards [:div.row
[:div.col.card
[:h3 "Docs"]
[:p "A few quick examples to show every components. "
"This should be quick and straightforward."]
[:a.btn.big.push {:href (to "h/docs.html")}
"Docs"]]
[:div.col.card
[:h3 "Download"]
[:div.block
[:p "Download BRUT"]]
[:a.btn.warn.big.push {:href (to "h/download.html")}
"Download"]]]]
[:div.container.col
hero [:div.hero
{:style (format "background: url(%s)" (to brutalism-img))}
[:div.container.col.middle
[:div.row.middle
[:div.c2]
[:div.c8.col.block.bg-neutral
[:h1.tight.huge "BRUT"]
[:h4 "A Brutalist and Minimalist CSS Framework"]
[:p "This CSS framework is ideal to be used for "
[:strong "private admin interfaces"]
"."]
[:p " Just by the look of it, it will scream: "
[:span.hl "THIS IS NOT FOR NON-TECHNICAL PEOPLE!!!"]]]
[:div.c2]]]]
cards [:div.container
[:div.row
[:div.card
[:h3 "Docs"]
[:p "A few quick examples to show every components. "
"This should be quick and straightforward."]
[:p "This CSS framework makes its best to respect some expected composability accross classes."
" Here are a few examples:"]
[:div.row
[:div
[:p.tight "A block: "]
[:div.card
[:div.tb "textual btn"]
[:br]
[:div.btn "classic btn"]
[:br]
[:div.msg "Some message block"]]]
[:div
[:p.tight "Then add the class " [:code "big"] ": "]
[:div.card.big
[:div.tb "textual btn"]
[:br]
[:div.btn "classic btn"]
[:br]
[:div.msg "Some message block"]]]]
[:a.btn.big.push {:href (to "h/docs.html")}
"Docs"]]
[:div.col.card
[:h3 "Download"]
[:p "Download BRUT"]
[:a.btn.warn.big.push {:href (to "h/download.html")} "Download"]]]]]
[:div
hero
cards]))
@ -205,6 +230,7 @@
text-buttons [:div#text-buttons
[:h3 "Textual buttons"]
[:a.tb "tb"]
[:a.tb.hl "tb hl"]
[:a.tb.info "tb info"]
[:a.tb.ok "tb ok"]
[:a.tb.warn "tb warn"]
@ -213,58 +239,71 @@
text-buttons-sizes [:div#text-buttons-sizes
[:h3 "Textual Buttons Sizes"]
[:div.block
"Some text: " [:a {:class "tb sm info"} "small button"] [:br]
"Some text: " [:a {:class "tb sm"} "small button"] [:br]
"Some text: " [:a {:class "tb ok"} "normal ok"] [:br]
"Some text: " [:a {:class "tb big warn"} "big warn"] [:br]
"Some text: " [:a {:class "tb huge err"} "huge err"]]]
buttons [:div {:id "buttons"}
[:h2 "Classic"]
[:a {:class "btn"} "btn"]
[:a {:class "btn info"} "btn info"]
[:a {:class "btn ok"} "btn ok"]
[:a {:class "btn warn"} "btn warn"]
[:a {:class "btn err"} "btn err"]
[:a {:class "btn fatal"} "btn fatal"]
[:pre {:class "block"} "&lt;a class=&quot;btn btn-b&quot;&gt;btn-b&lt;/a&gt;"]
[:h2 "Sizes"]
[:a {:class "btn sm"} "btn sm"]
[:a {:class "btn info"} "btn info"]
[:a {:class "btn big warn"} "btn big warn"]
[:a {:class "btn huge err"} "btn huge err"]
[:pre {:class "block"} "&lt;a class=&quot;btn sm info&quot;&gt;btn sm info&lt;/a&gt;"]
[:div {:class "row"}
[:div {:class "col c4 card"}
buttons [:div.col
[:h2 "Buttons"]
[:div.row
[:div.card
[:h3 "Classic"]
[:a.btn "btn"]
[:a.btn.hl "btn hl"]
[:a.btn.info "btn info"]
[:a.btn.ok "btn ok"]
[:a.btn.warn "btn warn"]
[:a.btn.err "btn err"]
[:a.btn.fatal "btn fatal"]]
[:div.card
[:h3 "Sizes"]
[:a.btn.sm "btn sm"]
[:a.btn.info "btn info"]
[:a.btn.big.warn "btn big warn"]
[:a.btn.huge.err "btn huge err"]]]
[:div.row
[:div.col.c4.card
[:h3 "Standardized Width "
[:code "btn std"]]
[:div {:class "col"}
[:a {:class "btn std"} "btn std"]
[:a {:class "btn std info"} "btn std info"]
[:a {:class "btn std ok"} "btn std ok"]
[:a {:class "btn std warn"} "btn std warn"]
[:a {:class "btn std err"} "btn std err"]
[:a {:class "btn std fatal"} "btn std fatal"]]]
[:div {:class "col c4 card"}
[:div.col
[:a.btn.std "btn std"]
[:a.btn.std.hl "btn std hl"]
[:a.btn.std.info "btn std info"]
[:a.btn.std.ok "btn std ok"]
[:a.btn.std.warn "btn std warn"]
[:a.btn.std.err "btn std err"]
[:a.btn.std.fatal "btn std fatal"]]]
[:div.col.card.c4
[:h3 "Big"]
[:div {:class "col"}
[:a {:class "btn std big "} "btn std"]
[:a {:class "btn std big info"} "btn std info"]
[:a {:class "btn std big ok"} "btn std ok"]
[:a {:class "btn std big warn"} "btn std warn"]]]
[:div {:class "col c4 card"}
[:div.col.big
[:a.btn.std "btn std"]
[:a.btn.std.hl "btn std hl"]
[:a.btn.std.info "btn std info"]
[:a.btn.std.ok "btn std ok"]
[:a.btn.std.warn "btn std warn"]
[:a.btn.std.err "btn std err"]
[:a.btn.std.fatal "btn std fatal"]]
]
[:div.col.card.c4
[:h3 "Huge"]
[:div {:class "col"}
[:a {:class "btn std huge"} "btn std"]
[:a {:class "btn std huge info"} "btn std info"]
[:a {:class "btn std huge ok"} "btn std ok"]]]]]
[:div.col.huge
[:a.btn.std "btn std"]
[:a.btn.std.hl "btn std hl"]
[:a.btn.std.info "btn std info"]
[:a.btn.std.ok "btn std ok"]
[:a.btn.std.warn "btn std warn"]
[:a.btn.std.err "btn std err"]
[:a.btn.std.fatal "btn std fatal"]]]]]
tags [:div {:id "tags"}
[:h2 "Tags"]
[:ul
[:li "item-1" [:span.tag "tag"]]
[:li "item-2" [:span.tag.info "info"]]
[:li "item-3" [:span.tag.ok "ok"]]
[:li "item-4" [:span.tag.warn "warn"]]
[:li "item-5" [:span.tag.err "err"]]
[:li "item-6" [:span.tag.fatal "fatal"]]]]
[:li "item-2" [:span.tag.hl "hl tag"]]
[:li "item-3" [:span.tag.info "info"]]
[:li "item-4" [:span.tag.ok "ok"]]
[:li "item-5" [:span.tag.warn "warn"]]
[:li "item-6" [:span.tag.err "err"]]
[:li "item-7" [:span.tag.fatal "fatal"]]]]
tags-listed [:div {:id "tags-inline"}
[:h2 "Inline Tags"]
[:span.tag "tag"]
@ -283,7 +322,7 @@
[:h2 "Basic Messages"]
[:br]
[:div {:class "msg"}
[:strong "Normal Message"]
[:strong " Normal Message"]
" This is a normal message with " [:code "msg"] "."]
[:div {:class "msg info"}
[:strong
@ -460,6 +499,8 @@
grid-section {:title "Grid"
:cards [grid grid-gapless grid-3col]}]
[:div.container
[:h1 "Documentation"]
[:p "Here a bunch of examples with their source code to make them happen."]
(for [{:keys [title cards]} [textual-section
grid-section
images-section
@ -472,25 +513,33 @@
footer-section]]
[:div.col
[:h2 {:id title}
[:a {:href (str "#" title)} [:i.ico "§"]] " "
[:a {:href (str "#" title)} [:i.ico "[§]"]] " "
title]
(for [[c1 c2] (partition 2 2 nil cards)]
[:div.row
[:div.card.c6
c1
[:details
[:summary "code"]
[:br]
[:details.push
[:summary.bg-neutral "code"]
(to-pre c1)]]
(when c2
[:div.card.c6
c2
[:details
[:summary "code"]
[:details.push
[:summary.bg-neutral "code"]
(to-pre c2)]])])])]))
(defn brut-copy
[path]
(let [dst (str dest "/" path)]
(println "Copying: " path " to " dst)
(fs/copy-tree path dst)))
(defn -main [& _args]
(gen-page "index.html"
{:title "BRUT"}
{:title "BRUT"
:gapless? true}
mk-index)
(gen-page "h/download.html"
{:title "BRUT - download"
@ -500,4 +549,4 @@
(gen-page "h/docs.html"
{:title "BRUT - documentation"}
mk-docs)
)
(brut-copy "h/img"))

1
brut.min.css vendored

File diff suppressed because one or more lines are too long

View file

@ -20,11 +20,9 @@ for item in "${subtypes[@]}"; do
done
[ -f $DISTCSS.bak ] && rm -f $DISTCSS.bak
[ -f $DISTFULLCSS.bak ] && rm -f $DISTFULLCSS.bak
[ -f $DISTCSS ] && mv $DISTCSS $DISTCSS.bak
mv $TMPCSS $DISTCSS
# cleanup
rm -f $DISTCSS.bak
rm -f $DISTFULLCSS.bak
rm -f $TMPCSS
echo "Built: $DISTCSS"

14
deploy.sh Executable file
View file

@ -0,0 +1,14 @@
#!/usr/bin/env zsh
cd "$(git rev-parse --show-toplevel)" || exit 1
webdir="_site"
[[ -d $webdir ]] || { echo "no $webdir directory"; exit 1 }
echo -n "Uploading website"
rsync --progress\
--partial \
--delete \
--exclude '.git' \
-avHe ssh ${webdir}/ root@esy.fun:/var/www/brut.esy.fun/
echo " [done]"

View file

@ -1,12 +1,15 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
@ -17,11 +20,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1664058032,
"narHash": "sha256-djifox1rDQ2x+ujJCHiXyPAl2bXk+GlYorA0Clfhfko=",
"lastModified": 1699725108,
"narHash": "sha256-NTiPW4jRC+9puakU4Vi8WpFEirhp92kTOSThuZke+FA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f2ea9a9fcd41b65651fd89c1b9198798f4362f66",
"rev": "911ad1e67f458b6bcf0278fa85e33bb9924fed7e",
"type": "github"
},
"original": {
@ -34,6 +37,21 @@
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",

7
gen.sh
View file

@ -1,7 +0,0 @@
#!/usr/bin/env bb
(require '[])
(defn build-css
[]
)

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
<head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /><meta content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no" name="viewport" /><title>BRUT</title><link href="brut.min.css" rel="stylesheet" type="text/css" /></head><body class="col"><div><nav class="nav" onclick="this.focus()" tabindex="-1"><div class="container"><a class="pagename" href="index.html">BRUT</a><a href="h/docs.html">Docs</a><a href="h/download.html">Download</a><a href="https://gitea.esy.fun/yogsototh/brutcss">Code</a></div></nav><button class="btn sn btn-close">×</button></div><div class="container col"><div class="hero bg-neutral"><div class="row middle"><img alt="brutalism" class="c3 no-grow" src="h/img/brutalism.webp" /><div class="col block c6"><h1 class="title">BRUT</h1><h4>A Brutalist and Minimalist CSS Framework</h4><p>This CSS framework is ideal to be used for admin interface where youwant to make it clear, this is not for any kind of end user but onlyadvanced technical people.</p></div><img alt="brutalism" class="c3 no-grow" src="h/img/brutalism.webp" /></div></div><div class="row"><div class="col card"><h3>Docs</h3><p>A few quick examples to show every components. This should be quick and straightforward.</p><a class="btn big push" href="h/docs.html">Docs</a></div><div class="col card"><h3>Download</h3><div class="block"><p>Download BRUT</p></div><a class="btn warn big push" href="h/download.html">Download</a></div></div></div><footer><div class="container"><p>By <a href="https://yannesposito.com">Yann Esposito</a></p></div></footer></body>
<head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /><meta content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no" name="viewport" /><title>BRUT</title><link href="brut.min.css" rel="stylesheet" type="text/css" /></head><body class="col gapless"><div><nav class="nav" onclick="this.focus()" tabindex="-1"><div class="container"><a class="pagename" href="index.html">BRUT</a><a href="h/docs.html">Docs</a><a href="h/download.html">Download</a><a href="https://gitea.esy.fun/yogsototh/brutcss">Code</a></div></nav><button class="btn sn btn-close">×</button></div><div><div class="hero" style="background: url(h/img/brutalism.webp)"><div class="container col middle"><div class="row middle"><div class="c2"></div><div class="c8 col block bg-neutral"><h1 class="tight huge">BRUT</h1><h4>A Brutalist and Minimalist CSS Framework</h4><p>This CSS framework is ideal to be used for <strong>private admin interfaces</strong>.</p><p> Just by the look of it, it will scream: <span class="hl">THIS IS NOT FOR NON-TECHNICAL PEOPLE!!!</span></p></div><div class="c2"></div></div></div></div><div class="container"><div class="row"><div class="card"><h3>Docs</h3><p>A few quick examples to show every components. This should be quick and straightforward.</p><p>This CSS framework makes its best to respect some expected composability accross classes. Here are a few examples:</p><div class="row"><div><p class="tight">A block: </p><div class="card"><div class="tb">textual btn</div><br /><div class="btn">classic btn</div><br /><div class="msg">Some message block</div></div></div><div><p class="tight">Then add the class <code>big</code>: </p><div class="card big"><div class="tb">textual btn</div><br /><div class="btn">classic btn</div><br /><div class="msg">Some message block</div></div></div></div><a class="btn big push" href="h/docs.html">Docs</a></div><div class="col card"><h3>Download</h3><p>Download BRUT</p><a class="btn warn big push" href="h/download.html">Download</a></div></div></div></div><footer><div class="container"><p>By <a href="https://yannesposito.com">Yann Esposito</a></p></div></footer></body>

View file

@ -18,7 +18,7 @@
cursor: pointer;
display: inline-block;
margin: 0 0.25em 0.25em 0;
padding: 1rem 2rem;
padding: 0.5rem 1rem;
box-shadow: 0.25em 0.25em var(--nl);
vertical-align: bottom;
}
@ -35,8 +35,6 @@
}
.btn.sm { padding: 0.5rem 1rem; }
.btn.std { width: 12rem; }
.btn.big.std { width: 20rem; }
.btn.huge.std { width: 24rem; }
.btn.std { width: 12em; }
.tag { padding: 2px; font-size: 0.875rem; border: solid 1px var(--fg); margin: 0 1px; }

View file

@ -25,28 +25,37 @@
--accent: var(--b);
}
body.soft { filter: brightness(95%) sepia(5%);}
body.soft { filter: brightness(85%) sepia(25%);}
html { background: var(--bg); color: var(--fg); }
.neutral { color: var(--n0); }
.bg-neutral { background: var(--nl); }
a { color: var(--fg); }
p > a, li > a { color: var(--accent); }
.msg, .btn { background-color: var(--bg2); color: var(--fg); }
.hl, .msg, .btn, .b, .info, .g, .ok, .y, .warn, .r, .err, .m, .fatal, .o, .v, .c,.alert {
border-color: var(--fg);
}
.hl, .b, .info, .g, .ok, .y, .warn, .r, .err, .m, .fatal, .o, .v, .c,.alert {
color: var(--bg);
}
.hl { background-color: var(--fg); }
.b, .info { background-color: var(--b); }
.g, .ok { background-color: var(--g); }
.y, .warn { background-color: var(--y); }
.r, .err { background-color: var(--r); }
.m, .fatal { background-color: var(--m); }
.o { background-color: var(--o); }
.v { background-color: var(--v); }
.c { background-color: var(--c); }
@media (prefers-color-scheme: dark) {
body { filter: invert(100%) hue-rotate(180deg);}
body.soft { filter: brightness(85%) sepia(5%) invert(100%) hue-rotate(180deg);}
body.soft { filter: brightness(85%) sepia(25%) invert(100%) hue-rotate(180deg);}
img,.fill { filter: brightness(80%) invert(100%) ; }
.msg, .btn, .b, .info, .g, .ok, .y, .warn, .r, .err, .m, .fatal, .o, .v, .c,.alert {
.b, .info, .g, .ok, .y, .warn, .r, .err, .m, .fatal, .o, .v, .c,.alert {
filter: brightness(90%) invert(100%) hue-rotate(180deg);
}
}
.msg, .btn { background-color: var(--bg2) }
.b, .info { color: var(--bg); background-color: var(--b); border-color: var(--fg); }
.g, .ok { color: var(--bg); background-color: var(--g); border-color: var(--fg); }
.y, .warn { color: var(--bg); background-color: var(--y); border-color: var(--fg); }
.r, .err { color: var(--bg); background-color: var(--r); border-color: var(--fg); }
.m, .fatal { color: var(--bg); background-color: var(--m); border-color: var(--fg); }
.o { color: var(--bg); background-color: var(--o); border-color: var(--fg); }
.v { color: var(--bg); background-color: var(--v); border-color: var(--fg); }
.c { color: var(--bg); background-color: var(--c); border-color: var(--fg); }

View file

@ -1,9 +1,13 @@
/* card and block to put space between blocks */
.card, .block {
padding: 1rem;
padding: 0;
border: solid 1rem;
overflow: hidden;
}
.card > ul > li > a { width: 100%; display: inline-block; }
.card > ul > li > a:hover { background: var(--accent); color: var(--bg); }
.col.card, .col.block {
justify-content: flex-start;
align-items: flex-start;
@ -11,6 +15,10 @@
.card { border-color: var(--nl); }
.card > *, .block > * { margin: 1rem; }
.card,.block {
& > h1:first-child, & > h2:first-child, & > h3:first-child, & > h4:first-child, & > h5:first-child, & > h6:first-child { margin-top: 0; }
& > h1, & > h2, & > h3, & > h4, & > h5 { margin-left: 0; margin-right: 0; } }
.block { border-color: transparent; }
/* To be used as main image for presentation */
@ -28,8 +36,21 @@ button ~ .central {
.hero {
padding: 2rem;
border: double 1rem;
}
.fill { flex-grow: 1; }
.push { justify-self: flex-end; margin-top: auto;}
footer,.push { justify-self: flex-end; margin-top: auto;}
/* doc are for long text to read */
.doc { max-width: 65ch;
font-size: 1.25rem;
font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;
text-align: justify;
line-height: 1.5em;
p {
text-indent: 3rem;
}
}
.col.card,.row.card, .col.block,.row.block { padding: 0; }

View file

@ -4,12 +4,12 @@ label > * {
form > * {
display: block;
margin-bottom: 10px;
}
textarea, input, select {
border: 2px solid;
padding: 2px;
margin: 0;
}
textarea, input[type=text] {

View file

@ -10,11 +10,6 @@ body, textarea, input, select {
}
img { max-width: 100%; }
.addon, .sm, .nav, textarea, input, select {
outline: 0;
line-height: 1rem;
}
.container {
padding: 0 20px;
width: 100%;
@ -28,7 +23,9 @@ img { max-width: 100%; }
}
pre { background: var(--bg2);
padding: 10px;
padding: 0;
margin: 0;
line-height: 1rem;
overflow: scroll;
}
code { background: var(--darken);
@ -44,24 +41,22 @@ ol {
padding-inline-start: 2rem;
}
ul > li::marker { font-size: 1.5rem; }
summary:hover { cursor: pointer; background: var(--bg2);}
ul { padding: 0; margin: 0 1.5rem 0 0; }
li { line-height: 1.2rem; }
.action, summary:hover { cursor: pointer; background: var(--bg2); }
table { font-size: 1rem; }
.sm { font-size: 0.75rem; line-height: 0.65rem; }
.big { font-size: 2rem; line-height: 2.8rem;}
.huge { font-size: 3rem; line-height: 4.1rem;}
/* highligh revert the colors */
.hl { background: var(--fg); color: var(--bg);
border: solid 1px;
padding: 1px;
.sm { font-size: 0.75rem; }
.big { font-size: 2rem; line-height: 1.5em; }
.huge { font-size: 4rem; line-height: 1.5em; }
.addon, .sm, .nav, textarea, input, select {
outline: 0;
line-height: 1em;
}
.hl { border-color: var(--fg);
}
/* doc are for long text to read */
.doc { max-width: 65ch;
font-size: 1.25rem;
font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;
text-align: justify;
line-height: 1.5em;
p {
text-indent: 3rem;
}
}
p > .hl, li > .hl {
border: solid 1px var(--fg);
padding: 1px;
}

View file

@ -15,6 +15,8 @@
.col {
flex-direction: column;
}
.col > .row { padding: 0 1rem; }
.row > .col { padding: 1rem 0; }
.start {
justify-content: flex-start;
align-items: flex-start;
@ -84,7 +86,7 @@
}
/* For smaller screens, change all columns to 100% width */
@media (max-width:800px) {
@media (max-width:960px) {
.row > * {
flex: 0 1 100%;
width: 100%;

View file

@ -2,12 +2,12 @@
h1, h2, h3, h4, h5, h6 {
display: block;
padding: 0.5rem;
padding: 0;
font-size: 1rem;
margin: 0;
outline: 0;
color: var(--bg);
margin: 1rem 0;
width: 100%;
margin: 0 0 1rem 0;
a {
color: var(--bg);
}
@ -20,3 +20,9 @@ h3 { background: var(--n1); }
h4 { color: var(--fg); background: var(--nl); }
h5 { color: var(--fg); background: var(--bg2); }
h6 { color: var(--fg); }
h1:before { content: "≡ "; opacity: 0.3; }
h2:before { content: "= "; opacity: 0.3; }
h3:before { content: "- "; opacity: 0.3; }
h4:before { content: ": "; opacity: 0.3; }
h5:before { content: "⋅ "; opacity: 0.3; }
h6 { padding-left: 1.25rem; }