diff --git a/docusaurus.config.js b/docusaurus.config.js index 3c5a39bd7..5393e2996 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -6,6 +6,7 @@ import { themes as prismThemes } from "prism-react-renderer"; /** @type {import('@docusaurus/types').Config} */ const config = { title: "Kmesh", + tagline: "High-performance sidecarless service mesh dataplane based on eBPF", favicon: "img/favicons/favicon.ico", // Set the production url of your site here @@ -15,6 +16,28 @@ const config = { // For GitHub pages deployment, it is often '//' baseUrl: "/", + // ===== SEO: Head tags ===== + headTags: [ + { + tagName: "script", + attributes: { + type: "application/ld+json", + }, + innerHTML: JSON.stringify({ + "@context": "https://schema.org", + "@type": "Organization", + name: "Kmesh", + url: "https://kmesh.net", + logo: "https://kmesh.net/img/favicons/favicon.ico", + sameAs: [ + "https://github.com/kmesh-net/kmesh", + "https://x.com/Kmesh_net", + "https://www.youtube.com/@Kmesh-traffic", + ], + }), + }, + ], + onBrokenLinks: "throw", onBrokenMarkdownLinks: "warn", @@ -72,12 +95,52 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ // Replace with your project's social card + image: "img/kmesh-social-card.png", docs: { sidebar: { hideable: true, autoCollapseCategories: true, }, }, + + // ===== SEO metadata ===== + metadata: [ + { + name: "description", + content: + "Kmesh is a high-performance, sidecarless service mesh dataplane based on eBPF and programmable kernel for cloud-native applications.", + }, + { + property: "og:type", + content: "website", + }, + { + property: "og:site_name", + content: "Kmesh", + }, + { + name: "twitter:card", + content: "summary_large_image", + }, + { + name: "twitter:site", + content: "@Kmesh_net", + }, + { + name: "keywords", + content: + "Kmesh, service mesh, eBPF, dataplane, Kubernetes, sidecarless, cloud-native, CNCF, high-performance networking", + }, + { + name: "author", + content: "Kmesh Community", + }, + { + name: "robots", + content: "index, follow", + }, + ], + navbar: { title: "Kmesh", logo: { diff --git a/yarn.lock b/yarn.lock index 71e8cc3cc..6047395b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2276,10 +2276,10 @@ dependencies: "@types/mdx" "^2.0.0" -"@node-rs/jieba-darwin-arm64@2.0.1": +"@node-rs/jieba-win32-x64-msvc@2.0.1": version "2.0.1" - resolved "https://registry.npmjs.org/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-2.0.1.tgz" - integrity sha512-10+nwGQ6KzXXJlIL/sELA6Fi6m7eJ7xJksBiKuw1kxKUgaJwtVfAG0iqRF+NRQv0Sdq7r3k5ew9K9y0+IYaEcA== + resolved "https://registry.npmjs.org/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-2.0.1.tgz" + integrity sha512-LDOyo2/2CO8UnpSGLJdgqtH8mOnsABPhNxkfIky7UT9cyLEzOaU44nbA5YzPGpBI3qzMbWcwJYQsjBcgK2VqAg== "@node-rs/jieba@^2.0.1": version "2.0.1" @@ -2322,10 +2322,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@parcel/watcher-darwin-arm64@2.5.1": +"@parcel/watcher-win32-x64@2.5.1": version "2.5.1" - resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz" - integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== + resolved "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz" + integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== "@parcel/watcher@^2.4.1": version "2.5.1"