From e7d71e7684ebcfea6562ec7a08f26724b71703b5 Mon Sep 17 00:00:00 2001 From: Lucas Kent Date: Thu, 28 Nov 2024 16:43:08 +1100 Subject: [PATCH] Website: Generate landing page and docs for released versions --- .github/workflows/publish-to-pages.yaml | 5 + .gitignore | 1 + Cargo.lock | 81 +- website/Cargo.toml | 4 +- website/assets/arrow_right.png | Bin 0 -> 331 bytes website/assets/favicon.ico | Bin 0 -> 41662 bytes website/assets/logo.png | Bin 0 -> 1667 bytes website/assets/style.css | 2081 +++++++++++++++++++++++ website/assets/title_image.png | Bin 0 -> 369674 bytes website/readme.md | 6 + website/src/docs.rs | 52 + website/src/main.rs | 23 + website/src/version_tags.rs | 60 + website/templates/base.html | 56 + website/templates/docs.html | 22 + website/templates/landing.html | 97 ++ 16 files changed, 2485 insertions(+), 3 deletions(-) create mode 100644 website/assets/arrow_right.png create mode 100644 website/assets/favicon.ico create mode 100644 website/assets/logo.png create mode 100644 website/assets/style.css create mode 100644 website/assets/title_image.png create mode 100644 website/readme.md create mode 100644 website/src/version_tags.rs create mode 100644 website/templates/base.html create mode 100644 website/templates/docs.html create mode 100644 website/templates/landing.html diff --git a/.github/workflows/publish-to-pages.yaml b/.github/workflows/publish-to-pages.yaml index d9b8e6d0b..d40b582a4 100644 --- a/.github/workflows/publish-to-pages.yaml +++ b/.github/workflows/publish-to-pages.yaml @@ -1,8 +1,13 @@ name: publish to github pages on: + # Trigger when there is a new commit on main branch push: branches: [ main ] + # also trigger when a new release tag is added to the repo + push: + tags: + - "v*" # Cancel already running jobs concurrency: diff --git a/.gitignore b/.gitignore index 218ac7692..ba7ca1f2f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ /docs/book /docs/mdbook_bin /website/root +/website/shotover_repo_for_docs /shotover-proxy/build/packages /some_local_file /test-helpers/src/connection/kafka/node/node_modules \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index c9c1c4447..c563e037a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -457,9 +457,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.7.3" +version = "1.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be28bd063fa91fd871d131fc8b68d7cd4c5fa0869bea68daca50dcb1cbd76be2" +checksum = "9f20685047ca9d6f17b994a07f629c813f08b5bce65523e47124879e60103d45" dependencies = [ "aws-smithy-async", "aws-smithy-http", @@ -679,6 +679,15 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +[[package]] +name = "basic-toml" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8" +dependencies = [ + "serde", +] + [[package]] name = "bcrypt-pbkdf" version = "0.10.0" @@ -2340,6 +2349,15 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "humansize" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] + [[package]] name = "hyper" version = "0.14.31" @@ -2955,6 +2973,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3967,6 +3995,47 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rinja" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dc4940d00595430b3d7d5a01f6222b5e5b51395d1120bdb28d854bb8abb17a5" +dependencies = [ + "humansize", + "itoa", + "percent-encoding", + "rinja_derive", +] + +[[package]] +name = "rinja_derive" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d9ed0146aef6e2825f1b1515f074510549efba38d71f4554eec32eb36ba18b" +dependencies = [ + "basic-toml", + "memchr", + "mime", + "mime_guess", + "proc-macro2", + "quote", + "rinja_parser", + "rustc-hash", + "serde", + "syn 2.0.90", +] + +[[package]] +name = "rinja_parser" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f9a866e2e00a7a1fb27e46e9e324a6f7c0e7edc4543cae1d38f4e4a100c610" +dependencies = [ + "memchr", + "nom", + "serde", +] + [[package]] name = "rsa" version = "0.9.7" @@ -5550,6 +5619,12 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "unicase" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" + [[package]] name = "unicode-ident" version = "1.0.14" @@ -5812,6 +5887,8 @@ dependencies = [ "anyhow", "clap", "devserver_lib", + "rinja", + "semver", "subprocess", ] diff --git a/website/Cargo.toml b/website/Cargo.toml index f05ab3de4..48b30ef5b 100644 --- a/website/Cargo.toml +++ b/website/Cargo.toml @@ -8,5 +8,7 @@ publish = false [dependencies] subprocess.workspace = true anyhow.workspace = true +rinja = "0.3.5" +semver = "1.0.23" devserver_lib = { version = "0.4.2", default-features = false } -clap.workspace = true +clap.workspace = true \ No newline at end of file diff --git a/website/assets/arrow_right.png b/website/assets/arrow_right.png new file mode 100644 index 0000000000000000000000000000000000000000..73996a40be81ec15c0227b1a4d88099cdfd26bc1 GIT binary patch literal 331 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 YN9JzbRA2iZiw~~n63JbChDaa(1EVw4CIA2c literal 0 HcmV?d00001 diff --git a/website/assets/logo.png b/website/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9324350b29208cd289bbecddd239bb7df2560092 GIT binary patch literal 1667 zcmV-}27LL6P)ndzG~HU{kV?s|=PH~C56#WSp7{`=mW_udeQ2-Ahb z_zmE5ARvWb`I@3+^OLuV5Hbjaoco1Coiif?M7f7Q#?MCtYLUf)BkSmpsvRmoVYjtmd6=bHcKZ}oX4tjJ^ zQUrEd18$hWO%q%~Iq>vma(D}_i9iZ6Q#g>@*$jB3)e=02&<1p2$)PM<1A!By7crz2 zG_1kS9eIQ*nljn%fFCG9a3{5bPj|}A?=)Nzs~J{Y=s(V^MW22qU2QxTGvY#!rrQ-n z=+*^SiiC(}d@@aq;!80wg18k!Fm8#!s;B+123u-nMxSpUEr7ytv4u{EdIyNSCJ8x? zi>iYcI9VRJAaYw9V`hPn`ajc+hFg+i^b=-qFv=WG{$p@jG{LCgb&*-GeS$JW8`WTd zxDi7NVV<1&6r?XA7r(MsU-aXbM!y%nJ%nUvezZ7HLEZqqB)W*vowYG55gnKy-C~A}5#~v?XV=tt`sLzRUYeE|0Rvr?+T0{`jUm%(+X)8BBF^lw zhI9^5W2-lAzWHa{F@PnE5ecusx>bOqzl{Jq{aqj=)vylhN4vRLaMPK|uyo;Z*U;|s zL1Z5$hcnRmGvnOkyWk>2uk0C6`ln{OAt^?9Kv%UsmTrB=)@7NDC5Vq=2*H;h&D_n{ z&B4U0IQ8v|2cVGIPIIIc6nATu2q)-*xN*JPUZ1$&sv6h|qNyrH3jtpskl#$+op&-- zC~)Vp=}Id&#u!kMu^?1d(1H4{ie7%(RuFtzfBR_td6ocKgkBIp)p9BAWa`xVj{K|% zdEIbDhr6|~T0wh+$nUI=w=M5GN(`sJ{#`dUO$QHX_X-lD=o^$shL%jh3s-DU8Yq)}Jo!d>Za(f4dr05t`syEWFql z&vhJ!KGIsbHIA!R-KjxqV2(sga0W$JHDouziXk7bZKps{KL8(5iFksEpUgGVtXjn+ z@3=W;loARlW zpZfiuS5>Ax1Mn{)9VFUYeeoUzA5eh24H3YJt7@R2fAOzZOknkgy$R8#{AY_02#BL2eJn zR)6`@xv!J~TVYxuvchn(Ap7Isfvzq~S_Wp$wnsW~+||KknPXrAE!AbPA18N4kl5S zFv-y`kChILG<{s9-~v@;2`t*kEpjC4RCTWQ$35Kzd_bOK)ig69&#(%Di;b^@kP$3b z;%fvg;VSaf;bgDYA-R^Lq{GRlmROvK5!?aX!j|v|esmn_VujyIE*<6R=~ggcE?Aes z?_h8l3YT^HgMfpA=_r^kkMUb4&4XoKw*7H01YQt3q;