diff --git a/.vscode/settings.json b/.vscode/settings.json index 1c9710d23..e2daaa72c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -26,6 +26,7 @@ "codecov", "Logto", "oidc", + "passcode", "Passwordless", "pnpm", "silverhand", diff --git a/packages/docs/docs/tutorial/README.md b/packages/docs/docs/docs/README.md similarity index 87% rename from packages/docs/docs/tutorial/README.md rename to packages/docs/docs/docs/README.md index bbab6a3f3..af4237aeb 100644 --- a/packages/docs/docs/tutorial/README.md +++ b/packages/docs/docs/docs/README.md @@ -41,7 +41,7 @@ In your terminal: node -e "$(printf "%s" "$(curl -fsSL https://raw.githubusercontent.com/logto-io/logto/master/install.js)")" ``` -The script will download Logto and create a directory `logto` in the location you ran it. After answering [several simple questions](./tutorial/configuration#questions), you will see the message like: +The script will download Logto and create a directory `logto` in the location you ran it. After answering [several simple questions](./docs/references/core/configuration#questions), you will see the message like: ```bash App is running at http://localhost:3001 @@ -55,4 +55,4 @@ TBD ## Configuration -Logto uses environment variables for configuration, along with `.env` file support. See [Configuration](./tutorial/configuration) for detailed usage and full variable list. +Logto uses environment variables for configuration, along with `.env` file support. See [Configuration](./docs/references/core/configuration) for detailed usage and full variable list. diff --git a/packages/docs/docs/tutorial/integrate-logto/README.md b/packages/docs/docs/docs/recipes/integrate-logto/README.md similarity index 100% rename from packages/docs/docs/tutorial/integrate-logto/README.md rename to packages/docs/docs/docs/recipes/integrate-logto/README.md diff --git a/packages/docs/docs/tutorial/integrate-logto/android.mdx b/packages/docs/docs/docs/recipes/integrate-logto/android.mdx similarity index 100% rename from packages/docs/docs/tutorial/integrate-logto/android.mdx rename to packages/docs/docs/docs/recipes/integrate-logto/android.mdx diff --git a/packages/docs/docs/tutorial/integrate-logto/components/AppNote.tsx b/packages/docs/docs/docs/recipes/integrate-logto/components/AppNote.tsx similarity index 100% rename from packages/docs/docs/tutorial/integrate-logto/components/AppNote.tsx rename to packages/docs/docs/docs/recipes/integrate-logto/components/AppNote.tsx diff --git a/packages/docs/docs/tutorial/integrate-logto/components/SignInNote.tsx b/packages/docs/docs/docs/recipes/integrate-logto/components/SignInNote.tsx similarity index 100% rename from packages/docs/docs/tutorial/integrate-logto/components/SignInNote.tsx rename to packages/docs/docs/docs/recipes/integrate-logto/components/SignInNote.tsx diff --git a/packages/docs/docs/tutorial/integrate-logto/ios.mdx b/packages/docs/docs/docs/recipes/integrate-logto/ios.mdx similarity index 100% rename from packages/docs/docs/tutorial/integrate-logto/ios.mdx rename to packages/docs/docs/docs/recipes/integrate-logto/ios.mdx diff --git a/packages/docs/docs/tutorial/integrate-logto/react.mdx b/packages/docs/docs/docs/recipes/integrate-logto/react.mdx similarity index 100% rename from packages/docs/docs/tutorial/integrate-logto/react.mdx rename to packages/docs/docs/docs/recipes/integrate-logto/react.mdx diff --git a/packages/docs/docs/tutorial/integrate-logto/vue.mdx b/packages/docs/docs/docs/recipes/integrate-logto/vue.mdx similarity index 100% rename from packages/docs/docs/tutorial/integrate-logto/vue.mdx rename to packages/docs/docs/docs/recipes/integrate-logto/vue.mdx diff --git a/packages/docs/docs/docs/references/core/README.md b/packages/docs/docs/docs/references/core/README.md new file mode 100644 index 000000000..3b616f93d --- /dev/null +++ b/packages/docs/docs/docs/references/core/README.md @@ -0,0 +1 @@ +# Core diff --git a/packages/docs/docs/tutorial/configuration.md b/packages/docs/docs/docs/references/core/configuration.md similarity index 100% rename from packages/docs/docs/tutorial/configuration.md rename to packages/docs/docs/docs/references/core/configuration.md diff --git a/packages/docs/docs/tutorial/get-started/README.md b/packages/docs/docs/docs/tutorials/get-started/README.md similarity index 98% rename from packages/docs/docs/tutorial/get-started/README.md rename to packages/docs/docs/docs/tutorials/get-started/README.md index 30e1499e9..554a5456c 100644 --- a/packages/docs/docs/tutorial/get-started/README.md +++ b/packages/docs/docs/docs/tutorials/get-started/README.md @@ -1,7 +1,3 @@ ---- -sidebar_position: 2 ---- - # Get Started Before we start, it'll be good to know how Logto works. To simplify, we divide Logto into four parts: Admin Console, Sign-in Experience, Core Service, and SDKs. diff --git a/packages/docs/docs/docs/tutorials/get-started/_category_.json b/packages/docs/docs/docs/tutorials/get-started/_category_.json new file mode 100644 index 000000000..ac08a5068 --- /dev/null +++ b/packages/docs/docs/docs/tutorials/get-started/_category_.json @@ -0,0 +1,4 @@ +{ + "collapsible": false, + "collapsed": false +} diff --git a/packages/docs/docs/docs/tutorials/get-started/add-a-social-connector.md b/packages/docs/docs/docs/tutorials/get-started/add-a-social-connector.md new file mode 100644 index 000000000..21b8243a3 --- /dev/null +++ b/packages/docs/docs/docs/tutorials/get-started/add-a-social-connector.md @@ -0,0 +1,5 @@ +--- +sidebar_position: 5 +--- + +# Add a social connector diff --git a/packages/docs/docs/tutorial/get-started/check-out-demo.md b/packages/docs/docs/docs/tutorials/get-started/check-out-demo.md similarity index 100% rename from packages/docs/docs/tutorial/get-started/check-out-demo.md rename to packages/docs/docs/docs/tutorials/get-started/check-out-demo.md diff --git a/packages/docs/docs/tutorial/get-started/create-and-integrate-the-first-app.mdx b/packages/docs/docs/docs/tutorials/get-started/create-and-integrate-the-first-app.mdx similarity index 100% rename from packages/docs/docs/tutorial/get-started/create-and-integrate-the-first-app.mdx rename to packages/docs/docs/docs/tutorials/get-started/create-and-integrate-the-first-app.mdx diff --git a/packages/docs/docs/docs/tutorials/get-started/customize-sign-in-experience.md b/packages/docs/docs/docs/tutorials/get-started/customize-sign-in-experience.md new file mode 100644 index 000000000..e0fb1c3d7 --- /dev/null +++ b/packages/docs/docs/docs/tutorials/get-started/customize-sign-in-experience.md @@ -0,0 +1,5 @@ +--- +sidebar_position: 3 +--- + +# Customize sign-in experience diff --git a/packages/docs/docs/docs/tutorials/get-started/enable-passcode-sign-in.md b/packages/docs/docs/docs/tutorials/get-started/enable-passcode-sign-in.md new file mode 100644 index 000000000..6a5c7f918 --- /dev/null +++ b/packages/docs/docs/docs/tutorials/get-started/enable-passcode-sign-in.md @@ -0,0 +1,5 @@ +--- +sidebar_position: 4 +--- + +# Enable SMS or email passcode sign-in diff --git a/packages/docs/docs/docs/tutorials/get-started/further-readings.md b/packages/docs/docs/docs/tutorials/get-started/further-readings.md new file mode 100644 index 000000000..775a7b6b3 --- /dev/null +++ b/packages/docs/docs/docs/tutorials/get-started/further-readings.md @@ -0,0 +1,5 @@ +--- +sidebar_position: 6 +--- + +# Further readings diff --git a/packages/docs/docusaurus.config.js b/packages/docs/docusaurus.config.js index 884897b0b..1bef6f16a 100644 --- a/packages/docs/docusaurus.config.js +++ b/packages/docs/docusaurus.config.js @@ -46,7 +46,7 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ navbar: { - title: 'Logto Docs', + title: 'Logto', logo: { alt: 'Logto Logo', src: 'img/logo.svg', @@ -54,9 +54,9 @@ const config = { items: [ { type: 'doc', - docId: 'tutorial/README', + docId: 'docs/README', position: 'left', - label: 'Tutorial', + label: 'Docs', }, { type: 'doc', @@ -88,7 +88,7 @@ const config = { title: 'Docs', items: [ { - label: 'Tutorial', + label: 'Docs', to: '/', }, ], diff --git a/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current.json b/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current.json index e6c03a8ba..1cdb0a273 100644 --- a/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current.json +++ b/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current.json @@ -2,25 +2,25 @@ "version.label": { "message": "下一个" }, - "sidebar.tutorialSidebar.category.Integrate SDK": { + "sidebar.docsSidebar.category.Integrate SDK": { "message": "集成 SDK" }, - "sidebar.sdkSidebar.category.Classes": { + "sidebar.docsSidebar.category.Classes": { "message": "类(Classes)" }, - "sidebar.sdkSidebar.category.Enums": { + "sidebar.docsSidebar.category.Enums": { "message": "枚举(Enums)" }, - "sidebar.sdkSidebar.category.Protocols": { + "sidebar.docsSidebar.category.Protocols": { "message": "接口(Protocols)" }, - "sidebar.sdkSidebar.category.Typealiases": { + "sidebar.docsSidebar.category.Typealiases": { "message": "类型别名(Typealiases)" }, - "sidebar.sdkSidebar.category.Extensions": { + "sidebar.docsSidebar.category.Extensions": { "message": "扩展(Extensions)" }, - "sidebar.sdkSidebar.category.Structs": { + "sidebar.docsSidebar.category.Structs": { "message": "结构体(Structs)" } } diff --git a/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/README.md b/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/README.md similarity index 100% rename from packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/README.md rename to packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/README.md diff --git a/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/android.mdx b/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/android.mdx similarity index 100% rename from packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/android.mdx rename to packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/android.mdx diff --git a/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/components/AppNote.tsx b/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/components/AppNote.tsx similarity index 100% rename from packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/components/AppNote.tsx rename to packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/components/AppNote.tsx diff --git a/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/components/SignInNote.tsx b/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/components/SignInNote.tsx similarity index 100% rename from packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/components/SignInNote.tsx rename to packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/components/SignInNote.tsx diff --git a/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/react.mdx b/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/react.mdx similarity index 100% rename from packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/react.mdx rename to packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/react.mdx diff --git a/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/vue.mdx b/packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/vue.mdx similarity index 100% rename from packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/tutorial/integrate-sdk/vue.mdx rename to packages/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/docs/recipes/integrate-logto/vue.mdx diff --git a/packages/docs/sidebars.js b/packages/docs/sidebars.js index 901090f8c..42823cf99 100644 --- a/packages/docs/sidebars.js +++ b/packages/docs/sidebars.js @@ -14,8 +14,28 @@ /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ const sidebars = { // By default, Docusaurus generates a sidebar from the docs folder structure - tutorialSidebar: [{type: 'autogenerated', dirName: 'tutorial'}], - sdkSidebar: [{type: 'autogenerated', dirName: 'sdk'}], + docsSidebar: [ + { + type: 'html', + value: 'Tutorials', + className: 'sidebar-section', + }, + 'docs/README', + { type: 'autogenerated', dirName: 'docs/tutorials' }, + { + type: 'html', + value: 'Recipes', + className: 'sidebar-section', + }, + { type: 'autogenerated', dirName: 'docs/recipes' }, + { + type: 'html', + value: 'References', + className: 'sidebar-section', + }, + { type: 'autogenerated', dirName: 'docs/references' }, + ], + sdkSidebar: [{ type: 'autogenerated', dirName: 'sdk' }], // But you can create a sidebar manually /* diff --git a/packages/docs/src/css/custom.css b/packages/docs/src/css/custom.css index 292fcd445..fb353f6d7 100644 --- a/packages/docs/src/css/custom.css +++ b/packages/docs/src/css/custom.css @@ -15,6 +15,7 @@ --ifm-color-primary-lightest: #3cad6e; --ifm-code-font-size: 95%; --doc-sidebar-width: 450px !important; + --doc-sidebar-section-title: #eee; } /* For readability concerns, you should choose a lighter palette in dark mode. */ @@ -26,6 +27,7 @@ --ifm-color-primary-light: #29d5b0; --ifm-color-primary-lighter: #32d8b4; --ifm-color-primary-lightest: #4fddbf; + --doc-sidebar-section-title: #777; } .docusaurus-highlight-code-line { @@ -38,3 +40,15 @@ [data-theme='dark'] .docusaurus-highlight-code-line { background-color: rgba(0, 0, 0, 0.3); } + +.sidebar-section { + color: var(--doc-sidebar-section-title); + padding: var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal); + text-transform: uppercase; + font-size: 14px; + font-weight: 600; +} + +.sidebar-section:not(:first-child) { + margin-top: calc(var(--ifm-menu-link-padding-vertical) * 2); +}