From 3d51ceaef353aab8f1b2eb602b33b67ae5e6fd29 Mon Sep 17 00:00:00 2001 From: amrbashir Date: Sat, 18 Nov 2023 02:00:43 +0200 Subject: [PATCH 01/36] feat: add `/releases` page --- astro.config.mjs | 3 + package.json | 3 + pnpm-lock.yaml | 421 ++++++++++++++++++++++++++ src/components/overrides/Header.astro | 111 +++++++ src/components/solid/Releases.css | 118 ++++++++ src/components/solid/Releases.tsx | 106 +++++++ src/content/docs/releases.mdx | 8 + tsconfig.json | 2 + 8 files changed, 772 insertions(+) create mode 100644 src/components/overrides/Header.astro create mode 100644 src/components/solid/Releases.css create mode 100644 src/components/solid/Releases.tsx create mode 100644 src/content/docs/releases.mdx diff --git a/astro.config.mjs b/astro.config.mjs index 4564f40263..77a97f71b6 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -6,6 +6,7 @@ import locales from './locales.json'; import configGenerator from './src/plugins/configGenerator'; import starlightLinksValidator from 'starlight-links-validator'; import starlightBlog from 'starlight-blog'; +import solid from '@astrojs/solid-js'; await configGenerator(); @@ -58,6 +59,7 @@ const site = 'https://beta.tauri.app'; export default defineConfig({ site, integrations: [ + solid(), starlightLinksValidator(), starlightBlog({ authors }), starlight({ @@ -79,6 +81,7 @@ export default defineConfig({ MarkdownContent: 'starlight-blog/overrides/MarkdownContent.astro', Sidebar: 'starlight-blog/overrides/Sidebar.astro', ThemeSelect: 'starlight-blog/overrides/ThemeSelect.astro', + Header: 'src/components/overrides/Header.astro', }, head: [ { diff --git a/package.json b/package.json index fb5ed80d65..9f484df071 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ }, "dependencies": { "@astrojs/markdown-remark": "^3.4.0", + "@astrojs/solid-js": "^3.0.2", "@astrojs/starlight": "^0.12.0", "@types/json-schema": "^7.0.15", "astro": "^3.5.3", @@ -28,6 +29,8 @@ "rehype-autolink-headings": "^7.1.0", "sharp": "^0.32.6", "shiki": "^0.14.5", + "solid-js": "^1.8.5", + "solid-markdown": "^2.0.0", "starlight-blog": "^0.4.0", "starlight-links-validator": "^0.4.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2373f490f7..2b835e2c07 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,6 +16,9 @@ importers: '@astrojs/markdown-remark': specifier: ^3.4.0 version: 3.4.0(astro@3.5.3) + '@astrojs/solid-js': + specifier: ^3.0.2 + version: 3.0.2(solid-js@1.8.5)(vite@4.4.9) '@astrojs/starlight': specifier: ^0.12.0 version: 0.12.0(astro@3.5.3) @@ -43,6 +46,12 @@ importers: shiki: specifier: ^0.14.5 version: 0.14.5 + solid-js: + specifier: ^1.8.5 + version: 1.8.5 + solid-markdown: + specifier: ^2.0.0 + version: 2.0.0(solid-js@1.8.5) starlight-blog: specifier: ^0.4.0 version: 0.4.0(@astrojs/starlight@0.12.0)(astro@3.5.3) @@ -208,6 +217,19 @@ packages: zod: 3.21.1 dev: false + /@astrojs/solid-js@3.0.2(solid-js@1.8.5)(vite@4.4.9): + resolution: {integrity: sha512-BGTtS/ygAlcopELdjgTURHnxS2AoDRKjpu3Dgp12TOcArBMCiI/rYdHtlB+ligMm9Bbvar8qdzXsT1zlrxK5jQ==} + engines: {node: '>=18.14.1'} + peerDependencies: + solid-js: ^1.4.3 + dependencies: + solid-js: 1.8.5 + vite-plugin-solid: 2.7.2(solid-js@1.8.5)(vite@4.4.9) + transitivePeerDependencies: + - supports-color + - vite + dev: false + /@astrojs/starlight@0.12.0(astro@3.5.3): resolution: {integrity: sha512-WPLpq82vbTznNfQjtdLBjKGuDsQE3tpPxFqosjxX+pSeMES/Cz5Dmzla78ej7xWIp7zjovPqkNytbC1EaeOMwA==} peerDependencies: @@ -284,6 +306,29 @@ packages: - supports-color dev: false + /@babel/core@7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.3 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/generator@7.22.10: resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} @@ -294,6 +339,16 @@ packages: jsesc: 2.5.2 dev: false + /@babel/generator@7.23.3: + resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 + jsesc: 2.5.2 + dev: false + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -312,6 +367,40 @@ packages: semver: 6.3.1 dev: false + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.21.10 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: false + + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: false + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: false + /@babel/helper-environment-visitor@7.22.5: resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} engines: {node: '>=6.9.0'} @@ -325,6 +414,14 @@ packages: '@babel/types': 7.22.11 dev: false + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.3 + dev: false + /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} @@ -332,6 +429,27 @@ packages: '@babel/types': 7.22.11 dev: false + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: false + + /@babel/helper-module-imports@7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: false + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.3 + dev: false + /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} @@ -353,11 +471,44 @@ packages: '@babel/helper-validator-identifier': 7.22.5 dev: false + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: false + /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} dev: false + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: false + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -365,6 +516,13 @@ packages: '@babel/types': 7.22.11 dev: false + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: false + /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} @@ -377,11 +535,21 @@ packages: engines: {node: '>=6.9.0'} dev: false + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: false + /@babel/helper-validator-identifier@7.22.5: resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} dev: false + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + dev: false + /@babel/helper-validator-option@7.22.5: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} @@ -398,6 +566,17 @@ packages: - supports-color dev: false + /@babel/helpers@7.23.2: + resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/highlight@7.22.13: resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} engines: {node: '>=6.9.0'} @@ -415,6 +594,14 @@ packages: '@babel/types': 7.22.11 dev: false + /@babel/parser@7.23.3: + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.3 + dev: false + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.11): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} @@ -425,6 +612,48 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: false + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.3): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: false + /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.11): resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} engines: {node: '>=6.9.0'} @@ -439,6 +668,42 @@ packages: '@babel/types': 7.22.11 dev: false + /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) + dev: false + + /@babel/preset-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.3) + dev: false + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 + dev: false + /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} @@ -466,6 +731,24 @@ packages: - supports-color dev: false + /@babel/traverse@7.23.3: + resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/types@7.22.11: resolution: {integrity: sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==} engines: {node: '>=6.9.0'} @@ -475,6 +758,15 @@ packages: to-fast-properties: 2.0.0 dev: false + /@babel/types@7.23.3: + resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: false + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -1035,6 +1327,16 @@ packages: '@types/babel__traverse': 7.20.1 dev: false + /@types/babel__core@7.20.4: + resolution: {integrity: sha512-mLnSC22IC4vcWiuObSRjrLd9XcBTGf59vUSoq2jkQDJ/QQ8PMI9rSuzE+aEV8karUMbskw07bKYoUJCKTUaygg==} + dependencies: + '@babel/parser': 7.22.14 + '@babel/types': 7.22.11 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.20.1 + dev: false + /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: @@ -1310,6 +1612,28 @@ packages: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false + /babel-plugin-jsx-dom-expressions@0.37.8(@babel/core@7.23.3): + resolution: {integrity: sha512-nVHH6g7541aaAQJAsyWHvjH7GCXZ+8tuF3Qu4y9W9aKwonRbcJL+yyMatDJLvjC54iIuGowiiZM6Rm3AVJczGg==} + peerDependencies: + '@babel/core': ^7.20.12 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-imports': 7.18.6 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.3) + '@babel/types': 7.22.11 + html-entities: 2.3.3 + validate-html-nesting: 1.2.2 + dev: false + + /babel-preset-solid@1.8.4(@babel/core@7.23.3): + resolution: {integrity: sha512-TfI09EOFHsbhVqoM+svop3zY4zOUIBlZsGU16Rgd4NsYVXw6lv2VEn7dmlpczMMQy0IeO3PFiXlMQZWutB+uAQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + babel-plugin-jsx-dom-expressions: 0.37.8(@babel/core@7.23.3) + dev: false + /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} dev: false @@ -1547,6 +1871,10 @@ packages: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: false + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: false + /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} @@ -1565,6 +1893,10 @@ packages: resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} dev: false + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false + /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -2419,6 +2751,10 @@ packages: space-separated-tokens: 2.0.2 dev: false + /html-entities@2.3.3: + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + dev: false + /html-escaper@3.0.3: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} @@ -2568,6 +2904,11 @@ packages: engines: {node: '>=12'} dev: false + /is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + dev: false + /is-wsl@3.0.0: resolution: {integrity: sha512-TQ7xXW/fTBaz/HhGSV779AC99ocpvb9qJPuPwyIea+F+Z+htcQ1wouAA0xEQaa4saVqyP8mwkoYp5efeM/4Gbg==} engines: {node: '>=16'} @@ -2934,6 +3275,13 @@ packages: '@types/mdast': 4.0.0 dev: false + /merge-anything@5.1.7: + resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} + engines: {node: '>=12.13'} + dependencies: + is-what: 4.1.16 + dev: false + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: false @@ -3987,6 +4335,11 @@ packages: lru-cache: 6.0.0 dev: false + /seroval@0.12.4: + resolution: {integrity: sha512-JIsZHp98o+okpYN8HEPyI9Blr0gxAUPIGvg3waXrEMFjPz9obiLYMz0uFiUGezKiCK8loosYbn8WsqO8WtAJUA==} + engines: {node: '>=10'} + dev: false + /server-destroy@1.0.1: resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} dev: false @@ -4085,6 +4438,45 @@ packages: sax: 1.2.4 dev: false + /solid-js@1.8.5: + resolution: {integrity: sha512-xvtJvzJzWbsn35oKFhW9kNwaxG1Z/YLMsDp4tLVcYZTMPzvzQ8vEZuyDQ6nt7xDArVgZJ7TUFrJUwrui/oq53A==} + dependencies: + csstype: 3.1.2 + seroval: 0.12.4 + dev: false + + /solid-markdown@2.0.0(solid-js@1.8.5): + resolution: {integrity: sha512-TttuvRaAuvHNIOZ2Weqfi4C16SAE5QaWA4qLwZY8Ad/g7gQyE3aUenXK4sgy9spM/uumz150JIc2oxDGiNLfEw==} + engines: {node: '>=18', pnpm: '>=8.6.0'} + peerDependencies: + solid-js: ^1.6.0 + dependencies: + comma-separated-tokens: 2.0.3 + property-information: 6.3.0 + remark-gfm: 3.0.1 + remark-parse: 10.0.2 + remark-rehype: 10.1.0 + solid-js: 1.8.5 + space-separated-tokens: 2.0.2 + style-to-object: 0.3.0 + unified: 10.1.2 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + dev: false + + /solid-refresh@0.5.3(solid-js@1.8.5): + resolution: {integrity: sha512-Otg5it5sjOdZbQZJnvo99TEBAr6J7PQ5AubZLNU6szZzg3RQQ5MX04oteBIIGDs0y2Qv8aXKm9e44V8z+UnFdw==} + peerDependencies: + solid-js: ^1.3 + dependencies: + '@babel/generator': 7.22.10 + '@babel/helper-module-imports': 7.22.5 + '@babel/types': 7.22.11 + solid-js: 1.8.5 + dev: false + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -4228,6 +4620,12 @@ packages: engines: {node: '>=0.10.0'} dev: false + /style-to-object@0.3.0: + resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + /style-to-object@0.4.2: resolution: {integrity: sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==} dependencies: @@ -4533,6 +4931,10 @@ packages: sade: 1.8.1 dev: false + /validate-html-nesting@1.2.2: + resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} + dev: false + /vfile-location@4.1.0: resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} dependencies: @@ -4578,6 +4980,25 @@ packages: vfile-message: 4.0.2 dev: false + /vite-plugin-solid@2.7.2(solid-js@1.8.5)(vite@4.4.9): + resolution: {integrity: sha512-GV2SMLAibOoXe76i02AsjAg7sbm/0lngBlERvJKVN67HOrJsHcWgkt0R6sfGLDJuFkv2aBe14Zm4vJcNME+7zw==} + peerDependencies: + solid-js: ^1.7.2 + vite: ^3.0.0 || ^4.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.3) + '@types/babel__core': 7.20.4 + babel-preset-solid: 1.8.4(@babel/core@7.23.3) + merge-anything: 5.1.7 + solid-js: 1.8.5 + solid-refresh: 0.5.3(solid-js@1.8.5) + vite: 4.4.9 + vitefu: 0.2.4(vite@4.4.9) + transitivePeerDependencies: + - supports-color + dev: false + /vite@4.4.9: resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} diff --git a/src/components/overrides/Header.astro b/src/components/overrides/Header.astro new file mode 100644 index 0000000000..dc23f06ece --- /dev/null +++ b/src/components/overrides/Header.astro @@ -0,0 +1,111 @@ +--- +import type { Props } from '@astrojs/starlight/props'; +import LanguageSelect from '@astrojs/starlight/components/LanguageSelect.astro'; +import Search from '@astrojs/starlight/components/Search.astro'; +import SiteTitle from '@astrojs/starlight/components/SiteTitle.astro'; +import SocialIcons from '@astrojs/starlight/components/SocialIcons.astro'; +import ThemeSelect from '@astrojs/starlight/components/ThemeSelect.astro'; +--- + +
+
+ +
+
+ +
+
+ + Releases + + +
+
+ + diff --git a/src/components/solid/Releases.css b/src/components/solid/Releases.css new file mode 100644 index 0000000000..de6a9a9700 --- /dev/null +++ b/src/components/solid/Releases.css @@ -0,0 +1,118 @@ +.flex { + display: flex; +} + +.gap-2 { + gap: 2rem; +} + +.col { + flex-direction: column; +} + +button { + margin: 0 !important; + border-radius: 5px; + padding: 1rem; + border: 1px solid transparent; + box-sizing: border-box; + background-color: transparent; +} +button.selected { + background-color: var(--sl-color-gray-5); +} +html[data-theme='light'] button.selected { + background-color: var(--sl-color-gray-6); +} +button:hover { + border-color: white; + width: 100%; +} +html[data-theme='light'] button:hover { + border-color: black; +} + +.width-full { + width: 100%; +} + +aside { + padding-top: 1rem; + flex-shrink: 0; + align-self: flex-start; +} + +.version-selector-container, +aside { + position: -webkit-sticky; + position: sticky; + top: var(--sl-nav-height); +} +.version-selector-container { + padding: 1rem; + background-color: var(--sl-color-bg); + border-bottom: 1px solid var(--sl-color-gray-5); +} + +.version-selector { + width: 100%; + display: flex; + text-align: center; + height: 40px; + border: 0; + border-radius: 5px; +} + +html[data-theme='light'] .version-selector { + background-color: var(--sl-color-gray-6); +} + +.version-selector:hover { + border: 1px solid white; +} + +html[data-theme='light'] .version-selector:hover { + border-color: black; +} + +.vertical-sep { + width: 1px; + background-color: var(--sl-color-gray-5); +} + +.m-0 { + margin: 0 !important; +} + +.spinner-container { + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.lds-dual-ring { + display: inline-block; + width: 80px; + height: 80px; +} +.lds-dual-ring:after { + content: ' '; + display: block; + width: 64px; + height: 64px; + margin: 8px; + border-radius: 50%; + border: 6px solid var(--sl-color-gray-5); + border-color: var(--sl-color-gray-5) transparent var(--sl-color-gray-5) transparent; + animation: lds-dual-ring 1.2s linear infinite; +} +@keyframes lds-dual-ring { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/src/components/solid/Releases.tsx b/src/components/solid/Releases.tsx new file mode 100644 index 0000000000..b94201fc26 --- /dev/null +++ b/src/components/solid/Releases.tsx @@ -0,0 +1,106 @@ +import { createSignal, For, createEffect, Show, onMount } from 'solid-js'; +import { SolidMarkdown } from 'solid-markdown'; +import './Releases.css'; + +function Release(props: { url: string }) { + type ReleaseNotes = { version: string; notes: string }; + const [releaseNotes, setReleaseNotes] = createSignal(); + const [selectedNotes, setSelectedNotes] = createSignal(); + + createEffect(async () => { + const response = await fetch(props.url); + const responseText: string = await response.text(); + const notes = responseText + .split('## \\[') + .filter((item) => !item.includes('# Changelog')) + .map((section) => { + const [version, ...c] = section.split('\n'); + const contents = c.join('\n'); + return { + version: version.replace('\\[', '').replace(']', ''), + notes: contents, + }; + }) + .filter(({ version }) => !version.includes('Not Published')); + + setReleaseNotes(notes); + setSelectedNotes(notes[0]); + }); + + return ( +
+ + +
+ } + > +
+ +
+ +
+ +
+
+ + + ); +} + +export default function Releases() { + const packages = [ + { + name: 'tauri', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/core/tauri/CHANGELOG.md', + }, + { + name: '@tauri-apps/api', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/api/CHANGELOG.md', + }, + { + name: 'tauri-cli', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/CHANGELOG.md', + }, + { + name: '@tauri-apps/cli', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/node/CHANGELOG.md', + }, + { + name: 'tauri-bundler', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/bundler/CHANGELOG.md', + }, + ]; + + const [selctedPackage, setSelectedPackage] = createSignal(packages[0]); + + return ( +
+ + + + + +
+ ); +} diff --git a/src/content/docs/releases.mdx b/src/content/docs/releases.mdx new file mode 100644 index 0000000000..4bfbc511b7 --- /dev/null +++ b/src/content/docs/releases.mdx @@ -0,0 +1,8 @@ +--- +title: 'Releases' +template: splash +--- + +import Releases from '../../components/solid/Releases'; + + diff --git a/tsconfig.json b/tsconfig.json index 2c2a6f54e8..e0b8a6e689 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,8 @@ "extends": "astro/tsconfigs/strict", "compilerOptions": { "baseUrl": ".", + "jsx": "preserve", + "jsxImportSource": "solid-js", "paths": { "@components/*": ["src/components/*"] } From a798d06a14748e45d6809ad36d3c2e41c4300e80 Mon Sep 17 00:00:00 2001 From: amrbashir Date: Thu, 14 Dec 2023 01:28:55 +0200 Subject: [PATCH 02/36] remove solid --- astro.config.mjs | 2 - src/components/solid/Releases.css | 118 ------------------------------ src/components/solid/Releases.tsx | 106 --------------------------- src/content/docs/releases.mdx | 4 - tsconfig.json | 2 - 5 files changed, 232 deletions(-) delete mode 100644 src/components/solid/Releases.css delete mode 100644 src/components/solid/Releases.tsx diff --git a/astro.config.mjs b/astro.config.mjs index 12831996ea..02ec23fb83 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -6,7 +6,6 @@ import locales from './locales.json'; import configGenerator from './src/plugins/configGenerator'; import starlightLinksValidator from 'starlight-links-validator'; import starlightBlog from 'starlight-blog'; -import solid from '@astrojs/solid-js'; await configGenerator(); @@ -59,7 +58,6 @@ const site = 'https://beta.tauri.app'; export default defineConfig({ site, integrations: [ - solid(), starlightLinksValidator(), starlightBlog({ authors }), starlight({ diff --git a/src/components/solid/Releases.css b/src/components/solid/Releases.css deleted file mode 100644 index de6a9a9700..0000000000 --- a/src/components/solid/Releases.css +++ /dev/null @@ -1,118 +0,0 @@ -.flex { - display: flex; -} - -.gap-2 { - gap: 2rem; -} - -.col { - flex-direction: column; -} - -button { - margin: 0 !important; - border-radius: 5px; - padding: 1rem; - border: 1px solid transparent; - box-sizing: border-box; - background-color: transparent; -} -button.selected { - background-color: var(--sl-color-gray-5); -} -html[data-theme='light'] button.selected { - background-color: var(--sl-color-gray-6); -} -button:hover { - border-color: white; - width: 100%; -} -html[data-theme='light'] button:hover { - border-color: black; -} - -.width-full { - width: 100%; -} - -aside { - padding-top: 1rem; - flex-shrink: 0; - align-self: flex-start; -} - -.version-selector-container, -aside { - position: -webkit-sticky; - position: sticky; - top: var(--sl-nav-height); -} -.version-selector-container { - padding: 1rem; - background-color: var(--sl-color-bg); - border-bottom: 1px solid var(--sl-color-gray-5); -} - -.version-selector { - width: 100%; - display: flex; - text-align: center; - height: 40px; - border: 0; - border-radius: 5px; -} - -html[data-theme='light'] .version-selector { - background-color: var(--sl-color-gray-6); -} - -.version-selector:hover { - border: 1px solid white; -} - -html[data-theme='light'] .version-selector:hover { - border-color: black; -} - -.vertical-sep { - width: 1px; - background-color: var(--sl-color-gray-5); -} - -.m-0 { - margin: 0 !important; -} - -.spinner-container { - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; -} - -.lds-dual-ring { - display: inline-block; - width: 80px; - height: 80px; -} -.lds-dual-ring:after { - content: ' '; - display: block; - width: 64px; - height: 64px; - margin: 8px; - border-radius: 50%; - border: 6px solid var(--sl-color-gray-5); - border-color: var(--sl-color-gray-5) transparent var(--sl-color-gray-5) transparent; - animation: lds-dual-ring 1.2s linear infinite; -} -@keyframes lds-dual-ring { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} diff --git a/src/components/solid/Releases.tsx b/src/components/solid/Releases.tsx deleted file mode 100644 index b94201fc26..0000000000 --- a/src/components/solid/Releases.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import { createSignal, For, createEffect, Show, onMount } from 'solid-js'; -import { SolidMarkdown } from 'solid-markdown'; -import './Releases.css'; - -function Release(props: { url: string }) { - type ReleaseNotes = { version: string; notes: string }; - const [releaseNotes, setReleaseNotes] = createSignal(); - const [selectedNotes, setSelectedNotes] = createSignal(); - - createEffect(async () => { - const response = await fetch(props.url); - const responseText: string = await response.text(); - const notes = responseText - .split('## \\[') - .filter((item) => !item.includes('# Changelog')) - .map((section) => { - const [version, ...c] = section.split('\n'); - const contents = c.join('\n'); - return { - version: version.replace('\\[', '').replace(']', ''), - notes: contents, - }; - }) - .filter(({ version }) => !version.includes('Not Published')); - - setReleaseNotes(notes); - setSelectedNotes(notes[0]); - }); - - return ( -
- - -
- } - > -
- -
- -
- -
-
- - - ); -} - -export default function Releases() { - const packages = [ - { - name: 'tauri', - url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/core/tauri/CHANGELOG.md', - }, - { - name: '@tauri-apps/api', - url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/api/CHANGELOG.md', - }, - { - name: 'tauri-cli', - url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/CHANGELOG.md', - }, - { - name: '@tauri-apps/cli', - url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/node/CHANGELOG.md', - }, - { - name: 'tauri-bundler', - url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/bundler/CHANGELOG.md', - }, - ]; - - const [selctedPackage, setSelectedPackage] = createSignal(packages[0]); - - return ( -
- - - - - -
- ); -} diff --git a/src/content/docs/releases.mdx b/src/content/docs/releases.mdx index 4bfbc511b7..e1bc93231c 100644 --- a/src/content/docs/releases.mdx +++ b/src/content/docs/releases.mdx @@ -2,7 +2,3 @@ title: 'Releases' template: splash --- - -import Releases from '../../components/solid/Releases'; - - diff --git a/tsconfig.json b/tsconfig.json index e0b8a6e689..2c2a6f54e8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,8 +2,6 @@ "extends": "astro/tsconfigs/strict", "compilerOptions": { "baseUrl": ".", - "jsx": "preserve", - "jsxImportSource": "solid-js", "paths": { "@components/*": ["src/components/*"] } From 6208640405f0a895e4727408f27ed24854810e46 Mon Sep 17 00:00:00 2001 From: amrbashir Date: Thu, 14 Dec 2023 02:43:32 +0200 Subject: [PATCH 03/36] generated on build instead --- package.json | 3 +- packages/releases-generator/build.ts | 76 ++++++++++++++++++++++++ packages/releases-generator/package.json | 15 +++++ pnpm-workspace.yaml | 1 + src/content/docs/releases.mdx | 4 -- src/content/docs/releases/.gitignore | 1 + src/content/docs/releases/index.mdx | 12 ++++ 7 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 packages/releases-generator/build.ts create mode 100644 packages/releases-generator/package.json delete mode 100644 src/content/docs/releases.mdx create mode 100644 src/content/docs/releases/.gitignore create mode 100644 src/content/docs/releases/index.mdx diff --git a/package.json b/package.json index 8db9eec230..32175d5527 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,10 @@ "dev": "astro dev", "format": "prettier -w --cache --plugin prettier-plugin-astro .", "build:reference": "pnpm --filter js-api-generator run build", + "build:releases": "pnpm --filter releases-generator run build", "build:astro": "astro build", "build:i18n": "pnpm --filter docs-i18n-tracker run build", - "build": "pnpm dev:setup && pnpm build:reference && pnpm build:astro && pnpm build:i18n", + "build": "pnpm dev:setup && pnpm build:reference && pnpm build:releases && pnpm build:astro && pnpm build:i18n", "preview": "astro preview" }, "dependencies": { diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts new file mode 100644 index 0000000000..7afe51f574 --- /dev/null +++ b/packages/releases-generator/build.ts @@ -0,0 +1,76 @@ +import { writeFileSync, mkdirSync } from 'node:fs'; +import { join } from 'node:path'; + +const packages = [ + { + name: 'tauri', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/core/tauri/CHANGELOG.md', + }, + { + name: '@tauri-apps/api', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/api/CHANGELOG.md', + }, + { + name: 'tauri-cli', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/CHANGELOG.md', + }, + { + name: '@tauri-apps/cli', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/node/CHANGELOG.md', + }, + { + name: 'tauri-bundler', + url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/bundler/CHANGELOG.md', + }, + { + name: 'wry', + url: 'https://raw.githubusercontent.com/tauri-apps/wry/dev/CHANGELOG.md', + }, + { + name: 'tao', + url: 'https://raw.githubusercontent.com/tauri-apps/tao/dev/CHANGELOG.md', + }, +]; + +// FIXME: starlight apparently doesn't work well if the file continas multiple `.` +function encodeVersion(v: string): string { + return v.replaceAll('.', '_'); +} + +const baseDir = '../../src/content/docs/releases'; + +async function generator() { + for (const pkg of packages) { + const response = await fetch(pkg.url); + const responseText: string = await response.text(); + const releases = responseText + .split('## \\[') + .filter((item) => !item.includes('# Changelog')) + .map((section) => { + const [version, ...c] = section.split('\n'); + const contents = c.join('\n'); + return { + version: version.replace('\\[', '').replace(']', ''), + notes: contents, + }; + }) + .filter(({ version }) => !version.includes('Not Published')); + + mkdirSync(join(baseDir, pkg.name), { recursive: true }); + writeFileSync( + join(baseDir, pkg.name, 'index.md'), + `---\ntitle: '${pkg.name}'\ntemplate: splash\n---\n\n${releases + .map((r) => `- [${r.version}](/releases/${pkg.name}/v${encodeVersion(r.version)})`) + .join('\n')}` + ); + + for (const release of releases) { + writeFileSync( + join(baseDir, pkg.name, `v${encodeVersion(release.version)}.md`), + `---\ntitle: '${pkg.name}@${release.version}'\ntemplate: splash\n---\n\n${release.notes}` + ); + } + } +} + +generator(); diff --git a/packages/releases-generator/package.json b/packages/releases-generator/package.json new file mode 100644 index 0000000000..da0c11b32c --- /dev/null +++ b/packages/releases-generator/package.json @@ -0,0 +1,15 @@ +{ + "name": "releases-generator", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "build": "tsm ./build.ts" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "tsm": "^2.3.0" + } +} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c53b05116b..d95df763f7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,3 +2,4 @@ packages: - 'packages/i18n-tracker' - 'packages/js-api-generator' - 'packages/tauri-typedoc-theme' + - 'packages/releases-generator' diff --git a/src/content/docs/releases.mdx b/src/content/docs/releases.mdx deleted file mode 100644 index e1bc93231c..0000000000 --- a/src/content/docs/releases.mdx +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: 'Releases' -template: splash ---- diff --git a/src/content/docs/releases/.gitignore b/src/content/docs/releases/.gitignore new file mode 100644 index 0000000000..2e1fa2d52e --- /dev/null +++ b/src/content/docs/releases/.gitignore @@ -0,0 +1 @@ +*.md \ No newline at end of file diff --git a/src/content/docs/releases/index.mdx b/src/content/docs/releases/index.mdx new file mode 100644 index 0000000000..4f9ebab5a6 --- /dev/null +++ b/src/content/docs/releases/index.mdx @@ -0,0 +1,12 @@ +--- +title: 'Releases' +template: splash +--- + +- [`tauri`](/releases/tauri) +- [`@tauri-apps/api`](/releases/tauri) +- [`tauri-cli`](/releases/tauri) +- [`@tauri-apps/cli`](/releases/tauri) +- [`tauri-bundler`](/releases/tauri) +- [`wry`](/releases/tauri) +- [`tao`](/releases/tauri) From 27ebfa615ef7448703c296584c21a90b93adaa41 Mon Sep 17 00:00:00 2001 From: amrbashir Date: Thu, 14 Dec 2023 02:45:05 +0200 Subject: [PATCH 04/36] update lockfile --- pnpm-lock.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f1edca9aaf..9b4c4702ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -98,6 +98,12 @@ importers: specifier: ^3.1.7 version: 3.1.7(typedoc@0.25.4) + packages/releases-generator: + dependencies: + tsm: + specifier: ^2.3.0 + version: 2.3.0 + packages: /@ampproject/remapping@2.2.1: From 8231a31b1740d751f5413e12eff728675a063852 Mon Sep 17 00:00:00 2001 From: Amr Bashir Date: Tue, 19 Dec 2023 16:02:45 +0200 Subject: [PATCH 05/36] update links --- src/content/docs/releases/index.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/content/docs/releases/index.mdx b/src/content/docs/releases/index.mdx index 4f9ebab5a6..40879bb119 100644 --- a/src/content/docs/releases/index.mdx +++ b/src/content/docs/releases/index.mdx @@ -4,9 +4,9 @@ template: splash --- - [`tauri`](/releases/tauri) -- [`@tauri-apps/api`](/releases/tauri) -- [`tauri-cli`](/releases/tauri) -- [`@tauri-apps/cli`](/releases/tauri) -- [`tauri-bundler`](/releases/tauri) -- [`wry`](/releases/tauri) -- [`tao`](/releases/tauri) +- [`@tauri-apps/api`](/releases/tauri-apps/api) +- [`tauri-cli`](/releases/tauri-cli) +- [`@tauri-apps/cli`](/releases/tauri-apps/cli) +- [`tauri-bundler`](/releases/tauri-bundler) +- [`wry`](/releases/wry) +- [`tao`](/releases/tao) From 9a304a8e5112a11dec5b3e583ffb66e2c37c100d Mon Sep 17 00:00:00 2001 From: Amr Bashir Date: Tue, 19 Dec 2023 16:07:31 +0200 Subject: [PATCH 06/36] Update index.mdx --- src/content/docs/releases/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/releases/index.mdx b/src/content/docs/releases/index.mdx index 40879bb119..2601ea2988 100644 --- a/src/content/docs/releases/index.mdx +++ b/src/content/docs/releases/index.mdx @@ -4,9 +4,9 @@ template: splash --- - [`tauri`](/releases/tauri) -- [`@tauri-apps/api`](/releases/tauri-apps/api) +- [`@tauri-apps/api`](/releases/@tauri-apps/api) - [`tauri-cli`](/releases/tauri-cli) -- [`@tauri-apps/cli`](/releases/tauri-apps/cli) +- [`@tauri-apps/cli`](/releases/@tauri-apps/cli) - [`tauri-bundler`](/releases/tauri-bundler) - [`wry`](/releases/wry) - [`tao`](/releases/tao) From f95690f565919e6ccef1af5c0813d385b7b3564d Mon Sep 17 00:00:00 2001 From: Amr Bashir Date: Tue, 19 Dec 2023 19:08:26 +0200 Subject: [PATCH 07/36] Update build.ts --- packages/releases-generator/build.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 7afe51f574..5bbe0a83af 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -59,15 +59,15 @@ async function generator() { mkdirSync(join(baseDir, pkg.name), { recursive: true }); writeFileSync( join(baseDir, pkg.name, 'index.md'), - `---\ntitle: '${pkg.name}'\ntemplate: splash\n---\n\n${releases + `---\ntitle: '${pkg.name}'\nslug: '${pkg.name}'\ntemplate: splash\n---\n\n${releases .map((r) => `- [${r.version}](/releases/${pkg.name}/v${encodeVersion(r.version)})`) .join('\n')}` ); for (const release of releases) { writeFileSync( - join(baseDir, pkg.name, `v${encodeVersion(release.version)}.md`), - `---\ntitle: '${pkg.name}@${release.version}'\ntemplate: splash\n---\n\n${release.notes}` + join(baseDir, pkg.name, `v${release.version}.md`), + `---\ntitle: '${pkg.name}@${release.version}'\nslug: 'v${release.version}'\ntemplate: splash\n---\n\n${release.notes}` ); } } From c3d9aee7e335e2b84a080260d2792be5d0189cd0 Mon Sep 17 00:00:00 2001 From: amrbashir Date: Wed, 20 Dec 2023 01:33:56 +0200 Subject: [PATCH 08/36] fix slug creations --- packages/releases-generator/build.ts | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 5bbe0a83af..3a8006bbe8 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -32,11 +32,6 @@ const packages = [ }, ]; -// FIXME: starlight apparently doesn't work well if the file continas multiple `.` -function encodeVersion(v: string): string { - return v.replaceAll('.', '_'); -} - const baseDir = '../../src/content/docs/releases'; async function generator() { @@ -59,15 +54,15 @@ async function generator() { mkdirSync(join(baseDir, pkg.name), { recursive: true }); writeFileSync( join(baseDir, pkg.name, 'index.md'), - `---\ntitle: '${pkg.name}'\nslug: '${pkg.name}'\ntemplate: splash\n---\n\n${releases - .map((r) => `- [${r.version}](/releases/${pkg.name}/v${encodeVersion(r.version)})`) + `---\ntitle: '${pkg.name}'\nslug: 'releases/${pkg.name}'\ntemplate: splash\n---\n\n${releases + .map((r) => `- [${r.version}](/releases/${pkg.name}/v${r.version})`) .join('\n')}` ); for (const release of releases) { writeFileSync( join(baseDir, pkg.name, `v${release.version}.md`), - `---\ntitle: '${pkg.name}@${release.version}'\nslug: 'v${release.version}'\ntemplate: splash\n---\n\n${release.notes}` + `---\ntitle: '${pkg.name}@${release.version}'\nslug: 'releases/${pkg.name}/v${release.version}'\ntemplate: splash\n---\n\n${release.notes}` ); } } From 424574657aa7d5ba5002fa9efabe04d22ed9b416 Mon Sep 17 00:00:00 2001 From: amrbashir Date: Wed, 20 Dec 2023 01:36:33 +0200 Subject: [PATCH 09/36] Add nav links back --- src/components/overrides/Header.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/overrides/Header.astro b/src/components/overrides/Header.astro index dc23f06ece..86bff3953d 100644 --- a/src/components/overrides/Header.astro +++ b/src/components/overrides/Header.astro @@ -2,7 +2,7 @@ import type { Props } from '@astrojs/starlight/props'; import LanguageSelect from '@astrojs/starlight/components/LanguageSelect.astro'; import Search from '@astrojs/starlight/components/Search.astro'; -import SiteTitle from '@astrojs/starlight/components/SiteTitle.astro'; +import SiteTitle from './SiteTitle.astro'; import SocialIcons from '@astrojs/starlight/components/SocialIcons.astro'; import ThemeSelect from '@astrojs/starlight/components/ThemeSelect.astro'; --- From bd8bad9c4e585253881e98e435d534f44c0ed9ea Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Mon, 4 Mar 2024 16:00:38 -0300 Subject: [PATCH 10/36] update links valitor to 0.6.0 --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 36350c66c1..860d4f725f 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "sharp": "^0.33.2", "shiki": "^1.1.7", "starlight-blog": "^0.5.0", - "starlight-links-validator": "^0.5.3" + "starlight-links-validator": "^0.6.0" }, "pnpm": { "patchedDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 193f2689b4..73641ed8d9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,8 +47,8 @@ importers: specifier: ^0.5.0 version: 0.5.0(@astrojs/starlight@0.20.1)(astro@4.4.4) starlight-links-validator: - specifier: ^0.5.3 - version: 0.5.3(@astrojs/starlight@0.20.1)(astro@4.4.4) + specifier: ^0.6.0 + version: 0.6.0(@astrojs/starlight@0.20.1)(astro@4.4.4) packages/config-generator: dependencies: @@ -4427,8 +4427,8 @@ packages: github-slugger: 2.0.0 dev: false - /starlight-links-validator@0.5.3(@astrojs/starlight@0.20.1)(astro@4.4.4): - resolution: {integrity: sha512-v79rwmzjQlEMVL8sZ4dalD/jhFOUvGZ2/f4CvxCySZ9KbEN9nDmgV8zJgfpmTzhbcYQ35wzyUinF4QNxgKVA4g==} + /starlight-links-validator@0.6.0(@astrojs/starlight@0.20.1)(astro@4.4.4): + resolution: {integrity: sha512-YXzKKZHM79ccBTO61l2WSmgdCG3406gldpVM6J2LhqZ5CeXsOgj6lho2xMLkc/p5nWcNSuYI2qNzsNUrLTmR5w==} engines: {node: '>=18.14.1'} peerDependencies: '@astrojs/starlight': '>=0.15.0' From 54f7b16aa9ca8217299ade41b40d364dee2b74af Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Wed, 6 Mar 2024 12:24:36 -0300 Subject: [PATCH 11/36] use link card --- src/content/docs/releases/index.mdx | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/content/docs/releases/index.mdx b/src/content/docs/releases/index.mdx index 2601ea2988..2589b63c23 100644 --- a/src/content/docs/releases/index.mdx +++ b/src/content/docs/releases/index.mdx @@ -1,12 +1,21 @@ --- -title: 'Releases' -template: splash +title: 'Tauri Core Ecosystem Releases' --- -- [`tauri`](/releases/tauri) -- [`@tauri-apps/api`](/releases/@tauri-apps/api) -- [`tauri-cli`](/releases/tauri-cli) -- [`@tauri-apps/cli`](/releases/@tauri-apps/cli) -- [`tauri-bundler`](/releases/tauri-bundler) -- [`wry`](/releases/wry) -- [`tao`](/releases/tao) +import { LinkCard, CardGrid } from '@astrojs/starlight/components'; + + + + + + + + + + + + + + + + \ No newline at end of file From b5ddbc9758601bf69771af81c5ae805c2ba1e6e8 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Wed, 6 Mar 2024 12:24:53 -0300 Subject: [PATCH 12/36] wip - generated frontmatter --- packages/releases-generator/build.ts | 36 ++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 3a8006bbe8..1ef8aa7410 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -1,6 +1,8 @@ import { writeFileSync, mkdirSync } from 'node:fs'; import { join } from 'node:path'; +const note = + '\n# NOTE: This file is auto-generated in packages/releases-generator/build.ts\n# For corrections please edit it directly'; const packages = [ { name: 'tauri', @@ -52,18 +54,42 @@ async function generator() { .filter(({ version }) => !version.includes('Not Published')); mkdirSync(join(baseDir, pkg.name), { recursive: true }); + const releaseFrontmatter = [ + '---', + note, + `title: '${pkg.name}'`, + `slug: 'releases/${pkg.name}'`, + 'prev: false', + 'next: false', + `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, + '---', + ].join('\n'); writeFileSync( join(baseDir, pkg.name, 'index.md'), - `---\ntitle: '${pkg.name}'\nslug: 'releases/${pkg.name}'\ntemplate: splash\n---\n\n${releases - .map((r) => `- [${r.version}](/releases/${pkg.name}/v${r.version})`) - .join('\n')}` + `${releaseFrontmatter}\n${releases.map((r) => `- [${r.version}](/releases/${pkg.name}/v${r.version})`).join('\n')}` ); - + let page = './'; + let version = pkg.name; for (const release of releases) { + const versionFrontmatter = [ + '---', + note, + `title: '${pkg.name}@${release.version}'`, + `slug: 'releases/${pkg.name}/v${release.version}'`, + 'template: splash', + `prev:`, + ` link: '${page}'`, + ` label: '${version}'`, + 'next: false', + `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, + '---', + ].join('\n'); writeFileSync( join(baseDir, pkg.name, `v${release.version}.md`), - `---\ntitle: '${pkg.name}@${release.version}'\nslug: 'releases/${pkg.name}/v${release.version}'\ntemplate: splash\n---\n\n${release.notes}` + `${versionFrontmatter}\n${release.notes}` ); + page = `releases/${pkg.name}/v${release.version}`; + version = `v${release.version}`; } } } From 296704f5be8c1640641e02b9e9d78dff23554239 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Wed, 6 Mar 2024 13:13:59 -0300 Subject: [PATCH 13/36] wip --- packages/releases-generator/build.ts | 55 ++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 12 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 1ef8aa7410..2d7a5a1240 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -68,29 +68,60 @@ async function generator() { join(baseDir, pkg.name, 'index.md'), `${releaseFrontmatter}\n${releases.map((r) => `- [${r.version}](/releases/${pkg.name}/v${r.version})`).join('\n')}` ); - let page = './'; - let version = pkg.name; - for (const release of releases) { + let previousPage = '/releases'; + let previousPageLabel = pkg.name; + + for (let i = 0; i < releases.length - 1; i++) { + const thisVersion = releases[i].version; + const nextPageLabel = releases[i + 1].version; + const nextPage = `releases/${pkg.name}/v${releases[i + 1].version}`; const versionFrontmatter = [ '---', note, - `title: '${pkg.name}@${release.version}'`, - `slug: 'releases/${pkg.name}/v${release.version}'`, + `title: '${pkg.name}@${thisVersion}'`, + `slug: 'releases/${pkg.name}/v${thisVersion}'`, 'template: splash', `prev:`, - ` link: '${page}'`, - ` label: '${version}'`, - 'next: false', + ` link: '${nextPage}'`, + ` label: '${nextPageLabel}'`, + `next:`, + ` link: '${previousPage}'`, + ` label: '${previousPageLabel}'`, `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, '---', ].join('\n'); + const indexLink = `[${pkg.name}](/releases/${pkg.name})`; writeFileSync( - join(baseDir, pkg.name, `v${release.version}.md`), - `${versionFrontmatter}\n${release.notes}` + join(baseDir, pkg.name, `v${thisVersion}.md`), + `${versionFrontmatter}\n${indexLink}\n\n${releases[i].notes}` ); - page = `releases/${pkg.name}/v${release.version}`; - version = `v${release.version}`; + previousPage = `releases/${pkg.name}/v${thisVersion}`; + previousPageLabel = `v${thisVersion}`; } + const t = releases.length - 1; + const version = releases[t].version; + const versionFrontmatter = [ + '---', + note, + `title: '${pkg.name}@${version}'`, + `slug: 'releases/${pkg.name}/v${version}'`, + 'template: splash', + `prev: false`, + `next:`, + ` link: '${previousPage}'`, + ` label: '${previousPageLabel}'`, + `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, + '---', + ].join('\n'); + const indexLink = `[${pkg.name}](/releases/${pkg.name})`; + writeFileSync( + join(baseDir, pkg.name, `v${version}.md`), + `${versionFrontmatter}\n${indexLink}\n\n${releases[t].notes}` + ); + + // writeFileSync(join(baseDir, pkg.name, `v${version}.md`), `${versionFrontmatter}\n${version}`); + // previousPage = `releases/${pkg.name}/v${version}`; + // previousPageLabel = `v${version}`; } } From 3f15e6bbb0bf8e8543377b2122cc78c21f222e19 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Wed, 6 Mar 2024 13:16:48 -0300 Subject: [PATCH 14/36] fix labels name --- packages/releases-generator/build.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 2d7a5a1240..d06e8d2e30 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -68,13 +68,13 @@ async function generator() { join(baseDir, pkg.name, 'index.md'), `${releaseFrontmatter}\n${releases.map((r) => `- [${r.version}](/releases/${pkg.name}/v${r.version})`).join('\n')}` ); - let previousPage = '/releases'; - let previousPageLabel = pkg.name; + let nextPage = '/releases'; + let nextLabel = pkg.name; for (let i = 0; i < releases.length - 1; i++) { const thisVersion = releases[i].version; - const nextPageLabel = releases[i + 1].version; - const nextPage = `releases/${pkg.name}/v${releases[i + 1].version}`; + const prevLabel = releases[i + 1].version; + const prevPage = `releases/${pkg.name}/v${releases[i + 1].version}`; const versionFrontmatter = [ '---', note, @@ -82,11 +82,11 @@ async function generator() { `slug: 'releases/${pkg.name}/v${thisVersion}'`, 'template: splash', `prev:`, - ` link: '${nextPage}'`, - ` label: '${nextPageLabel}'`, + ` link: '${prevPage}'`, + ` label: '${prevLabel}'`, `next:`, - ` link: '${previousPage}'`, - ` label: '${previousPageLabel}'`, + ` link: '${nextPage}'`, + ` label: '${nextLabel}'`, `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, '---', ].join('\n'); @@ -95,8 +95,8 @@ async function generator() { join(baseDir, pkg.name, `v${thisVersion}.md`), `${versionFrontmatter}\n${indexLink}\n\n${releases[i].notes}` ); - previousPage = `releases/${pkg.name}/v${thisVersion}`; - previousPageLabel = `v${thisVersion}`; + nextPage = `releases/${pkg.name}/v${thisVersion}`; + nextLabel = `v${thisVersion}`; } const t = releases.length - 1; const version = releases[t].version; @@ -108,8 +108,8 @@ async function generator() { 'template: splash', `prev: false`, `next:`, - ` link: '${previousPage}'`, - ` label: '${previousPageLabel}'`, + ` link: '${nextPage}'`, + ` label: '${nextLabel}'`, `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, '---', ].join('\n'); @@ -120,8 +120,8 @@ async function generator() { ); // writeFileSync(join(baseDir, pkg.name, `v${version}.md`), `${versionFrontmatter}\n${version}`); - // previousPage = `releases/${pkg.name}/v${version}`; - // previousPageLabel = `v${version}`; + // nextPage = `releases/${pkg.name}/v${version}`; + // nextLabel = `v${version}`; } } From 6edf830e4f2fc652c6d91d33b0d931d9ea7d6433 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Wed, 6 Mar 2024 13:44:18 -0300 Subject: [PATCH 15/36] improve logic --- packages/releases-generator/build.ts | 90 +++++++++++++++------------- 1 file changed, 49 insertions(+), 41 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index d06e8d2e30..47ffd9d1bc 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -54,6 +54,10 @@ async function generator() { .filter(({ version }) => !version.includes('Not Published')); mkdirSync(join(baseDir, pkg.name), { recursive: true }); + // + /* + * Write index file for each package + */ const releaseFrontmatter = [ '---', note, @@ -64,64 +68,68 @@ async function generator() { `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, '---', ].join('\n'); + const indexLink = `#### [All release](/releases)`; writeFileSync( join(baseDir, pkg.name, 'index.md'), - `${releaseFrontmatter}\n${releases.map((r) => `- [${r.version}](/releases/${pkg.name}/v${r.version})`).join('\n')}` + `${releaseFrontmatter}\n${indexLink}\n${releases.map((r) => `- [${r.version}](/releases/${pkg.name}/v${r.version})`).join('\n')}` ); + + /* + * Write files for each version + */ let nextPage = '/releases'; let nextLabel = pkg.name; - - for (let i = 0; i < releases.length - 1; i++) { + const len = releases.length; + for (let i = 0; i < len; i++) { const thisVersion = releases[i].version; - const prevLabel = releases[i + 1].version; - const prevPage = `releases/${pkg.name}/v${releases[i + 1].version}`; - const versionFrontmatter = [ - '---', + let prevLabel, prevPage; + if (i !== len - 1) { + prevLabel = releases[i + 1].version; + prevPage = `releases/${pkg.name}/v${releases[i + 1].version}`; + } + let navFrontmatter; + if (i === len - 1) { + navFrontmatter = [ + `prev: false`, + `next:`, + ` link: '${nextPage}'`, + ` label: '${nextLabel}'`, + ]; + } else if (i === 0) { + navFrontmatter = [ + `prev:`, + ` link: '${prevPage}'`, + ` label: '${prevPage}'`, + `next: false`, + ]; + } else { + navFrontmatter = [ + `prev:`, + ` link: '${prevPage}'`, + ` label: '${prevLabel}'`, + `next:`, + ` link: '${nextPage}'`, + ` label: '${nextLabel}'`, + ]; + } + + const pageFrontmatter = [ note, `title: '${pkg.name}@${thisVersion}'`, `slug: 'releases/${pkg.name}/v${thisVersion}'`, 'template: splash', - `prev:`, - ` link: '${prevPage}'`, - ` label: '${prevLabel}'`, - `next:`, - ` link: '${nextPage}'`, - ` label: '${nextLabel}'`, `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, - '---', - ].join('\n'); - const indexLink = `[${pkg.name}](/releases/${pkg.name})`; + ]; + + const frontmatter = ['---', ...pageFrontmatter, ...navFrontmatter, '---'].join('\n'); + const indexLink = `[Return to: ${pkg.name}](/releases/${pkg.name})`; writeFileSync( join(baseDir, pkg.name, `v${thisVersion}.md`), - `${versionFrontmatter}\n${indexLink}\n\n${releases[i].notes}` + `${frontmatter}\n${indexLink}\n\n${releases[i].notes}` ); nextPage = `releases/${pkg.name}/v${thisVersion}`; nextLabel = `v${thisVersion}`; } - const t = releases.length - 1; - const version = releases[t].version; - const versionFrontmatter = [ - '---', - note, - `title: '${pkg.name}@${version}'`, - `slug: 'releases/${pkg.name}/v${version}'`, - 'template: splash', - `prev: false`, - `next:`, - ` link: '${nextPage}'`, - ` label: '${nextLabel}'`, - `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, - '---', - ].join('\n'); - const indexLink = `[${pkg.name}](/releases/${pkg.name})`; - writeFileSync( - join(baseDir, pkg.name, `v${version}.md`), - `${versionFrontmatter}\n${indexLink}\n\n${releases[t].notes}` - ); - - // writeFileSync(join(baseDir, pkg.name, `v${version}.md`), `${versionFrontmatter}\n${version}`); - // nextPage = `releases/${pkg.name}/v${version}`; - // nextLabel = `v${version}`; } } From 1cc52e50d30c12ebf1e9d8f4d941709808e5647c Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Sat, 9 Mar 2024 01:11:40 -0300 Subject: [PATCH 16/36] WIP refactor show link to GitHub wip version side navigation improve wording and navigation move releases to references --- packages/releases-generator/build.ts | 79 ++++++++++++++------ src/components/list/ReleaseSidebar.astro | 93 ++++++++++++++++++++++++ src/components/overrides/Header.astro | 1 - src/content/docs/references/index.mdx | 4 + src/content/docs/releases/.gitignore | 3 +- src/content/docs/releases/index.mdx | 21 ------ 6 files changed, 154 insertions(+), 47 deletions(-) create mode 100644 src/components/list/ReleaseSidebar.astro delete mode 100644 src/content/docs/releases/index.mdx diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 47ffd9d1bc..0ccff8f6cd 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -7,35 +7,46 @@ const packages = [ { name: 'tauri', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/core/tauri/CHANGELOG.md', + tag: 'https://github.com/tauri-apps/tauri/releases/tag', }, { name: '@tauri-apps/api', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/api/CHANGELOG.md', + tag: 'https://github.com/tauri-apps/tauri/releases/tag', }, { name: 'tauri-cli', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/CHANGELOG.md', + tag: 'https://github.com/tauri-apps/tauri/releases/tag', }, { name: '@tauri-apps/cli', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/node/CHANGELOG.md', + tag: 'https://github.com/tauri-apps/tauri/releases/tag', }, { name: 'tauri-bundler', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/bundler/CHANGELOG.md', + tag: 'https://github.com/tauri-apps/tauri/releases/tag', }, { name: 'wry', url: 'https://raw.githubusercontent.com/tauri-apps/wry/dev/CHANGELOG.md', + tag: 'https://github.com/tauri-apps/wry/releases/tag', }, { name: 'tao', url: 'https://raw.githubusercontent.com/tauri-apps/tao/dev/CHANGELOG.md', + tag: 'https://github.com/tauri-apps/tao/releases/tag', }, ]; const baseDir = '../../src/content/docs/releases'; +let latestVersions: { + [key: string]: string; +} = {}; + async function generator() { for (const pkg of packages) { const response = await fetch(pkg.url); @@ -55,25 +66,6 @@ async function generator() { mkdirSync(join(baseDir, pkg.name), { recursive: true }); // - /* - * Write index file for each package - */ - const releaseFrontmatter = [ - '---', - note, - `title: '${pkg.name}'`, - `slug: 'releases/${pkg.name}'`, - 'prev: false', - 'next: false', - `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, - '---', - ].join('\n'); - const indexLink = `#### [All release](/releases)`; - writeFileSync( - join(baseDir, pkg.name, 'index.md'), - `${releaseFrontmatter}\n${indexLink}\n${releases.map((r) => `- [${r.version}](/releases/${pkg.name}/v${r.version})`).join('\n')}` - ); - /* * Write files for each version */ @@ -81,13 +73,17 @@ async function generator() { let nextLabel = pkg.name; const len = releases.length; for (let i = 0; i < len; i++) { + /** + * Deal with next-prev labels + */ const thisVersion = releases[i].version; let prevLabel, prevPage; + let navFrontmatter; if (i !== len - 1) { prevLabel = releases[i + 1].version; prevPage = `releases/${pkg.name}/v${releases[i + 1].version}`; } - let navFrontmatter; + if (i === len - 1) { navFrontmatter = [ `prev: false`, @@ -96,10 +92,11 @@ async function generator() { ` label: '${nextLabel}'`, ]; } else if (i === 0) { + latestVersions[pkg.name] = `v${thisVersion}`; navFrontmatter = [ `prev:`, ` link: '${prevPage}'`, - ` label: '${prevPage}'`, + ` label: '${prevLabel}'`, `next: false`, ]; } else { @@ -113,24 +110,58 @@ async function generator() { ]; } + // const pageFrontmatter = [ note, `title: '${pkg.name}@${thisVersion}'`, + `description: '${thisVersion}'`, `slug: 'releases/${pkg.name}/v${thisVersion}'`, 'template: splash', `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, ]; const frontmatter = ['---', ...pageFrontmatter, ...navFrontmatter, '---'].join('\n'); - const indexLink = `[Return to: ${pkg.name}](/releases/${pkg.name})`; + // + const indexLink = `[Return](/releases)`; + const viewInGitHub = `View on GitHub`; + const linksDiv = `
${indexLink}${viewInGitHub}
`; + // + const sidebar = `\nimport ReleaseSidebar from '@components/list/ReleaseSidebar.astro'; + \n\n\n`; + writeFileSync( - join(baseDir, pkg.name, `v${thisVersion}.md`), - `${frontmatter}\n${indexLink}\n\n${releases[i].notes}` + join(baseDir, pkg.name, `v${thisVersion}.mdx`), + `${frontmatter}\n${sidebar}\n${linksDiv}\n${releases[i].notes}` ); nextPage = `releases/${pkg.name}/v${thisVersion}`; nextLabel = `v${thisVersion}`; } } + + // Generate index page + const extraNote = + '# You can edit this file to quickly preview, but make sure you copy the changes over the source\n'; + const indexPage = [ + '---', + note, + extraNote, + `title: 'Tauri Core Ecosystem Releases'`, + `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, + '---', + ].join('\n'); + + const indexPageContent = `import { LinkCard, CardGrid } from '@astrojs/starlight/components';\n + + + + + + + + + `; + + writeFileSync(join(baseDir, 'index.mdx'), `${indexPage}\n${indexPageContent}`); } generator(); diff --git a/src/components/list/ReleaseSidebar.astro b/src/components/list/ReleaseSidebar.astro new file mode 100644 index 0000000000..b8df68b93a --- /dev/null +++ b/src/components/list/ReleaseSidebar.astro @@ -0,0 +1,93 @@ +--- +import { stripLeadingAndTrailingSlashes } from 'node_modules/@astrojs/starlight/utils/path'; +import { routes, type Route } from 'node_modules/@astrojs/starlight/utils/routing'; + +interface Props { + /** + * Package name + */ + packageName: string; + /** + * Slug relative to /src - e.g "/zh-cn/features" + * + * Note: leading and trailing slashes are dropped "/features/" === "features" + */ + slug: string; + /** + * Filter out pages by title - case insensitive + */ + filterOutByTitle?: string[]; + /** + * Filter out pages by file name - case insensitive + */ + filterOutByFileName?: string[]; +} + +let { slug } = Astro.props; +const { filterOutByTitle = [], filterOutByFileName = [], packageName } = Astro.props; + +slug = stripLeadingAndTrailingSlashes(slug.toLowerCase()); + +let mainList: Route[] = []; + +routes.forEach((page) => { + // `page.slug` is the slug of the current page being looped, + // `slug` is this component prop + if (page.slug.startsWith(slug)) { + mainList.push(page); + } +}); + +/** + * Filter items if any filter is set + */ + +if (filterOutByTitle.length > 0) { + mainList = mainList.filter( + (page) => !filterOutByTitle.some((val) => page.entry.data.title.includes(val)) + ); +} + +if (filterOutByFileName.length > 0) { + mainList = mainList.filter( + (page) => !filterOutByFileName.some((val) => page.entry.id.includes(val)) + ); +} + +function sortVersions(a: Route, b: Route): number { + return a.entry.data.title.localeCompare(b.entry.data.title); +} + +mainList.sort((a, b) => sortVersions(b, a)); +--- + +
+

{packageName} changelogs

+
+ { + mainList.map((item) => ( + <> + {item.entry.data.description} +
+ + )) + } +
+
+ diff --git a/src/components/overrides/Header.astro b/src/components/overrides/Header.astro index 86bff3953d..c744532c57 100644 --- a/src/components/overrides/Header.astro +++ b/src/components/overrides/Header.astro @@ -18,7 +18,6 @@ import ThemeSelect from '@astrojs/starlight/components/ThemeSelect.astro'; - Releases diff --git a/src/content/docs/references/index.mdx b/src/content/docs/references/index.mdx index b8eeca09af..14e83e5b4f 100644 --- a/src/content/docs/references/index.mdx +++ b/src/content/docs/references/index.mdx @@ -33,4 +33,8 @@ import { LinkCard, CardGrid } from '@astrojs/starlight/components'; title="Configuration Files" href="/references/configuration-files" /> + diff --git a/src/content/docs/releases/.gitignore b/src/content/docs/releases/.gitignore index 2e1fa2d52e..18a2fa3ce1 100644 --- a/src/content/docs/releases/.gitignore +++ b/src/content/docs/releases/.gitignore @@ -1 +1,2 @@ -*.md \ No newline at end of file +*.md +*.mdx \ No newline at end of file diff --git a/src/content/docs/releases/index.mdx b/src/content/docs/releases/index.mdx deleted file mode 100644 index 2589b63c23..0000000000 --- a/src/content/docs/releases/index.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: 'Tauri Core Ecosystem Releases' ---- - -import { LinkCard, CardGrid } from '@astrojs/starlight/components'; - - - - - - - - - - - - - - - - \ No newline at end of file From 1aec25390a337f452d93874a1051a5ef5719cc97 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Sat, 9 Mar 2024 01:51:55 -0300 Subject: [PATCH 17/36] add entitify --- packages/releases-generator/build.ts | 39 +++++++++++++++++++++------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 0ccff8f6cd..cebef4e94a 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -131,7 +131,7 @@ async function generator() { writeFileSync( join(baseDir, pkg.name, `v${thisVersion}.mdx`), - `${frontmatter}\n${sidebar}\n${linksDiv}\n${releases[i].notes}` + `${frontmatter}\n${sidebar}\n${linksDiv}\n${entitify(releases[i].notes)}` ); nextPage = `releases/${pkg.name}/v${thisVersion}`; nextLabel = `v${thisVersion}`; @@ -151,17 +151,36 @@ async function generator() { ].join('\n'); const indexPageContent = `import { LinkCard, CardGrid } from '@astrojs/starlight/components';\n - - - - - - - - - `; + + + + + + + + +`; writeFileSync(join(baseDir, 'index.mdx'), `${indexPage}\n${indexPageContent}`); } +function entitify(str: string): string { + return str.replace(/[&<>"']/g, function (entity) { + switch (entity) { + case '&': + return '&'; + case '<': + return '<'; + case '>': + return '>'; + case '"': + return '"'; + case "'": + return '''; + default: + return entity; + } + }); +} + generator(); From 26553ce65f3b88ed56999d58a20df2b2d672f88e Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Sat, 9 Mar 2024 02:03:53 -0300 Subject: [PATCH 18/36] agora vai --- packages/releases-generator/build.ts | 34 +++++++++++++++------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index cebef4e94a..cbddbeeda4 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -165,22 +165,24 @@ async function generator() { } function entitify(str: string): string { - return str.replace(/[&<>"']/g, function (entity) { - switch (entity) { - case '&': - return '&'; - case '<': - return '<'; - case '>': - return '>'; - case '"': - return '"'; - case "'": - return '''; - default: - return entity; - } - }); + return str + .replace(/[&<>"']/g, function (entity) { + switch (entity) { + case '&': + return '&'; + case '<': + return '<'; + case '>': + return '>'; + case '"': + return '"'; + case "'": + return '''; + default: + return entity; + } + }) + .replace(/\${/g, '$\{'); } generator(); From 9659bcb91ae71d1e46c8fd669096ef81db56992d Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Sat, 9 Mar 2024 02:17:19 -0300 Subject: [PATCH 19/36] Update build.ts --- packages/releases-generator/build.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index cbddbeeda4..80b3c841bd 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -182,7 +182,7 @@ function entitify(str: string): string { return entity; } }) - .replace(/\${/g, '$\{'); + .replace(/\$\{/g, '$\\{'); } generator(); From 58d8e1048c2eacfd1ca7faed1a41d9e215f8e66d Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Sat, 9 Mar 2024 12:50:35 -0300 Subject: [PATCH 20/36] fix: dir name --- packages/releases-generator/build.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 80b3c841bd..611cfc512f 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -8,36 +8,43 @@ const packages = [ name: 'tauri', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/core/tauri/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', + dirName: 'tauri-core', }, { name: '@tauri-apps/api', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/api/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', + dirName: '@tauri-apps/api', }, { name: 'tauri-cli', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', + dirName: 'tauri-cli', }, { name: '@tauri-apps/cli', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/node/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', + dirName: '@tauri-apps/cli', }, { name: 'tauri-bundler', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/bundler/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', + dirName: 'tauri-bundler', }, { name: 'wry', url: 'https://raw.githubusercontent.com/tauri-apps/wry/dev/CHANGELOG.md', tag: 'https://github.com/tauri-apps/wry/releases/tag', + dirName: 'wry', }, { name: 'tao', url: 'https://raw.githubusercontent.com/tauri-apps/tao/dev/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tao/releases/tag', + dirName: 'tao', }, ]; @@ -64,7 +71,7 @@ async function generator() { }) .filter(({ version }) => !version.includes('Not Published')); - mkdirSync(join(baseDir, pkg.name), { recursive: true }); + mkdirSync(join(baseDir, pkg.dirName), { recursive: true }); // /* * Write files for each version From fd74d333fabf4ea2c3e659314954fa8f7c4b0bb3 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Sat, 9 Mar 2024 12:50:56 -0300 Subject: [PATCH 21/36] add (Rust) --- packages/releases-generator/build.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 611cfc512f..1482756629 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -162,7 +162,7 @@ async function generator() { - + From c9b422119fa0a5cdb54a192a1ba8b64d4e5436f4 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Mon, 11 Mar 2024 19:43:14 -0300 Subject: [PATCH 22/36] fix dirName build --- packages/releases-generator/build.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 1482756629..957f6a8314 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -137,7 +137,7 @@ async function generator() { \n\n\n`; writeFileSync( - join(baseDir, pkg.name, `v${thisVersion}.mdx`), + join(baseDir, pkg.dirName, `v${thisVersion}.mdx`), `${frontmatter}\n${sidebar}\n${linksDiv}\n${entitify(releases[i].notes)}` ); nextPage = `releases/${pkg.name}/v${thisVersion}`; From bb2c547eea4254cecfd1fe2793ce1589bae70a7e Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Mon, 11 Mar 2024 19:44:31 -0300 Subject: [PATCH 23/36] change if order --- packages/releases-generator/build.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 957f6a8314..923a0a705d 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -90,15 +90,7 @@ async function generator() { prevLabel = releases[i + 1].version; prevPage = `releases/${pkg.name}/v${releases[i + 1].version}`; } - - if (i === len - 1) { - navFrontmatter = [ - `prev: false`, - `next:`, - ` link: '${nextPage}'`, - ` label: '${nextLabel}'`, - ]; - } else if (i === 0) { + if (i === 0) { latestVersions[pkg.name] = `v${thisVersion}`; navFrontmatter = [ `prev:`, @@ -106,6 +98,13 @@ async function generator() { ` label: '${prevLabel}'`, `next: false`, ]; + } else if (i === len - 1) { + navFrontmatter = [ + `prev: false`, + `next:`, + ` link: '${nextPage}'`, + ` label: '${nextLabel}'`, + ]; } else { navFrontmatter = [ `prev:`, From dc7dd7c94c60caecaf8e31e73b0b4fb14a6ae8d9 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Mon, 11 Mar 2024 20:21:58 -0300 Subject: [PATCH 24/36] remove dirName --- packages/releases-generator/build.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 923a0a705d..8199735fb2 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -8,43 +8,36 @@ const packages = [ name: 'tauri', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/core/tauri/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', - dirName: 'tauri-core', }, { name: '@tauri-apps/api', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/api/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', - dirName: '@tauri-apps/api', }, { name: 'tauri-cli', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', - dirName: 'tauri-cli', }, { name: '@tauri-apps/cli', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/node/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', - dirName: '@tauri-apps/cli', }, { name: 'tauri-bundler', url: 'https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/bundler/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tauri/releases/tag', - dirName: 'tauri-bundler', }, { name: 'wry', url: 'https://raw.githubusercontent.com/tauri-apps/wry/dev/CHANGELOG.md', tag: 'https://github.com/tauri-apps/wry/releases/tag', - dirName: 'wry', }, { name: 'tao', url: 'https://raw.githubusercontent.com/tauri-apps/tao/dev/CHANGELOG.md', tag: 'https://github.com/tauri-apps/tao/releases/tag', - dirName: 'tao', }, ]; @@ -71,7 +64,7 @@ async function generator() { }) .filter(({ version }) => !version.includes('Not Published')); - mkdirSync(join(baseDir, pkg.dirName), { recursive: true }); + mkdirSync(join(baseDir, pkg.name), { recursive: true }); // /* * Write files for each version @@ -91,6 +84,7 @@ async function generator() { prevPage = `releases/${pkg.name}/v${releases[i + 1].version}`; } if (i === 0) { + // latest version latestVersions[pkg.name] = `v${thisVersion}`; navFrontmatter = [ `prev:`, @@ -99,6 +93,7 @@ async function generator() { `next: false`, ]; } else if (i === len - 1) { + // earliest version navFrontmatter = [ `prev: false`, `next:`, @@ -136,9 +131,11 @@ async function generator() { \n\n\n`; writeFileSync( - join(baseDir, pkg.dirName, `v${thisVersion}.mdx`), + join(baseDir, pkg.name, `v${thisVersion}.mdx`), `${frontmatter}\n${sidebar}\n${linksDiv}\n${entitify(releases[i].notes)}` ); + + // use in next iteration nextPage = `releases/${pkg.name}/v${thisVersion}`; nextLabel = `v${thisVersion}`; } @@ -146,7 +143,7 @@ async function generator() { // Generate index page const extraNote = - '# You can edit this file to quickly preview, but make sure you copy the changes over the source\n'; + '# To quickly preview changes, you can edit this file, them make sure you copy the changes over the source build.ts script\n'; const indexPage = [ '---', note, From e61dd8d9bcbbc8a9ceb5128deaca09499147b9d0 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Mon, 11 Mar 2024 20:22:04 -0300 Subject: [PATCH 25/36] redo sidenav --- src/components/list/ReleaseSidebar.astro | 64 ++++++++++++++++-------- 1 file changed, 44 insertions(+), 20 deletions(-) diff --git a/src/components/list/ReleaseSidebar.astro b/src/components/list/ReleaseSidebar.astro index b8df68b93a..d7fb8265bb 100644 --- a/src/components/list/ReleaseSidebar.astro +++ b/src/components/list/ReleaseSidebar.astro @@ -33,7 +33,7 @@ let mainList: Route[] = []; routes.forEach((page) => { // `page.slug` is the slug of the current page being looped, // `slug` is this component prop - if (page.slug.startsWith(slug)) { + if (page.slug.startsWith(slug + '/')) { mainList.push(page); } }); @@ -61,33 +61,57 @@ function sortVersions(a: Route, b: Route): number { mainList.sort((a, b) => sortVersions(b, a)); --- -
-

{packageName} changelogs

-
- { - mainList.map((item) => ( - <> - {item.entry.data.description} -
- - )) - } +
+
+
+

{packageName} changelogs

+
+
+ { + mainList.map((item) => ( + <> + {item.entry.data.description} + + )) + } +
From a70988669c7c7d6222ed47cf2a28661e2073626a Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Tue, 12 Mar 2024 01:22:19 -0300 Subject: [PATCH 26/36] place /releases back on header --- src/components/overrides/Header.astro | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/overrides/Header.astro b/src/components/overrides/Header.astro index c744532c57..86bff3953d 100644 --- a/src/components/overrides/Header.astro +++ b/src/components/overrides/Header.astro @@ -18,6 +18,7 @@ import ThemeSelect from '@astrojs/starlight/components/ThemeSelect.astro'; + Releases
From 889166ac5d14abac9f91405d1f522642f4f811d8 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Thu, 21 Mar 2024 15:29:35 -0300 Subject: [PATCH 27/36] wip mobile --- src/components/list/ReleaseSidebar.astro | 193 +++++++++++++++++++++-- 1 file changed, 179 insertions(+), 14 deletions(-) diff --git a/src/components/list/ReleaseSidebar.astro b/src/components/list/ReleaseSidebar.astro index d7fb8265bb..63ba4cf24b 100644 --- a/src/components/list/ReleaseSidebar.astro +++ b/src/components/list/ReleaseSidebar.astro @@ -1,6 +1,7 @@ --- import { stripLeadingAndTrailingSlashes } from 'node_modules/@astrojs/starlight/utils/path'; import { routes, type Route } from 'node_modules/@astrojs/starlight/utils/routing'; +import { Icon } from '@astrojs/starlight/components'; interface Props { /** @@ -57,14 +58,13 @@ if (filterOutByFileName.length > 0) { function sortVersions(a: Route, b: Route): number { return a.entry.data.title.localeCompare(b.entry.data.title); } - mainList.sort((a, b) => sortVersions(b, a)); ---
-

{packageName} changelogs

+

Changelogs:
{packageName}

{ @@ -77,33 +77,102 @@ mainList.sort((a, b) => sortVersions(b, a));
- From c2859e54f0085abfb7a7bab8b4d45fc6a25d48b7 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Thu, 21 Mar 2024 15:38:19 -0300 Subject: [PATCH 28/36] improve mobile nav --- src/components/list/ReleaseSidebar.astro | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/components/list/ReleaseSidebar.astro b/src/components/list/ReleaseSidebar.astro index 63ba4cf24b..3f2696b18f 100644 --- a/src/components/list/ReleaseSidebar.astro +++ b/src/components/list/ReleaseSidebar.astro @@ -187,26 +187,18 @@ mainList.sort((a, b) => sortVersions(b, a)); /* Mobile */ /* Taken from starlight's mobile TOC */ nav { - position: fixed; - z-index: var(--sl-z-index-toc); - top: calc(var(--sl-nav-height) - 1px); - inset-inline: 0; - border-top: 1px solid var(--sl-color-gray-5); - background-color: var(--sl-color-bg-nav); } @media (min-width: 60rem) { nav { display: none; - inset-inline-start: var(--sl-content-inline-start, 0); } } summary { + border-bottom: 1px solid var(--sl-color-gray-6); + padding-bottom: 1rem; gap: 0.5rem; align-items: center; - height: var(--sl-mobile-toc-height); - border-bottom: 1px solid var(--sl-color-hairline-shade); - padding: 0.5rem 1rem; font-size: var(--sl-text-xs); outline-offset: var(--sl-outline-offset-inside); } From 9d9722ed8cbb3eaaf47deb9e5d445a4a50dd656b Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Thu, 21 Mar 2024 15:42:54 -0300 Subject: [PATCH 29/36] Update ReleaseSidebar.astro --- src/components/list/ReleaseSidebar.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/list/ReleaseSidebar.astro b/src/components/list/ReleaseSidebar.astro index 3f2696b18f..cb865ff926 100644 --- a/src/components/list/ReleaseSidebar.astro +++ b/src/components/list/ReleaseSidebar.astro @@ -174,7 +174,7 @@ mainList.sort((a, b) => sortVersions(b, a)); } .sidenav-content { - padding-inline-start: 16px; + padding-inline: 16px 8px; min-width: fit-content; row-gap: 1em; display: flex; From 643d60e20629d303369eaa5f0c0058d9811c5539 Mon Sep 17 00:00:00 2001 From: vasfvitor Date: Thu, 21 Mar 2024 21:33:46 -0300 Subject: [PATCH 30/36] refactor: sidebar nav + dropdown only --- packages/releases-generator/build.ts | 1 - src/components/list/ReleaseSidebar.astro | 113 ++++------------------- 2 files changed, 18 insertions(+), 96 deletions(-) diff --git a/packages/releases-generator/build.ts b/packages/releases-generator/build.ts index 8199735fb2..d056034d55 100644 --- a/packages/releases-generator/build.ts +++ b/packages/releases-generator/build.ts @@ -117,7 +117,6 @@ async function generator() { `title: '${pkg.name}@${thisVersion}'`, `description: '${thisVersion}'`, `slug: 'releases/${pkg.name}/v${thisVersion}'`, - 'template: splash', `editUrl: 'https://github.com/tauri-apps/tauri-docs/packages/releases-generator/build.ts'`, ]; diff --git a/src/components/list/ReleaseSidebar.astro b/src/components/list/ReleaseSidebar.astro index cb865ff926..01348f88da 100644 --- a/src/components/list/ReleaseSidebar.astro +++ b/src/components/list/ReleaseSidebar.astro @@ -61,22 +61,6 @@ function sortVersions(a: Route, b: Route): number { mainList.sort((a, b) => sortVersions(b, a)); --- -
-
-
-

Changelogs:
{packageName}

-
-
- { - mainList.map((item) => ( - <> - {item.entry.data.description} - - )) - } -
-
-