From ce4b5c96a2834e238dc35bb322a0120f1cbaefa0 Mon Sep 17 00:00:00 2001 From: tactino <18781106300@163.com> Date: Sat, 3 Oct 2026 14:50:48 -0400 Subject: [PATCH] Site: the PlugRL lockup in the header without the repeated name, and a larger tab icon - Header: the lockup (mark and wordmark) replaces the mark, and brand.css hides the site name beside it, which the lockup already says. Material hides the header logo below 76.25em; it stays, after the menu button, so phones and tablets show the same brand. The page title that appears on scroll is untouched. - Tab icon: the ICO's 32 and 48 px frames now fill the canvas with the plate (the 16 px frame stays hand-hinted), and an SVG favicon cropped to the plate is added through overrides/main.html; it turns light in a dark colour scheme, where the dark plate vanished into a dark tab strip. - The mark SVG the header used is gone. --- docs/assets/favicon.ico | Bin 3182 -> 4068 bytes docs/assets/favicon.svg | 1 + docs/assets/plugrl-lockup-on-dark.png | Bin 0 -> 19333 bytes docs/assets/plugrl-mark-on-dark.svg | 1 - docs/stylesheets/brand.css | 37 ++++++++++++++++++++++++++ mkdocs.yml | 9 +++++-- overrides/main.html | 7 +++++ 7 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 docs/assets/favicon.svg create mode 100644 docs/assets/plugrl-lockup-on-dark.png delete mode 100644 docs/assets/plugrl-mark-on-dark.svg create mode 100644 docs/stylesheets/brand.css create mode 100644 overrides/main.html diff --git a/docs/assets/favicon.ico b/docs/assets/favicon.ico index 0b483f156c5e6ec38cfe10f5b8915f888b897aad..f1434899cb82a6d0a6f29f5ef39d03d9b697e550 100644 GIT binary patch delta 3789 zcmV;;4l?oX7~~(29v069000UB001yB00000AOH&q007wrku>>#1(r!fK~#90#aG>L z6jc=eoinq$E!`q*U6x8=X{l&S6Hs{2gb)ozB*6kc5i#LGeKbDuH^`%}>LY4mO!zP) z8eVuY7%d8+1*Nnsh;1n?A8uhkX6`ZP&g`;fXSS8Zc#_TR+zGjmSF zm?eb!b;xiOD#T6*G$2NgN0O^36LZcp#bFh=yAGl_5>oEf7we@)DnEJv zT!))TX<#=fV3&xx8IW{5`eKMkb^TV4XR}$wm0{#&eS)Zf_KvmieS^R6K0+cT=-cuZ zD&>bDa+-M|&9=zYU};d)5fNd+mwI}pyVf%nr(>0xqBX8jj1*cjFWK zUmmt`U_$pax$U@_qF^L@vxtPn@@wkB^sodU{#`*&o14to~PDU%zw)4<8ia zCXy(Z4AyKILU#RDcqK)lT0oyvgIwK-*%i@(A;4E^buO1n>T02q*v0JhAc#CxMcia7 z=BKZJ;?LiIL?Q(kzk+0n(Erk2cwQ-90f6InG`bxzrflGSqYL@`v$hVf;5~JFecIY| z5QD2D$L)*yy;27Hw(LP`y2~mQs{x`({Y(O!y+3nfGUyj0mGqkaj1cySv1wb2E+YoX zR2%YF&f@;;Jlv#VK3f%IiVQ^|AOI`;_mbe#`kv3{ErudE6ae4IP9WCG zt0O1jd+J;lm68^x*U;Xz&c;I678?+Fl6+!&@bvWb_$;<iJs_>dELv~U;Wznwz5!?AT?;^NPky>ZcIN<>8jb!PiaWM>QE5;4C5_z9qcIy%&K z#0Vl7w=Qtt~mij3-nV<2$8d0j`@w zBDEqkB=R$9*8i^vrztZejS6A*uaox*H^0PdD#dCFZ zCfJVHOk-`!jyTQ$1_viFw!pv!?TmGF-Nj&=kvqkKpodxPoAqK+*$QuAxkImz9LCsK z8E7-WS^at8&)BuGv9b^jFN;|qv%nCUs%Bi1(~b_UOuVl%+xtGCO4!(`lF>EYW1@ZG zfZNQiVr2@Z6oFAY8Z3PSAv?`~5`W&gX5-OkvYUFVcL)8iYq}Rgzl>Z_nKVirtNY$% z=3}AOv5k9?_RJ){DGFpF)UA&lZV_Y4^m6>EhOjZ_(9>Q_v>ZE+tEJS|{_Vwt^`dA< zJ__z|c09ASKYYfyMg?idFm+eCDB;!bYdozCBB)H2t&lr7qYsXY+Q`CfB6czkHE~uo?szR-lJXGov0v`HY@ql>Z z5s^N^3#~+ogc4CiOOQ|yl^`WmOHIkmc0&@owqv_-eBGIIe)OL?vsqsf&#Y6C{>nPD zv**nD{{Q^j0nmT;s<$`4c}_n;hMpo|4}fk43IJLNsAEQ+h<$)$4q-K|yvJ*d zVSqI=MMNkwumIpD0TTd*8TgpV{G%n$XRlnjvbYN4ibd=XO`fF7ZUA=1Z#g_!XF8C>gwvMyS1nWh*XJVrN3X)=1ydYh?vb#bDeoa&CGjW14zK5 z2JoVrvTHhHpgi9iXGT&nRw@a09}4@4lyH<;_eoYKrK~r%?oRB7#IDvvm3R}a zLzL%dV6;Y%Z-5`<6OWgc43Y9!nf<;CQnhTOGKS9+%&&i$@HjvRl=7Ouye1d{AB9T@ z%L{1SR6yy`!zh*>#ee>O5;v}Y0zarve12*Y>^{KVZuhhJb+X=y@V%+A;Q_hPS}g5g z!`}h;RSr?uM`g6M@5E!@d<8onIf$0RHqRT=`2BzBv7rHAcTQAqdUWW&Q)7e2iTI`4i!7%@FTai_zx^_rTel%xG?=*&qGLxN zww9hixHOx^9w?437w4d4XVxc+Rj@09q{L~7 zZR&qP#Ban8>90-(sjM3gDpFgW^s5+P__=yaj}7A5h4&ED0c=bq$CdrswePzX(@aZ( zUD_@&~7&rQ)D?dC7~yCC1jCy=dS5Fv9YDYL}Xl0X7yF@d@!ZiPYVE)85|Q2f}`i z-OnBOU(&50--waHv$%167(q@|q-~5wU4xIFuRen)T)fu|ND(2MtWLz=E56^(H;P^) zrTl8&f5!!tkHz`VG5F!zHi#t*2;hGx0(u@hf_(iZ7^{it7@#z%1Hfme#|HnMNZm1F zGgt<{M%Wa8P_iS4b2aDsB82gY1Y*X@8jKHeIK`` zui3b(4N*xlE3hAa>K7nt8Nz!gRGla<9wT1qOk%^f8?b>vmdOkT&ObHBH? z!8$}x-|Qka?g;}zR?0S2w%M|4HfF1&RxzQYvMn>^ITD4XMz%rU8TNmA3}nbe;{av7 zjZGyj&uSxW7zn+wIh*W{b=r^wrptjVlmfK_<@BXu`I2BJIS$m=|KH z>`S2rb__2W^MY+f#y&GUf_TP^bR{O->>Bn`+T1oG*On461+f09W7upOt9!sQf2*9&dV>WV>6~`chZ`|u6CR>%+xM*t}ch_CJ$ZIyb z22~$1$q6_EZy-*WHyYb*eIXKNqa$Wx>?giXilGgj!Lbpn47@4WZBZYp;5chN;c}YV zGpm?fXO8^a*{Z#+CD^T{roLbeRq%_X3{PAbAX0*f86$!* zIi*itHTcrJ>=6o)%b6g_0~^X_{m00000NkvXXu0mjf D3#T;1 delta 2897 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 diff --git a/docs/assets/plugrl-lockup-on-dark.png b/docs/assets/plugrl-lockup-on-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..1a573bcb35069f9785a6fd869e8c0b0ffe324a8d GIT binary patch literal 19333 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 z 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 diff --git a/docs/stylesheets/brand.css b/docs/stylesheets/brand.css new file mode 100644 index 0000000..2f8d8bd --- /dev/null +++ b/docs/stylesheets/brand.css @@ -0,0 +1,37 @@ +/* The header logo is the PlugRL lockup, which already reads "PlugRL". */ + +/* Material hides the header logo below 76.25em, where the menu button takes its + place; keep it beside the menu button instead, so every width shows the same + brand. Same specificity as Material's rule, later in the cascade. */ +.md-header__button.md-logo { + display: inline-block; +} +/* There, the menu button comes first and the lockup after it. */ +@media screen and (max-width: 76.234375em) { + .md-header__button[for="__drawer"] { + order: -1; + } +} + +/* A wider image than Material's square logo: give it a little more height. */ +.md-header__button.md-logo img, +.md-header__button.md-logo svg { + height: 1.6rem; + width: auto; +} + +/* Hide the site name beside it. The page title that replaces the name once + the reader scrolls past the heading is the second topic, and stays. */ +.md-header__title .md-header__topic:first-child { + visibility: hidden; +} + +/* The mobile drawer shows the logo and the site name together: keep the + lockup and drop the text. */ +.md-nav--primary > .md-nav__title { + font-size: 0; +} +.md-nav--primary > .md-nav__title .md-logo img { + height: 2rem; + width: auto; +} diff --git a/mkdocs.yml b/mkdocs.yml index d471cb9..82a21cb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -31,9 +31,13 @@ plugins: - '**/sitemap.xml' theme: name: material - # The PlugRL mark: the light-plate version, for the dark header bar. - logo: assets/plugrl-mark-on-dark.svg + # The PlugRL lockup (mark and wordmark), light version, for the dark header + # bar; brand.css hides the site name beside it, which the lockup already says. + logo: assets/plugrl-lockup-on-dark.png + # The ICO for every browser; overrides/main.html adds the SVG for those that + # read it. Both fill their canvas with the plate. favicon: assets/favicon.ico + custom_dir: overrides features: - navigation.tracking - navigation.indexes @@ -69,6 +73,7 @@ markdown_extensions: # figures/coverage. extra_css: - stylesheets/coverage.css + - stylesheets/brand.css extra_javascript: - javascripts/coverage.js diff --git a/overrides/main.html b/overrides/main.html new file mode 100644 index 0000000..1b03d76 --- /dev/null +++ b/overrides/main.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} + +{#- The favicon as SVG as well, after theme.favicon's ICO, for browsers that read SVG icons: + it is cropped to the plate, and turns light in a dark colour scheme. -#} +{% block extrahead %} + +{% endblock %}