summaryrefslogtreecommitdiff
path: root/.vscode/astrowind
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2025-07-21 21:56:55 +0300
committerDawid Rycerz <dawid@rycerz.xyz>2025-07-21 21:56:55 +0300
commitc735556726e75428550a3d28a2cf58e2c8490b7d (patch)
treefd0ae29d1636b825abeedff6b99d3376bb383135 /.vscode/astrowind
Initial template
Diffstat (limited to '.vscode/astrowind')
-rw-r--r--.vscode/astrowind/config-schema.json275
1 files changed, 275 insertions, 0 deletions
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"]
+}