From c735556726e75428550a3d28a2cf58e2c8490b7d Mon Sep 17 00:00:00 2001 From: Dawid Rycerz Date: Mon, 21 Jul 2025 21:56:55 +0300 Subject: Initial template --- .vscode/astrowind/config-schema.json | 275 +++++++++++++++++++++++++++++++++++ .vscode/extensions.json | 10 ++ .vscode/launch.json | 11 ++ .vscode/settings.json | 15 ++ 4 files changed, 311 insertions(+) create mode 100644 .vscode/astrowind/config-schema.json create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json (limited to '.vscode') diff --git a/.vscode/astrowind/config-schema.json b/.vscode/astrowind/config-schema.json new file mode 100644 index 0000000..3297fa3 --- /dev/null +++ b/.vscode/astrowind/config-schema.json @@ -0,0 +1,275 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "site": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "site": { + "type": "string" + }, + "base": { + "type": "string" + }, + "trailingSlash": { + "type": "boolean" + }, + "googleSiteVerificationId": { + "type": "string" + } + }, + "required": ["name", "site", "base", "trailingSlash"], + "additionalProperties": false + }, + "metadata": { + "type": "object", + "properties": { + "title": { + "type": "object", + "properties": { + "default": { + "type": "string" + }, + "template": { + "type": "string" + } + }, + "required": ["default", "template"] + }, + "description": { + "type": "string" + }, + "robots": { + "type": "object", + "properties": { + "index": { + "type": "boolean" + }, + "follow": { + "type": "boolean" + } + }, + "required": ["index", "follow"] + }, + "openGraph": { + "type": "object", + "properties": { + "site_name": { + "type": "string" + }, + "images": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + } + }, + "required": ["url", "width", "height"] + } + ] + }, + "type": { + "type": "string" + } + }, + "required": ["site_name", "images", "type"] + }, + "twitter": { + "type": "object", + "properties": { + "handle": { + "type": "string" + }, + "site": { + "type": "string" + }, + "cardType": { + "type": "string" + } + }, + "required": ["handle", "site", "cardType"] + } + }, + "required": ["title", "description", "robots", "openGraph", "twitter"] + }, + "i18n": { + "type": "object", + "properties": { + "language": { + "type": "string" + }, + "textDirection": { + "type": "string" + } + }, + "required": ["language", "textDirection"] + }, + "apps": { + "type": "object", + "properties": { + "blog": { + "type": "object", + "properties": { + "isEnabled": { + "type": "boolean" + }, + "postsPerPage": { + "type": "integer" + }, + "isRelatedPostsEnabled": { + "type": "boolean" + }, + "relatedPostsCount": { + "type": "integer" + }, + "post": { + "type": "object", + "properties": { + "isEnabled": { + "type": "boolean" + }, + "permalink": { + "type": "string" + }, + "robots": { + "type": "object", + "properties": { + "index": { + "type": "boolean" + }, + "follow": { + "type": "boolean" + } + }, + "required": ["index"] + } + }, + "required": ["isEnabled", "permalink", "robots"] + }, + "list": { + "type": "object", + "properties": { + "isEnabled": { + "type": "boolean" + }, + "pathname": { + "type": "string" + }, + "robots": { + "type": "object", + "properties": { + "index": { + "type": "boolean" + }, + "follow": { + "type": "boolean" + } + }, + "required": ["index"] + } + }, + "required": ["isEnabled", "pathname", "robots"] + }, + "category": { + "type": "object", + "properties": { + "isEnabled": { + "type": "boolean" + }, + "pathname": { + "type": "string" + }, + "robots": { + "type": "object", + "properties": { + "index": { + "type": "boolean" + }, + "follow": { + "type": "boolean" + } + }, + "required": ["index"] + } + }, + "required": ["isEnabled", "pathname", "robots"] + }, + "tag": { + "type": "object", + "properties": { + "isEnabled": { + "type": "boolean" + }, + "pathname": { + "type": "string" + }, + "robots": { + "type": "object", + "properties": { + "index": { + "type": "boolean" + }, + "follow": { + "type": "boolean" + } + }, + "required": ["index"] + } + }, + "required": ["isEnabled", "pathname", "robots"] + } + }, + "required": ["isEnabled", "postsPerPage", "post", "list", "category", "tag"] + } + }, + "required": ["blog"] + }, + "analytics": { + "type": "object", + "properties": { + "vendors": { + "type": "object", + "properties": { + "googleAnalytics": { + "type": "object", + "properties": { + "id": { + "type": ["string", "null"] + }, + "partytown": { + "type": "boolean", + "default": true + } + }, + "required": ["id"] + } + }, + "required": ["googleAnalytics"] + } + }, + "required": ["vendors"] + }, + "ui": { + "type": "object", + "properties": { + "theme": { + "type": "string" + } + }, + "required": ["theme"] + } + }, + "required": ["site", "metadata", "i18n", "apps", "analytics", "ui"] +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..ec1bfc0 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,10 @@ +{ + "recommendations": [ + "astro-build.astro-vscode", + "bradlc.vscode-tailwindcss", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "unifiedjs.vscode-mdx" + ], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c400773 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,15 @@ +{ + "css.customData": ["./vscode.tailwind.json"], + "eslint.validate": ["javascript", "javascriptreact", "astro", "typescript", "typescriptreact"], + "files.associations": { + "*.mdx": "markdown" + }, + "prettier.documentSelectors": ["**/*.astro"], + "[astro]": { + "editor.defaultFormatter": "astro-build.astro-vscode" + }, + "yaml.schemas": { + "./.vscode/astrowind/config-schema.json": "/src/config.yaml" + }, + "eslint.useFlatConfig": true +} -- cgit v1.2.3