color/no-color

This commit is contained in:
Yann Esposito (Yogsototh) 2022-09-29 10:52:01 +02:00
parent e64a28608b
commit c400c36ccf
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646
11 changed files with 240 additions and 211 deletions

1
brut-full.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
brut-nocolors.min.css vendored Normal file
View file

@ -0,0 +1 @@
:root{--bg:#fff;--fg:#000;--bg2:#eee;--darken:rgba(0, 0, 0, 0.1);--cn-1:#d9d9d9;--cn0:#999;--cn1:#8c8c8c;--cn2:#808080;--shadow:rgba(0, 0, 0, 0.75);--cnt:#fff;--cna:#333;--cnab:#000}@media(prefers-color-scheme:dark){:root{--bg:#000;--fg:#ccc;--bg2:#333;--darken:rgba(255, 255, 255, 0.1);--cn-1:#666666;--cn0:#808080;--cn1:#8c8c8c;--cn2:#999999;--shadow:rgba(128, 128, 128, 0.3);--cnt:#000;--cna:#eee;--cnab:#fff}}.neutral{color:var(--cn-0)}.bg-neutral{background:var(--cn-1)}a{color:var(--fg)}html{font-size:12px}body,textarea,input,select{background:var(--bg);color:var(--fg);border-radius:0;font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;font-size:1rem;margin:0}*{box-sizing:border-box}.addon,.sm,.nav,textarea,input,select{outline:0;font-size:10px}.tb,.btn,.nav a{text-decoration:none}.container{padding:0 20px;width:auto}@media(min-width:1310px){.container{margin:auto;width:1270px}}pre{background:var(--bg2);padding:10px}code{background:var(--darken);border:solid 1px var(--darken);padding:1px}img{max-width:100%}.big{font-size:2em}.huge{font-size:3em}.tb{font-weight:700;cursor:pointer;padding:2px}.tb:before,.tb:after{opacity:.3;display:inline-block}.tb:before{content:"〈"}.tb:after{content:"〉"}.tb:hover{text-decoration:underline}.tb:hover::before,.tb:hover::after{opacity:1}.tb:active:before{content:"《"}.tb:active:after{content:"》"}.btn{background:var(--cn0);border:solid 2px #000;color:#fff;font-weight:700;cursor:pointer;display:inline-block;margin:2px 0;padding:1rem 2rem;box-shadow:4px 4px var(--shadow);text-align:center}.btn:hover{background:var(--cn1);color:#fff}.btn:active,.btn:focus{color:#fff;background:var(--cn2);box-shadow:1px 1px #000;position:relative;top:3px;left:3px}.btn.sm{padding:.5rem 1rem}.btn.std{width:12rem}.btn.big.std{width:20rem}.btn.huge.std{width:24rem}.row{display:flex;justify-content:space-evenly;align-items:stretch;flex-wrap:wrap}.col{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;flex-wrap:wrap}.col>*,.row>*{padding:5px}.col.no-padding>*,.row.no-padding>*{padding:0}.table,.c12{width:100%}.c11{width:91.66%}.c10{width:83.33%}.c9{width:75%}.c8{width:66.66%}.c7{width:58.33%}.c6{width:50%}.c5{width:41.66%}.c4{width:33.33%}.c3{width:25%}.c2{width:16.66%}.c1{width:8.33%}@media(max-width:870px){.row .col{width:100%}}.card,.block{padding:5px;border:solid 2px;display:flex;flex-direction:column;justify-content:start;align-items:flex-start}.col>.card,.col>.block{height:100%}.row>.card,.row>.block{width:100%}.card{border-color:var(--cn-1)}.block{border-color:transparent}.central{display:flex;align-items:center;justify-content:center;background-size:cover;min-height:100vh}button~.central{min-height:calc(100vh - 50px)}.hero{padding:2rem;outline-style:double;outline-width:.5rem;margin:1rem}.push{justify-self:flex-end;margin-top:auto}h1,h2,h3,h4,h5,h6{display:table;padding:.25rem;font-size:1rem}h1{font-size:2rem}h1:before,h2:before,h3:before,h4:before,h5:before,h6:before{opacity:.3;font-size:1rem}h1:before{content:"# "}h2:before{content:"## "}h3:before{content:"### "}h4:before{content:"#### "}h5:before{content:"##### "}h6:before{content:"###### "}.ico{font:20px Arial Unicode MS,Lucida Sans Unicode;line-height:10px;vertical-align:top}label>*{display:inline}form>*{display:block;margin-bottom:10px}textarea,input,select{border:2px solid;padding:8px}textarea,input[type=text]{-webkit-appearance:none;width:13em;outline:0;border:2px solid}.addon{padding:8px 12px;border-width:2px;border-style:solid none solid solid}textarea:focus,input:focus,select:focus{border-color:var(--ci1)}.nav,.nav .current,.nav a:hover{background:#000;color:#fff}.nav{height:50px;padding:11px 0 15px}.nav a{color:#aaa;padding-right:1em;position:relative;top:-1px}.nav .pagename{font-weight:700;font-size:22px;top:1px}.btn.btn-close{background:#000;color:#aaa;float:right;font-size:25px;margin:-54px 7px;display:none}.btn.btn-close:hover{color:#fff}@media(max-width:500px){.btn.btn-close{display:block}.nav{overflow:hidden}.pagename{margin-top:-11px}.nav:active,.nav:focus{height:auto}.nav div:before{background:var(--fg);border-bottom:10px double;border-top:3px solid;content:'';float:right;height:4px;position:relative;right:3px;top:14px;width:20px}.nav a{display:block;padding:.5em 0;width:50%}}.table th,.table td{padding:.5em;text-align:left}.table tbody>:nth-child(2n-1){background:var(--bg2)}.msg{background:var(--cn-1);border-left:5px solid var(--cn0);padding:1.5em}

2
brut.min.css vendored

File diff suppressed because one or more lines are too long

View file

@ -3,11 +3,14 @@
DIST="_build"
TMPCSS="$DIST/tmp.css"
DISTCSS="brut.min.css"
TMPFULLCSS="$DIST/tmp-full.css"
DISTFULLCSS="brut-nocolors.min.css"
mkdir $DIST -p
[ -f $TMPCSS ] && rm -f $TMPCSS
subtypes=(colors general buttons grid components headings icons forms navbar tables messages)
subtypes=(colors extended-colors general buttons grid components headings icons forms navbar tables messages)
YEAR="$(date +"%Y")"
echo -n "/* Copyright $YEAR Yann Esposito; MIT licensed */" >> $TMPCSS
@ -15,14 +18,22 @@ for item in "${subtypes[@]}"; do
echo "building: $item"
lessc "src/$item.less" > "$DIST/$item.css"
minify "$DIST/$item.css" -o "$DIST/$item.min.css"
if [ "$item" != "extended-colors" ]; then
cat "$DIST/$item.min.css" >> $TMPFULLCSS
fi
cat "$DIST/$item.min.css" >> $TMPCSS
done
[ -f $DISTCSS.bak ] && rm -f $DISTCSS.bak
[ -f $DISTFULLCSS.bak ] && rm -f $DISTFULLCSS.bak
[ -f $DISTCSS ] && mv $DISTCSS $DISTCSS.bak
[ -f $DISTFULLCSS ] && mv $DISTFULLCSS $DISTFULLCSS.bak
mv $TMPCSS $DISTCSS
mv $TMPFULLCSS $DISTFULLCSS
# cleanup
rm -f $DISTCSS.bak
rm -f $DISTFULLCSS.bak
rm -f $TMPCSS
rm -f $TMPFULLCSS
echo "Built: $DISTCSS"
echo "Built: $DISTFULLCSS"

View file

@ -9,27 +9,6 @@
.tb:active:before { content: "《"; }
.tb:active:after { content: "》"; }
.tb.info { color: var(--ci0);
&:hover { color: var(--ci1); }
&:active { color: var(--ci2); }
}
.tb.ok { color: var(--co0);
&:hover { color: var(--co1); }
&:active { color: var(--co2); }
}
.tb.warn { color: var(--cw0);
&:hover { color: var(--cw1); }
&:active { color: var(--cw2); }
}
.tb.err { color: var(--ce0);
&:hover { color: var(--ce1); }
&:active { color: var(--ce2); }
}
.tb.fatal { color: var(--cf0);
&:hover { color: var(--cf1); }
&:active { color: var(--cf2); }
}
.btn {
background: var(--cn0);
border: solid 2px #000;
@ -57,56 +36,6 @@
left: 3px;
}
.btn.info {
background: var(--ci0);
&:hover {
background: var(--ci1);
}
&:active, &:focus {
background: var(--ci2);
}
}
.btn.ok {
background: var(--co0);
&:hover {
background: var(--co1);
}
&:active, &:focus {
background: var(--co2);
}
}
.btn.warn {
background: var(--cw0);
&:hover {
background: var(--cw1);
}
&:active, &:focus {
background: var(--cw2);
}
}
.btn.err {
background: var(--ce0);
&:hover {
background: var(--ce1);
}
&:active, &:focus {
background: var(--ce2);
}
}
.btn.fatal {
background: var(--cf0);
&:hover {
background: var(--cf1);
}
&:active, &:focus {
background: var(--cf2);
}
}
.btn.sm { padding: 0.5rem 1rem; }
.btn.std { width: 12rem; }
.btn.big.std { width: 20rem; }

View file

@ -1,16 +1,5 @@
@neutral: #999;
@info: #59d;
@ok: #494;
@warn: #c90;
@err: #d33;
@fatal: #a3d;
@dark-neutral: darken(@neutral,10%);
@dark-info: darken(@info,10%) ;
@dark-ok: darken(@ok,10%);
@dark-warn: darken(@warn,10%);
@dark-err: darken(@err,10%);
@dark-fatal: darken(@fatal,10%);
:root {
--bg: #fff;
@ -23,31 +12,6 @@
--cn1: darken(@neutral,5%);
--cn2: darken(@neutral,10%);
--ci-1: saturate(lighten(@info,25%),20%);
--ci0: @info;
--ci1: darken(@info,5%);
--ci2: darken(@info,10%);
--co-1: saturate(lighten(@ok,25%),20%);
--co0: @ok;
--co1: darken(@ok,5%);
--co2: darken(@ok,10%);
--cw-1: saturate(lighten(@warn,25%),20%);
--cw0: @warn;
--cw1: darken(@warn,5%);
--cw2: darken(@warn,10%);
--ce-1: saturate(lighten(@err,25%),20%);
--ce0: @err;
--ce1: darken(@err,5%);
--ce2: darken(@err,10%);
--cf-1: saturate(lighten(@fatal,25%),20%);
--cf0: @fatal;
--cf1: darken(@fatal,5%);
--cf2: darken(@fatal,10%);
--shadow: rgba(0,0,0,0.75);
@ -56,16 +20,6 @@
--cnt: #fff;
--cna: #333;
--cnab: #000;
--cia: saturate(darken(@info,10%),25%);
--ciab: saturate(darken(@info,0%),35%);
--coa: saturate(darken(@ok,10%),25%);
--coab: saturate(darken(@ok,0%),35%);
--cwa: saturate(darken(@warn,10%),25%);
--cwab: saturate(darken(@warn,0%),35%);
--cea: saturate(darken(@err,10%),25%);
--ceab: saturate(darken(@err,0%),35%);
--cfa: saturate(darken(@fatal,10%),25%);
--cfab: saturate(darken(@fatal,0%),35%);
}
@media (prefers-color-scheme: dark) {
@ -80,31 +34,6 @@
--cn1: lighten(@dark-neutral,5%);
--cn2: lighten(@dark-neutral,10%);
--ci-1: darken(@dark-info,10%);
--ci0: @dark-info;
--ci1: lighten(@dark-info,5%);
--ci2: saturate(lighten(@dark-info,10%),10%);
--co-1: darken(@dark-ok,10%);
--co0: @dark-ok;
--co1: lighten(@dark-ok,5%);
--co2: saturate(lighten(@dark-ok,10%),10%);
--cw-1: darken(@dark-warn,10%);
--cw0: @dark-warn;
--cw1: lighten(@dark-warn,5%);
--cw2: saturate(lighten(@dark-warn,10%),10%);
--ce-1: darken(@dark-err,10%);
--ce0: @dark-err;
--ce1: lighten(@dark-err,5%);
--ce2: saturate(lighten(@dark-err,10%),10%);
--cf-1: darken(@dark-fatal,10%);
--cf0: @dark-fatal;
--cf1: lighten(@dark-fatal,5%);
--cf2: saturate(lighten(@dark-fatal,10%),10%);
--shadow: rgba(128,128,128,0.3);
--cnt: #000;
@ -115,13 +44,5 @@
.neutral { color: var(--cn-0); }
.bg-neutral { background: var(--cn-1); }
.info { color: var(--ci0); }
.bg-info { background: var(--ci-1); }
.ok { color: var(--co0); }
.bg-ok { background: var(--co-1); }
.warn { color: var(--cw0); }
.bg-warn { background: var(--cw-1); }
.err { color: var(--ce0); }
.bg-err { background: var(--ce-1); }
a { color: var(--fg); }

View file

@ -15,6 +15,7 @@
border-color: transparent;
}
/* To be used as main image for presentation */
.central {
display: flex;
align-items: center;

221
src/extended-colors.less Normal file
View file

@ -0,0 +1,221 @@
@info: #59d;
@ok: #494;
@warn: #c90;
@err: #d33;
@fatal: #a3d;
@dark-info: darken(@info,10%) ;
@dark-ok: darken(@ok,10%);
@dark-warn: darken(@warn,10%);
@dark-err: darken(@err,10%);
@dark-fatal: darken(@fatal,10%);
:root {
--ci-1: saturate(lighten(@info,25%),20%);
--ci0: @info;
--ci1: darken(@info,5%);
--ci2: darken(@info,10%);
--co-1: saturate(lighten(@ok,25%),20%);
--co0: @ok;
--co1: darken(@ok,5%);
--co2: darken(@ok,10%);
--cw-1: saturate(lighten(@warn,25%),20%);
--cw0: @warn;
--cw1: darken(@warn,5%);
--cw2: darken(@warn,10%);
--ce-1: saturate(lighten(@err,25%),20%);
--ce0: @err;
--ce1: darken(@err,5%);
--ce2: darken(@err,10%);
--cf-1: saturate(lighten(@fatal,25%),20%);
--cf0: @fatal;
--cf1: darken(@fatal,5%);
--cf2: darken(@fatal,10%);
/* alert messages */
--cia: saturate(darken(@info,10%),25%);
--ciab: saturate(darken(@info,0%),35%);
--coa: saturate(darken(@ok,10%),25%);
--coab: saturate(darken(@ok,0%),35%);
--cwa: saturate(darken(@warn,10%),25%);
--cwab: saturate(darken(@warn,0%),35%);
--cea: saturate(darken(@err,10%),25%);
--ceab: saturate(darken(@err,0%),35%);
--cfa: saturate(darken(@fatal,10%),25%);
--cfab: saturate(darken(@fatal,0%),35%);
}
@media (prefers-color-scheme: dark) {
:root {
--ci-1: darken(@dark-info,10%);
--ci0: @dark-info;
--ci1: lighten(@dark-info,5%);
--ci2: saturate(lighten(@dark-info,10%),10%);
--co-1: darken(@dark-ok,10%);
--co0: @dark-ok;
--co1: lighten(@dark-ok,5%);
--co2: saturate(lighten(@dark-ok,10%),10%);
--cw-1: darken(@dark-warn,10%);
--cw0: @dark-warn;
--cw1: lighten(@dark-warn,5%);
--cw2: saturate(lighten(@dark-warn,10%),10%);
--ce-1: darken(@dark-err,10%);
--ce0: @dark-err;
--ce1: lighten(@dark-err,5%);
--ce2: saturate(lighten(@dark-err,10%),10%);
--cf-1: darken(@dark-fatal,10%);
--cf0: @dark-fatal;
--cf1: lighten(@dark-fatal,5%);
--cf2: saturate(lighten(@dark-fatal,10%),10%);
}
}
.info { color: var(--ci0); }
.bg-info { background: var(--ci-1); }
.ok { color: var(--co0); }
.bg-ok { background: var(--co-1); }
.warn { color: var(--cw0); }
.bg-warn { background: var(--cw-1); }
.err { color: var(--ce0); }
.bg-err { background: var(--ce-1); }
.fatal { color: var(--cf0); }
.bg-fatal { background: var(--cf-1); }
/* Messages */
.msg.info {
color: var(--fg);
background: var(--ci-1);
border-color: var(--ci0);
}
.msg.ok {
color: var(--fg);
background: var(--co-1);
border-color: var(--co0);
}
.msg.warn {
color: var(--fg);
background: var(--cw-1);
border-color: var(--cw0);
}
.msg.err {
color: var(--fg);
background: var(--ce-1);
border-color: var(--ce0);
}
.msg.fatal {
color: var(--fg);
background: var(--cf-1);
border-color: var(--cf0);
}
.msg.alert, .msg.alert * {
color: var(--cnt);
background: var(--cna);
border-color: var(--cnab);
}
.msg.alert.info, .msg.alert.info * {
color: #fff;
background: var(--cia);
border-color: var(--ciab);
}
.msg.alert.ok, .msg.alert.ok * {
color: #fff;
background: var(--coa);
border-color: var(--coab);
}
.msg.alert.warn, .msg.alert.warn * {
color: #fff;
background: var(--cwa);
border-color: var(--cwab);
}
.msg.alert.err, .msg.alert.err * {
color: #fff;
background: var(--cea);
border-color: var(--ceab);
}
.msg.alert.fatal, .msg.alert.fatal * {
color: #fff;
background: var(--cfa);
border-color: var(--cfab);
}
/* Buttons */
.tb.info { color: var(--ci0);
&:hover { color: var(--ci1); }
&:active { color: var(--ci2); }
}
.tb.ok { color: var(--co0);
&:hover { color: var(--co1); }
&:active { color: var(--co2); }
}
.tb.warn { color: var(--cw0);
&:hover { color: var(--cw1); }
&:active { color: var(--cw2); }
}
.tb.err { color: var(--ce0);
&:hover { color: var(--ce1); }
&:active { color: var(--ce2); }
}
.tb.fatal { color: var(--cf0);
&:hover { color: var(--cf1); }
&:active { color: var(--cf2); }
}
.btn.info {
background: var(--ci0);
&:hover {
background: var(--ci1);
}
&:active, &:focus {
background: var(--ci2);
}
}
.btn.ok {
background: var(--co0);
&:hover {
background: var(--co1);
}
&:active, &:focus {
background: var(--co2);
}
}
.btn.warn {
background: var(--cw0);
&:hover {
background: var(--cw1);
}
&:active, &:focus {
background: var(--cw2);
}
}
.btn.err {
background: var(--ce0);
&:hover {
background: var(--ce1);
}
&:active, &:focus {
background: var(--ce2);
}
}
.btn.fatal {
background: var(--cf0);
&:hover {
background: var(--cf1);
}
&:active, &:focus {
background: var(--cf2);
}
}

View file

@ -20,7 +20,7 @@ body, textarea, input, select {
}
.container {
margin: 0 20px;
padding: 0 20px;
width: auto;
}

View file

@ -4,7 +4,7 @@ h1, h2, h3, h4, h5, h6 { display: table; padding: 0.25rem; font-size: 1rem; }
h1 { font-size: 2rem; }
h1:before, h2:before, h3:before, h4:before, h5:before, h6:before
{ opacity: 0.3; font-size: 1rem; }
h1:before {content:"# "; }
h1:before { content: "# "; }
h2:before { content: "## "; }
h3:before { content: "### "; }
h4:before { content: "#### "; }

View file

@ -3,59 +3,3 @@
border-left: 5px solid var(--cn0);
padding: 1.5em;
}
.msg.info {
color: var(--fg);
background: var(--ci-1);
border-color: var(--ci0);
}
.msg.ok {
color: var(--fg);
background: var(--co-1);
border-color: var(--co0);
}
.msg.warn {
color: var(--fg);
background: var(--cw-1);
border-color: var(--cw0);
}
.msg.err {
color: var(--fg);
background: var(--ce-1);
border-color: var(--ce0);
}
.msg.fatal {
color: var(--fg);
background: var(--cf-1);
border-color: var(--cf0);
}
.msg.alert, .msg.alert * {
color: var(--cnt);
background: var(--cna);
border-color: var(--cnab);
}
.msg.alert.info, .msg.alert.info * {
color: #fff;
background: var(--cia);
border-color: var(--ciab);
}
.msg.alert.ok, .msg.alert.ok * {
color: #fff;
background: var(--coa);
border-color: var(--coab);
}
.msg.alert.warn, .msg.alert.warn * {
color: #fff;
background: var(--cwa);
border-color: var(--cwab);
}
.msg.alert.err, .msg.alert.err * {
color: #fff;
background: var(--cea);
border-color: var(--ceab);
}
.msg.alert.fatal, .msg.alert.fatal * {
color: #fff;
background: var(--cfa);
border-color: var(--cfab);
}