From 5ed69d92c16430960c6e8750dd5e6521a440030b Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Thu, 17 Oct 2024 19:05:18 +1100 Subject: [PATCH] feat: docs for v2 stable (#338) --- .gitignore | 2 + .nuxtrc | 2 +- LICENSE.md | 21 + .../1.getting-started/0.what-is-nuxt-seo.md | 19 + .../1.getting-started/1.installation.md | 6 +- .../nuxt-seo}/1.getting-started/2.faq.md | 2 +- .../1.getting-started/3.stackblitz.md | 7 +- .../nuxt-seo}/1.getting-started/_dir.yml | 0 .../nuxt-seo}/2.guides/0.using-the-modules.md | 3 +- .../2.guides/1.configuring-modules.md | 3 +- .../nuxt-seo}/2.guides/4.i18n.md | 0 .../nuxt-seo}/2.guides/_dir.yml | 0 .../nuxt-seo}/2.seo-guides/1.going-live.md | 0 .../2.seo-guides}/2.title-templates.md | 14 +- .../2.seo-guides}/3.trailing-slashes.md | 2 +- .../nuxt-seo}/2.seo-guides/_dir.yml | 0 .../nuxt-seo}/3.api/4.breadcrumbs.md | 8 +- .../nuxt-seo}/3.api/9.config.md | 0 .../nuxt-seo}/3.api/_breadcrumb-nuxt-ui.md | 0 .../nuxt-seo}/3.api/_breadcrumb-raw.md | 0 .../nuxt-seo}/3.api/_dir.yml | 0 .../nuxt-seo}/4.releases/_dir.yml | 0 .../6.migration-guide/0.nuxt-seo-kit.md | 14 +- .../6.migration-guide/1.beta-to-rc.md | 0 .../nuxt-seo}/6.migration-guide/_dir.yml | 0 content/nuxt-seo/_dir.yml | 1 + docs/.npmrc | 1 + docs/.nuxtrc | 2 - docs/app.config.ts | 28 - docs/app/app.config.ts | 23 + docs/{ => app}/app.vue | 104 +- docs/app/components/Banner.vue | 7 + docs/{ => app}/components/BouncingBots.vue | 0 docs/{ => app}/components/Discord.vue | 4 +- docs/app/components/Dock.vue | 66 + docs/app/components/DockIcon.vue | 73 + docs/app/components/Header.vue | 22 + docs/app/components/HeaderLinks.vue | 324 + docs/app/components/HeaderLinksOld.vue | 371 + .../components/HomeSectionContributors.vue | 122 + docs/app/components/LegoGithubStar/index.vue | 42 + docs/app/components/LegoTweet/.keys.ts | 4 + docs/app/components/LegoTweet/Action.vue | 11 + docs/app/components/LegoTweet/Action/.keys.ts | 3 + docs/app/components/LegoTweet/Action/Copy.vue | 23 + .../components/LegoTweet/Action/CopyIcon.vue | 43 + docs/app/components/LegoTweet/Action/Love.vue | 24 + .../components/LegoTweet/Action/LoveIcon.vue | 11 + .../app/components/LegoTweet/Action/Reply.vue | 21 + .../components/LegoTweet/Action/ReplyIcon.vue | 11 + docs/app/components/LegoTweet/CreatedAt.vue | 26 + docs/app/components/LegoTweet/Link.vue | 9 + docs/app/components/LegoTweet/Media.vue | 49 + .../components/LegoTweet/Media/Photo.vue} | 4 +- docs/app/components/LegoTweet/Media/Video.vue | 23 + docs/app/components/LegoTweet/Replies.vue | 24 + docs/app/components/LegoTweet/SummaryCard.vue | 56 + docs/app/components/LegoTweet/Terms.vue | 23 + docs/app/components/LegoTweet/Text.vue | 153 + docs/app/components/LegoTweet/User.vue | 16 + docs/app/components/LegoTweet/User/Avatar.vue | 19 + docs/app/components/LegoTweet/index.vue | 28 + docs/app/components/LegoTweet/utils.ts | 293 + docs/app/components/Logo.vue | 15 + docs/{ => app}/components/MetricGuage.vue | 0 docs/app/components/ModuleLabel.vue | 37 + docs/{ => app}/components/OgImage/Home.vue | 15 +- docs/{ => app}/components/OgImage/Module.vue | 13 +- docs/{ => app}/components/OgImage/NuxtSeo.vue | 13 +- docs/{ => app}/components/OgImage/Release.vue | 13 +- docs/{ => app}/components/ShowcaseCard.vue | 4 +- docs/app/components/ShowcaseCardLink.vue | 38 + docs/app/components/TableOfContents.vue | 58 + docs/{ => app}/components/Tweet.vue | 0 docs/app/components/TwitterCardRenderer.vue | 74 + docs/{ => app}/components/ads/Ads.vue | 23 +- docs/{ => app}/components/ads/AdsFallback.vue | 0 .../components/color-mode/ColorModeButton.vue | 39 + .../app/components/content/ComponentProps.vue | 87 + docs/{ => app}/components/content/Image.vue | 0 docs/app/components/content/ProseCode.vue | 9 + .../components/content/SchemaOrgNodeList.vue | 0 .../components/content/TabComparison.vue | 7 +- .../examples/BreadcrumbNuxtUiExample.vue | 0 .../content/examples/BreadcrumbRawExample.vue | 0 .../content/examples/ComponentPropsSchema.vue | 47 + docs/app/composables/stats.ts | 3 + docs/{ => app}/css/scrollbars.css | 0 docs/app/css/twoslash.css | 35 + docs/{ => app}/error.vue | 4 +- docs/app/layouts/default.vue | 5 + docs/app/layouts/docs.vue | 47 + docs/app/mdc.config.ts | 25 + docs/app/mdc/robots-txt.ts | 56 + docs/app/pages/docs/[...slug].vue | 91 + .../HomePage.vue => app/pages/index.vue} | 377 +- docs/{ => app}/pages/learn.vue | 0 docs/app/utils/content-v2.ts | 0 docs/app/utils/tw.ts | 6 + docs/components/Header.vue | 32 - docs/components/HeaderLinks.vue | 118 - docs/components/Logo.vue | 12 - docs/components/ShowcaseCardLink.vue | 62 - docs/components/docs/DocsAside.vue | 15 - docs/components/docs/DocsAsideLinks.vue | 111 - docs/components/docs/DocsFooter.vue | 37 - docs/components/docs/DocsPageFooter.vue | 22 - docs/components/docs/DocsPageHeader.vue | 34 - docs/components/docs/DocsPrevNext.vue | 33 - docs/components/docs/DocsPrevNextCard.vue | 36 - docs/components/docs/DocsSearch.vue | 176 - docs/components/docs/DocsSearchButton.vue | 33 - docs/components/docs/DocsToc.vue | 24 - docs/components/docs/DocsTocLinks.vue | 49 - docs/composables/useDocs.ts | 11 - docs/composables/useScrollspy.ts | 39 - docs/content.config.ts | 13 + .../1.getting-started/0.what-is-nuxt-seo.md | 44 - .../0.nuxt-seo/2.guides/2.default-meta.md | 68 - .../0.nuxt-seo/2.guides/2.fallback-title.md | 47 - .../2.guides/2.redirect-canonical.md | 23 - docs/content/0.nuxt-seo/_dir.yml | 1 - .../1.robots/1.getting-started/0.features.md | 46 - .../1.getting-started/0.installation.md | 34 - .../1.getting-started/3.stackblitz.md | 12 - .../1.robots/1.getting-started/_dir.yml | 1 - .../1.getting-started/how-it-works.md | 94 - .../content/1.robots/1.integrations/0.i18n.md | 75 - .../1.robots/1.integrations/1.content.md | 41 - docs/content/1.robots/1.integrations/_dir.yml | 1 - .../1.robots/2.guides/0.disable-indexing.md | 54 - .../2.guides/0.disable-page-indexing.md | 58 - .../content/1.robots/2.guides/1.robots-txt.md | 68 - docs/content/1.robots/2.guides/1.yandex.md | 48 - .../1.robots/2.guides/2.route-rules.md | 44 - .../1.robots/2.guides/3.nuxt-config.md | 65 - docs/content/1.robots/2.guides/_dir.yml | 1 - .../1.robots/3.api/0.use-robots-rule.md | 48 - docs/content/1.robots/3.api/1.config.md | 161 - docs/content/1.robots/3.api/1.nuxt-hooks.md | 21 - docs/content/1.robots/3.api/_dir.yml | 1 - .../3.nitro-api/0.get-path-robot-config.md | 16 - .../3.nitro-api/0.get-site-indexable.md | 19 - .../1.robots/3.nitro-api/2.nitro-hooks.md | 55 - docs/content/1.robots/3.nitro-api/_dir.yml | 1 - docs/content/1.robots/4.releases/0.v3.md | 130 - docs/content/1.robots/4.releases/1.v4.md | 176 - docs/content/1.robots/4.releases/_dir.yml | 1 - docs/content/1.robots/_dir.yml | 1 - .../0.getting-started/0.background.md | 70 - .../0.getting-started/0.installation.md | 49 - .../0.getting-started/3.how-it-works.md | 98 - .../10.site-config/0.getting-started/_dir.yml | 1 - .../10.site-config/1.integrations/0.i18n.md | 76 - .../10.site-config/1.integrations/_dir.yml | 1 - .../2.guides/0.setting-site-config.md | 55 - .../2.guides/3.runtime-site-config.md | 57 - docs/content/10.site-config/2.guides/_dir.yml | 1 - .../10.site-config/2.guides/debugging.md | 27 - .../10.site-config/4.api/0.site-link.md | 69 - .../10.site-config/4.api/0.use-site-config.md | 57 - .../4.api/1.update-site-config.md | 27 - .../4.api/4.create-site-path-resolver.md | 43 - .../4.api/5.use-nitro-origin.md | 20 - docs/content/10.site-config/4.api/_dir.yml | 1 - docs/content/10.site-config/4.api/config.md | 91 - .../10.site-config/4.api/nuxt-hooks.md | 21 - .../4.nitro-api/0.use-site-config.md | 17 - .../4.nitro-api/1.update-site-config.md | 24 - .../4.nitro-api/3.get-site-indexable.md | 20 - .../4.create-site-path-resolver.md | 21 - .../4.nitro-api/5.use-nitro-origin.md | 17 - .../10.site-config/4.nitro-api/_dir.yml | 1 - .../10.site-config/4.nitro-api/nitro-hooks.md | 31 - .../10.site-config/4.releases/_dir.yml | 1 - docs/content/10.site-config/_dir.yml | 1 - .../0.getting-started/1.installation.md | 59 - .../0.getting-started/2.data-sources.md | 117 - .../0.getting-started/3.stackblitz.md | 15 - .../2.sitemap/0.getting-started/4.faq.md | 24 - .../2.sitemap/0.getting-started/_dir.yml | 1 - .../2.sitemap/1.integrations/0.i18n.md | 98 - .../2.sitemap/1.integrations/1.content.md | 93 - .../2.sitemap/1.integrations/2.robots.md | 13 - .../content/2.sitemap/1.integrations/_dir.yml | 1 - .../2.sitemap/2.guides/0.filtering-urls.md | 80 - docs/content/2.sitemap/2.guides/0.lastmod.md | 54 - .../2.sitemap/2.guides/1.multi-sitemaps.md | 206 - .../2.sitemap/2.guides/2.dynamic-urls.md | 135 - .../2.sitemap/2.guides/2.images-videos.md | 193 - docs/content/2.sitemap/2.guides/3.cache.md | 42 - .../2.sitemap/2.guides/4.route-rules.md | 34 - .../2.sitemap/2.guides/5.prerendering.md | 67 - .../2.sitemap/2.guides/6.customising-ui.md | 87 - .../content/2.sitemap/2.guides/7.debugging.md | 24 - .../2.sitemap/2.guides/8.best-practices.md | 74 - .../2.guides/9.submitting-sitemap.md | 33 - docs/content/2.sitemap/2.guides/_dir.yml | 1 - docs/content/2.sitemap/4.api/0.config.md | 230 - docs/content/2.sitemap/4.api/_dir.yml | 1 - docs/content/2.sitemap/4.api/schema.md | 94 - docs/content/2.sitemap/5.nitro-api/_dir.yml | 1 - .../2.sitemap/5.nitro-api/nitro-hooks.md | 90 - docs/content/2.sitemap/5.releases/_dir.yml | 1 - docs/content/2.sitemap/5.releases/v3.md | 148 - docs/content/2.sitemap/5.releases/v4.md | 126 - docs/content/2.sitemap/5.releases/v5.md | 57 - docs/content/2.sitemap/5.releases/v6.md | 60 - docs/content/2.sitemap/_dir.yml | 1 - .../0.getting-started/1.installation.md | 54 - .../0.getting-started/3.stackblitz.md | 23 - .../5.getting-familar-with-nuxt-og-image.md | 206 - .../3.og-image/0.getting-started/_dir.yml | 1 - .../3.og-image/1.integrations/1.content.md | 79 - .../3.og-image/1.integrations/2.color-mode.md | 25 - docs/content/3.og-image/3.guides/0.satori.md | 49 - .../content/3.og-image/3.guides/1.chromium.md | 88 - .../3.og-image/3.guides/1.zero-runtime.md | 53 - .../3.og-image/3.guides/2.compatibility.md | 144 - .../3.og-image/3.guides/2.route-rules.md | 25 - docs/content/3.og-image/3.guides/3.cache.md | 91 - docs/content/3.og-image/3.guides/3.jpegs.md | 47 - .../3.og-image/3.guides/5.custom-fonts.md | 99 - .../3.guides/5.non-english-locales.md | 31 - docs/content/3.og-image/3.guides/6.emojis.md | 48 - .../3.og-image/3.guides/6.icons-and-images.md | 66 - docs/content/3.og-image/3.guides/7.styling.md | 59 - docs/content/3.og-image/3.guides/_dir.yml | 1 - .../4.api/0.define-og-image-component.md | 40 - .../4.api/0.define-og-image-screenshot.md | 67 - .../3.og-image/4.api/0.define-og-image.md | 199 - .../3.og-image/4.api/2.nuxt-seo-template.md | 69 - docs/content/3.og-image/4.api/3.components.md | 30 - docs/content/3.og-image/4.api/3.config.md | 140 - docs/content/3.og-image/4.api/3.nuxt-hooks.md | 53 - docs/content/3.og-image/4.api/_dir.yml | 1 - .../3.og-image/5.nitro-api/4.nitro-hooks.md | 49 - docs/content/3.og-image/5.nitro-api/_dir.yml | 1 - .../3.og-image/6.migration-guide/_dir.yml | 1 - .../3.og-image/6.migration-guide/v3.md | 141 - docs/content/3.og-image/7.releases/_dir.yml | 1 - docs/content/3.og-image/7.releases/v2.md | 201 - .../content/3.og-image/7.releases/v3-major.md | 372 - docs/content/3.og-image/_dir.yml | 1 - .../0.getting-started/1.installation.md | 44 - .../0.getting-started/3.stackblitz.md | 12 - .../4.schema-org/0.getting-started/_dir.yml | 1 - .../0.getting-started/how-it-works.md | 29 - .../2.guides/0.default-schema-org.md | 44 - .../4.schema-org/2.guides/1.quick-setup.md | 45 - docs/content/4.schema-org/2.guides/2.nodes.md | 59 - .../2.guides/3.full-documentation.md | 21 - .../4.schema-org/2.guides/7.debugging.md | 27 - docs/content/4.schema-org/2.guides/_dir.yml | 1 - docs/content/4.schema-org/4.api/0.config.md | 76 - .../4.schema-org/4.api/1.nuxt-hooks.md | 26 - docs/content/4.schema-org/4.api/_dir.yml | 1 - docs/content/4.schema-org/4.releases/_dir.yml | 1 - docs/content/4.schema-org/4.releases/v2.md | 49 - docs/content/4.schema-org/4.releases/v3.md | 23 - docs/content/4.schema-org/_dir.yml | 1 - .../0.getting-started/1.installation.md | 18 - .../0.getting-started/3.stackblitz.md | 10 - .../6.link-checker/0.getting-started/_dir.yml | 1 - .../1.integrations/0.sitemap.md | 6 - .../6.link-checker/1.integrations/_dir.yml | 1 - .../2.guides/0.live-inspections.md | 38 - .../2.guides/1.exclude-links.md | 18 - .../2.guides/1.skip-inspections.md | 34 - .../6.link-checker/2.guides/2.build-scans.md | 58 - docs/content/6.link-checker/2.guides/_dir.yml | 1 - docs/content/6.link-checker/4.api/0.config.md | 94 - docs/content/6.link-checker/4.api/_dir.yml | 1 - .../6.link-checker/4.releases/_dir.yml | 1 - docs/content/6.link-checker/4.releases/v2.md | 49 - docs/content/6.link-checker/4.releases/v3.md | 69 - docs/content/6.link-checker/_dir.yml | 1 - .../0.getting-started/0.features.md | 38 - .../0.getting-started/1.installation.md | 39 - .../7.experiments/0.getting-started/_dir.yml | 1 - .../7.experiments/2.guides/0.app-icons.md | 92 - .../2.guides/1.open-graph-images.md | 110 - .../2.guides/2.nuxt-config-seo-meta.md | 26 - .../7.experiments/2.guides/3.route-rules.md | 44 - docs/content/7.experiments/2.guides/_dir.yml | 1 - docs/content/7.experiments/3.api/0.config.md | 43 - docs/content/7.experiments/3.api/_dir.yml | 1 - .../content/7.experiments/4.releases/_dir.yml | 1 - docs/content/7.experiments/4.releases/v3.md | 138 - docs/content/7.experiments/4.releases/v4.md | 39 - docs/content/7.experiments/_dir.yml | 1 - docs/content/index.md | 5 - docs/logger.ts | 7 + docs/nuxt.config.ts | 310 +- docs/package.json | 52 +- docs/pages/[...slug].vue | 233 - docs/public/logo.svg | 10 + .../api/github/[repo]/commit-count.get.ts | 27 + .../api/github/[repo]/issues-closed.get.ts | 33 + docs/server/api/robots-txt.ts | 6 + docs/server/api/sitemap-xml.ts | 6 + docs/server/api/stats.ts | 50 + docs/server/content-v2.ts | 8 + docs/tailwind.config.ts | 20 - docs/utils/data.ts | 211 - package.json | 49 +- {.playground => playground}/app.vue | 0 {.playground => playground}/nuxt.config.ts | 9 +- playground/package.json | 13 + .../pages/[...all].vue | 0 {.playground => playground}/pages/about.vue | 0 .../pages/blog/index.vue | 0 playground/pages/blog/tag/[slug].vue | 9 + .../pages/blog/test.vue | 0 {.playground => playground}/pages/index.vue | 0 {.playground => playground}/pages/korean.vue | 0 {.playground => playground}/pages/tak.vue | 0 {docs => playground}/server/tsconfig.json | 0 playground/tsconfig.json | 3 + pnpm-lock.yaml | 6178 +++++++---------- pnpm-workspace.yaml | 2 +- src/module.ts | 2 +- test/fixtures/basic/nuxt.config.ts | 4 +- test/fixtures/i18n/app.vue | 2 +- test/fixtures/i18n/nuxt.config.ts | 4 +- test/utils.ts | 1 - tsconfig.json | 13 +- 327 files changed, 6257 insertions(+), 13776 deletions(-) create mode 100644 LICENSE.md create mode 100644 content/nuxt-seo/1.getting-started/0.what-is-nuxt-seo.md rename {docs/content/0.nuxt-seo => content/nuxt-seo}/1.getting-started/1.installation.md (84%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/1.getting-started/2.faq.md (97%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/1.getting-started/3.stackblitz.md (75%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/1.getting-started/_dir.yml (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/2.guides/0.using-the-modules.md (99%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/2.guides/1.configuring-modules.md (97%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/2.guides/4.i18n.md (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/2.guides/_dir.yml (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/2.seo-guides/1.going-live.md (100%) rename {docs/content/0.nuxt-seo/2.guides => content/nuxt-seo/2.seo-guides}/2.title-templates.md (91%) rename {docs/content/0.nuxt-seo/2.guides => content/nuxt-seo/2.seo-guides}/3.trailing-slashes.md (97%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/2.seo-guides/_dir.yml (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/3.api/4.breadcrumbs.md (97%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/3.api/9.config.md (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/3.api/_breadcrumb-nuxt-ui.md (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/3.api/_breadcrumb-raw.md (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/3.api/_dir.yml (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/4.releases/_dir.yml (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/6.migration-guide/0.nuxt-seo-kit.md (96%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/6.migration-guide/1.beta-to-rc.md (100%) rename {docs/content/0.nuxt-seo => content/nuxt-seo}/6.migration-guide/_dir.yml (100%) create mode 100644 content/nuxt-seo/_dir.yml create mode 100644 docs/.npmrc delete mode 100644 docs/.nuxtrc delete mode 100644 docs/app.config.ts create mode 100644 docs/app/app.config.ts rename docs/{ => app}/app.vue (52%) create mode 100644 docs/app/components/Banner.vue rename docs/{ => app}/components/BouncingBots.vue (100%) rename docs/{ => app}/components/Discord.vue (85%) create mode 100644 docs/app/components/Dock.vue create mode 100644 docs/app/components/DockIcon.vue create mode 100644 docs/app/components/Header.vue create mode 100644 docs/app/components/HeaderLinks.vue create mode 100644 docs/app/components/HeaderLinksOld.vue create mode 100644 docs/app/components/HomeSectionContributors.vue create mode 100644 docs/app/components/LegoGithubStar/index.vue create mode 100644 docs/app/components/LegoTweet/.keys.ts create mode 100644 docs/app/components/LegoTweet/Action.vue create mode 100644 docs/app/components/LegoTweet/Action/.keys.ts create mode 100644 docs/app/components/LegoTweet/Action/Copy.vue create mode 100644 docs/app/components/LegoTweet/Action/CopyIcon.vue create mode 100644 docs/app/components/LegoTweet/Action/Love.vue create mode 100644 docs/app/components/LegoTweet/Action/LoveIcon.vue create mode 100644 docs/app/components/LegoTweet/Action/Reply.vue create mode 100644 docs/app/components/LegoTweet/Action/ReplyIcon.vue create mode 100644 docs/app/components/LegoTweet/CreatedAt.vue create mode 100644 docs/app/components/LegoTweet/Link.vue create mode 100644 docs/app/components/LegoTweet/Media.vue rename docs/{components/global/LegoTweetMediaPhoto.vue => app/components/LegoTweet/Media/Photo.vue} (73%) create mode 100644 docs/app/components/LegoTweet/Media/Video.vue create mode 100644 docs/app/components/LegoTweet/Replies.vue create mode 100644 docs/app/components/LegoTweet/SummaryCard.vue create mode 100644 docs/app/components/LegoTweet/Terms.vue create mode 100644 docs/app/components/LegoTweet/Text.vue create mode 100644 docs/app/components/LegoTweet/User.vue create mode 100644 docs/app/components/LegoTweet/User/Avatar.vue create mode 100644 docs/app/components/LegoTweet/index.vue create mode 100644 docs/app/components/LegoTweet/utils.ts create mode 100644 docs/app/components/Logo.vue rename docs/{ => app}/components/MetricGuage.vue (100%) create mode 100644 docs/app/components/ModuleLabel.vue rename docs/{ => app}/components/OgImage/Home.vue (95%) rename docs/{ => app}/components/OgImage/Module.vue (96%) rename docs/{ => app}/components/OgImage/NuxtSeo.vue (95%) rename docs/{ => app}/components/OgImage/Release.vue (96%) rename docs/{ => app}/components/ShowcaseCard.vue (91%) create mode 100644 docs/app/components/ShowcaseCardLink.vue create mode 100644 docs/app/components/TableOfContents.vue rename docs/{ => app}/components/Tweet.vue (100%) create mode 100644 docs/app/components/TwitterCardRenderer.vue rename docs/{ => app}/components/ads/Ads.vue (77%) rename docs/{ => app}/components/ads/AdsFallback.vue (100%) create mode 100644 docs/app/components/color-mode/ColorModeButton.vue create mode 100644 docs/app/components/content/ComponentProps.vue rename docs/{ => app}/components/content/Image.vue (100%) create mode 100644 docs/app/components/content/ProseCode.vue rename docs/{ => app}/components/content/SchemaOrgNodeList.vue (100%) rename docs/{ => app}/components/content/TabComparison.vue (83%) rename docs/{ => app}/components/content/examples/BreadcrumbNuxtUiExample.vue (100%) rename docs/{ => app}/components/content/examples/BreadcrumbRawExample.vue (100%) create mode 100644 docs/app/components/content/examples/ComponentPropsSchema.vue create mode 100644 docs/app/composables/stats.ts rename docs/{ => app}/css/scrollbars.css (100%) create mode 100644 docs/app/css/twoslash.css rename docs/{ => app}/error.vue (89%) create mode 100644 docs/app/layouts/default.vue create mode 100644 docs/app/layouts/docs.vue create mode 100644 docs/app/mdc.config.ts create mode 100644 docs/app/mdc/robots-txt.ts create mode 100644 docs/app/pages/docs/[...slug].vue rename docs/{components/HomePage.vue => app/pages/index.vue} (51%) rename docs/{ => app}/pages/learn.vue (100%) create mode 100644 docs/app/utils/content-v2.ts create mode 100644 docs/app/utils/tw.ts delete mode 100644 docs/components/Header.vue delete mode 100644 docs/components/HeaderLinks.vue delete mode 100644 docs/components/Logo.vue delete mode 100644 docs/components/ShowcaseCardLink.vue delete mode 100644 docs/components/docs/DocsAside.vue delete mode 100644 docs/components/docs/DocsAsideLinks.vue delete mode 100644 docs/components/docs/DocsFooter.vue delete mode 100644 docs/components/docs/DocsPageFooter.vue delete mode 100644 docs/components/docs/DocsPageHeader.vue delete mode 100644 docs/components/docs/DocsPrevNext.vue delete mode 100644 docs/components/docs/DocsPrevNextCard.vue delete mode 100644 docs/components/docs/DocsSearch.vue delete mode 100644 docs/components/docs/DocsSearchButton.vue delete mode 100644 docs/components/docs/DocsToc.vue delete mode 100644 docs/components/docs/DocsTocLinks.vue delete mode 100644 docs/composables/useDocs.ts delete mode 100644 docs/composables/useScrollspy.ts create mode 100644 docs/content.config.ts delete mode 100644 docs/content/0.nuxt-seo/1.getting-started/0.what-is-nuxt-seo.md delete mode 100644 docs/content/0.nuxt-seo/2.guides/2.default-meta.md delete mode 100644 docs/content/0.nuxt-seo/2.guides/2.fallback-title.md delete mode 100644 docs/content/0.nuxt-seo/2.guides/2.redirect-canonical.md delete mode 100644 docs/content/0.nuxt-seo/_dir.yml delete mode 100644 docs/content/1.robots/1.getting-started/0.features.md delete mode 100644 docs/content/1.robots/1.getting-started/0.installation.md delete mode 100644 docs/content/1.robots/1.getting-started/3.stackblitz.md delete mode 100644 docs/content/1.robots/1.getting-started/_dir.yml delete mode 100644 docs/content/1.robots/1.getting-started/how-it-works.md delete mode 100644 docs/content/1.robots/1.integrations/0.i18n.md delete mode 100644 docs/content/1.robots/1.integrations/1.content.md delete mode 100644 docs/content/1.robots/1.integrations/_dir.yml delete mode 100644 docs/content/1.robots/2.guides/0.disable-indexing.md delete mode 100644 docs/content/1.robots/2.guides/0.disable-page-indexing.md delete mode 100644 docs/content/1.robots/2.guides/1.robots-txt.md delete mode 100644 docs/content/1.robots/2.guides/1.yandex.md delete mode 100644 docs/content/1.robots/2.guides/2.route-rules.md delete mode 100644 docs/content/1.robots/2.guides/3.nuxt-config.md delete mode 100644 docs/content/1.robots/2.guides/_dir.yml delete mode 100644 docs/content/1.robots/3.api/0.use-robots-rule.md delete mode 100644 docs/content/1.robots/3.api/1.config.md delete mode 100644 docs/content/1.robots/3.api/1.nuxt-hooks.md delete mode 100644 docs/content/1.robots/3.api/_dir.yml delete mode 100644 docs/content/1.robots/3.nitro-api/0.get-path-robot-config.md delete mode 100644 docs/content/1.robots/3.nitro-api/0.get-site-indexable.md delete mode 100644 docs/content/1.robots/3.nitro-api/2.nitro-hooks.md delete mode 100644 docs/content/1.robots/3.nitro-api/_dir.yml delete mode 100644 docs/content/1.robots/4.releases/0.v3.md delete mode 100644 docs/content/1.robots/4.releases/1.v4.md delete mode 100644 docs/content/1.robots/4.releases/_dir.yml delete mode 100644 docs/content/1.robots/_dir.yml delete mode 100644 docs/content/10.site-config/0.getting-started/0.background.md delete mode 100644 docs/content/10.site-config/0.getting-started/0.installation.md delete mode 100644 docs/content/10.site-config/0.getting-started/3.how-it-works.md delete mode 100644 docs/content/10.site-config/0.getting-started/_dir.yml delete mode 100644 docs/content/10.site-config/1.integrations/0.i18n.md delete mode 100644 docs/content/10.site-config/1.integrations/_dir.yml delete mode 100644 docs/content/10.site-config/2.guides/0.setting-site-config.md delete mode 100644 docs/content/10.site-config/2.guides/3.runtime-site-config.md delete mode 100644 docs/content/10.site-config/2.guides/_dir.yml delete mode 100644 docs/content/10.site-config/2.guides/debugging.md delete mode 100644 docs/content/10.site-config/4.api/0.site-link.md delete mode 100644 docs/content/10.site-config/4.api/0.use-site-config.md delete mode 100644 docs/content/10.site-config/4.api/1.update-site-config.md delete mode 100644 docs/content/10.site-config/4.api/4.create-site-path-resolver.md delete mode 100644 docs/content/10.site-config/4.api/5.use-nitro-origin.md delete mode 100644 docs/content/10.site-config/4.api/_dir.yml delete mode 100644 docs/content/10.site-config/4.api/config.md delete mode 100644 docs/content/10.site-config/4.api/nuxt-hooks.md delete mode 100644 docs/content/10.site-config/4.nitro-api/0.use-site-config.md delete mode 100644 docs/content/10.site-config/4.nitro-api/1.update-site-config.md delete mode 100644 docs/content/10.site-config/4.nitro-api/3.get-site-indexable.md delete mode 100644 docs/content/10.site-config/4.nitro-api/4.create-site-path-resolver.md delete mode 100644 docs/content/10.site-config/4.nitro-api/5.use-nitro-origin.md delete mode 100644 docs/content/10.site-config/4.nitro-api/_dir.yml delete mode 100644 docs/content/10.site-config/4.nitro-api/nitro-hooks.md delete mode 100644 docs/content/10.site-config/4.releases/_dir.yml delete mode 100644 docs/content/10.site-config/_dir.yml delete mode 100644 docs/content/2.sitemap/0.getting-started/1.installation.md delete mode 100644 docs/content/2.sitemap/0.getting-started/2.data-sources.md delete mode 100644 docs/content/2.sitemap/0.getting-started/3.stackblitz.md delete mode 100644 docs/content/2.sitemap/0.getting-started/4.faq.md delete mode 100644 docs/content/2.sitemap/0.getting-started/_dir.yml delete mode 100644 docs/content/2.sitemap/1.integrations/0.i18n.md delete mode 100644 docs/content/2.sitemap/1.integrations/1.content.md delete mode 100644 docs/content/2.sitemap/1.integrations/2.robots.md delete mode 100644 docs/content/2.sitemap/1.integrations/_dir.yml delete mode 100644 docs/content/2.sitemap/2.guides/0.filtering-urls.md delete mode 100644 docs/content/2.sitemap/2.guides/0.lastmod.md delete mode 100644 docs/content/2.sitemap/2.guides/1.multi-sitemaps.md delete mode 100644 docs/content/2.sitemap/2.guides/2.dynamic-urls.md delete mode 100644 docs/content/2.sitemap/2.guides/2.images-videos.md delete mode 100644 docs/content/2.sitemap/2.guides/3.cache.md delete mode 100644 docs/content/2.sitemap/2.guides/4.route-rules.md delete mode 100644 docs/content/2.sitemap/2.guides/5.prerendering.md delete mode 100644 docs/content/2.sitemap/2.guides/6.customising-ui.md delete mode 100644 docs/content/2.sitemap/2.guides/7.debugging.md delete mode 100644 docs/content/2.sitemap/2.guides/8.best-practices.md delete mode 100644 docs/content/2.sitemap/2.guides/9.submitting-sitemap.md delete mode 100644 docs/content/2.sitemap/2.guides/_dir.yml delete mode 100644 docs/content/2.sitemap/4.api/0.config.md delete mode 100644 docs/content/2.sitemap/4.api/_dir.yml delete mode 100644 docs/content/2.sitemap/4.api/schema.md delete mode 100644 docs/content/2.sitemap/5.nitro-api/_dir.yml delete mode 100644 docs/content/2.sitemap/5.nitro-api/nitro-hooks.md delete mode 100644 docs/content/2.sitemap/5.releases/_dir.yml delete mode 100644 docs/content/2.sitemap/5.releases/v3.md delete mode 100644 docs/content/2.sitemap/5.releases/v4.md delete mode 100644 docs/content/2.sitemap/5.releases/v5.md delete mode 100644 docs/content/2.sitemap/5.releases/v6.md delete mode 100644 docs/content/2.sitemap/_dir.yml delete mode 100644 docs/content/3.og-image/0.getting-started/1.installation.md delete mode 100644 docs/content/3.og-image/0.getting-started/3.stackblitz.md delete mode 100644 docs/content/3.og-image/0.getting-started/5.getting-familar-with-nuxt-og-image.md delete mode 100644 docs/content/3.og-image/0.getting-started/_dir.yml delete mode 100644 docs/content/3.og-image/1.integrations/1.content.md delete mode 100644 docs/content/3.og-image/1.integrations/2.color-mode.md delete mode 100644 docs/content/3.og-image/3.guides/0.satori.md delete mode 100644 docs/content/3.og-image/3.guides/1.chromium.md delete mode 100644 docs/content/3.og-image/3.guides/1.zero-runtime.md delete mode 100644 docs/content/3.og-image/3.guides/2.compatibility.md delete mode 100644 docs/content/3.og-image/3.guides/2.route-rules.md delete mode 100644 docs/content/3.og-image/3.guides/3.cache.md delete mode 100644 docs/content/3.og-image/3.guides/3.jpegs.md delete mode 100644 docs/content/3.og-image/3.guides/5.custom-fonts.md delete mode 100644 docs/content/3.og-image/3.guides/5.non-english-locales.md delete mode 100644 docs/content/3.og-image/3.guides/6.emojis.md delete mode 100644 docs/content/3.og-image/3.guides/6.icons-and-images.md delete mode 100644 docs/content/3.og-image/3.guides/7.styling.md delete mode 100644 docs/content/3.og-image/3.guides/_dir.yml delete mode 100644 docs/content/3.og-image/4.api/0.define-og-image-component.md delete mode 100644 docs/content/3.og-image/4.api/0.define-og-image-screenshot.md delete mode 100644 docs/content/3.og-image/4.api/0.define-og-image.md delete mode 100644 docs/content/3.og-image/4.api/2.nuxt-seo-template.md delete mode 100644 docs/content/3.og-image/4.api/3.components.md delete mode 100644 docs/content/3.og-image/4.api/3.config.md delete mode 100644 docs/content/3.og-image/4.api/3.nuxt-hooks.md delete mode 100644 docs/content/3.og-image/4.api/_dir.yml delete mode 100644 docs/content/3.og-image/5.nitro-api/4.nitro-hooks.md delete mode 100644 docs/content/3.og-image/5.nitro-api/_dir.yml delete mode 100644 docs/content/3.og-image/6.migration-guide/_dir.yml delete mode 100644 docs/content/3.og-image/6.migration-guide/v3.md delete mode 100644 docs/content/3.og-image/7.releases/_dir.yml delete mode 100644 docs/content/3.og-image/7.releases/v2.md delete mode 100644 docs/content/3.og-image/7.releases/v3-major.md delete mode 100644 docs/content/3.og-image/_dir.yml delete mode 100644 docs/content/4.schema-org/0.getting-started/1.installation.md delete mode 100644 docs/content/4.schema-org/0.getting-started/3.stackblitz.md delete mode 100644 docs/content/4.schema-org/0.getting-started/_dir.yml delete mode 100644 docs/content/4.schema-org/0.getting-started/how-it-works.md delete mode 100644 docs/content/4.schema-org/2.guides/0.default-schema-org.md delete mode 100644 docs/content/4.schema-org/2.guides/1.quick-setup.md delete mode 100644 docs/content/4.schema-org/2.guides/2.nodes.md delete mode 100644 docs/content/4.schema-org/2.guides/3.full-documentation.md delete mode 100644 docs/content/4.schema-org/2.guides/7.debugging.md delete mode 100644 docs/content/4.schema-org/2.guides/_dir.yml delete mode 100644 docs/content/4.schema-org/4.api/0.config.md delete mode 100644 docs/content/4.schema-org/4.api/1.nuxt-hooks.md delete mode 100644 docs/content/4.schema-org/4.api/_dir.yml delete mode 100644 docs/content/4.schema-org/4.releases/_dir.yml delete mode 100644 docs/content/4.schema-org/4.releases/v2.md delete mode 100644 docs/content/4.schema-org/4.releases/v3.md delete mode 100644 docs/content/4.schema-org/_dir.yml delete mode 100644 docs/content/6.link-checker/0.getting-started/1.installation.md delete mode 100644 docs/content/6.link-checker/0.getting-started/3.stackblitz.md delete mode 100644 docs/content/6.link-checker/0.getting-started/_dir.yml delete mode 100644 docs/content/6.link-checker/1.integrations/0.sitemap.md delete mode 100644 docs/content/6.link-checker/1.integrations/_dir.yml delete mode 100644 docs/content/6.link-checker/2.guides/0.live-inspections.md delete mode 100644 docs/content/6.link-checker/2.guides/1.exclude-links.md delete mode 100644 docs/content/6.link-checker/2.guides/1.skip-inspections.md delete mode 100644 docs/content/6.link-checker/2.guides/2.build-scans.md delete mode 100644 docs/content/6.link-checker/2.guides/_dir.yml delete mode 100644 docs/content/6.link-checker/4.api/0.config.md delete mode 100644 docs/content/6.link-checker/4.api/_dir.yml delete mode 100644 docs/content/6.link-checker/4.releases/_dir.yml delete mode 100644 docs/content/6.link-checker/4.releases/v2.md delete mode 100644 docs/content/6.link-checker/4.releases/v3.md delete mode 100644 docs/content/6.link-checker/_dir.yml delete mode 100644 docs/content/7.experiments/0.getting-started/0.features.md delete mode 100644 docs/content/7.experiments/0.getting-started/1.installation.md delete mode 100644 docs/content/7.experiments/0.getting-started/_dir.yml delete mode 100644 docs/content/7.experiments/2.guides/0.app-icons.md delete mode 100644 docs/content/7.experiments/2.guides/1.open-graph-images.md delete mode 100644 docs/content/7.experiments/2.guides/2.nuxt-config-seo-meta.md delete mode 100644 docs/content/7.experiments/2.guides/3.route-rules.md delete mode 100644 docs/content/7.experiments/2.guides/_dir.yml delete mode 100644 docs/content/7.experiments/3.api/0.config.md delete mode 100644 docs/content/7.experiments/3.api/_dir.yml delete mode 100644 docs/content/7.experiments/4.releases/_dir.yml delete mode 100644 docs/content/7.experiments/4.releases/v3.md delete mode 100644 docs/content/7.experiments/4.releases/v4.md delete mode 100644 docs/content/7.experiments/_dir.yml delete mode 100644 docs/content/index.md create mode 100644 docs/logger.ts delete mode 100644 docs/pages/[...slug].vue create mode 100644 docs/public/logo.svg create mode 100644 docs/server/api/github/[repo]/commit-count.get.ts create mode 100644 docs/server/api/github/[repo]/issues-closed.get.ts create mode 100644 docs/server/api/robots-txt.ts create mode 100644 docs/server/api/sitemap-xml.ts create mode 100644 docs/server/api/stats.ts create mode 100644 docs/server/content-v2.ts delete mode 100644 docs/tailwind.config.ts delete mode 100644 docs/utils/data.ts rename {.playground => playground}/app.vue (100%) rename {.playground => playground}/nuxt.config.ts (81%) create mode 100644 playground/package.json rename {.playground => playground}/pages/[...all].vue (100%) rename {.playground => playground}/pages/about.vue (100%) rename {.playground => playground}/pages/blog/index.vue (100%) create mode 100644 playground/pages/blog/tag/[slug].vue rename {.playground => playground}/pages/blog/test.vue (100%) rename {.playground => playground}/pages/index.vue (100%) rename {.playground => playground}/pages/korean.vue (100%) rename {.playground => playground}/pages/tak.vue (100%) rename {docs => playground}/server/tsconfig.json (100%) create mode 100644 playground/tsconfig.json diff --git a/.gitignore b/.gitignore index 1c1c461e..59374954 100755 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ sw.* # Local Netlify folder .netlify + +.content diff --git a/.nuxtrc b/.nuxtrc index 73abd02c..ea816aca 100644 --- a/.nuxtrc +++ b/.nuxtrc @@ -1,2 +1,2 @@ typescript.includeWorkspace=true -imports.autoImport=false +imports.autoImport=true diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..e2636b2e --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Harlan Wilton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/content/nuxt-seo/1.getting-started/0.what-is-nuxt-seo.md b/content/nuxt-seo/1.getting-started/0.what-is-nuxt-seo.md new file mode 100644 index 00000000..ec0526be --- /dev/null +++ b/content/nuxt-seo/1.getting-started/0.what-is-nuxt-seo.md @@ -0,0 +1,19 @@ +--- +title: 'What Is Nuxt SEO?' +description: 'Learn what Nuxt SEO is and how it can help you with your Nuxt site.' +navigation: + title: 'What Is Nuxt SEO' +--- + +Nuxt SEO is both a collection of modules and a module itself. The Nuxt SEO module is all the SEO modules combined into one that is guaranteed to work well together. + +- [Nuxt Robots](/robots) +- [Nuxt Sitemap](/sitemap) +- [Nuxt OG Image](/og-image) +- [Nuxt Schema.org](/schema-org) +- [Nuxt SEO Utils](/experiments) +- [Nuxt Link Checker](/link-checker) + +There is no right or wrong way to use Nuxt SEO. It's designed to be flexible and work however you need it to. + +To minimise config and ensure the modules work well together, [Nuxt Site Config](/site-config) is installed automatically when using any of the modules. diff --git a/docs/content/0.nuxt-seo/1.getting-started/1.installation.md b/content/nuxt-seo/1.getting-started/1.installation.md similarity index 84% rename from docs/content/0.nuxt-seo/1.getting-started/1.installation.md rename to content/nuxt-seo/1.getting-started/1.installation.md index a08c4fe4..76711bc5 100644 --- a/docs/content/0.nuxt-seo/1.getting-started/1.installation.md +++ b/content/nuxt-seo/1.getting-started/1.installation.md @@ -7,7 +7,7 @@ navigation: ## Setup -1. Install `@nuxtjs/seo` dependency to your project: +1. Install SEO dependencies to your project: ```bash npx nuxi@latest module add seo @@ -15,16 +15,12 @@ npx nuxi@latest module add seo ## Site URL -:UBadge{color="amber" variant="solid" label="Important"} - Many of the Nuxt SEO modules will need to know what your production canonical URL is to avoid issues. You can learn to set one by reading the [Recommended Site Config](/nuxt-seo/guides/configuring-modules) guide. ## Staging / Testing Environments -:UBadge{color="amber" variant="solid" label="Important"} - If you're using Preview / Staging / Testing environments you will need to add some additional configuration. Learn how by reading the [Disabling Indexing](/robots/guides/disable-indexing) guide. diff --git a/docs/content/0.nuxt-seo/1.getting-started/2.faq.md b/content/nuxt-seo/1.getting-started/2.faq.md similarity index 97% rename from docs/content/0.nuxt-seo/1.getting-started/2.faq.md rename to content/nuxt-seo/1.getting-started/2.faq.md index f7b1ec0d..07c19cac 100644 --- a/docs/content/0.nuxt-seo/1.getting-started/2.faq.md +++ b/content/nuxt-seo/1.getting-started/2.faq.md @@ -18,7 +18,7 @@ production build by a few megabytes, but won't affect the performance of your si If the production build size is a concern, you can disable the modules you don't need. The OG Image module contributes the most significant amount, you can disable it with `ogImage: { enabled: false }`. -## What happened To Nuxt Seo Kit? +## What happened To Nuxt SEO Kit? The Nuxt SEO Kit module was the initial version of Nuxt SEO. diff --git a/docs/content/0.nuxt-seo/1.getting-started/3.stackblitz.md b/content/nuxt-seo/1.getting-started/3.stackblitz.md similarity index 75% rename from docs/content/0.nuxt-seo/1.getting-started/3.stackblitz.md rename to content/nuxt-seo/1.getting-started/3.stackblitz.md index 57f93a02..0bb4bfbd 100644 --- a/docs/content/0.nuxt-seo/1.getting-started/3.stackblitz.md +++ b/content/nuxt-seo/1.getting-started/3.stackblitz.md @@ -1,12 +1,13 @@ --- -title: "Reproductions: Stackblitz" +title: "Reproductions: StackBlitz" description: Create minimal reproductions for Nuxt SEO or just experiment with the module. --- -You can use the Nuxt SEO Stackblitz playgrounds for either: +You can use the Nuxt SEO StackBlitz playgrounds for either: + - Playing around with the module in a sandbox environment - Making reproductions for issues (Learn more about [Why Reproductions are Required](https://antfu.me/posts/why-reproductions-are-required)) -## Stackblitz Playgrounds +## StackBlitz Playgrounds - [Basic](https://stackblitz.com/edit/nuxt-starter-gfrej6?file=nuxt.config.ts) diff --git a/docs/content/0.nuxt-seo/1.getting-started/_dir.yml b/content/nuxt-seo/1.getting-started/_dir.yml similarity index 100% rename from docs/content/0.nuxt-seo/1.getting-started/_dir.yml rename to content/nuxt-seo/1.getting-started/_dir.yml diff --git a/docs/content/0.nuxt-seo/2.guides/0.using-the-modules.md b/content/nuxt-seo/2.guides/0.using-the-modules.md similarity index 99% rename from docs/content/0.nuxt-seo/2.guides/0.using-the-modules.md rename to content/nuxt-seo/2.guides/0.using-the-modules.md index 3b34b642..440b6c75 100644 --- a/docs/content/0.nuxt-seo/2.guides/0.using-the-modules.md +++ b/content/nuxt-seo/2.guides/0.using-the-modules.md @@ -66,6 +66,7 @@ A few extra SEO Nuxt features that don't fit anywhere else. Since Nuxt SEO installs and enables modules for you, you may run into a situation where you want to disable a module. The modules have these config keys: + - `nuxt-og-image` - `ogImage` - `@nuxtjs/sitemap` - `sitemap` - `@nuxtjs/robots` - `robots` @@ -75,7 +76,7 @@ The modules have these config keys: You can disable any of these modules by setting the module's `enabled` value to `false` in your `nuxt.config.ts` file. -```ts [nuxt.config.ts] +```ts twoslash [nuxt.config.ts] export default defineNuxtConfig({ ogImage: { enabled: false diff --git a/docs/content/0.nuxt-seo/2.guides/1.configuring-modules.md b/content/nuxt-seo/2.guides/1.configuring-modules.md similarity index 97% rename from docs/content/0.nuxt-seo/2.guides/1.configuring-modules.md rename to content/nuxt-seo/2.guides/1.configuring-modules.md index b983598c..f5e7e09f 100644 --- a/docs/content/0.nuxt-seo/2.guides/1.configuring-modules.md +++ b/content/nuxt-seo/2.guides/1.configuring-modules.md @@ -7,12 +7,13 @@ description: Configure all Nuxt SEO modules in one place using Nuxt Site Config. all modules at runtime, for example in a multi-tenant or i18n app. It's recommended to set the following config: + - `url` - The canonical URL of your site, avoids duplicate content and consolidates page rank. - `name` - The name of your site, used in the title and meta tags. - `description` - The description of your site, used in the meta tags. - `defaultLocale` - The default locale of your site, used in the meta tags. (you can omit this if you're using `@nuxtjs/i18n`) -```ts [nuxt.config.ts] +```ts twoslash [nuxt.config.ts] export default defineNuxtConfig({ site: { url: 'https://example.com', diff --git a/docs/content/0.nuxt-seo/2.guides/4.i18n.md b/content/nuxt-seo/2.guides/4.i18n.md similarity index 100% rename from docs/content/0.nuxt-seo/2.guides/4.i18n.md rename to content/nuxt-seo/2.guides/4.i18n.md diff --git a/docs/content/0.nuxt-seo/2.guides/_dir.yml b/content/nuxt-seo/2.guides/_dir.yml similarity index 100% rename from docs/content/0.nuxt-seo/2.guides/_dir.yml rename to content/nuxt-seo/2.guides/_dir.yml diff --git a/docs/content/0.nuxt-seo/2.seo-guides/1.going-live.md b/content/nuxt-seo/2.seo-guides/1.going-live.md similarity index 100% rename from docs/content/0.nuxt-seo/2.seo-guides/1.going-live.md rename to content/nuxt-seo/2.seo-guides/1.going-live.md diff --git a/docs/content/0.nuxt-seo/2.guides/2.title-templates.md b/content/nuxt-seo/2.seo-guides/2.title-templates.md similarity index 91% rename from docs/content/0.nuxt-seo/2.guides/2.title-templates.md rename to content/nuxt-seo/2.seo-guides/2.title-templates.md index 984f7e63..71af30f9 100644 --- a/docs/content/0.nuxt-seo/2.guides/2.title-templates.md +++ b/content/nuxt-seo/2.seo-guides/2.title-templates.md @@ -5,7 +5,7 @@ description: How to make the most of the title templating engine from Unhead. The default title template for your site is equivalent to: -```ts +```ts twoslash useHead({ titleTemplate: '%s %separator %siteName' }) @@ -16,6 +16,7 @@ useHead({ These tokens that are prefixed with `%` are making use of [Template Params](https://unhead.unjs.io/usage/guides/template-params). The following tokens are available out-of-the-box: + - `%siteName` - The name of your site. - `%siteUrl` - The canonical URL of your site. - `%s` or `%pageTitle` - The page title, without the template @@ -23,6 +24,7 @@ The following tokens are available out-of-the-box: they will be logically removed when it makes sense. See [Separator](https://unhead.unjs.io/usage/guides/template-params#separator) for more details. These tokens are available not only for the title, but also: + - `meta: [ { content: '%site.url/my-url.png' } ]` - `script: [ { type: 'application/json', content: { title: '%s' } } ]` @@ -34,7 +36,7 @@ For example, if you'd like to change the separator (the default is `|`), you can ::code-group -```ts [nuxt.config.ts] +```ts twoslash [nuxt.config.ts] export default defineNuxtConfig({ app: { head: { @@ -47,13 +49,15 @@ export default defineNuxtConfig({ }) ``` -```vue [app.vue] +```vue twoslash [app.vue] + ``` :: @@ -62,7 +66,7 @@ useHead({ If you need to modify the default `titleTemplate`, it's recommended to do it through nuxt.config. -```ts [nuxt.config.ts] +```ts twoslash [nuxt.config.ts] export default defineNuxtConfig({ app: { head: { @@ -74,7 +78,7 @@ export default defineNuxtConfig({ Likewise if you'd like to use a different template for a subset of pages, you can use `useHead`. -```vue [pages/blog/tutorials/how-to-use-titles.vue] +```vue twoslash [pages/blog/tutorials/how-to-use-titles.vue] + + diff --git a/docs/app/components/Banner.vue b/docs/app/components/Banner.vue new file mode 100644 index 00000000..9e942c47 --- /dev/null +++ b/docs/app/components/Banner.vue @@ -0,0 +1,7 @@ + diff --git a/docs/components/BouncingBots.vue b/docs/app/components/BouncingBots.vue similarity index 100% rename from docs/components/BouncingBots.vue rename to docs/app/components/BouncingBots.vue diff --git a/docs/components/Discord.vue b/docs/app/components/Discord.vue similarity index 85% rename from docs/components/Discord.vue rename to docs/app/components/Discord.vue index b16a893f..6640fa4d 100644 --- a/docs/components/Discord.vue +++ b/docs/app/components/Discord.vue @@ -1,12 +1,12 @@