From 787ea9dad7816d4d20df1ba3c1be9f7c92c97a42 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Thu, 23 Mar 2023 18:16:34 +0100 Subject: [PATCH] docs: use mkdocs-numtide Move the theme and base config to another repo so it can be shared between projects. --- default.nix | 7 +- docs/assets/favicon.png | Bin 8159 -> 0 bytes docs/assets/fonts/Eurostile-Roman.ttf | Bin 56856 -> 0 bytes docs/assets/logo_numtide.png | Bin 8159 -> 0 bytes docs/default.nix | 30 ------- docs/stylesheets/extra.css | 114 -------------------------- flake.lock | 21 +++++ flake.nix | 11 ++- mkdocs.yml | 60 +------------- 9 files changed, 36 insertions(+), 207 deletions(-) delete mode 100644 docs/assets/favicon.png delete mode 100644 docs/assets/fonts/Eurostile-Roman.ttf delete mode 100644 docs/assets/logo_numtide.png delete mode 100644 docs/default.nix delete mode 100644 docs/stylesheets/extra.css diff --git a/default.nix b/default.nix index efa0d59..a45f28a 100644 --- a/default.nix +++ b/default.nix @@ -7,6 +7,7 @@ config = { }; } , rustVersion ? nixpkgs.rust-bin.stable."1.65.0".default +, mkdocs-numtide ? import inputs.mkdocs-numtide { pkgs = nixpkgs; } }: let lib = nixpkgs.lib; @@ -87,8 +88,7 @@ let terraform # Docs - mkdocs - python310Packages.mkdocs-material + mkdocs-numtide ]); }); in @@ -98,9 +98,6 @@ in # reduce a bit of repetition inherit (treefmt.passthru) withConfig; - # A collection of packages for the project - docs = nixpkgs.callPackage ./docs { }; - # Flake attributes default = treefmt; diff --git a/docs/assets/favicon.png b/docs/assets/favicon.png deleted file mode 100644 index 1aeceff136a7e0580f5fe21c7249554a592afb1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8159 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 n-YBtgNyQtn>~@y-HS;H* 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 bZf}V-KgChgiQ52;dpvCo1NCaCUFiP+x2ea; diff --git a/docs/assets/fonts/Eurostile-Roman.ttf b/docs/assets/fonts/Eurostile-Roman.ttf deleted file mode 100644 index c24127d1b1000820bbac090465915e740e3ba951..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56856 zcmeFa31D1Ry+3}=y)$!X-?wD4%#xYOo=GN?Nz&|To2Gkd=|T%FOUu$CRRJlWfb6n^ zh*Cws1yIxqD3wic0e2MKSVUa#;otXsiikcTli%li&b^bFmR9^({^Snd5WW15Mv`x;Kzdh~Jl9S=X24<*p5?|y$R^3iAPwEn`BXY6}8oyFgF z^vPT40H5RN(``FXdFQF(BYXTCjJZd4zGLgoy?pjU#-6j{d-Q?d%wJ|^#+2VHzsEP< zkpJ;CJ-l9C`TF}fUTloT|DY(h&UWy;x}H5L&QutU7h^$;7mj!>-WJB?mpE4N8@(%E z_)#^PEt=J4cQ{>ckJsl91ViCSw5B#zSKrVWPb5=K=}fk{rM0cSqq8g5-IMPv^cDLD z2Imb8kBp9uPfX5VuyAV8^x`E;mn~nha@Aq0*Brif-TDnjY}|C@QJc3M&5k+txUJic zKjFlaw(mIkZKv#f`#auw>S?FH>x^Azo^|%S-*e8n=e_s*3og9q;!7@l-({CyaphH4 zUvuqs@4x;7H?R-gxckE&x#^=f-*W56KK_YM-gf&PpZc_V=Vw0qxjpQzyYKnJ7w_Hs zrTgxG;K7G5KVSLk*S`MfW8e7Zx4!+I?|$#`@3SYK{Nay&{F9$P_4G5({_MG*KhI32 zZ5WUH*tyKY2HAVqEZ4Y?$9N;}=7W4bU&IgR8~IlLcK#lIt#Y68nDR~KS@k;ggX+iB zPpWsQpI5)2KCFICeKa17*Tx&-$#^E7ix0+!;^)La7QZc#OkAJ1J*gxuNl((B3?*xm zjmef|TXIqI=;YRvlJce!X_i*f&a^ijOh?mo>85mhx;H(P-jO~xeL?z?^yTU6(l@8? zOy8BhFa1FJYw2&NpUMnn#xfI`Etz98+cMk#pv=x<+T!eHu5c%h@&=yc1ALfI@s)f% zKZ?JNpCS7GDEj`>s=nWYzJC>c55yz!I)D!KeW0T6S6B7DCfT6(eM|B<(f9ZP`o6N< z_p7V={;l*+GlS*6Z_S+a2R1u9`zsyjI%l84kq>X1{tf=k21~%fl9#cWvu57)+AA|B z;k{+%sMnsESv9lLIPdujpTGY33!Z=c`754Z{rt9{pTyYDPkrtK&)xdmWzRkP+$ZU* z=l=ZM+n?Kv|GDSbbKd9pv&TQX?b#!rJ>uDQ&#rlP)w7GAoqTra*}}8QXYPFFj%Pmk z%*UR&`I)WHyz7~FKC|PQ?av&?*fXo1{@c@kdHR*7pL+TyPyhI7!YV?Zz5H~3F8(uq zk^a7xf0*CO_wX-@ZvlfG@BLr=E`ATcZ~x!;U6tpe9sM)^Y~}ZF{FtA)@40*jzERo7 z*ahrD_5k|;`ww;zyOLeTKEm!`ALl0aKHz|rUB~{&USe0U8`ve>#(u{Bz;0rnVlT5l zu|Kn0*`4eg>{0d^b__d~UCoYT-(p+YW9*wCc;9Bh!?*xT7o_73(=b{adCozC9He#_2aXR=-F zEcR}8HoKSI!p;G9p3BZ-zhnQ!zQjlQ7$4^o>@_ySO2FDl;OYWQ$p5e(^QC+lFm@aJ z1^Xpm&R6im_-gh!wui3)F1PWud>voU{>ENqzhb}U8~72x?@jzj;K>%gncc^a=Ev}3 z`El$8_8az7_B?xIp%YNr+ZHGzW5kk%{yD}#j9m!^9OhC1boM4 zzo0Buo?^=Yqwiov*_#6O#a?d<|G>snGQ}6WJ)Y5Aw0mtP zoo;AoSX~J9_pfVgXq>iLZJn83)uO7JDb*hc1_QysP>ZiW5zhw#exJ`*Xo@RG{D
    !xC~miF<%E*#!Uf9AuM}># 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 SMtuAb5g);SFL5O;Km0E=nIv}r diff --git a/docs/assets/logo_numtide.png b/docs/assets/logo_numtide.png deleted file mode 100644 index 1aeceff136a7e0580f5fe21c7249554a592afb1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8159 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 n-YBtgNyQtn>~@y-HS;H* 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 bZf}V-KgChgiQ52;dpvCo1NCaCUFiP+x2ea; diff --git a/docs/default.nix b/docs/default.nix deleted file mode 100644 index bf092a0..0000000 --- a/docs/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, mkdocs, python310Packages }: - -stdenv.mkDerivation { - name = "treefmt-docs"; - - src = builtins.path { - name = "treefmt-docs"; - path = ./.; - }; - - # Re-create the folder structure since mkdocs insists on having the - # mkdocs.yml at the root of the repo. - unpackPhase = '' - cp -r --no-preserve=mode $src docs - cp ${../mkdocs.yml} mkdocs.yml - ''; - - nativeBuildInputs = [ - mkdocs - python310Packages.mkdocs-material - ]; - - buildPhase = '' - mkdocs build - ''; - - installPhase = '' - mv site $out - ''; -} diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css deleted file mode 100644 index fc37b52..0000000 --- a/docs/stylesheets/extra.css +++ /dev/null @@ -1,114 +0,0 @@ -@font-face { - font-family: Eurostile-Roman; - src: url("../assets/fonts/Eurostile-Roman.ttf"); -} - -:root > * { - --md-text-font: Eurostile-Roman; -} -/* light scheme */ -[data-md-color-scheme="default"] { - --md-primary-fg-color: #f58220; - --md-primary-fg-color--light: #f58220; - --md-primary-fg-color--dark: #d41f26; - --md-accent-fg-color: #d41f26; - --md-header-bg-color: #ffffff; - --md-footer-bg-color: #939598; - --md-text-font: Eurostile-Roman; - --md-default-fg-color: #58595b; - --md-default-fg-color--light: #d41f26; -} - -/* dark scheme as set in .yaml */ -[data-md-color-scheme="slate"] { - --md-primary-fg-color: #546d78; - --md-typeset-color: #e9ebfc !important; - --md-default-fg-color: #e9ebfc; - --md-typeset-a-color: #fbaa31 !important; - /* --md-default-fg-color--light: #F58220; */ - --md-text-font: Eurostile-Roman; -} - -/* --------------------------- Header --------------------------- */ - -/* Logo */ -.md-header__button.md-logo img, -.md-header__button.md-logo svg { - height: 2rem; -} - -.md-header__button.md-logo { - background-color: #ffffff; - border-radius: 8px; - padding: 0.2rem; -} - -.md-header__title { - color: #ffffff; - font-size: 1.4rem; -} - -/* search input in header */ -.md-search__form { - height: 1.8rem; - margin: 9px 0; -} - -.md-search-result__meta { - margin-top: 0.3rem; -} - -.md-tabs__link { - font-size: 0.8rem; -} - -/* --------------------------- Navigation --------------------------- */ - -.md-nav__title { - color: #ffffff; - background-color: #939598 !important; - font-size: 1.1rem; - font-weight: 500; -} - -.md-nav { - font-size: 0.8rem; - line-height: 1.3; -} - -.md-sidebar--primary .md-sidebar__scrollwrap { - border-right: 1px solid #939598; -} - -.md-sidebar__inner { - padding-right: 0 !important; -} - -.md-nav__link--passed { - color: #fbaa31; -} - -/* --------------------------- font stuff --------------------------- */ - -.md-typeset h1 { - font-size: 1.75rem; - line-height: 1.3; - margin: 0 0 1.25em; - font-weight: 500; -} - -.md-typeset h2 { - color: #fbaa31; - font-weight: 500; - line-height: 1.3; - margin: 0 0 1.25em; -} - -.md-typeset h3 { - color: #fbaa31; -} - -/* highlights / links */ -.md-typeset a { - color: #fbaa31; -} diff --git a/flake.lock b/flake.lock index ecf8252..978bd03 100644 --- a/flake.lock +++ b/flake.lock @@ -35,6 +35,26 @@ "type": "github" } }, + "mkdocs-numtide": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1680358379, + "narHash": "sha256-f4v6oIcqoQfUKfOsWbFkgKeGZkKTAo0nRwvL0IQGGnQ=", + "owner": "numtide", + "repo": "mkdocs-numtide", + "rev": "af6c4a5f7c0a59da3b557795f57dcae5707523ac", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "mkdocs-numtide", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1671160997, @@ -54,6 +74,7 @@ "root": { "inputs": { "flake-parts": "flake-parts", + "mkdocs-numtide": "mkdocs-numtide", "nixpkgs": "nixpkgs", "rust-overlay": "rust-overlay" } diff --git a/flake.nix b/flake.nix index 3c86563..c094b8a 100644 --- a/flake.nix +++ b/flake.nix @@ -9,13 +9,17 @@ inputs.rust-overlay.url = "github:oxalica/rust-overlay"; inputs.rust-overlay.inputs.nixpkgs.follows = "nixpkgs"; - outputs = { self, nixpkgs, flake-parts, rust-overlay }@inputs: + inputs.mkdocs-numtide.url = "github:numtide/mkdocs-numtide"; + inputs.mkdocs-numtide.inputs.nixpkgs.follows = "nixpkgs"; + + outputs = { self, nixpkgs, flake-parts, mkdocs-numtide, ... }@inputs: flake-parts.lib.mkFlake { inherit self; } { systems = nixpkgs.lib.systems.flakeExposed; perSystem = { system, pkgs, ... }: let packages = import ./. { inherit system; + mkdocs-numtide = mkdocs-numtide.packages.${system}.default; }; in { @@ -25,6 +29,11 @@ # Allow `nix run github:numtide/treefmt`. packages.default = packages.treefmt; + packages.docs = mkdocs-numtide.lib.${system}.mkDocs { + name = "treefmt-docs"; + src = ./.; + }; + devShells.default = packages.devShell; }; }; diff --git a/mkdocs.yml b/mkdocs.yml index ca0adfb..d1db7e3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,3 +1,5 @@ +INHERIT: !ENV MKDOCS_NUMTIDE_THEME + ### Site metadata ### site_name: treefmt @@ -6,64 +8,8 @@ site_url: https://numtide.github.io/treefmt/ repo_name: 'numtide/treefmt' repo_url: https://github.com/numtide/treefmt edit_uri: edit/main/docs -copyright: Copyright © Numtide -extra: - social: - - icon: fontawesome/brands/github - link: https://github.com/numtide - name: Numtide on Github - - icon: fontawesome/brands/twitter - link: https://twitter.com/numtide - name: Numtide on Twitter - generator: false # hide the line "Made with Material for MkDocs" - -### Build settings ### - -extra_css: - - stylesheets/extra.css - -markdown_extensions: - - tables - - admonition - - pymdownx.escapeall - - pymdownx.highlight: - anchor_linenums: true - - pymdownx.inlinehilite - - pymdownx.snippets - - pymdownx.superfences - - pymdownx.tabbed: - alternate_style: true - - pymdownx.tasklist - -theme: - name: 'material' - palette: - - scheme: default - primary: teal - accent: orange - toggle: - icon: material/brightness-7 - name: Switch to dark mode - - scheme: slate - primary: blue grey - accent: orange - toggle: - icon: material/brightness-4 - name: Switch to light mode - font: - text: Roboto -# text: Montserrat - code: Roboto Mono - favicon: assets/favicon.png - logo: assets/logo.png - - features: - - navigation.tabs - - navigation.tabs.sticky - - navigation.top - - content.action.edit - - content.action.view +### Navigation ### nav: - Home: index.md