diff --git a/.gitignore b/.gitignore index f9e8bf7a5a99153ec186413cf7f7314b4ec4aca4..16606e914738a80138049b1e92ebd750d1f517e9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ docs/.vuepress/dist .vscode package-lock.json .idea/ +bs-config.json # macos .DS_Store diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index db74f207e4d792038e28138963264e651b2bd0e6..c219dc7b18616258c46d29a32b941c05b766ed19 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -1,992 +1,975 @@ // .vuepress/config.js -const path = require('path'); +const path = require("path"); +const host_url = "https://dev-cloud.gitcode.host/spring-docs/"; + const autometa_options = { - site: { - name: 'Spring 中文文档社区' - }, - canonical_base: 'https://dev-cloud.gitcode.host/spring/', + site: { + name: "Spring 中文文档社区" + }, + canonical_base: host_url }; module.exports = { - title: "Spring 中文文档社区", - base: "/spring/", - head: [ - [ - 'link', + title: "Spring 中文文档社区", + base: "/spring-docs/", + head: [ + [ + "link", + { + rel: "icon", + type: "image/png", + sizes: "16x16", + href: `/images/icons/favicon.ico` + } + ], + [ + "link", + { + rel: "icon", + type: "image/png", + sizes: "48x48", + href: `/images/icons/icon-48x48.png` + } + ], + [ + "link", + { + rel: "icon", + type: "image/png", + sizes: "72x72", + href: `/images/icons/icon-72x72.png` + } + ], + ["link", { rel: "manifest", href: "/manifest.webmanifest" }], + ["meta", { name: "application-name", content: "Spring 中文文档社区" }], + [ + "meta", + { name: "apple-mobile-web-app-title", content: "Spring 中文社区" } + ], + [ + "meta", + { name: "apple-mobile-web-app-status-bar-style", content: "black" } + ], + ["link", { rel: "apple-touch-icon", href: `/images/icons/icon_48x48.png` }], + [ + "link", + { + rel: "mask-icon", + href: "/images/icons/favicon.ico", + color: "#5dac38" + } + ], + ["meta", { name: "msapplication-TileColor", content: "#5dac38" }], + ["meta", { name: "theme-color", content: "#5dac38" }], + [ + "meta", + { name: "viewport", content: "width=device-width, initial-scale=1" } + ], + ["meta", { "http-equiv": "X-UA-Compatible", content: "IE=edge" }] + ], + locales: { + // '/en/': { + // lang: 'en-US', + // title: 'Spring Docs', + // description: '' + // }, + "/": { + lang: "zh-CN", + title: "中文文档", + description: "" + } + }, + plugins: [ + ["autometa", autometa_options], + ['sitemap', { + hostname: host_url, + // 排除无实际内容的页面 + exclude: ["/404.html"] + } + ] + ], + theme: path.resolve(__dirname, "./themes/theme-gitcode/index.js"), + themeConfig: { + repo: "https://gitcode.net/dev-cloud/spring-docs", + repoLabel: "GitCode", + docsRepo: "https://gitcode.net/dev-cloud/spring-docs/", + docsDir: "docs", + docsBranch: "master", + editLinks: true, + editLinkText: "帮助我们改善此页面!", + lastUpdated: "Last Updated", + logo: "/images/icons/spring-logo.svg", + sidebarDepth: 3, + activeHeaderLinks: true, + locales: { + // '/en/': { + // // 多语言下拉菜单的标题 + // selectText: 'Language', + // // 该语言在下拉菜单中的标签 + // label: 'English', + // lastUpdated: 'Last Updated', + // lang: 'en-US', + // // 编辑链接文字 + // editLinkText: 'Edit this page on GitCode', + // algolia: {}, + // nav: [ + // { + // text: 'Spring', + // link: '/en/' + // }, + // { + // text: 'Spring Boot', + // link: '/en/spring-boot/' + // }, + // { + // text: 'Spring Framework', + // link: '/en/spring-framework/' + // }, + // { + // text: 'Spring Data', + // link: '/en/spring-data/' + // }, + // { + // text: 'Spring Cloud', + // link: '/en/spring-cloud/' + // }, + // { + // text: 'More', + // ariaLabel: 'Others', + // items: [ + // { text: 'Spring Cloud Data Flow', link: '/en/spring-cloud-data-flow/'}, + // { text: 'Spring Security', link: '/en/spring-security/'}, + // { text: 'Spring for GraphQL', link: '/en/spring-for-graphql/'}, + // { text: 'Spring Session', link: '/en/spring-session/'}, + // { text: 'Spring Integration', link: '/en/spring-integration/'}, + // { text: 'Spring HATEOAS', link: '/en/spring-hateoas/'}, + // { text: 'Spring REST Docs', link: '/en/spring-rest-docs/'}, + // { text: 'Spring Batch', link: '/en/spring-batch/'}, + // { text: 'Spring AMQP', link: '/en/spring-amqp/'}, + // { text: 'Spring CredHub', link: '/en/spring-credhub/'}, + // { text: 'Spring Flo', link: '/en/spring-flo/'}, + // { text: 'Spring for Apache Kafka', link: '/en/spring-for-apache-kafka/'}, + // { text: 'Spring LDAP', link: '/en/spring-ldap/'}, + // { text: 'Spring Shell', link: '/en/spring-shell/'}, + // { text: 'Spring Statemachine', link: '/en/spring-statemachine/'}, + // { text: 'Spring Vault', link: '/en/spring-vault/'}, + // { text: 'Spring Web Flow', link: '/en/spring-web-flow/'}, + // { text: 'Spring Web Services', link: '/en/spring-web-services/'} + // ] + // } + // ], + // sidebar: { + // '/en/spring-boot/': [ + // { + // title: 'Spring Boot', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/spring-boot/legal.md", + // "/en/spring-boot/getting-help.md", + // "/en/spring-boot/documentation.md", + // "/en/spring-boot/getting-started.md", + // "/en/spring-boot/upgrading.md", + // "/en/spring-boot/using.md", + // "/en/spring-boot/features.md", + // "/en/spring-boot/web.md", + // "/en/spring-boot/data.md", + // "/en/spring-boot/io.md", + // "/en/spring-boot/messaging.md", + // "/en/spring-boot/container-images.md", + // "/en/spring-boot/actuator.md", + // "/en/spring-boot/deployment.md", + // "/en/spring-boot/cli.md", + // "/en/spring-boot/build-tool-plugins.md", + // "/en/spring-boot/howto.md" + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // } + // ], + // '/en/spring-framework/': [ + // { + // title: 'Spring Framework', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/spring-framework/overview.md", + // "/en/spring-framework/core.md", + // "/en/spring-framework/testing.md", + // "/en/spring-framework/data-access.md", + // "/en/spring-framework/web-servlet.md", + // "/en/spring-framework/web-reactive.md", + // "/en/spring-framework/integration.md", + // "/en/spring-framework/languages.md" + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // } + // ], + // '/en/spring-data/': [ + // { + // title: 'Spring Data', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/spring-data/spring-data.md" + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // } + // ], + // '/en/spring-cloud/': [ + // { + // title: 'Spring Cloud', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/spring-cloud/legal.md", + // "/en/spring-cloud/documentation-overview.md", + // "/en/spring-cloud/spring-cloud-build.md", + // "/en/spring-cloud/spring-cloud-bus.md", + // "/en/spring-cloud/spring-cloud-circuitbreaker.md", + // "/en/spring-cloud/spring-cloud-cli.md", + // "/en/spring-cloud/spring-cloud-cloudfoundry.md", + // "/en/spring-cloud/spring-cloud-commons.md", + // "/en/spring-cloud/spring-cloud-config.md", + // "/en/spring-cloud/spring-cloud-consul.md", + // "/en/spring-cloud/spring-cloud-contract.md", + // "/en/spring-cloud/spring-cloud-function.md", + // "/en/spring-cloud/spring-cloud-gateway.md", + // "/en/spring-cloud/spring-cloud-kubernetes.md", + // "/en/spring-cloud/spring-cloud-netflix.md", + // "/en/spring-cloud/spring-cloud-openfeign.md", + // "/en/spring-cloud/spring-cloud-sleuth.md", + // "/en/spring-cloud/spring-cloud-stream.md", + // "/en/spring-cloud/spring-cloud-task.md", + // "/en/spring-cloud/spring-cloud-vault.md", + // "/en/spring-cloud/spring-cloud-zookeeper.md", + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // } + // ], + // '/en/spring-cloud-data-flow/': [ + // { + // title: 'Spring Cloud Data Flow', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/spring-cloud-data-flow/spring-cloud-dataflow.md", + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // } + // ], + // '/en/spring-security/': [ + // { + // title: 'Spring Security', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/spring-security/index.md", + // "/en/spring-security/prerequisites.md", + // "/en/spring-security/community.md", + // "/en/spring-security/whats-new.md", + // "/en/spring-security/getting-spring-security.md", + // "/en/spring-security/features.md", + // "/en/spring-security/modules.md", + // "/en/spring-security/samples.md", + // "/en/spring-security/servlet.md", + // "/en/spring-security/reactive.md" + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // } + // ], + + // // fallback + // '/en/': + // [{ + // title: 'Spring Doc', // 必要的 + // // path: '/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在 + // collapsable: false, // 可选的, 默认值是 true, + // sidebarDepth: 1, // 可选的, 默认值是 1 + // children: [ + // '' + // ] + // }, + // { + // title: 'INTRO', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/why-spring.md", + // "/en/introducing-spring-boot.md", + // "/en/quickstart.md" + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // }, + // { + // title: 'GUIDE', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/system-requirements.md", + // "/en/installing.md", + // "/en/initializr.md" + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // }, + // { + // title: 'IDE', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/vscode_java.md", + // "/en/intellij_idea.md" + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // }, + // { + // title: 'DEMO', + // sidebarDepth: 2, + // collapsable: false, + // children: [ + // "/en/getting-started_first-application.md", + // "/en/rest-service.md", + // "/en/consuming-rest.md" + // ], + // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + // } + // ] + // } + // }, + "/": { + selectText: "选择语言", + label: "简体中文", + ariaLabel: "语言", + lang: "zh-CN", + editLinkText: "在 GitCode 上编辑此页", + lastUpdated: "上次更新", + algolia: {}, + nav: [ + { + text: "Spring", + link: "/" + }, + { + text: "Spring Boot", + link: "/spring-boot/" + }, + { + text: "Spring Framework", + link: "/spring-framework/" + }, + { + text: "Spring Data", + link: "/spring-data/" + }, + { + text: "Spring Cloud", + link: "/spring-cloud/" + }, + { + text: "更多文档", + ariaLabel: "Others", + items: [ + { + text: "Spring Cloud Data Flow", + link: "/spring-cloud-data-flow/" + }, + { text: "Spring Security", link: "/spring-security/" }, + { text: "Spring for GraphQL", link: "/spring-for-graphql/" }, + { text: "Spring Session", link: "/spring-session/" }, + { text: "Spring Integration", link: "/spring-integration/" }, + { text: "Spring HATEOAS", link: "/spring-hateoas/" }, + { text: "Spring REST Docs", link: "/spring-rest-docs/" }, + { text: "Spring Batch", link: "/spring-batch/" }, + { text: "Spring AMQP", link: "/spring-amqp/" }, + { text: "Spring CredHub", link: "/spring-credhub/" }, + { text: "Spring Flo", link: "/spring-flo/" }, + { + text: "Spring for Apache Kafka", + link: "/spring-for-apache-kafka/" + }, + { text: "Spring LDAP", link: "/spring-ldap/" }, + { text: "Spring Shell", link: "/spring-shell/" }, + { text: "Spring Statemachine", link: "/spring-statemachine/" }, + { text: "Spring Vault", link: "/spring-vault/" }, + { text: "Spring Web Flow", link: "/spring-web-flow/" }, + { text: "Spring Web Services", link: "/spring-web-services/" } + ] + } + ], + sidebar: { + "/spring-boot/": [ + { + title: "Spring Boot 文档", + sidebarDepth: 2, + collapsable: false, + children: [ + "/spring-boot/legal.md", + "/spring-boot/getting-help.md", + "/spring-boot/documentation.md", + "/spring-boot/getting-started.md", + "/spring-boot/upgrading.md", + "/spring-boot/using.md", + "/spring-boot/features.md", + "/spring-boot/web.md", + "/spring-boot/data.md", + "/spring-boot/io.md", + "/spring-boot/messaging.md", + "/spring-boot/container-images.md", + "/spring-boot/actuator.md", + "/spring-boot/deployment.md", + "/spring-boot/cli.md", + "/spring-boot/build-tool-plugins.md", + "/spring-boot/howto.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-framework/": [ + { + title: "Spring Framework 文档", + sidebarDepth: 2, + collapsable: false, + children: [ + "/spring-framework/overview.md", + "/spring-framework/core.md", + "/spring-framework/testing.md", + "/spring-framework/data-access.md", + "/spring-framework/web-servlet.md", + "/spring-framework/web-reactive.md", + "/spring-framework/integration.md", + "/spring-framework/languages.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-data/": [ + { + title: "Spring Data 文档", + sidebarDepth: 2, + collapsable: false, + // path: "spring-data", + children: ["spring-data"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-cloud/": [ + { + title: "Spring Cloud 文档", + sidebarDepth: 2, + collapsable: false, + children: [ + "/spring-cloud/legal.md", + "/spring-cloud/documentation-overview.md", + "/spring-cloud/spring-cloud-build.md", + "/spring-cloud/spring-cloud-bus.md", + "/spring-cloud/spring-cloud-circuitbreaker.md", + "/spring-cloud/spring-cloud-cli.md", + "/spring-cloud/spring-cloud-cloudfoundry.md", + "/spring-cloud/spring-cloud-commons.md", + "/spring-cloud/spring-cloud-config.md", + "/spring-cloud/spring-cloud-consul.md", + "/spring-cloud/spring-cloud-contract.md", + "/spring-cloud/spring-cloud-function.md", + "/spring-cloud/spring-cloud-gateway.md", + "/spring-cloud/spring-cloud-kubernetes.md", + "/spring-cloud/spring-cloud-netflix.md", + "/spring-cloud/spring-cloud-openfeign.md", + "/spring-cloud/spring-cloud-sleuth.md", + "/spring-cloud/spring-cloud-stream.md", + "/spring-cloud/spring-cloud-task.md", + "/spring-cloud/spring-cloud-vault.md", + "/spring-cloud/spring-cloud-zookeeper.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-cloud-data-flow/": [ + { + title: "Spring Cloud Data Flow 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-cloud-data-flow/spring-cloud-dataflow.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-security/": [ + { + title: "Spring 安全", + sidebarDepth: 2, + collapsable: false, + children: [ + "/spring-security/overview.md", + "/spring-security/prerequisites.md", + "/spring-security/community.md", + "/spring-security/whats-new.md", + "/spring-security/getting-spring-security.md", + "/spring-security/features.md", + "/spring-security/features-authentication.md", + "/spring-security/features-authentication-password-storage.md", + "/spring-security/features-exploits.md", + "/spring-security/features-exploits-csrf.md", + "/spring-security/features-exploits-headers.md", + "/spring-security/features-exploits-http.md", + "/spring-security/features-integrations.md", + "/spring-security/features-integrations-cryptography.md", + "/spring-security/features-integrations-data.md", + "/spring-security/features-integrations-concurrency.md", + "/spring-security/features-integrations-jackson.md", + "/spring-security/features-integrations-localization.md", + "/spring-security/modules.md", + "/spring-security/samples.md", + "/spring-security/servlet.md", + "/spring-security/servlet-getting-started.md", + "/spring-security/servlet-architecture.md", + "/spring-security/servlet-authentication.md", + "/spring-security/servlet-authentication-architecture.md", + "/spring-security/servlet-authentication-passwords.md", + "/spring-security/servlet-authentication-passwords-input.md", + "/spring-security/servlet-authentication-passwords-form.md", + "/spring-security/servlet-authentication-passwords-basic.md", + "/spring-security/servlet-authentication-passwords-digest.md", + "/spring-security/servlet-authentication-passwords-storage.md", + "/spring-security/servlet-authentication-passwords-storage-in-memory.md", + "/spring-security/servlet-authentication-passwords-storage-jdbc.md", + "/spring-security/servlet-authentication-passwords-storage-user-details.md", + "/spring-security/servlet-authentication-passwords-storage-user-details-service.md", + "/spring-security/servlet-authentication-passwords-storage-password-encoder.md", + "/spring-security/servlet-authentication-passwords-storage-dao-authentication-provider.md", + "/spring-security/servlet-authentication-passwords-storage-ldap.md", + "/spring-security/servlet-authentication-session-management.md", + "/spring-security/servlet-authentication-rememberme.md", + "/spring-security/servlet-authentication-openid.md", + "/spring-security/servlet-authentication-anonymous.md", + "/spring-security/servlet-authentication-preauth.md", + "/spring-security/servlet-authentication-jaas.md", + "/spring-security/servlet-authentication-cas.md", + "/spring-security/servlet-authentication-x509.md", + "/spring-security/servlet-authentication-runas.md", + "/spring-security/servlet-authentication-logout.md", + "/spring-security/servlet-authentication-events.md", + "/spring-security/servlet-authorization-.md", + "/spring-security/servlet-authorization-architecture.md", + "/spring-security/servlet-authorization-authorize-http-requests.md", + "/spring-security/servlet-authorization-authorize-requests.md", + "/spring-security/servlet-authorization-expression-based.md", + "/spring-security/servlet-authorization-secure-objects.md", + "/spring-security/servlet-authorization-method-security.md", + "/spring-security/servlet-authorization-acls.md", + "/spring-security/servlet-oauth2-.md", + "/spring-security/servlet-oauth2-login.md", + "/spring-security/servlet-oauth2-login-core.md", + "/spring-security/servlet-oauth2-login-advanced.md", + "/spring-security/servlet-oauth2-client.md", + "/spring-security/servlet-oauth2-client-core.md", + "/spring-security/servlet-oauth2-client-authorization-grants.md", + "/spring-security/servlet-oauth2-client-client-authentication.md", + "/spring-security/servlet-oauth2-client-authorized-clients.md", + "/spring-security/servlet-oauth2-resource-server.md", + "/spring-security/servlet-oauth2-resource-server-jwt.md", + "/spring-security/servlet-oauth2-resource-server-opaque-token.md", + "/spring-security/servlet-oauth2-resource-server-multitenancy.md", + "/spring-security/servlet-oauth2-resource-server-bearer-tokens.md", + "/spring-security/servlet-saml2.md", + "/spring-security/servlet-saml2-login.md", + "/spring-security/servlet-saml2-login-overview.md", + "/spring-security/servlet-saml2-login-authentication-requests.md", + "/spring-security/servlet-saml2-login-authentication.md", + "/spring-security/servlet-saml2-logout.md", + "/spring-security/servlet-saml2-metadata.md", + "/spring-security/servlet-exploits.md", + "/spring-security/servlet-exploits-csrf.md", + "/spring-security/servlet-exploits-headers.md", + "/spring-security/servlet-exploits-http.md", + "/spring-security/servlet-exploits-firewall.md", + "/spring-security/servlet-integrations.md", + "/spring-security/servlet-integrations-concurrency.md", + "/spring-security/servlet-integrations-jackson.md", + "/spring-security/servlet-integrations-localization.md", + "/spring-security/servlet-integrations-servlet-api.md", + "/spring-security/servlet-integrations-data.md", + "/spring-security/servlet-integrations-mvc.md", + "/spring-security/servlet-integrations-websocket.md", + "/spring-security/servlet-integrations-cors.md", + "/spring-security/servlet-integrations-jsp-taglibs.md", + "/spring-security/servlet-configuration-java.md", + "/spring-security/servlet-configuration-kotlin.md", + "/spring-security/servlet-configuration-xml-namespace.md", + "/spring-security/servlet-test.md", + "/spring-security/servlet-test-method.md", + "/spring-security/servlet-test-mockmvc.md", + "/spring-security/servlet-test-mockmvc-setup.md", + "/spring-security/servlet-test-mockmvc-request-post-processors.md", + "/spring-security/servlet-test-mockmvc-authentication.md", + "/spring-security/servlet-test-mockmvc-csrf.md", + "/spring-security/servlet-test-mockmvc-form-login.md", + "/spring-security/servlet-test-mockmvc-http-basic.md", + "/spring-security/servlet-test-mockmvc-oauth2.md", + "/spring-security/servlet-test-mockmvc-logout.md", + "/spring-security/servlet-test-mockmvc-request-builders.md", + "/spring-security/servlet-test-mockmvc-result-matchers.md", + "/spring-security/servlet-test-mockmvc-result-handlers.md", + "/spring-security/servlet-appendix.md", + "/spring-security/servlet-appendix-database-schema.md", + "/spring-security/servlet-appendix-namespace.md", + "/spring-security/servlet-appendix-namespace-authentication-manager.md", + "/spring-security/servlet-appendix-namespace-http.md", + "/spring-security/servlet-appendix-namespace-method-security.md", + "/spring-security/servlet-appendix-namespace-ldap.md", + "/spring-security/servlet-appendix-namespace-websocket.md", + "/spring-security/servlet-appendix-faq.md", + "/spring-security/reactive.md", + "/spring-security/reactive-getting-started.md", + "/spring-security/reactive-authentication-x509.md", + "/spring-security/reactive-authentication-logout.md", + "/spring-security/reactive-authorization-authorize-http-requests.md", + "/spring-security/reactive-authorization-method.md", + "/spring-security/reactive-oauth2.md", + "/spring-security/reactive-oauth2-login.md", + "/spring-security/reactive-oauth2-login-core.md", + "/spring-security/reactive-oauth2-login-advanced.md", + "/spring-security/reactive-oauth2-client.md", + "/spring-security/reactive-oauth2-client-core.md", + "/spring-security/reactive-oauth2-client-authorization-grants.md", + "/spring-security/reactive-oauth2-client-client-authentication.md", + "/spring-security/reactive-oauth2-client-authorized-clients.md", + "/spring-security/reactive-oauth2-resource-server.md", + "/spring-security/reactive-oauth2-resource-server-jwt.md", + "/spring-security/reactive-oauth2-resource-server-opaque-token.md", + "/spring-security/reactive-oauth2-resource-server-multitenancy.md", + "/spring-security/reactive-oauth2-resource-server-bearer-tokens.md", + "/spring-security/reactive-exploits.md", + "/spring-security/reactive-exploits-csrf.md", + "/spring-security/reactive-exploits-headers.md", + "/spring-security/reactive-exploits-http.md", + "/spring-security/reactive-integrations-cors.md", + "/spring-security/reactive-integrations-rsocket.md", + "/spring-security/reactive-test.md", + "/spring-security/reactive-test-method.md", + "/spring-security/reactive-test-web.md", + "/spring-security/reactive-test-web-setup.md", + "/spring-security/reactive-test-web-authentication.md", + "/spring-security/reactive-test-web-csrf.md", + "/spring-security/reactive-test-web-oauth2.md", + "/spring-security/reactive-configuration-webflux.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + + "/spring-for-graphql/": [ + { + title: "Spring For Graphql 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-for-graphql/spring-graphql.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-session/": [ + { + title: "Spring Session 文档", + sidebarDepth: 2, + collapsable: false, + children: [ + "/spring-session/_index.md", + "/spring-session/whats-new.md", + "/spring-session/samples.md", + "/spring-session/bootSamples/HttpSession/mongo.md", + "/spring-session/bootSamples/HttpSession/jdbc.md", + "/spring-session/bootSamples/HttpSession/Redis/boot-redis.md", + "/spring-session/bootSamples/boot-findbyusername.md", + "/spring-session/bootSamples/boot-websocket.md", + "/spring-session/webFlux/boot-webflux-custom-cookie.md", + "/spring-session/modules.md", + "/spring-session/http-session.md", + "/spring-session/web-socket.md", + "/spring-session/web-session.md", + "/spring-session/spring-security.md", + "/spring-session/api.md", + "/spring-session/upgrading.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-session/sample/": [ + { + title: "Spring Session 文档3", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-session/sample/samples.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-integration/": [ + { + title: "Spring Integration 文档", + sidebarDepth: 2, + collapsable: false, + children: [ + "/spring-integration/preface.md", + "/spring-integration/whats-new.md", + "/spring-integration/overview.md", + "/spring-integration/core.md", + "/spring-integration/message.md", + "/spring-integration/message-routing.md", + "/spring-integration/message-transformation.md", + "/spring-integration/messaging-endpoints.md", + "/spring-integration/dsl.md", + "/spring-integration/kotlin-dsl.md", + "/spring-integration/system-management.md", + "/spring-integration/reactive-streams.md", + "/spring-integration/endpoint-summary.md", + "/spring-integration/amqp.md", + "/spring-integration/event.md", + "/spring-integration/feed.md", + "/spring-integration/file.md", + "/spring-integration/ftp.md", + "/spring-integration/gemfire.md", + "/spring-integration/http.md", + "/spring-integration/jdbc.md", + "/spring-integration/jpa.md", + "/spring-integration/jms.md", + "/spring-integration/jmx.md", + "/spring-integration/kafka.md", + "/spring-integration/mail.md", + "/spring-integration/mongodb.md", + "/spring-integration/mqtt.md", + "/spring-integration/r2dbc.md", + "/spring-integration/redis.md", + "/spring-integration/resource.md", + "/spring-integration/rmi.md", + "/spring-integration/rsocket.md", + "/spring-integration/sftp.md", + "/spring-integration/stomp.md", + "/spring-integration/stream.md", + "/spring-integration/syslog.md", + "/spring-integration/ip.md", + "/spring-integration/webflux.md", + "/spring-integration/web-sockets.md", + "/spring-integration/ws.md", + "/spring-integration/xml.md", + "/spring-integration/xmpp.md", + "/spring-integration/zeromq.md", + "/spring-integration/zookeeper.md", + "/spring-integration/error-handling.md", + "/spring-integration/spel.md", + "/spring-integration/message-publishing.md", + "/spring-integration/transactions.md", + "/spring-integration/security.md", + "/spring-integration/configuration.md", + "/spring-integration/testing.md", + "/spring-integration/samples.md", + "/spring-integration/resources.md", + "/spring-integration/history.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-hateoas/": [ + { + title: "Spring HATEOAS 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-hateoas/spring-hateoas.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-rest-docs/": [ + { + title: "Spring HATEOAS 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-rest-docs/spring-restdocs.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-batch/": [ + { + title: "Spring Batch 文档", + sidebarDepth: 2, + collapsable: false, + children: [ + "/spring-batch/spring-batch-intro.md", + "/spring-batch/whatsnew.md", + "/spring-batch/domain.md", + "/spring-batch/job.md", + "/spring-batch/step.md", + "/spring-batch/readersAndWriters.md", + "/spring-batch/processor.md", + "/spring-batch/scalability.md", + "/spring-batch/repeat.md", + "/spring-batch/retry.md", + "/spring-batch/testing.md", + "/spring-batch/common-patterns.md", + "/spring-batch/jsr-352.md", + "/spring-batch/spring-batch-integration.md", + "/spring-batch/monitoring-and-metrics.md", + "/spring-batch/appendix.md", + "/spring-batch/schema-appendix.md", + "/spring-batch/transaction-appendix.md", + "/spring-batch/glossary.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-amqp/": [ + { + title: "Spring AMQP 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-amqp/spring-amqp.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-credhub/": [ + { + title: "Spring CredHub 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-credhub/spring-credhub.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-flo/": [ + { + title: "Spring Flo 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-flo/spring-flo.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-for-apache-kafka/": [ + { + title: "Spring for Apache Kafka 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-for-apache-kafka/spring-kafka.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-ldap/": [ + { + title: "Spring for Apache Kafka 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-ldap/spring-ldap.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-shell/": [ + { + title: "Spring Shell 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-shell/spring-shell.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-statemachine/": [ + { + title: "Spring Statemachine 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-statemachine/spring-statemachine.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-vault/": [ + { + title: "Spring Vault 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-vault/spring-vault.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-web-flow/": [ { - rel: 'icon', - type: 'image/png', - sizes: '16x16', - href: `/images/icons/favicon.ico`, + title: "Spring Web Flow 文档", + sidebarDepth: 2, + collapsable: false, + children: [ + "/spring-web-flow/preface.md", + "/spring-web-flow/introduction.md", + "/spring-web-flow/whatsnew.md", + "/spring-web-flow/defining-flows.md", + "/spring-web-flow/el.md", + "/spring-web-flow/views.md", + "/spring-web-flow/actions.md", + "/spring-web-flow/flow-managed-persistence.md", + "/spring-web-flow/flow-security.md", + "/spring-web-flow/flow-inheritance.md", + "/spring-web-flow/system-setup.md", + "/spring-web-flow/spring-mvc.md", + "/spring-web-flow/spring-js.md", + "/spring-web-flow/spring-faces.md", + "/spring-web-flow/testing.md", + "/spring-web-flow/field-mappings.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + "/spring-web-services/": [ + { + title: "Spring Web Services 文档", + sidebarDepth: 2, + collapsable: false, + children: ["/spring-web-services/spring-web-service.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 + } + ], + // fallback + "/": [ + { + title: "Spring 文档", // 必要的 + // path: '/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在 + collapsable: false, // 可选的, 默认值是 true, + sidebarDepth: 1, // 可选的, 默认值是 1 + children: [""] }, - ], - [ - 'link', { - rel: 'icon', - type: 'image/png', - sizes: '48x48', - href: `/images/icons/icon-48x48.png`, + title: "介绍", + sidebarDepth: 2, + collapsable: false, + children: [ + "why-spring.md", + "introducing-spring-boot.md", + "quickstart.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 }, - ], - [ - 'link', { - rel: 'icon', - type: 'image/png', - sizes: '72x72', - href: `/images/icons/icon-72x72.png`, + title: "教程", + sidebarDepth: 2, + collapsable: false, + children: [ + "system-requirements.md", + "installing.md", + "initializr.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 }, - ], - ['link', { rel: 'manifest', href: '/manifest.webmanifest' }], - ['meta', { name: 'application-name', content: 'Spring 中文文档社区' }], - ['meta', { name: 'apple-mobile-web-app-title', content: 'Spring 中文社区' }], - [ - 'meta', - { name: 'apple-mobile-web-app-status-bar-style', content: 'black' }, - ], - [ - 'link', - { rel: 'apple-touch-icon', href: `/images/icons/icon_48x48.png` }, - ], - [ - 'link', { - rel: 'mask-icon', - href: '/images/icons/favicon.ico', - color: '#5dac38', + title: "编辑器", + sidebarDepth: 2, + collapsable: false, + children: ["vscode_java.md", "intellij_idea.md"], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 }, - ], - ['meta', { name: 'msapplication-TileColor', content: '#5dac38' }], - ['meta', { name: 'theme-color', content: '#5dac38' }], - ['meta', { name: 'viewport', content: 'width=device-width, initial-scale=1' }], - ['meta', { 'http-equiv': 'X-UA-Compatible', 'content': 'IE=edge' }] - ], - locales: { - // '/en/': { - // lang: 'en-US', - // title: 'Spring Docs', - // description: '' - // }, - '/': { - lang: 'zh-CN', - title: '中文文档', - description: '' - } - }, - plugins: [ - ['autometa', autometa_options] - ], - theme: path.resolve(__dirname, './themes/theme-gitcode/index.js'), - themeConfig: { - repo: "https://gitcode.net/dev-cloud/spring", - repoLabel: "GitCode", - docsRepo: "https://gitcode.net/dev-cloud/spring/", - docsDir: 'docs', - docsBranch: 'master', - editLinks: true, - editLinkText: "帮助我们改善此页面!", - lastUpdated: "Last Updated", - logo: '/images/icons/spring-logo.svg', - sidebarDepth: 3, - activeHeaderLinks: true, - locales: { - // '/en/': { - // // 多语言下拉菜单的标题 - // selectText: 'Language', - // // 该语言在下拉菜单中的标签 - // label: 'English', - // lastUpdated: 'Last Updated', - // lang: 'en-US', - // // 编辑链接文字 - // editLinkText: 'Edit this page on GitCode', - // algolia: {}, - // nav: [ - // { - // text: 'Spring', - // link: '/en/' - // }, - // { - // text: 'Spring Boot', - // link: '/en/spring-boot/' - // }, - // { - // text: 'Spring Framework', - // link: '/en/spring-framework/' - // }, - // { - // text: 'Spring Data', - // link: '/en/spring-data/' - // }, - // { - // text: 'Spring Cloud', - // link: '/en/spring-cloud/' - // }, - // { - // text: 'More', - // ariaLabel: 'Others', - // items: [ - // { text: 'Spring Cloud Data Flow', link: '/en/spring-cloud-data-flow/'}, - // { text: 'Spring Security', link: '/en/spring-security/'}, - // { text: 'Spring for GraphQL', link: '/en/spring-for-graphql/'}, - // { text: 'Spring Session', link: '/en/spring-session/'}, - // { text: 'Spring Integration', link: '/en/spring-integration/'}, - // { text: 'Spring HATEOAS', link: '/en/spring-hateoas/'}, - // { text: 'Spring REST Docs', link: '/en/spring-rest-docs/'}, - // { text: 'Spring Batch', link: '/en/spring-batch/'}, - // { text: 'Spring AMQP', link: '/en/spring-amqp/'}, - // { text: 'Spring CredHub', link: '/en/spring-credhub/'}, - // { text: 'Spring Flo', link: '/en/spring-flo/'}, - // { text: 'Spring for Apache Kafka', link: '/en/spring-for-apache-kafka/'}, - // { text: 'Spring LDAP', link: '/en/spring-ldap/'}, - // { text: 'Spring Shell', link: '/en/spring-shell/'}, - // { text: 'Spring Statemachine', link: '/en/spring-statemachine/'}, - // { text: 'Spring Vault', link: '/en/spring-vault/'}, - // { text: 'Spring Web Flow', link: '/en/spring-web-flow/'}, - // { text: 'Spring Web Services', link: '/en/spring-web-services/'} - // ] - // } - // ], - // sidebar: { - // '/en/spring-boot/': [ - // { - // title: 'Spring Boot', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/spring-boot/legal.md", - // "/en/spring-boot/getting-help.md", - // "/en/spring-boot/documentation.md", - // "/en/spring-boot/getting-started.md", - // "/en/spring-boot/upgrading.md", - // "/en/spring-boot/using.md", - // "/en/spring-boot/features.md", - // "/en/spring-boot/web.md", - // "/en/spring-boot/data.md", - // "/en/spring-boot/io.md", - // "/en/spring-boot/messaging.md", - // "/en/spring-boot/container-images.md", - // "/en/spring-boot/actuator.md", - // "/en/spring-boot/deployment.md", - // "/en/spring-boot/cli.md", - // "/en/spring-boot/build-tool-plugins.md", - // "/en/spring-boot/howto.md" - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // } - // ], - // '/en/spring-framework/': [ - // { - // title: 'Spring Framework', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/spring-framework/overview.md", - // "/en/spring-framework/core.md", - // "/en/spring-framework/testing.md", - // "/en/spring-framework/data-access.md", - // "/en/spring-framework/web-servlet.md", - // "/en/spring-framework/web-reactive.md", - // "/en/spring-framework/integration.md", - // "/en/spring-framework/languages.md" - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // } - // ], - // '/en/spring-data/': [ - // { - // title: 'Spring Data', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/spring-data/spring-data.md" - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // } - // ], - // '/en/spring-cloud/': [ - // { - // title: 'Spring Cloud', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/spring-cloud/legal.md", - // "/en/spring-cloud/documentation-overview.md", - // "/en/spring-cloud/spring-cloud-build.md", - // "/en/spring-cloud/spring-cloud-bus.md", - // "/en/spring-cloud/spring-cloud-circuitbreaker.md", - // "/en/spring-cloud/spring-cloud-cli.md", - // "/en/spring-cloud/spring-cloud-cloudfoundry.md", - // "/en/spring-cloud/spring-cloud-commons.md", - // "/en/spring-cloud/spring-cloud-config.md", - // "/en/spring-cloud/spring-cloud-consul.md", - // "/en/spring-cloud/spring-cloud-contract.md", - // "/en/spring-cloud/spring-cloud-function.md", - // "/en/spring-cloud/spring-cloud-gateway.md", - // "/en/spring-cloud/spring-cloud-kubernetes.md", - // "/en/spring-cloud/spring-cloud-netflix.md", - // "/en/spring-cloud/spring-cloud-openfeign.md", - // "/en/spring-cloud/spring-cloud-sleuth.md", - // "/en/spring-cloud/spring-cloud-stream.md", - // "/en/spring-cloud/spring-cloud-task.md", - // "/en/spring-cloud/spring-cloud-vault.md", - // "/en/spring-cloud/spring-cloud-zookeeper.md", - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // } - // ], - // '/en/spring-cloud-data-flow/': [ - // { - // title: 'Spring Cloud Data Flow', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/spring-cloud-data-flow/spring-cloud-dataflow.md", - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // } - // ], - // '/en/spring-security/': [ - // { - // title: 'Spring Security', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/spring-security/index.md", - // "/en/spring-security/prerequisites.md", - // "/en/spring-security/community.md", - // "/en/spring-security/whats-new.md", - // "/en/spring-security/getting-spring-security.md", - // "/en/spring-security/features.md", - // "/en/spring-security/modules.md", - // "/en/spring-security/samples.md", - // "/en/spring-security/servlet.md", - // "/en/spring-security/reactive.md" - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // } - // ], - - // // fallback - // '/en/': - // [{ - // title: 'Spring Doc', // 必要的 - // // path: '/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在 - // collapsable: false, // 可选的, 默认值是 true, - // sidebarDepth: 1, // 可选的, 默认值是 1 - // children: [ - // '' - // ] - // }, - // { - // title: 'INTRO', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/why-spring.md", - // "/en/introducing-spring-boot.md", - // "/en/quickstart.md" - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // }, - // { - // title: 'GUIDE', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/system-requirements.md", - // "/en/installing.md", - // "/en/initializr.md" - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // }, - // { - // title: 'IDE', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/vscode_java.md", - // "/en/intellij_idea.md" - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // }, - // { - // title: 'DEMO', - // sidebarDepth: 2, - // collapsable: false, - // children: [ - // "/en/getting-started_first-application.md", - // "/en/rest-service.md", - // "/en/consuming-rest.md" - // ], - // initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - // } - // ] - // } - // }, - '/': { - selectText: '选择语言', - label: '简体中文', - ariaLabel: '语言', - lang: 'zh-CN', - editLinkText: '在 GitCode 上编辑此页', - lastUpdated: '上次更新', - algolia: {}, - nav: [ - { - text: 'Spring', - link: '/' - }, - { - text: 'Spring Boot', - link: '/spring-boot/' - }, - { - text: 'Spring Framework', - link: '/spring-framework/' - }, - { - text: 'Spring Data', - link: '/spring-data/' - }, - { - text: 'Spring Cloud', - link: '/spring-cloud/' - }, - { - text: '更多文档', - ariaLabel: 'Others', - items: [ - { text: 'Spring Cloud Data Flow', link: '/spring-cloud-data-flow/' }, - { text: 'Spring Security', link: '/spring-security/' }, - { text: 'Spring for GraphQL', link: '/spring-for-graphql/' }, - { text: 'Spring Session', link: '/spring-session/' }, - { text: 'Spring Integration', link: '/spring-integration/' }, - { text: 'Spring HATEOAS', link: '/spring-hateoas/' }, - { text: 'Spring REST Docs', link: '/spring-rest-docs/' }, - { text: 'Spring Batch', link: '/spring-batch/' }, - { text: 'Spring AMQP', link: '/spring-amqp/' }, - { text: 'Spring CredHub', link: '/spring-credhub/' }, - { text: 'Spring Flo', link: '/spring-flo/' }, - { text: 'Spring for Apache Kafka', link: '/spring-for-apache-kafka/' }, - { text: 'Spring LDAP', link: '/spring-ldap/' }, - { text: 'Spring Shell', link: '/spring-shell/' }, - { text: 'Spring Statemachine', link: '/spring-statemachine/' }, - { text: 'Spring Vault', link: '/spring-vault/' }, - { text: 'Spring Web Flow', link: '/spring-web-flow/' }, - { text: 'Spring Web Services', link: '/spring-web-services/' } - ] - } - ], - sidebar: { - '/spring-boot/': [ - { - title: 'Spring Boot 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-boot/legal.md", - "/spring-boot/getting-help.md", - "/spring-boot/documentation.md", - "/spring-boot/getting-started.md", - "/spring-boot/upgrading.md", - "/spring-boot/using.md", - "/spring-boot/features.md", - "/spring-boot/web.md", - "/spring-boot/data.md", - "/spring-boot/io.md", - "/spring-boot/messaging.md", - "/spring-boot/container-images.md", - "/spring-boot/actuator.md", - "/spring-boot/deployment.md", - "/spring-boot/cli.md", - "/spring-boot/build-tool-plugins.md", - "/spring-boot/howto.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-framework/': [ - { - title: 'Spring Framework 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-framework/overview.md", - "/spring-framework/core.md", - "/spring-framework/testing.md", - "/spring-framework/data-access.md", - "/spring-framework/web-servlet.md", - "/spring-framework/web-reactive.md", - "/spring-framework/integration.md", - "/spring-framework/languages.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-data/': [ - { - title: 'Spring Data 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-data/spring-data.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-cloud/': [ - { - title: 'Spring Cloud 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-cloud/legal.md", - "/spring-cloud/documentation-overview.md", - "/spring-cloud/spring-cloud-build.md", - "/spring-cloud/spring-cloud-bus.md", - "/spring-cloud/spring-cloud-circuitbreaker.md", - "/spring-cloud/spring-cloud-cli.md", - "/spring-cloud/spring-cloud-cloudfoundry.md", - "/spring-cloud/spring-cloud-commons.md", - "/spring-cloud/spring-cloud-config.md", - "/spring-cloud/spring-cloud-consul.md", - "/spring-cloud/spring-cloud-contract.md", - "/spring-cloud/spring-cloud-function.md", - "/spring-cloud/spring-cloud-gateway.md", - "/spring-cloud/spring-cloud-kubernetes.md", - "/spring-cloud/spring-cloud-netflix.md", - "/spring-cloud/spring-cloud-openfeign.md", - "/spring-cloud/spring-cloud-sleuth.md", - "/spring-cloud/spring-cloud-stream.md", - "/spring-cloud/spring-cloud-task.md", - "/spring-cloud/spring-cloud-vault.md", - "/spring-cloud/spring-cloud-zookeeper.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-cloud-data-flow/': [ - { - title: 'Spring Cloud Data Flow 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-cloud-data-flow/spring-cloud-dataflow.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-security/': [ - { - title: 'Spring 安全', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-security/overview.md", - "/spring-security/prerequisites.md", - "/spring-security/community.md", - "/spring-security/whats-new.md", - "/spring-security/getting-spring-security.md", - "/spring-security/features.md", - "/spring-security/features-authentication.md", - "/spring-security/features-authentication-password-storage.md", - "/spring-security/features-exploits.md", - "/spring-security/features-exploits-csrf.md", - "/spring-security/features-exploits-headers.md", - "/spring-security/features-exploits-http.md", - "/spring-security/features-integrations.md", - "/spring-security/features-integrations-cryptography.md", - "/spring-security/features-integrations-data.md", - "/spring-security/features-integrations-concurrency.md", - "/spring-security/features-integrations-jackson.md", - "/spring-security/features-integrations-localization.md", - "/spring-security/modules.md", - "/spring-security/samples.md", - "/spring-security/servlet.md", - "/spring-security/servlet-getting-started.md", - "/spring-security/servlet-architecture.md", - "/spring-security/servlet-authentication.md", - "/spring-security/servlet-authentication-architecture.md", - "/spring-security/servlet-authentication-passwords.md", - "/spring-security/servlet-authentication-passwords-input.md", - "/spring-security/servlet-authentication-passwords-form.md", - "/spring-security/servlet-authentication-passwords-basic.md", - "/spring-security/servlet-authentication-passwords-digest.md", - "/spring-security/servlet-authentication-passwords-storage.md", - "/spring-security/servlet-authentication-passwords-storage-in-memory.md", - "/spring-security/servlet-authentication-passwords-storage-jdbc.md", - "/spring-security/servlet-authentication-passwords-storage-user-details.md", - "/spring-security/servlet-authentication-passwords-storage-user-details-service.md", - "/spring-security/servlet-authentication-passwords-storage-password-encoder.md", - "/spring-security/servlet-authentication-passwords-storage-dao-authentication-provider.md", - "/spring-security/servlet-authentication-passwords-storage-ldap.md", - "/spring-security/servlet-authentication-session-management.md", - "/spring-security/servlet-authentication-rememberme.md", - "/spring-security/servlet-authentication-openid.md", - "/spring-security/servlet-authentication-anonymous.md", - "/spring-security/servlet-authentication-preauth.md", - "/spring-security/servlet-authentication-jaas.md", - "/spring-security/servlet-authentication-cas.md", - "/spring-security/servlet-authentication-x509.md", - "/spring-security/servlet-authentication-runas.md", - "/spring-security/servlet-authentication-logout.md", - "/spring-security/servlet-authentication-events.md", - "/spring-security/servlet-authorization-.md", - "/spring-security/servlet-authorization-architecture.md", - "/spring-security/servlet-authorization-authorize-http-requests.md", - "/spring-security/servlet-authorization-authorize-requests.md", - "/spring-security/servlet-authorization-expression-based.md", - "/spring-security/servlet-authorization-secure-objects.md", - "/spring-security/servlet-authorization-method-security.md", - "/spring-security/servlet-authorization-acls.md", - "/spring-security/servlet-oauth2-.md", - "/spring-security/servlet-oauth2-login.md", - "/spring-security/servlet-oauth2-login-core.md", - "/spring-security/servlet-oauth2-login-advanced.md", - "/spring-security/servlet-oauth2-client.md", - "/spring-security/servlet-oauth2-client-core.md", - "/spring-security/servlet-oauth2-client-authorization-grants.md", - "/spring-security/servlet-oauth2-client-client-authentication.md", - "/spring-security/servlet-oauth2-client-authorized-clients.md", - "/spring-security/servlet-oauth2-resource-server.md", - "/spring-security/servlet-oauth2-resource-server-jwt.md", - "/spring-security/servlet-oauth2-resource-server-opaque-token.md", - "/spring-security/servlet-oauth2-resource-server-multitenancy.md", - "/spring-security/servlet-oauth2-resource-server-bearer-tokens.md", - "/spring-security/servlet-saml2.md", - "/spring-security/servlet-saml2-login.md", - "/spring-security/servlet-saml2-login-overview.md", - "/spring-security/servlet-saml2-login-authentication-requests.md", - "/spring-security/servlet-saml2-login-authentication.md", - "/spring-security/servlet-saml2-logout.md", - "/spring-security/servlet-saml2-metadata.md", - "/spring-security/servlet-exploits.md", - "/spring-security/servlet-exploits-csrf.md", - "/spring-security/servlet-exploits-headers.md", - "/spring-security/servlet-exploits-http.md", - "/spring-security/servlet-exploits-firewall.md", - "/spring-security/servlet-integrations.md", - "/spring-security/servlet-integrations-concurrency.md", - "/spring-security/servlet-integrations-jackson.md", - "/spring-security/servlet-integrations-localization.md", - "/spring-security/servlet-integrations-servlet-api.md", - "/spring-security/servlet-integrations-data.md", - "/spring-security/servlet-integrations-mvc.md", - "/spring-security/servlet-integrations-websocket.md", - "/spring-security/servlet-integrations-cors.md", - "/spring-security/servlet-integrations-jsp-taglibs.md", - "/spring-security/servlet-configuration-java.md", - "/spring-security/servlet-configuration-kotlin.md", - "/spring-security/servlet-configuration-xml-namespace.md", - "/spring-security/servlet-test.md", - "/spring-security/servlet-test-method.md", - "/spring-security/servlet-test-mockmvc.md", - "/spring-security/servlet-test-mockmvc-setup.md", - "/spring-security/servlet-test-mockmvc-request-post-processors.md", - "/spring-security/servlet-test-mockmvc-authentication.md", - "/spring-security/servlet-test-mockmvc-csrf.md", - "/spring-security/servlet-test-mockmvc-form-login.md", - "/spring-security/servlet-test-mockmvc-http-basic.md", - "/spring-security/servlet-test-mockmvc-oauth2.md", - "/spring-security/servlet-test-mockmvc-logout.md", - "/spring-security/servlet-test-mockmvc-request-builders.md", - "/spring-security/servlet-test-mockmvc-result-matchers.md", - "/spring-security/servlet-test-mockmvc-result-handlers.md", - "/spring-security/servlet-appendix.md", - "/spring-security/servlet-appendix-database-schema.md", - "/spring-security/servlet-appendix-namespace.md", - "/spring-security/servlet-appendix-namespace-authentication-manager.md", - "/spring-security/servlet-appendix-namespace-http.md", - "/spring-security/servlet-appendix-namespace-method-security.md", - "/spring-security/servlet-appendix-namespace-ldap.md", - "/spring-security/servlet-appendix-namespace-websocket.md", - "/spring-security/servlet-appendix-faq.md", - "/spring-security/reactive.md", - "/spring-security/reactive-getting-started.md", - "/spring-security/reactive-authentication-x509.md", - "/spring-security/reactive-authentication-logout.md", - "/spring-security/reactive-authorization-authorize-http-requests.md", - "/spring-security/reactive-authorization-method.md", - "/spring-security/reactive-oauth2.md", - "/spring-security/reactive-oauth2-login.md", - "/spring-security/reactive-oauth2-login-core.md", - "/spring-security/reactive-oauth2-login-advanced.md", - "/spring-security/reactive-oauth2-client.md", - "/spring-security/reactive-oauth2-client-core.md", - "/spring-security/reactive-oauth2-client-authorization-grants.md", - "/spring-security/reactive-oauth2-client-client-authentication.md", - "/spring-security/reactive-oauth2-client-authorized-clients.md", - "/spring-security/reactive-oauth2-resource-server.md", - "/spring-security/reactive-oauth2-resource-server-jwt.md", - "/spring-security/reactive-oauth2-resource-server-opaque-token.md", - "/spring-security/reactive-oauth2-resource-server-multitenancy.md", - "/spring-security/reactive-oauth2-resource-server-bearer-tokens.md", - "/spring-security/reactive-exploits.md", - "/spring-security/reactive-exploits-csrf.md", - "/spring-security/reactive-exploits-headers.md", - "/spring-security/reactive-exploits-http.md", - "/spring-security/reactive-integrations-cors.md", - "/spring-security/reactive-integrations-rsocket.md", - "/spring-security/reactive-test.md", - "/spring-security/reactive-test-method.md", - "/spring-security/reactive-test-web.md", - "/spring-security/reactive-test-web-setup.md", - "/spring-security/reactive-test-web-authentication.md", - "/spring-security/reactive-test-web-csrf.md", - "/spring-security/reactive-test-web-oauth2.md", - "/spring-security/reactive-configuration-webflux.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - - '/spring-for-graphql/': [ - { - title: 'Spring For Graphql 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-for-graphql/spring-graphql.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-session/': [ - { - title: 'Spring Session 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-session/_index.md", - "/spring-session/whats-new.md", - "/spring-session/samples.md", - "/spring-session/bootSamples/HttpSession/mongo.md", - "/spring-session/bootSamples/HttpSession/jdbc.md", - "/spring-session/bootSamples/HttpSession/Redis/boot-redis.md", - "/spring-session/bootSamples/boot-findbyusername.md", - "/spring-session/bootSamples/boot-websocket.md", - "/spring-session/webFlux/boot-webflux-custom-cookie.md", - "/spring-session/modules.md", - "/spring-session/http-session.md", - "/spring-session/web-socket.md", - "/spring-session/web-session.md", - "/spring-session/spring-security.md", - "/spring-session/api.md", - "/spring-session/upgrading.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-session/sample/': [ - { - title: 'Spring Session 文档3', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-session/sample/samples.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-integration/': [ - { - title: 'Spring Integration 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-integration/preface.md", - "/spring-integration/whats-new.md", - "/spring-integration/overview.md", - "/spring-integration/core.md", - "/spring-integration/message.md", - "/spring-integration/message-routing.md", - "/spring-integration/message-transformation.md", - "/spring-integration/messaging-endpoints.md", - "/spring-integration/dsl.md", - "/spring-integration/kotlin-dsl.md", - "/spring-integration/system-management.md", - "/spring-integration/reactive-streams.md", - "/spring-integration/endpoint-summary.md", - "/spring-integration/amqp.md", - "/spring-integration/event.md", - "/spring-integration/feed.md", - "/spring-integration/file.md", - "/spring-integration/ftp.md", - "/spring-integration/gemfire.md", - "/spring-integration/http.md", - "/spring-integration/jdbc.md", - "/spring-integration/jpa.md", - "/spring-integration/jms.md", - "/spring-integration/jmx.md", - "/spring-integration/kafka.md", - "/spring-integration/mail.md", - "/spring-integration/mongodb.md", - "/spring-integration/mqtt.md", - "/spring-integration/r2dbc.md", - "/spring-integration/redis.md", - "/spring-integration/resource.md", - "/spring-integration/rmi.md", - "/spring-integration/rsocket.md", - "/spring-integration/sftp.md", - "/spring-integration/stomp.md", - "/spring-integration/stream.md", - "/spring-integration/syslog.md", - "/spring-integration/ip.md", - "/spring-integration/webflux.md", - "/spring-integration/web-sockets.md", - "/spring-integration/ws.md", - "/spring-integration/xml.md", - "/spring-integration/xmpp.md", - "/spring-integration/zeromq.md", - "/spring-integration/zookeeper.md", - "/spring-integration/error-handling.md", - "/spring-integration/spel.md", - "/spring-integration/message-publishing.md", - "/spring-integration/transactions.md", - "/spring-integration/security.md", - "/spring-integration/configuration.md", - "/spring-integration/testing.md", - "/spring-integration/samples.md", - "/spring-integration/resources.md", - "/spring-integration/history.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-hateoas/': [ - { - title: 'Spring HATEOAS 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-hateoas/spring-hateoas.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-rest-docs/': [ - { - title: 'Spring HATEOAS 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-rest-docs/spring-restdocs.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-batch/': [ - { - title: 'Spring Batch 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-batch/spring-batch-intro.md", - "/spring-batch/whatsnew.md", - "/spring-batch/domain.md", - "/spring-batch/job.md", - "/spring-batch/step.md", - "/spring-batch/readersAndWriters.md", - "/spring-batch/processor.md", - "/spring-batch/scalability.md", - "/spring-batch/repeat.md", - "/spring-batch/retry.md", - "/spring-batch/testing.md", - "/spring-batch/common-patterns.md", - "/spring-batch/jsr-352.md", - "/spring-batch/spring-batch-integration.md", - "/spring-batch/monitoring-and-metrics.md", - "/spring-batch/appendix.md", - "/spring-batch/schema-appendix.md", - "/spring-batch/transaction-appendix.md", - "/spring-batch/glossary.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-amqp/': [ - { - title: 'Spring AMQP 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-amqp/spring-amqp.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-credhub/': [ - { - title: 'Spring CredHub 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-credhub/spring-credhub.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-flo/': [ - { - title: 'Spring Flo 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-flo/spring-flo.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-for-apache-kafka/': [ - { - title: 'Spring for Apache Kafka 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-for-apache-kafka/spring-kafka.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-ldap/': [ - { - title: 'Spring for Apache Kafka 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-ldap/spring-ldap.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-shell/': [ - { - title: 'Spring Shell 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-shell/spring-shell.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-statemachine/': [ - { - title: 'Spring Statemachine 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-statemachine/spring-statemachine.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-vault/': [ - { - title: 'Spring Vault 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-vault/spring-vault.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-web-flow/': [ - { - title: 'Spring Web Flow 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-web-flow/preface.md", - "/spring-web-flow/introduction.md", - "/spring-web-flow/whatsnew.md", - "/spring-web-flow/defining-flows.md", - "/spring-web-flow/el.md", - "/spring-web-flow/views.md", - "/spring-web-flow/actions.md", - "/spring-web-flow/flow-managed-persistence.md", - "/spring-web-flow/flow-security.md", - "/spring-web-flow/flow-inheritance.md", - "/spring-web-flow/system-setup.md", - "/spring-web-flow/spring-mvc.md", - "/spring-web-flow/spring-js.md", - "/spring-web-flow/spring-faces.md", - "/spring-web-flow/testing.md", - "/spring-web-flow/field-mappings.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - '/spring-web-services/': [ - { - title: 'Spring Web Services 文档', - sidebarDepth: 2, - collapsable: false, - children: [ - "/spring-web-services/spring-web-service.md", - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ], - // fallback - '/': - [{ - title: 'Spring 文档', // 必要的 - // path: '/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在 - collapsable: false, // 可选的, 默认值是 true, - sidebarDepth: 1, // 可选的, 默认值是 1 - children: [ - '' - ] - }, - { - title: '介绍', - sidebarDepth: 2, - collapsable: false, - children: [ - "why-spring.md", - "introducing-spring-boot.md", - "quickstart.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - }, - { - title: '教程', - sidebarDepth: 2, - collapsable: false, - children: [ - "system-requirements.md", - "installing.md", - "initializr.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - }, - { - title: '编辑器', - sidebarDepth: 2, - collapsable: false, - children: [ - "vscode_java.md", - "intellij_idea.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - }, - { - title: '代码案例', - sidebarDepth: 2, - collapsable: false, - children: [ - "getting-started_first-application.md", - "rest-service.md", - "consuming-rest.md" - ], - initialOpenGroupIndex: 0 // 可选的, 默认值是 0 - } - ] - } + { + title: "代码案例", + sidebarDepth: 2, + collapsable: false, + children: [ + "getting-started_first-application.md", + "rest-service.md", + "consuming-rest.md" + ], + initialOpenGroupIndex: 0 // 可选的, 默认值是 0 } + ] } + } } -} \ No newline at end of file + } +};