@@ -9,86 +9,177 @@ export default defineConfig({
99
1010 head : [
1111 // Favicons and icons
12- [ "link" , { rel : "icon" , type : "image/png" , sizes : "32x32" , href : "/icon.png" } ] ,
13- [ "link" , { rel : "icon" , type : "image/png" , sizes : "16x16" , href : "/icon.png" } ] ,
12+ [
13+ "link" ,
14+ { rel : "icon" , type : "image/png" , sizes : "32x32" , href : "/icon.png" } ,
15+ ] ,
16+ [
17+ "link" ,
18+ { rel : "icon" , type : "image/png" , sizes : "16x16" , href : "/icon.png" } ,
19+ ] ,
1420 [ "link" , { rel : "apple-touch-icon" , sizes : "180x180" , href : "/icon.png" } ] ,
1521 [ "link" , { rel : "manifest" , href : "/manifest.json" } ] ,
16-
22+
1723 // SEO Meta Tags
1824 [ "meta" , { name : "theme-color" , content : "#3c82f6" } ] ,
19- [ "meta" , { name : "viewport" , content : "width=device-width, initial-scale=1.0" } ] ,
25+ [
26+ "meta" ,
27+ { name : "viewport" , content : "width=device-width, initial-scale=1.0" } ,
28+ ] ,
2029 [ "meta" , { name : "author" , content : "Matthew Hendricks" } ] ,
21- [ "meta" , { name : "keywords" , content : "validation, typescript, markdown, schema validation, content validation, astro, nextjs, standard schema, build-time validation, developer tools, npm package" } ] ,
22- [ "meta" , { name : "robots" , content : "index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" } ] ,
30+ [
31+ "meta" ,
32+ {
33+ name : "keywords" ,
34+ content :
35+ "validation, typescript, markdown, schema validation, content validation, astro, nextjs, standard schema, build-time validation, developer tools, npm package" ,
36+ } ,
37+ ] ,
38+ [
39+ "meta" ,
40+ {
41+ name : "robots" ,
42+ content :
43+ "index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" ,
44+ } ,
45+ ] ,
2346 [ "meta" , { name : "googlebot" , content : "index, follow" } ] ,
24-
47+
2548 // Open Graph / Facebook
2649 [ "meta" , { property : "og:type" , content : "website" } ] ,
2750 [ "meta" , { property : "og:locale" , content : "en_US" } ] ,
2851 [ "meta" , { property : "og:site_name" , content : "FieldTest Documentation" } ] ,
29- [ "meta" , { property : "og:title" , content : "FieldTest - Validation Toolkit for Modern Frameworks" } ] ,
30- [ "meta" , { property : "og:description" , content : "Framework-agnostic validation for Markdown and Standard Schema. Catch content errors at build time. Works with Astro, Next.js, Remix, and more." } ] ,
31- [ "meta" , { property : "og:url" , content : "https://docs.matthewhendricks.net/" } ] ,
32- [ "meta" , { property : "og:image" , content : "https://docs.matthewhendricks.net/hero.png" } ] ,
52+ [
53+ "meta" ,
54+ {
55+ property : "og:title" ,
56+ content : "FieldTest - Validation Toolkit for Modern Frameworks" ,
57+ } ,
58+ ] ,
59+ [
60+ "meta" ,
61+ {
62+ property : "og:description" ,
63+ content :
64+ "Framework-agnostic validation for Markdown and Standard Schema. Catch content errors at build time. Works with Astro, Next.js, Remix, and more." ,
65+ } ,
66+ ] ,
67+ [
68+ "meta" ,
69+ { property : "og:url" , content : "https://docs.matthewhendricks.net/" } ,
70+ ] ,
71+ [
72+ "meta" ,
73+ {
74+ property : "og:image" ,
75+ content : "https://docs.matthewhendricks.net/hero.png" ,
76+ } ,
77+ ] ,
3378 [ "meta" , { property : "og:image:width" , content : "1200" } ] ,
3479 [ "meta" , { property : "og:image:height" , content : "630" } ] ,
35- [ "meta" , { property : "og:image:alt" , content : "FieldTest - Validation toolkit for content" } ] ,
36-
80+ [
81+ "meta" ,
82+ {
83+ property : "og:image:alt" ,
84+ content : "FieldTest - Validation toolkit for content" ,
85+ } ,
86+ ] ,
87+
3788 // Twitter Card
3889 [ "meta" , { name : "twitter:card" , content : "summary_large_image" } ] ,
3990 [ "meta" , { name : "twitter:site" , content : "@watthem" } ] ,
4091 [ "meta" , { name : "twitter:creator" , content : "@watthem" } ] ,
41- [ "meta" , { name : "twitter:title" , content : "FieldTest - Validation Toolkit for Modern Frameworks" } ] ,
42- [ "meta" , { name : "twitter:description" , content : "Framework-agnostic validation for Markdown and Standard Schema. Catch content errors at build time." } ] ,
43- [ "meta" , { name : "twitter:image" , content : "https://docs.matthewhendricks.net/hero.png" } ] ,
44- [ "meta" , { name : "twitter:image:alt" , content : "FieldTest - Validation toolkit for content" } ] ,
45-
92+ [
93+ "meta" ,
94+ {
95+ name : "twitter:title" ,
96+ content : "FieldTest - Validation Toolkit for Modern Frameworks" ,
97+ } ,
98+ ] ,
99+ [
100+ "meta" ,
101+ {
102+ name : "twitter:description" ,
103+ content :
104+ "Framework-agnostic validation for Markdown and Standard Schema. Catch content errors at build time." ,
105+ } ,
106+ ] ,
107+ [
108+ "meta" ,
109+ {
110+ name : "twitter:image" ,
111+ content : "https://docs.matthewhendricks.net/hero.png" ,
112+ } ,
113+ ] ,
114+ [
115+ "meta" ,
116+ {
117+ name : "twitter:image:alt" ,
118+ content : "FieldTest - Validation toolkit for content" ,
119+ } ,
120+ ] ,
121+
46122 // Canonical URL
47123 [ "link" , { rel : "canonical" , href : "https://docs.matthewhendricks.net/" } ] ,
48-
124+
49125 // DNS Prefetch & Preconnect for performance
50126 [ "link" , { rel : "dns-prefetch" , href : "https://fonts.googleapis.com" } ] ,
51- [ "link" , { rel : "preconnect" , href : "https://fonts.gstatic.com" , crossorigin : "" } ] ,
52-
127+ [
128+ "link" ,
129+ { rel : "preconnect" , href : "https://fonts.gstatic.com" , crossorigin : "" } ,
130+ ] ,
131+
53132 // JSON-LD Structured Data
54- [ "script" , { type : "application/ld+json" } , JSON . stringify ( {
55- "@context" : "https://schema.org" ,
56- "@type" : "SoftwareApplication" ,
57- "name" : "FieldTest" ,
58- "applicationCategory" : "DeveloperApplication" ,
59- "operatingSystem" : "Cross-platform" ,
60- "description" : "Framework-agnostic validation toolkit for Markdown and Standard Schema. Built for Astro, Next.js, and modern frameworks." ,
61- "url" : "https://docs.matthewhendricks.net" ,
62- "downloadUrl" : "https://www.npmjs.com/package/@watthem/fieldtest" ,
63- "softwareVersion" : "1.0.1" ,
64- "author" : {
65- "@type" : "Person" ,
66- "name" : "Matthew Hendricks" ,
67- "url" : "https://matthewhendricks.net"
68- } ,
69- "publisher" : {
70- "@type" : "Organization" ,
71- "name" : "Westmark Development" ,
72- "url" : "https://westmark.dev"
73- } ,
74- "offers" : {
75- "@type" : "Offer" ,
76- "price" : "0" ,
77- "priceCurrency" : "USD"
78- } ,
79- "aggregateRating" : {
80- "@type" : "AggregateRating" ,
81- "ratingValue" : "5" ,
82- "ratingCount" : "1"
83- }
84- } ) ] ,
85-
133+ [
134+ "script" ,
135+ { type : "application/ld+json" } ,
136+ JSON . stringify ( {
137+ "@context" : "https://schema.org" ,
138+ "@type" : "SoftwareApplication" ,
139+ name : "FieldTest" ,
140+ applicationCategory : "DeveloperApplication" ,
141+ operatingSystem : "Cross-platform" ,
142+ description :
143+ "Framework-agnostic validation toolkit for Markdown and Standard Schema. Built for Astro, Next.js, and modern frameworks." ,
144+ url : "https://docs.matthewhendricks.net" ,
145+ downloadUrl : "https://www.npmjs.com/package/@watthem/fieldtest" ,
146+ softwareVersion : "1.0.1" ,
147+ author : {
148+ "@type" : "Person" ,
149+ name : "Matthew Hendricks" ,
150+ url : "https://matthewhendricks.net" ,
151+ } ,
152+ publisher : {
153+ "@type" : "Organization" ,
154+ name : "Westmark Development" ,
155+ url : "https://westmark.dev" ,
156+ } ,
157+ offers : {
158+ "@type" : "Offer" ,
159+ price : "0" ,
160+ priceCurrency : "USD" ,
161+ } ,
162+ aggregateRating : {
163+ "@type" : "AggregateRating" ,
164+ ratingValue : "5" ,
165+ ratingCount : "1" ,
166+ } ,
167+ } ) ,
168+ ] ,
169+
86170 // Additional technical SEO
87171 [ "meta" , { name : "format-detection" , content : "telephone=no" } ] ,
88172 [ "meta" , { httpEquiv : "x-ua-compatible" , content : "IE=edge" } ] ,
89-
173+
90174 // Plausible Analytics
91- [ "script" , { defer : "" , "data-domain" : "docs.matthewhendricks.net" , src : "https://plausible.io/js/script.js" } ] ,
175+ [
176+ "script" ,
177+ {
178+ defer : "" ,
179+ "data-domain" : "docs.matthewhendricks.net" ,
180+ src : "https://plausible.io/js/script.js" ,
181+ } ,
182+ ] ,
92183 ] ,
93184
94185 themeConfig : {
@@ -100,10 +191,7 @@ export default defineConfig({
100191 { text : "Examples" , link : "/examples/" } ,
101192 {
102193 text : "v1.0.1" ,
103- items : [
104- { text : "Changelog" , link : "/changelog" } ,
105- { text : "Migration" , link : "/migration" } ,
106- ] ,
194+ items : [ { text : "Changelog" , link : "/changelog" } ] ,
107195 } ,
108196 ] ,
109197
@@ -160,7 +248,6 @@ export default defineConfig({
160248 text : "Advanced" ,
161249 collapsed : true ,
162250 items : [
163- { text : "Migration from FKit" , link : "/migration" } ,
164251 { text : "MCP Integration" , link : "/advanced/mcp" } ,
165252 { text : "Performance" , link : "/advanced/performance" } ,
166253 { text : "Custom Schemas" , link : "/advanced/custom-schemas" } ,
0 commit comments