diff --git a/astro.config.mjs b/astro.config.mjs index 72e36ec..51fe2ef 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,64 +1,96 @@ -import { defineConfig } from 'astro/config' -import react from '@astrojs/react' -import markdoc from '@astrojs/markdoc' -import AutoImport from 'astro-auto-import' -import keystatic from '@keystatic/astro' -import node from '@astrojs/node' -import robotsTxt from 'astro-robots-txt' -import mdx from '@astrojs/mdx' -import matomo from 'astro-matomo' +import { defineConfig } from 'astro/config'; +import markdoc from '@astrojs/markdoc'; +import AutoImport from 'astro-auto-import'; +import keystatic from '@keystatic/astro'; +import node from '@astrojs/node'; +import robotsTxt from 'astro-robots-txt'; +import mdx from '@astrojs/mdx'; +import matomo from 'astro-matomo'; +import vue from "@astrojs/vue"; // https://astro.build/config export default defineConfig({ site: 'https://sudovanilla.org', - trailingSlash: 'always', // Slug issue if not enabled + trailingSlash: 'always', + // Slug issue if not enabled redirects: { '/docs/': '/docs/minpluto/introduction/', '/docs/minpluto': '/docs/minpluto/introduction/' // ? }, - integrations: [react(), markdoc(), ...(process.env.SKIP_KEYSTATIC ? [] : [keystatic()]), - AutoImport({ - imports: [ - './src/components/keystatic/Image.astro', - './src/components/init/SoftwareItem.astro', - ], - }), - mdx(), // This must initalzied after AutoImport, not before - matomo({ - enabled: import.meta.env.PROD, // Only load in production - host: "https://stats.sudovanilla.org/", - setCookieDomain: "*.sudovanilla.org", - trackerUrl: "js/", // defaults to matomo.php - srcUrl: "js/", // defaults to matomo.js - siteId: 1, - heartBeatTimer: 5, - disableCookies: true, - debug: false, - }), - robotsTxt({ - policy: [ - { userAgent: 'Googlebot', disallow: '/' }, - { userAgent: 'Bingbot', disallow: '/' }, - { userAgent: '404checker', disallow: '/' }, - { userAgent: 'MJ12Bot', disallow: '/' }, - { userAgent: 'AspiegelBot', disallow: '/' }, - { userAgent: 'PetalBot', disallow: '/' }, - { userAgent: 'AhrefsBot', disallow: '/' }, - { userAgent: 'SEMrushBot', disallow: '/' }, - { userAgent: 'DotBot', disallow: '/' }, - { userAgent: 'Slurp', disallow: '/' }, - { userAgent: 'DuckDuckBot', disallow: '/' }, - { userAgent: 'YandexBot', disallow: '/' }, - { userAgent: 'MauiBot', disallow: '/' }, - { userAgent: 'baiduspider', disallow: '/' }, - { userAgent: 'adidxbot', disallow: '/' }, - { userAgent: 'microsoftbot', disallow: '/' }, - { userAgent: 'OtherBot', disallow: '/' }, - ] - })], + integrations: [markdoc(), ...(process.env.SKIP_KEYSTATIC ? [] : [keystatic()]), AutoImport({ + imports: ['./src/components/keystatic/Image.astro', './src/components/init/SoftwareItem.astro'] + }), mdx(), + // This must initalzied after AutoImport, not before + matomo({ + enabled: import.meta.env.PROD, + // Only load in production + host: "https://stats.sudovanilla.org/", + setCookieDomain: "*.sudovanilla.org", + trackerUrl: "js/", + // defaults to matomo.php + srcUrl: "js/", + // defaults to matomo.js + siteId: 1, + heartBeatTimer: 5, + disableCookies: true, + debug: false + }), robotsTxt({ + policy: [{ + userAgent: 'Googlebot', + disallow: '/' + }, { + userAgent: 'Bingbot', + disallow: '/' + }, { + userAgent: '404checker', + disallow: '/' + }, { + userAgent: 'MJ12Bot', + disallow: '/' + }, { + userAgent: 'AspiegelBot', + disallow: '/' + }, { + userAgent: 'PetalBot', + disallow: '/' + }, { + userAgent: 'AhrefsBot', + disallow: '/' + }, { + userAgent: 'SEMrushBot', + disallow: '/' + }, { + userAgent: 'DotBot', + disallow: '/' + }, { + userAgent: 'Slurp', + disallow: '/' + }, { + userAgent: 'DuckDuckBot', + disallow: '/' + }, { + userAgent: 'YandexBot', + disallow: '/' + }, { + userAgent: 'MauiBot', + disallow: '/' + }, { + userAgent: 'baiduspider', + disallow: '/' + }, { + userAgent: 'adidxbot', + disallow: '/' + }, { + userAgent: 'microsoftbot', + disallow: '/' + }, { + userAgent: 'OtherBot', + disallow: '/' + }] + }), vue()], output: 'server', adapter: node({ - mode: 'standalone', + mode: 'standalone' }), server: { port: 2014, @@ -67,4 +99,4 @@ export default defineConfig({ devToolbar: { enabled: false } -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 878b8f1..f9353c0 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 720a6f9..caf7a9c 100644 --- a/package.json +++ b/package.json @@ -17,10 +17,12 @@ "@astrojs/node": "^8.1.0", "@astrojs/partytown": "^2.0.4", "@astrojs/react": "^3.0.7", - "@astrojs/vue": "^4.1.0", + "@astrojs/vue": "^4.5.0", + "@iconoir/vue": "^7.8.0", "@keystatic/astro": "^5.0.0", "@keystatic/core": "^0.5.11", "@meilisearch/instant-meilisearch": "^0.17.0", + "@minpluto/zorn": "^0.4.5", "@types/react": "^18.2.8", "@types/react-dom": "^18.0.11", "astro": "^4.6.3", @@ -28,10 +30,10 @@ "astro-json-element": "^1.1.4", "astro-matomo": "^1.6.0", "astro-robots-txt": "^1.0.0", + "astro-tooltips": "^0.6.2", "astro-useragent": "^4.0.1", "axios": "^1.6.8", "docs-searchbar.js": "^2.5.0", - "iconoir-react": "^7.6.0", "json-truncate": "^3.0.0", "meilisearch": "^0.38.0", "node-fetch": "^3.3.2", @@ -42,7 +44,8 @@ "react-dom": "^18.2.0", "react-instantsearch": "^7.7.2", "reshaped": "^2.11.6", - "untruncate-json": "^0.0.1" + "untruncate-json": "^0.0.1", + "vue": "^3.4.38" }, "devDependencies": { "sass": "^1.75.0"