From 22fff2537eb30d828fe68c1ca13fe6b722c04a83 Mon Sep 17 00:00:00 2001 From: Debjit Biswas Date: Mon, 11 Nov 2024 19:16:32 +0530 Subject: [PATCH] docs: Add changelog page --- .github/FUNDING.yml | 1 + astro.config.mjs | 2 +- package.json | 2 + pnpm-lock.yaml | 128 ++++++++++++++++++ public/favicon-with-background.svg | 100 ++++++++++++++ pwa-assets.config.js | 2 +- release.config.mjs | 19 +++ src/components/Footer.astro | 33 +++-- src/components/Header.astro | 11 +- src/content/changelog/2.1.0.md | 22 +++ .../images/doc-section-2024-11-11.png | Bin 0 -> 108734 bytes .../images/keyboard-shortcuts-2024-11-11.png | Bin 0 -> 55534 bytes src/content/config.js | 6 +- src/layouts/Layout.astro | 18 ++- src/pages/changelog.astro | 76 +++++++++++ src/pages/index.astro | 2 +- 16 files changed, 396 insertions(+), 26 deletions(-) create mode 100644 .github/FUNDING.yml create mode 100644 public/favicon-with-background.svg create mode 100644 src/content/changelog/2.1.0.md create mode 100644 src/content/changelog/images/doc-section-2024-11-11.png create mode 100644 src/content/changelog/images/keyboard-shortcuts-2024-11-11.png create mode 100644 src/pages/changelog.astro diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..0925520 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +buy_me_a_coffee: sim8085 diff --git a/astro.config.mjs b/astro.config.mjs index 8097179..c4f88e3 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -65,7 +65,7 @@ export default defineConfig({ short_name: 'Sim8085', theme_color: '#ffffff', }, - includeAssets: ['favicon.svg', 'favicon-dark.svg', 'favicon.ico'], + includeAssets: ['favicon.svg', 'favicon-dark.svg', 'favicon.ico', 'favicon-with-background.svg'], pwaAssets: { config: true, }, diff --git a/package.json b/package.json index 2265f7b..55fe1b4 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,8 @@ "devDependencies": { "@astrojs/starlight": "^0.28.3", "@astrojs/starlight-tailwind": "^2.0.3", + "@semantic-release/changelog": "^6.0.3", + "@semantic-release/git": "^10.0.1", "@types/alpinejs": "^3.13.10", "@vite-pwa/assets-generator": "^0.2.6", "@vite-pwa/astro": "^0.4.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 051f69c..1094128 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,6 +72,12 @@ importers: '@astrojs/starlight-tailwind': specifier: ^2.0.3 version: 2.0.3(@astrojs/starlight@0.28.3(astro@4.16.6(rollup@2.79.2)(terser@5.36.0)(typescript@5.6.2)))(@astrojs/tailwind@5.1.0(astro@4.16.6(rollup@2.79.2)(terser@5.36.0)(typescript@5.6.2))(tailwindcss@3.4.11))(tailwindcss@3.4.11) + '@semantic-release/changelog': + specifier: ^6.0.3 + version: 6.0.3(semantic-release@24.2.0(typescript@5.6.2)) + '@semantic-release/git': + specifier: ^10.0.1 + version: 10.0.1(semantic-release@24.2.0(typescript@5.6.2)) '@types/alpinejs': specifier: ^3.13.10 version: 3.13.10 @@ -1569,16 +1575,32 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@semantic-release/changelog@6.0.3': + resolution: {integrity: sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + '@semantic-release/commit-analyzer@13.0.0': resolution: {integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==} engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' + '@semantic-release/error@3.0.0': + resolution: {integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==} + engines: {node: '>=14.17'} + '@semantic-release/error@4.0.0': resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==} engines: {node: '>=18'} + '@semantic-release/git@10.0.1': + resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + '@semantic-release/github@11.0.1': resolution: {integrity: sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==} engines: {node: '>=20.8.1'} @@ -1911,6 +1933,10 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + aggregate-error@5.0.0: resolution: {integrity: sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==} engines: {node: '>=18'} @@ -2216,6 +2242,10 @@ packages: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + clean-stack@5.2.0: resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==} engines: {node: '>=14.16'} @@ -2634,6 +2664,10 @@ packages: eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -3005,6 +3039,10 @@ packages: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -3040,6 +3078,10 @@ packages: import-meta-resolve@4.1.0: resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + indent-string@5.0.0: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} @@ -3613,6 +3655,10 @@ packages: engines: {node: '>=16'} hasBin: true + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -3712,6 +3758,10 @@ packages: resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} engines: {node: '>=14.16'} + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3820,6 +3870,10 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -3875,6 +3929,10 @@ packages: resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} engines: {node: '>=18'} + p-reduce@2.1.0: + resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} + engines: {node: '>=8'} + p-reduce@3.0.0: resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} engines: {node: '>=12'} @@ -4416,6 +4474,9 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -4617,6 +4678,10 @@ packages: resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} engines: {node: '>=10'} + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -6940,6 +7005,14 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} + '@semantic-release/changelog@6.0.3(semantic-release@24.2.0(typescript@5.6.2))': + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + fs-extra: 11.2.0 + lodash: 4.17.21 + semantic-release: 24.2.0(typescript@5.6.2) + '@semantic-release/commit-analyzer@13.0.0(semantic-release@24.2.0(typescript@5.6.2))': dependencies: conventional-changelog-angular: 8.0.0 @@ -6954,8 +7027,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@semantic-release/error@3.0.0': {} + '@semantic-release/error@4.0.0': {} + '@semantic-release/git@10.0.1(semantic-release@24.2.0(typescript@5.6.2))': + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + debug: 4.3.7 + dir-glob: 3.0.1 + execa: 5.1.1 + lodash: 4.17.21 + micromatch: 4.0.8 + p-reduce: 2.1.0 + semantic-release: 24.2.0(typescript@5.6.2) + transitivePeerDependencies: + - supports-color + '@semantic-release/github@11.0.1(semantic-release@24.2.0(typescript@5.6.2))': dependencies: '@octokit/core': 6.1.2 @@ -7378,6 +7467,11 @@ snapshots: transitivePeerDependencies: - supports-color + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + aggregate-error@5.0.0: dependencies: clean-stack: 5.2.0 @@ -7782,6 +7876,8 @@ snapshots: ci-info@4.0.0: {} + clean-stack@2.2.0: {} + clean-stack@5.2.0: dependencies: escape-string-regexp: 5.0.0 @@ -8246,6 +8342,18 @@ snapshots: eventemitter3@5.0.1: {} + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + execa@8.0.1: dependencies: cross-spawn: 7.0.3 @@ -8784,6 +8892,8 @@ snapshots: transitivePeerDependencies: - supports-color + human-signals@2.1.0: {} + human-signals@5.0.0: {} human-signals@8.0.0: {} @@ -8814,6 +8924,8 @@ snapshots: import-meta-resolve@4.1.0: {} + indent-string@4.0.0: {} + indent-string@5.0.0: {} index-to-position@0.1.2: {} @@ -9615,6 +9727,8 @@ snapshots: mime@4.0.4: {} + mimic-fn@2.1.0: {} + mimic-fn@4.0.0: {} mimic-function@5.0.1: {} @@ -9692,6 +9806,10 @@ snapshots: normalize-url@8.0.1: {} + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -9726,6 +9844,10 @@ snapshots: dependencies: wrappy: 1.0.2 + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 @@ -9785,6 +9907,8 @@ snapshots: eventemitter3: 5.0.1 p-timeout: 6.1.3 + p-reduce@2.1.0: {} + p-reduce@3.0.0: {} p-timeout@6.1.3: {} @@ -10536,6 +10660,8 @@ snapshots: siginfo@2.0.0: {} + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} signale@1.4.0: @@ -10764,6 +10890,8 @@ snapshots: strip-comments@2.0.1: {} + strip-final-newline@2.0.0: {} + strip-final-newline@3.0.0: {} strip-final-newline@4.0.0: {} diff --git a/public/favicon-with-background.svg b/public/favicon-with-background.svg new file mode 100644 index 0000000..18f23e6 --- /dev/null +++ b/public/favicon-with-background.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pwa-assets.config.js b/pwa-assets.config.js index 9170ab8..4f72369 100644 --- a/pwa-assets.config.js +++ b/pwa-assets.config.js @@ -7,6 +7,6 @@ import { export default defineConfig({ preset, images: [ - 'public/favicon.svg', + 'public/favicon-with-background.svg', ] }); diff --git a/release.config.mjs b/release.config.mjs index 4dcd1a8..4125f58 100644 --- a/release.config.mjs +++ b/release.config.mjs @@ -3,4 +3,23 @@ */ export default { branches: ["master"], + plugins: [ + '@semantic-release/commit-analyzer', + '@semantic-release/release-notes-generator', + [ + '@semantic-release/changelog', + { + changelogFile: 'CHANGELOG.md', + }, + ], + '@semantic-release/npm', // Updates package.json version + [ + "@semantic-release/git", + { + "assets": ["package.json", "package-lock.json", "CHANGELOG.md"], + "message": "release: Release ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + } + ], + '@semantic-release/github', // Creates GitHub release + ], }; diff --git a/src/components/Footer.astro b/src/components/Footer.astro index fcb0d1e..3b565d0 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -1,15 +1,28 @@ --- import FAQs from './FAQs.astro'; const year = new Date().getFullYear(); + +interface Props { + small?: boolean; +} + +const { small } = Astro.props; --- -