This commit is contained in:
Adam Matthiesen 2024-01-20 14:31:49 -08:00
parent c8b68bf003
commit 74a618cab9
3 changed files with 24 additions and 24 deletions

View File

@ -1,7 +1,7 @@
{ {
"name": "@matthiesenxyz/astro-ghostcms", "name": "@matthiesenxyz/astro-ghostcms",
"description": "Astro GhostCMS integration to allow easier importing of GhostCMS Content", "description": "Astro GhostCMS integration to allow easier importing of GhostCMS Content",
"version": "2.1.4", "version": "2.1.5",
"author": "MatthiesenXYZ (https://matthiesen.xyz)", "author": "MatthiesenXYZ (https://matthiesen.xyz)",
"type": "module", "type": "module",
"license": "MIT", "license": "MIT",

View File

@ -3,18 +3,18 @@ import * as S from './schemas';
export const UserConfigSchema = z.object({ export const UserConfigSchema = z.object({
/** OPTIONAL - Theme Selector /** OPTIONAL - Theme Selector
* @ This option allows the user to replace the included theme with an external npm module */ * This option allows the user to replace the included theme with an external npm module */
theme: z.string().default('@matthiesenxyz/astro-ghostcms'), theme: z.string().default('@matthiesenxyz/astro-ghostcms'),
/** OPTIONAL - astrojs/sitemap /** OPTIONAL - astrojs/sitemap
* @ This option allows the user to configure the included integration * This option allows the user to configure the included integration
* @ Options shown are the availble options * Options shown are the availble options
* @REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap * REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap
*/ */
sitemap: S.SitemapSchema.optional(), sitemap: S.SitemapSchema.optional(),
/** OPTIONAL - astro-robots-txt /** OPTIONAL - astro-robots-txt
* @ This option allows the user to configure the included integration * This option allows the user to configure the included integration
* @ Options shown are the availble options * Options shown are the availble options
* @REFERENCE https://www.npmjs.com/package/astro-robots-txt#configuration * REFERENCE https://www.npmjs.com/package/astro-robots-txt#configuration
*/ */
robotstxt: S.RobotsTxtSchema.optional(), robotstxt: S.RobotsTxtSchema.optional(),
}); });

View File

@ -1,45 +1,45 @@
import { boolean, string, z } from 'astro/zod'; import { z } from 'astro/zod';
export const SitemapSchema = z.object({ export const SitemapSchema = z.object({
/** EXAMPLE: ['https://example-1.com', 'https://example-2.com] /** EXAMPLE: ['https://example-1.com', 'https://example-2.com]
* @REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap/#custompages * REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap/#custompages
*/ */
customPages: z.string().array().optional(), customPages: z.string().array().optional(),
/** EXAMPLE: 10000 /** EXAMPLE: 10000
* @REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap/#entrylimit * REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap/#entrylimit
*/ */
entryLimit: z.number().optional() entryLimit: z.number().optional()
}) })
const RobotsPolicySchema = z.object({ const RobotsPolicySchema = z.object({
/** You must provide a name of the automatic client (search engine crawler). /** You must provide a name of the automatic client (search engine crawler).
* @ Wildcards are allowed. * Wildcards are allowed.
*/ */
userAgent: z.string(), userAgent: z.string(),
/** Allowed paths for crawling */ /** Allowed paths for crawling */
allow: z.string().or(string().array()).optional(), allow: z.string().optional(),
/** Disallowed paths for crawling */ /** Disallowed paths for crawling */
disallow: z.string().or(string().array()).optional(), disallow: z.string().optional(),
/** Indicates that the page's URL contains parameters that should be ignored during crawling. /** Indicates that the page's URL contains parameters that should be ignored during crawling.
* @ Maximum string length is limited to 500. * Maximum string length is limited to 500.
*/ */
cleanParam: z.string().or(string().array()).optional(), cleanParam: z.string().optional(),
/** Minimum interval (in secs) for the crawler to wait after loading one page, before starting other */ /** Minimum interval (in secs) for the crawler to wait after loading one page, before starting other */
crawlDelay: z.number().optional() crawlDelay: z.number().optional()
}) })
export const RobotsTxtSchema = z.object({ export const RobotsTxtSchema = z.object({
/** @EXAMPLE1 host: true - automatically resolve using the site option from Astro config /** EXAMPLE1 host: true - automatically resolve using the site option from Astro config
* @EXAMPLE2 host: 'example.com' * EXAMPLE2 host: 'example.com'
*/ */
host: z.string().or(boolean()).optional(), host: z.string().optional(),
/** @EXAMPLE1 sitemap: "https://example.com/sitemap-0.xml" /** EXAMPLE1 sitemap: "https://example.com/sitemap-0.xml"
* @EXAMPLE2 sitemap: ['https://example.com/sitemap-0.xml','https://example.com/sitemap-1.xml'] * EXAMPLE2 sitemap: ['https://example.com/sitemap-0.xml','https://example.com/sitemap-1.xml']
* @EXAMPLE3 sitemap: false - If you want to get the robots.txt file without the Sitemap: ... entry, set the sitemap parameter to false. * EXAMPLE3 sitemap: false - If you want to get the robots.txt file without the Sitemap: ... entry, set the sitemap parameter to false.
*/ */
sitemap: z.string().or(boolean()).or(string().array()).optional(), sitemap: z.string().optional(),
/** astrojs/sitemap and astro-sitemap integrations have the sitemap-index.xml as their primary output. That is why the default value of sitemapBaseFileName is set to sitemap-index. /** astrojs/sitemap and astro-sitemap integrations have the sitemap-index.xml as their primary output. That is why the default value of sitemapBaseFileName is set to sitemap-index.
* @EXAMPLE sitemapBaseFileName: 'custom-sitemap' * EXAMPLE sitemapBaseFileName: 'custom-sitemap'
*/ */
sitemapBaseFileName: z.string().optional(), sitemapBaseFileName: z.string().optional(),
/** SET POLICY RULES */ /** SET POLICY RULES */