From 250c0180d76494fb5a4ea21011f7e396701c7caa Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Fri, 9 Aug 2024 22:12:40 +0800 Subject: [PATCH] chore: bump docusaurus version to 3.x (#395) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 升级 Docusaurus 版本至 3.x 参照 https://docusaurus.io/zh-CN/docs/migration/v3 升级指南。 Fixes #394 /kind improvement ```release-note None ``` --- docs/contribution/issue.md | 4 +- docs/contribution/sponsor.md | 8 +- docs/developer-guide/core/run.md | 6 +- docs/developer-guide/form-schema.md | 4 +- .../ui/components/annotations-form.md | 2 +- .../ui/components/filter-dropdown.md | 2 +- .../api-reference/ui/components/index.md | 2 +- .../ui/components/uppy-upload.md | 2 +- .../attachment-list-item-operation-create.md | 2 +- .../attachment-selector-create.md | 2 +- .../comment-subject-ref-create.md | 2 +- .../default-editor-extension-create.md | 20 +- .../ui/extension-points/editor-create.md | 8 +- .../interface/OperationItem.md | 2 +- .../plugin-installation-tabs-create.md | 4 +- .../plugin-list-item-field-create.md | 4 +- .../plugin-list-item-operation-create.md | 2 +- .../plugin-self-tabs-create.md | 4 +- .../post-list-item-field-create.md | 2 +- .../theme-list-item-operation-create.md | 2 +- .../theme-list-tabs-create.md | 4 +- .../developer-guide/plugin/basics/manifest.md | 2 +- .../plugin/basics/structure.md | 2 +- .../plugin/examples/todolist.md | 30 +- docs/developer-guide/plugin/hello-world.md | 4 +- docs/developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 12 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 22 +- .../theme/finder-apis/single-page.md | 4 +- docs/developer-guide/theme/finder-apis/tag.md | 8 +- docs/developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../install/cloud/tencent-cloud-lighthouse.md | 2 +- .../getting-started/install/docker-compose.md | 392 +- docs/getting-started/install/docker.md | 60 +- docs/getting-started/install/jar-file.md | 6 +- .../install/other/nginxproxymanager.md | 2 +- docs/getting-started/install/other/traefik.md | 2 +- docs/getting-started/install/podman.md | 204 +- docs/getting-started/migrate-from-1.x.md | 26 +- docs/getting-started/prepare.md | 2 +- docs/intro.md | 6 +- docs/user-guide/app-store.md | 6 +- docs/user-guide/attachments.md | 4 +- docs/user-guide/common.md | 4 +- docs/user-guide/faq.md | 26 +- docs/user-guide/plugins.md | 4 +- docs/user-guide/posts.md | 4 +- docs/user-guide/themes.md | 4 +- docs/user-guide/users.md | 2 +- docusaurus.config.js | 3 +- i18n/zh-Hans/code.json | 2 +- index.js | 57 + package.json | 55 +- pnpm-lock.yaml | 7821 ++++++++++------- .../version-2.10/contribution/issue.md | 4 +- .../version-2.10/contribution/sponsor.md | 8 +- .../developer-guide/core/build.md | 2 +- .../version-2.10/developer-guide/core/run.md | 2 +- .../developer-guide/form-schema.md | 4 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/plugin/manifest.md | 2 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 10 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 20 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../getting-started/install/docker-compose.md | 397 +- .../getting-started/install/docker.md | 60 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../getting-started/migrate-from-1.x.md | 26 +- versioned_docs/version-2.10/intro.md | 6 +- .../version-2.10/user-guide/attachments.md | 4 +- .../version-2.10/user-guide/common.md | 4 +- versioned_docs/version-2.10/user-guide/faq.md | 70 +- .../version-2.10/user-guide/plugins.md | 4 +- .../version-2.10/user-guide/posts.md | 4 +- .../version-2.10/user-guide/themes.md | 4 +- .../version-2.10/user-guide/users.md | 2 +- .../version-2.11/contribution/issue.md | 4 +- .../version-2.11/contribution/sponsor.md | 8 +- .../version-2.11/developer-guide/core/run.md | 6 +- .../developer-guide/form-schema.md | 4 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/plugin/manifest.md | 2 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 10 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 20 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../getting-started/install/docker-compose.md | 396 +- .../getting-started/install/docker.md | 60 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../getting-started/migrate-from-1.x.md | 26 +- versioned_docs/version-2.11/intro.md | 6 +- .../version-2.11/user-guide/attachments.md | 4 +- .../version-2.11/user-guide/common.md | 4 +- versioned_docs/version-2.11/user-guide/faq.md | 26 +- .../version-2.11/user-guide/plugins.md | 4 +- .../version-2.11/user-guide/posts.md | 4 +- .../version-2.11/user-guide/themes.md | 4 +- .../version-2.11/user-guide/users.md | 2 +- .../version-2.12/contribution/issue.md | 4 +- .../version-2.12/contribution/sponsor.md | 8 +- .../version-2.12/developer-guide/core/run.md | 6 +- .../developer-guide/form-schema.md | 4 +- .../ui/components/annotations-form.md | 2 +- .../ui/components/filter-dropdown.md | 2 +- .../api-reference/ui/components/index.md | 2 +- .../ui/components/uppy-upload.md | 2 +- .../attachment-list-item-operation-create.md | 2 +- .../attachment-selector-create.md | 2 +- .../comment-subject-ref-create.md | 2 +- .../default-editor-extension-create.md | 20 +- .../ui/extension-points/editor-create.md | 8 +- .../interface/OperationItem.md | 2 +- .../plugin-installation-tabs-create.md | 4 +- .../plugin-list-item-field-create.md | 4 +- .../plugin-list-item-operation-create.md | 2 +- .../plugin-self-tabs-create.md | 4 +- .../post-list-item-field-create.md | 2 +- .../theme-list-item-operation-create.md | 2 +- .../theme-list-tabs-create.md | 4 +- .../developer-guide/plugin/basics/manifest.md | 2 +- .../plugin/basics/structure.md | 2 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 10 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 20 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../getting-started/install/docker-compose.md | 396 +- .../getting-started/install/docker.md | 60 +- .../getting-started/install/jar-file.md | 6 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../getting-started/migrate-from-1.x.md | 26 +- versioned_docs/version-2.12/intro.md | 6 +- .../version-2.12/user-guide/attachments.md | 4 +- .../version-2.12/user-guide/common.md | 4 +- versioned_docs/version-2.12/user-guide/faq.md | 26 +- .../version-2.12/user-guide/plugins.md | 4 +- .../version-2.12/user-guide/posts.md | 4 +- .../version-2.12/user-guide/themes.md | 4 +- .../version-2.12/user-guide/users.md | 2 +- .../version-2.13/contribution/issue.md | 4 +- .../version-2.13/contribution/sponsor.md | 8 +- .../version-2.13/developer-guide/core/run.md | 6 +- .../developer-guide/form-schema.md | 4 +- .../ui/components/annotations-form.md | 2 +- .../ui/components/filter-dropdown.md | 2 +- .../api-reference/ui/components/index.md | 2 +- .../ui/components/uppy-upload.md | 2 +- .../attachment-list-item-operation-create.md | 2 +- .../attachment-selector-create.md | 2 +- .../comment-subject-ref-create.md | 2 +- .../default-editor-extension-create.md | 20 +- .../ui/extension-points/editor-create.md | 8 +- .../interface/OperationItem.md | 2 +- .../plugin-installation-tabs-create.md | 4 +- .../plugin-list-item-field-create.md | 4 +- .../plugin-list-item-operation-create.md | 2 +- .../plugin-self-tabs-create.md | 4 +- .../post-list-item-field-create.md | 2 +- .../theme-list-item-operation-create.md | 2 +- .../theme-list-tabs-create.md | 4 +- .../developer-guide/plugin/basics/manifest.md | 2 +- .../plugin/basics/structure.md | 2 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 10 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 20 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../getting-started/install/docker-compose.md | 392 +- .../getting-started/install/docker.md | 60 +- .../getting-started/install/jar-file.md | 6 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../getting-started/migrate-from-1.x.md | 26 +- versioned_docs/version-2.13/intro.md | 6 +- .../version-2.13/user-guide/attachments.md | 4 +- .../version-2.13/user-guide/common.md | 4 +- versioned_docs/version-2.13/user-guide/faq.md | 26 +- .../version-2.13/user-guide/plugins.md | 4 +- .../version-2.13/user-guide/posts.md | 4 +- .../version-2.13/user-guide/themes.md | 4 +- .../version-2.13/user-guide/users.md | 2 +- .../version-2.14/contribution/issue.md | 4 +- .../version-2.14/contribution/sponsor.md | 8 +- .../version-2.14/developer-guide/core/run.md | 6 +- .../developer-guide/form-schema.md | 4 +- .../ui/components/annotations-form.md | 2 +- .../ui/components/filter-dropdown.md | 2 +- .../api-reference/ui/components/index.md | 2 +- .../ui/components/uppy-upload.md | 2 +- .../attachment-list-item-operation-create.md | 2 +- .../attachment-selector-create.md | 2 +- .../comment-subject-ref-create.md | 2 +- .../default-editor-extension-create.md | 20 +- .../ui/extension-points/editor-create.md | 8 +- .../interface/OperationItem.md | 2 +- .../plugin-installation-tabs-create.md | 4 +- .../plugin-list-item-field-create.md | 4 +- .../plugin-list-item-operation-create.md | 2 +- .../plugin-self-tabs-create.md | 4 +- .../post-list-item-field-create.md | 2 +- .../theme-list-item-operation-create.md | 2 +- .../theme-list-tabs-create.md | 4 +- .../developer-guide/plugin/basics/manifest.md | 2 +- .../plugin/basics/structure.md | 2 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 10 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 20 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../getting-started/install/docker-compose.md | 392 +- .../getting-started/install/docker.md | 54 +- .../getting-started/install/jar-file.md | 6 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../install/slots/_docker-args.md | 4 +- .../getting-started/migrate-from-1.x.md | 26 +- .../version-2.14/getting-started/prepare.md | 2 +- versioned_docs/version-2.14/intro.md | 6 +- .../version-2.14/user-guide/attachments.md | 4 +- .../version-2.14/user-guide/common.md | 4 +- versioned_docs/version-2.14/user-guide/faq.md | 26 +- .../version-2.14/user-guide/plugins.md | 4 +- .../version-2.14/user-guide/posts.md | 4 +- .../version-2.14/user-guide/themes.md | 4 +- .../version-2.14/user-guide/users.md | 2 +- .../version-2.15/contribution/issue.md | 4 +- .../version-2.15/contribution/sponsor.md | 8 +- .../version-2.15/developer-guide/core/run.md | 6 +- .../developer-guide/form-schema.md | 4 +- .../ui/components/annotations-form.md | 2 +- .../ui/components/filter-dropdown.md | 2 +- .../api-reference/ui/components/index.md | 2 +- .../ui/components/uppy-upload.md | 2 +- .../attachment-list-item-operation-create.md | 2 +- .../attachment-selector-create.md | 2 +- .../comment-subject-ref-create.md | 2 +- .../default-editor-extension-create.md | 20 +- .../ui/extension-points/editor-create.md | 8 +- .../interface/OperationItem.md | 2 +- .../plugin-installation-tabs-create.md | 4 +- .../plugin-list-item-field-create.md | 4 +- .../plugin-list-item-operation-create.md | 2 +- .../plugin-self-tabs-create.md | 4 +- .../post-list-item-field-create.md | 2 +- .../theme-list-item-operation-create.md | 2 +- .../theme-list-tabs-create.md | 4 +- .../developer-guide/plugin/basics/manifest.md | 2 +- .../plugin/basics/structure.md | 2 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 10 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 20 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../install/cloud/tencent-cloud-lighthouse.md | 2 +- .../getting-started/install/docker-compose.md | 392 +- .../getting-started/install/docker.md | 60 +- .../getting-started/install/jar-file.md | 6 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../install/slots/_docker-args.md | 4 +- .../getting-started/migrate-from-1.x.md | 26 +- .../version-2.15/getting-started/prepare.md | 2 +- versioned_docs/version-2.15/intro.md | 6 +- .../version-2.15/user-guide/app-store.md | 6 +- .../version-2.15/user-guide/attachments.md | 4 +- .../version-2.15/user-guide/common.md | 4 +- versioned_docs/version-2.15/user-guide/faq.md | 26 +- .../version-2.15/user-guide/plugins.md | 4 +- .../version-2.15/user-guide/posts.md | 4 +- .../version-2.15/user-guide/themes.md | 4 +- .../version-2.15/user-guide/users.md | 2 +- .../version-2.16/contribution/issue.md | 4 +- .../version-2.16/contribution/sponsor.md | 8 +- .../version-2.16/developer-guide/core/run.md | 6 +- .../developer-guide/form-schema.md | 4 +- .../ui/components/annotations-form.md | 2 +- .../ui/components/filter-dropdown.md | 2 +- .../api-reference/ui/components/index.md | 2 +- .../ui/components/uppy-upload.md | 2 +- .../attachment-list-item-operation-create.md | 2 +- .../attachment-selector-create.md | 2 +- .../comment-subject-ref-create.md | 2 +- .../default-editor-extension-create.md | 20 +- .../ui/extension-points/editor-create.md | 8 +- .../interface/OperationItem.md | 2 +- .../plugin-installation-tabs-create.md | 4 +- .../plugin-list-item-field-create.md | 4 +- .../plugin-list-item-operation-create.md | 2 +- .../plugin-self-tabs-create.md | 4 +- .../post-list-item-field-create.md | 2 +- .../theme-list-item-operation-create.md | 2 +- .../theme-list-tabs-create.md | 4 +- .../developer-guide/plugin/basics/manifest.md | 2 +- .../plugin/basics/structure.md | 2 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 10 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 20 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../install/cloud/tencent-cloud-lighthouse.md | 2 +- .../getting-started/install/docker-compose.md | 392 +- .../getting-started/install/docker.md | 60 +- .../getting-started/install/jar-file.md | 6 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../install/slots/_docker-args.md | 4 +- .../getting-started/migrate-from-1.x.md | 26 +- .../version-2.16/getting-started/prepare.md | 2 +- versioned_docs/version-2.16/intro.md | 6 +- .../version-2.16/user-guide/app-store.md | 6 +- .../version-2.16/user-guide/attachments.md | 4 +- .../version-2.16/user-guide/common.md | 4 +- versioned_docs/version-2.16/user-guide/faq.md | 26 +- .../version-2.16/user-guide/plugins.md | 4 +- .../version-2.16/user-guide/posts.md | 4 +- .../version-2.16/user-guide/themes.md | 4 +- .../version-2.16/user-guide/users.md | 2 +- .../version-2.17/contribution/issue.md | 4 +- .../version-2.17/contribution/sponsor.md | 8 +- .../version-2.17/developer-guide/core/run.md | 6 +- .../developer-guide/form-schema.md | 4 +- .../ui/components/annotations-form.md | 2 +- .../ui/components/filter-dropdown.md | 2 +- .../api-reference/ui/components/index.md | 2 +- .../ui/components/uppy-upload.md | 2 +- .../attachment-list-item-operation-create.md | 2 +- .../attachment-selector-create.md | 2 +- .../comment-subject-ref-create.md | 2 +- .../default-editor-extension-create.md | 20 +- .../ui/extension-points/editor-create.md | 8 +- .../interface/OperationItem.md | 2 +- .../plugin-installation-tabs-create.md | 4 +- .../plugin-list-item-field-create.md | 4 +- .../plugin-list-item-operation-create.md | 2 +- .../plugin-self-tabs-create.md | 4 +- .../post-list-item-field-create.md | 2 +- .../theme-list-item-operation-create.md | 2 +- .../theme-list-tabs-create.md | 4 +- .../developer-guide/plugin/basics/manifest.md | 2 +- .../plugin/basics/structure.md | 2 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 12 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 20 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../install/cloud/tencent-cloud-lighthouse.md | 2 +- .../getting-started/install/docker-compose.md | 392 +- .../getting-started/install/docker.md | 60 +- .../getting-started/install/jar-file.md | 6 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../getting-started/migrate-from-1.x.md | 26 +- .../version-2.17/getting-started/prepare.md | 2 +- versioned_docs/version-2.17/intro.md | 6 +- .../version-2.17/user-guide/app-store.md | 6 +- .../version-2.17/user-guide/attachments.md | 4 +- .../version-2.17/user-guide/common.md | 4 +- versioned_docs/version-2.17/user-guide/faq.md | 26 +- .../version-2.17/user-guide/plugins.md | 4 +- .../version-2.17/user-guide/posts.md | 4 +- .../version-2.17/user-guide/themes.md | 4 +- .../version-2.17/user-guide/users.md | 2 +- .../version-2.18/contribution/issue.md | 4 +- .../version-2.18/contribution/sponsor.md | 8 +- .../version-2.18/developer-guide/core/run.md | 6 +- .../developer-guide/form-schema.md | 4 +- .../ui/components/annotations-form.md | 2 +- .../ui/components/filter-dropdown.md | 2 +- .../api-reference/ui/components/index.md | 2 +- .../ui/components/uppy-upload.md | 2 +- .../attachment-list-item-operation-create.md | 2 +- .../attachment-selector-create.md | 2 +- .../comment-subject-ref-create.md | 2 +- .../default-editor-extension-create.md | 20 +- .../ui/extension-points/editor-create.md | 8 +- .../interface/OperationItem.md | 2 +- .../plugin-installation-tabs-create.md | 4 +- .../plugin-list-item-field-create.md | 4 +- .../plugin-list-item-operation-create.md | 2 +- .../plugin-self-tabs-create.md | 4 +- .../post-list-item-field-create.md | 2 +- .../theme-list-item-operation-create.md | 2 +- .../theme-list-tabs-create.md | 4 +- .../developer-guide/plugin/basics/manifest.md | 2 +- .../plugin/basics/structure.md | 2 +- .../plugin/examples/todolist.md | 30 +- .../developer-guide/plugin/hello-world.md | 4 +- .../developer-guide/theme/config.md | 2 +- .../theme/finder-apis/category.md | 12 +- .../theme/finder-apis/comment.md | 8 +- .../theme/finder-apis/contributor.md | 2 +- .../developer-guide/theme/finder-apis/post.md | 22 +- .../theme/finder-apis/single-page.md | 4 +- .../developer-guide/theme/finder-apis/tag.md | 8 +- .../developer-guide/theme/settings.md | 2 +- .../theme/template-variables/archives.md | 6 +- .../theme/template-variables/author.md | 6 +- .../theme/template-variables/categories.md | 2 +- .../theme/template-variables/category.md | 6 +- .../theme/template-variables/index_.md | 6 +- .../theme/template-variables/tag.md | 6 +- .../theme/template-variables/tags.md | 2 +- .../install/cloud/tencent-cloud-lighthouse.md | 2 +- .../getting-started/install/docker-compose.md | 392 +- .../getting-started/install/docker.md | 60 +- .../getting-started/install/jar-file.md | 6 +- .../install/other/nginxproxymanager.md | 2 +- .../getting-started/install/other/traefik.md | 2 +- .../getting-started/install/podman.md | 204 +- .../getting-started/migrate-from-1.x.md | 26 +- .../version-2.18/getting-started/prepare.md | 2 +- versioned_docs/version-2.18/intro.md | 6 +- .../version-2.18/user-guide/app-store.md | 6 +- .../version-2.18/user-guide/attachments.md | 4 +- .../version-2.18/user-guide/common.md | 4 +- versioned_docs/version-2.18/user-guide/faq.md | 26 +- .../version-2.18/user-guide/plugins.md | 4 +- .../version-2.18/user-guide/posts.md | 4 +- .../version-2.18/user-guide/themes.md | 4 +- .../version-2.18/user-guide/users.md | 2 +- 537 files changed, 9452 insertions(+), 8081 deletions(-) create mode 100644 index.js diff --git a/docs/contribution/issue.md b/docs/contribution/issue.md index 6ab45dd..f118485 100644 --- a/docs/contribution/issue.md +++ b/docs/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/docs/contribution/sponsor.md b/docs/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/docs/contribution/sponsor.md +++ b/docs/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/docs/developer-guide/core/run.md b/docs/developer-guide/core/run.md index 6413cb7..21b000e 100644 --- a/docs/developer-guide/core/run.md +++ b/docs/developer-guide/core/run.md @@ -117,6 +117,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/docs/developer-guide/form-schema.md b/docs/developer-guide/form-schema.md index f0b48b7..af2011d 100644 --- a/docs/developer-guide/form-schema.md +++ b/docs/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/docs/developer-guide/plugin/api-reference/ui/components/annotations-form.md b/docs/developer-guide/plugin/api-reference/ui/components/annotations-form.md index 86e31e1..98f4e34 100644 --- a/docs/developer-guide/plugin/api-reference/ui/components/annotations-form.md +++ b/docs/developer-guide/plugin/api-reference/ui/components/annotations-form.md @@ -52,4 +52,4 @@ function handleSubmit () { |---------|------------------------------------|---------|-----------------------------------------| | `group` | string | 无,必填 | 定义组件所属的分组。 | | `kind` | string | 无,必填 | 定义组件的种类。 | -| `value` | { [key: string]: string; } \| null | null | 可选,包含键值对的对象或空值,用于存储数据。 | +| `value` | \{ [key: string]: string; \} \| null \| null | 可选,包含键值对的对象或空值,用于存储数据。 | diff --git a/docs/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md b/docs/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md index 945485f..d487938 100644 --- a/docs/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md +++ b/docs/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md @@ -37,7 +37,7 @@ const items = [ | 属性名 | 类型 | 默认值 | 描述 | |--------------|-----------------------------------------------------------|-----------|--------------------------------------------------| -| `items` | { label: string; value?: string \| boolean \| number; }[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | +| `items` | \{ label: string; value?: string \| boolean \| number; \}[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | | `label` | string | 无,必填 | 组件的标签文本。 | | `modelValue` | string \| boolean \| number | undefined | 可选,用于绑定到组件的值,可以是字符串、布尔值或数字。 | diff --git a/docs/developer-guide/plugin/api-reference/ui/components/index.md b/docs/developer-guide/plugin/api-reference/ui/components/index.md index e6dc594..a6932c1 100644 --- a/docs/developer-guide/plugin/api-reference/ui/components/index.md +++ b/docs/developer-guide/plugin/api-reference/ui/components/index.md @@ -27,7 +27,7 @@ import { VButton } from "@halo-dev/components"; ``` -所有可用的基础组件以及文档可查阅: +所有可用的基础组件以及文档可查阅:[https://halo-ui-components.pages.dev](https://halo-ui-components.pages.dev) ## 业务组件和指令 diff --git a/docs/developer-guide/plugin/api-reference/ui/components/uppy-upload.md b/docs/developer-guide/plugin/api-reference/ui/components/uppy-upload.md index 93c7d66..c58dd8b 100644 --- a/docs/developer-guide/plugin/api-reference/ui/components/uppy-upload.md +++ b/docs/developer-guide/plugin/api-reference/ui/components/uppy-upload.md @@ -27,7 +27,7 @@ const groupName = ref('my-test-group') | 属性名 | 类型 | 默认值 | 描述 | |---------------------|----------------------------------------------------------------|-----------|------------------------------| | `restrictions` | Restrictions | undefined | 可选,指定任何限制。 | -| `meta` | Record | undefined | 可选,要发送的额外元数据。 | +| `meta` | Record\ | undefined | 可选,要发送的额外元数据。 | | `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 | | `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 | | `endpoint` | string | 无,必填 | 数据发送到的端点URL。 | diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md index d329e3d..dc75dd3 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md @@ -85,7 +85,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-s3](https://github.com/halo-dev/plugin-s3) ## 类型定义 diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md index 2f93505..0fa122f 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md @@ -143,4 +143,4 @@ const handleSelect = async (url: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-unsplash](https://github.com/halo-sigs/plugin-unsplash) diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md index b209878..392ec61 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md @@ -111,4 +111,4 @@ const stripHtmlTags = (str: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-moments](https://github.com/halo-sigs/plugin-moments) diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md index bbace23..733dc1f 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md @@ -18,7 +18,7 @@ export default definePlugin({ ``` :::info 提示 -AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 +AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:[https://tiptap.dev/docs/editor/api/extensions](https://tiptap.dev/docs/editor/api/extensions)。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 ::: ### Halo 独有扩展 @@ -60,7 +60,7 @@ export interface ExtensionOptions { ![顶部工具栏扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbar.png) -在 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: ```ts { @@ -130,7 +130,7 @@ addOptions() { ![工具箱扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbox.png) -在 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/27](https://github.com/halo-sigs/richtext-editor/pull/27) 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: ```ts { @@ -201,7 +201,7 @@ Slash Command (斜杠命令)的扩展,可用于在当前行快捷执行功 ![Slash Command 扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-slash-command.png) -在 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: ```ts { @@ -263,7 +263,7 @@ addOptions() { ![悬浮菜单扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-bubble-menu.png) -在 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/38](https://github.com/halo-sigs/richtext-editor/pull/38) 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: ```ts { @@ -296,7 +296,7 @@ interface BubbleMenuProps { from?: number; to?: number; }) => boolean; - tippyOptions?: Record; // 可自由定制悬浮菜单所用的 tippy 组件的选项 + tippyOptions?: Record\; // 可自由定制悬浮菜单所用的 tippy 组件的选项 getRenderContainer?: (node: HTMLElement) => HTMLElement; // 悬浮菜单所基准的 DOM defaultAnimation?: boolean; // 是否启用默认动画。默认为 true } @@ -373,7 +373,7 @@ addOptions() { ![拖拽功能扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-drag.png) -在 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: +在 [https://github.com/halo-sigs/richtext-editor/pull/48](https://github.com/halo-sigs/richtext-editor/pull/48) 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: ```ts { @@ -474,6 +474,6 @@ addOptions() { ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-hybrid-edit-block](https://github.com/halo-sigs/plugin-hybrid-edit-block) +- [https://github.com/halo-sigs/plugin-katex](https://github.com/halo-sigs/plugin-katex) +- [https://github.com/halo-sigs/plugin-text-diagram](https://github.com/halo-sigs/plugin-text-diagram) diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md index 5db1faa..05e8461 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md @@ -179,10 +179,10 @@ code { ``` -> 来源: +> 来源:[https://vuejs.org/examples/#markdown](https://vuejs.org/examples/#markdown) ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-stackedit](https://github.com/halo-sigs/plugin-stackedit) +- [https://github.com/halo-sigs/plugin-bytemd](https://github.com/halo-sigs/plugin-bytemd) +- [https://github.com/justice2001/halo-plugin-vditor](https://github.com/justice2001/halo-plugin-vditor) diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md index 31f6cf9..799ba59 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md @@ -2,7 +2,7 @@ export interface OperationItem { priority: number; // 排序优先级 component: Raw; // 菜单项组件 - props?: Record; // 菜单项组件属性 + props?: Record\; // 菜单项组件属性 action?: (item?: T) => void; // 菜单项点击事件 label?: string; // 菜单项标题 hidden?: boolean; // 菜单项是否隐藏 diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md index 3830b9e..d9c0289 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md @@ -33,7 +33,7 @@ export interface PluginInstallationTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface PluginInstallationTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md index 0d67e99..69882c1 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } @@ -71,7 +71,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md index 796dac2..e029783 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md @@ -42,7 +42,7 @@ import OperationItem from "./interface/OperationItem.md"; ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md index 102f2a3..8d8f54c 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md @@ -37,7 +37,7 @@ export interface PluginTab { 其中,`component` 组件可以注入(inject)以下属性: -- `plugin`:当前插件对象,类型为 Ref<[Plugin](#plugin)>。 +- `plugin`:当前插件对象,类型为 Ref\<[Plugin](#plugin)\>。 ## 示例 @@ -77,7 +77,7 @@ const plugin = inject>("plugin"); ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md index 3680af0..3398160 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md index 91ffb08..e87aab4 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md @@ -78,7 +78,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/docs/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md b/docs/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md index 400de61..0c50ab6 100644 --- a/docs/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md +++ b/docs/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md @@ -33,7 +33,7 @@ export interface ThemeListTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface ThemeListTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/docs/developer-guide/plugin/basics/manifest.md b/docs/developer-guide/plugin/basics/manifest.md index be88fe1..aaabe9a 100644 --- a/docs/developer-guide/plugin/basics/manifest.md +++ b/docs/developer-guide/plugin/basics/manifest.md @@ -56,7 +56,7 @@ spec: - `spec.issues`:插件问题反馈地址,如果你的插件是开源在 GitHub 上,可以直接配置为 GitHub Issues 地址。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段简短的说明来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 Halo 的插件可以在两种模式下运行:`development` 和 `deployment`。 `deployment`(默认)模式是插件创建的标准工作流程:为每个插件创建一个新的 Gradle 项目,编码插件(声明新的扩展点和/或添加新的扩展),将插件打包成一个 JAR 文件,部署 JAR 文件到 Halo。 diff --git a/docs/developer-guide/plugin/basics/structure.md b/docs/developer-guide/plugin/basics/structure.md index ee91176..5e33742 100644 --- a/docs/developer-guide/plugin/basics/structure.md +++ b/docs/developer-guide/plugin/basics/structure.md @@ -53,7 +53,7 @@ description: 了解插件项目的文件结构 - `resources` 下的 `plugin.yaml` 为插件的资源描述文件,它是必须的,它描述了插件的基本信息,包括插件的名称、版本、作者、描述、依赖等。 - `resources/console` 下的两个文件 `main.js` 和 `style.css` 是前端插件部分打包时输出的产物。一个插件可以没有前端部分,因此 `resources/console` 同样可以不存在。 -:::caution 注意 +:::warning 注意 从 2.11 开始,Halo 支持了 UC 个人中心,且个人中心和 Console 的插件机制共享,所以为了避免歧义,`resources/console` 在后续版本会被重命名为 `resources/ui`,但同时也会兼容 `resources/console`。 ::: diff --git a/docs/developer-guide/plugin/examples/todolist.md b/docs/developer-guide/plugin/examples/todolist.md index be702c5..914e902 100644 --- a/docs/developer-guide/plugin/examples/todolist.md +++ b/docs/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -43,7 +43,7 @@ description: 这个例子展示了如何开发 Todo List 插件 license: - name: "GPL-3.0" url: "https://github.com/halo-dev/plugin-starter/blob/main/LICENSE" - ``` + ``` 参考链接: @@ -85,9 +85,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/docs/developer-guide/plugin/hello-world.md b/docs/developer-guide/plugin/hello-world.md index c0a9ab6..9307554 100644 --- a/docs/developer-guide/plugin/hello-world.md +++ b/docs/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上。 diff --git a/docs/developer-guide/theme/config.md b/docs/developer-guide/theme/config.md index 5b3d7ff..9ecf62a 100644 --- a/docs/developer-guide/theme/config.md +++ b/docs/developer-guide/theme/config.md @@ -79,7 +79,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/docs/developer-guide/theme/finder-apis/category.md b/docs/developer-guide/theme/finder-apis/category.md index 4a636f5..8b83cdb 100644 --- a/docs/developer-guide/theme/finder-apis/category.md +++ b/docs/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -172,7 +172,7 @@ categoryFinder.getBreadcrumbs('category-foo') ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -191,7 +191,7 @@ List<[#CategoryVo](#categoryvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/docs/developer-guide/theme/finder-apis/comment.md b/docs/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/docs/developer-guide/theme/finder-apis/comment.md +++ b/docs/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/docs/developer-guide/theme/finder-apis/contributor.md b/docs/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/docs/developer-guide/theme/finder-apis/contributor.md +++ b/docs/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/docs/developer-guide/theme/finder-apis/post.md b/docs/developer-guide/theme/finder-apis/post.md index 0fa1734..1f63c24 100644 --- a/docs/developer-guide/theme/finder-apis/post.md +++ b/docs/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -234,7 +234,7 @@ postFinder.listByOwner(page, size, owner); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -263,7 +263,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -301,7 +301,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -340,7 +340,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -401,13 +401,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -441,7 +441,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/docs/developer-guide/theme/finder-apis/single-page.md b/docs/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/docs/developer-guide/theme/finder-apis/single-page.md +++ b/docs/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/docs/developer-guide/theme/finder-apis/tag.md b/docs/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/docs/developer-guide/theme/finder-apis/tag.md +++ b/docs/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/docs/developer-guide/theme/settings.md b/docs/developer-guide/theme/settings.md index 7732316..3e2639d 100644 --- a/docs/developer-guide/theme/settings.md +++ b/docs/developer-guide/theme/settings.md @@ -123,7 +123,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/docs/developer-guide/theme/template-variables/archives.md b/docs/developer-guide/theme/template-variables/archives.md index d929ba6..82436fb 100644 --- a/docs/developer-guide/theme/template-variables/archives.md +++ b/docs/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/docs/developer-guide/theme/template-variables/author.md b/docs/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/docs/developer-guide/theme/template-variables/author.md +++ b/docs/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/docs/developer-guide/theme/template-variables/categories.md b/docs/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/docs/developer-guide/theme/template-variables/categories.md +++ b/docs/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/docs/developer-guide/theme/template-variables/category.md b/docs/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/docs/developer-guide/theme/template-variables/category.md +++ b/docs/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/docs/developer-guide/theme/template-variables/index_.md b/docs/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/docs/developer-guide/theme/template-variables/index_.md +++ b/docs/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/docs/developer-guide/theme/template-variables/tag.md b/docs/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/docs/developer-guide/theme/template-variables/tag.md +++ b/docs/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/docs/developer-guide/theme/template-variables/tags.md b/docs/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/docs/developer-guide/theme/template-variables/tags.md +++ b/docs/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/docs/getting-started/install/cloud/tencent-cloud-lighthouse.md b/docs/getting-started/install/cloud/tencent-cloud-lighthouse.md index 482c4cf..af0db0a 100644 --- a/docs/getting-started/install/cloud/tencent-cloud-lighthouse.md +++ b/docs/getting-started/install/cloud/tencent-cloud-lighthouse.md @@ -64,7 +64,7 @@ description: 使用腾讯云轻量应用服务器的应用模板部署 Halo ![添加域名](/img/install/tencent-cloud-lighthouse/domain.png) -除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 +除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:[https://demo.halo.run](https://demo.halo.run)),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 ![修改外部访问地址](/img/install/tencent-cloud-lighthouse/external-url.png) diff --git a/docs/getting-started/install/docker-compose.md b/docs/getting-started/install/docker-compose.md index 35527eb..fbf3d03 100644 --- a/docs/getting-started/install/docker-compose.md +++ b/docs/getting-started/install/docker-compose.md @@ -12,8 +12,8 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -25,234 +25,234 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {23-29,43} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.18 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 - ::: + ```yaml {23-29,43} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.18 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 + ::: 2. 创建 Halo + MySQL 的实例: - ```yaml {23-29,51} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.18 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 - ::: + ```yaml {23-29,51} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.18 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 + ::: 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.18 - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.18 + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {7,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.18 - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {7,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.18 + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: registry.fit2cloud.com/halo/halo:2.18 - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/docs/getting-started/install/docker.md b/docs/getting-started/install/docker.md index 5289d0d..f17c75b 100644 --- a/docs/getting-started/install/docker.md +++ b/docs/getting-started/install/docker.md @@ -10,7 +10,7 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -18,7 +18,7 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -30,50 +30,50 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + docker pull registry.fit2cloud.com/halo/halo:2.18 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 + ``` diff --git a/docs/getting-started/install/jar-file.md b/docs/getting-started/install/jar-file.md index dc9981a..5aea244 100644 --- a/docs/getting-started/install/jar-file.md +++ b/docs/getting-started/install/jar-file.md @@ -58,8 +58,8 @@ title: 使用 JAR 文件部署 :::info 以下是官方维护的下载地址: - 1. - 2. + 1. [https://download.halo.run](https://download.halo.run) + 2. [https://github.com/halo-dev/halo/releases](https://github.com/halo-dev/halo/releases) ::: 4. 创建 [工作目录](../prepare#工作目录) @@ -132,7 +132,7 @@ title: 使用 JAR 文件部署 - DATABASE:数据库名称,如 `halo`,需要提前创建 ::: - :::caution + :::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 ::: diff --git a/docs/getting-started/install/other/nginxproxymanager.md b/docs/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/docs/getting-started/install/other/nginxproxymanager.md +++ b/docs/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/docs/getting-started/install/other/traefik.md b/docs/getting-started/install/other/traefik.md index 0bd9c01..f45b0b5 100644 --- a/docs/getting-started/install/other/traefik.md +++ b/docs/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/docs/getting-started/install/podman.md b/docs/getting-started/install/podman.md index d174353..f149828 100644 --- a/docs/getting-started/install/podman.md +++ b/docs/getting-started/install/podman.md @@ -37,7 +37,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -55,50 +55,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + podman pull registry.fit2cloud.com/halo/halo:2.18 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 @@ -113,50 +113,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.18 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.18 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -191,34 +191,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.18 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.18 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/docs/getting-started/migrate-from-1.x.md b/docs/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/docs/getting-started/migrate-from-1.x.md +++ b/docs/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/docs/getting-started/prepare.md b/docs/getting-started/prepare.md index 6fd4bd7..69b1d78 100644 --- a/docs/getting-started/prepare.md +++ b/docs/getting-started/prepare.md @@ -63,7 +63,7 @@ Halo 目前支持以下数据库: 其中,H2 不需要单独运行,其他数据库需要单独安装并配置。一般情况下,推荐按照 [使用 Docker Compose 部署](./install/docker-compose.md) 文档将 Halo 和数据库容器编排在一起。 -:::caution +:::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../user-guide/backup.md)。 ::: diff --git a/docs/intro.md b/docs/intro.md index 6eb5630..8c9c7dc 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -37,12 +37,12 @@ slug: / docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.18 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/docs/user-guide/app-store.md b/docs/user-guide/app-store.md index ef47054..851bce4 100644 --- a/docs/user-guide/app-store.md +++ b/docs/user-guide/app-store.md @@ -5,7 +5,7 @@ description: 内置应用市场的使用说明 为了方便使用者安装应用市场的主题和插件,我们提供了一个内置到 Console 的应用市场插件,可以更加方便在 Console 直接安装主题和插件。并且此插件从 Halo 2.10 开始已经预设到 Halo 中,无需手动安装。 -如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 手动下载并在 Console 的插件管理中安装。 +如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 [https://www.halo.run/store/apps/app-VYJbF](https://www.halo.run/store/apps/app-VYJbF) 手动下载并在 Console 的插件管理中安装。 :::info 提示 这是目前唯一由 Halo 官方提供的服务,如果你当前的 Halo 网站处于无法访问外网的环境或者不需要此功能,你可以卸载或者停用此插件,不会影响网站的正常使用。 @@ -13,7 +13,7 @@ description: 内置应用市场的使用说明 ## 应用市场页面 -这是一个为 Console 提供的独立的应用市场页面,此页面基本和 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 +这是一个为 Console 提供的独立的应用市场页面,此页面基本和 [https://www.halo.run/store/apps](https://www.halo.run/store/apps) 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 ![应用市场](/img/user-guide/app-store/app-store-page.png) @@ -51,7 +51,7 @@ description: 内置应用市场的使用说明 目前部分付费主题和插件需要许可证激活才能够正常使用,在购买付费应用之后就会自动为你的 Halo 官网账号中生成对应的应用许可证,**所以在此之前需要确保已经在你的网站中绑定好了 Halo 官网账号**。 :::info 注意 -当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 。 +当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 [https://www.halo.run](https://www.halo.run)。 ::: 在安装好需要许可证的付费插件或主题后,列表会显示一个许可证状态的图标,点击即可打开许可证激活的对话框,选择许可证并点击激活即可。 diff --git a/docs/user-guide/attachments.md b/docs/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/docs/user-guide/attachments.md +++ b/docs/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/docs/user-guide/common.md b/docs/user-guide/common.md index 66687d5..7e2038b 100644 --- a/docs/user-guide/common.md +++ b/docs/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/docs/user-guide/faq.md b/docs/user-guide/faq.md index 706dc7c..f67e8a9 100644 --- a/docs/user-guide/faq.md +++ b/docs/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/docs/user-guide/plugins.md b/docs/user-guide/plugins.md index f0f7c4f..401d104 100644 --- a/docs/user-guide/plugins.md +++ b/docs/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/docs/user-guide/posts.md b/docs/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/docs/user-guide/posts.md +++ b/docs/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/docs/user-guide/themes.md b/docs/user-guide/themes.md index ce8a61f..3350575 100644 --- a/docs/user-guide/themes.md +++ b/docs/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/docs/user-guide/users.md b/docs/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/docs/user-guide/users.md +++ b/docs/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/docusaurus.config.js b/docusaurus.config.js index a824198..b06a86f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,5 +1,6 @@ -const darkCodeTheme = require("prism-react-renderer/themes/palenight"); const VersionsArchived = require("./versionsArchived.json"); +const { themes } = require("prism-react-renderer"); +const darkCodeTheme = themes.palenight; /** @type {import('@docusaurus/types').Config} */ const config = { diff --git a/i18n/zh-Hans/code.json b/i18n/zh-Hans/code.json index b5db01e..9b2c656 100644 --- a/i18n/zh-Hans/code.json +++ b/i18n/zh-Hans/code.json @@ -39,7 +39,7 @@ }, "theme.admonition.caution": { "message": "警告", - "description": "The default label used for the Caution admonition (:::caution)" + "description": "The default label used for the Caution admonition (:::warning)" }, "theme.blog.paginator.navAriaLabel": { "message": "博文列表分页导航", diff --git a/index.js b/index.js new file mode 100644 index 0000000..770c8d0 --- /dev/null +++ b/index.js @@ -0,0 +1,57 @@ +const fs = require('fs'); +const path = require('path'); + +// 指定要扫描的目录 +const directoryPath = './docs'; + +// 递归读取目录中的所有 Markdown 文件 +function readDirectory(directory) { + fs.readdir(directory, (err, files) => { + if (err) { + return console.log('无法扫描目录: ' + err); + } + + files.forEach(file => { + const filePath = path.join(directory, file); + fs.stat(filePath, (err, stats) => { + if (err) { + return console.log('无法获取文件信息: ' + err); + } + + if (stats.isDirectory()) { + // 如果是目录,递归读取 + readDirectory(filePath); + } else if (path.extname(file) === '.md') { + // 如果是 Markdown 文件,处理文件内容 + processMarkdownFile(filePath); + } + }); + }); + }); +} + +// 处理 Markdown 文件内容 +function processMarkdownFile(filePath) { + fs.readFile(filePath, 'utf8', (err, data) => { + if (err) { + return console.log('无法读取文件: ' + err); + } + + // 使用正则表达式匹配 形式的链接 + const updatedData = data.replace(//g, match => { + const url = match.slice(1, -1); // 去掉尖括号 + return `[${url}](${url})`; + }); + + // 将更新后的内容写回文件 + fs.writeFile(filePath, updatedData, 'utf8', err => { + if (err) { + return console.log('无法写入文件: ' + err); + } + console.log(`已处理文件: ${filePath}`); + }); + }); +} + +// 开始扫描目录 +readDirectory(directoryPath); diff --git a/package.json b/package.json index 798e171..1d3c3b0 100644 --- a/package.json +++ b/package.json @@ -3,35 +3,17 @@ "version": "0.0.0", "private": true, "scripts": { - "prepare": "husky install", - "docusaurus": "docusaurus", - "start": "docusaurus start", "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", "clear": "docusaurus clear", + "deploy": "docusaurus deploy", + "docusaurus": "docusaurus", + "lint": "markdownlint-cli2 \"./docs/**/*.md\" \"./versioned_docs/**/*.md\"", + "prepare": "husky install", "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", + "start": "docusaurus start", + "swizzle": "docusaurus swizzle", "write-heading-ids": "docusaurus write-heading-ids", - "lint": "markdownlint-cli2 \"./docs/**/*.md\" \"./versioned_docs/**/*.md\"" - }, - "dependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/plugin-client-redirects": "^2.4.1", - "@docusaurus/preset-classic": "2.4.1", - "@docusaurus/theme-classic": "2.4.1", - "@docusaurus/theme-common": "2.4.1", - "@mdx-js/react": "^1.6.22", - "@svgr/webpack": "^5.5.0", - "clsx": "^1.2.1", - "docusaurus-plugin-image-zoom": "^1.0.1", - "file-loader": "^6.2.0", - "hast-util-is-element": "1.1.0", - "meilisearch-docsearch": "^0.6.0", - "prism-react-renderer": "^1.3.5", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "url-loader": "^4.1.1" + "write-translations": "docusaurus write-translations" }, "browserslist": { "production": [ @@ -45,12 +27,33 @@ "last 1 safari version" ] }, + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/plugin-client-redirects": "^3.4.0", + "@docusaurus/preset-classic": "3.4.0", + "@docusaurus/theme-classic": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@mdx-js/react": "^3.0.0", + "@svgr/webpack": "^5.5.0", + "clsx": "^1.2.1", + "docusaurus-plugin-image-zoom": "^1.0.1", + "file-loader": "^6.2.0", + "hast-util-is-element": "1.1.0", + "meilisearch-docsearch": "^0.6.0", + "prism-react-renderer": "^2.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "url-loader": "^4.1.1" + }, "devDependencies": { - "@docusaurus/module-type-aliases": "^2.4.1", + "@docusaurus/module-type-aliases": "^3.4.0", "@swc/core": "^1.5.7", "husky": "^7.0.4", "markdownlint": "^0.25.1", "markdownlint-cli2": "^0.4.0", "swc-loader": "^0.2.6" + }, + "engines": { + "node": ">=18.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index feaa415..588a14e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,23 +9,23 @@ importers: .: dependencies: '@docusaurus/core': - specifier: 2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) + specifier: 3.4.0 + version: 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) '@docusaurus/plugin-client-redirects': - specifier: ^2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) + specifier: ^3.4.0 + version: 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) '@docusaurus/preset-classic': - specifier: 2.4.1 - version: 2.4.1(@algolia/client-search@4.14.2)(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) + specifier: 3.4.0 + version: 3.4.0(@algolia/client-search@4.24.0)(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.16.1)(typescript@5.0.4) '@docusaurus/theme-classic': - specifier: 2.4.1 - version: 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) + specifier: 3.4.0 + version: 3.4.0(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) '@docusaurus/theme-common': - specifier: 2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) + specifier: 3.4.0 + version: 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) '@mdx-js/react': - specifier: ^1.6.22 - version: 1.6.22(react@17.0.2) + specifier: ^3.0.0 + version: 3.0.1(@types/react@17.0.39)(react@18.3.1) '@svgr/webpack': specifier: ^5.5.0 version: 5.5.0 @@ -34,10 +34,10 @@ importers: version: 1.2.1 docusaurus-plugin-image-zoom: specifier: ^1.0.1 - version: 1.0.1(@docusaurus/theme-classic@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)) + version: 1.0.1(@docusaurus/theme-classic@3.4.0(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)) file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.74.0(@swc/core@1.5.7)) + version: 6.2.0(webpack@5.93.0(@swc/core@1.5.7)) hast-util-is-element: specifier: 1.1.0 version: 1.1.0 @@ -45,21 +45,21 @@ importers: specifier: ^0.6.0 version: 0.6.0 prism-react-renderer: - specifier: ^1.3.5 - version: 1.3.5(react@17.0.2) + specifier: ^2.1.0 + version: 2.3.1(react@18.3.1) react: - specifier: ^17.0.2 - version: 17.0.2 + specifier: ^18.2.0 + version: 18.3.1 react-dom: - specifier: ^17.0.2 - version: 17.0.2(react@17.0.2) + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) url-loader: specifier: ^4.1.1 - version: 4.1.1(file-loader@6.2.0(webpack@5.74.0(@swc/core@1.5.7)))(webpack@5.74.0(@swc/core@1.5.7)) + version: 4.1.1(file-loader@6.2.0(webpack@5.93.0(@swc/core@1.5.7)))(webpack@5.93.0(@swc/core@1.5.7)) devDependencies: '@docusaurus/module-type-aliases': - specifier: ^2.4.1 - version: 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + specifier: ^3.4.0 + version: 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@swc/core': specifier: ^1.5.7 version: 1.5.7 @@ -74,71 +74,86 @@ importers: version: 0.4.0 swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.5.7)(webpack@5.74.0(@swc/core@1.5.7)) + version: 0.2.6(@swc/core@1.5.7)(webpack@5.93.0(@swc/core@1.5.7)) packages: - '@algolia/autocomplete-core@1.7.1': - resolution: {integrity: sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg==} + '@algolia/autocomplete-core@1.9.3': + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} - '@algolia/autocomplete-preset-algolia@1.7.1': - resolution: {integrity: sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg==} + '@algolia/autocomplete-plugin-algolia-insights@1.9.3': + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: - '@algolia/client-search': ^4.9.1 - algoliasearch: ^4.9.1 + search-insights: '>= 1 < 3' - '@algolia/autocomplete-shared@1.7.1': - resolution: {integrity: sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg==} + '@algolia/autocomplete-preset-algolia@1.9.3': + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.9.3': + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' - '@algolia/cache-browser-local-storage@4.14.2': - resolution: {integrity: sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==} + '@algolia/cache-browser-local-storage@4.24.0': + resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==} - '@algolia/cache-common@4.14.2': - resolution: {integrity: sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==} + '@algolia/cache-common@4.24.0': + resolution: {integrity: sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==} - '@algolia/cache-in-memory@4.14.2': - resolution: {integrity: sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==} + '@algolia/cache-in-memory@4.24.0': + resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==} - '@algolia/client-account@4.14.2': - resolution: {integrity: sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==} + '@algolia/client-account@4.24.0': + resolution: {integrity: sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==} - '@algolia/client-analytics@4.14.2': - resolution: {integrity: sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==} + '@algolia/client-analytics@4.24.0': + resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==} - '@algolia/client-common@4.14.2': - resolution: {integrity: sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==} + '@algolia/client-common@4.24.0': + resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==} - '@algolia/client-personalization@4.14.2': - resolution: {integrity: sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==} + '@algolia/client-personalization@4.24.0': + resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==} - '@algolia/client-search@4.14.2': - resolution: {integrity: sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==} + '@algolia/client-search@4.24.0': + resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==} '@algolia/events@4.0.1': resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - '@algolia/logger-common@4.14.2': - resolution: {integrity: sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==} + '@algolia/logger-common@4.24.0': + resolution: {integrity: sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==} + + '@algolia/logger-console@4.24.0': + resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==} - '@algolia/logger-console@4.14.2': - resolution: {integrity: sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==} + '@algolia/recommend@4.24.0': + resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==} - '@algolia/requester-browser-xhr@4.14.2': - resolution: {integrity: sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==} + '@algolia/requester-browser-xhr@4.24.0': + resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==} - '@algolia/requester-common@4.14.2': - resolution: {integrity: sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==} + '@algolia/requester-common@4.24.0': + resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} - '@algolia/requester-node-http@4.14.2': - resolution: {integrity: sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==} + '@algolia/requester-node-http@4.24.0': + resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==} - '@algolia/transporter@4.14.2': - resolution: {integrity: sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==} + '@algolia/transporter@4.24.0': + resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==} '@ampproject/remapping@2.1.2': resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==} engines: {node: '>=6.0.0'} + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + '@babel/code-frame@7.16.7': resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} @@ -147,32 +162,32 @@ packages: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.17.0': - resolution: {integrity: sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.19.3': - resolution: {integrity: sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==} + '@babel/compat-data@7.17.0': + resolution: {integrity: sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==} engines: {node: '>=6.9.0'} - '@babel/core@7.12.9': - resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} + '@babel/compat-data@7.25.2': + resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} engines: {node: '>=6.9.0'} '@babel/core@7.17.5': resolution: {integrity: sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==} engines: {node: '>=6.9.0'} - '@babel/core@7.19.3': - resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} '@babel/generator@7.17.3': resolution: {integrity: sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.19.3': - resolution: {integrity: sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==} + '@babel/generator@7.25.0': + resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.16.7': @@ -183,12 +198,16 @@ packages: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + '@babel/helper-builder-binary-assignment-operator-visitor@7.16.7': resolution: {integrity: sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==} engines: {node: '>=6.9.0'} - '@babel/helper-builder-binary-assignment-operator-visitor@7.18.9': - resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} '@babel/helper-compilation-targets@7.16.7': @@ -197,11 +216,9 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-compilation-targets@7.19.3': - resolution: {integrity: sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==} + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 '@babel/helper-create-class-features-plugin@7.17.6': resolution: {integrity: sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==} @@ -209,8 +226,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-class-features-plugin@7.19.0': - resolution: {integrity: sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==} + '@babel/helper-create-class-features-plugin@7.25.0': + resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -227,40 +244,34 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.25.2': + resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-define-polyfill-provider@0.3.1': resolution: {integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==} peerDependencies: '@babel/core': ^7.4.0-0 - '@babel/helper-define-polyfill-provider@0.3.3': - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: - '@babel/core': ^7.4.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 '@babel/helper-environment-visitor@7.16.7': resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} engines: {node: '>=6.9.0'} - '@babel/helper-environment-visitor@7.18.9': - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - '@babel/helper-explode-assignable-expression@7.16.7': resolution: {integrity: sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==} engines: {node: '>=6.9.0'} - '@babel/helper-explode-assignable-expression@7.18.6': - resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} - engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.16.7': resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.19.0': - resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} - engines: {node: '>=6.9.0'} - '@babel/helper-get-function-arity@7.16.7': resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==} engines: {node: '>=6.9.0'} @@ -269,59 +280,54 @@ packages: resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.18.6': - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.16.7': resolution: {integrity: sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.18.9': - resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} + '@babel/helper-member-expression-to-functions@7.24.8': + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.16.7': resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.18.6': - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} '@babel/helper-module-transforms@7.17.6': resolution: {integrity: sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.19.0': - resolution: {integrity: sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==} + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 '@babel/helper-optimise-call-expression@7.16.7': resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==} engines: {node: '>=6.9.0'} - '@babel/helper-optimise-call-expression@7.18.6': - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + '@babel/helper-optimise-call-expression@7.24.7': + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.10.4': - resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==} - '@babel/helper-plugin-utils@7.16.7': resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.19.0': - resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==} + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} '@babel/helper-remap-async-to-generator@7.16.8': resolution: {integrity: sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.18.9': - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + '@babel/helper-remap-async-to-generator@7.25.0': + resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -330,38 +336,40 @@ packages: resolution: {integrity: sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==} engines: {node: '>=6.9.0'} - '@babel/helper-replace-supers@7.19.1': - resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} + '@babel/helper-replace-supers@7.25.0': + resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 '@babel/helper-simple-access@7.16.7': resolution: {integrity: sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==} engines: {node: '>=6.9.0'} - '@babel/helper-simple-access@7.18.6': - resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} '@babel/helper-skip-transparent-expression-wrappers@7.16.0': resolution: {integrity: sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==} engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.18.9': - resolution: {integrity: sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==} + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} '@babel/helper-split-export-declaration@7.16.7': resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.18.6': - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.18.10': resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.16.7': resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} engines: {node: '>=6.9.0'} @@ -370,28 +378,32 @@ packages: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.16.7': resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.18.6': - resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} '@babel/helper-wrap-function@7.16.8': resolution: {integrity: sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.19.0': - resolution: {integrity: sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==} + '@babel/helper-wrap-function@7.25.0': + resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} engines: {node: '>=6.9.0'} '@babel/helpers@7.17.2': resolution: {integrity: sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.19.0': - resolution: {integrity: sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==} + '@babel/helpers@7.25.0': + resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} engines: {node: '>=6.9.0'} '@babel/highlight@7.16.10': @@ -402,24 +414,40 @@ packages: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.17.3': resolution: {integrity: sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.19.3': - resolution: {integrity: sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==} + '@babel/parser@7.25.3': + resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3': + resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': + resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.16.7': resolution: {integrity: sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6': - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0': + resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -430,20 +458,20 @@ packages: peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9': - resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-proposal-async-generator-functions@7.16.8': - resolution: {integrity: sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0': + resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 - '@babel/plugin-proposal-async-generator-functions@7.19.1': - resolution: {integrity: sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==} + '@babel/plugin-proposal-async-generator-functions@7.16.8': + resolution: {integrity: sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -454,157 +482,80 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-class-properties@7.18.6': - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-class-static-block@7.17.6': resolution: {integrity: sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-proposal-class-static-block@7.18.6': - resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - '@babel/plugin-proposal-dynamic-import@7.16.7': resolution: {integrity: sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-dynamic-import@7.18.6': - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-export-namespace-from@7.16.7': resolution: {integrity: sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-export-namespace-from@7.18.9': - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-json-strings@7.16.7': resolution: {integrity: sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-json-strings@7.18.6': - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-logical-assignment-operators@7.16.7': resolution: {integrity: sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-logical-assignment-operators@7.18.9': - resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-nullish-coalescing-operator@7.16.7': resolution: {integrity: sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-numeric-separator@7.16.7': resolution: {integrity: sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-numeric-separator@7.18.6': - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-object-rest-spread@7.12.1': - resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-object-rest-spread@7.17.3': resolution: {integrity: sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-object-rest-spread@7.18.9': - resolution: {integrity: sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-optional-catch-binding@7.16.7': resolution: {integrity: sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-optional-catch-binding@7.18.6': - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-optional-chaining@7.16.7': resolution: {integrity: sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-optional-chaining@7.18.9': - resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-private-methods@7.16.11': resolution: {integrity: sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-private-methods@7.18.6': - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-private-property-in-object@7.16.7': resolution: {integrity: sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-private-property-in-object@7.18.6': - resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -615,12 +566,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-unicode-property-regex@7.18.6': - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-async-generators@7.8.4': resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -647,19 +592,25 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.18.6': - resolution: {integrity: sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==} + '@babel/plugin-syntax-import-assertions@7.24.7': + resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + '@babel/plugin-syntax-import-attributes@7.24.7': + resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.12.1': - resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==} + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -669,8 +620,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.18.6': - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -717,20 +668,32 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.18.6': - resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-transform-arrow-functions@7.16.7': resolution: {integrity: sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-arrow-functions@7.18.6': - resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} + '@babel/plugin-transform-arrow-functions@7.24.7': + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.0': + resolution: {integrity: sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -741,8 +704,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.18.6': - resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} + '@babel/plugin-transform-async-to-generator@7.24.7': + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -753,8 +716,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.18.6': - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + '@babel/plugin-transform-block-scoped-functions@7.24.7': + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -765,20 +728,32 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.18.9': - resolution: {integrity: sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==} + '@babel/plugin-transform-block-scoping@7.25.0': + resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.24.7': + resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-class-static-block@7.24.7': + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + '@babel/plugin-transform-classes@7.16.7': resolution: {integrity: sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-classes@7.19.0': - resolution: {integrity: sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==} + '@babel/plugin-transform-classes@7.25.0': + resolution: {integrity: sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -789,8 +764,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.18.9': - resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} + '@babel/plugin-transform-computed-properties@7.24.7': + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -801,8 +776,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.18.13': - resolution: {integrity: sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==} + '@babel/plugin-transform-destructuring@7.24.8': + resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -813,8 +788,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.18.6': - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + '@babel/plugin-transform-dotall-regex@7.24.7': + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -825,8 +800,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-keys@7.18.9': - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + '@babel/plugin-transform-duplicate-keys@7.24.7': + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0': + resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.24.7': + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -837,8 +824,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.18.6': - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + '@babel/plugin-transform-exponentiation-operator@7.24.7': + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.24.7': + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -849,8 +842,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-for-of@7.18.8': - resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + '@babel/plugin-transform-for-of@7.24.7': + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -861,8 +854,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-function-name@7.18.9': - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + '@babel/plugin-transform-function-name@7.25.1': + resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.24.7': + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -873,8 +872,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.18.9': - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + '@babel/plugin-transform-literals@7.25.2': + resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7': + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -885,8 +890,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-member-expression-literals@7.18.6': - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + '@babel/plugin-transform-member-expression-literals@7.24.7': + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -897,8 +902,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-amd@7.18.6': - resolution: {integrity: sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==} + '@babel/plugin-transform-modules-amd@7.24.7': + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -909,8 +914,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.18.6': - resolution: {integrity: sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==} + '@babel/plugin-transform-modules-commonjs@7.24.8': + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -921,8 +926,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.19.0': - resolution: {integrity: sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==} + '@babel/plugin-transform-modules-systemjs@7.25.0': + resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -933,8 +938,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-umd@7.18.6': - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + '@babel/plugin-transform-modules-umd@7.24.7': + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -945,8 +950,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-named-capturing-groups-regex@7.19.1': - resolution: {integrity: sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==} + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -957,8 +962,26 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-new-target@7.18.6': - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + '@babel/plugin-transform-new-target@7.24.7': + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.24.7': + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.24.7': + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -969,8 +992,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-super@7.18.6': - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + '@babel/plugin-transform-object-super@7.24.7': + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.24.7': + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.24.8': + resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -981,8 +1016,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-parameters@7.18.8': - resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} + '@babel/plugin-transform-parameters@7.24.7': + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.24.7': + resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.24.7': + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -993,8 +1040,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-property-literals@7.18.6': - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + '@babel/plugin-transform-property-literals@7.24.7': + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1005,14 +1052,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-constant-elements@7.25.1': + resolution: {integrity: sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-display-name@7.16.7': resolution: {integrity: sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-display-name@7.18.6': - resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} + '@babel/plugin-transform-react-display-name@7.24.7': + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1023,8 +1076,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-development@7.18.6': - resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} + '@babel/plugin-transform-react-jsx-development@7.24.7': + resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1035,8 +1088,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.19.0': - resolution: {integrity: sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==} + '@babel/plugin-transform-react-jsx@7.25.2': + resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1047,8 +1100,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-pure-annotations@7.18.6': - resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} + '@babel/plugin-transform-react-pure-annotations@7.24.7': + resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1059,8 +1112,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.18.6': - resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} + '@babel/plugin-transform-regenerator@7.24.7': + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1071,14 +1124,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-reserved-words@7.18.6': - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + '@babel/plugin-transform-reserved-words@7.24.7': + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.19.1': - resolution: {integrity: sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==} + '@babel/plugin-transform-runtime@7.24.7': + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1089,8 +1142,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-shorthand-properties@7.18.6': - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + '@babel/plugin-transform-shorthand-properties@7.24.7': + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1101,8 +1154,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-spread@7.19.0': - resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} + '@babel/plugin-transform-spread@7.24.7': + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1113,8 +1166,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-sticky-regex@7.18.6': - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + '@babel/plugin-transform-sticky-regex@7.24.7': + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1125,8 +1178,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-template-literals@7.18.9': - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + '@babel/plugin-transform-template-literals@7.24.7': + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1137,14 +1190,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.18.9': - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + '@babel/plugin-transform-typeof-symbol@7.24.8': + resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.19.3': - resolution: {integrity: sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==} + '@babel/plugin-transform-typescript@7.25.2': + resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1155,8 +1208,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.18.10': - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + '@babel/plugin-transform-unicode-escapes@7.24.7': + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.24.7': + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1167,20 +1226,26 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-regex@7.18.6': - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + '@babel/plugin-transform-unicode-regex@7.24.7': + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-sets-regex@7.24.7': + resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/preset-env@7.16.11': resolution: {integrity: sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-env@7.19.3': - resolution: {integrity: sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w==} + '@babel/preset-env@7.25.3': + resolution: {integrity: sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1190,50 +1255,58 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@babel/preset-react@7.16.7': resolution: {integrity: sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-react@7.18.6': - resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==} + '@babel/preset-react@7.24.7': + resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.18.6': - resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==} + '@babel/preset-typescript@7.24.7': + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime-corejs3@7.19.1': - resolution: {integrity: sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g==} + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime-corejs3@7.25.0': + resolution: {integrity: sha512-BOehWE7MgQ8W8Qn0CQnMtg2tHPHPulcS/5AVpFvs2KCK1ET+0WqZqPvnpRpFN81gYoFopdIEJX9Sgjw3ZBccPg==} engines: {node: '>=6.9.0'} '@babel/runtime@7.17.2': resolution: {integrity: sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.19.0': - resolution: {integrity: sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==} + '@babel/runtime@7.25.0': + resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} engines: {node: '>=6.9.0'} '@babel/template@7.16.7': resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} engines: {node: '>=6.9.0'} - '@babel/template@7.18.10': - resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} '@babel/traverse@7.17.3': resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.19.3': - resolution: {integrity: sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==} + '@babel/traverse@7.25.3': + resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} engines: {node: '>=6.9.0'} '@babel/types@7.17.0': @@ -1244,19 +1317,28 @@ packages: resolution: {integrity: sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==} engines: {node: '>=6.9.0'} + '@babel/types@7.25.2': + resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + engines: {node: '>=6.9.0'} + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@docsearch/css@3.2.1': - resolution: {integrity: sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g==} + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@docsearch/css@3.6.1': + resolution: {integrity: sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==} - '@docsearch/react@3.2.1': - resolution: {integrity: sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ==} + '@docsearch/react@3.6.1': + resolution: {integrity: sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' peerDependenciesMeta: '@types/react': optional: true @@ -1264,158 +1346,160 @@ packages: optional: true react-dom: optional: true + search-insights: + optional: true - '@docusaurus/core@2.4.1': - resolution: {integrity: sha512-SNsY7PshK3Ri7vtsLXVeAJGS50nJN3RgF836zkyUfAD01Fq+sAk5EwWgLw+nnm5KVNGDu7PRR2kRGDsWvqpo0g==} - engines: {node: '>=16.14'} + '@docusaurus/core@3.4.0': + resolution: {integrity: sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==} + engines: {node: '>=18.0'} hasBin: true peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/cssnano-preset@2.4.1': - resolution: {integrity: sha512-ka+vqXwtcW1NbXxWsh6yA1Ckii1klY9E53cJ4O9J09nkMBgrNX3iEFED1fWdv8wf4mJjvGi5RLZ2p9hJNjsLyQ==} - engines: {node: '>=16.14'} + '@docusaurus/cssnano-preset@3.4.0': + resolution: {integrity: sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==} + engines: {node: '>=18.0'} - '@docusaurus/logger@2.4.1': - resolution: {integrity: sha512-5h5ysIIWYIDHyTVd8BjheZmQZmEgWDR54aQ1BX9pjFfpyzFo5puKXKYrYJXbjEHGyVhEzmB9UXwbxGfaZhOjcg==} - engines: {node: '>=16.14'} + '@docusaurus/logger@3.4.0': + resolution: {integrity: sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==} + engines: {node: '>=18.0'} - '@docusaurus/mdx-loader@2.4.1': - resolution: {integrity: sha512-4KhUhEavteIAmbBj7LVFnrVYDiU51H5YWW1zY6SmBSte/YLhDutztLTBE0PQl1Grux1jzUJeaSvAzHpTn6JJDQ==} - engines: {node: '>=16.14'} + '@docusaurus/mdx-loader@3.4.0': + resolution: {integrity: sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/module-type-aliases@2.4.1': - resolution: {integrity: sha512-gLBuIFM8Dp2XOCWffUDSjtxY7jQgKvYujt7Mx5s4FCTfoL5dN1EVbnrn+O2Wvh8b0a77D57qoIDY7ghgmatR1A==} + '@docusaurus/module-type-aliases@3.4.0': + resolution: {integrity: sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==} peerDependencies: react: '*' react-dom: '*' - '@docusaurus/plugin-client-redirects@2.4.1': - resolution: {integrity: sha512-tp0j16gaLIJ4p+IR0P6KDOFsTOGGMY54MNPnmM61Vaqqt5omLqsuKUO8UlCGU1oW/4EIQOhXYy99XYY5MjE+7A==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-client-redirects@3.4.0': + resolution: {integrity: sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/plugin-content-blog@2.4.1': - resolution: {integrity: sha512-E2i7Knz5YIbE1XELI6RlTnZnGgS52cUO4BlCiCUCvQHbR+s1xeIWz4C6BtaVnlug0Ccz7nFSksfwDpVlkujg5Q==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-content-blog@3.4.0': + resolution: {integrity: sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/plugin-content-docs@2.4.1': - resolution: {integrity: sha512-Lo7lSIcpswa2Kv4HEeUcGYqaasMUQNpjTXpV0N8G6jXgZaQurqp7E8NGYeGbDXnb48czmHWbzDL4S3+BbK0VzA==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-content-docs@3.4.0': + resolution: {integrity: sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/plugin-content-pages@2.4.1': - resolution: {integrity: sha512-/UjuH/76KLaUlL+o1OvyORynv6FURzjurSjvn2lbWTFc4tpYY2qLYTlKpTCBVPhlLUQsfyFnshEJDLmPneq2oA==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-content-pages@3.4.0': + resolution: {integrity: sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/plugin-debug@2.4.1': - resolution: {integrity: sha512-7Yu9UPzRShlrH/G8btOpR0e6INFZr0EegWplMjOqelIwAcx3PKyR8mgPTxGTxcqiYj6hxSCRN0D8R7YrzImwNA==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-debug@3.4.0': + resolution: {integrity: sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/plugin-google-analytics@2.4.1': - resolution: {integrity: sha512-dyZJdJiCoL+rcfnm0RPkLt/o732HvLiEwmtoNzOoz9MSZz117UH2J6U2vUDtzUzwtFLIf32KkeyzisbwUCgcaQ==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-google-analytics@3.4.0': + resolution: {integrity: sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/plugin-google-gtag@2.4.1': - resolution: {integrity: sha512-mKIefK+2kGTQBYvloNEKtDmnRD7bxHLsBcxgnbt4oZwzi2nxCGjPX6+9SQO2KCN5HZbNrYmGo5GJfMgoRvy6uA==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-google-gtag@3.4.0': + resolution: {integrity: sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/plugin-google-tag-manager@2.4.1': - resolution: {integrity: sha512-Zg4Ii9CMOLfpeV2nG74lVTWNtisFaH9QNtEw48R5QE1KIwDBdTVaiSA18G1EujZjrzJJzXN79VhINSbOJO/r3g==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-google-tag-manager@3.4.0': + resolution: {integrity: sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/plugin-sitemap@2.4.1': - resolution: {integrity: sha512-lZx+ijt/+atQ3FVE8FOHV/+X3kuok688OydDXrqKRJyXBJZKgGjA2Qa8RjQ4f27V2woaXhtnyrdPop/+OjVMRg==} - engines: {node: '>=16.14'} + '@docusaurus/plugin-sitemap@3.4.0': + resolution: {integrity: sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/preset-classic@2.4.1': - resolution: {integrity: sha512-P4//+I4zDqQJ+UDgoFrjIFaQ1MeS9UD1cvxVQaI6O7iBmiHQm0MGROP1TbE7HlxlDPXFJjZUK3x3cAoK63smGQ==} - engines: {node: '>=16.14'} + '@docusaurus/preset-classic@3.4.0': + resolution: {integrity: sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/react-loadable@5.5.2': - resolution: {integrity: sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==} + '@docusaurus/react-loadable@6.0.0': + resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} peerDependencies: react: '*' - '@docusaurus/theme-classic@2.4.1': - resolution: {integrity: sha512-Rz0wKUa+LTW1PLXmwnf8mn85EBzaGSt6qamqtmnh9Hflkc+EqiYMhtUJeLdV+wsgYq4aG0ANc+bpUDpsUhdnwg==} - engines: {node: '>=16.14'} + '@docusaurus/theme-classic@3.4.0': + resolution: {integrity: sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/theme-common@2.4.1': - resolution: {integrity: sha512-G7Zau1W5rQTaFFB3x3soQoZpkgMbl/SYNG8PfMFIjKa3M3q8n0m/GRf5/H/e5BqOvt8c+ZWIXGCiz+kUCSHovA==} - engines: {node: '>=16.14'} + '@docusaurus/theme-common@3.4.0': + resolution: {integrity: sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/theme-search-algolia@2.4.1': - resolution: {integrity: sha512-6BcqW2lnLhZCXuMAvPRezFs1DpmEKzXFKlYjruuas+Xy3AQeFzDJKTJFIm49N77WFCTyxff8d3E4Q9pi/+5McQ==} - engines: {node: '>=16.14'} + '@docusaurus/theme-search-algolia@3.4.0': + resolution: {integrity: sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/theme-translations@2.4.1': - resolution: {integrity: sha512-T1RAGP+f86CA1kfE8ejZ3T3pUU3XcyvrGMfC/zxCtc2BsnoexuNI9Vk2CmuKCb+Tacvhxjv5unhxXce0+NKyvA==} - engines: {node: '>=16.14'} + '@docusaurus/theme-translations@3.4.0': + resolution: {integrity: sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==} + engines: {node: '>=18.0'} - '@docusaurus/types@2.4.1': - resolution: {integrity: sha512-0R+cbhpMkhbRXX138UOc/2XZFF8hiZa6ooZAEEJFp5scytzCw4tC1gChMFXrpa3d2tYE6AX8IrOEpSonLmfQuQ==} + '@docusaurus/types@3.4.0': + resolution: {integrity: sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==} peerDependencies: - react: ^16.8.4 || ^17.0.0 - react-dom: ^16.8.4 || ^17.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 - '@docusaurus/utils-common@2.4.1': - resolution: {integrity: sha512-bCVGdZU+z/qVcIiEQdyx0K13OC5mYwxhSuDUR95oFbKVuXYRrTVrwZIqQljuo1fyJvFTKHiL9L9skQOPokuFNQ==} - engines: {node: '>=16.14'} + '@docusaurus/utils-common@3.4.0': + resolution: {integrity: sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==} + engines: {node: '>=18.0'} peerDependencies: '@docusaurus/types': '*' peerDependenciesMeta: '@docusaurus/types': optional: true - '@docusaurus/utils-validation@2.4.1': - resolution: {integrity: sha512-unII3hlJlDwZ3w8U+pMO3Lx3RhI4YEbY3YNsQj4yzrkZzlpqZOLuAiZK2JyULnD+TKbceKU0WyWkQXtYbLNDFA==} - engines: {node: '>=16.14'} + '@docusaurus/utils-validation@3.4.0': + resolution: {integrity: sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==} + engines: {node: '>=18.0'} - '@docusaurus/utils@2.4.1': - resolution: {integrity: sha512-1lvEZdAQhKNht9aPXPoh69eeKnV0/62ROhQeFKKxmzd0zkcuE/Oc5Gpnt00y/f5bIsmOsYMY7Pqfm/5rteT5GA==} - engines: {node: '>=16.14'} + '@docusaurus/utils@3.4.0': + resolution: {integrity: sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==} + engines: {node: '>=18.0'} peerDependencies: '@docusaurus/types': '*' peerDependenciesMeta: @@ -1425,46 +1509,76 @@ packages: '@hapi/hoek@9.2.1': resolution: {integrity: sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==} + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jridgewell/gen-mapping@0.3.2': resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.0.5': resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==} engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.1.2': resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + '@jridgewell/source-map@0.3.2': resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + '@jridgewell/sourcemap-codec@1.4.11': resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/trace-mapping@0.3.15': resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==} + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.4': resolution: {integrity: sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==} '@leichtgewicht/ip-codec@2.0.4': resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} - '@mdx-js/mdx@1.6.22': - resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==} + '@mdx-js/mdx@3.0.1': + resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} - '@mdx-js/react@1.6.22': - resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==} + '@mdx-js/react@3.0.1': + resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} peerDependencies: - react: ^16.13.1 || ^17.0.0 - - '@mdx-js/util@1.6.22': - resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==} + '@types/react': '>=16' + react: '>=16' '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -1478,33 +1592,51 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@polka/url@1.0.0-next.21': - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.0': + resolution: {integrity: sha512-DqrO+oXGR7HCuicNy6quk6ALJSDDPKI7RZz1bP5im8mSL8J2e+9w26LdkjuAfpAjOutYUJVbnXnx4IbTQeIgfw==} + engines: {node: '>=12'} + + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - '@sideway/address@4.1.3': - resolution: {integrity: sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==} + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} - '@sideway/formula@3.0.0': - resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==} + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - '@sindresorhus/is@0.14.0': - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - '@slorber/static-site-generator-webpack-plugin@4.0.7': - resolution: {integrity: sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==} - engines: {node: '>=14'} + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@slorber/remark-comment@1.0.0': + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} '@svgr/babel-plugin-add-jsx-attribute@5.4.0': resolution: {integrity: sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==} engines: {node: '>=10'} - '@svgr/babel-plugin-add-jsx-attribute@6.0.0': - resolution: {integrity: sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==} - engines: {node: '>=10'} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1512,9 +1644,9 @@ packages: resolution: {integrity: sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==} engines: {node: '>=10'} - '@svgr/babel-plugin-remove-jsx-attribute@6.0.0': - resolution: {integrity: sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw==} - engines: {node: '>=10'} + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1522,9 +1654,9 @@ packages: resolution: {integrity: sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==} engines: {node: '>=10'} - '@svgr/babel-plugin-remove-jsx-empty-expression@6.0.0': - resolution: {integrity: sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA==} - engines: {node: '>=10'} + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1532,9 +1664,9 @@ packages: resolution: {integrity: sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==} engines: {node: '>=10'} - '@svgr/babel-plugin-replace-jsx-attribute-value@6.0.0': - resolution: {integrity: sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ==} - engines: {node: '>=10'} + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1542,9 +1674,9 @@ packages: resolution: {integrity: sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==} engines: {node: '>=10'} - '@svgr/babel-plugin-svg-dynamic-title@6.0.0': - resolution: {integrity: sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg==} - engines: {node: '>=10'} + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1552,9 +1684,9 @@ packages: resolution: {integrity: sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==} engines: {node: '>=10'} - '@svgr/babel-plugin-svg-em-dimensions@6.0.0': - resolution: {integrity: sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA==} - engines: {node: '>=10'} + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1562,9 +1694,9 @@ packages: resolution: {integrity: sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==} engines: {node: '>=10'} - '@svgr/babel-plugin-transform-react-native-svg@6.0.0': - resolution: {integrity: sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ==} - engines: {node: '>=10'} + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1572,8 +1704,8 @@ packages: resolution: {integrity: sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==} engines: {node: '>=10'} - '@svgr/babel-plugin-transform-svg-component@6.2.0': - resolution: {integrity: sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg==} + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1582,9 +1714,9 @@ packages: resolution: {integrity: sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==} engines: {node: '>=10'} - '@svgr/babel-preset@6.2.0': - resolution: {integrity: sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==} - engines: {node: '>=10'} + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1592,45 +1724,45 @@ packages: resolution: {integrity: sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==} engines: {node: '>=10'} - '@svgr/core@6.2.1': - resolution: {integrity: sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==} - engines: {node: '>=10'} + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} '@svgr/hast-util-to-babel-ast@5.5.0': resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==} engines: {node: '>=10'} - '@svgr/hast-util-to-babel-ast@6.2.1': - resolution: {integrity: sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==} - engines: {node: '>=10'} + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} '@svgr/plugin-jsx@5.5.0': resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} engines: {node: '>=10'} - '@svgr/plugin-jsx@6.2.1': - resolution: {integrity: sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==} - engines: {node: '>=10'} + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} peerDependencies: - '@svgr/core': ^6.0.0 + '@svgr/core': '*' '@svgr/plugin-svgo@5.5.0': resolution: {integrity: sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==} engines: {node: '>=10'} - '@svgr/plugin-svgo@6.2.0': - resolution: {integrity: sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==} - engines: {node: '>=10'} + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} peerDependencies: - '@svgr/core': ^6.0.0 + '@svgr/core': '*' '@svgr/webpack@5.5.0': resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==} engines: {node: '>=10'} - '@svgr/webpack@6.2.1': - resolution: {integrity: sha512-h09ngMNd13hnePwgXa+Y5CgOjzlCvfWLHg+MBnydEedAnuLRzUHUJmGS3o2OsrhxTOOqEsPOFt5v/f6C5Qulcw==} - engines: {node: '>=10'} + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} '@swc/core-darwin-arm64@1.5.7': resolution: {integrity: sha512-bZLVHPTpH3h6yhwVl395k0Mtx8v6CGhq5r4KQdAoPbADU974Mauz1b6ViHAJ74O0IVE5vyy7tD3OpkQxL/vMDQ==} @@ -1707,14 +1839,17 @@ packages: '@swc/types@0.1.7': resolution: {integrity: sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==} - '@szmarczak/http-timer@1.1.2': - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + '@types/body-parser@1.19.2': resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} @@ -1727,23 +1862,35 @@ packages: '@types/connect@3.4.35': resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/eslint-scope@3.7.3': resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} '@types/eslint@8.4.1': resolution: {integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==} + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + '@types/estree@0.0.51': resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/express-serve-static-core@4.17.28': resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} '@types/express@4.17.13': resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} - '@types/hast@2.3.4': - resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} + '@types/gtag.js@0.0.12': + resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} '@types/history@4.7.11': resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} @@ -1751,29 +1898,44 @@ packages: '@types/html-minifier-terser@6.1.0': resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + '@types/http-proxy@1.17.8': resolution: {integrity: sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/json-schema@7.0.9': resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/mdast@3.0.10': - resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} '@types/mime@1.3.2': resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/node@17.0.21': resolution: {integrity: sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==} '@types/parse-json@4.0.0': resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - '@types/parse5@5.0.3': - resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} + '@types/prismjs@1.26.4': + resolution: {integrity: sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==} '@types/prop-types@15.7.4': resolution: {integrity: sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==} @@ -1787,6 +1949,9 @@ packages: '@types/range-parser@1.2.4': resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + '@types/react-router-config@5.0.11': + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + '@types/react-router-config@5.0.6': resolution: {integrity: sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg==} @@ -1799,9 +1964,6 @@ packages: '@types/react@17.0.39': resolution: {integrity: sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==} - '@types/responselike@1.0.0': - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - '@types/retry@0.12.1': resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} @@ -1823,53 +1985,65 @@ packages: '@types/unist@2.0.6': resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} - '@types/ws@8.5.1': - resolution: {integrity: sha512-UxlLOfkuQnT2YSBCNq0x86SGOUxas6gAySFeDe2DcnEnA8655UIPoCDorWZCugcvKIL8IUI4oueUfJ1hhZSE2A==} + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@types/ws@8.5.12': + resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@webassemblyjs/ast@1.11.1': - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@webassemblyjs/floating-point-hex-parser@1.11.1': - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@webassemblyjs/helper-api-error@1.11.1': - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + '@webassemblyjs/ast@1.12.1': + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} - '@webassemblyjs/helper-buffer@1.11.1': - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - '@webassemblyjs/helper-numbers@1.11.1': - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - '@webassemblyjs/helper-wasm-bytecode@1.11.1': - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + '@webassemblyjs/helper-buffer@1.12.1': + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - '@webassemblyjs/helper-wasm-section@1.11.1': - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} - '@webassemblyjs/ieee754@1.11.1': - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - '@webassemblyjs/leb128@1.11.1': - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + '@webassemblyjs/helper-wasm-section@1.12.1': + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} - '@webassemblyjs/utf8@1.11.1': - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} - '@webassemblyjs/wasm-edit@1.11.1': - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} - '@webassemblyjs/wasm-gen@1.11.1': - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - '@webassemblyjs/wasm-opt@1.11.1': - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + '@webassemblyjs/wasm-edit@1.12.1': + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} - '@webassemblyjs/wasm-parser@1.11.1': - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + '@webassemblyjs/wasm-gen@1.12.1': + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} - '@webassemblyjs/wast-printer@1.11.1': - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + '@webassemblyjs/wasm-opt@1.12.1': + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + + '@webassemblyjs/wasm-parser@1.12.1': + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + + '@webassemblyjs/wast-printer@1.12.1': + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -1881,15 +2055,25 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-import-assertions@1.8.0: - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + acorn@8.8.0: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} @@ -1927,13 +2111,13 @@ packages: ajv@8.10.0: resolution: {integrity: sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==} - algoliasearch-helper@3.11.1: - resolution: {integrity: sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw==} + algoliasearch-helper@3.22.3: + resolution: {integrity: sha512-2eoEz8mG4KHE+DzfrBTrCmDPxVXv7aZZWPojAJFtARpxxMO6lkos1dJ+XDCXdPvq7q3tpYWRi6xXmVQikejtpA==} peerDependencies: algoliasearch: '>= 3.1 < 6' - algoliasearch@4.14.2: - resolution: {integrity: sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==} + algoliasearch@4.24.0: + resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -1990,58 +2174,48 @@ packages: resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} engines: {node: '>=12'} - asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - autoprefixer@10.4.12: - resolution: {integrity: sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==} + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 - axios@0.25.0: - resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} - - babel-loader@8.2.5: - resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==} - engines: {node: '>= 8.9'} - peerDependencies: - '@babel/core': ^7.0.0 - webpack: '>=2' - - babel-plugin-apply-mdx-type-prop@1.6.22: - resolution: {integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==} + babel-loader@9.1.3: + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} peerDependencies: - '@babel/core': ^7.11.6 + '@babel/core': ^7.12.0 + webpack: '>=5' babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} - babel-plugin-extract-import-names@1.6.22: - resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==} - babel-plugin-polyfill-corejs2@0.3.1: resolution: {integrity: sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==} peerDependencies: '@babel/core': ^7.0.0-0 - babel-plugin-polyfill-corejs2@0.3.3: - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.5.2: - resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==} + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.6.0: - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + babel-plugin-polyfill-corejs3@0.5.2: + resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2050,20 +2224,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - babel-plugin-polyfill-regenerator@0.4.1: - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base16@1.0.0: - resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} - batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} @@ -2084,14 +2255,14 @@ packages: boolbase@1.0.0: resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} - boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - boxen@6.2.1: resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -2109,6 +2280,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -2120,9 +2296,13 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - cacheable-request@6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} - engines: {node: '>=8'} + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} @@ -2134,22 +2314,25 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} caniuse-lite@1.0.30001627: resolution: {integrity: sha512-4zgNiB8nTyV/tHhwZrFs88ryjls/lHiqFhrxCW4qSTeuRByBVnPYpDInchOIySWknznucaf31Z4KYqjfbrecVw==} - ccount@1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + caniuse-lite@1.0.30001651: + resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -2159,14 +2342,25 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} @@ -2183,21 +2377,18 @@ packages: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} - clean-css@5.3.1: - resolution: {integrity: sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==} + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} @@ -2210,19 +2401,20 @@ packages: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} - clone-response@1.0.2: - resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} - clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + coa@2.0.2: resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} engines: {node: '>= 4.0'} - collapse-white-space@1.0.6: - resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -2237,8 +2429,8 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colord@2.9.2: - resolution: {integrity: sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==} + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} colorette@2.0.16: resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} @@ -2247,8 +2439,12 @@ packages: resolution: {integrity: sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==} engines: {node: '>=10'} - comma-separated-tokens@1.0.8: - resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -2265,8 +2461,8 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} @@ -2279,9 +2475,12 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} @@ -2305,6 +2504,9 @@ packages: convert-source-map@1.8.0: resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -2312,8 +2514,8 @@ packages: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} - copy-text-to-clipboard@3.0.1: - resolution: {integrity: sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==} + copy-text-to-clipboard@3.2.0: + resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} engines: {node: '>=12'} copy-webpack-plugin@11.0.0: @@ -2325,14 +2527,14 @@ packages: core-js-compat@3.21.1: resolution: {integrity: sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==} - core-js-compat@3.25.3: - resolution: {integrity: sha512-xVtYpJQ5grszDHEUU9O7XbjjcZ0ccX3LgQsyqSvTnjX97ZqEgn9F5srmrwwwMtbKzDllyFPL+O+2OFMl1lU4TQ==} + core-js-compat@3.38.0: + resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} - core-js-pure@3.25.3: - resolution: {integrity: sha512-T/7qvgv70MEvRkZ8p6BasLZmOVYKzOaWNBEHAU8FmveCJkl4nko2quqPQOmy6AJIp5MBanhz9no3A94NoRb0XA==} + core-js-pure@3.38.0: + resolution: {integrity: sha512-8balb/HAXo06aHP58mZMtXgD8vcnXz9tUDePgqBgJgKdmTlMt+jw3ujqniuBDQXMvTzxnMpxHFeuSM3g1jWQuQ==} - core-js@3.25.3: - resolution: {integrity: sha512-y1hvKXmPHvm5B7w4ln1S4uc9eV/O5+iFExSRUimnvIph11uaizFR8LFMdONN8hG3P2pipUfX4Y/fR8rAEtcHcQ==} + core-js@3.38.0: + resolution: {integrity: sha512-XPpwqEodRljce9KswjZShh95qJ1URisBeKCjUdq27YdenkslVe7OO0ZJhlYXAChW7OhXaRLl8AAba7IBfoIHug==} core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -2345,8 +2547,14 @@ packages: resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} engines: {node: '>=10'} - cross-fetch@3.1.5: - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} @@ -2355,27 +2563,34 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} - css-declaration-sorter@6.3.1: - resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} - engines: {node: ^10 || ^12 || >=14} + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 - css-loader@6.7.1: - resolution: {integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==} + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} engines: {node: '>= 12.13.0'} peerDependencies: + '@rspack/core': 0.x || 1.x webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true - css-minimizer-webpack-plugin@4.1.0: - resolution: {integrity: sha512-Zd+yz4nta4GXi3pMqF6skO8kjzuCUbr62z8SLMGZZtxWxTGTLopOiabPGNDEyjHCRhnhdA1EfHmqLa2Oekjtng==} + css-minimizer-webpack-plugin@5.0.1: + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} engines: {node: '>= 14.15.0'} peerDependencies: '@parcel/css': '*' + '@swc/css': '*' clean-css: '*' csso: '*' esbuild: '*' @@ -2384,6 +2599,8 @@ packages: peerDependenciesMeta: '@parcel/css': optional: true + '@swc/css': + optional: true clean-css: optional: true csso: @@ -2413,6 +2630,14 @@ packages: resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} engines: {node: '>=8.0.0'} + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-what@3.4.2: resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} engines: {node: '>= 6'} @@ -2430,40 +2655,47 @@ packages: engines: {node: '>=4'} hasBin: true - cssnano-preset-advanced@5.3.8: - resolution: {integrity: sha512-xUlLLnEB1LjpEik+zgRNlk8Y/koBPPtONZjp7JKbXigeAmCrFvq9H0pXW5jJV45bQWAlmJ0sKy+IMr0XxLYQZg==} - engines: {node: ^10 || ^12 || >=14.0} + cssnano-preset-advanced@6.1.2: + resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - cssnano-preset-default@5.2.12: - resolution: {integrity: sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==} - engines: {node: ^10 || ^12 || >=14.0} + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - cssnano-utils@3.1.0: - resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} - engines: {node: ^10 || ^12 || >=14.0} + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - cssnano@5.1.13: - resolution: {integrity: sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==} - engines: {node: ^10 || ^12 || >=14.0} + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 csso@4.2.0: resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} engines: {node: '>=8.0.0'} + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + csstype@3.0.10: resolution: {integrity: sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==} csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -2481,9 +2713,12 @@ packages: supports-color: optional: true - decompress-response@3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} @@ -2493,12 +2728,17 @@ packages: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} - defer-to-connect@1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} @@ -2516,12 +2756,13 @@ packages: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + destroy@1.0.4: resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} - detab@2.0.4: - resolution: {integrity: sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==} - detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -2530,11 +2771,14 @@ packages: engines: {node: '>= 4.2.1'} hasBin: true - detect-port@1.3.0: - resolution: {integrity: sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==} - engines: {node: '>= 4.2.1'} + detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} hasBin: true + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -2592,12 +2836,9 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - - duplexer3@0.1.4: - resolution: {integrity: sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==} + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -2614,28 +2855,31 @@ packages: electron-to-chromium@1.4.73: resolution: {integrity: sha512-RlCffXkE/LliqfA5m29+dVDPB2r72y2D2egMMfIy3Le8ODrxjuZNVo4NIC2yPL01N4xb4nZQLwzi6Z5tGIGLnA==} + electron-to-chromium@1.5.5: + resolution: {integrity: sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - emoticon@3.2.0: - resolution: {integrity: sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==} + emoticon@4.1.0: + resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - enhanced-resolve@5.10.0: - resolution: {integrity: sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} entities@2.1.0: @@ -2644,10 +2888,6 @@ packages: entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - entities@4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} @@ -2659,8 +2899,8 @@ packages: resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} engines: {node: '>= 0.4'} - es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -2670,9 +2910,13 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - escape-goat@2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -2685,6 +2929,10 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -2706,6 +2954,27 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.1.2: + resolution: {integrity: sha512-S0gW2+XZkmsx00tU2uJ4L9hUT7IFabbml9pHh2WQqFmAbxit++YGZne0sKJbNwkj9Wvg9E4uqWl4nCIFQMmfag==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -2760,19 +3029,13 @@ packages: fastq@1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} - fbemitter@3.0.0: - resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} - - fbjs-css-vars@1.0.2: - resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} - - fbjs@3.0.4: - resolution: {integrity: sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==} - feed@4.2.2: resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} engines: {node: '>=0.4.0'} @@ -2795,26 +3058,25 @@ packages: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} engines: {node: '>= 0.8'} - find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flux@4.0.3: - resolution: {integrity: sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw==} - peerDependencies: - react: ^15.0.2 || ^16.0.0 || ^17.0.0 + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true follow-redirects@1.14.9: resolution: {integrity: sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==} @@ -2839,20 +3101,28 @@ packages: vue-template-compiler: optional: true + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} @@ -2861,6 +3131,9 @@ packages: fs-monkey@1.0.3: resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} + fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2882,14 +3155,6 @@ packages: get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -2898,8 +3163,8 @@ packages: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} - github-slugger@1.4.0: - resolution: {integrity: sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==} + github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -2914,6 +3179,7 @@ packages: glob@7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + deprecated: Glob versions prior to v9 are no longer supported global-dirs@3.0.0: resolution: {integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==} @@ -2943,9 +3209,15 @@ packages: resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - got@9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} graceful-fs@4.2.9: resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} @@ -2980,34 +3252,40 @@ packages: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} - has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} + has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} - hast-to-hyperscript@9.0.1: - resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} - - hast-util-from-parse5@6.0.1: - resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==} + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} hast-util-is-element@1.1.0: resolution: {integrity: sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==} - hast-util-parse-selector@2.2.5: - resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.4: + resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} + + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} - hast-util-raw@6.0.1: - resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==} + hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} - hast-util-to-parse5@6.0.0: - resolution: {integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==} + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} - hastscript@6.0.0: - resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} @@ -3025,23 +3303,37 @@ packages: html-entities@2.3.2: resolution: {integrity: sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==} + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-minifier-terser@6.1.0: resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} engines: {node: '>=12'} hasBin: true - html-tags@3.2.0: - resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - html-void-elements@1.0.5: - resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==} + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - html-webpack-plugin@5.5.0: - resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} + html-webpack-plugin@5.6.0: + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: + '@rspack/core': 0.x || 1.x webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -3049,8 +3341,8 @@ packages: htmlparser2@8.0.1: resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==} - http-cache-semantics@4.1.0: - resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} http-deceiver@1.2.7: resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} @@ -3079,6 +3371,10 @@ packages: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -3102,9 +3398,9 @@ packages: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} - image-size@1.0.1: - resolution: {integrity: sha512-VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ==} - engines: {node: '>=12.0.0'} + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} hasBin: true immer@9.0.12: @@ -3114,9 +3410,9 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} - import-lazy@2.1.0: - resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} - engines: {node: '>=4'} + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -3132,6 +3428,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} @@ -3149,6 +3446,9 @@ packages: inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + inline-style-parser@0.2.3: + resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==} + internal-slot@1.0.3: resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} engines: {node: '>= 0.4'} @@ -3168,11 +3468,11 @@ packages: resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} engines: {node: '>= 10'} - is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} is-arrayish@0.2.1: resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} @@ -3188,16 +3488,12 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - is-callable@1.2.4: resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} engines: {node: '>= 0.4'} - is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true is-core-module@2.8.1: @@ -3207,8 +3503,8 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} - is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} @@ -3231,8 +3527,8 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} is-installed-globally@0.4.0: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} @@ -3242,9 +3538,9 @@ packages: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} - is-npm@5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} + is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} is-number-object@1.0.6: resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} @@ -3270,18 +3566,21 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -3315,18 +3614,13 @@ packages: is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-whitespace-character@1.0.4: - resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} - - is-word-character@1.0.4: - resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} - is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} - is-yarn-global@0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} + is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} @@ -3341,12 +3635,24 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} - joi@17.6.0: - resolution: {integrity: sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==} + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -3368,8 +3674,8 @@ packages: engines: {node: '>=4'} hasBin: true - json-buffer@3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -3385,16 +3691,16 @@ packages: engines: {node: '>=6'} hasBin: true - json5@2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - keyv@3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} @@ -3404,21 +3710,20 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - klona@2.0.5: - resolution: {integrity: sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==} - engines: {node: '>= 8'} + latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} - latest-version@5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} + launch-editor@2.8.1: + resolution: {integrity: sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==} leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - lilconfig@2.0.4: - resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} - engines: {node: '>=10'} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -3442,23 +3747,17 @@ packages: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.curry@4.1.1: - resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==} + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} lodash.debounce@4.0.8: resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} - lodash.flow@3.5.0: - resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} - lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -3468,6 +3767,9 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -3475,29 +3777,28 @@ packages: lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - - markdown-escapes@1.0.4: - resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} markdown-it@12.3.2: resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} hasBin: true + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + markdownlint-cli2-formatter-default@0.0.3: resolution: {integrity: sha512-QEAJitT5eqX1SNboOD+SO/LNBpu4P4je8JlR02ug2cLQAqmIhh8IJnSK7AcaHBHhNADqdGydnPpQOpsNcEEqCw==} peerDependencies: @@ -3515,21 +3816,69 @@ packages: resolution: {integrity: sha512-AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==} engines: {node: '>=12'} - mdast-squeeze-paragraphs@4.0.0: - resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==} + mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + + mdast-util-mdx-jsx@3.1.2: + resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - mdast-util-definitions@4.0.0: - resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==} + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - mdast-util-to-hast@10.0.1: - resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdn-data@2.0.4: resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} @@ -3553,6 +3902,10 @@ packages: resolution: {integrity: sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==} engines: {node: '>= 4.0.0'} + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} @@ -3567,6 +3920,129 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-directive@3.0.1: + resolution: {integrity: sha512-VGV2uxUzhEZmaP7NSFo2vtq7M2nUD+WfmYQD+d8i/1nHbzE+rMy9uzTvUybBbNiVbrhOZibg3gbyoARGqgDWyg==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.0: + resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + + micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromatch@4.0.4: resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} @@ -3604,19 +4080,16 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} - mini-create-react-context@0.4.1: - resolution: {integrity: sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - peerDependencies: - prop-types: ^15.0.0 - react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - mini-css-extract-plugin@2.6.1: - resolution: {integrity: sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==} + mini-css-extract-plugin@2.9.0: + resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -3637,8 +4110,8 @@ packages: resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} hasBin: true - mrmime@1.0.0: - resolution: {integrity: sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==} + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} ms@2.0.0: @@ -3654,8 +4127,8 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true - nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -3669,17 +4142,9 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} - - node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -3694,6 +4159,9 @@ packages: resolution: {integrity: sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==} engines: {node: '>= 6.13.0'} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.2: resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==} @@ -3708,13 +4176,9 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - normalize-url@4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} - - normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -3778,9 +4242,9 @@ packages: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true - p-cancelable@1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} @@ -3790,18 +4254,22 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-locate@3.0.0: + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -3814,9 +4282,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -3825,8 +4293,8 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} @@ -3838,9 +4306,6 @@ packages: parse5-htmlparser2-tree-adapter@7.0.0: resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - parse5@7.1.1: resolution: {integrity: sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==} @@ -3859,6 +4324,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -3894,131 +4363,138 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} - postcss-calc@8.2.4: - resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 - postcss-colormin@5.3.0: - resolution: {integrity: sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-convert-values@5.1.2: - resolution: {integrity: sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-discard-comments@5.1.2: - resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-discard-duplicates@5.1.0: - resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-discard-empty@5.1.1: - resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-discard-overridden@5.1.0: - resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-discard-unused@5.1.0: - resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-discard-unused@6.0.5: + resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-loader@7.0.1: - resolution: {integrity: sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==} + postcss-loader@7.3.4: + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 - postcss-merge-idents@5.1.1: - resolution: {integrity: sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-merge-idents@6.0.3: + resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-merge-longhand@5.1.6: - resolution: {integrity: sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-merge-rules@5.1.2: - resolution: {integrity: sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-minify-font-values@5.1.0: - resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-minify-gradients@5.1.1: - resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-minify-params@5.1.3: - resolution: {integrity: sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-minify-selectors@5.2.1: - resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-modules-extract-imports@3.0.0: - resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 - postcss-modules-local-by-default@4.0.0: - resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} + postcss-modules-local-by-default@4.0.5: + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 - postcss-modules-scope@3.0.0: - resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + postcss-modules-scope@3.2.0: + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 @@ -4029,123 +4505,123 @@ packages: peerDependencies: postcss: ^8.1.0 - postcss-normalize-charset@5.1.0: - resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-normalize-display-values@5.1.0: - resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-normalize-positions@5.1.1: - resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-normalize-repeat-style@5.1.1: - resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-normalize-string@5.1.0: - resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-normalize-timing-functions@5.1.0: - resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-normalize-unicode@5.1.0: - resolution: {integrity: sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-normalize-url@5.1.0: - resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-normalize-whitespace@5.1.1: - resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-ordered-values@5.1.3: - resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-reduce-idents@5.2.0: - resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-reduce-idents@6.0.3: + resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-reduce-initial@5.1.0: - resolution: {integrity: sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-reduce-transforms@5.1.0: - resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 postcss-selector-parser@6.0.9: resolution: {integrity: sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==} engines: {node: '>=4'} - postcss-sort-media-queries@4.2.1: - resolution: {integrity: sha512-9VYekQalFZ3sdgcTjXMa0dDjsfBVHXlraYJEMiOJ/2iMmI2JGCMavP16z3kWOaRu8NSaJCTgVpB/IVpH5yT9YQ==} - engines: {node: '>=10.0.0'} + postcss-selector-parser@6.1.1: + resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} + engines: {node: '>=4'} + + postcss-sort-media-queries@5.2.0: + resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} + engines: {node: '>=14.0.0'} peerDependencies: - postcss: ^8.4.4 + postcss: ^8.4.23 - postcss-svgo@5.1.0: - resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss-unique-selectors@5.1.1: - resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss-zindex@5.1.0: - resolution: {integrity: sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==} - engines: {node: ^10 || ^12 || >=14.0} + postcss-zindex@6.0.2: + resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 - postcss@8.4.16: - resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} + postcss@8.4.41: + resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} - prepend-http@2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} - pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -4153,10 +4629,10 @@ packages: resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} engines: {node: '>=4'} - prism-react-renderer@1.3.5: - resolution: {integrity: sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==} + prism-react-renderer@2.3.1: + resolution: {integrity: sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==} peerDependencies: - react: '>=0.14.9' + react: '>=16.0.0' prismjs@1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} @@ -4165,9 +4641,6 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -4175,16 +4648,16 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - property-information@5.6.0: - resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} @@ -4192,12 +4665,9 @@ packages: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} - pupa@2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} - - pure-color@1.3.0: - resolution: {integrity: sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==} + pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} q@1.5.1: resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=} @@ -4213,6 +4683,10 @@ packages: queue@6.0.2: resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -4232,9 +4706,6 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-base16-styling@0.6.0: - resolution: {integrity: sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==} - react-dev-utils@12.0.1: resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} @@ -4245,10 +4716,10 @@ packages: typescript: optional: true - react-dom@17.0.2: - resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: 17.0.2 + react: ^18.3.1 react-error-overlay@6.0.11: resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} @@ -4265,14 +4736,11 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-json-view@1.21.3: - resolution: {integrity: sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==} + react-json-view-lite@1.4.0: + resolution: {integrity: sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==} + engines: {node: '>=14'} peerDependencies: - react: ^17.0.0 || ^16.3.0 || ^15.5.4 - react-dom: ^17.0.0 || ^16.3.0 || ^15.5.4 - - react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + react: ^16.13.1 || ^17.0.0 || ^18.0.0 react-loadable-ssr-addon-v5-slorber@1.0.1: resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} @@ -4287,24 +4755,18 @@ packages: react: '>=15' react-router: '>=5' - react-router-dom@5.3.3: - resolution: {integrity: sha512-Ov0tGPMBgqmbu5CDmN++tv2HQ9HlWDuWIIqn4b88gjlAN5IHI+4ZUZRcpz9Hl0azFIwihbLDYw1OiHGRo7ZIng==} + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} peerDependencies: react: '>=15' - react-router@5.3.3: - resolution: {integrity: sha512-mzQGUvS3bM84TnbtMYR8ZjKnuPJ71IjSzR+DE6UkUqvN4czWIqEs17yLL8xkAycv4ev0AiN+IGrWu88vJs/p2w==} + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} peerDependencies: react: '>=15' - react-textarea-autosize@8.3.3: - resolution: {integrity: sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==} - engines: {node: '>=10'} - peerDependencies: - react: ^16.8.0 || ^17.0.0 - - react@17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} readable-stream@2.3.7: @@ -4343,11 +4805,14 @@ packages: regenerator-runtime@0.13.9: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regenerator-transform@0.14.5: resolution: {integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==} - regenerator-transform@0.15.0: - resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} regexpu-core@5.0.1: resolution: {integrity: sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==} @@ -4357,13 +4822,17 @@ packages: resolution: {integrity: sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==} engines: {node: '>=4'} - registry-auth-token@4.2.1: - resolution: {integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==} - engines: {node: '>=6.0.0'} + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} - registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} + registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} regjsgen@0.6.0: resolution: {integrity: sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==} @@ -4379,32 +4848,41 @@ packages: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} - remark-emoji@2.2.0: - resolution: {integrity: sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==} + remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - remark-footnotes@2.0.0: - resolution: {integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==} + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} - remark-mdx@1.6.22: - resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==} + remark-mdx@3.0.1: + resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} - remark-parse@8.0.3: - resolution: {integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==} + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-squeeze-paragraphs@4.0.0: - resolution: {integrity: sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==} + remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} renderkid@3.0.0: resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} - repeat-string@1.6.1: - resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=} - engines: {node: '>=0.10'} - require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -4415,6 +4893,9 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -4430,8 +4911,9 @@ packages: resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} hasBin: true - responselike@1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} @@ -4443,21 +4925,20 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rtl-detect@1.0.4: resolution: {integrity: sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==} - rtlcss@3.5.0: - resolution: {integrity: sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==} + rtlcss@4.2.0: + resolution: {integrity: sha512-AV+V3oOVvCrqyH5Q/6RuT1IDH1Xy5kJTkEWTWZPN5rdQ3HCFOd8SrbC7c6N5Y8bPpCfZSR6yYbUATXslvfvu5g==} + engines: {node: '>=12.0.0'} hasBin: true run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@7.5.4: - resolution: {integrity: sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==} - safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -4470,25 +4951,32 @@ packages: sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - scheduler@0.20.2: - resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} schema-utils@2.7.0: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} engines: {node: '>= 8.9.0'} - schema-utils@2.7.1: - resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} - engines: {node: '>= 8.9.0'} - schema-utils@3.1.1: resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} engines: {node: '>= 10.13.0'} + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + schema-utils@4.0.0: resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} engines: {node: '>= 12.13.0'} + schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + + search-insights@2.16.1: + resolution: {integrity: sha512-3OMcoa+6ZSl5KjpWiP+jsEURf81S3ipiTodfkguWaXNOvS4ILfYe8cwV4gXopTEN+G1avWqBdf0HmSToVcAxFA==} + section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} @@ -4500,25 +4988,20 @@ packages: resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} engines: {node: '>=10'} - semver-diff@3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} - - semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - semver@7.0.0: - resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.3.7: - resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} - engines: {node: '>=10'} + semver@7.0.0: + resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} hasBin: true semver@7.5.4: @@ -4533,12 +5016,15 @@ packages: serialize-javascript@6.0.0: resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + seroval@0.12.4: resolution: {integrity: sha512-JIsZHp98o+okpYN8HEPyI9Blr0gxAUPIGvg3waXrEMFjPz9obiLYMz0uFiUGezKiCK8loosYbn8WsqO8WtAJUA==} engines: {node: '>=10'} - serve-handler@6.1.3: - resolution: {integrity: sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==} + serve-handler@6.1.5: + resolution: {integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==} serve-index@1.9.1: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} @@ -4548,9 +5034,6 @@ packages: resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} engines: {node: '>= 0.8.0'} - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} @@ -4575,6 +5058,9 @@ packages: shell-quote@1.7.3: resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shelljs@0.8.5: resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} engines: {node: '>=4'} @@ -4586,8 +5072,8 @@ packages: signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - sirv@1.0.19: - resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} sisteransi@1.0.5: @@ -4598,6 +5084,10 @@ packages: engines: {node: '>=12.0.0', npm: '>=5.6.0'} hasBin: true + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -4606,20 +5096,27 @@ packages: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + sockjs@0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} solid-js@1.8.5: resolution: {integrity: sha512-xvtJvzJzWbsn35oKFhW9kNwaxG1Z/YLMsDp4tLVcYZTMPzvzQ8vEZuyDQ6nt7xDArVgZJ7TUFrJUwrui/oq53A==} - sort-css-media-queries@2.0.4: - resolution: {integrity: sha512-PAIsEK/XupCQwitjv7XxoMvYhT7EAfyzI3hsy/MyDgTvc+Ft55ctdkctJLOy6cQejaIC+zjpUL4djFVm2ivOOw==} + sort-css-media-queries@2.2.0: + resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} engines: {node: '>= 6.3.0'} source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -4631,8 +5128,12 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - space-separated-tokens@1.1.5: - resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} @@ -4644,12 +5145,13 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - state-toggle@1.0.3: - resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} - statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -4665,6 +5167,10 @@ packages: resolution: {integrity: sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==} engines: {node: '>=12'} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + string.prototype.trimend@1.0.4: resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} @@ -4677,6 +5183,9 @@ packages: string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} @@ -4709,14 +5218,17 @@ packages: resolution: {integrity: sha512-LzWcbfMbAsEDTRmhjWIioe8GcDRl0fa35YMXFoJKDdiD/quGFmjJjdgPjFJJNwCMaLyQqFIDqCdHD2V4HfLgYA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - style-to-object@0.3.0: - resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.6: + resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} - stylehacks@5.1.0: - resolution: {integrity: sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==} - engines: {node: ^10 || ^12 || >=14.0} + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -4743,9 +5255,9 @@ packages: deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. hasBin: true - svgo@2.8.0: - resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} - engines: {node: '>=10.13.0'} + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} hasBin: true swc-loader@0.2.6: @@ -4762,8 +5274,8 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - terser-webpack-plugin@5.3.6: - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -4783,6 +5295,11 @@ packages: engines: {node: '>=10'} hasBin: true + terser@5.31.5: + resolution: {integrity: sha512-YPmas0L0rE1UyLL/llTWA0SiDOqIcAQYLeUj7cJYzXHlRTAnMSg9pPe4VJ5PlKvTrPQsdVFuiRiwyeNlYgwh2Q==} + engines: {node: '>=10'} + hasBin: true + text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -4799,10 +5316,6 @@ packages: resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} engines: {node: '>=4'} - to-readable-stream@1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -4811,34 +5324,34 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - totalist@1.1.0: - resolution: {integrity: sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trim-trailing-lines@1.1.4: - resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - trim@0.0.1: - resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} - deprecated: Use String.prototype.trim() instead + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} type-fest@2.12.0: resolution: {integrity: sha512-Qe5GRT+n/4GoqCNGGVp5Snapg1Omq3V7irBJB3EaKsp7HWDo5Gv2d/67gfNyV+d5EXD+x/RF5l1h4yJ7qNkcGA==} engines: {node: '>=12.20'} + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -4851,22 +5364,20 @@ packages: engines: {node: '>=12.20'} hasBin: true - ua-parser-js@0.7.31: - resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} - uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} unbox-primitive@1.0.1: resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} - unherit@1.1.3: - resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} - unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} @@ -4875,46 +5386,41 @@ packages: resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==} engines: {node: '>=4'} + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + unicode-property-aliases-ecmascript@2.0.0: resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==} engines: {node: '>=4'} - unified@9.2.0: - resolution: {integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==} - - unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} - - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - - unist-builder@2.0.3: - resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unist-util-generated@1.1.6: - resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==} + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} - unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - unist-util-position@3.1.0: - resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==} + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - unist-util-remove-position@2.0.1: - resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==} + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - unist-util-remove@2.1.0: - resolution: {integrity: sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==} + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - unist-util-visit@2.0.3: - resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} @@ -4933,9 +5439,15 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - update-notifier@5.1.0: - resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} - engines: {node: '>=10'} + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -4950,38 +5462,6 @@ packages: file-loader: optional: true - url-parse-lax@3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} - - use-composed-ref@1.2.1: - resolution: {integrity: sha512-6+X1FLlIcjvFMAeAD/hcxDT8tmyrWnbSPMU0EnxQuDLIxokuFzWliXBiYZuGIx+mrAMLBw0WFfCkaPw8ebzAhw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 - - use-isomorphic-layout-effect@1.1.1: - resolution: {integrity: sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - use-latest@1.2.0: - resolution: {integrity: sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - use-sync-external-store@1.2.0: - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -5014,65 +5494,62 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vfile-location@3.2.0: - resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==} - - vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} - wait-on@6.0.1: - resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} - engines: {node: '>=10.0.0'} - hasBin: true + vfile@6.0.2: + resolution: {integrity: sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==} - watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} engines: {node: '>=10.13.0'} wbuf@1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - web-namespaces@1.1.4: - resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webpack-bundle-analyzer@4.5.0: - resolution: {integrity: sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==} + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} engines: {node: '>= 10.13.0'} hasBin: true - webpack-dev-middleware@5.3.1: - resolution: {integrity: sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==} + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^4.0.0 || ^5.0.0 - webpack-dev-server@4.11.1: - resolution: {integrity: sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==} + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} engines: {node: '>= 12.13.0'} hasBin: true peerDependencies: webpack: ^4.37.0 || ^5.0.0 webpack-cli: '*' peerDependenciesMeta: + webpack: + optional: true webpack-cli: optional: true - webpack-merge@5.8.0: - resolution: {integrity: sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==} + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} engines: {node: '>=10.0.0'} webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.74.0: - resolution: {integrity: sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==} + webpack@5.93.0: + resolution: {integrity: sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -5110,10 +5587,6 @@ packages: engines: {node: '>= 8'} hasBin: true - widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - widest-line@4.0.1: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} @@ -5121,14 +5594,14 @@ packages: wildcard@2.0.0: resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - wrap-ansi@8.0.1: resolution: {integrity: sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==} engines: {node: '>=12'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -5147,29 +5620,28 @@ packages: utf-8-validate: optional: true - ws@8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 + utf-8-validate: '>=5.0.2' peerDependenciesMeta: bufferutil: optional: true utf-8-validate: optional: true - xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} xml-js@1.6.11: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} hasBin: true - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -5182,91 +5654,130 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zwitch@1.0.5: - resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@algolia/autocomplete-core@1.7.1': + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.16.1)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.16.1) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.16.1)': dependencies: - '@algolia/autocomplete-shared': 1.7.1 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) + search-insights: 2.16.1 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch - '@algolia/autocomplete-preset-algolia@1.7.1(@algolia/client-search@4.14.2)(algoliasearch@4.14.2)': + '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)': dependencies: - '@algolia/autocomplete-shared': 1.7.1 - '@algolia/client-search': 4.14.2 - algoliasearch: 4.14.2 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) + '@algolia/client-search': 4.24.0 + algoliasearch: 4.24.0 - '@algolia/autocomplete-shared@1.7.1': {} + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)': + dependencies: + '@algolia/client-search': 4.24.0 + algoliasearch: 4.24.0 - '@algolia/cache-browser-local-storage@4.14.2': + '@algolia/cache-browser-local-storage@4.24.0': dependencies: - '@algolia/cache-common': 4.14.2 + '@algolia/cache-common': 4.24.0 - '@algolia/cache-common@4.14.2': {} + '@algolia/cache-common@4.24.0': {} - '@algolia/cache-in-memory@4.14.2': + '@algolia/cache-in-memory@4.24.0': dependencies: - '@algolia/cache-common': 4.14.2 + '@algolia/cache-common': 4.24.0 - '@algolia/client-account@4.14.2': + '@algolia/client-account@4.24.0': dependencies: - '@algolia/client-common': 4.14.2 - '@algolia/client-search': 4.14.2 - '@algolia/transporter': 4.14.2 + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/client-analytics@4.14.2': + '@algolia/client-analytics@4.24.0': dependencies: - '@algolia/client-common': 4.14.2 - '@algolia/client-search': 4.14.2 - '@algolia/requester-common': 4.14.2 - '@algolia/transporter': 4.14.2 + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/client-common@4.14.2': + '@algolia/client-common@4.24.0': dependencies: - '@algolia/requester-common': 4.14.2 - '@algolia/transporter': 4.14.2 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/client-personalization@4.14.2': + '@algolia/client-personalization@4.24.0': dependencies: - '@algolia/client-common': 4.14.2 - '@algolia/requester-common': 4.14.2 - '@algolia/transporter': 4.14.2 + '@algolia/client-common': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/client-search@4.14.2': + '@algolia/client-search@4.24.0': dependencies: - '@algolia/client-common': 4.14.2 - '@algolia/requester-common': 4.14.2 - '@algolia/transporter': 4.14.2 + '@algolia/client-common': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 '@algolia/events@4.0.1': {} - '@algolia/logger-common@4.14.2': {} + '@algolia/logger-common@4.24.0': {} + + '@algolia/logger-console@4.24.0': + dependencies: + '@algolia/logger-common': 4.24.0 - '@algolia/logger-console@4.14.2': + '@algolia/recommend@4.24.0': dependencies: - '@algolia/logger-common': 4.14.2 + '@algolia/cache-browser-local-storage': 4.24.0 + '@algolia/cache-common': 4.24.0 + '@algolia/cache-in-memory': 4.24.0 + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/logger-console': 4.24.0 + '@algolia/requester-browser-xhr': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/requester-node-http': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/requester-browser-xhr@4.14.2': + '@algolia/requester-browser-xhr@4.24.0': dependencies: - '@algolia/requester-common': 4.14.2 + '@algolia/requester-common': 4.24.0 - '@algolia/requester-common@4.14.2': {} + '@algolia/requester-common@4.24.0': {} - '@algolia/requester-node-http@4.14.2': + '@algolia/requester-node-http@4.24.0': dependencies: - '@algolia/requester-common': 4.14.2 + '@algolia/requester-common': 4.24.0 - '@algolia/transporter@4.14.2': + '@algolia/transporter@4.24.0': dependencies: - '@algolia/cache-common': 4.14.2 - '@algolia/logger-common': 4.14.2 - '@algolia/requester-common': 4.14.2 + '@algolia/cache-common': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/requester-common': 4.24.0 '@ampproject/remapping@2.1.2': dependencies: '@jridgewell/trace-mapping': 0.3.4 + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + '@babel/code-frame@7.16.7': dependencies: '@babel/highlight': 7.16.10 @@ -5275,30 +5786,14 @@ snapshots: dependencies: '@babel/highlight': 7.18.6 - '@babel/compat-data@7.17.0': {} + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.0 - '@babel/compat-data@7.19.3': {} + '@babel/compat-data@7.17.0': {} - '@babel/core@7.12.9': - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.3 - '@babel/helper-module-transforms': 7.19.0 - '@babel/helpers': 7.19.0 - '@babel/parser': 7.19.3 - '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - convert-source-map: 1.8.0 - debug: 4.3.3 - gensync: 1.0.0-beta.2 - json5: 2.2.1 - lodash: 4.17.21 - resolve: 1.22.0 - semver: 5.7.1 - source-map: 0.5.7 - transitivePeerDependencies: - - supports-color + '@babel/compat-data@7.25.2': {} '@babel/core@7.17.5': dependencies: @@ -5320,23 +5815,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/core@7.19.3': - dependencies: - '@ampproject/remapping': 2.1.2 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.3 - '@babel/helper-compilation-targets': 7.19.3(@babel/core@7.19.3) - '@babel/helper-module-transforms': 7.19.0 - '@babel/helpers': 7.19.0 - '@babel/parser': 7.19.3 - '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - convert-source-map: 1.8.0 + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.0 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.0 + '@babel/parser': 7.25.3 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 + convert-source-map: 2.0.0 debug: 4.3.3 gensync: 1.0.0-beta.2 - json5: 2.2.1 - semver: 6.3.0 + json5: 2.2.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -5346,10 +5841,11 @@ snapshots: jsesc: 2.5.2 source-map: 0.5.7 - '@babel/generator@7.19.3': + '@babel/generator@7.25.0': dependencies: - '@babel/types': 7.19.3 - '@jridgewell/gen-mapping': 0.3.2 + '@babel/types': 7.25.2 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 '@babel/helper-annotate-as-pure@7.16.7': @@ -5360,15 +5856,21 @@ snapshots: dependencies: '@babel/types': 7.19.3 + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.25.2 + '@babel/helper-builder-binary-assignment-operator-visitor@7.16.7': dependencies: '@babel/helper-explode-assignable-expression': 7.16.7 '@babel/types': 7.17.0 - '@babel/helper-builder-binary-assignment-operator-visitor@7.18.9': + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: - '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.19.3 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 + transitivePeerDependencies: + - supports-color '@babel/helper-compilation-targets@7.16.7(@babel/core@7.17.5)': dependencies: @@ -5378,13 +5880,13 @@ snapshots: browserslist: 4.19.3 semver: 6.3.0 - '@babel/helper-compilation-targets@7.19.3(@babel/core@7.19.3)': + '@babel/helper-compilation-targets@7.25.2': dependencies: - '@babel/compat-data': 7.19.3 - '@babel/core': 7.19.3 - '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.4 - semver: 6.3.0 + '@babel/compat-data': 7.25.2 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 '@babel/helper-create-class-features-plugin@7.17.6(@babel/core@7.17.5)': dependencies: @@ -5399,16 +5901,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-class-features-plugin@7.19.0(@babel/core@7.19.3)': + '@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.18.9 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.19.1 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/traverse': 7.25.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -5418,18 +5920,19 @@ snapshots: '@babel/helper-annotate-as-pure': 7.16.7 regexpu-core: 5.0.1 - '@babel/helper-create-regexp-features-plugin@7.17.0(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-annotate-as-pure': 7.16.7 - regexpu-core: 5.0.1 - - '@babel/helper-create-regexp-features-plugin@7.19.0(@babel/core@7.19.3)': + '@babel/helper-create-regexp-features-plugin@7.19.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.2.1 + '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 + '@babel/helper-define-polyfill-provider@0.3.1(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 @@ -5444,15 +5947,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.19.3)': + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-compilation-targets': 7.19.3(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.3 lodash.debounce: 4.0.8 resolve: 1.22.0 - semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -5460,27 +5962,16 @@ snapshots: dependencies: '@babel/types': 7.17.0 - '@babel/helper-environment-visitor@7.18.9': {} - '@babel/helper-explode-assignable-expression@7.16.7': dependencies: '@babel/types': 7.17.0 - '@babel/helper-explode-assignable-expression@7.18.6': - dependencies: - '@babel/types': 7.19.3 - '@babel/helper-function-name@7.16.7': dependencies: '@babel/helper-get-function-arity': 7.16.7 '@babel/template': 7.16.7 '@babel/types': 7.17.0 - '@babel/helper-function-name@7.19.0': - dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.19.3 - '@babel/helper-get-function-arity@7.16.7': dependencies: '@babel/types': 7.17.0 @@ -5489,25 +5980,27 @@ snapshots: dependencies: '@babel/types': 7.17.0 - '@babel/helper-hoist-variables@7.18.6': - dependencies: - '@babel/types': 7.19.3 - '@babel/helper-member-expression-to-functions@7.16.7': dependencies: '@babel/types': 7.17.0 - '@babel/helper-member-expression-to-functions@7.18.9': + '@babel/helper-member-expression-to-functions@7.24.8': dependencies: - '@babel/types': 7.19.3 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 + transitivePeerDependencies: + - supports-color '@babel/helper-module-imports@7.16.7': dependencies: '@babel/types': 7.17.0 - '@babel/helper-module-imports@7.18.6': + '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/types': 7.19.3 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 + transitivePeerDependencies: + - supports-color '@babel/helper-module-transforms@7.17.6': dependencies: @@ -5522,16 +6015,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.19.0': + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -5539,15 +6029,13 @@ snapshots: dependencies: '@babel/types': 7.17.0 - '@babel/helper-optimise-call-expression@7.18.6': + '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.19.3 - - '@babel/helper-plugin-utils@7.10.4': {} + '@babel/types': 7.25.2 '@babel/helper-plugin-utils@7.16.7': {} - '@babel/helper-plugin-utils@7.19.0': {} + '@babel/helper-plugin-utils@7.24.8': {} '@babel/helper-remap-async-to-generator@7.16.8': dependencies: @@ -5557,13 +6045,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.19.3)': + '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.19.0 - '@babel/types': 7.19.3 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-wrap-function': 7.25.0 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -5577,13 +6064,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.19.1': + '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.18.9 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/core': 7.25.2 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -5591,35 +6077,41 @@ snapshots: dependencies: '@babel/types': 7.17.0 - '@babel/helper-simple-access@7.18.6': + '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/types': 7.19.3 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 + transitivePeerDependencies: + - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.16.0': dependencies: '@babel/types': 7.17.0 - '@babel/helper-skip-transparent-expression-wrappers@7.18.9': + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/types': 7.19.3 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 + transitivePeerDependencies: + - supports-color '@babel/helper-split-export-declaration@7.16.7': dependencies: '@babel/types': 7.17.0 - '@babel/helper-split-export-declaration@7.18.6': - dependencies: - '@babel/types': 7.19.3 - '@babel/helper-string-parser@7.18.10': {} + '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-validator-identifier@7.16.7': {} '@babel/helper-validator-identifier@7.19.1': {} + '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-option@7.16.7': {} - '@babel/helper-validator-option@7.18.6': {} + '@babel/helper-validator-option@7.24.8': {} '@babel/helper-wrap-function@7.16.8': dependencies: @@ -5630,12 +6122,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-wrap-function@7.19.0': + '@babel/helper-wrap-function@7.25.0': dependencies: - '@babel/helper-function-name': 7.19.0 - '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -5647,13 +6138,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helpers@7.19.0': + '@babel/helpers@7.25.0': dependencies: - '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - transitivePeerDependencies: - - supports-color + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 '@babel/highlight@7.16.10': dependencies: @@ -5667,23 +6155,43 @@ snapshots: chalk: 2.4.2 js-tokens: 4.0.0 + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + '@babel/parser@7.17.3': dependencies: '@babel/types': 7.17.0 - '@babel/parser@7.19.3': + '@babel/parser@7.25.3': dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.25.2 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.16.7(@babel/core@7.17.5)': dependencies: @@ -5692,12 +6200,22 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 '@babel/plugin-proposal-optional-chaining': 7.16.7(@babel/core@7.17.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9(@babel/core@7.19.3)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 - '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.19.3) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.3 + transitivePeerDependencies: + - supports-color '@babel/plugin-proposal-async-generator-functions@7.16.8(@babel/core@7.17.5)': dependencies: @@ -5708,16 +6226,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-async-generator-functions@7.19.1(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.19.3) - transitivePeerDependencies: - - supports-color - '@babel/plugin-proposal-class-properties@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 @@ -5726,14 +6234,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-class-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 - transitivePeerDependencies: - - supports-color - '@babel/plugin-proposal-class-static-block@7.17.6(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 @@ -5743,94 +6243,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-class-static-block@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-class-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.19.3) - transitivePeerDependencies: - - supports-color - '@babel/plugin-proposal-dynamic-import@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.17.5) - '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.19.3) - - '@babel/plugin-proposal-export-namespace-from@7.16.7(@babel/core@7.17.5)': + '@babel/plugin-proposal-export-namespace-from@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.17.5) - '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-proposal-json-strings@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.17.5) - '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-proposal-logical-assignment-operators@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.17.5) - '@babel/plugin-proposal-logical-assignment-operators@7.18.9(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.19.3) - '@babel/plugin-proposal-nullish-coalescing-operator@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.17.5) - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-proposal-numeric-separator@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.17.5) - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.19.3) - - '@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9)': - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@babel/plugin-transform-parameters': 7.18.8(@babel/core@7.12.9) - '@babel/plugin-proposal-object-rest-spread@7.17.3(@babel/core@7.17.5)': dependencies: '@babel/compat-data': 7.17.0 @@ -5840,27 +6288,12 @@ snapshots: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.17.5) '@babel/plugin-transform-parameters': 7.16.7(@babel/core@7.17.5) - '@babel/plugin-proposal-object-rest-spread@7.18.9(@babel/core@7.19.3)': - dependencies: - '@babel/compat-data': 7.19.3 - '@babel/core': 7.19.3 - '@babel/helper-compilation-targets': 7.19.3(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-transform-parameters': 7.18.8(@babel/core@7.19.3) - '@babel/plugin-proposal-optional-catch-binding@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.17.5) - '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-proposal-optional-chaining@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 @@ -5868,13 +6301,6 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.17.5) - '@babel/plugin-proposal-optional-chaining@7.18.9(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-proposal-private-methods@7.16.11(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 @@ -5883,14 +6309,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-class-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 - transitivePeerDependencies: - - supports-color - '@babel/plugin-proposal-private-property-in-object@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 @@ -5901,15 +6319,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.19.3) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.25.2 '@babel/plugin-proposal-unicode-property-regex@7.16.7(@babel/core@7.17.5)': dependencies: @@ -5917,26 +6329,14 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.17.0(@babel/core@7.17.5) '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-proposal-unicode-property-regex@7.16.7(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-regexp-features-plugin': 7.17.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.16.7 - - '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.19.3)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.17.5)': @@ -5944,9 +6344,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.19.3)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.17.5)': @@ -5954,9 +6354,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.19.3)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.17.5)': @@ -5964,9 +6364,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.19.3)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.17.5)': @@ -5974,49 +6374,54 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.19.3)': + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-import-assertions@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.19.3)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9)': - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-jsx@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.19.3)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.17.5)': @@ -6024,9 +6429,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.19.3)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.17.5)': @@ -6034,14 +6439,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.16.7 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.9 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.17.5)': @@ -6049,9 +6449,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.19.3)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.17.5)': @@ -6059,9 +6459,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.19.3)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.17.5)': @@ -6069,9 +6469,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.19.3)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.17.5)': @@ -6079,9 +6479,9 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.19.3)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.17.5)': @@ -6089,25 +6489,41 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.19.3)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-syntax-typescript@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-arrow-functions@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-arrow-functions@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-async-generator-functions@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/traverse': 7.25.3 + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-async-to-generator@7.16.8(@babel/core@7.17.5)': dependencies: @@ -6118,12 +6534,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.19.3) + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -6132,20 +6548,37 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-block-scoping@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-block-scoping@7.18.9(@babel/core@7.19.3)': + '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-classes@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6161,17 +6594,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.19.0(@babel/core@7.19.3)': + '@babel/plugin-transform-classes@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.19.3(@babel/core@7.19.3) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-replace-supers': 7.19.1 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/traverse': 7.25.3 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -6181,20 +6611,21 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-computed-properties@7.18.9(@babel/core@7.19.3)': + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/template': 7.25.0 '@babel/plugin-transform-destructuring@7.17.3(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-destructuring@7.18.13(@babel/core@7.19.3)': + '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-dotall-regex@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6202,27 +6633,33 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.17.0(@babel/core@7.17.5) '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-dotall-regex@7.16.7(@babel/core@7.19.3)': - dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-regexp-features-plugin': 7.17.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.16.7 - - '@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-duplicate-keys@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.19.3)': + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-exponentiation-operator@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6230,21 +6667,32 @@ snapshots: '@babel/helper-builder-binary-assignment-operator-visitor': 7.16.7 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-for-of@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-for-of@7.18.8(@babel/core@7.19.3)': + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-function-name@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6253,32 +6701,46 @@ snapshots: '@babel/helper-function-name': 7.16.7 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-function-name@7.18.9(@babel/core@7.19.3)': + '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-compilation-targets': 7.19.3(@babel/core@7.19.3) - '@babel/helper-function-name': 7.19.0 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-literals@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-literals@7.18.9(@babel/core@7.19.3)': + '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) '@babel/plugin-transform-member-expression-literals@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-modules-amd@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6289,12 +6751,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-amd@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-module-transforms': 7.19.0 - '@babel/helper-plugin-utils': 7.19.0 - babel-plugin-dynamic-import-node: 2.3.3 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -6308,13 +6769,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-module-transforms': 7.19.0 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-simple-access': 7.18.6 - babel-plugin-dynamic-import-node: 2.3.3 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color @@ -6329,14 +6789,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.19.0(@babel/core@7.19.3)': + '@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.19.0 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-validator-identifier': 7.19.1 - babel-plugin-dynamic-import-node: 2.3.3 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -6348,11 +6807,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-module-transforms': 7.19.0 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -6361,21 +6820,41 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-create-regexp-features-plugin': 7.17.0(@babel/core@7.17.5) - '@babel/plugin-transform-named-capturing-groups-regex@7.19.1(@babel/core@7.19.3)': + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-new-target@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-new-target@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-object-super@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6385,11 +6864,26 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-replace-supers': 7.19.1 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -6398,55 +6892,70 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-parameters@7.18.8(@babel/core@7.12.9)': + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-parameters@7.18.8(@babel/core@7.19.3)': + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-property-literals@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-constant-elements@7.17.6(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-react-constant-elements@7.17.6(@babel/core@7.19.3)': + '@babel/plugin-transform-react-constant-elements@7.25.1(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.16.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-display-name@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-jsx-development@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/plugin-transform-react-jsx': 7.17.3(@babel/core@7.17.5) - '@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.19.3) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-react-jsx@7.17.3(@babel/core@7.17.5)': dependencies: @@ -6457,14 +6966,16 @@ snapshots: '@babel/plugin-syntax-jsx': 7.16.7(@babel/core@7.17.5) '@babel/types': 7.17.0 - '@babel/plugin-transform-react-jsx@7.19.0(@babel/core@7.19.3)': + '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.19.3) - '@babel/types': 7.19.3 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/types': 7.25.2 + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-react-pure-annotations@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6472,42 +6983,42 @@ snapshots: '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-regenerator@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 regenerator-transform: 0.14.5 - '@babel/plugin-transform-regenerator@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - regenerator-transform: 0.15.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + regenerator-transform: 0.15.2 '@babel/plugin-transform-reserved-words@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-runtime@7.19.1(@babel/core@7.19.3)': + '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.19.0 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.19.3) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.19.3) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.19.3) - semver: 6.3.0 + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -6516,10 +7027,10 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-spread@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6527,48 +7038,52 @@ snapshots: '@babel/helper-plugin-utils': 7.16.7 '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - '@babel/plugin-transform-spread@7.19.0(@babel/core@7.19.3)': + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-sticky-regex@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-template-literals@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.19.3)': + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-typeof-symbol@7.16.7(@babel/core@7.17.5)': dependencies: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.19.3)': + '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-typescript@7.19.3(@babel/core@7.19.3)': + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-class-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-typescript': 7.18.6(@babel/core@7.19.3) + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -6577,10 +7092,16 @@ snapshots: '@babel/core': 7.17.5 '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.19.3)': + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-unicode-regex@7.16.7(@babel/core@7.17.5)': dependencies: @@ -6588,11 +7109,17 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.17.0(@babel/core@7.17.5) '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.19.3)': + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/preset-env@7.16.11(@babel/core@7.17.5)': dependencies: @@ -6674,84 +7201,92 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-env@7.19.3(@babel/core@7.19.3)': - dependencies: - '@babel/compat-data': 7.19.3 - '@babel/core': 7.19.3 - '@babel/helper-compilation-targets': 7.19.3(@babel/core@7.19.3) - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-proposal-async-generator-functions': 7.19.1(@babel/core@7.19.3) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-class-static-block': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-logical-assignment-operators': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-object-rest-spread': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-private-property-in-object': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.19.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.19.3) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.19.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-syntax-import-assertions': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.19.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.19.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.19.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.19.3) - '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-async-to-generator': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-block-scoping': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-classes': 7.19.0(@babel/core@7.19.3) - '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-destructuring': 7.18.13(@babel/core@7.19.3) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-for-of': 7.18.8(@babel/core@7.19.3) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-modules-amd': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-modules-commonjs': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-modules-systemjs': 7.19.0(@babel/core@7.19.3) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.19.1(@babel/core@7.19.3) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-parameters': 7.18.8(@babel/core@7.19.3) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-regenerator': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.19.3) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.19.3) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.19.3) - '@babel/preset-modules': 0.1.5(@babel/core@7.19.3) - '@babel/types': 7.19.3 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.19.3) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.19.3) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.19.3) - core-js-compat: 3.25.3 - semver: 6.3.0 + '@babel/preset-env@7.25.3(@babel/core@7.25.2)': + dependencies: + '@babel/compat-data': 7.25.2 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -6764,13 +7299,11 @@ snapshots: '@babel/types': 7.17.0 esutils: 2.0.3 - '@babel/preset-modules@0.1.5(@babel/core@7.19.3)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.16.7 - '@babel/plugin-proposal-unicode-property-regex': 7.16.7(@babel/core@7.19.3) - '@babel/plugin-transform-dotall-regex': 7.16.7(@babel/core@7.19.3) - '@babel/types': 7.17.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.19.3 esutils: 2.0.3 '@babel/preset-react@7.16.7(@babel/core@7.17.5)': @@ -6783,37 +7316,43 @@ snapshots: '@babel/plugin-transform-react-jsx-development': 7.16.7(@babel/core@7.17.5) '@babel/plugin-transform-react-pure-annotations': 7.16.7(@babel/core@7.17.5) - '@babel/preset-react@7.18.6(@babel/core@7.19.3)': + '@babel/preset-react@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.19.3) - '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.19.3) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color - '@babel/preset-typescript@7.18.6(@babel/core@7.19.3)': + '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-transform-typescript': 7.19.3(@babel/core@7.19.3) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/runtime-corejs3@7.19.1': + '@babel/regjsgen@0.8.0': {} + + '@babel/runtime-corejs3@7.25.0': dependencies: - core-js-pure: 3.25.3 - regenerator-runtime: 0.13.9 + core-js-pure: 3.38.0 + regenerator-runtime: 0.14.1 '@babel/runtime@7.17.2': dependencies: regenerator-runtime: 0.13.9 - '@babel/runtime@7.19.0': + '@babel/runtime@7.25.0': dependencies: - regenerator-runtime: 0.13.9 + regenerator-runtime: 0.14.1 '@babel/template@7.16.7': dependencies: @@ -6821,11 +7360,11 @@ snapshots: '@babel/parser': 7.17.3 '@babel/types': 7.17.0 - '@babel/template@7.18.10': + '@babel/template@7.25.0': dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.3 + '@babel/types': 7.25.2 '@babel/traverse@7.17.3': dependencies: @@ -6842,16 +7381,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/traverse@7.19.3': + '@babel/traverse@7.25.3': dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.3 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.0 + '@babel/parser': 7.25.3 + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 debug: 4.3.3 globals: 11.12.0 transitivePeerDependencies: @@ -6868,103 +7404,111 @@ snapshots: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 + '@babel/types@7.25.2': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + '@colors/colors@1.5.0': optional: true - '@docsearch/css@3.2.1': {} + '@discoveryjs/json-ext@0.5.7': {} - '@docsearch/react@3.2.1(@algolia/client-search@4.14.2)(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + '@docsearch/css@3.6.1': {} + + '@docsearch/react@3.6.1(@algolia/client-search@4.24.0)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.16.1)': dependencies: - '@algolia/autocomplete-core': 1.7.1 - '@algolia/autocomplete-preset-algolia': 1.7.1(@algolia/client-search@4.14.2)(algoliasearch@4.14.2) - '@docsearch/css': 3.2.1 - algoliasearch: 4.14.2 + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.16.1) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) + '@docsearch/css': 3.6.1 + algoliasearch: 4.24.0 optionalDependencies: '@types/react': 17.0.39 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + search-insights: 2.16.1 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/core@2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': - dependencies: - '@babel/core': 7.19.3 - '@babel/generator': 7.19.3 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.19.3) - '@babel/plugin-transform-runtime': 7.19.1(@babel/core@7.19.3) - '@babel/preset-env': 7.19.3(@babel/core@7.19.3) - '@babel/preset-react': 7.18.6(@babel/core@7.19.3) - '@babel/preset-typescript': 7.18.6(@babel/core@7.19.3) - '@babel/runtime': 7.19.0 - '@babel/runtime-corejs3': 7.19.1 - '@babel/traverse': 7.19.3 - '@docusaurus/cssnano-preset': 2.4.1 - '@docusaurus/logger': 2.4.1 - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/react-loadable': 5.5.2(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@slorber/static-site-generator-webpack-plugin': 4.0.7 - '@svgr/webpack': 6.2.1 - autoprefixer: 10.4.12(postcss@8.4.16) - babel-loader: 8.2.5(@babel/core@7.19.3)(webpack@5.74.0(@swc/core@1.5.7)) + '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': + dependencies: + '@babel/core': 7.25.2 + '@babel/generator': 7.25.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.25.2) + '@babel/preset-env': 7.25.3(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/runtime': 7.25.0 + '@babel/runtime-corejs3': 7.25.0 + '@babel/traverse': 7.25.3 + '@docusaurus/cssnano-preset': 3.4.0 + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + autoprefixer: 10.4.20(postcss@8.4.41) + babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0(@swc/core@1.5.7)) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 chokidar: 3.5.3 - clean-css: 5.3.1 + clean-css: 5.3.3 cli-table3: 0.6.3 combine-promises: 1.1.0 commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.74.0(@swc/core@1.5.7)) - core-js: 3.25.3 - css-loader: 6.7.1(webpack@5.74.0(@swc/core@1.5.7)) - css-minimizer-webpack-plugin: 4.1.0(clean-css@5.3.1)(webpack@5.74.0(@swc/core@1.5.7)) - cssnano: 5.1.13(postcss@8.4.16) + copy-webpack-plugin: 11.0.0(webpack@5.93.0(@swc/core@1.5.7)) + core-js: 3.38.0 + css-loader: 6.11.0(webpack@5.93.0(@swc/core@1.5.7)) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.93.0(@swc/core@1.5.7)) + cssnano: 6.1.2(postcss@8.4.41) del: 6.1.1 - detect-port: 1.3.0 + detect-port: 1.6.1 escape-html: 1.0.3 eta: 2.2.0 - file-loader: 6.2.0(webpack@5.74.0(@swc/core@1.5.7)) - fs-extra: 10.1.0 - html-minifier-terser: 6.1.0 - html-tags: 3.2.0 - html-webpack-plugin: 5.5.0(webpack@5.74.0(@swc/core@1.5.7)) - import-fresh: 3.3.0 + eval: 0.1.8 + file-loader: 6.2.0(webpack@5.93.0(@swc/core@1.5.7)) + fs-extra: 11.2.0 + html-minifier-terser: 7.2.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.0(webpack@5.93.0(@swc/core@1.5.7)) leven: 3.1.0 lodash: 4.17.21 - mini-css-extract-plugin: 2.6.1(webpack@5.74.0(@swc/core@1.5.7)) - postcss: 8.4.16 - postcss-loader: 7.0.1(postcss@8.4.16)(webpack@5.74.0(@swc/core@1.5.7)) + mini-css-extract-plugin: 2.9.0(webpack@5.93.0(@swc/core@1.5.7)) + p-map: 4.0.0 + postcss: 8.4.41 + postcss-loader: 7.3.4(postcss@8.4.41)(typescript@5.0.4)(webpack@5.93.0(@swc/core@1.5.7)) prompts: 2.4.2 - react: 17.0.2 - react-dev-utils: 12.0.1(typescript@5.0.4)(webpack@5.74.0(@swc/core@1.5.7)) - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 1.3.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - react-loadable: '@docusaurus/react-loadable@5.5.2(react@17.0.2)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2(react@17.0.2))(webpack@5.74.0(@swc/core@1.5.7)) - react-router: 5.3.3(react@17.0.2) - react-router-config: 5.1.1(react-router@5.3.3(react@17.0.2))(react@17.0.2) - react-router-dom: 5.3.3(react@17.0.2) + react: 18.3.1 + react-dev-utils: 12.0.1(typescript@5.0.4)(webpack@5.93.0(@swc/core@1.5.7)) + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.93.0(@swc/core@1.5.7)) + react-router: 5.3.4(react@18.3.1) + react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) rtl-detect: 1.0.4 - semver: 7.3.7 - serve-handler: 6.1.3 + semver: 7.5.4 + serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.6(@swc/core@1.5.7)(webpack@5.74.0(@swc/core@1.5.7)) - tslib: 2.4.0 - update-notifier: 5.1.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.74.0(@swc/core@1.5.7)))(webpack@5.74.0(@swc/core@1.5.7)) - wait-on: 6.0.1 - webpack: 5.74.0(@swc/core@1.5.7) - webpack-bundle-analyzer: 4.5.0 - webpack-dev-server: 4.11.1(webpack@5.74.0(@swc/core@1.5.7)) - webpack-merge: 5.8.0 - webpackbar: 5.0.2(webpack@5.74.0(@swc/core@1.5.7)) + terser-webpack-plugin: 5.3.10(@swc/core@1.5.7)(webpack@5.93.0(@swc/core@1.5.7)) + tslib: 2.6.3 + update-notifier: 6.0.2 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0(@swc/core@1.5.7)))(webpack@5.93.0(@swc/core@1.5.7)) + webpack: 5.93.0(@swc/core@1.5.7) + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(webpack@5.93.0(@swc/core@1.5.7)) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.93.0(@swc/core@1.5.7)) transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -6978,82 +7522,92 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/cssnano-preset@2.4.1': + '@docusaurus/cssnano-preset@3.4.0': dependencies: - cssnano-preset-advanced: 5.3.8(postcss@8.4.16) - postcss: 8.4.16 - postcss-sort-media-queries: 4.2.1(postcss@8.4.16) - tslib: 2.4.0 + cssnano-preset-advanced: 6.1.2(postcss@8.4.41) + postcss: 8.4.41 + postcss-sort-media-queries: 5.2.0(postcss@8.4.41) + tslib: 2.6.3 - '@docusaurus/logger@2.4.1': + '@docusaurus/logger@3.4.0': dependencies: chalk: 4.1.2 - tslib: 2.4.0 + tslib: 2.6.3 - '@docusaurus/mdx-loader@2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + '@docusaurus/mdx-loader@3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': dependencies: - '@babel/parser': 7.19.3 - '@babel/traverse': 7.19.3 - '@docusaurus/logger': 2.4.1 - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@mdx-js/mdx': 1.6.22 + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@mdx-js/mdx': 3.0.1 + '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 - file-loader: 6.2.0(webpack@5.74.0(@swc/core@1.5.7)) - fs-extra: 10.1.0 - image-size: 1.0.1 - mdast-util-to-string: 2.0.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - remark-emoji: 2.2.0 + estree-util-value-to-estree: 3.1.2 + file-loader: 6.2.0(webpack@5.93.0(@swc/core@1.5.7)) + fs-extra: 11.2.0 + image-size: 1.1.1 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-raw: 7.0.0 + remark-directive: 3.0.0 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 stringify-object: 3.3.0 - tslib: 2.4.0 - unified: 9.2.2 - unist-util-visit: 2.0.3 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.74.0(@swc/core@1.5.7)))(webpack@5.74.0(@swc/core@1.5.7)) - webpack: 5.74.0(@swc/core@1.5.7) + tslib: 2.6.3 + unified: 11.0.5 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0(@swc/core@1.5.7)))(webpack@5.93.0(@swc/core@1.5.7)) + vfile: 6.0.2 + webpack: 5.93.0(@swc/core@1.5.7) transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' - esbuild - supports-color + - typescript - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + '@docusaurus/module-type-aliases@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docusaurus/react-loadable': 5.5.2(react@17.0.2) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/history': 4.7.11 '@types/react': 17.0.39 '@types/react-router-config': 5.0.6 '@types/react-router-dom': 5.3.3 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 1.3.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - react-loadable: '@docusaurus/react-loadable@5.5.2(react@17.0.2)' + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' transitivePeerDependencies: - '@swc/core' - esbuild + - supports-color - uglify-js - webpack-cli - '@docusaurus/plugin-client-redirects@2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': + '@docusaurus/plugin-client-redirects@3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/logger': 2.4.1 - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) eta: 2.2.0 - fs-extra: 10.1.0 + fs-extra: 11.2.0 lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7067,29 +7621,32 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-blog@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': + '@docusaurus/plugin-content-blog@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/logger': 2.4.1 - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) cheerio: 1.0.0-rc.12 feed: 4.2.2 - fs-extra: 10.1.0 + fs-extra: 11.2.0 lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) reading-time: 1.5.0 - tslib: 2.4.0 - unist-util-visit: 2.0.3 + srcset: 4.0.0 + tslib: 2.6.3 + unist-util-visit: 5.0.0 utility-types: 3.10.0 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7103,29 +7660,31 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': - dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/logger': 2.4.1 - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/module-type-aliases': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@types/react-router-config': 5.0.6 + '@docusaurus/plugin-content-docs@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/module-type-aliases': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@types/react-router-config': 5.0.11 combine-promises: 1.1.0 - fs-extra: 10.1.0 - import-fresh: 3.3.0 + fs-extra: 11.2.0 js-yaml: 4.1.0 lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 utility-types: 3.10.0 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7139,21 +7698,23 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': - dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.4.0 - webpack: 5.74.0(@swc/core@1.5.7) + '@docusaurus/plugin-content-pages@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + webpack: 5.93.0(@swc/core@1.5.7) transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7167,24 +7728,24 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@2.4.1(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': + '@docusaurus/plugin-debug@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-json-view: 1.21.3(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - tslib: 2.4.0 + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-json-view-lite: 1.4.0(react@18.3.1) + tslib: 2.6.3 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - - '@types/react' + - '@swc/css' - bufferutil - csso - debug - - encoding - esbuild - eslint - lightningcss @@ -7195,17 +7756,19 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': + '@docusaurus/plugin-google-analytics@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.4.0 + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7219,17 +7782,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': + '@docusaurus/plugin-google-gtag@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.4.0 + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@types/gtag.js': 0.0.12 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7243,17 +7809,19 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': + '@docusaurus/plugin-google-tag-manager@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.4.0 + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7267,22 +7835,24 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': - dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/logger': 2.4.1 - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - fs-extra: 10.1.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) + '@docusaurus/plugin-sitemap@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/logger': 3.4.0 + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) sitemap: 7.1.1 - tslib: 2.4.0 + tslib: 2.6.3 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7296,35 +7866,37 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@2.4.1(@algolia/client-search@4.14.2)(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': - dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-debug': 2.4.1(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-google-analytics': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-google-gtag': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-google-tag-manager': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-sitemap': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/theme-classic': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/theme-search-algolia': 2.4.1(@algolia/client-search@4.14.2)(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) + '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.24.0)(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.16.1)(typescript@5.0.4)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-content-blog': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-debug': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-google-analytics': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-google-gtag': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-google-tag-manager': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-sitemap': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/theme-classic': 3.4.0(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.16.1)(typescript@5.0.4) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@algolia/client-search' - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - '@types/react' - bufferutil - csso - debug - - encoding - esbuild - eslint - lightningcss + - search-insights - supports-color - typescript - uglify-js @@ -7332,44 +7904,46 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/react-loadable@5.5.2(react@17.0.2)': + '@docusaurus/react-loadable@6.0.0(react@18.3.1)': dependencies: '@types/react': 17.0.39 - prop-types: 15.8.1 - react: 17.0.2 - - '@docusaurus/theme-classic@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': - dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/module-type-aliases': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/theme-translations': 2.4.1 - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@mdx-js/react': 1.6.22(react@17.0.2) - clsx: 1.2.1 - copy-text-to-clipboard: 3.0.1 + react: 18.3.1 + + '@docusaurus/theme-classic@3.4.0(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/module-type-aliases': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/theme-translations': 3.4.0 + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@mdx-js/react': 3.0.1(@types/react@17.0.39)(react@18.3.1) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.43 lodash: 4.17.21 nprogress: 0.2.0 - postcss: 8.4.16 - prism-react-renderer: 1.3.5(react@17.0.2) + postcss: 8.4.41 + prism-react-renderer: 2.3.1(react@18.3.1) prismjs: 1.29.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-router-dom: 5.3.3(react@17.0.2) - rtlcss: 3.5.0 - tslib: 2.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtlcss: 4.2.0 + tslib: 2.6.3 utility-types: 3.10.0 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' + - '@types/react' - bufferutil - csso - debug @@ -7383,30 +7957,31 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': + '@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)': dependencies: - '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/module-type-aliases': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/module-type-aliases': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@types/history': 4.7.11 '@types/react': 17.0.39 - '@types/react-router-config': 5.0.6 - clsx: 1.2.1 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 parse-numeric-range: 1.3.0 - prism-react-renderer: 1.3.5(react@17.0.2) - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.4.0 - use-sync-external-store: 1.2.0(react@17.0.2) + prism-react-renderer: 2.3.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 utility-types: 3.10.0 transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - bufferutil - csso - debug @@ -7420,31 +7995,33 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@2.4.1(@algolia/client-search@4.14.2)(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)': - dependencies: - '@docsearch/react': 3.2.1(@algolia/client-search@4.14.2)(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/logger': 2.4.1 - '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) - '@docusaurus/theme-translations': 2.4.1 - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - algoliasearch: 4.14.2 - algoliasearch-helper: 3.11.1(algoliasearch@4.14.2) - clsx: 1.2.1 + '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.16.1)(typescript@5.0.4)': + dependencies: + '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.16.1) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/logger': 3.4.0 + '@docusaurus/plugin-content-docs': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) + '@docusaurus/theme-translations': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + algoliasearch: 4.24.0 + algoliasearch-helper: 3.22.3(algoliasearch@4.24.0) + clsx: 2.1.1 eta: 2.2.0 - fs-extra: 10.1.0 + fs-extra: 11.2.0 lodash: 4.17.21 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - tslib: 2.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 utility-types: 3.10.0 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/types' - '@parcel/css' + - '@rspack/core' - '@swc/core' + - '@swc/css' - '@types/react' - bufferutil - csso @@ -7452,6 +8029,7 @@ snapshots: - esbuild - eslint - lightningcss + - search-insights - supports-color - typescript - uglify-js @@ -7459,105 +8037,153 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-translations@2.4.1': + '@docusaurus/theme-translations@3.4.0': dependencies: - fs-extra: 10.1.0 - tslib: 2.4.0 + fs-extra: 11.2.0 + tslib: 2.6.3 - '@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + '@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@mdx-js/mdx': 3.0.1 '@types/history': 4.7.11 '@types/react': 17.0.39 commander: 5.1.0 - joi: 17.6.0 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) - react-helmet-async: 1.3.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + joi: 17.13.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) utility-types: 3.10.0 - webpack: 5.74.0(@swc/core@1.5.7) - webpack-merge: 5.8.0 + webpack: 5.93.0(@swc/core@1.5.7) + webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' - esbuild + - supports-color - uglify-js - webpack-cli - '@docusaurus/utils-common@2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))': + '@docusaurus/utils-common@3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - tslib: 2.4.0 + tslib: 2.6.3 optionalDependencies: - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation@2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)': + '@docusaurus/utils-validation@3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4)': dependencies: - '@docusaurus/logger': 2.4.1 - '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7) - joi: 17.6.0 + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + fs-extra: 11.2.0 + joi: 17.13.3 js-yaml: 4.1.0 - tslib: 2.4.0 + lodash: 4.17.21 + tslib: 2.6.3 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' - esbuild - supports-color + - typescript - uglify-js - webpack-cli - '@docusaurus/utils@2.4.1(@docusaurus/types@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@swc/core@1.5.7)': + '@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@swc/core@1.5.7)(typescript@5.0.4)': dependencies: - '@docusaurus/logger': 2.4.1 - '@svgr/webpack': 6.2.1 + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@svgr/webpack': 8.1.0(typescript@5.0.4) escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.74.0(@swc/core@1.5.7)) - fs-extra: 10.1.0 - github-slugger: 1.4.0 + file-loader: 6.2.0(webpack@5.93.0(@swc/core@1.5.7)) + fs-extra: 11.2.0 + github-slugger: 1.5.0 globby: 11.1.0 gray-matter: 4.0.3 + jiti: 1.21.6 js-yaml: 4.1.0 lodash: 4.17.21 micromatch: 4.0.5 + prompts: 2.4.2 resolve-pathname: 3.0.0 shelljs: 0.8.5 - tslib: 2.4.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.74.0(@swc/core@1.5.7)))(webpack@5.74.0(@swc/core@1.5.7)) - webpack: 5.74.0(@swc/core@1.5.7) + tslib: 2.6.3 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0(@swc/core@1.5.7)))(webpack@5.93.0(@swc/core@1.5.7)) + utility-types: 3.10.0 + webpack: 5.93.0(@swc/core@1.5.7) optionalDependencies: - '@docusaurus/types': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@docusaurus/types': 3.4.0(@swc/core@1.5.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@swc/core' - esbuild - supports-color + - typescript - uglify-js - webpack-cli '@hapi/hoek@9.2.1': {} + '@hapi/hoek@9.3.0': {} + '@hapi/topo@5.1.0': dependencies: '@hapi/hoek': 9.2.1 + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 17.0.21 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + '@jridgewell/gen-mapping@0.3.2': dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.11 '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.11 + '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/resolve-uri@3.0.5': {} + '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/set-array@1.1.2': {} + '@jridgewell/set-array@1.2.1': {} + '@jridgewell/source-map@0.3.2': dependencies: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/sourcemap-codec@1.4.11': {} + '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/trace-mapping@0.3.15': dependencies: '@jridgewell/resolve-uri': 3.0.5 '@jridgewell/sourcemap-codec': 1.4.11 + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.4': dependencies: '@jridgewell/resolve-uri': 3.0.5 @@ -7565,35 +8191,39 @@ snapshots: '@leichtgewicht/ip-codec@2.0.4': {} - '@mdx-js/mdx@1.6.22': - dependencies: - '@babel/core': 7.12.9 - '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@mdx-js/util': 1.6.22 - babel-plugin-apply-mdx-type-prop: 1.6.22(@babel/core@7.12.9) - babel-plugin-extract-import-names: 1.6.22 - camelcase-css: 2.0.1 - detab: 2.0.4 - hast-util-raw: 6.0.1 - lodash.uniq: 4.5.0 - mdast-util-to-hast: 10.0.1 - remark-footnotes: 2.0.0 - remark-mdx: 1.6.22 - remark-parse: 8.0.3 - remark-squeeze-paragraphs: 4.0.0 - style-to-object: 0.3.0 - unified: 9.2.0 - unist-builder: 2.0.3 - unist-util-visit: 2.0.3 + '@mdx-js/mdx@3.0.1': + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.2 transitivePeerDependencies: - supports-color - '@mdx-js/react@1.6.22(react@17.0.2)': + '@mdx-js/react@3.0.1(@types/react@17.0.39)(react@18.3.1)': dependencies: - react: 17.0.2 - - '@mdx-js/util@1.6.22': {} + '@types/mdx': 2.0.13 + '@types/react': 17.0.39 + react: 18.3.1 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -7607,71 +8237,87 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - '@polka/url@1.0.0-next.21': {} + '@pnpm/config.env-replace@1.1.0': {} - '@sideway/address@4.1.3': + '@pnpm/network.ca-file@1.0.2': dependencies: - '@hapi/hoek': 9.2.1 + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.3.0': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + + '@polka/url@1.0.0-next.25': {} + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 - '@sideway/formula@3.0.0': {} + '@sideway/formula@3.0.1': {} '@sideway/pinpoint@2.0.0': {} - '@sindresorhus/is@0.14.0': {} + '@sinclair/typebox@0.27.8': {} - '@slorber/static-site-generator-webpack-plugin@4.0.7': + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@5.6.0': {} + + '@slorber/remark-comment@1.0.0': dependencies: - eval: 0.1.8 - p-map: 4.0.0 - webpack-sources: 3.2.3 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 '@svgr/babel-plugin-add-jsx-attribute@5.4.0': {} - '@svgr/babel-plugin-add-jsx-attribute@6.0.0(@babel/core@7.19.3)': + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@svgr/babel-plugin-remove-jsx-attribute@5.4.0': {} - '@svgr/babel-plugin-remove-jsx-attribute@6.0.0(@babel/core@7.19.3)': + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@svgr/babel-plugin-remove-jsx-empty-expression@5.0.1': {} - '@svgr/babel-plugin-remove-jsx-empty-expression@6.0.0(@babel/core@7.19.3)': + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@svgr/babel-plugin-replace-jsx-attribute-value@5.0.1': {} - '@svgr/babel-plugin-replace-jsx-attribute-value@6.0.0(@babel/core@7.19.3)': + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@svgr/babel-plugin-svg-dynamic-title@5.4.0': {} - '@svgr/babel-plugin-svg-dynamic-title@6.0.0(@babel/core@7.19.3)': + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@svgr/babel-plugin-svg-em-dimensions@5.4.0': {} - '@svgr/babel-plugin-svg-em-dimensions@6.0.0(@babel/core@7.19.3)': + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@svgr/babel-plugin-transform-react-native-svg@5.4.0': {} - '@svgr/babel-plugin-transform-react-native-svg@6.0.0(@babel/core@7.19.3)': + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@svgr/babel-plugin-transform-svg-component@5.5.0': {} - '@svgr/babel-plugin-transform-svg-component@6.2.0(@babel/core@7.19.3)': + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 + '@babel/core': 7.25.2 '@svgr/babel-preset@5.5.0': dependencies: @@ -7684,17 +8330,17 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 5.4.0 '@svgr/babel-plugin-transform-svg-component': 5.5.0 - '@svgr/babel-preset@6.2.0(@babel/core@7.19.3)': + '@svgr/babel-preset@8.1.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.19.3 - '@svgr/babel-plugin-add-jsx-attribute': 6.0.0(@babel/core@7.19.3) - '@svgr/babel-plugin-remove-jsx-attribute': 6.0.0(@babel/core@7.19.3) - '@svgr/babel-plugin-remove-jsx-empty-expression': 6.0.0(@babel/core@7.19.3) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.0.0(@babel/core@7.19.3) - '@svgr/babel-plugin-svg-dynamic-title': 6.0.0(@babel/core@7.19.3) - '@svgr/babel-plugin-svg-em-dimensions': 6.0.0(@babel/core@7.19.3) - '@svgr/babel-plugin-transform-react-native-svg': 6.0.0(@babel/core@7.19.3) - '@svgr/babel-plugin-transform-svg-component': 6.2.0(@babel/core@7.19.3) + '@babel/core': 7.25.2 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.25.2) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.2) '@svgr/core@5.5.0': dependencies: @@ -7704,22 +8350,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@svgr/core@6.2.1': + '@svgr/core@8.1.0(typescript@5.0.4)': dependencies: - '@svgr/plugin-jsx': 6.2.1(@svgr/core@6.2.1) + '@babel/core': 7.25.2 + '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) camelcase: 6.3.0 - cosmiconfig: 7.0.1 + cosmiconfig: 8.3.6(typescript@5.0.4) + snake-case: 3.0.4 transitivePeerDependencies: - supports-color + - typescript '@svgr/hast-util-to-babel-ast@5.5.0': dependencies: '@babel/types': 7.17.0 - '@svgr/hast-util-to-babel-ast@6.2.1': + '@svgr/hast-util-to-babel-ast@8.0.0': dependencies: - '@babel/types': 7.19.3 - entities: 3.0.1 + '@babel/types': 7.25.2 + entities: 4.4.0 '@svgr/plugin-jsx@5.5.0': dependencies: @@ -7730,12 +8379,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@svgr/plugin-jsx@6.2.1(@svgr/core@6.2.1)': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.0.4))': dependencies: - '@babel/core': 7.19.3 - '@svgr/babel-preset': 6.2.0(@babel/core@7.19.3) - '@svgr/core': 6.2.1 - '@svgr/hast-util-to-babel-ast': 6.2.1 + '@babel/core': 7.25.2 + '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) + '@svgr/core': 8.1.0(typescript@5.0.4) + '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color @@ -7746,12 +8395,14 @@ snapshots: deepmerge: 4.2.2 svgo: 1.3.2 - '@svgr/plugin-svgo@6.2.0(@svgr/core@6.2.1)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.0.4))(typescript@5.0.4)': dependencies: - '@svgr/core': 6.2.1 - cosmiconfig: 7.0.1 - deepmerge: 4.2.2 - svgo: 2.8.0 + '@svgr/core': 8.1.0(typescript@5.0.4) + cosmiconfig: 8.3.6(typescript@5.0.4) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript '@svgr/webpack@5.5.0': dependencies: @@ -7766,18 +8417,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@svgr/webpack@6.2.1': + '@svgr/webpack@8.1.0(typescript@5.0.4)': dependencies: - '@babel/core': 7.19.3 - '@babel/plugin-transform-react-constant-elements': 7.17.6(@babel/core@7.19.3) - '@babel/preset-env': 7.19.3(@babel/core@7.19.3) - '@babel/preset-react': 7.18.6(@babel/core@7.19.3) - '@babel/preset-typescript': 7.18.6(@babel/core@7.19.3) - '@svgr/core': 6.2.1 - '@svgr/plugin-jsx': 6.2.1(@svgr/core@6.2.1) - '@svgr/plugin-svgo': 6.2.0(@svgr/core@6.2.1) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-constant-elements': 7.25.1(@babel/core@7.25.2) + '@babel/preset-env': 7.25.3(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@svgr/core': 8.1.0(typescript@5.0.4) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.0.4)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.0.4))(typescript@5.0.4) transitivePeerDependencies: - supports-color + - typescript '@swc/core-darwin-arm64@1.5.7': optional: true @@ -7831,12 +8483,16 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@szmarczak/http-timer@1.1.2': + '@szmarczak/http-timer@5.0.1': dependencies: - defer-to-connect: 1.1.3 + defer-to-connect: 2.0.1 '@trysound/sax@0.2.0': {} + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.5 + '@types/body-parser@1.19.2': dependencies: '@types/connect': 3.4.35 @@ -7855,6 +8511,10 @@ snapshots: dependencies: '@types/node': 17.0.21 + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + '@types/eslint-scope@3.7.3': dependencies: '@types/eslint': 8.4.1 @@ -7865,8 +8525,14 @@ snapshots: '@types/estree': 0.0.51 '@types/json-schema': 7.0.9 + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.5 + '@types/estree@0.0.51': {} + '@types/estree@1.0.5': {} + '@types/express-serve-static-core@4.17.28': dependencies: '@types/node': 17.0.21 @@ -7880,7 +8546,9 @@ snapshots: '@types/qs': 6.9.7 '@types/serve-static': 1.13.10 - '@types/hast@2.3.4': + '@types/gtag.js@0.0.12': {} + + '@types/hast@3.0.4': dependencies: '@types/unist': 2.0.6 @@ -7888,27 +8556,39 @@ snapshots: '@types/html-minifier-terser@6.1.0': {} + '@types/http-cache-semantics@4.0.4': {} + '@types/http-proxy@1.17.8': dependencies: '@types/node': 17.0.21 - '@types/json-schema@7.0.9': {} + '@types/istanbul-lib-coverage@2.0.6': {} - '@types/keyv@3.1.4': + '@types/istanbul-lib-report@3.0.3': dependencies: - '@types/node': 17.0.21 + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.9': {} - '@types/mdast@3.0.10': + '@types/mdast@4.0.4': dependencies: '@types/unist': 2.0.6 + '@types/mdx@2.0.13': {} + '@types/mime@1.3.2': {} + '@types/ms@0.7.34': {} + '@types/node@17.0.21': {} '@types/parse-json@4.0.0': {} - '@types/parse5@5.0.3': {} + '@types/prismjs@1.26.4': {} '@types/prop-types@15.7.4': {} @@ -7918,6 +8598,12 @@ snapshots: '@types/range-parser@1.2.4': {} + '@types/react-router-config@5.0.11': + dependencies: + '@types/history': 4.7.11 + '@types/react': 17.0.39 + '@types/react-router': 5.1.18 + '@types/react-router-config@5.0.6': dependencies: '@types/history': 4.7.11 @@ -7941,10 +8627,6 @@ snapshots: '@types/scheduler': 0.16.2 csstype: 3.0.10 - '@types/responselike@1.0.0': - dependencies: - '@types/node': 17.0.21 - '@types/retry@0.12.1': {} '@types/sax@1.2.4': @@ -7968,84 +8650,94 @@ snapshots: '@types/unist@2.0.6': {} - '@types/ws@8.5.1': + '@types/unist@3.0.2': {} + + '@types/ws@8.5.12': dependencies: '@types/node': 17.0.21 - '@webassemblyjs/ast@1.11.1': + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.2.0': {} + + '@webassemblyjs/ast@1.12.1': dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/floating-point-hex-parser@1.11.1': {} + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} - '@webassemblyjs/helper-api-error@1.11.1': {} + '@webassemblyjs/helper-api-error@1.11.6': {} - '@webassemblyjs/helper-buffer@1.11.1': {} + '@webassemblyjs/helper-buffer@1.12.1': {} - '@webassemblyjs/helper-numbers@1.11.1': + '@webassemblyjs/helper-numbers@1.11.6': dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - '@webassemblyjs/helper-wasm-bytecode@1.11.1': {} + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} - '@webassemblyjs/helper-wasm-section@1.11.1': + '@webassemblyjs/helper-wasm-section@1.12.1': dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/ieee754@1.11.1': + '@webassemblyjs/ieee754@1.11.6': dependencies: '@xtuc/ieee754': 1.2.0 - '@webassemblyjs/leb128@1.11.1': + '@webassemblyjs/leb128@1.11.6': dependencies: '@xtuc/long': 4.2.2 - '@webassemblyjs/utf8@1.11.1': {} + '@webassemblyjs/utf8@1.11.6': {} - '@webassemblyjs/wasm-edit@1.11.1': + '@webassemblyjs/wasm-edit@1.12.1': dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 - '@webassemblyjs/wasm-gen@1.11.1': + '@webassemblyjs/wasm-gen@1.12.1': dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 - '@webassemblyjs/wasm-opt@1.11.1': + '@webassemblyjs/wasm-opt@1.12.1': dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wasm-parser@1.11.1': + '@webassemblyjs/wasm-parser@1.12.1': dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 - '@webassemblyjs/wast-printer@1.11.1': + '@webassemblyjs/wast-printer@1.12.1': dependencies: - '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 '@xtuc/ieee754@1.2.0': {} @@ -8057,12 +8749,18 @@ snapshots: mime-types: 2.1.34 negotiator: 0.6.3 - acorn-import-assertions@1.8.0(acorn@8.8.0): + acorn-import-attributes@1.9.5(acorn@8.8.0): + dependencies: + acorn: 8.8.0 + + acorn-jsx@5.3.2(acorn@8.8.0): dependencies: acorn: 8.8.0 acorn-walk@8.2.0: {} + acorn@8.12.1: {} + acorn@8.8.0: {} address@1.1.2: {} @@ -8099,27 +8797,28 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - algoliasearch-helper@3.11.1(algoliasearch@4.14.2): + algoliasearch-helper@3.22.3(algoliasearch@4.24.0): dependencies: '@algolia/events': 4.0.1 - algoliasearch: 4.14.2 - - algoliasearch@4.14.2: - dependencies: - '@algolia/cache-browser-local-storage': 4.14.2 - '@algolia/cache-common': 4.14.2 - '@algolia/cache-in-memory': 4.14.2 - '@algolia/client-account': 4.14.2 - '@algolia/client-analytics': 4.14.2 - '@algolia/client-common': 4.14.2 - '@algolia/client-personalization': 4.14.2 - '@algolia/client-search': 4.14.2 - '@algolia/logger-common': 4.14.2 - '@algolia/logger-console': 4.14.2 - '@algolia/requester-browser-xhr': 4.14.2 - '@algolia/requester-common': 4.14.2 - '@algolia/requester-node-http': 4.14.2 - '@algolia/transporter': 4.14.2 + algoliasearch: 4.24.0 + + algoliasearch@4.24.0: + dependencies: + '@algolia/cache-browser-local-storage': 4.24.0 + '@algolia/cache-common': 4.24.0 + '@algolia/cache-in-memory': 4.24.0 + '@algolia/client-account': 4.24.0 + '@algolia/client-analytics': 4.24.0 + '@algolia/client-common': 4.24.0 + '@algolia/client-personalization': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/logger-console': 4.24.0 + '@algolia/recommend': 4.24.0 + '@algolia/requester-browser-xhr': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/requester-node-http': 4.24.0 + '@algolia/transporter': 4.24.0 ansi-align@3.0.1: dependencies: @@ -8162,49 +8861,31 @@ snapshots: array-union@3.0.1: {} - asap@2.0.6: {} + astring@1.8.6: {} at-least-node@1.0.0: {} - autoprefixer@10.4.12(postcss@8.4.16): + autoprefixer@10.4.20(postcss@8.4.41): dependencies: - browserslist: 4.21.4 - caniuse-lite: 1.0.30001627 - fraction.js: 4.2.0 + browserslist: 4.23.3 + caniuse-lite: 1.0.30001651 + fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.16 + picocolors: 1.0.1 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - axios@0.25.0: - dependencies: - follow-redirects: 1.14.9 - transitivePeerDependencies: - - debug - - babel-loader@8.2.5(@babel/core@7.19.3)(webpack@5.74.0(@swc/core@1.5.7)): + babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.93.0(@swc/core@1.5.7)): dependencies: - '@babel/core': 7.19.3 - find-cache-dir: 3.3.2 - loader-utils: 2.0.2 - make-dir: 3.1.0 - schema-utils: 2.7.1 - webpack: 5.74.0(@swc/core@1.5.7) - - babel-plugin-apply-mdx-type-prop@1.6.22(@babel/core@7.12.9): - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.10.4 - '@mdx-js/util': 1.6.22 + '@babel/core': 7.25.2 + find-cache-dir: 4.0.0 + schema-utils: 4.0.0 + webpack: 5.93.0(@swc/core@1.5.7) babel-plugin-dynamic-import-node@2.3.3: dependencies: object.assign: 4.1.2 - babel-plugin-extract-import-names@1.6.22: - dependencies: - '@babel/helper-plugin-utils': 7.10.4 - babel-plugin-polyfill-corejs2@0.3.1(@babel/core@7.17.5): dependencies: '@babel/compat-data': 7.17.0 @@ -8214,28 +8895,28 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.19.3): + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): dependencies: - '@babel/compat-data': 7.19.3 - '@babel/core': 7.19.3 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.19.3) - semver: 6.3.0 + '@babel/compat-data': 7.25.2 + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.5.2(@babel/core@7.17.5): + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): dependencies: - '@babel/core': 7.17.5 - '@babel/helper-define-polyfill-provider': 0.3.1(@babel/core@7.17.5) - core-js-compat: 3.21.1 + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.19.3): + babel-plugin-polyfill-corejs3@0.5.2(@babel/core@7.17.5): dependencies: - '@babel/core': 7.19.3 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.19.3) - core-js-compat: 3.25.3 + '@babel/core': 7.17.5 + '@babel/helper-define-polyfill-provider': 0.3.1(@babel/core@7.17.5) + core-js-compat: 3.21.1 transitivePeerDependencies: - supports-color @@ -8246,19 +8927,17 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.19.3): + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): dependencies: - '@babel/core': 7.19.3 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.19.3) + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - bail@1.0.5: {} + bail@2.0.2: {} balanced-match@1.0.2: {} - base16@1.0.0: {} - batch@0.6.1: {} big.js@5.2.2: {} @@ -8289,18 +8968,7 @@ snapshots: boolbase@1.0.0: {} - boxen@5.1.2: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 - - boxen@6.2.1: + boxen@6.2.1: dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -8311,6 +8979,17 @@ snapshots: widest-line: 4.0.1 wrap-ansi: 8.0.1 + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -8335,21 +9014,30 @@ snapshots: node-releases: 2.0.6 update-browserslist-db: 1.0.9(browserslist@4.21.4) + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001651 + electron-to-chromium: 1.5.5 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + buffer-from@1.1.2: {} bytes@3.0.0: {} bytes@3.1.2: {} - cacheable-request@6.1.0: + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: dependencies: - clone-response: 1.0.2 - get-stream: 5.2.0 - http-cache-semantics: 4.1.0 - keyv: 3.1.0 - lowercase-keys: 2.0.0 - normalize-url: 4.5.1 - responselike: 1.0.2 + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.1 + responselike: 3.0.0 call-bind@1.0.2: dependencies: @@ -8361,22 +9049,24 @@ snapshots: camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.4.0 - - camelcase-css@2.0.1: {} + tslib: 2.6.3 camelcase@6.3.0: {} + camelcase@7.0.1: {} + caniuse-api@3.0.0: dependencies: - browserslist: 4.21.4 + browserslist: 4.23.3 caniuse-lite: 1.0.30001627 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 caniuse-lite@1.0.30001627: {} - ccount@1.1.0: {} + caniuse-lite@1.0.30001651: {} + + ccount@2.0.1: {} chalk@2.4.2: dependencies: @@ -8389,11 +9079,17 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - character-entities-legacy@1.1.4: {} + chalk@5.3.0: {} + + char-regex@1.0.2: {} - character-entities@1.2.4: {} + character-entities-html4@2.1.0: {} - character-reference-invalid@1.1.4: {} + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} cheerio-select@2.1.0: dependencies: @@ -8428,16 +9124,14 @@ snapshots: chrome-trace-event@1.0.3: {} - ci-info@2.0.0: {} + ci-info@3.9.0: {} - clean-css@5.3.1: + clean-css@5.3.3: dependencies: source-map: 0.6.1 clean-stack@2.2.0: {} - cli-boxes@2.2.1: {} - cli-boxes@3.0.0: {} cli-table3@0.6.3: @@ -8452,19 +9146,17 @@ snapshots: kind-of: 6.0.3 shallow-clone: 3.0.1 - clone-response@1.0.2: - dependencies: - mimic-response: 1.0.1 - clsx@1.2.1: {} + clsx@2.1.1: {} + coa@2.0.2: dependencies: '@types/q': 1.5.5 chalk: 2.4.2 q: 1.5.1 - collapse-white-space@1.0.6: {} + collapse-white-space@2.1.0: {} color-convert@1.9.3: dependencies: @@ -8478,13 +9170,15 @@ snapshots: color-name@1.1.4: {} - colord@2.9.2: {} + colord@2.9.3: {} colorette@2.0.16: {} combine-promises@1.1.0: {} - comma-separated-tokens@1.0.8: {} + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} commander@2.20.3: {} @@ -8494,7 +9188,7 @@ snapshots: commander@8.3.0: {} - commondir@1.0.1: {} + common-path-prefix@3.0.0: {} compressible@2.0.18: dependencies: @@ -8514,14 +9208,18 @@ snapshots: concat-map@0.0.1: {} - configstore@5.0.1: + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@6.0.0: dependencies: - dot-prop: 5.3.0 + dot-prop: 6.0.1 graceful-fs: 4.2.9 - make-dir: 3.1.0 - unique-string: 2.0.0 + unique-string: 3.0.0 write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 + xdg-basedir: 5.1.0 connect-history-api-fallback@2.0.0: {} @@ -8539,13 +9237,15 @@ snapshots: dependencies: safe-buffer: 5.1.2 + convert-source-map@2.0.0: {} + cookie-signature@1.0.6: {} cookie@0.4.2: {} - copy-text-to-clipboard@3.0.1: {} + copy-text-to-clipboard@3.2.0: {} - copy-webpack-plugin@11.0.0(webpack@5.74.0(@swc/core@1.5.7)): + copy-webpack-plugin@11.0.0(webpack@5.93.0(@swc/core@1.5.7)): dependencies: fast-glob: 3.2.11 glob-parent: 6.0.2 @@ -8553,20 +9253,20 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.0.0 serialize-javascript: 6.0.0 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) core-js-compat@3.21.1: dependencies: browserslist: 4.19.3 semver: 7.0.0 - core-js-compat@3.25.3: + core-js-compat@3.38.0: dependencies: - browserslist: 4.21.4 + browserslist: 4.23.3 - core-js-pure@3.25.3: {} + core-js-pure@3.38.0: {} - core-js@3.25.3: {} + core-js@3.38.0: {} core-util-is@1.0.3: {} @@ -8586,11 +9286,14 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cross-fetch@3.1.5: + cosmiconfig@8.3.6(typescript@5.0.4): dependencies: - node-fetch: 2.6.7 - transitivePeerDependencies: - - encoding + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.0.4 cross-fetch@3.1.8: dependencies: @@ -8604,35 +9307,38 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crypto-random-string@2.0.0: {} + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 - css-declaration-sorter@6.3.1(postcss@8.4.16): + css-declaration-sorter@7.2.0(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 - css-loader@6.7.1(webpack@5.74.0(@swc/core@1.5.7)): + css-loader@6.11.0(webpack@5.93.0(@swc/core@1.5.7)): dependencies: - icss-utils: 5.1.0(postcss@8.4.16) - postcss: 8.4.16 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.16) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.16) - postcss-modules-scope: 3.0.0(postcss@8.4.16) - postcss-modules-values: 4.0.0(postcss@8.4.16) + icss-utils: 5.1.0(postcss@8.4.41) + postcss: 8.4.41 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.41) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.41) + postcss-modules-scope: 3.2.0(postcss@8.4.41) + postcss-modules-values: 4.0.0(postcss@8.4.41) postcss-value-parser: 4.2.0 - semver: 7.3.7 - webpack: 5.74.0(@swc/core@1.5.7) + semver: 7.5.4 + optionalDependencies: + webpack: 5.93.0(@swc/core@1.5.7) - css-minimizer-webpack-plugin@4.1.0(clean-css@5.3.1)(webpack@5.74.0(@swc/core@1.5.7)): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.93.0(@swc/core@1.5.7)): dependencies: - cssnano: 5.1.13(postcss@8.4.16) - jest-worker: 27.5.1 - postcss: 8.4.16 - schema-utils: 4.0.0 - serialize-javascript: 6.0.0 - source-map: 0.6.1 - webpack: 5.74.0(@swc/core@1.5.7) + '@jridgewell/trace-mapping': 0.3.25 + cssnano: 6.1.2(postcss@8.4.41) + jest-worker: 29.7.0 + postcss: 8.4.41 + schema-utils: 4.2.0 + serialize-javascript: 6.0.2 + webpack: 5.93.0(@swc/core@1.5.7) optionalDependencies: - clean-css: 5.3.1 + clean-css: 5.3.3 css-select-base-adapter@0.1.1: {} @@ -8669,6 +9375,16 @@ snapshots: mdn-data: 2.0.14 source-map: 0.6.1 + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.0.2 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + css-what@3.4.2: {} css-what@5.1.0: {} @@ -8677,68 +9393,75 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-advanced@5.3.8(postcss@8.4.16): - dependencies: - autoprefixer: 10.4.12(postcss@8.4.16) - cssnano-preset-default: 5.2.12(postcss@8.4.16) - postcss: 8.4.16 - postcss-discard-unused: 5.1.0(postcss@8.4.16) - postcss-merge-idents: 5.1.1(postcss@8.4.16) - postcss-reduce-idents: 5.2.0(postcss@8.4.16) - postcss-zindex: 5.1.0(postcss@8.4.16) - - cssnano-preset-default@5.2.12(postcss@8.4.16): - dependencies: - css-declaration-sorter: 6.3.1(postcss@8.4.16) - cssnano-utils: 3.1.0(postcss@8.4.16) - postcss: 8.4.16 - postcss-calc: 8.2.4(postcss@8.4.16) - postcss-colormin: 5.3.0(postcss@8.4.16) - postcss-convert-values: 5.1.2(postcss@8.4.16) - postcss-discard-comments: 5.1.2(postcss@8.4.16) - postcss-discard-duplicates: 5.1.0(postcss@8.4.16) - postcss-discard-empty: 5.1.1(postcss@8.4.16) - postcss-discard-overridden: 5.1.0(postcss@8.4.16) - postcss-merge-longhand: 5.1.6(postcss@8.4.16) - postcss-merge-rules: 5.1.2(postcss@8.4.16) - postcss-minify-font-values: 5.1.0(postcss@8.4.16) - postcss-minify-gradients: 5.1.1(postcss@8.4.16) - postcss-minify-params: 5.1.3(postcss@8.4.16) - postcss-minify-selectors: 5.2.1(postcss@8.4.16) - postcss-normalize-charset: 5.1.0(postcss@8.4.16) - postcss-normalize-display-values: 5.1.0(postcss@8.4.16) - postcss-normalize-positions: 5.1.1(postcss@8.4.16) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.16) - postcss-normalize-string: 5.1.0(postcss@8.4.16) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.16) - postcss-normalize-unicode: 5.1.0(postcss@8.4.16) - postcss-normalize-url: 5.1.0(postcss@8.4.16) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.16) - postcss-ordered-values: 5.1.3(postcss@8.4.16) - postcss-reduce-initial: 5.1.0(postcss@8.4.16) - postcss-reduce-transforms: 5.1.0(postcss@8.4.16) - postcss-svgo: 5.1.0(postcss@8.4.16) - postcss-unique-selectors: 5.1.1(postcss@8.4.16) - - cssnano-utils@3.1.0(postcss@8.4.16): - dependencies: - postcss: 8.4.16 - - cssnano@5.1.13(postcss@8.4.16): - dependencies: - cssnano-preset-default: 5.2.12(postcss@8.4.16) - lilconfig: 2.0.4 - postcss: 8.4.16 - yaml: 1.10.2 + cssnano-preset-advanced@6.1.2(postcss@8.4.41): + dependencies: + autoprefixer: 10.4.20(postcss@8.4.41) + browserslist: 4.23.3 + cssnano-preset-default: 6.1.2(postcss@8.4.41) + postcss: 8.4.41 + postcss-discard-unused: 6.0.5(postcss@8.4.41) + postcss-merge-idents: 6.0.3(postcss@8.4.41) + postcss-reduce-idents: 6.0.3(postcss@8.4.41) + postcss-zindex: 6.0.2(postcss@8.4.41) + + cssnano-preset-default@6.1.2(postcss@8.4.41): + dependencies: + browserslist: 4.23.3 + css-declaration-sorter: 7.2.0(postcss@8.4.41) + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 + postcss-calc: 9.0.1(postcss@8.4.41) + postcss-colormin: 6.1.0(postcss@8.4.41) + postcss-convert-values: 6.1.0(postcss@8.4.41) + postcss-discard-comments: 6.0.2(postcss@8.4.41) + postcss-discard-duplicates: 6.0.3(postcss@8.4.41) + postcss-discard-empty: 6.0.3(postcss@8.4.41) + postcss-discard-overridden: 6.0.2(postcss@8.4.41) + postcss-merge-longhand: 6.0.5(postcss@8.4.41) + postcss-merge-rules: 6.1.1(postcss@8.4.41) + postcss-minify-font-values: 6.1.0(postcss@8.4.41) + postcss-minify-gradients: 6.0.3(postcss@8.4.41) + postcss-minify-params: 6.1.0(postcss@8.4.41) + postcss-minify-selectors: 6.0.4(postcss@8.4.41) + postcss-normalize-charset: 6.0.2(postcss@8.4.41) + postcss-normalize-display-values: 6.0.2(postcss@8.4.41) + postcss-normalize-positions: 6.0.2(postcss@8.4.41) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.41) + postcss-normalize-string: 6.0.2(postcss@8.4.41) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.41) + postcss-normalize-unicode: 6.1.0(postcss@8.4.41) + postcss-normalize-url: 6.0.2(postcss@8.4.41) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.41) + postcss-ordered-values: 6.0.2(postcss@8.4.41) + postcss-reduce-initial: 6.1.0(postcss@8.4.41) + postcss-reduce-transforms: 6.0.2(postcss@8.4.41) + postcss-svgo: 6.0.3(postcss@8.4.41) + postcss-unique-selectors: 6.0.4(postcss@8.4.41) + + cssnano-utils@4.0.2(postcss@8.4.41): + dependencies: + postcss: 8.4.41 + + cssnano@6.1.2(postcss@8.4.41): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.4.41) + lilconfig: 3.1.2 + postcss: 8.4.41 csso@4.2.0: dependencies: css-tree: 1.1.3 + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + csstype@3.0.10: {} csstype@3.1.3: {} + debounce@1.2.1: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -8747,19 +9470,25 @@ snapshots: dependencies: ms: 2.1.2 - decompress-response@3.3.0: + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: dependencies: - mimic-response: 1.0.1 + mimic-response: 3.1.0 deep-extend@0.6.0: {} deepmerge@4.2.2: {} + deepmerge@4.3.1: {} + default-gateway@6.0.3: dependencies: execa: 5.1.1 - defer-to-connect@1.1.3: {} + defer-to-connect@2.0.1: {} define-lazy-prop@2.0.0: {} @@ -8780,11 +9509,9 @@ snapshots: depd@1.1.2: {} - destroy@1.0.4: {} + dequal@2.0.3: {} - detab@2.0.4: - dependencies: - repeat-string: 1.6.1 + destroy@1.0.4: {} detect-node@2.1.0: {} @@ -8795,13 +9522,17 @@ snapshots: transitivePeerDependencies: - supports-color - detect-port@1.3.0: + detect-port@1.6.1: dependencies: address: 1.1.2 - debug: 2.6.9 + debug: 4.3.3 transitivePeerDependencies: - supports-color + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -8812,9 +9543,9 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.4 - docusaurus-plugin-image-zoom@1.0.1(@docusaurus/theme-classic@2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4)): + docusaurus-plugin-image-zoom@1.0.1(@docusaurus/theme-classic@3.4.0(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4)): dependencies: - '@docusaurus/theme-classic': 2.4.1(@swc/core@1.5.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.0.4) + '@docusaurus/theme-classic': 3.4.0(@swc/core@1.5.7)(@types/react@17.0.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.0.4) medium-zoom: 1.0.8 validate-peer-dependencies: 2.2.0 @@ -8873,14 +9604,12 @@ snapshots: dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.4.0 + tslib: 2.6.3 - dot-prop@5.3.0: + dot-prop@6.0.1: dependencies: is-obj: 2.0.0 - duplexer3@0.1.4: {} - duplexer@0.1.2: {} eastasianwidth@0.2.0: {} @@ -8891,31 +9620,29 @@ snapshots: electron-to-chromium@1.4.73: {} + electron-to-chromium@1.5.5: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + emojilib@2.4.0: {} + emojis-list@3.0.0: {} - emoticon@3.2.0: {} + emoticon@4.1.0: {} encodeurl@1.0.2: {} - end-of-stream@1.4.4: + enhanced-resolve@5.17.1: dependencies: - once: 1.4.0 - - enhanced-resolve@5.10.0: - dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 tapable: 2.2.1 entities@2.1.0: {} entities@2.2.0: {} - entities@3.0.1: {} - entities@4.4.0: {} error-ex@1.3.2: @@ -8945,7 +9672,7 @@ snapshots: string.prototype.trimstart: 1.0.4 unbox-primitive: 1.0.1 - es-module-lexer@0.9.3: {} + es-module-lexer@1.5.4: {} es-to-primitive@1.2.1: dependencies: @@ -8955,7 +9682,9 @@ snapshots: escalade@3.1.1: {} - escape-goat@2.1.1: {} + escalade@3.1.2: {} + + escape-goat@4.0.0: {} escape-html@1.0.3: {} @@ -8963,6 +9692,8 @@ snapshots: escape-string-regexp@4.0.0: {} + escape-string-regexp@5.0.0: {} + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 @@ -8978,6 +9709,38 @@ snapshots: estraverse@5.3.0: {} + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.5 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.8.6 + source-map: 0.7.4 + + estree-util-value-to-estree@3.1.2: + dependencies: + '@types/estree': 1.0.5 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.2 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + esutils@2.0.3: {} eta@2.2.0: {} @@ -9066,39 +9829,23 @@ snapshots: dependencies: reusify: 1.0.4 - faye-websocket@0.11.4: - dependencies: - websocket-driver: 0.7.4 - - fbemitter@3.0.0: + fault@2.0.1: dependencies: - fbjs: 3.0.4 - transitivePeerDependencies: - - encoding - - fbjs-css-vars@1.0.2: {} + format: 0.2.2 - fbjs@3.0.4: + faye-websocket@0.11.4: dependencies: - cross-fetch: 3.1.5 - fbjs-css-vars: 1.0.2 - loose-envify: 1.4.0 - object-assign: 4.1.1 - promise: 7.3.1 - setimmediate: 1.0.5 - ua-parser-js: 0.7.31 - transitivePeerDependencies: - - encoding + websocket-driver: 0.7.4 feed@4.2.2: dependencies: xml-js: 1.6.11 - file-loader@6.2.0(webpack@5.74.0(@swc/core@1.5.7)): + file-loader@6.2.0(webpack@5.93.0(@swc/core@1.5.7)): dependencies: loader-utils: 2.0.2 schema-utils: 3.1.1 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) filesize@8.0.7: {} @@ -9118,37 +9865,30 @@ snapshots: transitivePeerDependencies: - supports-color - find-cache-dir@3.3.2: + find-cache-dir@4.0.0: dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 find-up@3.0.0: dependencies: locate-path: 3.0.0 - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - flux@4.0.3(react@17.0.2): + find-up@6.3.0: dependencies: - fbemitter: 3.0.0 - fbjs: 3.0.4 - react: 17.0.2 - transitivePeerDependencies: - - encoding + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat@5.0.2: {} follow-redirects@1.14.9: {} - fork-ts-checker-webpack-plugin@6.5.0(typescript@5.0.4)(webpack@5.74.0(@swc/core@1.5.7)): + fork-ts-checker-webpack-plugin@6.5.0(typescript@5.0.4)(webpack@5.93.0(@swc/core@1.5.7)): dependencies: '@babel/code-frame': 7.18.6 '@types/json-schema': 7.0.9 @@ -9161,18 +9901,22 @@ snapshots: memfs: 3.4.1 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.3.7 + semver: 7.5.4 tapable: 1.1.3 typescript: 5.0.4 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) + + form-data-encoder@2.1.4: {} + + format@0.2.2: {} forwarded@0.2.0: {} - fraction.js@4.2.0: {} + fraction.js@4.3.7: {} fresh@0.5.2: {} - fs-extra@10.1.0: + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.9 jsonfile: 6.1.0 @@ -9187,6 +9931,8 @@ snapshots: fs-monkey@1.0.3: {} + fs-monkey@1.0.6: {} + fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -9204,14 +9950,6 @@ snapshots: get-own-enumerable-property-symbols@3.0.2: {} - get-stream@4.1.0: - dependencies: - pump: 3.0.0 - - get-stream@5.2.0: - dependencies: - pump: 3.0.0 - get-stream@6.0.1: {} get-symbol-description@1.0.0: @@ -9219,7 +9957,7 @@ snapshots: call-bind: 1.0.2 get-intrinsic: 1.1.1 - github-slugger@1.4.0: {} + github-slugger@1.5.0: {} glob-parent@5.1.2: dependencies: @@ -9282,21 +10020,23 @@ snapshots: merge2: 1.4.1 slash: 4.0.0 - got@9.6.0: - dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.0 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.4 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} graceful-fs@4.2.9: {} @@ -9325,69 +10065,113 @@ snapshots: dependencies: has-symbols: 1.0.2 - has-yarn@2.1.0: {} + has-yarn@3.0.0: {} has@1.0.3: dependencies: function-bind: 1.1.1 - hast-to-hyperscript@9.0.1: + hast-util-from-parse5@8.0.1: dependencies: - '@types/unist': 2.0.6 - comma-separated-tokens: 1.0.8 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - style-to-object: 0.3.0 - unist-util-is: 4.1.0 - web-namespaces: 1.1.4 - - hast-util-from-parse5@6.0.1: - dependencies: - '@types/parse5': 5.0.3 - hastscript: 6.0.0 - property-information: 5.6.0 - vfile: 4.2.1 - vfile-location: 3.2.0 - web-namespaces: 1.1.4 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.5.0 + vfile: 6.0.2 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 hast-util-is-element@1.1.0: {} - hast-util-parse-selector@2.2.5: {} + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.1.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.0: + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.0: + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.6 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color - hast-util-raw@6.0.1: + hast-util-to-parse5@8.0.0: dependencies: - '@types/hast': 2.3.4 - hast-util-from-parse5: 6.0.1 - hast-util-to-parse5: 6.0.0 - html-void-elements: 1.0.5 - parse5: 6.0.1 - unist-util-position: 3.1.0 - vfile: 4.2.1 - web-namespaces: 1.1.4 - xtend: 4.0.2 - zwitch: 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 - hast-util-to-parse5@6.0.0: + hast-util-whitespace@3.0.0: dependencies: - hast-to-hyperscript: 9.0.1 - property-information: 5.6.0 - web-namespaces: 1.1.4 - xtend: 4.0.2 - zwitch: 1.0.5 + '@types/hast': 3.0.4 - hastscript@6.0.0: + hastscript@8.0.0: dependencies: - '@types/hast': 2.3.4 - comma-separated-tokens: 1.0.8 - hast-util-parse-selector: 2.2.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 he@1.2.0: {} history@4.10.1: dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.25.0 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.2.0 @@ -9407,28 +10191,41 @@ snapshots: html-entities@2.3.2: {} + html-escaper@2.0.2: {} + html-minifier-terser@6.1.0: dependencies: camel-case: 4.1.2 - clean-css: 5.3.1 + clean-css: 5.3.3 commander: 8.3.0 he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 terser: 5.15.0 - html-tags@3.2.0: {} + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.4.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.31.5 + + html-tags@3.3.1: {} - html-void-elements@1.0.5: {} + html-void-elements@3.0.0: {} - html-webpack-plugin@5.5.0(webpack@5.74.0(@swc/core@1.5.7)): + html-webpack-plugin@5.6.0(webpack@5.93.0(@swc/core@1.5.7)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.74.0(@swc/core@1.5.7) + optionalDependencies: + webpack: 5.93.0(@swc/core@1.5.7) htmlparser2@6.1.0: dependencies: @@ -9444,7 +10241,7 @@ snapshots: domutils: 3.0.1 entities: 4.4.0 - http-cache-semantics@4.1.0: {} + http-cache-semantics@4.1.1: {} http-deceiver@1.2.7: {} @@ -9485,6 +10282,11 @@ snapshots: transitivePeerDependencies: - debug + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + human-signals@2.1.0: {} husky@7.0.4: {} @@ -9493,13 +10295,13 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.16): + icss-utils@5.1.0(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 ignore@5.2.0: {} - image-size@1.0.1: + image-size@1.1.1: dependencies: queue: 6.0.2 @@ -9510,7 +10312,7 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-lazy@2.1.0: {} + import-lazy@4.0.0: {} imurmurhash@0.1.4: {} @@ -9533,6 +10335,8 @@ snapshots: inline-style-parser@0.1.1: {} + inline-style-parser@0.2.3: {} + internal-slot@1.0.3: dependencies: get-intrinsic: 1.1.1 @@ -9549,12 +10353,12 @@ snapshots: ipaddr.js@2.0.1: {} - is-alphabetical@1.0.4: {} + is-alphabetical@2.0.1: {} - is-alphanumerical@1.0.4: + is-alphanumerical@2.0.1: dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 is-arrayish@0.2.1: {} @@ -9571,13 +10375,11 @@ snapshots: call-bind: 1.0.2 has-tostringtag: 1.0.0 - is-buffer@2.0.5: {} - is-callable@1.2.4: {} - is-ci@2.0.0: + is-ci@3.0.1: dependencies: - ci-info: 2.0.0 + ci-info: 3.9.0 is-core-module@2.8.1: dependencies: @@ -9587,7 +10389,7 @@ snapshots: dependencies: has-tostringtag: 1.0.0 - is-decimal@1.0.4: {} + is-decimal@2.0.1: {} is-docker@2.2.1: {} @@ -9601,7 +10403,7 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-hexadecimal@1.0.4: {} + is-hexadecimal@2.0.1: {} is-installed-globally@0.4.0: dependencies: @@ -9610,7 +10412,7 @@ snapshots: is-negative-zero@2.0.2: {} - is-npm@5.0.0: {} + is-npm@6.0.0: {} is-number-object@1.0.6: dependencies: @@ -9626,14 +10428,18 @@ snapshots: is-path-inside@3.0.3: {} - is-plain-obj@2.1.0: {} - is-plain-obj@3.0.0: {} + is-plain-obj@4.1.0: {} + is-plain-object@2.0.4: dependencies: isobject: 3.0.1 + is-reference@3.0.2: + dependencies: + '@types/estree': 1.0.5 + is-regex@1.1.4: dependencies: call-bind: 1.0.2 @@ -9661,15 +10467,11 @@ snapshots: dependencies: call-bind: 1.0.2 - is-whitespace-character@1.0.4: {} - - is-word-character@1.0.4: {} - is-wsl@2.2.0: dependencies: is-docker: 2.2.1 - is-yarn-global@0.3.0: {} + is-yarn-global@0.4.1: {} isarray@0.0.1: {} @@ -9679,18 +10481,36 @@ snapshots: isobject@3.0.1: {} + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 17.0.21 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.9 + picomatch: 2.3.1 + jest-worker@27.5.1: dependencies: '@types/node': 17.0.21 merge-stream: 2.0.0 supports-color: 8.1.1 - joi@17.6.0: + jest-worker@29.7.0: dependencies: - '@hapi/hoek': 9.2.1 + '@types/node': 17.0.21 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.6: {} + + joi@17.13.3: + dependencies: + '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.3 - '@sideway/formula': 3.0.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 js-tokens@4.0.0: {} @@ -9708,7 +10528,7 @@ snapshots: jsesc@2.5.2: {} - json-buffer@3.0.0: {} + json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} @@ -9720,7 +10540,7 @@ snapshots: dependencies: minimist: 1.2.5 - json5@2.2.1: {} + json5@2.2.3: {} jsonfile@6.1.0: dependencies: @@ -9728,23 +10548,26 @@ snapshots: optionalDependencies: graceful-fs: 4.2.9 - keyv@3.1.0: + keyv@4.5.4: dependencies: - json-buffer: 3.0.0 + json-buffer: 3.0.1 kind-of@6.0.3: {} kleur@3.0.3: {} - klona@2.0.5: {} + latest-version@7.0.0: + dependencies: + package-json: 8.1.1 - latest-version@5.1.0: + launch-editor@2.8.1: dependencies: - package-json: 6.5.0 + picocolors: 1.0.0 + shell-quote: 1.8.1 leven@3.1.0: {} - lilconfig@2.0.4: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -9767,47 +10590,43 @@ snapshots: p-locate: 3.0.0 path-exists: 3.0.0 - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - locate-path@6.0.0: dependencies: p-locate: 5.0.0 - lodash.curry@4.1.1: {} + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 lodash.debounce@4.0.8: {} - lodash.flow@3.5.0: {} - lodash.memoize@4.1.2: {} lodash.uniq@4.5.0: {} lodash@4.17.21: {} + longest-streak@3.1.0: {} + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 lower-case@2.0.2: dependencies: - tslib: 2.4.0 + tslib: 2.6.3 - lowercase-keys@1.0.1: {} + lowercase-keys@3.0.0: {} - lowercase-keys@2.0.0: {} + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 lru-cache@6.0.0: dependencies: yallist: 4.0.0 - make-dir@3.1.0: - dependencies: - semver: 6.3.0 - - markdown-escapes@1.0.4: {} + markdown-extensions@2.0.0: {} markdown-it@12.3.2: dependencies: @@ -9817,6 +10636,8 @@ snapshots: mdurl: 1.0.1 uc.micro: 1.0.6 + markdown-table@3.0.3: {} + markdownlint-cli2-formatter-default@0.0.3(markdownlint-cli2@0.4.0): dependencies: markdownlint-cli2: 0.4.0 @@ -9837,61 +10658,530 @@ snapshots: dependencies: markdown-it: 12.3.2 - mdast-squeeze-paragraphs@4.0.0: + mdast-util-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.2: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-remove-position: 5.0.0 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.2 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.14: {} + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + mdn-data@2.0.4: {} + + mdurl@1.0.1: {} + + media-typer@0.3.0: {} + + medium-zoom@1.0.8: {} + + meilisearch-docsearch@0.6.0: + dependencies: + meilisearch: 0.35.0 + solid-js: 1.8.5 + transitivePeerDependencies: + - encoding + + meilisearch@0.35.0: + dependencies: + cross-fetch: 3.1.8 + transitivePeerDependencies: + - encoding + + memfs@3.4.1: + dependencies: + fs-monkey: 1.0.3 + + memfs@3.5.3: + dependencies: + fs-monkey: 1.0.6 + + merge-descriptors@1.0.1: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-directive@3.0.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-expression@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-jsx@3.0.0: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.8.0 + acorn-jsx: 5.3.2(acorn@8.8.0) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-mdx-expression@2.0.1: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: dependencies: - unist-util-remove: 2.1.0 + micromark-util-symbol: 2.0.0 - mdast-util-definitions@4.0.0: + micromark-util-classify-character@2.0.0: dependencies: - unist-util-visit: 2.0.3 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - mdast-util-to-hast@10.0.1: + micromark-util-combine-extensions@2.0.0: dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 - mdast-util-definitions: 4.0.0 - mdurl: 1.0.1 - unist-builder: 2.0.3 - unist-util-generated: 1.1.6 - unist-util-position: 3.1.0 - unist-util-visit: 2.0.3 + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 - mdast-util-to-string@2.0.0: {} + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 - mdn-data@2.0.14: {} + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 - mdn-data@2.0.4: {} + micromark-util-encode@2.0.0: {} - mdurl@1.0.1: {} + micromark-util-events-to-acorn@2.0.2: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 - media-typer@0.3.0: {} + micromark-util-html-tag-name@2.0.0: {} - medium-zoom@1.0.8: {} + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 - meilisearch-docsearch@0.6.0: + micromark-util-resolve-all@2.0.0: dependencies: - meilisearch: 0.35.0 - solid-js: 1.8.5 - transitivePeerDependencies: - - encoding + micromark-util-types: 2.0.0 - meilisearch@0.35.0: + micromark-util-sanitize-uri@2.0.0: dependencies: - cross-fetch: 3.1.8 - transitivePeerDependencies: - - encoding + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 - memfs@3.4.1: + micromark-util-subtokenize@2.0.1: dependencies: - fs-monkey: 1.0.3 + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - merge-descriptors@1.0.1: {} + micromark-util-symbol@1.1.0: {} - merge-stream@2.0.0: {} + micromark-util-symbol@2.0.0: {} - merge2@1.4.1: {} + micromark-util-types@1.1.0: {} - methods@1.1.2: {} + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color micromatch@4.0.4: dependencies: @@ -9921,19 +11211,15 @@ snapshots: mimic-fn@2.1.0: {} - mimic-response@1.0.1: {} + mimic-response@3.1.0: {} - mini-create-react-context@0.4.1(prop-types@15.8.1)(react@17.0.2): - dependencies: - '@babel/runtime': 7.19.0 - prop-types: 15.8.1 - react: 17.0.2 - tiny-warning: 1.0.3 + mimic-response@4.0.0: {} - mini-css-extract-plugin@2.6.1(webpack@5.74.0(@swc/core@1.5.7)): + mini-css-extract-plugin@2.9.0(webpack@5.93.0(@swc/core@1.5.7)): dependencies: schema-utils: 4.0.0 - webpack: 5.74.0(@swc/core@1.5.7) + tapable: 2.2.1 + webpack: 5.93.0(@swc/core@1.5.7) minimalistic-assert@1.0.1: {} @@ -9951,7 +11237,7 @@ snapshots: dependencies: minimist: 1.2.5 - mrmime@1.0.0: {} + mrmime@2.0.0: {} ms@2.0.0: {} @@ -9964,7 +11250,7 @@ snapshots: dns-packet: 5.4.0 thunky: 1.1.0 - nanoid@3.3.4: {} + nanoid@3.3.7: {} negotiator@0.6.3: {} @@ -9973,15 +11259,14 @@ snapshots: no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.4.0 - - node-emoji@1.11.0: - dependencies: - lodash: 4.17.21 + tslib: 2.6.3 - node-fetch@2.6.7: + node-emoji@2.1.3: dependencies: - whatwg-url: 5.0.0 + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 node-fetch@2.7.0: dependencies: @@ -9989,6 +11274,8 @@ snapshots: node-forge@1.2.1: {} + node-releases@2.0.18: {} + node-releases@2.0.2: {} node-releases@2.0.6: {} @@ -9997,9 +11284,7 @@ snapshots: normalize-range@0.1.2: {} - normalize-url@4.5.1: {} - - normalize-url@6.1.0: {} + normalize-url@8.0.1: {} npm-run-path@4.0.1: dependencies: @@ -10064,7 +11349,7 @@ snapshots: opener@1.5.2: {} - p-cancelable@1.1.0: {} + p-cancelable@3.0.0: {} p-limit@2.3.0: dependencies: @@ -10074,11 +11359,11 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-locate@3.0.0: + p-limit@4.0.0: dependencies: - p-limit: 2.3.0 + yocto-queue: 1.1.1 - p-locate@4.1.0: + p-locate@3.0.0: dependencies: p-limit: 2.3.0 @@ -10086,6 +11371,10 @@ snapshots: dependencies: p-limit: 3.1.0 + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 @@ -10097,30 +11386,32 @@ snapshots: p-try@2.2.0: {} - package-json@6.5.0: + package-json@8.1.1: dependencies: - got: 9.6.0 - registry-auth-token: 4.2.1 - registry-url: 5.1.0 - semver: 6.3.0 + got: 12.6.1 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.5.4 param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.4.0 + tslib: 2.6.3 parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-entities@2.0.0: + parse-entities@4.0.1: dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 + '@types/unist': 2.0.6 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 parse-json@5.2.0: dependencies: @@ -10136,8 +11427,6 @@ snapshots: domhandler: 5.0.3 parse5: 7.1.1 - parse5@6.0.1: {} - parse5@7.1.1: dependencies: entities: 4.4.0 @@ -10147,12 +11436,14 @@ snapshots: pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.4.0 + tslib: 2.6.3 path-exists@3.0.0: {} path-exists@4.0.0: {} + path-exists@5.0.0: {} + path-is-absolute@1.0.1: {} path-is-inside@1.0.2: {} @@ -10177,198 +11468,207 @@ snapshots: path-type@4.0.0: {} + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + picocolors@1.0.0: {} + picocolors@1.0.1: {} + picomatch@2.3.1: {} - pkg-dir@4.2.0: + pkg-dir@7.0.0: dependencies: - find-up: 4.1.0 + find-up: 6.3.0 pkg-up@3.1.0: dependencies: find-up: 3.0.0 - postcss-calc@8.2.4(postcss@8.4.16): + postcss-calc@9.0.1(postcss@8.4.41): dependencies: - postcss: 8.4.16 - postcss-selector-parser: 6.0.9 + postcss: 8.4.41 + postcss-selector-parser: 6.1.1 postcss-value-parser: 4.2.0 - postcss-colormin@5.3.0(postcss@8.4.16): + postcss-colormin@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.21.4 + browserslist: 4.23.3 caniuse-api: 3.0.0 - colord: 2.9.2 - postcss: 8.4.16 + colord: 2.9.3 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-convert-values@5.1.2(postcss@8.4.16): + postcss-convert-values@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.21.4 - postcss: 8.4.16 + browserslist: 4.23.3 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-discard-comments@5.1.2(postcss@8.4.16): + postcss-discard-comments@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 - postcss-discard-duplicates@5.1.0(postcss@8.4.16): + postcss-discard-duplicates@6.0.3(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 - postcss-discard-empty@5.1.1(postcss@8.4.16): + postcss-discard-empty@6.0.3(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 - postcss-discard-overridden@5.1.0(postcss@8.4.16): + postcss-discard-overridden@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 - postcss-discard-unused@5.1.0(postcss@8.4.16): + postcss-discard-unused@6.0.5(postcss@8.4.41): dependencies: - postcss: 8.4.16 - postcss-selector-parser: 6.0.9 + postcss: 8.4.41 + postcss-selector-parser: 6.1.1 - postcss-loader@7.0.1(postcss@8.4.16)(webpack@5.74.0(@swc/core@1.5.7)): + postcss-loader@7.3.4(postcss@8.4.41)(typescript@5.0.4)(webpack@5.93.0(@swc/core@1.5.7)): dependencies: - cosmiconfig: 7.0.1 - klona: 2.0.5 - postcss: 8.4.16 - semver: 7.3.7 - webpack: 5.74.0(@swc/core@1.5.7) + cosmiconfig: 8.3.6(typescript@5.0.4) + jiti: 1.21.6 + postcss: 8.4.41 + semver: 7.5.4 + webpack: 5.93.0(@swc/core@1.5.7) + transitivePeerDependencies: + - typescript - postcss-merge-idents@5.1.1(postcss@8.4.16): + postcss-merge-idents@6.0.3(postcss@8.4.41): dependencies: - cssnano-utils: 3.1.0(postcss@8.4.16) - postcss: 8.4.16 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-merge-longhand@5.1.6(postcss@8.4.16): + postcss-merge-longhand@6.0.5(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - stylehacks: 5.1.0(postcss@8.4.16) + stylehacks: 6.1.1(postcss@8.4.41) - postcss-merge-rules@5.1.2(postcss@8.4.16): + postcss-merge-rules@6.1.1(postcss@8.4.41): dependencies: - browserslist: 4.21.4 + browserslist: 4.23.3 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.16) - postcss: 8.4.16 - postcss-selector-parser: 6.0.9 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 + postcss-selector-parser: 6.1.1 - postcss-minify-font-values@5.1.0(postcss@8.4.16): + postcss-minify-font-values@6.1.0(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-minify-gradients@5.1.1(postcss@8.4.16): + postcss-minify-gradients@6.0.3(postcss@8.4.41): dependencies: - colord: 2.9.2 - cssnano-utils: 3.1.0(postcss@8.4.16) - postcss: 8.4.16 + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-minify-params@5.1.3(postcss@8.4.16): + postcss-minify-params@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.21.4 - cssnano-utils: 3.1.0(postcss@8.4.16) - postcss: 8.4.16 + browserslist: 4.23.3 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-minify-selectors@5.2.1(postcss@8.4.16): + postcss-minify-selectors@6.0.4(postcss@8.4.41): dependencies: - postcss: 8.4.16 - postcss-selector-parser: 6.0.9 + postcss: 8.4.41 + postcss-selector-parser: 6.1.1 - postcss-modules-extract-imports@3.0.0(postcss@8.4.16): + postcss-modules-extract-imports@3.1.0(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 - postcss-modules-local-by-default@4.0.0(postcss@8.4.16): + postcss-modules-local-by-default@4.0.5(postcss@8.4.41): dependencies: - icss-utils: 5.1.0(postcss@8.4.16) - postcss: 8.4.16 + icss-utils: 5.1.0(postcss@8.4.41) + postcss: 8.4.41 postcss-selector-parser: 6.0.9 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.0.0(postcss@8.4.16): + postcss-modules-scope@3.2.0(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-selector-parser: 6.0.9 - postcss-modules-values@4.0.0(postcss@8.4.16): + postcss-modules-values@4.0.0(postcss@8.4.41): dependencies: - icss-utils: 5.1.0(postcss@8.4.16) - postcss: 8.4.16 + icss-utils: 5.1.0(postcss@8.4.41) + postcss: 8.4.41 - postcss-normalize-charset@5.1.0(postcss@8.4.16): + postcss-normalize-charset@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 - postcss-normalize-display-values@5.1.0(postcss@8.4.16): + postcss-normalize-display-values@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-positions@5.1.1(postcss@8.4.16): + postcss-normalize-positions@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@5.1.1(postcss@8.4.16): + postcss-normalize-repeat-style@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-string@5.1.0(postcss@8.4.16): + postcss-normalize-string@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@5.1.0(postcss@8.4.16): + postcss-normalize-timing-functions@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@5.1.0(postcss@8.4.16): + postcss-normalize-unicode@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.21.4 - postcss: 8.4.16 + browserslist: 4.23.3 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-url@5.1.0(postcss@8.4.16): + postcss-normalize-url@6.0.2(postcss@8.4.41): dependencies: - normalize-url: 6.1.0 - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@5.1.1(postcss@8.4.16): + postcss-normalize-whitespace@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-ordered-values@5.1.3(postcss@8.4.16): + postcss-ordered-values@6.0.2(postcss@8.4.41): dependencies: - cssnano-utils: 3.1.0(postcss@8.4.16) - postcss: 8.4.16 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-reduce-idents@5.2.0(postcss@8.4.16): + postcss-reduce-idents@6.0.3(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-reduce-initial@5.1.0(postcss@8.4.16): + postcss-reduce-initial@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.21.4 + browserslist: 4.23.3 caniuse-api: 3.0.0 - postcss: 8.4.16 + postcss: 8.4.41 - postcss-reduce-transforms@5.1.0(postcss@8.4.16): + postcss-reduce-transforms@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 postcss-selector-parser@6.0.9: @@ -10376,35 +11676,38 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sort-media-queries@4.2.1(postcss@8.4.16): + postcss-selector-parser@6.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sort-media-queries@5.2.0(postcss@8.4.41): dependencies: - postcss: 8.4.16 - sort-css-media-queries: 2.0.4 + postcss: 8.4.41 + sort-css-media-queries: 2.2.0 - postcss-svgo@5.1.0(postcss@8.4.16): + postcss-svgo@6.0.3(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - svgo: 2.8.0 + svgo: 3.3.2 - postcss-unique-selectors@5.1.1(postcss@8.4.16): + postcss-unique-selectors@6.0.4(postcss@8.4.41): dependencies: - postcss: 8.4.16 - postcss-selector-parser: 6.0.9 + postcss: 8.4.41 + postcss-selector-parser: 6.1.1 postcss-value-parser@4.2.0: {} - postcss-zindex@5.1.0(postcss@8.4.16): + postcss-zindex@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.16 + postcss: 8.4.41 - postcss@8.4.16: + postcss@8.4.41: dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - - prepend-http@2.0.0: {} + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 pretty-error@4.0.0: dependencies: @@ -10413,18 +11716,16 @@ snapshots: pretty-time@1.1.0: {} - prism-react-renderer@1.3.5(react@17.0.2): + prism-react-renderer@2.3.1(react@18.3.1): dependencies: - react: 17.0.2 + '@types/prismjs': 1.26.4 + clsx: 2.1.1 + react: 18.3.1 prismjs@1.29.0: {} process-nextick-args@2.0.1: {} - promise@7.3.1: - dependencies: - asap: 2.0.6 - prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -10436,29 +11737,22 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - property-information@5.6.0: - dependencies: - xtend: 4.0.2 + property-information@6.5.0: {} + + proto-list@1.2.4: {} proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - pump@3.0.0: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - punycode@1.4.1: {} punycode@2.1.1: {} - pupa@2.1.1: + pupa@3.1.0: dependencies: - escape-goat: 2.1.1 - - pure-color@1.3.0: {} + escape-goat: 4.0.0 q@1.5.1: {} @@ -10470,6 +11764,8 @@ snapshots: dependencies: inherits: 2.0.4 + quick-lru@5.1.1: {} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -10492,14 +11788,7 @@ snapshots: minimist: 1.2.5 strip-json-comments: 2.0.1 - react-base16-styling@0.6.0: - dependencies: - base16: 1.0.0 - lodash.curry: 4.1.1 - lodash.flow: 3.5.0 - pure-color: 1.3.0 - - react-dev-utils@12.0.1(typescript@5.0.4)(webpack@5.74.0(@swc/core@1.5.7)): + react-dev-utils@12.0.1(typescript@5.0.4)(webpack@5.93.0(@swc/core@1.5.7)): dependencies: '@babel/code-frame': 7.18.6 address: 1.1.2 @@ -10510,7 +11799,7 @@ snapshots: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.0(typescript@5.0.4)(webpack@5.74.0(@swc/core@1.5.7)) + fork-ts-checker-webpack-plugin: 6.5.0(typescript@5.0.4)(webpack@5.93.0(@swc/core@1.5.7)) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -10525,7 +11814,7 @@ snapshots: shell-quote: 1.7.3 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) optionalDependencies: typescript: 5.0.4 transitivePeerDependencies: @@ -10533,93 +11822,71 @@ snapshots: - supports-color - vue-template-compiler - react-dom@17.0.2(react@17.0.2): + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 - react: 17.0.2 - scheduler: 0.20.2 + react: 18.3.1 + scheduler: 0.23.2 react-error-overlay@6.0.11: {} react-fast-compare@3.2.0: {} - react-helmet-async@1.3.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2): + react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.25.0 invariant: 2.2.4 prop-types: 15.8.1 - react: 17.0.2 - react-dom: 17.0.2(react@17.0.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) react-fast-compare: 3.2.0 shallowequal: 1.1.0 react-is@16.13.1: {} - react-json-view@1.21.3(@types/react@17.0.39)(react-dom@17.0.2(react@17.0.2))(react@17.0.2): + react-json-view-lite@1.4.0(react@18.3.1): dependencies: - flux: 4.0.3(react@17.0.2) - react: 17.0.2 - react-base16-styling: 0.6.0 - react-dom: 17.0.2(react@17.0.2) - react-lifecycles-compat: 3.0.4 - react-textarea-autosize: 8.3.3(@types/react@17.0.39)(react@17.0.2) - transitivePeerDependencies: - - '@types/react' - - encoding - - react-lifecycles-compat@3.0.4: {} + react: 18.3.1 - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@5.5.2(react@17.0.2))(webpack@5.74.0(@swc/core@1.5.7)): + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.93.0(@swc/core@1.5.7)): dependencies: - '@babel/runtime': 7.19.0 - react-loadable: '@docusaurus/react-loadable@5.5.2(react@17.0.2)' - webpack: 5.74.0(@swc/core@1.5.7) + '@babel/runtime': 7.25.0 + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + webpack: 5.93.0(@swc/core@1.5.7) - react-router-config@5.1.1(react-router@5.3.3(react@17.0.2))(react@17.0.2): + react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.19.0 - react: 17.0.2 - react-router: 5.3.3(react@17.0.2) + '@babel/runtime': 7.25.0 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) - react-router-dom@5.3.3(react@17.0.2): + react-router-dom@5.3.4(react@18.3.1): dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.25.0 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 17.0.2 - react-router: 5.3.3(react@17.0.2) + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) tiny-invariant: 1.2.0 tiny-warning: 1.0.3 - react-router@5.3.3(react@17.0.2): + react-router@5.3.4(react@18.3.1): dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.25.0 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 - mini-create-react-context: 0.4.1(prop-types@15.8.1)(react@17.0.2) path-to-regexp: 1.8.0 prop-types: 15.8.1 - react: 17.0.2 + react: 18.3.1 react-is: 16.13.1 tiny-invariant: 1.2.0 tiny-warning: 1.0.3 - react-textarea-autosize@8.3.3(@types/react@17.0.39)(react@17.0.2): - dependencies: - '@babel/runtime': 7.19.0 - react: 17.0.2 - use-composed-ref: 1.2.1(react@17.0.2) - use-latest: 1.2.0(@types/react@17.0.39)(react@17.0.2) - transitivePeerDependencies: - - '@types/react' - - react@17.0.2: + react@18.3.1: dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 readable-stream@2.3.7: dependencies: @@ -10663,13 +11930,15 @@ snapshots: regenerator-runtime@0.13.9: {} + regenerator-runtime@0.14.1: {} + regenerator-transform@0.14.5: dependencies: '@babel/runtime': 7.17.2 - regenerator-transform@0.15.0: + regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.25.0 regexpu-core@5.0.1: dependencies: @@ -10689,11 +11958,20 @@ snapshots: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.0.0 - registry-auth-token@4.2.1: + regexpu-core@5.3.2: dependencies: - rc: 1.2.8 + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + registry-auth-token@5.0.2: + dependencies: + '@pnpm/npm-conf': 2.3.0 - registry-url@5.1.0: + registry-url@6.0.1: dependencies: rc: 1.2.8 @@ -10709,51 +11987,80 @@ snapshots: dependencies: jsesc: 0.5.0 + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.0.4 + vfile: 6.0.2 + relateurl@0.2.7: {} - remark-emoji@2.2.0: + remark-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.1 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + emoticon: 4.1.0 + mdast-util-find-and-replace: 3.0.1 + node-emoji: 2.1.3 + unified: 11.0.5 + + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.0: dependencies: - emoticon: 3.2.0 - node-emoji: 1.11.0 - unist-util-visit: 2.0.3 + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color - remark-footnotes@2.0.0: {} + remark-mdx@3.0.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color - remark-mdx@1.6.22: + remark-parse@11.0.0: dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-proposal-object-rest-spread': 7.12.1(@babel/core@7.12.9) - '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) - '@mdx-js/util': 1.6.22 - is-alphabetical: 1.0.4 - remark-parse: 8.0.3 - unified: 9.2.0 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + micromark-util-types: 2.0.0 + unified: 11.0.5 transitivePeerDependencies: - supports-color - remark-parse@8.0.3: - dependencies: - ccount: 1.1.0 - collapse-white-space: 1.0.6 - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - is-whitespace-character: 1.0.4 - is-word-character: 1.0.4 - markdown-escapes: 1.0.4 - parse-entities: 2.0.0 - repeat-string: 1.6.1 - state-toggle: 1.0.3 - trim: 0.0.1 - trim-trailing-lines: 1.1.4 - unherit: 1.1.3 - unist-util-remove-position: 2.0.1 - vfile-location: 3.2.0 - xtend: 4.0.2 - - remark-squeeze-paragraphs@4.0.0: - dependencies: - mdast-squeeze-paragraphs: 4.0.0 + remark-rehype@11.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.2 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.5 renderkid@3.0.0: dependencies: @@ -10763,14 +12070,14 @@ snapshots: lodash: 4.17.21 strip-ansi: 6.0.1 - repeat-string@1.6.1: {} - require-from-string@2.0.2: {} require-like@0.1.2: {} requires-port@1.0.0: {} + resolve-alpn@1.2.1: {} + resolve-from@4.0.0: {} resolve-package-path@4.0.3: @@ -10785,9 +12092,9 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - responselike@1.0.2: + responselike@3.0.0: dependencies: - lowercase-keys: 1.0.1 + lowercase-keys: 3.0.0 retry@0.13.1: {} @@ -10799,21 +12106,17 @@ snapshots: rtl-detect@1.0.4: {} - rtlcss@3.5.0: + rtlcss@4.2.0: dependencies: - find-up: 5.0.0 + escalade: 3.1.1 picocolors: 1.0.0 - postcss: 8.4.16 + postcss: 8.4.41 strip-json-comments: 3.1.1 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - rxjs@7.5.4: - dependencies: - tslib: 2.4.0 - safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} @@ -10822,10 +12125,9 @@ snapshots: sax@1.2.4: {} - scheduler@0.20.2: + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 schema-utils@2.7.0: dependencies: @@ -10833,13 +12135,13 @@ snapshots: ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - schema-utils@2.7.1: + schema-utils@3.1.1: dependencies: '@types/json-schema': 7.0.9 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - schema-utils@3.1.1: + schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.9 ajv: 6.12.6 @@ -10852,6 +12154,15 @@ snapshots: ajv-formats: 2.1.1(ajv@8.10.0) ajv-keywords: 5.1.0(ajv@8.10.0) + schema-utils@4.2.0: + dependencies: + '@types/json-schema': 7.0.9 + ajv: 8.10.0 + ajv-formats: 2.1.1(ajv@8.10.0) + ajv-keywords: 5.1.0(ajv@8.10.0) + + search-insights@2.16.1: {} + section-matter@1.0.0: dependencies: extend-shallow: 2.0.1 @@ -10863,19 +12174,15 @@ snapshots: dependencies: node-forge: 1.2.1 - semver-diff@3.1.1: + semver-diff@4.0.0: dependencies: - semver: 6.3.0 - - semver@5.7.1: {} + semver: 7.5.4 semver@6.3.0: {} - semver@7.0.0: {} + semver@6.3.1: {} - semver@7.3.7: - dependencies: - lru-cache: 6.0.0 + semver@7.0.0: {} semver@7.5.4: dependencies: @@ -10903,15 +12210,19 @@ snapshots: dependencies: randombytes: 2.1.0 + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + seroval@0.12.4: {} - serve-handler@6.1.3: + serve-handler@6.1.5: dependencies: bytes: 3.0.0 content-disposition: 0.5.2 fast-url-parser: 1.1.3 mime-types: 2.1.18 - minimatch: 3.0.4 + minimatch: 3.1.2 path-is-inside: 1.0.2 path-to-regexp: 2.2.1 range-parser: 1.2.0 @@ -10937,8 +12248,6 @@ snapshots: transitivePeerDependencies: - supports-color - setimmediate@1.0.5: {} - setprototypeof@1.1.0: {} setprototypeof@1.2.0: {} @@ -10957,6 +12266,8 @@ snapshots: shell-quote@1.7.3: {} + shell-quote@1.8.1: {} + shelljs@0.8.5: dependencies: glob: 7.2.0 @@ -10971,11 +12282,11 @@ snapshots: signal-exit@3.0.7: {} - sirv@1.0.19: + sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.21 - mrmime: 1.0.0 - totalist: 1.1.0 + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 sisteransi@1.0.5: {} @@ -10986,10 +12297,19 @@ snapshots: arg: 5.0.1 sax: 1.2.4 + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + slash@3.0.0: {} slash@4.0.0: {} + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.6.3 + sockjs@0.3.24: dependencies: faye-websocket: 0.11.4 @@ -11001,10 +12321,12 @@ snapshots: csstype: 3.1.3 seroval: 0.12.4 - sort-css-media-queries@2.0.4: {} + sort-css-media-queries@2.2.0: {} source-map-js@1.0.2: {} + source-map-js@1.2.0: {} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 @@ -11014,7 +12336,9 @@ snapshots: source-map@0.6.1: {} - space-separated-tokens@1.1.5: {} + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} spdy-transport@3.0.0: dependencies: @@ -11039,9 +12363,9 @@ snapshots: sprintf-js@1.0.3: {} - stable@0.1.8: {} + srcset@4.0.0: {} - state-toggle@1.0.3: {} + stable@0.1.8: {} statuses@1.5.0: {} @@ -11059,6 +12383,12 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.0.1 + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.0.1 + string.prototype.trimend@1.0.4: dependencies: call-bind: 1.0.2 @@ -11077,6 +12407,11 @@ snapshots: dependencies: safe-buffer: 5.2.1 + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + stringify-object@3.3.0: dependencies: get-own-enumerable-property-symbols: 3.0.2 @@ -11101,15 +12436,19 @@ snapshots: strip-json-comments@4.0.0: {} - style-to-object@0.3.0: + style-to-object@0.4.4: dependencies: inline-style-parser: 0.1.1 - stylehacks@5.1.0(postcss@8.4.16): + style-to-object@1.0.6: dependencies: - browserslist: 4.21.4 - postcss: 8.4.16 - postcss-selector-parser: 6.0.9 + inline-style-parser: 0.2.3 + + stylehacks@6.1.1(postcss@8.4.41): + dependencies: + browserslist: 4.23.3 + postcss: 8.4.41 + postcss-selector-parser: 6.1.1 supports-color@5.5.0: dependencies: @@ -11143,34 +12482,34 @@ snapshots: unquote: 1.1.1 util.promisify: 1.0.1 - svgo@2.8.0: + svgo@3.3.2: dependencies: '@trysound/sax': 0.2.0 commander: 7.2.0 - css-select: 4.2.1 - css-tree: 1.1.3 - csso: 4.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 picocolors: 1.0.0 - stable: 0.1.8 - swc-loader@0.2.6(@swc/core@1.5.7)(webpack@5.74.0(@swc/core@1.5.7)): + swc-loader@0.2.6(@swc/core@1.5.7)(webpack@5.93.0(@swc/core@1.5.7)): dependencies: '@swc/core': 1.5.7 '@swc/counter': 0.1.3 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) tapable@1.1.3: {} tapable@2.2.1: {} - terser-webpack-plugin@5.3.6(@swc/core@1.5.7)(webpack@5.74.0(@swc/core@1.5.7)): + terser-webpack-plugin@5.3.10(@swc/core@1.5.7)(webpack@5.93.0(@swc/core@1.5.7)): dependencies: - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.1.1 - serialize-javascript: 6.0.0 - terser: 5.15.0 - webpack: 5.74.0(@swc/core@1.5.7) + serialize-javascript: 6.0.2 + terser: 5.31.5 + webpack: 5.93.0(@swc/core@1.5.7) optionalDependencies: '@swc/core': 1.5.7 @@ -11181,6 +12520,13 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 + terser@5.31.5: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 + commander: 2.20.3 + source-map-support: 0.5.21 + text-table@0.2.0: {} thunky@1.1.0: {} @@ -11191,30 +12537,28 @@ snapshots: to-fast-properties@2.0.0: {} - to-readable-stream@1.0.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 toidentifier@1.0.1: {} - totalist@1.1.0: {} + totalist@3.0.1: {} tr46@0.0.3: {} - trim-trailing-lines@1.1.4: {} - - trim@0.0.1: {} + trim-lines@3.0.1: {} - trough@1.0.5: {} + trough@2.2.0: {} - tslib@2.4.0: {} + tslib@2.6.3: {} - type-fest@0.20.2: {} + type-fest@1.4.0: {} type-fest@2.12.0: {} + type-fest@2.19.0: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -11226,8 +12570,6 @@ snapshots: typescript@5.0.4: {} - ua-parser-js@0.7.31: {} - uc.micro@1.0.6: {} unbox-primitive@1.0.1: @@ -11237,13 +12579,10 @@ snapshots: has-symbols: 1.0.2 which-boxed-primitive: 1.0.2 - unherit@1.1.3: - dependencies: - inherits: 2.0.4 - xtend: 4.0.2 - unicode-canonical-property-names-ecmascript@2.0.0: {} + unicode-emoji-modifier-base@1.0.0: {} + unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 @@ -11251,62 +12590,55 @@ snapshots: unicode-match-property-value-ecmascript@2.0.0: {} + unicode-match-property-value-ecmascript@2.1.0: {} + unicode-property-aliases-ecmascript@2.0.0: {} - unified@9.2.0: + unified@11.0.5: dependencies: - '@types/unist': 2.0.6 - bail: 1.0.5 + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.2 - unified@9.2.2: + unique-string@3.0.0: dependencies: - '@types/unist': 2.0.6 - bail: 1.0.5 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 + crypto-random-string: 4.0.0 - unique-string@2.0.0: + unist-util-is@6.0.0: dependencies: - crypto-random-string: 2.0.0 + '@types/unist': 3.0.2 - unist-builder@2.0.3: {} - - unist-util-generated@1.1.6: {} - - unist-util-is@4.1.0: {} - - unist-util-position@3.1.0: {} + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.2 - unist-util-remove-position@2.0.1: + unist-util-position@5.0.0: dependencies: - unist-util-visit: 2.0.3 + '@types/unist': 3.0.2 - unist-util-remove@2.1.0: + unist-util-remove-position@5.0.0: dependencies: - unist-util-is: 4.1.0 + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 - unist-util-stringify-position@2.0.3: + unist-util-stringify-position@4.0.0: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 3.0.2 - unist-util-visit-parents@3.1.1: + unist-util-visit-parents@6.0.1: dependencies: - '@types/unist': 2.0.6 - unist-util-is: 4.1.0 + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 - unist-util-visit@2.0.3: + unist-util-visit@5.0.0: dependencies: - '@types/unist': 2.0.6 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 universalify@2.0.0: {} @@ -11320,60 +12652,41 @@ snapshots: escalade: 3.1.1 picocolors: 1.0.0 - update-notifier@5.1.0: + update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: - boxen: 5.1.2 - chalk: 4.1.2 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 + browserslist: 4.23.3 + escalade: 3.1.2 + picocolors: 1.0.1 + + update-notifier@6.0.2: + dependencies: + boxen: 7.1.1 + chalk: 5.3.0 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 is-installed-globally: 0.4.0 - is-npm: 5.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 - semver: 7.3.7 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 + semver: 7.5.4 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 uri-js@4.4.1: dependencies: punycode: 2.1.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.74.0(@swc/core@1.5.7)))(webpack@5.74.0(@swc/core@1.5.7)): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.93.0(@swc/core@1.5.7)))(webpack@5.93.0(@swc/core@1.5.7)): dependencies: loader-utils: 2.0.2 mime-types: 2.1.34 schema-utils: 3.1.1 - webpack: 5.74.0(@swc/core@1.5.7) - optionalDependencies: - file-loader: 6.2.0(webpack@5.74.0(@swc/core@1.5.7)) - - url-parse-lax@3.0.0: - dependencies: - prepend-http: 2.0.0 - - use-composed-ref@1.2.1(react@17.0.2): - dependencies: - react: 17.0.2 - - use-isomorphic-layout-effect@1.1.1(@types/react@17.0.39)(react@17.0.2): - dependencies: - react: 17.0.2 - optionalDependencies: - '@types/react': 17.0.39 - - use-latest@1.2.0(@types/react@17.0.39)(react@17.0.2): - dependencies: - react: 17.0.2 - use-isomorphic-layout-effect: 1.1.1(@types/react@17.0.39)(react@17.0.2) + webpack: 5.93.0(@swc/core@1.5.7) optionalDependencies: - '@types/react': 17.0.39 - - use-sync-external-store@1.2.0(react@17.0.2): - dependencies: - react: 17.0.2 + file-loader: 6.2.0(webpack@5.93.0(@swc/core@1.5.7)) util-deprecate@1.0.2: {} @@ -11401,68 +12714,63 @@ snapshots: vary@1.1.2: {} - vfile-location@3.2.0: {} - - vfile-message@2.0.4: + vfile-location@5.0.3: dependencies: - '@types/unist': 2.0.6 - unist-util-stringify-position: 2.0.3 + '@types/unist': 3.0.2 + vfile: 6.0.2 - vfile@4.2.1: + vfile-message@4.0.2: dependencies: - '@types/unist': 2.0.6 - is-buffer: 2.0.5 - unist-util-stringify-position: 2.0.3 - vfile-message: 2.0.4 + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 - wait-on@6.0.1: + vfile@6.0.2: dependencies: - axios: 0.25.0 - joi: 17.6.0 - lodash: 4.17.21 - minimist: 1.2.5 - rxjs: 7.5.4 - transitivePeerDependencies: - - debug + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 - watchpack@2.4.0: + watchpack@2.4.1: dependencies: glob-to-regexp: 0.4.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 wbuf@1.7.3: dependencies: minimalistic-assert: 1.0.1 - web-namespaces@1.1.4: {} + web-namespaces@2.0.1: {} webidl-conversions@3.0.1: {} - webpack-bundle-analyzer@4.5.0: + webpack-bundle-analyzer@4.10.2: dependencies: + '@discoveryjs/json-ext': 0.5.7 acorn: 8.8.0 acorn-walk: 8.2.0 - chalk: 4.1.2 commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 gzip-size: 6.0.0 - lodash: 4.17.21 + html-escaper: 2.0.2 opener: 1.5.2 - sirv: 1.0.19 + picocolors: 1.0.0 + sirv: 2.0.4 ws: 7.5.7 transitivePeerDependencies: - bufferutil - utf-8-validate - webpack-dev-middleware@5.3.1(webpack@5.74.0(@swc/core@1.5.7)): + webpack-dev-middleware@5.3.4(webpack@5.93.0(@swc/core@1.5.7)): dependencies: colorette: 2.0.16 - memfs: 3.4.1 + memfs: 3.5.3 mime-types: 2.1.34 range-parser: 1.2.1 schema-utils: 4.0.0 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) - webpack-dev-server@4.11.1(webpack@5.74.0(@swc/core@1.5.7)): + webpack-dev-server@4.15.2(webpack@5.93.0(@swc/core@1.5.7)): dependencies: '@types/bonjour': 3.5.10 '@types/connect-history-api-fallback': 1.3.5 @@ -11470,7 +12778,7 @@ snapshots: '@types/serve-index': 1.9.1 '@types/serve-static': 1.13.10 '@types/sockjs': 0.3.33 - '@types/ws': 8.5.1 + '@types/ws': 8.5.12 ansi-html-community: 0.0.8 bonjour-service: 1.0.14 chokidar: 3.5.3 @@ -11483,6 +12791,7 @@ snapshots: html-entities: 2.3.2 http-proxy-middleware: 2.0.3(@types/express@4.17.13) ipaddr.js: 2.0.1 + launch-editor: 2.8.1 open: 8.4.0 p-retry: 4.6.1 rimraf: 3.0.2 @@ -11491,60 +12800,62 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.74.0(@swc/core@1.5.7) - webpack-dev-middleware: 5.3.1(webpack@5.74.0(@swc/core@1.5.7)) - ws: 8.5.0 + webpack-dev-middleware: 5.3.4(webpack@5.93.0(@swc/core@1.5.7)) + ws: 8.18.0 + optionalDependencies: + webpack: 5.93.0(@swc/core@1.5.7) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-merge@5.8.0: + webpack-merge@5.10.0: dependencies: clone-deep: 4.0.1 + flat: 5.0.2 wildcard: 2.0.0 webpack-sources@3.2.3: {} - webpack@5.74.0(@swc/core@1.5.7): + webpack@5.93.0(@swc/core@1.5.7): dependencies: '@types/eslint-scope': 3.7.3 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.8.0 - acorn-import-assertions: 1.8.0(acorn@8.8.0) - browserslist: 4.21.4 + acorn-import-attributes: 1.9.5(acorn@8.8.0) + browserslist: 4.23.3 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.10.0 - es-module-lexer: 0.9.3 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 loader-runner: 4.2.0 mime-types: 2.1.34 neo-async: 2.6.2 - schema-utils: 3.1.1 + schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.6(@swc/core@1.5.7)(webpack@5.74.0(@swc/core@1.5.7)) - watchpack: 2.4.0 + terser-webpack-plugin: 5.3.10(@swc/core@1.5.7)(webpack@5.93.0(@swc/core@1.5.7)) + watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpackbar@5.0.2(webpack@5.74.0(@swc/core@1.5.7)): + webpackbar@5.0.2(webpack@5.93.0(@swc/core@1.5.7)): dependencies: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.0.1 - webpack: 5.74.0(@swc/core@1.5.7) + webpack: 5.93.0(@swc/core@1.5.7) websocket-driver@0.7.4: dependencies: @@ -11575,28 +12886,24 @@ snapshots: dependencies: isexe: 2.0.0 - widest-line@3.1.0: - dependencies: - string-width: 4.2.3 - widest-line@4.0.1: dependencies: string-width: 5.1.0 wildcard@2.0.0: {} - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi@8.0.1: dependencies: ansi-styles: 6.1.0 string-width: 5.1.0 strip-ansi: 7.0.1 + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.1.0 + string-width: 5.1.2 + strip-ansi: 7.0.1 + wrappy@1.0.2: {} write-file-atomic@3.0.3: @@ -11608,15 +12915,15 @@ snapshots: ws@7.5.7: {} - ws@8.5.0: {} + ws@8.18.0: {} - xdg-basedir@4.0.0: {} + xdg-basedir@5.1.0: {} xml-js@1.6.11: dependencies: sax: 1.2.4 - xtend@4.0.2: {} + yallist@3.1.1: {} yallist@4.0.0: {} @@ -11624,4 +12931,6 @@ snapshots: yocto-queue@0.1.0: {} - zwitch@1.0.5: {} + yocto-queue@1.1.1: {} + + zwitch@2.0.4: {} diff --git a/versioned_docs/version-2.10/contribution/issue.md b/versioned_docs/version-2.10/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.10/contribution/issue.md +++ b/versioned_docs/version-2.10/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.10/contribution/sponsor.md b/versioned_docs/version-2.10/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.10/contribution/sponsor.md +++ b/versioned_docs/version-2.10/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.10/developer-guide/core/build.md b/versioned_docs/version-2.10/developer-guide/core/build.md index 26221d6..0f6fde9 100644 --- a/versioned_docs/version-2.10/developer-guide/core/build.md +++ b/versioned_docs/version-2.10/developer-guide/core/build.md @@ -34,7 +34,7 @@ git checkout v2.4.0 :::warning 从 2.4.0 开始,Console 项目已经合并到 Halo 主项目,所以不再需要单独克隆 Console 的项目仓库。 -详情可查阅: +详情可查阅:[https://github.com/halo-dev/halo/issues/3393](https://github.com/halo-dev/halo/issues/3393) ::: ## 构建 Console diff --git a/versioned_docs/version-2.10/developer-guide/core/run.md b/versioned_docs/version-2.10/developer-guide/core/run.md index 8cbf969..a92a852 100644 --- a/versioned_docs/version-2.10/developer-guide/core/run.md +++ b/versioned_docs/version-2.10/developer-guide/core/run.md @@ -34,7 +34,7 @@ git clone git@github.com:halo-dev/halo.git :::warning 从 2.4.0 开始,Console 项目已经合并到 Halo 主项目,所以不再需要单独克隆 Console 的项目仓库。 -详情可查阅: +详情可查阅:[https://github.com/halo-dev/halo/issues/3393](https://github.com/halo-dev/halo/issues/3393) ::: ## 运行 Console diff --git a/versioned_docs/version-2.10/developer-guide/form-schema.md b/versioned_docs/version-2.10/developer-guide/form-schema.md index c5972cd..b49c382 100644 --- a/versioned_docs/version-2.10/developer-guide/form-schema.md +++ b/versioned_docs/version-2.10/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.10/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.10/developer-guide/plugin/examples/todolist.md index 5e98688..cfc99ef 100644 --- a/versioned_docs/version-2.10/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.10/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -40,7 +40,7 @@ description: 这个例子展示了如何开发 Todo List 插件 description: "插件开发的 hello world,用于学习如何开发一个简单的 Halo 插件" license: - name: "MIT" - ``` + ``` 参考链接: @@ -82,9 +82,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.10/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.10/developer-guide/plugin/hello-world.md index bef78cb..0302c8c 100644 --- a/versioned_docs/version-2.10/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.10/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上并使用 `IntelliJ IDEA` 打开它。 diff --git a/versioned_docs/version-2.10/developer-guide/plugin/manifest.md b/versioned_docs/version-2.10/developer-guide/plugin/manifest.md index 8ac899f..771c6d3 100644 --- a/versioned_docs/version-2.10/developer-guide/plugin/manifest.md +++ b/versioned_docs/version-2.10/developer-guide/plugin/manifest.md @@ -42,4 +42,4 @@ spec: - `spec.homepage`:通常为插件的 GitHub 仓库链接,或可联系到插件作者或插件官网或帮助中心链接等。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段话来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 diff --git a/versioned_docs/version-2.10/developer-guide/theme/config.md b/versioned_docs/version-2.10/developer-guide/theme/config.md index 6827c8d..e225de3 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/config.md +++ b/versioned_docs/version-2.10/developer-guide/theme/config.md @@ -73,7 +73,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/category.md index f9c6122..2c3bea5 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -162,7 +162,7 @@ List<[#CategoryTreeVo](#categorytreevo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/post.md index 10a75e1..dc60c60 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -233,7 +233,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -271,7 +271,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -310,7 +310,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -371,13 +371,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -411,7 +411,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.10/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/settings.md b/versioned_docs/version-2.10/developer-guide/theme/settings.md index b0bb850..dd15833 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.10/developer-guide/theme/settings.md @@ -119,7 +119,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.10/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.10/developer-guide/theme/template-variables/archives.md index b2296ae..726e875 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.10/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.10/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.10/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.10/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.10/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.10/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.10/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.10/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.10/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.10/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.10/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.10/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.10/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.10/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.10/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.10/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.10/getting-started/install/docker-compose.md b/versioned_docs/version-2.10/getting-started/install/docker-compose.md index c14db91..2a69912 100644 --- a/versioned_docs/version-2.10/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.10/getting-started/install/docker-compose.md @@ -11,8 +11,8 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -36,236 +36,237 @@ import DockerArgs from "./slots/_docker-args.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {24-30,47} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.10 - container_name: halo - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - container_name: halodb - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - ports: - - "5432:5432" - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` + ```yaml {24-30,47} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.10 + container_name: halo + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + container_name: halodb + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + ports: + - "5432:5432" + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` 2. 创建 Halo + MySQL 的实例: - ```yaml {24-30,55} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.10 - container_name: halo - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - container_name: halodb - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - ports: - - "3306:3306" - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` + ```yaml {24-30,55} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.10 + container_name: halo + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + container_name: halodb + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + ports: + - "3306:3306" + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.10 - container_name: halo - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.10 + container_name: halo + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` + 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {8,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.10 - container_name: halo - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {8,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.10 + container_name: halo + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: halohub/halo:2.10 container_name: halo - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.10/getting-started/install/docker.md b/versioned_docs/version-2.10/getting-started/install/docker.md index 588ac6b..4fb376b 100644 --- a/versioned_docs/version-2.10/getting-started/install/docker.md +++ b/versioned_docs/version-2.10/getting-started/install/docker.md @@ -9,7 +9,7 @@ import DockerArgs from "./slots/_docker-args.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -17,7 +17,7 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -41,50 +41,50 @@ import DockerArgs from "./slots/_docker-args.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull halohub/halo:2.10 - ``` + ```bash + docker pull halohub/halo:2.10 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10 + ``` diff --git a/versioned_docs/version-2.10/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.10/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.10/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.10/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.10/getting-started/install/other/traefik.md b/versioned_docs/version-2.10/getting-started/install/other/traefik.md index 72ed22f..74ce12d 100644 --- a/versioned_docs/version-2.10/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.10/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.10/getting-started/install/podman.md b/versioned_docs/version-2.10/getting-started/install/podman.md index a3ce2a3..94a8141 100644 --- a/versioned_docs/version-2.10/getting-started/install/podman.md +++ b/versioned_docs/version-2.10/getting-started/install/podman.md @@ -36,7 +36,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -66,50 +66,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull halohub/halo:2.10 - ``` + ```bash + podman pull halohub/halo:2.10 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10 @@ -124,50 +124,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.10 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.10 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -202,34 +202,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.10 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.10 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.10/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.10/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.10/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.10/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.10/intro.md b/versioned_docs/version-2.10/intro.md index e574ba8..2a7034e 100644 --- a/versioned_docs/version-2.10/intro.md +++ b/versioned_docs/version-2.10/intro.md @@ -37,12 +37,12 @@ slug: / docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.10 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.10/user-guide/attachments.md b/versioned_docs/version-2.10/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.10/user-guide/attachments.md +++ b/versioned_docs/version-2.10/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.10/user-guide/common.md b/versioned_docs/version-2.10/user-guide/common.md index 3bf132c..1e9c767 100644 --- a/versioned_docs/version-2.10/user-guide/common.md +++ b/versioned_docs/version-2.10/user-guide/common.md @@ -58,6 +58,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.10/user-guide/faq.md b/versioned_docs/version-2.10/user-guide/faq.md index 1851546..e00318c 100644 --- a/versioned_docs/version-2.10/user-guide/faq.md +++ b/versioned_docs/version-2.10/user-guide/faq.md @@ -21,41 +21,41 @@ docker logs halo | grep 'Generated random password:' | tail -1 1. 停止 Halo 服务 - ```bash - docker stop halo - ``` + ```bash + docker stop halo + ``` 2. 连接 Halo 使用的数据库,删除管理员的用户记录(配置文件中的 `halo.security.initializer.superadminusername`),这里以 `admin` 为例 - 以容器化部署的 PostgreSQL 为例,假设容器名称为 `halo_db`。 + 以容器化部署的 PostgreSQL 为例,假设容器名称为 `halo_db`。 - ```bash - # 进入 psql 命令行 - docker exec -it halo_db psql halo + ```bash + # 进入 psql 命令行 + docker exec -it halo_db psql halo - # 执行下面的 SQL 删除 admin 用户记录 - delete from extensions where name like '/registry/users/admin'; - ``` + # 执行下面的 SQL 删除 admin 用户记录 + delete from extensions where name like '/registry/users/admin'; + ``` - :::info - 其他类型的数据库处理方式类似,先通过命令行或数据库连接工具连接到数据库后,再执行上面的 `delete` SQL 语句。 - ::: + :::info + 其他类型的数据库处理方式类似,先通过命令行或数据库连接工具连接到数据库后,再执行上面的 `delete` SQL 语句。 + ::: 3. 重新启动 Halo 服务 - ```bash - docker start halo - ``` + ```bash + docker start halo + ``` 4. 登录 Halo 控制台 - 如果部署时通过 `halo.security.initializer.superadminusername` 和 `halo.security.initializer.superadminpassword` 参数指定了初始化用户名和密码,使用该用户名密码登录控制台。 - - 如果未指定该配置,则默认用户名为 `admin`,默认密码将打印在 Halo 容器日志中,可以通过如下命令查看。 + 如果部署时通过 `halo.security.initializer.superadminusername` 和 `halo.security.initializer.superadminpassword` 参数指定了初始化用户名和密码,使用该用户名密码登录控制台。 - ```bash - docker logs halo | grep 'Generated random password:' | tail -1 - ``` + 如果未指定该配置,则默认用户名为 `admin`,默认密码将打印在 Halo 容器日志中,可以通过如下命令查看。 + + ```bash + docker logs halo | grep 'Generated random password:' | tail -1 + ``` ### 附件上传提示 `413 Request Entity Too Large` 如何解决? @@ -116,12 +116,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -130,10 +130,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.10/user-guide/plugins.md b/versioned_docs/version-2.10/user-guide/plugins.md index abbca2e..c601c58 100644 --- a/versioned_docs/version-2.10/user-guide/plugins.md +++ b/versioned_docs/version-2.10/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装插件 diff --git a/versioned_docs/version-2.10/user-guide/posts.md b/versioned_docs/version-2.10/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.10/user-guide/posts.md +++ b/versioned_docs/version-2.10/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.10/user-guide/themes.md b/versioned_docs/version-2.10/user-guide/themes.md index 186e301..60dac41 100644 --- a/versioned_docs/version-2.10/user-guide/themes.md +++ b/versioned_docs/version-2.10/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装主题 diff --git a/versioned_docs/version-2.10/user-guide/users.md b/versioned_docs/version-2.10/user-guide/users.md index c0c0664..c025a32 100644 --- a/versioned_docs/version-2.10/user-guide/users.md +++ b/versioned_docs/version-2.10/user-guide/users.md @@ -97,7 +97,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/versioned_docs/version-2.11/contribution/issue.md b/versioned_docs/version-2.11/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.11/contribution/issue.md +++ b/versioned_docs/version-2.11/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.11/contribution/sponsor.md b/versioned_docs/version-2.11/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.11/contribution/sponsor.md +++ b/versioned_docs/version-2.11/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.11/developer-guide/core/run.md b/versioned_docs/version-2.11/developer-guide/core/run.md index f431054..d2cbf10 100644 --- a/versioned_docs/version-2.11/developer-guide/core/run.md +++ b/versioned_docs/version-2.11/developer-guide/core/run.md @@ -126,6 +126,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/versioned_docs/version-2.11/developer-guide/form-schema.md b/versioned_docs/version-2.11/developer-guide/form-schema.md index 06f8126..d715898 100644 --- a/versioned_docs/version-2.11/developer-guide/form-schema.md +++ b/versioned_docs/version-2.11/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.11/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.11/developer-guide/plugin/examples/todolist.md index 5e98688..cfc99ef 100644 --- a/versioned_docs/version-2.11/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.11/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -40,7 +40,7 @@ description: 这个例子展示了如何开发 Todo List 插件 description: "插件开发的 hello world,用于学习如何开发一个简单的 Halo 插件" license: - name: "MIT" - ``` + ``` 参考链接: @@ -82,9 +82,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.11/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.11/developer-guide/plugin/hello-world.md index bef78cb..0302c8c 100644 --- a/versioned_docs/version-2.11/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.11/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上并使用 `IntelliJ IDEA` 打开它。 diff --git a/versioned_docs/version-2.11/developer-guide/plugin/manifest.md b/versioned_docs/version-2.11/developer-guide/plugin/manifest.md index 8ac899f..771c6d3 100644 --- a/versioned_docs/version-2.11/developer-guide/plugin/manifest.md +++ b/versioned_docs/version-2.11/developer-guide/plugin/manifest.md @@ -42,4 +42,4 @@ spec: - `spec.homepage`:通常为插件的 GitHub 仓库链接,或可联系到插件作者或插件官网或帮助中心链接等。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段话来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 diff --git a/versioned_docs/version-2.11/developer-guide/theme/config.md b/versioned_docs/version-2.11/developer-guide/theme/config.md index 6827c8d..e225de3 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/config.md +++ b/versioned_docs/version-2.11/developer-guide/theme/config.md @@ -73,7 +73,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/category.md index f9c6122..2c3bea5 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -162,7 +162,7 @@ List<[#CategoryTreeVo](#categorytreevo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/post.md index 10a75e1..dc60c60 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -233,7 +233,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -271,7 +271,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -310,7 +310,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -371,13 +371,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -411,7 +411,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.11/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/settings.md b/versioned_docs/version-2.11/developer-guide/theme/settings.md index b0bb850..dd15833 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.11/developer-guide/theme/settings.md @@ -119,7 +119,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.11/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.11/developer-guide/theme/template-variables/archives.md index b2296ae..726e875 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.11/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.11/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.11/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.11/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.11/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.11/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.11/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.11/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.11/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.11/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.11/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.11/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.11/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.11/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.11/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.11/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.11/getting-started/install/docker-compose.md b/versioned_docs/version-2.11/getting-started/install/docker-compose.md index cef157a..66a644d 100644 --- a/versioned_docs/version-2.11/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.11/getting-started/install/docker-compose.md @@ -11,8 +11,8 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -36,237 +36,237 @@ import DockerArgs from "./slots/_docker-args.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {24-30,47} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.11 - container_name: halo - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - container_name: halodb - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - ports: - - "5432:5432" - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` + ```yaml {24-30,47} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.11 + container_name: halo + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + container_name: halodb + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + ports: + - "5432:5432" + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` 2. 创建 Halo + MySQL 的实例: - ```yaml {24-30,55} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.11 - container_name: halo - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - container_name: halodb - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - ports: - - "3306:3306" - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` + ```yaml {24-30,55} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.11 + container_name: halo + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + container_name: halodb + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + ports: + - "3306:3306" + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.11 - container_name: halo - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.11 + container_name: halo + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {8,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.11 - container_name: halo - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {8,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.11 + container_name: halo + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: halohub/halo:2.11 container_name: halo - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.11/getting-started/install/docker.md b/versioned_docs/version-2.11/getting-started/install/docker.md index e5f80fb..43ed257 100644 --- a/versioned_docs/version-2.11/getting-started/install/docker.md +++ b/versioned_docs/version-2.11/getting-started/install/docker.md @@ -9,7 +9,7 @@ import DockerArgs from "./slots/_docker-args.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -17,7 +17,7 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -41,50 +41,50 @@ import DockerArgs from "./slots/_docker-args.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull halohub/halo:2.11 - ``` + ```bash + docker pull halohub/halo:2.11 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11 + ``` diff --git a/versioned_docs/version-2.11/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.11/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.11/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.11/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.11/getting-started/install/other/traefik.md b/versioned_docs/version-2.11/getting-started/install/other/traefik.md index dcaff6f..bd3721a 100644 --- a/versioned_docs/version-2.11/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.11/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.11/getting-started/install/podman.md b/versioned_docs/version-2.11/getting-started/install/podman.md index 1d75c9c..bb33343 100644 --- a/versioned_docs/version-2.11/getting-started/install/podman.md +++ b/versioned_docs/version-2.11/getting-started/install/podman.md @@ -36,7 +36,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -66,50 +66,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull halohub/halo:2.11 - ``` + ```bash + podman pull halohub/halo:2.11 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11 @@ -124,50 +124,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.11 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.11 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -202,34 +202,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.11 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.11 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.11/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.11/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.11/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.11/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.11/intro.md b/versioned_docs/version-2.11/intro.md index 5211360..b13d0cb 100644 --- a/versioned_docs/version-2.11/intro.md +++ b/versioned_docs/version-2.11/intro.md @@ -37,12 +37,12 @@ slug: / docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.11 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.11/user-guide/attachments.md b/versioned_docs/version-2.11/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.11/user-guide/attachments.md +++ b/versioned_docs/version-2.11/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.11/user-guide/common.md b/versioned_docs/version-2.11/user-guide/common.md index 66687d5..7e2038b 100644 --- a/versioned_docs/version-2.11/user-guide/common.md +++ b/versioned_docs/version-2.11/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.11/user-guide/faq.md b/versioned_docs/version-2.11/user-guide/faq.md index 29c5cee..bd8e108 100644 --- a/versioned_docs/version-2.11/user-guide/faq.md +++ b/versioned_docs/version-2.11/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.11/user-guide/plugins.md b/versioned_docs/version-2.11/user-guide/plugins.md index abbca2e..c601c58 100644 --- a/versioned_docs/version-2.11/user-guide/plugins.md +++ b/versioned_docs/version-2.11/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装插件 diff --git a/versioned_docs/version-2.11/user-guide/posts.md b/versioned_docs/version-2.11/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.11/user-guide/posts.md +++ b/versioned_docs/version-2.11/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.11/user-guide/themes.md b/versioned_docs/version-2.11/user-guide/themes.md index 186e301..60dac41 100644 --- a/versioned_docs/version-2.11/user-guide/themes.md +++ b/versioned_docs/version-2.11/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装主题 diff --git a/versioned_docs/version-2.11/user-guide/users.md b/versioned_docs/version-2.11/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/versioned_docs/version-2.11/user-guide/users.md +++ b/versioned_docs/version-2.11/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/versioned_docs/version-2.12/contribution/issue.md b/versioned_docs/version-2.12/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.12/contribution/issue.md +++ b/versioned_docs/version-2.12/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.12/contribution/sponsor.md b/versioned_docs/version-2.12/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.12/contribution/sponsor.md +++ b/versioned_docs/version-2.12/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.12/developer-guide/core/run.md b/versioned_docs/version-2.12/developer-guide/core/run.md index f431054..d2cbf10 100644 --- a/versioned_docs/version-2.12/developer-guide/core/run.md +++ b/versioned_docs/version-2.12/developer-guide/core/run.md @@ -126,6 +126,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/versioned_docs/version-2.12/developer-guide/form-schema.md b/versioned_docs/version-2.12/developer-guide/form-schema.md index 06f8126..d715898 100644 --- a/versioned_docs/version-2.12/developer-guide/form-schema.md +++ b/versioned_docs/version-2.12/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/annotations-form.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/annotations-form.md index 86e31e1..98f4e34 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/annotations-form.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/annotations-form.md @@ -52,4 +52,4 @@ function handleSubmit () { |---------|------------------------------------|---------|-----------------------------------------| | `group` | string | 无,必填 | 定义组件所属的分组。 | | `kind` | string | 无,必填 | 定义组件的种类。 | -| `value` | { [key: string]: string; } \| null | null | 可选,包含键值对的对象或空值,用于存储数据。 | +| `value` | \{ [key: string]: string; \} \| null \| null | 可选,包含键值对的对象或空值,用于存储数据。 | diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md index 945485f..d487938 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md @@ -37,7 +37,7 @@ const items = [ | 属性名 | 类型 | 默认值 | 描述 | |--------------|-----------------------------------------------------------|-----------|--------------------------------------------------| -| `items` | { label: string; value?: string \| boolean \| number; }[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | +| `items` | \{ label: string; value?: string \| boolean \| number; \}[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | | `label` | string | 无,必填 | 组件的标签文本。 | | `modelValue` | string \| boolean \| number | undefined | 可选,用于绑定到组件的值,可以是字符串、布尔值或数字。 | diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/index.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/index.md index e6dc594..a6932c1 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/index.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/index.md @@ -27,7 +27,7 @@ import { VButton } from "@halo-dev/components"; ``` -所有可用的基础组件以及文档可查阅: +所有可用的基础组件以及文档可查阅:[https://halo-ui-components.pages.dev](https://halo-ui-components.pages.dev) ## 业务组件和指令 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/uppy-upload.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/uppy-upload.md index 93c7d66..c58dd8b 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/uppy-upload.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/components/uppy-upload.md @@ -27,7 +27,7 @@ const groupName = ref('my-test-group') | 属性名 | 类型 | 默认值 | 描述 | |---------------------|----------------------------------------------------------------|-----------|------------------------------| | `restrictions` | Restrictions | undefined | 可选,指定任何限制。 | -| `meta` | Record | undefined | 可选,要发送的额外元数据。 | +| `meta` | Record\ | undefined | 可选,要发送的额外元数据。 | | `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 | | `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 | | `endpoint` | string | 无,必填 | 数据发送到的端点URL。 | diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md index d329e3d..dc75dd3 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md @@ -85,7 +85,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-s3](https://github.com/halo-dev/plugin-s3) ## 类型定义 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md index 2f93505..0fa122f 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md @@ -143,4 +143,4 @@ const handleSelect = async (url: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-unsplash](https://github.com/halo-sigs/plugin-unsplash) diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md index b209878..392ec61 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md @@ -111,4 +111,4 @@ const stripHtmlTags = (str: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-moments](https://github.com/halo-sigs/plugin-moments) diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md index cb3f8ad..e9667b2 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md @@ -18,7 +18,7 @@ export default definePlugin({ ``` :::info 提示 -AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 +AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:[https://tiptap.dev/docs/editor/api/extensions](https://tiptap.dev/docs/editor/api/extensions)。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 ::: ### Halo 独有扩展 @@ -60,7 +60,7 @@ export interface ExtensionOptions { ![顶部工具栏扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbar.png) -在 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: ```ts { @@ -130,7 +130,7 @@ addOptions() { ![工具箱扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbox.png) -在 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/27](https://github.com/halo-sigs/richtext-editor/pull/27) 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: ```ts { @@ -201,7 +201,7 @@ Slash Command (斜杠命令)的扩展,可用于在当前行快捷执行功 ![Slash Command 扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-slash-command.png) -在 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: ```ts { @@ -263,7 +263,7 @@ addOptions() { ![悬浮菜单扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-bubble-menu.png) -在 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/38](https://github.com/halo-sigs/richtext-editor/pull/38) 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: ```ts { @@ -296,7 +296,7 @@ interface BubbleMenuProps { from?: number; to?: number; }) => boolean; - tippyOptions?: Record; // 可自由定制悬浮菜单所用的 tippy 组件的选项 + tippyOptions?: Record\; // 可自由定制悬浮菜单所用的 tippy 组件的选项 getRenderContainer?: (node: HTMLElement) => HTMLElement; // 悬浮菜单所基准的 DOM defaultAnimation?: boolean; // 是否启用默认动画。默认为 true } @@ -373,7 +373,7 @@ addOptions() { ![拖拽功能扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-drag.png) -在 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: +在 [https://github.com/halo-sigs/richtext-editor/pull/48](https://github.com/halo-sigs/richtext-editor/pull/48) 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: ```ts { @@ -472,6 +472,6 @@ addOptions() { ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-hybrid-edit-block](https://github.com/halo-sigs/plugin-hybrid-edit-block) +- [https://github.com/halo-sigs/plugin-katex](https://github.com/halo-sigs/plugin-katex) +- [https://github.com/halo-sigs/plugin-text-diagram](https://github.com/halo-sigs/plugin-text-diagram) diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md index f3a42d8..b2c0a83 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md @@ -177,10 +177,10 @@ code { ``` -> 来源: +> 来源:[https://vuejs.org/examples/#markdown](https://vuejs.org/examples/#markdown) ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-stackedit](https://github.com/halo-sigs/plugin-stackedit) +- [https://github.com/halo-sigs/plugin-bytemd](https://github.com/halo-sigs/plugin-bytemd) +- [https://github.com/justice2001/halo-plugin-vditor](https://github.com/justice2001/halo-plugin-vditor) diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md index 31f6cf9..799ba59 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md @@ -2,7 +2,7 @@ export interface OperationItem { priority: number; // 排序优先级 component: Raw; // 菜单项组件 - props?: Record; // 菜单项组件属性 + props?: Record\; // 菜单项组件属性 action?: (item?: T) => void; // 菜单项点击事件 label?: string; // 菜单项标题 hidden?: boolean; // 菜单项是否隐藏 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md index 3830b9e..d9c0289 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md @@ -33,7 +33,7 @@ export interface PluginInstallationTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface PluginInstallationTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md index 0d67e99..69882c1 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } @@ -71,7 +71,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md index 796dac2..e029783 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md @@ -42,7 +42,7 @@ import OperationItem from "./interface/OperationItem.md"; ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md index 102f2a3..8d8f54c 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md @@ -37,7 +37,7 @@ export interface PluginTab { 其中,`component` 组件可以注入(inject)以下属性: -- `plugin`:当前插件对象,类型为 Ref<[Plugin](#plugin)>。 +- `plugin`:当前插件对象,类型为 Ref\<[Plugin](#plugin)\>。 ## 示例 @@ -77,7 +77,7 @@ const plugin = inject>("plugin"); ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md index 3680af0..3398160 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md index 91ffb08..e87aab4 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md @@ -78,7 +78,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md index 400de61..0c50ab6 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md @@ -33,7 +33,7 @@ export interface ThemeListTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface ThemeListTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.12/developer-guide/plugin/basics/manifest.md b/versioned_docs/version-2.12/developer-guide/plugin/basics/manifest.md index db770c7..479392a 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/basics/manifest.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/basics/manifest.md @@ -51,7 +51,7 @@ spec: - `spec.homepage`:通常为插件的 GitHub 仓库链接,或可联系到插件作者或插件官网或帮助中心链接等。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段简短的说明来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 Halo 的插件可以在两种模式下运行:`development` 和 `deployment`。 `deployment`(默认)模式是插件创建的标准工作流程:为每个插件创建一个新的 Gradle 项目,编码插件(声明新的扩展点和/或添加新的扩展),将插件打包成一个 JAR 文件,部署 JAR 文件到 Halo。 diff --git a/versioned_docs/version-2.12/developer-guide/plugin/basics/structure.md b/versioned_docs/version-2.12/developer-guide/plugin/basics/structure.md index ee91176..5e33742 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/basics/structure.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/basics/structure.md @@ -53,7 +53,7 @@ description: 了解插件项目的文件结构 - `resources` 下的 `plugin.yaml` 为插件的资源描述文件,它是必须的,它描述了插件的基本信息,包括插件的名称、版本、作者、描述、依赖等。 - `resources/console` 下的两个文件 `main.js` 和 `style.css` 是前端插件部分打包时输出的产物。一个插件可以没有前端部分,因此 `resources/console` 同样可以不存在。 -:::caution 注意 +:::warning 注意 从 2.11 开始,Halo 支持了 UC 个人中心,且个人中心和 Console 的插件机制共享,所以为了避免歧义,`resources/console` 在后续版本会被重命名为 `resources/ui`,但同时也会兼容 `resources/console`。 ::: diff --git a/versioned_docs/version-2.12/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.12/developer-guide/plugin/examples/todolist.md index 5e98688..cfc99ef 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -40,7 +40,7 @@ description: 这个例子展示了如何开发 Todo List 插件 description: "插件开发的 hello world,用于学习如何开发一个简单的 Halo 插件" license: - name: "MIT" - ``` + ``` 参考链接: @@ -82,9 +82,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.12/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.12/developer-guide/plugin/hello-world.md index c0a9ab6..9307554 100644 --- a/versioned_docs/version-2.12/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.12/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上。 diff --git a/versioned_docs/version-2.12/developer-guide/theme/config.md b/versioned_docs/version-2.12/developer-guide/theme/config.md index 6827c8d..e225de3 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/config.md +++ b/versioned_docs/version-2.12/developer-guide/theme/config.md @@ -73,7 +73,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/category.md index f9c6122..2c3bea5 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -162,7 +162,7 @@ List<[#CategoryTreeVo](#categorytreevo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/post.md index 10a75e1..dc60c60 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -233,7 +233,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -271,7 +271,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -310,7 +310,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -371,13 +371,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -411,7 +411,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.12/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/settings.md b/versioned_docs/version-2.12/developer-guide/theme/settings.md index b0bb850..dd15833 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.12/developer-guide/theme/settings.md @@ -119,7 +119,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.12/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.12/developer-guide/theme/template-variables/archives.md index b2296ae..726e875 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.12/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.12/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.12/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.12/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.12/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.12/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.12/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.12/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.12/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.12/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.12/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.12/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.12/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.12/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.12/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.12/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.12/getting-started/install/docker-compose.md b/versioned_docs/version-2.12/getting-started/install/docker-compose.md index dd99c8a..1c8d06a 100644 --- a/versioned_docs/version-2.12/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.12/getting-started/install/docker-compose.md @@ -11,8 +11,8 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -36,237 +36,237 @@ import DockerArgs from "./slots/_docker-args.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {24-30,47} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.12 - container_name: halo - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - container_name: halodb - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - ports: - - "5432:5432" - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` + ```yaml {24-30,47} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.12 + container_name: halo + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + container_name: halodb + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + ports: + - "5432:5432" + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` 2. 创建 Halo + MySQL 的实例: - ```yaml {24-30,55} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.12 - container_name: halo - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - container_name: halodb - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - ports: - - "3306:3306" - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` + ```yaml {24-30,55} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.12 + container_name: halo + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + container_name: halodb + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + ports: + - "3306:3306" + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.12 - container_name: halo - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.12 + container_name: halo + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {8,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.12 - container_name: halo - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {8,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.12 + container_name: halo + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: halohub/halo:2.12 container_name: halo - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.12/getting-started/install/docker.md b/versioned_docs/version-2.12/getting-started/install/docker.md index 7f1b56e..787f2c8 100644 --- a/versioned_docs/version-2.12/getting-started/install/docker.md +++ b/versioned_docs/version-2.12/getting-started/install/docker.md @@ -9,7 +9,7 @@ import DockerArgs from "./slots/_docker-args.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -17,7 +17,7 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -41,50 +41,50 @@ import DockerArgs from "./slots/_docker-args.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull halohub/halo:2.12 - ``` + ```bash + docker pull halohub/halo:2.12 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12 + ``` diff --git a/versioned_docs/version-2.12/getting-started/install/jar-file.md b/versioned_docs/version-2.12/getting-started/install/jar-file.md index 691688f..04c8143 100644 --- a/versioned_docs/version-2.12/getting-started/install/jar-file.md +++ b/versioned_docs/version-2.12/getting-started/install/jar-file.md @@ -58,8 +58,8 @@ title: 使用 JAR 文件部署 :::info 以下是官方维护的下载地址: - 1. - 2. + 1. [https://download.halo.run](https://download.halo.run) + 2. [https://github.com/halo-dev/halo/releases](https://github.com/halo-dev/halo/releases) ::: 4. 创建 [工作目录](../prepare#工作目录) @@ -132,7 +132,7 @@ title: 使用 JAR 文件部署 - DATABASE:数据库名称,如 `halo`,需要提前创建 ::: - :::caution + :::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.12/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.12/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.12/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.12/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.12/getting-started/install/other/traefik.md b/versioned_docs/version-2.12/getting-started/install/other/traefik.md index dab98b8..8e176ab 100644 --- a/versioned_docs/version-2.12/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.12/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.12/getting-started/install/podman.md b/versioned_docs/version-2.12/getting-started/install/podman.md index c765ada..78c550e 100644 --- a/versioned_docs/version-2.12/getting-started/install/podman.md +++ b/versioned_docs/version-2.12/getting-started/install/podman.md @@ -36,7 +36,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -66,50 +66,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull halohub/halo:2.12 - ``` + ```bash + podman pull halohub/halo:2.12 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12 @@ -124,50 +124,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.12 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.12 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -202,34 +202,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.12 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.12 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.12/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.12/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.12/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.12/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.12/intro.md b/versioned_docs/version-2.12/intro.md index 59b8a10..f3b177d 100644 --- a/versioned_docs/version-2.12/intro.md +++ b/versioned_docs/version-2.12/intro.md @@ -37,12 +37,12 @@ slug: / docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.12 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.12/user-guide/attachments.md b/versioned_docs/version-2.12/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.12/user-guide/attachments.md +++ b/versioned_docs/version-2.12/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.12/user-guide/common.md b/versioned_docs/version-2.12/user-guide/common.md index 66687d5..7e2038b 100644 --- a/versioned_docs/version-2.12/user-guide/common.md +++ b/versioned_docs/version-2.12/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.12/user-guide/faq.md b/versioned_docs/version-2.12/user-guide/faq.md index 99e2636..e12f046 100644 --- a/versioned_docs/version-2.12/user-guide/faq.md +++ b/versioned_docs/version-2.12/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.12/user-guide/plugins.md b/versioned_docs/version-2.12/user-guide/plugins.md index abbca2e..c601c58 100644 --- a/versioned_docs/version-2.12/user-guide/plugins.md +++ b/versioned_docs/version-2.12/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装插件 diff --git a/versioned_docs/version-2.12/user-guide/posts.md b/versioned_docs/version-2.12/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.12/user-guide/posts.md +++ b/versioned_docs/version-2.12/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.12/user-guide/themes.md b/versioned_docs/version-2.12/user-guide/themes.md index 186e301..60dac41 100644 --- a/versioned_docs/version-2.12/user-guide/themes.md +++ b/versioned_docs/version-2.12/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装主题 diff --git a/versioned_docs/version-2.12/user-guide/users.md b/versioned_docs/version-2.12/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/versioned_docs/version-2.12/user-guide/users.md +++ b/versioned_docs/version-2.12/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/versioned_docs/version-2.13/contribution/issue.md b/versioned_docs/version-2.13/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.13/contribution/issue.md +++ b/versioned_docs/version-2.13/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.13/contribution/sponsor.md b/versioned_docs/version-2.13/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.13/contribution/sponsor.md +++ b/versioned_docs/version-2.13/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.13/developer-guide/core/run.md b/versioned_docs/version-2.13/developer-guide/core/run.md index e606d51..b797262 100644 --- a/versioned_docs/version-2.13/developer-guide/core/run.md +++ b/versioned_docs/version-2.13/developer-guide/core/run.md @@ -126,6 +126,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/versioned_docs/version-2.13/developer-guide/form-schema.md b/versioned_docs/version-2.13/developer-guide/form-schema.md index 06f8126..d715898 100644 --- a/versioned_docs/version-2.13/developer-guide/form-schema.md +++ b/versioned_docs/version-2.13/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/annotations-form.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/annotations-form.md index 86e31e1..98f4e34 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/annotations-form.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/annotations-form.md @@ -52,4 +52,4 @@ function handleSubmit () { |---------|------------------------------------|---------|-----------------------------------------| | `group` | string | 无,必填 | 定义组件所属的分组。 | | `kind` | string | 无,必填 | 定义组件的种类。 | -| `value` | { [key: string]: string; } \| null | null | 可选,包含键值对的对象或空值,用于存储数据。 | +| `value` | \{ [key: string]: string; \} \| null \| null | 可选,包含键值对的对象或空值,用于存储数据。 | diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md index 945485f..d487938 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md @@ -37,7 +37,7 @@ const items = [ | 属性名 | 类型 | 默认值 | 描述 | |--------------|-----------------------------------------------------------|-----------|--------------------------------------------------| -| `items` | { label: string; value?: string \| boolean \| number; }[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | +| `items` | \{ label: string; value?: string \| boolean \| number; \}[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | | `label` | string | 无,必填 | 组件的标签文本。 | | `modelValue` | string \| boolean \| number | undefined | 可选,用于绑定到组件的值,可以是字符串、布尔值或数字。 | diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/index.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/index.md index e6dc594..a6932c1 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/index.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/index.md @@ -27,7 +27,7 @@ import { VButton } from "@halo-dev/components"; ``` -所有可用的基础组件以及文档可查阅: +所有可用的基础组件以及文档可查阅:[https://halo-ui-components.pages.dev](https://halo-ui-components.pages.dev) ## 业务组件和指令 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/uppy-upload.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/uppy-upload.md index 93c7d66..c58dd8b 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/uppy-upload.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/components/uppy-upload.md @@ -27,7 +27,7 @@ const groupName = ref('my-test-group') | 属性名 | 类型 | 默认值 | 描述 | |---------------------|----------------------------------------------------------------|-----------|------------------------------| | `restrictions` | Restrictions | undefined | 可选,指定任何限制。 | -| `meta` | Record | undefined | 可选,要发送的额外元数据。 | +| `meta` | Record\ | undefined | 可选,要发送的额外元数据。 | | `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 | | `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 | | `endpoint` | string | 无,必填 | 数据发送到的端点URL。 | diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md index d329e3d..dc75dd3 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md @@ -85,7 +85,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-s3](https://github.com/halo-dev/plugin-s3) ## 类型定义 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md index 2f93505..0fa122f 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md @@ -143,4 +143,4 @@ const handleSelect = async (url: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-unsplash](https://github.com/halo-sigs/plugin-unsplash) diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md index b209878..392ec61 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md @@ -111,4 +111,4 @@ const stripHtmlTags = (str: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-moments](https://github.com/halo-sigs/plugin-moments) diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md index cb3f8ad..e9667b2 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md @@ -18,7 +18,7 @@ export default definePlugin({ ``` :::info 提示 -AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 +AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:[https://tiptap.dev/docs/editor/api/extensions](https://tiptap.dev/docs/editor/api/extensions)。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 ::: ### Halo 独有扩展 @@ -60,7 +60,7 @@ export interface ExtensionOptions { ![顶部工具栏扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbar.png) -在 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: ```ts { @@ -130,7 +130,7 @@ addOptions() { ![工具箱扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbox.png) -在 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/27](https://github.com/halo-sigs/richtext-editor/pull/27) 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: ```ts { @@ -201,7 +201,7 @@ Slash Command (斜杠命令)的扩展,可用于在当前行快捷执行功 ![Slash Command 扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-slash-command.png) -在 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: ```ts { @@ -263,7 +263,7 @@ addOptions() { ![悬浮菜单扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-bubble-menu.png) -在 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/38](https://github.com/halo-sigs/richtext-editor/pull/38) 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: ```ts { @@ -296,7 +296,7 @@ interface BubbleMenuProps { from?: number; to?: number; }) => boolean; - tippyOptions?: Record; // 可自由定制悬浮菜单所用的 tippy 组件的选项 + tippyOptions?: Record\; // 可自由定制悬浮菜单所用的 tippy 组件的选项 getRenderContainer?: (node: HTMLElement) => HTMLElement; // 悬浮菜单所基准的 DOM defaultAnimation?: boolean; // 是否启用默认动画。默认为 true } @@ -373,7 +373,7 @@ addOptions() { ![拖拽功能扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-drag.png) -在 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: +在 [https://github.com/halo-sigs/richtext-editor/pull/48](https://github.com/halo-sigs/richtext-editor/pull/48) 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: ```ts { @@ -472,6 +472,6 @@ addOptions() { ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-hybrid-edit-block](https://github.com/halo-sigs/plugin-hybrid-edit-block) +- [https://github.com/halo-sigs/plugin-katex](https://github.com/halo-sigs/plugin-katex) +- [https://github.com/halo-sigs/plugin-text-diagram](https://github.com/halo-sigs/plugin-text-diagram) diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md index f3a42d8..b2c0a83 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md @@ -177,10 +177,10 @@ code { ``` -> 来源: +> 来源:[https://vuejs.org/examples/#markdown](https://vuejs.org/examples/#markdown) ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-stackedit](https://github.com/halo-sigs/plugin-stackedit) +- [https://github.com/halo-sigs/plugin-bytemd](https://github.com/halo-sigs/plugin-bytemd) +- [https://github.com/justice2001/halo-plugin-vditor](https://github.com/justice2001/halo-plugin-vditor) diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md index 31f6cf9..799ba59 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md @@ -2,7 +2,7 @@ export interface OperationItem { priority: number; // 排序优先级 component: Raw; // 菜单项组件 - props?: Record; // 菜单项组件属性 + props?: Record\; // 菜单项组件属性 action?: (item?: T) => void; // 菜单项点击事件 label?: string; // 菜单项标题 hidden?: boolean; // 菜单项是否隐藏 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md index 3830b9e..d9c0289 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md @@ -33,7 +33,7 @@ export interface PluginInstallationTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface PluginInstallationTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md index 0d67e99..69882c1 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } @@ -71,7 +71,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md index 796dac2..e029783 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md @@ -42,7 +42,7 @@ import OperationItem from "./interface/OperationItem.md"; ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md index 102f2a3..8d8f54c 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md @@ -37,7 +37,7 @@ export interface PluginTab { 其中,`component` 组件可以注入(inject)以下属性: -- `plugin`:当前插件对象,类型为 Ref<[Plugin](#plugin)>。 +- `plugin`:当前插件对象,类型为 Ref\<[Plugin](#plugin)\>。 ## 示例 @@ -77,7 +77,7 @@ const plugin = inject>("plugin"); ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md index 3680af0..3398160 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md index 91ffb08..e87aab4 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md @@ -78,7 +78,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md index 400de61..0c50ab6 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md @@ -33,7 +33,7 @@ export interface ThemeListTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface ThemeListTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.13/developer-guide/plugin/basics/manifest.md b/versioned_docs/version-2.13/developer-guide/plugin/basics/manifest.md index db770c7..479392a 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/basics/manifest.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/basics/manifest.md @@ -51,7 +51,7 @@ spec: - `spec.homepage`:通常为插件的 GitHub 仓库链接,或可联系到插件作者或插件官网或帮助中心链接等。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段简短的说明来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 Halo 的插件可以在两种模式下运行:`development` 和 `deployment`。 `deployment`(默认)模式是插件创建的标准工作流程:为每个插件创建一个新的 Gradle 项目,编码插件(声明新的扩展点和/或添加新的扩展),将插件打包成一个 JAR 文件,部署 JAR 文件到 Halo。 diff --git a/versioned_docs/version-2.13/developer-guide/plugin/basics/structure.md b/versioned_docs/version-2.13/developer-guide/plugin/basics/structure.md index ee91176..5e33742 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/basics/structure.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/basics/structure.md @@ -53,7 +53,7 @@ description: 了解插件项目的文件结构 - `resources` 下的 `plugin.yaml` 为插件的资源描述文件,它是必须的,它描述了插件的基本信息,包括插件的名称、版本、作者、描述、依赖等。 - `resources/console` 下的两个文件 `main.js` 和 `style.css` 是前端插件部分打包时输出的产物。一个插件可以没有前端部分,因此 `resources/console` 同样可以不存在。 -:::caution 注意 +:::warning 注意 从 2.11 开始,Halo 支持了 UC 个人中心,且个人中心和 Console 的插件机制共享,所以为了避免歧义,`resources/console` 在后续版本会被重命名为 `resources/ui`,但同时也会兼容 `resources/console`。 ::: diff --git a/versioned_docs/version-2.13/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.13/developer-guide/plugin/examples/todolist.md index 5e98688..cfc99ef 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -40,7 +40,7 @@ description: 这个例子展示了如何开发 Todo List 插件 description: "插件开发的 hello world,用于学习如何开发一个简单的 Halo 插件" license: - name: "MIT" - ``` + ``` 参考链接: @@ -82,9 +82,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.13/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.13/developer-guide/plugin/hello-world.md index c0a9ab6..9307554 100644 --- a/versioned_docs/version-2.13/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.13/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上。 diff --git a/versioned_docs/version-2.13/developer-guide/theme/config.md b/versioned_docs/version-2.13/developer-guide/theme/config.md index 6827c8d..e225de3 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/config.md +++ b/versioned_docs/version-2.13/developer-guide/theme/config.md @@ -73,7 +73,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/category.md index f9c6122..2c3bea5 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -162,7 +162,7 @@ List<[#CategoryTreeVo](#categorytreevo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/post.md index 10a75e1..dc60c60 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -233,7 +233,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -271,7 +271,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -310,7 +310,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -371,13 +371,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -411,7 +411,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.13/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/settings.md b/versioned_docs/version-2.13/developer-guide/theme/settings.md index b0bb850..dd15833 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.13/developer-guide/theme/settings.md @@ -119,7 +119,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.13/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.13/developer-guide/theme/template-variables/archives.md index b2296ae..726e875 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.13/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.13/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.13/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.13/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.13/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.13/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.13/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.13/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.13/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.13/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.13/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.13/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.13/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.13/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.13/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.13/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.13/getting-started/install/docker-compose.md b/versioned_docs/version-2.13/getting-started/install/docker-compose.md index 59e55e2..afd5827 100644 --- a/versioned_docs/version-2.13/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.13/getting-started/install/docker-compose.md @@ -11,8 +11,8 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -36,234 +36,234 @@ import DockerArgs from "./slots/_docker-args.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {23-29,43} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.13 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 - ::: + ```yaml {23-29,43} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.13 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 + ::: 2. 创建 Halo + MySQL 的实例: - ```yaml {23-29,51} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.13 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 - ::: + ```yaml {23-29,51} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.13 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 + ::: 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.13 - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.13 + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {7,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.13 - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {7,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.13 + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: halohub/halo:2.13 - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.13/getting-started/install/docker.md b/versioned_docs/version-2.13/getting-started/install/docker.md index 7574636..8798128 100644 --- a/versioned_docs/version-2.13/getting-started/install/docker.md +++ b/versioned_docs/version-2.13/getting-started/install/docker.md @@ -9,7 +9,7 @@ import DockerArgs from "./slots/_docker-args.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -17,7 +17,7 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -41,50 +41,50 @@ import DockerArgs from "./slots/_docker-args.md" 1. 创建容器 - ```bash - docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13 - ``` + ```bash + docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull halohub/halo:2.13 - ``` + ```bash + docker pull halohub/halo:2.13 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13 - ``` + ```bash + docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13 + ``` diff --git a/versioned_docs/version-2.13/getting-started/install/jar-file.md b/versioned_docs/version-2.13/getting-started/install/jar-file.md index e3d6425..a846dea 100644 --- a/versioned_docs/version-2.13/getting-started/install/jar-file.md +++ b/versioned_docs/version-2.13/getting-started/install/jar-file.md @@ -58,8 +58,8 @@ title: 使用 JAR 文件部署 :::info 以下是官方维护的下载地址: - 1. - 2. + 1. [https://download.halo.run](https://download.halo.run) + 2. [https://github.com/halo-dev/halo/releases](https://github.com/halo-dev/halo/releases) ::: 4. 创建 [工作目录](../prepare#工作目录) @@ -132,7 +132,7 @@ title: 使用 JAR 文件部署 - DATABASE:数据库名称,如 `halo`,需要提前创建 ::: - :::caution + :::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.13/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.13/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.13/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.13/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.13/getting-started/install/other/traefik.md b/versioned_docs/version-2.13/getting-started/install/other/traefik.md index ee54ed0..cf109db 100644 --- a/versioned_docs/version-2.13/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.13/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.13/getting-started/install/podman.md b/versioned_docs/version-2.13/getting-started/install/podman.md index 3ce07db..9811fad 100644 --- a/versioned_docs/version-2.13/getting-started/install/podman.md +++ b/versioned_docs/version-2.13/getting-started/install/podman.md @@ -36,7 +36,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -66,50 +66,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull halohub/halo:2.13 - ``` + ```bash + podman pull halohub/halo:2.13 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13 @@ -124,50 +124,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.13 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.13 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -202,34 +202,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.13 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.13 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.13/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.13/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.13/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.13/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.13/intro.md b/versioned_docs/version-2.13/intro.md index cd8aeaf..d7a98e2 100644 --- a/versioned_docs/version-2.13/intro.md +++ b/versioned_docs/version-2.13/intro.md @@ -37,12 +37,12 @@ slug: / docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.13/user-guide/attachments.md b/versioned_docs/version-2.13/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.13/user-guide/attachments.md +++ b/versioned_docs/version-2.13/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.13/user-guide/common.md b/versioned_docs/version-2.13/user-guide/common.md index 66687d5..7e2038b 100644 --- a/versioned_docs/version-2.13/user-guide/common.md +++ b/versioned_docs/version-2.13/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.13/user-guide/faq.md b/versioned_docs/version-2.13/user-guide/faq.md index 855c7be..558e075 100644 --- a/versioned_docs/version-2.13/user-guide/faq.md +++ b/versioned_docs/version-2.13/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.13/user-guide/plugins.md b/versioned_docs/version-2.13/user-guide/plugins.md index abbca2e..c601c58 100644 --- a/versioned_docs/version-2.13/user-guide/plugins.md +++ b/versioned_docs/version-2.13/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装插件 diff --git a/versioned_docs/version-2.13/user-guide/posts.md b/versioned_docs/version-2.13/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.13/user-guide/posts.md +++ b/versioned_docs/version-2.13/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.13/user-guide/themes.md b/versioned_docs/version-2.13/user-guide/themes.md index 186e301..60dac41 100644 --- a/versioned_docs/version-2.13/user-guide/themes.md +++ b/versioned_docs/version-2.13/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装主题 diff --git a/versioned_docs/version-2.13/user-guide/users.md b/versioned_docs/version-2.13/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/versioned_docs/version-2.13/user-guide/users.md +++ b/versioned_docs/version-2.13/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/versioned_docs/version-2.14/contribution/issue.md b/versioned_docs/version-2.14/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.14/contribution/issue.md +++ b/versioned_docs/version-2.14/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.14/contribution/sponsor.md b/versioned_docs/version-2.14/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.14/contribution/sponsor.md +++ b/versioned_docs/version-2.14/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.14/developer-guide/core/run.md b/versioned_docs/version-2.14/developer-guide/core/run.md index 249afbe..09de502 100644 --- a/versioned_docs/version-2.14/developer-guide/core/run.md +++ b/versioned_docs/version-2.14/developer-guide/core/run.md @@ -126,6 +126,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/versioned_docs/version-2.14/developer-guide/form-schema.md b/versioned_docs/version-2.14/developer-guide/form-schema.md index 744114a..d35a72e 100644 --- a/versioned_docs/version-2.14/developer-guide/form-schema.md +++ b/versioned_docs/version-2.14/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/annotations-form.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/annotations-form.md index 86e31e1..98f4e34 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/annotations-form.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/annotations-form.md @@ -52,4 +52,4 @@ function handleSubmit () { |---------|------------------------------------|---------|-----------------------------------------| | `group` | string | 无,必填 | 定义组件所属的分组。 | | `kind` | string | 无,必填 | 定义组件的种类。 | -| `value` | { [key: string]: string; } \| null | null | 可选,包含键值对的对象或空值,用于存储数据。 | +| `value` | \{ [key: string]: string; \} \| null \| null | 可选,包含键值对的对象或空值,用于存储数据。 | diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md index 945485f..d487938 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md @@ -37,7 +37,7 @@ const items = [ | 属性名 | 类型 | 默认值 | 描述 | |--------------|-----------------------------------------------------------|-----------|--------------------------------------------------| -| `items` | { label: string; value?: string \| boolean \| number; }[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | +| `items` | \{ label: string; value?: string \| boolean \| number; \}[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | | `label` | string | 无,必填 | 组件的标签文本。 | | `modelValue` | string \| boolean \| number | undefined | 可选,用于绑定到组件的值,可以是字符串、布尔值或数字。 | diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/index.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/index.md index e6dc594..a6932c1 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/index.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/index.md @@ -27,7 +27,7 @@ import { VButton } from "@halo-dev/components"; ``` -所有可用的基础组件以及文档可查阅: +所有可用的基础组件以及文档可查阅:[https://halo-ui-components.pages.dev](https://halo-ui-components.pages.dev) ## 业务组件和指令 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/uppy-upload.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/uppy-upload.md index 93c7d66..c58dd8b 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/uppy-upload.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/components/uppy-upload.md @@ -27,7 +27,7 @@ const groupName = ref('my-test-group') | 属性名 | 类型 | 默认值 | 描述 | |---------------------|----------------------------------------------------------------|-----------|------------------------------| | `restrictions` | Restrictions | undefined | 可选,指定任何限制。 | -| `meta` | Record | undefined | 可选,要发送的额外元数据。 | +| `meta` | Record\ | undefined | 可选,要发送的额外元数据。 | | `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 | | `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 | | `endpoint` | string | 无,必填 | 数据发送到的端点URL。 | diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md index d329e3d..dc75dd3 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md @@ -85,7 +85,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-s3](https://github.com/halo-dev/plugin-s3) ## 类型定义 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md index 2f93505..0fa122f 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md @@ -143,4 +143,4 @@ const handleSelect = async (url: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-unsplash](https://github.com/halo-sigs/plugin-unsplash) diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md index b209878..392ec61 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md @@ -111,4 +111,4 @@ const stripHtmlTags = (str: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-moments](https://github.com/halo-sigs/plugin-moments) diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md index bbace23..733dc1f 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md @@ -18,7 +18,7 @@ export default definePlugin({ ``` :::info 提示 -AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 +AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:[https://tiptap.dev/docs/editor/api/extensions](https://tiptap.dev/docs/editor/api/extensions)。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 ::: ### Halo 独有扩展 @@ -60,7 +60,7 @@ export interface ExtensionOptions { ![顶部工具栏扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbar.png) -在 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: ```ts { @@ -130,7 +130,7 @@ addOptions() { ![工具箱扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbox.png) -在 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/27](https://github.com/halo-sigs/richtext-editor/pull/27) 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: ```ts { @@ -201,7 +201,7 @@ Slash Command (斜杠命令)的扩展,可用于在当前行快捷执行功 ![Slash Command 扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-slash-command.png) -在 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: ```ts { @@ -263,7 +263,7 @@ addOptions() { ![悬浮菜单扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-bubble-menu.png) -在 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/38](https://github.com/halo-sigs/richtext-editor/pull/38) 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: ```ts { @@ -296,7 +296,7 @@ interface BubbleMenuProps { from?: number; to?: number; }) => boolean; - tippyOptions?: Record; // 可自由定制悬浮菜单所用的 tippy 组件的选项 + tippyOptions?: Record\; // 可自由定制悬浮菜单所用的 tippy 组件的选项 getRenderContainer?: (node: HTMLElement) => HTMLElement; // 悬浮菜单所基准的 DOM defaultAnimation?: boolean; // 是否启用默认动画。默认为 true } @@ -373,7 +373,7 @@ addOptions() { ![拖拽功能扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-drag.png) -在 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: +在 [https://github.com/halo-sigs/richtext-editor/pull/48](https://github.com/halo-sigs/richtext-editor/pull/48) 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: ```ts { @@ -474,6 +474,6 @@ addOptions() { ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-hybrid-edit-block](https://github.com/halo-sigs/plugin-hybrid-edit-block) +- [https://github.com/halo-sigs/plugin-katex](https://github.com/halo-sigs/plugin-katex) +- [https://github.com/halo-sigs/plugin-text-diagram](https://github.com/halo-sigs/plugin-text-diagram) diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md index 5db1faa..05e8461 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md @@ -179,10 +179,10 @@ code { ``` -> 来源: +> 来源:[https://vuejs.org/examples/#markdown](https://vuejs.org/examples/#markdown) ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-stackedit](https://github.com/halo-sigs/plugin-stackedit) +- [https://github.com/halo-sigs/plugin-bytemd](https://github.com/halo-sigs/plugin-bytemd) +- [https://github.com/justice2001/halo-plugin-vditor](https://github.com/justice2001/halo-plugin-vditor) diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md index 31f6cf9..799ba59 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md @@ -2,7 +2,7 @@ export interface OperationItem { priority: number; // 排序优先级 component: Raw; // 菜单项组件 - props?: Record; // 菜单项组件属性 + props?: Record\; // 菜单项组件属性 action?: (item?: T) => void; // 菜单项点击事件 label?: string; // 菜单项标题 hidden?: boolean; // 菜单项是否隐藏 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md index 3830b9e..d9c0289 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md @@ -33,7 +33,7 @@ export interface PluginInstallationTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface PluginInstallationTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md index 0d67e99..69882c1 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } @@ -71,7 +71,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md index 796dac2..e029783 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md @@ -42,7 +42,7 @@ import OperationItem from "./interface/OperationItem.md"; ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md index 102f2a3..8d8f54c 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md @@ -37,7 +37,7 @@ export interface PluginTab { 其中,`component` 组件可以注入(inject)以下属性: -- `plugin`:当前插件对象,类型为 Ref<[Plugin](#plugin)>。 +- `plugin`:当前插件对象,类型为 Ref\<[Plugin](#plugin)\>。 ## 示例 @@ -77,7 +77,7 @@ const plugin = inject>("plugin"); ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md index 3680af0..3398160 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md index 91ffb08..e87aab4 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md @@ -78,7 +78,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md index 400de61..0c50ab6 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md @@ -33,7 +33,7 @@ export interface ThemeListTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface ThemeListTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.14/developer-guide/plugin/basics/manifest.md b/versioned_docs/version-2.14/developer-guide/plugin/basics/manifest.md index 14ef27f..8dbc6b5 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/basics/manifest.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/basics/manifest.md @@ -54,7 +54,7 @@ spec: - `spec.repo`:插件源码地址。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段简短的说明来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 Halo 的插件可以在两种模式下运行:`development` 和 `deployment`。 `deployment`(默认)模式是插件创建的标准工作流程:为每个插件创建一个新的 Gradle 项目,编码插件(声明新的扩展点和/或添加新的扩展),将插件打包成一个 JAR 文件,部署 JAR 文件到 Halo。 diff --git a/versioned_docs/version-2.14/developer-guide/plugin/basics/structure.md b/versioned_docs/version-2.14/developer-guide/plugin/basics/structure.md index ee91176..5e33742 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/basics/structure.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/basics/structure.md @@ -53,7 +53,7 @@ description: 了解插件项目的文件结构 - `resources` 下的 `plugin.yaml` 为插件的资源描述文件,它是必须的,它描述了插件的基本信息,包括插件的名称、版本、作者、描述、依赖等。 - `resources/console` 下的两个文件 `main.js` 和 `style.css` 是前端插件部分打包时输出的产物。一个插件可以没有前端部分,因此 `resources/console` 同样可以不存在。 -:::caution 注意 +:::warning 注意 从 2.11 开始,Halo 支持了 UC 个人中心,且个人中心和 Console 的插件机制共享,所以为了避免歧义,`resources/console` 在后续版本会被重命名为 `resources/ui`,但同时也会兼容 `resources/console`。 ::: diff --git a/versioned_docs/version-2.14/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.14/developer-guide/plugin/examples/todolist.md index 60b5c4b..8279463 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -42,7 +42,7 @@ description: 这个例子展示了如何开发 Todo List 插件 license: - name: "GPL-3.0" url: "https://github.com/halo-dev/plugin-starter/blob/main/LICENSE" - ``` + ``` 参考链接: @@ -84,9 +84,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.14/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.14/developer-guide/plugin/hello-world.md index c0a9ab6..9307554 100644 --- a/versioned_docs/version-2.14/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.14/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上。 diff --git a/versioned_docs/version-2.14/developer-guide/theme/config.md b/versioned_docs/version-2.14/developer-guide/theme/config.md index 77b376e..9f01017 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/config.md +++ b/versioned_docs/version-2.14/developer-guide/theme/config.md @@ -77,7 +77,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/category.md index f9c6122..2c3bea5 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -162,7 +162,7 @@ List<[#CategoryTreeVo](#categorytreevo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/post.md index 10a75e1..dc60c60 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -233,7 +233,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -271,7 +271,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -310,7 +310,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -371,13 +371,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -411,7 +411,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.14/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/settings.md b/versioned_docs/version-2.14/developer-guide/theme/settings.md index afd8912..7ab6017 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.14/developer-guide/theme/settings.md @@ -122,7 +122,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.14/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.14/developer-guide/theme/template-variables/archives.md index b2296ae..726e875 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.14/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.14/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.14/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.14/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.14/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.14/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.14/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.14/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.14/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.14/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.14/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.14/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.14/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.14/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.14/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.14/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.14/getting-started/install/docker-compose.md b/versioned_docs/version-2.14/getting-started/install/docker-compose.md index add11eb..6f241c3 100644 --- a/versioned_docs/version-2.14/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.14/getting-started/install/docker-compose.md @@ -11,8 +11,8 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -36,234 +36,234 @@ import DockerArgs from "./slots/_docker-args.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {23-29,43} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.14 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 - ::: + ```yaml {23-29,43} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.14 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 + ::: 2. 创建 Halo + MySQL 的实例: - ```yaml {23-29,51} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.14 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 - ::: + ```yaml {23-29,51} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.14 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 + ::: 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.14 - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.14 + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {7,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.14 - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {7,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.14 + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: halohub/halo:2.14 - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.14/getting-started/install/docker.md b/versioned_docs/version-2.14/getting-started/install/docker.md index b17a337..beddc64 100644 --- a/versioned_docs/version-2.14/getting-started/install/docker.md +++ b/versioned_docs/version-2.14/getting-started/install/docker.md @@ -9,7 +9,7 @@ import DockerArgs from "./slots/_docker-args.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -17,7 +17,7 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -41,49 +41,49 @@ import DockerArgs from "./slots/_docker-args.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.14 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.14 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull halohub/halo:2.14 - ``` + ```bash + docker pull halohub/halo:2.14 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.14 diff --git a/versioned_docs/version-2.14/getting-started/install/jar-file.md b/versioned_docs/version-2.14/getting-started/install/jar-file.md index 4ecb0a7..6a6e793 100644 --- a/versioned_docs/version-2.14/getting-started/install/jar-file.md +++ b/versioned_docs/version-2.14/getting-started/install/jar-file.md @@ -58,8 +58,8 @@ title: 使用 JAR 文件部署 :::info 以下是官方维护的下载地址: - 1. - 2. + 1. [https://download.halo.run](https://download.halo.run) + 2. [https://github.com/halo-dev/halo/releases](https://github.com/halo-dev/halo/releases) ::: 4. 创建 [工作目录](../prepare#工作目录) @@ -132,7 +132,7 @@ title: 使用 JAR 文件部署 - DATABASE:数据库名称,如 `halo`,需要提前创建 ::: - :::caution + :::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.14/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.14/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.14/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.14/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.14/getting-started/install/other/traefik.md b/versioned_docs/version-2.14/getting-started/install/other/traefik.md index c6bc759..9272023 100644 --- a/versioned_docs/version-2.14/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.14/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.14/getting-started/install/podman.md b/versioned_docs/version-2.14/getting-started/install/podman.md index d46ccfb..a4da9e2 100644 --- a/versioned_docs/version-2.14/getting-started/install/podman.md +++ b/versioned_docs/version-2.14/getting-started/install/podman.md @@ -36,7 +36,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -66,50 +66,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.14 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.14 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull halohub/halo:2.14 - ``` + ```bash + podman pull halohub/halo:2.14 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.14 @@ -124,50 +124,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.14 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.14 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -202,34 +202,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.14 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.14 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.14/getting-started/install/slots/_docker-args.md b/versioned_docs/version-2.14/getting-started/install/slots/_docker-args.md index c506d8d..8ae6af0 100644 --- a/versioned_docs/version-2.14/getting-started/install/slots/_docker-args.md +++ b/versioned_docs/version-2.14/getting-started/install/slots/_docker-args.md @@ -16,8 +16,8 @@ | MariaDB | `r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}` | mysql | | H2 Database | `r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE` | h2 | -:::caution +:::warning 由于 MariaDB 数据库驱动目前存在问题,使用 MariaDB 数据库时也选择使用 MySQL 驱动,即链接地址格式为 `r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}`。 -详情可见: +详情可见:[https://github.com/halo-dev/halo/issues/5534](https://github.com/halo-dev/halo/issues/5534) ::: diff --git a/versioned_docs/version-2.14/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.14/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.14/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.14/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.14/getting-started/prepare.md b/versioned_docs/version-2.14/getting-started/prepare.md index 6fd4bd7..69b1d78 100644 --- a/versioned_docs/version-2.14/getting-started/prepare.md +++ b/versioned_docs/version-2.14/getting-started/prepare.md @@ -63,7 +63,7 @@ Halo 目前支持以下数据库: 其中,H2 不需要单独运行,其他数据库需要单独安装并配置。一般情况下,推荐按照 [使用 Docker Compose 部署](./install/docker-compose.md) 文档将 Halo 和数据库容器编排在一起。 -:::caution +:::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.14/intro.md b/versioned_docs/version-2.14/intro.md index add9c1c..c87e784 100644 --- a/versioned_docs/version-2.14/intro.md +++ b/versioned_docs/version-2.14/intro.md @@ -37,12 +37,12 @@ slug: / docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.14 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.14/user-guide/attachments.md b/versioned_docs/version-2.14/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.14/user-guide/attachments.md +++ b/versioned_docs/version-2.14/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.14/user-guide/common.md b/versioned_docs/version-2.14/user-guide/common.md index 66687d5..7e2038b 100644 --- a/versioned_docs/version-2.14/user-guide/common.md +++ b/versioned_docs/version-2.14/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.14/user-guide/faq.md b/versioned_docs/version-2.14/user-guide/faq.md index 11bee5a..585b13a 100644 --- a/versioned_docs/version-2.14/user-guide/faq.md +++ b/versioned_docs/version-2.14/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.14/user-guide/plugins.md b/versioned_docs/version-2.14/user-guide/plugins.md index abbca2e..c601c58 100644 --- a/versioned_docs/version-2.14/user-guide/plugins.md +++ b/versioned_docs/version-2.14/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装插件 diff --git a/versioned_docs/version-2.14/user-guide/posts.md b/versioned_docs/version-2.14/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.14/user-guide/posts.md +++ b/versioned_docs/version-2.14/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.14/user-guide/themes.md b/versioned_docs/version-2.14/user-guide/themes.md index 186e301..60dac41 100644 --- a/versioned_docs/version-2.14/user-guide/themes.md +++ b/versioned_docs/version-2.14/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: ## 安装主题 diff --git a/versioned_docs/version-2.14/user-guide/users.md b/versioned_docs/version-2.14/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/versioned_docs/version-2.14/user-guide/users.md +++ b/versioned_docs/version-2.14/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/versioned_docs/version-2.15/contribution/issue.md b/versioned_docs/version-2.15/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.15/contribution/issue.md +++ b/versioned_docs/version-2.15/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.15/contribution/sponsor.md b/versioned_docs/version-2.15/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.15/contribution/sponsor.md +++ b/versioned_docs/version-2.15/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.15/developer-guide/core/run.md b/versioned_docs/version-2.15/developer-guide/core/run.md index 249afbe..09de502 100644 --- a/versioned_docs/version-2.15/developer-guide/core/run.md +++ b/versioned_docs/version-2.15/developer-guide/core/run.md @@ -126,6 +126,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/versioned_docs/version-2.15/developer-guide/form-schema.md b/versioned_docs/version-2.15/developer-guide/form-schema.md index 744114a..d35a72e 100644 --- a/versioned_docs/version-2.15/developer-guide/form-schema.md +++ b/versioned_docs/version-2.15/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/annotations-form.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/annotations-form.md index 86e31e1..98f4e34 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/annotations-form.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/annotations-form.md @@ -52,4 +52,4 @@ function handleSubmit () { |---------|------------------------------------|---------|-----------------------------------------| | `group` | string | 无,必填 | 定义组件所属的分组。 | | `kind` | string | 无,必填 | 定义组件的种类。 | -| `value` | { [key: string]: string; } \| null | null | 可选,包含键值对的对象或空值,用于存储数据。 | +| `value` | \{ [key: string]: string; \} \| null \| null | 可选,包含键值对的对象或空值,用于存储数据。 | diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md index 945485f..d487938 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md @@ -37,7 +37,7 @@ const items = [ | 属性名 | 类型 | 默认值 | 描述 | |--------------|-----------------------------------------------------------|-----------|--------------------------------------------------| -| `items` | { label: string; value?: string \| boolean \| number; }[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | +| `items` | \{ label: string; value?: string \| boolean \| number; \}[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | | `label` | string | 无,必填 | 组件的标签文本。 | | `modelValue` | string \| boolean \| number | undefined | 可选,用于绑定到组件的值,可以是字符串、布尔值或数字。 | diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/index.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/index.md index e6dc594..a6932c1 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/index.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/index.md @@ -27,7 +27,7 @@ import { VButton } from "@halo-dev/components"; ``` -所有可用的基础组件以及文档可查阅: +所有可用的基础组件以及文档可查阅:[https://halo-ui-components.pages.dev](https://halo-ui-components.pages.dev) ## 业务组件和指令 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/uppy-upload.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/uppy-upload.md index 93c7d66..c58dd8b 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/uppy-upload.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/components/uppy-upload.md @@ -27,7 +27,7 @@ const groupName = ref('my-test-group') | 属性名 | 类型 | 默认值 | 描述 | |---------------------|----------------------------------------------------------------|-----------|------------------------------| | `restrictions` | Restrictions | undefined | 可选,指定任何限制。 | -| `meta` | Record | undefined | 可选,要发送的额外元数据。 | +| `meta` | Record\ | undefined | 可选,要发送的额外元数据。 | | `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 | | `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 | | `endpoint` | string | 无,必填 | 数据发送到的端点URL。 | diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md index d329e3d..dc75dd3 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md @@ -85,7 +85,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-s3](https://github.com/halo-dev/plugin-s3) ## 类型定义 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md index 2f93505..0fa122f 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md @@ -143,4 +143,4 @@ const handleSelect = async (url: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-unsplash](https://github.com/halo-sigs/plugin-unsplash) diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md index b209878..392ec61 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md @@ -111,4 +111,4 @@ const stripHtmlTags = (str: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-moments](https://github.com/halo-sigs/plugin-moments) diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md index bbace23..733dc1f 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md @@ -18,7 +18,7 @@ export default definePlugin({ ``` :::info 提示 -AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 +AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:[https://tiptap.dev/docs/editor/api/extensions](https://tiptap.dev/docs/editor/api/extensions)。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 ::: ### Halo 独有扩展 @@ -60,7 +60,7 @@ export interface ExtensionOptions { ![顶部工具栏扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbar.png) -在 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: ```ts { @@ -130,7 +130,7 @@ addOptions() { ![工具箱扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbox.png) -在 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/27](https://github.com/halo-sigs/richtext-editor/pull/27) 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: ```ts { @@ -201,7 +201,7 @@ Slash Command (斜杠命令)的扩展,可用于在当前行快捷执行功 ![Slash Command 扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-slash-command.png) -在 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: ```ts { @@ -263,7 +263,7 @@ addOptions() { ![悬浮菜单扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-bubble-menu.png) -在 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/38](https://github.com/halo-sigs/richtext-editor/pull/38) 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: ```ts { @@ -296,7 +296,7 @@ interface BubbleMenuProps { from?: number; to?: number; }) => boolean; - tippyOptions?: Record; // 可自由定制悬浮菜单所用的 tippy 组件的选项 + tippyOptions?: Record\; // 可自由定制悬浮菜单所用的 tippy 组件的选项 getRenderContainer?: (node: HTMLElement) => HTMLElement; // 悬浮菜单所基准的 DOM defaultAnimation?: boolean; // 是否启用默认动画。默认为 true } @@ -373,7 +373,7 @@ addOptions() { ![拖拽功能扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-drag.png) -在 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: +在 [https://github.com/halo-sigs/richtext-editor/pull/48](https://github.com/halo-sigs/richtext-editor/pull/48) 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: ```ts { @@ -474,6 +474,6 @@ addOptions() { ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-hybrid-edit-block](https://github.com/halo-sigs/plugin-hybrid-edit-block) +- [https://github.com/halo-sigs/plugin-katex](https://github.com/halo-sigs/plugin-katex) +- [https://github.com/halo-sigs/plugin-text-diagram](https://github.com/halo-sigs/plugin-text-diagram) diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md index 5db1faa..05e8461 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md @@ -179,10 +179,10 @@ code { ``` -> 来源: +> 来源:[https://vuejs.org/examples/#markdown](https://vuejs.org/examples/#markdown) ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-stackedit](https://github.com/halo-sigs/plugin-stackedit) +- [https://github.com/halo-sigs/plugin-bytemd](https://github.com/halo-sigs/plugin-bytemd) +- [https://github.com/justice2001/halo-plugin-vditor](https://github.com/justice2001/halo-plugin-vditor) diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md index 31f6cf9..799ba59 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md @@ -2,7 +2,7 @@ export interface OperationItem { priority: number; // 排序优先级 component: Raw; // 菜单项组件 - props?: Record; // 菜单项组件属性 + props?: Record\; // 菜单项组件属性 action?: (item?: T) => void; // 菜单项点击事件 label?: string; // 菜单项标题 hidden?: boolean; // 菜单项是否隐藏 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md index 3830b9e..d9c0289 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md @@ -33,7 +33,7 @@ export interface PluginInstallationTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface PluginInstallationTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md index 0d67e99..69882c1 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } @@ -71,7 +71,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md index 796dac2..e029783 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md @@ -42,7 +42,7 @@ import OperationItem from "./interface/OperationItem.md"; ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md index 102f2a3..8d8f54c 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md @@ -37,7 +37,7 @@ export interface PluginTab { 其中,`component` 组件可以注入(inject)以下属性: -- `plugin`:当前插件对象,类型为 Ref<[Plugin](#plugin)>。 +- `plugin`:当前插件对象,类型为 Ref\<[Plugin](#plugin)\>。 ## 示例 @@ -77,7 +77,7 @@ const plugin = inject>("plugin"); ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md index 3680af0..3398160 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md index 91ffb08..e87aab4 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md @@ -78,7 +78,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md index 400de61..0c50ab6 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md @@ -33,7 +33,7 @@ export interface ThemeListTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface ThemeListTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.15/developer-guide/plugin/basics/manifest.md b/versioned_docs/version-2.15/developer-guide/plugin/basics/manifest.md index be88fe1..aaabe9a 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/basics/manifest.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/basics/manifest.md @@ -56,7 +56,7 @@ spec: - `spec.issues`:插件问题反馈地址,如果你的插件是开源在 GitHub 上,可以直接配置为 GitHub Issues 地址。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段简短的说明来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 Halo 的插件可以在两种模式下运行:`development` 和 `deployment`。 `deployment`(默认)模式是插件创建的标准工作流程:为每个插件创建一个新的 Gradle 项目,编码插件(声明新的扩展点和/或添加新的扩展),将插件打包成一个 JAR 文件,部署 JAR 文件到 Halo。 diff --git a/versioned_docs/version-2.15/developer-guide/plugin/basics/structure.md b/versioned_docs/version-2.15/developer-guide/plugin/basics/structure.md index ee91176..5e33742 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/basics/structure.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/basics/structure.md @@ -53,7 +53,7 @@ description: 了解插件项目的文件结构 - `resources` 下的 `plugin.yaml` 为插件的资源描述文件,它是必须的,它描述了插件的基本信息,包括插件的名称、版本、作者、描述、依赖等。 - `resources/console` 下的两个文件 `main.js` 和 `style.css` 是前端插件部分打包时输出的产物。一个插件可以没有前端部分,因此 `resources/console` 同样可以不存在。 -:::caution 注意 +:::warning 注意 从 2.11 开始,Halo 支持了 UC 个人中心,且个人中心和 Console 的插件机制共享,所以为了避免歧义,`resources/console` 在后续版本会被重命名为 `resources/ui`,但同时也会兼容 `resources/console`。 ::: diff --git a/versioned_docs/version-2.15/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.15/developer-guide/plugin/examples/todolist.md index f73ff5a..351f392 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -43,7 +43,7 @@ description: 这个例子展示了如何开发 Todo List 插件 license: - name: "GPL-3.0" url: "https://github.com/halo-dev/plugin-starter/blob/main/LICENSE" - ``` + ``` 参考链接: @@ -85,9 +85,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.15/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.15/developer-guide/plugin/hello-world.md index c0a9ab6..9307554 100644 --- a/versioned_docs/version-2.15/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.15/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上。 diff --git a/versioned_docs/version-2.15/developer-guide/theme/config.md b/versioned_docs/version-2.15/developer-guide/theme/config.md index 5b3d7ff..9ecf62a 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/config.md +++ b/versioned_docs/version-2.15/developer-guide/theme/config.md @@ -79,7 +79,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/category.md index f9c6122..2c3bea5 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -162,7 +162,7 @@ List<[#CategoryTreeVo](#categorytreevo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/post.md index 10a75e1..dc60c60 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -233,7 +233,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -271,7 +271,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -310,7 +310,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -371,13 +371,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -411,7 +411,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.15/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/settings.md b/versioned_docs/version-2.15/developer-guide/theme/settings.md index 7732316..3e2639d 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.15/developer-guide/theme/settings.md @@ -123,7 +123,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.15/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.15/developer-guide/theme/template-variables/archives.md index d929ba6..82436fb 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.15/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.15/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.15/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.15/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.15/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.15/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.15/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.15/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.15/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.15/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.15/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.15/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.15/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.15/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.15/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.15/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.15/getting-started/install/cloud/tencent-cloud-lighthouse.md b/versioned_docs/version-2.15/getting-started/install/cloud/tencent-cloud-lighthouse.md index 7ed3d9a..02e6cd1 100644 --- a/versioned_docs/version-2.15/getting-started/install/cloud/tencent-cloud-lighthouse.md +++ b/versioned_docs/version-2.15/getting-started/install/cloud/tencent-cloud-lighthouse.md @@ -60,7 +60,7 @@ description: 使用腾讯云轻量应用服务器的应用模板部署 Halo ![添加域名](/img/install/tencent-cloud-lighthouse/domain.png) -除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 +除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:[https://demo.halo.run](https://demo.halo.run)),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 ![修改外部访问地址](/img/install/tencent-cloud-lighthouse/external-url.png) diff --git a/versioned_docs/version-2.15/getting-started/install/docker-compose.md b/versioned_docs/version-2.15/getting-started/install/docker-compose.md index 58d4051..4ad08f9 100644 --- a/versioned_docs/version-2.15/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.15/getting-started/install/docker-compose.md @@ -11,8 +11,8 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -36,234 +36,234 @@ import DockerArgs from "./slots/_docker-args.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {23-29,43} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.15 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 - ::: + ```yaml {23-29,43} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.15 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 + ::: 2. 创建 Halo + MySQL 的实例: - ```yaml {23-29,51} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.15 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 - ::: + ```yaml {23-29,51} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.15 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 + ::: 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.15 - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.15 + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {7,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: halohub/halo:2.15 - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {7,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: halohub/halo:2.15 + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: halohub/halo:2.15 - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.15/getting-started/install/docker.md b/versioned_docs/version-2.15/getting-started/install/docker.md index 9201316..00201e5 100644 --- a/versioned_docs/version-2.15/getting-started/install/docker.md +++ b/versioned_docs/version-2.15/getting-started/install/docker.md @@ -9,7 +9,7 @@ import DockerArgs from "./slots/_docker-args.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -17,7 +17,7 @@ import DockerArgs from "./slots/_docker-args.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -41,50 +41,50 @@ import DockerArgs from "./slots/_docker-args.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.15 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.15 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull halohub/halo:2.15 - ``` + ```bash + docker pull halohub/halo:2.15 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.15 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.15 + ``` diff --git a/versioned_docs/version-2.15/getting-started/install/jar-file.md b/versioned_docs/version-2.15/getting-started/install/jar-file.md index c287d7a..fd61db2 100644 --- a/versioned_docs/version-2.15/getting-started/install/jar-file.md +++ b/versioned_docs/version-2.15/getting-started/install/jar-file.md @@ -58,8 +58,8 @@ title: 使用 JAR 文件部署 :::info 以下是官方维护的下载地址: - 1. - 2. + 1. [https://download.halo.run](https://download.halo.run) + 2. [https://github.com/halo-dev/halo/releases](https://github.com/halo-dev/halo/releases) ::: 4. 创建 [工作目录](../prepare#工作目录) @@ -132,7 +132,7 @@ title: 使用 JAR 文件部署 - DATABASE:数据库名称,如 `halo`,需要提前创建 ::: - :::caution + :::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.15/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.15/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.15/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.15/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.15/getting-started/install/other/traefik.md b/versioned_docs/version-2.15/getting-started/install/other/traefik.md index 5a696e1..90f3384 100644 --- a/versioned_docs/version-2.15/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.15/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.15/getting-started/install/podman.md b/versioned_docs/version-2.15/getting-started/install/podman.md index 296473f..ed2b6c5 100644 --- a/versioned_docs/version-2.15/getting-started/install/podman.md +++ b/versioned_docs/version-2.15/getting-started/install/podman.md @@ -36,7 +36,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -66,50 +66,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.15 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.15 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull halohub/halo:2.15 - ``` + ```bash + podman pull halohub/halo:2.15 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.15 @@ -124,50 +124,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.15 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.15 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -202,34 +202,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.15 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.15 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.15/getting-started/install/slots/_docker-args.md b/versioned_docs/version-2.15/getting-started/install/slots/_docker-args.md index c506d8d..8ae6af0 100644 --- a/versioned_docs/version-2.15/getting-started/install/slots/_docker-args.md +++ b/versioned_docs/version-2.15/getting-started/install/slots/_docker-args.md @@ -16,8 +16,8 @@ | MariaDB | `r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}` | mysql | | H2 Database | `r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE` | h2 | -:::caution +:::warning 由于 MariaDB 数据库驱动目前存在问题,使用 MariaDB 数据库时也选择使用 MySQL 驱动,即链接地址格式为 `r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}`。 -详情可见: +详情可见:[https://github.com/halo-dev/halo/issues/5534](https://github.com/halo-dev/halo/issues/5534) ::: diff --git a/versioned_docs/version-2.15/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.15/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.15/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.15/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.15/getting-started/prepare.md b/versioned_docs/version-2.15/getting-started/prepare.md index 6fd4bd7..69b1d78 100644 --- a/versioned_docs/version-2.15/getting-started/prepare.md +++ b/versioned_docs/version-2.15/getting-started/prepare.md @@ -63,7 +63,7 @@ Halo 目前支持以下数据库: 其中,H2 不需要单独运行,其他数据库需要单独安装并配置。一般情况下,推荐按照 [使用 Docker Compose 部署](./install/docker-compose.md) 文档将 Halo 和数据库容器编排在一起。 -:::caution +:::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.15/intro.md b/versioned_docs/version-2.15/intro.md index 74a71d1..de955bf 100644 --- a/versioned_docs/version-2.15/intro.md +++ b/versioned_docs/version-2.15/intro.md @@ -37,12 +37,12 @@ slug: / docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.15 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.15/user-guide/app-store.md b/versioned_docs/version-2.15/user-guide/app-store.md index ef47054..851bce4 100644 --- a/versioned_docs/version-2.15/user-guide/app-store.md +++ b/versioned_docs/version-2.15/user-guide/app-store.md @@ -5,7 +5,7 @@ description: 内置应用市场的使用说明 为了方便使用者安装应用市场的主题和插件,我们提供了一个内置到 Console 的应用市场插件,可以更加方便在 Console 直接安装主题和插件。并且此插件从 Halo 2.10 开始已经预设到 Halo 中,无需手动安装。 -如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 手动下载并在 Console 的插件管理中安装。 +如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 [https://www.halo.run/store/apps/app-VYJbF](https://www.halo.run/store/apps/app-VYJbF) 手动下载并在 Console 的插件管理中安装。 :::info 提示 这是目前唯一由 Halo 官方提供的服务,如果你当前的 Halo 网站处于无法访问外网的环境或者不需要此功能,你可以卸载或者停用此插件,不会影响网站的正常使用。 @@ -13,7 +13,7 @@ description: 内置应用市场的使用说明 ## 应用市场页面 -这是一个为 Console 提供的独立的应用市场页面,此页面基本和 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 +这是一个为 Console 提供的独立的应用市场页面,此页面基本和 [https://www.halo.run/store/apps](https://www.halo.run/store/apps) 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 ![应用市场](/img/user-guide/app-store/app-store-page.png) @@ -51,7 +51,7 @@ description: 内置应用市场的使用说明 目前部分付费主题和插件需要许可证激活才能够正常使用,在购买付费应用之后就会自动为你的 Halo 官网账号中生成对应的应用许可证,**所以在此之前需要确保已经在你的网站中绑定好了 Halo 官网账号**。 :::info 注意 -当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 。 +当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 [https://www.halo.run](https://www.halo.run)。 ::: 在安装好需要许可证的付费插件或主题后,列表会显示一个许可证状态的图标,点击即可打开许可证激活的对话框,选择许可证并点击激活即可。 diff --git a/versioned_docs/version-2.15/user-guide/attachments.md b/versioned_docs/version-2.15/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.15/user-guide/attachments.md +++ b/versioned_docs/version-2.15/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.15/user-guide/common.md b/versioned_docs/version-2.15/user-guide/common.md index 66687d5..7e2038b 100644 --- a/versioned_docs/version-2.15/user-guide/common.md +++ b/versioned_docs/version-2.15/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.15/user-guide/faq.md b/versioned_docs/version-2.15/user-guide/faq.md index 7cbfc01..8a5fe52 100644 --- a/versioned_docs/version-2.15/user-guide/faq.md +++ b/versioned_docs/version-2.15/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.15/user-guide/plugins.md b/versioned_docs/version-2.15/user-guide/plugins.md index f0f7c4f..401d104 100644 --- a/versioned_docs/version-2.15/user-guide/plugins.md +++ b/versioned_docs/version-2.15/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.15/user-guide/posts.md b/versioned_docs/version-2.15/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.15/user-guide/posts.md +++ b/versioned_docs/version-2.15/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.15/user-guide/themes.md b/versioned_docs/version-2.15/user-guide/themes.md index ce8a61f..3350575 100644 --- a/versioned_docs/version-2.15/user-guide/themes.md +++ b/versioned_docs/version-2.15/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.15/user-guide/users.md b/versioned_docs/version-2.15/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/versioned_docs/version-2.15/user-guide/users.md +++ b/versioned_docs/version-2.15/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/versioned_docs/version-2.16/contribution/issue.md b/versioned_docs/version-2.16/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.16/contribution/issue.md +++ b/versioned_docs/version-2.16/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.16/contribution/sponsor.md b/versioned_docs/version-2.16/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.16/contribution/sponsor.md +++ b/versioned_docs/version-2.16/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.16/developer-guide/core/run.md b/versioned_docs/version-2.16/developer-guide/core/run.md index 6413cb7..21b000e 100644 --- a/versioned_docs/version-2.16/developer-guide/core/run.md +++ b/versioned_docs/version-2.16/developer-guide/core/run.md @@ -117,6 +117,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/versioned_docs/version-2.16/developer-guide/form-schema.md b/versioned_docs/version-2.16/developer-guide/form-schema.md index 744114a..d35a72e 100644 --- a/versioned_docs/version-2.16/developer-guide/form-schema.md +++ b/versioned_docs/version-2.16/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/annotations-form.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/annotations-form.md index 86e31e1..98f4e34 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/annotations-form.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/annotations-form.md @@ -52,4 +52,4 @@ function handleSubmit () { |---------|------------------------------------|---------|-----------------------------------------| | `group` | string | 无,必填 | 定义组件所属的分组。 | | `kind` | string | 无,必填 | 定义组件的种类。 | -| `value` | { [key: string]: string; } \| null | null | 可选,包含键值对的对象或空值,用于存储数据。 | +| `value` | \{ [key: string]: string; \} \| null \| null | 可选,包含键值对的对象或空值,用于存储数据。 | diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md index 945485f..d487938 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md @@ -37,7 +37,7 @@ const items = [ | 属性名 | 类型 | 默认值 | 描述 | |--------------|-----------------------------------------------------------|-----------|--------------------------------------------------| -| `items` | { label: string; value?: string \| boolean \| number; }[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | +| `items` | \{ label: string; value?: string \| boolean \| number; \}[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | | `label` | string | 无,必填 | 组件的标签文本。 | | `modelValue` | string \| boolean \| number | undefined | 可选,用于绑定到组件的值,可以是字符串、布尔值或数字。 | diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/index.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/index.md index e6dc594..a6932c1 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/index.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/index.md @@ -27,7 +27,7 @@ import { VButton } from "@halo-dev/components"; ``` -所有可用的基础组件以及文档可查阅: +所有可用的基础组件以及文档可查阅:[https://halo-ui-components.pages.dev](https://halo-ui-components.pages.dev) ## 业务组件和指令 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/uppy-upload.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/uppy-upload.md index 93c7d66..c58dd8b 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/uppy-upload.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/components/uppy-upload.md @@ -27,7 +27,7 @@ const groupName = ref('my-test-group') | 属性名 | 类型 | 默认值 | 描述 | |---------------------|----------------------------------------------------------------|-----------|------------------------------| | `restrictions` | Restrictions | undefined | 可选,指定任何限制。 | -| `meta` | Record | undefined | 可选,要发送的额外元数据。 | +| `meta` | Record\ | undefined | 可选,要发送的额外元数据。 | | `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 | | `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 | | `endpoint` | string | 无,必填 | 数据发送到的端点URL。 | diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md index d329e3d..dc75dd3 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md @@ -85,7 +85,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-s3](https://github.com/halo-dev/plugin-s3) ## 类型定义 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md index 2f93505..0fa122f 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md @@ -143,4 +143,4 @@ const handleSelect = async (url: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-unsplash](https://github.com/halo-sigs/plugin-unsplash) diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md index b209878..392ec61 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md @@ -111,4 +111,4 @@ const stripHtmlTags = (str: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-moments](https://github.com/halo-sigs/plugin-moments) diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md index bbace23..733dc1f 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md @@ -18,7 +18,7 @@ export default definePlugin({ ``` :::info 提示 -AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 +AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:[https://tiptap.dev/docs/editor/api/extensions](https://tiptap.dev/docs/editor/api/extensions)。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 ::: ### Halo 独有扩展 @@ -60,7 +60,7 @@ export interface ExtensionOptions { ![顶部工具栏扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbar.png) -在 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: ```ts { @@ -130,7 +130,7 @@ addOptions() { ![工具箱扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbox.png) -在 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/27](https://github.com/halo-sigs/richtext-editor/pull/27) 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: ```ts { @@ -201,7 +201,7 @@ Slash Command (斜杠命令)的扩展,可用于在当前行快捷执行功 ![Slash Command 扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-slash-command.png) -在 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: ```ts { @@ -263,7 +263,7 @@ addOptions() { ![悬浮菜单扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-bubble-menu.png) -在 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/38](https://github.com/halo-sigs/richtext-editor/pull/38) 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: ```ts { @@ -296,7 +296,7 @@ interface BubbleMenuProps { from?: number; to?: number; }) => boolean; - tippyOptions?: Record; // 可自由定制悬浮菜单所用的 tippy 组件的选项 + tippyOptions?: Record\; // 可自由定制悬浮菜单所用的 tippy 组件的选项 getRenderContainer?: (node: HTMLElement) => HTMLElement; // 悬浮菜单所基准的 DOM defaultAnimation?: boolean; // 是否启用默认动画。默认为 true } @@ -373,7 +373,7 @@ addOptions() { ![拖拽功能扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-drag.png) -在 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: +在 [https://github.com/halo-sigs/richtext-editor/pull/48](https://github.com/halo-sigs/richtext-editor/pull/48) 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: ```ts { @@ -474,6 +474,6 @@ addOptions() { ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-hybrid-edit-block](https://github.com/halo-sigs/plugin-hybrid-edit-block) +- [https://github.com/halo-sigs/plugin-katex](https://github.com/halo-sigs/plugin-katex) +- [https://github.com/halo-sigs/plugin-text-diagram](https://github.com/halo-sigs/plugin-text-diagram) diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md index 5db1faa..05e8461 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md @@ -179,10 +179,10 @@ code { ``` -> 来源: +> 来源:[https://vuejs.org/examples/#markdown](https://vuejs.org/examples/#markdown) ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-stackedit](https://github.com/halo-sigs/plugin-stackedit) +- [https://github.com/halo-sigs/plugin-bytemd](https://github.com/halo-sigs/plugin-bytemd) +- [https://github.com/justice2001/halo-plugin-vditor](https://github.com/justice2001/halo-plugin-vditor) diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md index 31f6cf9..799ba59 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md @@ -2,7 +2,7 @@ export interface OperationItem { priority: number; // 排序优先级 component: Raw; // 菜单项组件 - props?: Record; // 菜单项组件属性 + props?: Record\; // 菜单项组件属性 action?: (item?: T) => void; // 菜单项点击事件 label?: string; // 菜单项标题 hidden?: boolean; // 菜单项是否隐藏 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md index 3830b9e..d9c0289 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md @@ -33,7 +33,7 @@ export interface PluginInstallationTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface PluginInstallationTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md index 0d67e99..69882c1 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } @@ -71,7 +71,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md index 796dac2..e029783 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md @@ -42,7 +42,7 @@ import OperationItem from "./interface/OperationItem.md"; ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md index 102f2a3..8d8f54c 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md @@ -37,7 +37,7 @@ export interface PluginTab { 其中,`component` 组件可以注入(inject)以下属性: -- `plugin`:当前插件对象,类型为 Ref<[Plugin](#plugin)>。 +- `plugin`:当前插件对象,类型为 Ref\<[Plugin](#plugin)\>。 ## 示例 @@ -77,7 +77,7 @@ const plugin = inject>("plugin"); ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md index 3680af0..3398160 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md index 91ffb08..e87aab4 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md @@ -78,7 +78,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md index 400de61..0c50ab6 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md @@ -33,7 +33,7 @@ export interface ThemeListTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface ThemeListTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.16/developer-guide/plugin/basics/manifest.md b/versioned_docs/version-2.16/developer-guide/plugin/basics/manifest.md index be88fe1..aaabe9a 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/basics/manifest.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/basics/manifest.md @@ -56,7 +56,7 @@ spec: - `spec.issues`:插件问题反馈地址,如果你的插件是开源在 GitHub 上,可以直接配置为 GitHub Issues 地址。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段简短的说明来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 Halo 的插件可以在两种模式下运行:`development` 和 `deployment`。 `deployment`(默认)模式是插件创建的标准工作流程:为每个插件创建一个新的 Gradle 项目,编码插件(声明新的扩展点和/或添加新的扩展),将插件打包成一个 JAR 文件,部署 JAR 文件到 Halo。 diff --git a/versioned_docs/version-2.16/developer-guide/plugin/basics/structure.md b/versioned_docs/version-2.16/developer-guide/plugin/basics/structure.md index ee91176..5e33742 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/basics/structure.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/basics/structure.md @@ -53,7 +53,7 @@ description: 了解插件项目的文件结构 - `resources` 下的 `plugin.yaml` 为插件的资源描述文件,它是必须的,它描述了插件的基本信息,包括插件的名称、版本、作者、描述、依赖等。 - `resources/console` 下的两个文件 `main.js` 和 `style.css` 是前端插件部分打包时输出的产物。一个插件可以没有前端部分,因此 `resources/console` 同样可以不存在。 -:::caution 注意 +:::warning 注意 从 2.11 开始,Halo 支持了 UC 个人中心,且个人中心和 Console 的插件机制共享,所以为了避免歧义,`resources/console` 在后续版本会被重命名为 `resources/ui`,但同时也会兼容 `resources/console`。 ::: diff --git a/versioned_docs/version-2.16/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.16/developer-guide/plugin/examples/todolist.md index c7e17a0..6d3e5f7 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -43,7 +43,7 @@ description: 这个例子展示了如何开发 Todo List 插件 license: - name: "GPL-3.0" url: "https://github.com/halo-dev/plugin-starter/blob/main/LICENSE" - ``` + ``` 参考链接: @@ -85,9 +85,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.16/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.16/developer-guide/plugin/hello-world.md index c0a9ab6..9307554 100644 --- a/versioned_docs/version-2.16/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.16/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上。 diff --git a/versioned_docs/version-2.16/developer-guide/theme/config.md b/versioned_docs/version-2.16/developer-guide/theme/config.md index 5b3d7ff..9ecf62a 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/config.md +++ b/versioned_docs/version-2.16/developer-guide/theme/config.md @@ -79,7 +79,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/category.md index f9c6122..2c3bea5 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -162,7 +162,7 @@ List<[#CategoryTreeVo](#categorytreevo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/post.md index 10a75e1..dc60c60 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -233,7 +233,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -271,7 +271,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -310,7 +310,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -371,13 +371,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -411,7 +411,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.16/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/settings.md b/versioned_docs/version-2.16/developer-guide/theme/settings.md index 7732316..3e2639d 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.16/developer-guide/theme/settings.md @@ -123,7 +123,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.16/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.16/developer-guide/theme/template-variables/archives.md index d929ba6..82436fb 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.16/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.16/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.16/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.16/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.16/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.16/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.16/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.16/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.16/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.16/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.16/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.16/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.16/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.16/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.16/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.16/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.16/getting-started/install/cloud/tencent-cloud-lighthouse.md b/versioned_docs/version-2.16/getting-started/install/cloud/tencent-cloud-lighthouse.md index 7ed3d9a..02e6cd1 100644 --- a/versioned_docs/version-2.16/getting-started/install/cloud/tencent-cloud-lighthouse.md +++ b/versioned_docs/version-2.16/getting-started/install/cloud/tencent-cloud-lighthouse.md @@ -60,7 +60,7 @@ description: 使用腾讯云轻量应用服务器的应用模板部署 Halo ![添加域名](/img/install/tencent-cloud-lighthouse/domain.png) -除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 +除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:[https://demo.halo.run](https://demo.halo.run)),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 ![修改外部访问地址](/img/install/tencent-cloud-lighthouse/external-url.png) diff --git a/versioned_docs/version-2.16/getting-started/install/docker-compose.md b/versioned_docs/version-2.16/getting-started/install/docker-compose.md index 7af319b..4994c46 100644 --- a/versioned_docs/version-2.16/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.16/getting-started/install/docker-compose.md @@ -12,8 +12,8 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -25,234 +25,234 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {23-29,43} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.16 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 - ::: + ```yaml {23-29,43} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.16 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 + ::: 2. 创建 Halo + MySQL 的实例: - ```yaml {23-29,51} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.16 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 - ::: + ```yaml {23-29,51} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.16 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 + ::: 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.16 - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.16 + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {7,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.16 - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {7,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.16 + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: registry.fit2cloud.com/halo/halo:2.16 - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.16/getting-started/install/docker.md b/versioned_docs/version-2.16/getting-started/install/docker.md index fbbfa2b..a37bfca 100644 --- a/versioned_docs/version-2.16/getting-started/install/docker.md +++ b/versioned_docs/version-2.16/getting-started/install/docker.md @@ -10,7 +10,7 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -18,7 +18,7 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -30,50 +30,50 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.16 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.16 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull registry.fit2cloud.com/halo/halo:2.16 - ``` + ```bash + docker pull registry.fit2cloud.com/halo/halo:2.16 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.16 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.16 + ``` diff --git a/versioned_docs/version-2.16/getting-started/install/jar-file.md b/versioned_docs/version-2.16/getting-started/install/jar-file.md index c336fb9..c2c5564 100644 --- a/versioned_docs/version-2.16/getting-started/install/jar-file.md +++ b/versioned_docs/version-2.16/getting-started/install/jar-file.md @@ -58,8 +58,8 @@ title: 使用 JAR 文件部署 :::info 以下是官方维护的下载地址: - 1. - 2. + 1. [https://download.halo.run](https://download.halo.run) + 2. [https://github.com/halo-dev/halo/releases](https://github.com/halo-dev/halo/releases) ::: 4. 创建 [工作目录](../prepare#工作目录) @@ -132,7 +132,7 @@ title: 使用 JAR 文件部署 - DATABASE:数据库名称,如 `halo`,需要提前创建 ::: - :::caution + :::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.16/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.16/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.16/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.16/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.16/getting-started/install/other/traefik.md b/versioned_docs/version-2.16/getting-started/install/other/traefik.md index c6e1d64..d0a7ccd 100644 --- a/versioned_docs/version-2.16/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.16/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.16/getting-started/install/podman.md b/versioned_docs/version-2.16/getting-started/install/podman.md index f9a567e..1c47b72 100644 --- a/versioned_docs/version-2.16/getting-started/install/podman.md +++ b/versioned_docs/version-2.16/getting-started/install/podman.md @@ -37,7 +37,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -55,50 +55,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.16 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.16 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull registry.fit2cloud.com/halo/halo:2.16 - ``` + ```bash + podman pull registry.fit2cloud.com/halo/halo:2.16 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.16 @@ -113,50 +113,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.16 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.16 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -191,34 +191,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.16 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.16 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password --halo.cache.page.disabled=false + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.16/getting-started/install/slots/_docker-args.md b/versioned_docs/version-2.16/getting-started/install/slots/_docker-args.md index c506d8d..8ae6af0 100644 --- a/versioned_docs/version-2.16/getting-started/install/slots/_docker-args.md +++ b/versioned_docs/version-2.16/getting-started/install/slots/_docker-args.md @@ -16,8 +16,8 @@ | MariaDB | `r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}` | mysql | | H2 Database | `r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE` | h2 | -:::caution +:::warning 由于 MariaDB 数据库驱动目前存在问题,使用 MariaDB 数据库时也选择使用 MySQL 驱动,即链接地址格式为 `r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}`。 -详情可见: +详情可见:[https://github.com/halo-dev/halo/issues/5534](https://github.com/halo-dev/halo/issues/5534) ::: diff --git a/versioned_docs/version-2.16/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.16/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.16/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.16/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.16/getting-started/prepare.md b/versioned_docs/version-2.16/getting-started/prepare.md index 6fd4bd7..69b1d78 100644 --- a/versioned_docs/version-2.16/getting-started/prepare.md +++ b/versioned_docs/version-2.16/getting-started/prepare.md @@ -63,7 +63,7 @@ Halo 目前支持以下数据库: 其中,H2 不需要单独运行,其他数据库需要单独安装并配置。一般情况下,推荐按照 [使用 Docker Compose 部署](./install/docker-compose.md) 文档将 Halo 和数据库容器编排在一起。 -:::caution +:::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.16/intro.md b/versioned_docs/version-2.16/intro.md index 3ab5ba3..0037a3c 100644 --- a/versioned_docs/version-2.16/intro.md +++ b/versioned_docs/version-2.16/intro.md @@ -37,12 +37,12 @@ slug: / docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.16 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.16/user-guide/app-store.md b/versioned_docs/version-2.16/user-guide/app-store.md index ef47054..851bce4 100644 --- a/versioned_docs/version-2.16/user-guide/app-store.md +++ b/versioned_docs/version-2.16/user-guide/app-store.md @@ -5,7 +5,7 @@ description: 内置应用市场的使用说明 为了方便使用者安装应用市场的主题和插件,我们提供了一个内置到 Console 的应用市场插件,可以更加方便在 Console 直接安装主题和插件。并且此插件从 Halo 2.10 开始已经预设到 Halo 中,无需手动安装。 -如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 手动下载并在 Console 的插件管理中安装。 +如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 [https://www.halo.run/store/apps/app-VYJbF](https://www.halo.run/store/apps/app-VYJbF) 手动下载并在 Console 的插件管理中安装。 :::info 提示 这是目前唯一由 Halo 官方提供的服务,如果你当前的 Halo 网站处于无法访问外网的环境或者不需要此功能,你可以卸载或者停用此插件,不会影响网站的正常使用。 @@ -13,7 +13,7 @@ description: 内置应用市场的使用说明 ## 应用市场页面 -这是一个为 Console 提供的独立的应用市场页面,此页面基本和 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 +这是一个为 Console 提供的独立的应用市场页面,此页面基本和 [https://www.halo.run/store/apps](https://www.halo.run/store/apps) 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 ![应用市场](/img/user-guide/app-store/app-store-page.png) @@ -51,7 +51,7 @@ description: 内置应用市场的使用说明 目前部分付费主题和插件需要许可证激活才能够正常使用,在购买付费应用之后就会自动为你的 Halo 官网账号中生成对应的应用许可证,**所以在此之前需要确保已经在你的网站中绑定好了 Halo 官网账号**。 :::info 注意 -当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 。 +当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 [https://www.halo.run](https://www.halo.run)。 ::: 在安装好需要许可证的付费插件或主题后,列表会显示一个许可证状态的图标,点击即可打开许可证激活的对话框,选择许可证并点击激活即可。 diff --git a/versioned_docs/version-2.16/user-guide/attachments.md b/versioned_docs/version-2.16/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.16/user-guide/attachments.md +++ b/versioned_docs/version-2.16/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.16/user-guide/common.md b/versioned_docs/version-2.16/user-guide/common.md index 66687d5..7e2038b 100644 --- a/versioned_docs/version-2.16/user-guide/common.md +++ b/versioned_docs/version-2.16/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.16/user-guide/faq.md b/versioned_docs/version-2.16/user-guide/faq.md index 2586b9d..271a027 100644 --- a/versioned_docs/version-2.16/user-guide/faq.md +++ b/versioned_docs/version-2.16/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.16/user-guide/plugins.md b/versioned_docs/version-2.16/user-guide/plugins.md index f0f7c4f..401d104 100644 --- a/versioned_docs/version-2.16/user-guide/plugins.md +++ b/versioned_docs/version-2.16/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.16/user-guide/posts.md b/versioned_docs/version-2.16/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.16/user-guide/posts.md +++ b/versioned_docs/version-2.16/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.16/user-guide/themes.md b/versioned_docs/version-2.16/user-guide/themes.md index ce8a61f..3350575 100644 --- a/versioned_docs/version-2.16/user-guide/themes.md +++ b/versioned_docs/version-2.16/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.16/user-guide/users.md b/versioned_docs/version-2.16/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/versioned_docs/version-2.16/user-guide/users.md +++ b/versioned_docs/version-2.16/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/versioned_docs/version-2.17/contribution/issue.md b/versioned_docs/version-2.17/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.17/contribution/issue.md +++ b/versioned_docs/version-2.17/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.17/contribution/sponsor.md b/versioned_docs/version-2.17/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.17/contribution/sponsor.md +++ b/versioned_docs/version-2.17/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.17/developer-guide/core/run.md b/versioned_docs/version-2.17/developer-guide/core/run.md index 6413cb7..21b000e 100644 --- a/versioned_docs/version-2.17/developer-guide/core/run.md +++ b/versioned_docs/version-2.17/developer-guide/core/run.md @@ -117,6 +117,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/versioned_docs/version-2.17/developer-guide/form-schema.md b/versioned_docs/version-2.17/developer-guide/form-schema.md index f0b48b7..af2011d 100644 --- a/versioned_docs/version-2.17/developer-guide/form-schema.md +++ b/versioned_docs/version-2.17/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/annotations-form.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/annotations-form.md index 86e31e1..98f4e34 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/annotations-form.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/annotations-form.md @@ -52,4 +52,4 @@ function handleSubmit () { |---------|------------------------------------|---------|-----------------------------------------| | `group` | string | 无,必填 | 定义组件所属的分组。 | | `kind` | string | 无,必填 | 定义组件的种类。 | -| `value` | { [key: string]: string; } \| null | null | 可选,包含键值对的对象或空值,用于存储数据。 | +| `value` | \{ [key: string]: string; \} \| null \| null | 可选,包含键值对的对象或空值,用于存储数据。 | diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md index 945485f..d487938 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md @@ -37,7 +37,7 @@ const items = [ | 属性名 | 类型 | 默认值 | 描述 | |--------------|-----------------------------------------------------------|-----------|--------------------------------------------------| -| `items` | { label: string; value?: string \| boolean \| number; }[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | +| `items` | \{ label: string; value?: string \| boolean \| number; \}[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | | `label` | string | 无,必填 | 组件的标签文本。 | | `modelValue` | string \| boolean \| number | undefined | 可选,用于绑定到组件的值,可以是字符串、布尔值或数字。 | diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/index.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/index.md index e6dc594..a6932c1 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/index.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/index.md @@ -27,7 +27,7 @@ import { VButton } from "@halo-dev/components"; ``` -所有可用的基础组件以及文档可查阅: +所有可用的基础组件以及文档可查阅:[https://halo-ui-components.pages.dev](https://halo-ui-components.pages.dev) ## 业务组件和指令 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/uppy-upload.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/uppy-upload.md index 93c7d66..c58dd8b 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/uppy-upload.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/components/uppy-upload.md @@ -27,7 +27,7 @@ const groupName = ref('my-test-group') | 属性名 | 类型 | 默认值 | 描述 | |---------------------|----------------------------------------------------------------|-----------|------------------------------| | `restrictions` | Restrictions | undefined | 可选,指定任何限制。 | -| `meta` | Record | undefined | 可选,要发送的额外元数据。 | +| `meta` | Record\ | undefined | 可选,要发送的额外元数据。 | | `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 | | `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 | | `endpoint` | string | 无,必填 | 数据发送到的端点URL。 | diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md index d329e3d..dc75dd3 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md @@ -85,7 +85,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-s3](https://github.com/halo-dev/plugin-s3) ## 类型定义 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md index 2f93505..0fa122f 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md @@ -143,4 +143,4 @@ const handleSelect = async (url: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-unsplash](https://github.com/halo-sigs/plugin-unsplash) diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md index b209878..392ec61 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md @@ -111,4 +111,4 @@ const stripHtmlTags = (str: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-moments](https://github.com/halo-sigs/plugin-moments) diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md index bbace23..733dc1f 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md @@ -18,7 +18,7 @@ export default definePlugin({ ``` :::info 提示 -AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 +AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:[https://tiptap.dev/docs/editor/api/extensions](https://tiptap.dev/docs/editor/api/extensions)。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 ::: ### Halo 独有扩展 @@ -60,7 +60,7 @@ export interface ExtensionOptions { ![顶部工具栏扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbar.png) -在 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: ```ts { @@ -130,7 +130,7 @@ addOptions() { ![工具箱扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbox.png) -在 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/27](https://github.com/halo-sigs/richtext-editor/pull/27) 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: ```ts { @@ -201,7 +201,7 @@ Slash Command (斜杠命令)的扩展,可用于在当前行快捷执行功 ![Slash Command 扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-slash-command.png) -在 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: ```ts { @@ -263,7 +263,7 @@ addOptions() { ![悬浮菜单扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-bubble-menu.png) -在 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/38](https://github.com/halo-sigs/richtext-editor/pull/38) 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: ```ts { @@ -296,7 +296,7 @@ interface BubbleMenuProps { from?: number; to?: number; }) => boolean; - tippyOptions?: Record; // 可自由定制悬浮菜单所用的 tippy 组件的选项 + tippyOptions?: Record\; // 可自由定制悬浮菜单所用的 tippy 组件的选项 getRenderContainer?: (node: HTMLElement) => HTMLElement; // 悬浮菜单所基准的 DOM defaultAnimation?: boolean; // 是否启用默认动画。默认为 true } @@ -373,7 +373,7 @@ addOptions() { ![拖拽功能扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-drag.png) -在 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: +在 [https://github.com/halo-sigs/richtext-editor/pull/48](https://github.com/halo-sigs/richtext-editor/pull/48) 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: ```ts { @@ -474,6 +474,6 @@ addOptions() { ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-hybrid-edit-block](https://github.com/halo-sigs/plugin-hybrid-edit-block) +- [https://github.com/halo-sigs/plugin-katex](https://github.com/halo-sigs/plugin-katex) +- [https://github.com/halo-sigs/plugin-text-diagram](https://github.com/halo-sigs/plugin-text-diagram) diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md index 5db1faa..05e8461 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md @@ -179,10 +179,10 @@ code { ``` -> 来源: +> 来源:[https://vuejs.org/examples/#markdown](https://vuejs.org/examples/#markdown) ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-stackedit](https://github.com/halo-sigs/plugin-stackedit) +- [https://github.com/halo-sigs/plugin-bytemd](https://github.com/halo-sigs/plugin-bytemd) +- [https://github.com/justice2001/halo-plugin-vditor](https://github.com/justice2001/halo-plugin-vditor) diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md index 31f6cf9..799ba59 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md @@ -2,7 +2,7 @@ export interface OperationItem { priority: number; // 排序优先级 component: Raw; // 菜单项组件 - props?: Record; // 菜单项组件属性 + props?: Record\; // 菜单项组件属性 action?: (item?: T) => void; // 菜单项点击事件 label?: string; // 菜单项标题 hidden?: boolean; // 菜单项是否隐藏 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md index 3830b9e..d9c0289 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md @@ -33,7 +33,7 @@ export interface PluginInstallationTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface PluginInstallationTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md index 0d67e99..69882c1 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } @@ -71,7 +71,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md index 796dac2..e029783 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md @@ -42,7 +42,7 @@ import OperationItem from "./interface/OperationItem.md"; ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md index 102f2a3..8d8f54c 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md @@ -37,7 +37,7 @@ export interface PluginTab { 其中,`component` 组件可以注入(inject)以下属性: -- `plugin`:当前插件对象,类型为 Ref<[Plugin](#plugin)>。 +- `plugin`:当前插件对象,类型为 Ref\<[Plugin](#plugin)\>。 ## 示例 @@ -77,7 +77,7 @@ const plugin = inject>("plugin"); ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md index 3680af0..3398160 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md index 91ffb08..e87aab4 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md @@ -78,7 +78,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md index 400de61..0c50ab6 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md @@ -33,7 +33,7 @@ export interface ThemeListTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface ThemeListTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.17/developer-guide/plugin/basics/manifest.md b/versioned_docs/version-2.17/developer-guide/plugin/basics/manifest.md index be88fe1..aaabe9a 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/basics/manifest.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/basics/manifest.md @@ -56,7 +56,7 @@ spec: - `spec.issues`:插件问题反馈地址,如果你的插件是开源在 GitHub 上,可以直接配置为 GitHub Issues 地址。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段简短的说明来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 Halo 的插件可以在两种模式下运行:`development` 和 `deployment`。 `deployment`(默认)模式是插件创建的标准工作流程:为每个插件创建一个新的 Gradle 项目,编码插件(声明新的扩展点和/或添加新的扩展),将插件打包成一个 JAR 文件,部署 JAR 文件到 Halo。 diff --git a/versioned_docs/version-2.17/developer-guide/plugin/basics/structure.md b/versioned_docs/version-2.17/developer-guide/plugin/basics/structure.md index ee91176..5e33742 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/basics/structure.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/basics/structure.md @@ -53,7 +53,7 @@ description: 了解插件项目的文件结构 - `resources` 下的 `plugin.yaml` 为插件的资源描述文件,它是必须的,它描述了插件的基本信息,包括插件的名称、版本、作者、描述、依赖等。 - `resources/console` 下的两个文件 `main.js` 和 `style.css` 是前端插件部分打包时输出的产物。一个插件可以没有前端部分,因此 `resources/console` 同样可以不存在。 -:::caution 注意 +:::warning 注意 从 2.11 开始,Halo 支持了 UC 个人中心,且个人中心和 Console 的插件机制共享,所以为了避免歧义,`resources/console` 在后续版本会被重命名为 `resources/ui`,但同时也会兼容 `resources/console`。 ::: diff --git a/versioned_docs/version-2.17/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.17/developer-guide/plugin/examples/todolist.md index be702c5..914e902 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -43,7 +43,7 @@ description: 这个例子展示了如何开发 Todo List 插件 license: - name: "GPL-3.0" url: "https://github.com/halo-dev/plugin-starter/blob/main/LICENSE" - ``` + ``` 参考链接: @@ -85,9 +85,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.17/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.17/developer-guide/plugin/hello-world.md index c0a9ab6..9307554 100644 --- a/versioned_docs/version-2.17/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.17/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上。 diff --git a/versioned_docs/version-2.17/developer-guide/theme/config.md b/versioned_docs/version-2.17/developer-guide/theme/config.md index 5b3d7ff..9ecf62a 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/config.md +++ b/versioned_docs/version-2.17/developer-guide/theme/config.md @@ -79,7 +79,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/category.md index 4a636f5..8b83cdb 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -172,7 +172,7 @@ categoryFinder.getBreadcrumbs('category-foo') ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -191,7 +191,7 @@ List<[#CategoryVo](#categoryvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/post.md index 10a75e1..dc60c60 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -233,7 +233,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -271,7 +271,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -310,7 +310,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -371,13 +371,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -411,7 +411,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.17/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/settings.md b/versioned_docs/version-2.17/developer-guide/theme/settings.md index 7732316..3e2639d 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.17/developer-guide/theme/settings.md @@ -123,7 +123,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.17/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.17/developer-guide/theme/template-variables/archives.md index d929ba6..82436fb 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.17/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.17/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.17/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.17/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.17/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.17/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.17/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.17/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.17/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.17/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.17/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.17/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.17/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.17/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.17/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.17/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.17/getting-started/install/cloud/tencent-cloud-lighthouse.md b/versioned_docs/version-2.17/getting-started/install/cloud/tencent-cloud-lighthouse.md index 482c4cf..af0db0a 100644 --- a/versioned_docs/version-2.17/getting-started/install/cloud/tencent-cloud-lighthouse.md +++ b/versioned_docs/version-2.17/getting-started/install/cloud/tencent-cloud-lighthouse.md @@ -64,7 +64,7 @@ description: 使用腾讯云轻量应用服务器的应用模板部署 Halo ![添加域名](/img/install/tencent-cloud-lighthouse/domain.png) -除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 +除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:[https://demo.halo.run](https://demo.halo.run)),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 ![修改外部访问地址](/img/install/tencent-cloud-lighthouse/external-url.png) diff --git a/versioned_docs/version-2.17/getting-started/install/docker-compose.md b/versioned_docs/version-2.17/getting-started/install/docker-compose.md index f1b158c..1468fff 100644 --- a/versioned_docs/version-2.17/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.17/getting-started/install/docker-compose.md @@ -12,8 +12,8 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -25,234 +25,234 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {23-29,43} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.17 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 - ::: + ```yaml {23-29,43} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.17 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 + ::: 2. 创建 Halo + MySQL 的实例: - ```yaml {23-29,51} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.17 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 - ::: + ```yaml {23-29,51} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.17 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 + ::: 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.17 - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.17 + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {7,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.17 - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {7,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.17 + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: registry.fit2cloud.com/halo/halo:2.17 - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.17/getting-started/install/docker.md b/versioned_docs/version-2.17/getting-started/install/docker.md index 8fb6bfd..4a02e19 100644 --- a/versioned_docs/version-2.17/getting-started/install/docker.md +++ b/versioned_docs/version-2.17/getting-started/install/docker.md @@ -10,7 +10,7 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -18,7 +18,7 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -30,50 +30,50 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.17 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.17 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull registry.fit2cloud.com/halo/halo:2.17 - ``` + ```bash + docker pull registry.fit2cloud.com/halo/halo:2.17 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.17 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.17 + ``` diff --git a/versioned_docs/version-2.17/getting-started/install/jar-file.md b/versioned_docs/version-2.17/getting-started/install/jar-file.md index ce1e8e6..4004b3e 100644 --- a/versioned_docs/version-2.17/getting-started/install/jar-file.md +++ b/versioned_docs/version-2.17/getting-started/install/jar-file.md @@ -58,8 +58,8 @@ title: 使用 JAR 文件部署 :::info 以下是官方维护的下载地址: - 1. - 2. + 1. [https://download.halo.run](https://download.halo.run) + 2. [https://github.com/halo-dev/halo/releases](https://github.com/halo-dev/halo/releases) ::: 4. 创建 [工作目录](../prepare#工作目录) @@ -132,7 +132,7 @@ title: 使用 JAR 文件部署 - DATABASE:数据库名称,如 `halo`,需要提前创建 ::: - :::caution + :::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.17/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.17/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.17/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.17/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.17/getting-started/install/other/traefik.md b/versioned_docs/version-2.17/getting-started/install/other/traefik.md index b7d5af2..e3e3035 100644 --- a/versioned_docs/version-2.17/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.17/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.17/getting-started/install/podman.md b/versioned_docs/version-2.17/getting-started/install/podman.md index 13bf85d..9432ccd 100644 --- a/versioned_docs/version-2.17/getting-started/install/podman.md +++ b/versioned_docs/version-2.17/getting-started/install/podman.md @@ -37,7 +37,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -55,50 +55,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.17 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.17 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull registry.fit2cloud.com/halo/halo:2.17 - ``` + ```bash + podman pull registry.fit2cloud.com/halo/halo:2.17 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.17 @@ -113,50 +113,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.17 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.17 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -191,34 +191,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.17 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.17 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.17/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.17/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.17/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.17/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.17/getting-started/prepare.md b/versioned_docs/version-2.17/getting-started/prepare.md index 6fd4bd7..69b1d78 100644 --- a/versioned_docs/version-2.17/getting-started/prepare.md +++ b/versioned_docs/version-2.17/getting-started/prepare.md @@ -63,7 +63,7 @@ Halo 目前支持以下数据库: 其中,H2 不需要单独运行,其他数据库需要单独安装并配置。一般情况下,推荐按照 [使用 Docker Compose 部署](./install/docker-compose.md) 文档将 Halo 和数据库容器编排在一起。 -:::caution +:::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.17/intro.md b/versioned_docs/version-2.17/intro.md index c720ede..4f401d2 100644 --- a/versioned_docs/version-2.17/intro.md +++ b/versioned_docs/version-2.17/intro.md @@ -37,12 +37,12 @@ slug: / docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.17 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.17/user-guide/app-store.md b/versioned_docs/version-2.17/user-guide/app-store.md index ef47054..851bce4 100644 --- a/versioned_docs/version-2.17/user-guide/app-store.md +++ b/versioned_docs/version-2.17/user-guide/app-store.md @@ -5,7 +5,7 @@ description: 内置应用市场的使用说明 为了方便使用者安装应用市场的主题和插件,我们提供了一个内置到 Console 的应用市场插件,可以更加方便在 Console 直接安装主题和插件。并且此插件从 Halo 2.10 开始已经预设到 Halo 中,无需手动安装。 -如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 手动下载并在 Console 的插件管理中安装。 +如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 [https://www.halo.run/store/apps/app-VYJbF](https://www.halo.run/store/apps/app-VYJbF) 手动下载并在 Console 的插件管理中安装。 :::info 提示 这是目前唯一由 Halo 官方提供的服务,如果你当前的 Halo 网站处于无法访问外网的环境或者不需要此功能,你可以卸载或者停用此插件,不会影响网站的正常使用。 @@ -13,7 +13,7 @@ description: 内置应用市场的使用说明 ## 应用市场页面 -这是一个为 Console 提供的独立的应用市场页面,此页面基本和 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 +这是一个为 Console 提供的独立的应用市场页面,此页面基本和 [https://www.halo.run/store/apps](https://www.halo.run/store/apps) 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 ![应用市场](/img/user-guide/app-store/app-store-page.png) @@ -51,7 +51,7 @@ description: 内置应用市场的使用说明 目前部分付费主题和插件需要许可证激活才能够正常使用,在购买付费应用之后就会自动为你的 Halo 官网账号中生成对应的应用许可证,**所以在此之前需要确保已经在你的网站中绑定好了 Halo 官网账号**。 :::info 注意 -当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 。 +当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 [https://www.halo.run](https://www.halo.run)。 ::: 在安装好需要许可证的付费插件或主题后,列表会显示一个许可证状态的图标,点击即可打开许可证激活的对话框,选择许可证并点击激活即可。 diff --git a/versioned_docs/version-2.17/user-guide/attachments.md b/versioned_docs/version-2.17/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.17/user-guide/attachments.md +++ b/versioned_docs/version-2.17/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.17/user-guide/common.md b/versioned_docs/version-2.17/user-guide/common.md index 66687d5..7e2038b 100644 --- a/versioned_docs/version-2.17/user-guide/common.md +++ b/versioned_docs/version-2.17/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.17/user-guide/faq.md b/versioned_docs/version-2.17/user-guide/faq.md index 79273b0..37c9d5d 100644 --- a/versioned_docs/version-2.17/user-guide/faq.md +++ b/versioned_docs/version-2.17/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.17/user-guide/plugins.md b/versioned_docs/version-2.17/user-guide/plugins.md index f0f7c4f..401d104 100644 --- a/versioned_docs/version-2.17/user-guide/plugins.md +++ b/versioned_docs/version-2.17/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.17/user-guide/posts.md b/versioned_docs/version-2.17/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.17/user-guide/posts.md +++ b/versioned_docs/version-2.17/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.17/user-guide/themes.md b/versioned_docs/version-2.17/user-guide/themes.md index ce8a61f..3350575 100644 --- a/versioned_docs/version-2.17/user-guide/themes.md +++ b/versioned_docs/version-2.17/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.17/user-guide/users.md b/versioned_docs/version-2.17/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/versioned_docs/version-2.17/user-guide/users.md +++ b/versioned_docs/version-2.17/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。 diff --git a/versioned_docs/version-2.18/contribution/issue.md b/versioned_docs/version-2.18/contribution/issue.md index 6ab45dd..f118485 100644 --- a/versioned_docs/version-2.18/contribution/issue.md +++ b/versioned_docs/version-2.18/contribution/issue.md @@ -9,7 +9,7 @@ description: 问题反馈渠道及指南 ## GitHub Issues -链接: +链接:[https://github.com/halo-dev/halo/issues](https://github.com/halo-dev/halo/issues) 如果你在使用过程中,遇到了一些 bug 或者需要添加某些新特性,请尽量在 GitHub Issues 进行反馈,这非常有助于我们跟踪解决此问题,您也可以很方便的接收到处理状态。 @@ -23,6 +23,6 @@ description: 问题反馈渠道及指南 ## Halo 官方社区 -链接: +链接:[https://bbs.halo.run](https://bbs.halo.run) 此平台主要目的用于与其他 Halo 用户进行交流。但如果您对 GitHub 不是很熟悉或者没有账号,您也可以在此平台进行反馈。 diff --git a/versioned_docs/version-2.18/contribution/sponsor.md b/versioned_docs/version-2.18/contribution/sponsor.md index 19bc2c8..eede34e 100644 --- a/versioned_docs/version-2.18/contribution/sponsor.md +++ b/versioned_docs/version-2.18/contribution/sponsor.md @@ -15,12 +15,12 @@ description: 如果 Halo 对你有帮助,不妨赞助我们 ### 资金赞助 -- 爱发电: +- 爱发电:[https://afdian.com/a/halo-dev](https://afdian.com/a/halo-dev) ### 通过我们的推广链接购买服务器 如果你当前还没有购买服务器,可以考虑通过以下链接购买,这会为我们带来一部分收益。 -- 阿里云: -- 阿里云新人专享: -- 腾讯云: +- 阿里云:[https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=j57gyupo) +- 阿里云新人专享:[https://www.aliyun.com/minisite/goods?userCode=j57gyupo](https://www.aliyun.com/minisite/goods?userCode=j57gyupo) +- 腾讯云:[https://curl.qcloud.com/9Ogon25Y](https://curl.qcloud.com/9Ogon25Y) diff --git a/versioned_docs/version-2.18/developer-guide/core/run.md b/versioned_docs/version-2.18/developer-guide/core/run.md index 6413cb7..21b000e 100644 --- a/versioned_docs/version-2.18/developer-guide/core/run.md +++ b/versioned_docs/version-2.18/developer-guide/core/run.md @@ -117,6 +117,6 @@ halo: ``` 6. 最终提供以下访问地址: - 1. 网站首页: - 2. Console 控制台: - 3. UC 个人中心: + 1. 网站首页:[http://localhost:8090](http://localhost:8090) + 2. Console 控制台:[http://localhost:8090/console](http://localhost:8090/console) + 3. UC 个人中心:[http://localhost:8090/uc](http://localhost:8090/uc) diff --git a/versioned_docs/version-2.18/developer-guide/form-schema.md b/versioned_docs/version-2.18/developer-guide/form-schema.md index f0b48b7..af2011d 100644 --- a/versioned_docs/version-2.18/developer-guide/form-schema.md +++ b/versioned_docs/version-2.18/developer-guide/form-schema.md @@ -8,8 +8,8 @@ title: 表单定义 FormKit 相关文档: -- Form Schema: -- FormKit Inputs: +- Form Schema: [https://formkit.com/essentials/schema](https://formkit.com/essentials/schema) +- FormKit Inputs: [https://formkit.com/inputs](https://formkit.com/inputs) :::tip 目前不支持 FormKit Pro 中的输入组件,但 Halo 额外提供了部分输入组件,将在下面文档列出。 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/annotations-form.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/annotations-form.md index 86e31e1..98f4e34 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/annotations-form.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/annotations-form.md @@ -52,4 +52,4 @@ function handleSubmit () { |---------|------------------------------------|---------|-----------------------------------------| | `group` | string | 无,必填 | 定义组件所属的分组。 | | `kind` | string | 无,必填 | 定义组件的种类。 | -| `value` | { [key: string]: string; } \| null | null | 可选,包含键值对的对象或空值,用于存储数据。 | +| `value` | \{ [key: string]: string; \} \| null \| null | 可选,包含键值对的对象或空值,用于存储数据。 | diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md index 945485f..d487938 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/filter-dropdown.md @@ -37,7 +37,7 @@ const items = [ | 属性名 | 类型 | 默认值 | 描述 | |--------------|-----------------------------------------------------------|-----------|--------------------------------------------------| -| `items` | { label: string; value?: string \| boolean \| number; }[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | +| `items` | \{ label: string; value?: string \| boolean \| number; \}[] | 无,必填 | 包含 `label` 和可选 `value` 的对象数组。 | | `label` | string | 无,必填 | 组件的标签文本。 | | `modelValue` | string \| boolean \| number | undefined | 可选,用于绑定到组件的值,可以是字符串、布尔值或数字。 | diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/index.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/index.md index e6dc594..a6932c1 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/index.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/index.md @@ -27,7 +27,7 @@ import { VButton } from "@halo-dev/components"; ``` -所有可用的基础组件以及文档可查阅: +所有可用的基础组件以及文档可查阅:[https://halo-ui-components.pages.dev](https://halo-ui-components.pages.dev) ## 业务组件和指令 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/uppy-upload.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/uppy-upload.md index 93c7d66..c58dd8b 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/uppy-upload.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/components/uppy-upload.md @@ -27,7 +27,7 @@ const groupName = ref('my-test-group') | 属性名 | 类型 | 默认值 | 描述 | |---------------------|----------------------------------------------------------------|-----------|------------------------------| | `restrictions` | Restrictions | undefined | 可选,指定任何限制。 | -| `meta` | Record | undefined | 可选,要发送的额外元数据。 | +| `meta` | Record\ | undefined | 可选,要发送的额外元数据。 | | `autoProceed` | boolean | false | 可选,在某些操作后自动继续。 | | `allowedMetaFields` | string[] | undefined | 可选,指定允许的元数据字段。 | | `endpoint` | string | 无,必填 | 数据发送到的端点URL。 | diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md index d329e3d..dc75dd3 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/attachment-list-item-operation-create.md @@ -85,7 +85,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-s3](https://github.com/halo-dev/plugin-s3) ## 类型定义 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md index 2f93505..0fa122f 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/attachment-selector-create.md @@ -143,4 +143,4 @@ const handleSelect = async (url: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-unsplash](https://github.com/halo-sigs/plugin-unsplash) diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md index b209878..392ec61 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/comment-subject-ref-create.md @@ -111,4 +111,4 @@ const stripHtmlTags = (str: string) => { ## 实现案例 -- +- [https://github.com/halo-sigs/plugin-moments](https://github.com/halo-sigs/plugin-moments) diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md index bbace23..733dc1f 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-create.md @@ -18,7 +18,7 @@ export default definePlugin({ ``` :::info 提示 -AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 +AnyExtension 类型来自 [Tiptap](https://github.com/ueberdosis/tiptap),这意味着 Halo 默认编辑器的扩展点返回类型与 Tiptap 的扩展完全一致,Tiptap 的扩展文档可参考:[https://tiptap.dev/docs/editor/api/extensions](https://tiptap.dev/docs/editor/api/extensions)。此外,Halo 也为默认编辑器的扩展提供了一些独有的参数,用于实现工具栏、指令等扩展。 ::: ### Halo 独有扩展 @@ -60,7 +60,7 @@ export interface ExtensionOptions { ![顶部工具栏扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbar.png) -在 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对顶部工具栏的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolbarItems` 函数即可,如: ```ts { @@ -130,7 +130,7 @@ addOptions() { ![工具箱扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-toolbox.png) -在 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/27](https://github.com/halo-sigs/richtext-editor/pull/27) 中,我们实现了对编辑器工具箱区域的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getToolboxItems` 函数即可,如: ```ts { @@ -201,7 +201,7 @@ Slash Command (斜杠命令)的扩展,可用于在当前行快捷执行功 ![Slash Command 扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-slash-command.png) -在 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/16](https://github.com/halo-sigs/richtext-editor/pull/16) 中,我们实现了对 Slash Command 指令的扩展,如果需要添加额外的功能,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getCommandMenuItems` 函数即可,如: ```ts { @@ -263,7 +263,7 @@ addOptions() { ![悬浮菜单扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-bubble-menu.png) -在 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: +在 [https://github.com/halo-sigs/richtext-editor/pull/38](https://github.com/halo-sigs/richtext-editor/pull/38) 中,我们重构了对编辑器悬浮区域的扩展,如果需要对某个块进行支持,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getBubbleMenu` 函数即可,如: ```ts { @@ -296,7 +296,7 @@ interface BubbleMenuProps { from?: number; to?: number; }) => boolean; - tippyOptions?: Record; // 可自由定制悬浮菜单所用的 tippy 组件的选项 + tippyOptions?: Record\; // 可自由定制悬浮菜单所用的 tippy 组件的选项 getRenderContainer?: (node: HTMLElement) => HTMLElement; // 悬浮菜单所基准的 DOM defaultAnimation?: boolean; // 是否启用默认动画。默认为 true } @@ -373,7 +373,7 @@ addOptions() { ![拖拽功能扩展](/img/developer-guide/plugin/api-reference/ui/extension-points/default-editor-extension-drag.png) -在 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: +在 [https://github.com/halo-sigs/richtext-editor/pull/48](https://github.com/halo-sigs/richtext-editor/pull/48) 中,我们实现了对所有元素的拖拽功能,如果需要让当前扩展支持拖拽,只需要在具体的 Tiptap Extension 中的 `addOptions` 中定义 `getDraggable` 函数,并让其返回 true 即可。如: ```ts { @@ -474,6 +474,6 @@ addOptions() { ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-hybrid-edit-block](https://github.com/halo-sigs/plugin-hybrid-edit-block) +- [https://github.com/halo-sigs/plugin-katex](https://github.com/halo-sigs/plugin-katex) +- [https://github.com/halo-sigs/plugin-text-diagram](https://github.com/halo-sigs/plugin-text-diagram) diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md index 5db1faa..05e8461 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/editor-create.md @@ -179,10 +179,10 @@ code { ``` -> 来源: +> 来源:[https://vuejs.org/examples/#markdown](https://vuejs.org/examples/#markdown) ## 实现案例 -- -- -- +- [https://github.com/halo-sigs/plugin-stackedit](https://github.com/halo-sigs/plugin-stackedit) +- [https://github.com/halo-sigs/plugin-bytemd](https://github.com/halo-sigs/plugin-bytemd) +- [https://github.com/justice2001/halo-plugin-vditor](https://github.com/justice2001/halo-plugin-vditor) diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md index 31f6cf9..799ba59 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/interface/OperationItem.md @@ -2,7 +2,7 @@ export interface OperationItem { priority: number; // 排序优先级 component: Raw; // 菜单项组件 - props?: Record; // 菜单项组件属性 + props?: Record\; // 菜单项组件属性 action?: (item?: T) => void; // 菜单项点击事件 label?: string; // 菜单项标题 hidden?: boolean; // 菜单项是否隐藏 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md index 3830b9e..d9c0289 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-installation-tabs-create.md @@ -33,7 +33,7 @@ export interface PluginInstallationTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface PluginInstallationTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md index 0d67e99..69882c1 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } @@ -71,7 +71,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md index 796dac2..e029783 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-list-item-operation-create.md @@ -42,7 +42,7 @@ import OperationItem from "./interface/OperationItem.md"; ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md index 102f2a3..8d8f54c 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/plugin-self-tabs-create.md @@ -37,7 +37,7 @@ export interface PluginTab { 其中,`component` 组件可以注入(inject)以下属性: -- `plugin`:当前插件对象,类型为 Ref<[Plugin](#plugin)>。 +- `plugin`:当前插件对象,类型为 Ref\<[Plugin](#plugin)\>。 ## 示例 @@ -77,7 +77,7 @@ const plugin = inject>("plugin"); ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md index 3680af0..3398160 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/post-list-item-field-create.md @@ -33,7 +33,7 @@ export interface EntityFieldItem { priority: number; position: "start" | "end"; component: Raw; - props?: Record; + props?: Record\; permissions?: string[]; hidden?: boolean; } diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md index 91ffb08..e87aab4 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/theme-list-item-operation-create.md @@ -78,7 +78,7 @@ export default definePlugin({ ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) ## 类型定义 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md index 400de61..0c50ab6 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/api-reference/ui/extension-points/theme-list-tabs-create.md @@ -33,7 +33,7 @@ export interface ThemeListTab { id: string; // 选项卡 ID label: string; // 选项卡标题 component: Raw; // 选项卡面板组件 - props?: Record; // 选项卡面板组件属性 + props?: Record\; // 选项卡面板组件属性 permissions?: string[]; // 选项卡 UI 权限 priority: number; // 选项卡排序优先级 } @@ -41,4 +41,4 @@ export interface ThemeListTab { ## 实现案例 -- +- [https://github.com/halo-dev/plugin-app-store](https://github.com/halo-dev/plugin-app-store) diff --git a/versioned_docs/version-2.18/developer-guide/plugin/basics/manifest.md b/versioned_docs/version-2.18/developer-guide/plugin/basics/manifest.md index be88fe1..aaabe9a 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/basics/manifest.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/basics/manifest.md @@ -56,7 +56,7 @@ spec: - `spec.issues`:插件问题反馈地址,如果你的插件是开源在 GitHub 上,可以直接配置为 GitHub Issues 地址。 - `spec.displayName`:插件的显示名称,它通常是以少数几个字来概括插件的用途。 - `spec.description`:插件描述,用一段简短的说明来介绍插件的用途。 -- `spec.license`:插件使用的软件协议,参考:。 +- `spec.license`:插件使用的软件协议,参考:[https://en.wikipedia.org/wiki/Software_license](https://en.wikipedia.org/wiki/Software_license)。 Halo 的插件可以在两种模式下运行:`development` 和 `deployment`。 `deployment`(默认)模式是插件创建的标准工作流程:为每个插件创建一个新的 Gradle 项目,编码插件(声明新的扩展点和/或添加新的扩展),将插件打包成一个 JAR 文件,部署 JAR 文件到 Halo。 diff --git a/versioned_docs/version-2.18/developer-guide/plugin/basics/structure.md b/versioned_docs/version-2.18/developer-guide/plugin/basics/structure.md index ee91176..5e33742 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/basics/structure.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/basics/structure.md @@ -53,7 +53,7 @@ description: 了解插件项目的文件结构 - `resources` 下的 `plugin.yaml` 为插件的资源描述文件,它是必须的,它描述了插件的基本信息,包括插件的名称、版本、作者、描述、依赖等。 - `resources/console` 下的两个文件 `main.js` 和 `style.css` 是前端插件部分打包时输出的产物。一个插件可以没有前端部分,因此 `resources/console` 同样可以不存在。 -:::caution 注意 +:::warning 注意 从 2.11 开始,Halo 支持了 UC 个人中心,且个人中心和 Console 的插件机制共享,所以为了避免歧义,`resources/console` 在后续版本会被重命名为 `resources/ui`,但同时也会兼容 `resources/console`。 ::: diff --git a/versioned_docs/version-2.18/developer-guide/plugin/examples/todolist.md b/versioned_docs/version-2.18/developer-guide/plugin/examples/todolist.md index be702c5..914e902 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/examples/todolist.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/examples/todolist.md @@ -11,24 +11,24 @@ description: 这个例子展示了如何开发 Todo List 插件 1. 修改 `build.gradle` 中的 `group` 为你自己的,如: - ```groovy - group = 'run.halo.tutorial' - ``` + ```groovy + group = 'run.halo.tutorial' + ``` 2. 修改 `settings.gradle` 中的 `rootProject.name` - ```groovy - rootProject.name = 'halo-plugin-todolist' - ``` + ```groovy + rootProject.name = 'halo-plugin-todolist' + ``` 3. 修改插件的描述文件 `plugin.yaml`,它位于 `src/main/resources/plugin.yaml`。示例: - ```yaml - apiVersion: plugin.halo.run/v1alpha1 - kind: Plugin - metadata: + ```yaml + apiVersion: plugin.halo.run/v1alpha1 + kind: Plugin + metadata: name: todolist - spec: + spec: enabled: true requires: ">=2.0.0" author: @@ -43,7 +43,7 @@ description: 这个例子展示了如何开发 Todo List 插件 license: - name: "GPL-3.0" url: "https://github.com/halo-dev/plugin-starter/blob/main/LICENSE" - ``` + ``` 参考链接: @@ -85,9 +85,9 @@ description: 这个例子展示了如何开发 Todo List 插件 2. 然后在项目目录执行命令 - ```shell - ./gradlew build - ``` + ```shell + ./gradlew build + ``` 3. 使用 `IntelliJ IDEA` 打开 Halo,参考 [Halo 开发环境运行](../../core/run.md) 及 [插件入门](../hello-world.md) 配置插件的运行模式和路径: diff --git a/versioned_docs/version-2.18/developer-guide/plugin/hello-world.md b/versioned_docs/version-2.18/developer-guide/plugin/hello-world.md index c0a9ab6..9307554 100644 --- a/versioned_docs/version-2.18/developer-guide/plugin/hello-world.md +++ b/versioned_docs/version-2.18/developer-guide/plugin/hello-world.md @@ -9,12 +9,12 @@ description: 了解如何构建你的第一个插件并在 Halo 中使用它。 1. 打开 [halo-dev/plugin-starter](https://github.com/halo-dev/plugin-starter)。 - > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 + > 这是一个插件的初始模板,你可以基于它来开发自己的插件。 2. 点击 `Use this template` -> `Create a new repository`。 3. 如图所示填写仓库名后点击 `Create repository from template`。 - ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) + ![create-repository-for-hello-world-plugin](/img/create-repository-for-hello-world-plugin.png) 你现在已经基于 Halo 插件模板创建了自己的存储库。接下来,你需要将它克隆到你的计算机上。 diff --git a/versioned_docs/version-2.18/developer-guide/theme/config.md b/versioned_docs/version-2.18/developer-guide/theme/config.md index 5b3d7ff..9ecf62a 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/config.md +++ b/versioned_docs/version-2.18/developer-guide/theme/config.md @@ -79,7 +79,7 @@ spec: 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/category.md b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/category.md index 4a636f5..8b83cdb 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/category.md +++ b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/category.md @@ -48,7 +48,7 @@ categoryFinder.getByNames(names) ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -75,7 +75,7 @@ categoryFinder.list(page,size) ### 返回值 -[#ListResult](#listresultcategoryvo) +[#ListResult\](#listresultcategoryvo) ### 示例 @@ -103,7 +103,7 @@ categoryFinder.listAll() ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -131,7 +131,7 @@ categoryFinder.listAsTree() ### 返回值 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> ### 示例 @@ -172,7 +172,7 @@ categoryFinder.getBreadcrumbs('category-foo') ### 返回值 -List<[#CategoryVo](#categoryvo)> +List\<[#CategoryVo](#categoryvo)\> ### 示例 @@ -191,7 +191,7 @@ List<[#CategoryVo](#categoryvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/comment.md b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/comment.md index 580085b..9e42f8b 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/comment.md +++ b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/comment.md @@ -53,7 +53,7 @@ commentFinder.list(ref,page,size) ### 返回值 -[#ListResult](#listresultcommentvo) +[#ListResult\](#listresultcommentvo) ### 示例 @@ -84,7 +84,7 @@ commentFinder.listReply(commentName,page,size) ### 返回值 -[#ListResult](#listresultreplyvo) +[#ListResult\](#listresultreplyvo) ### 示例 @@ -103,7 +103,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -125,7 +125,7 @@ commentFinder.listReply(commentName,page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/contributor.md b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/contributor.md index 96ece1b..c39db57 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/contributor.md +++ b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/contributor.md @@ -47,7 +47,7 @@ contributorFinder.getContributors(names) ### 返回值 -List<[#ContributorVo](#contributorvo)> +List\<[#ContributorVo](#contributorvo)\> ### 示例 diff --git a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/post.md b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/post.md index 0fa1734..1f63c24 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/post.md +++ b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/post.md @@ -115,7 +115,7 @@ postFinder.listAll(); ### 返回值 -List<[#ListedPostVo](#listedpostvo)> +List\<[#ListedPostVo](#listedpostvo)\> ### 示例 @@ -144,7 +144,7 @@ postFinder.list(page, size); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -174,7 +174,7 @@ postFinder.listByCategory(page, size, categoryName); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -204,7 +204,7 @@ postFinder.listByTag(page, size, tag); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -234,7 +234,7 @@ postFinder.listByOwner(page, size, owner); ### 返回值 -[#ListResult](#listresultlistedpostvo) +[#ListResult\](#listresultlistedpostvo) ### 示例 @@ -263,7 +263,7 @@ postFinder.archives(page, size); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -301,7 +301,7 @@ postFinder.archives(page, size, year); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -340,7 +340,7 @@ postFinder.archives(page, size, year, month); ### 返回值 -[#ListResult](#listresultpostarchivevo) +[#ListResult\](#listresultpostarchivevo) ### 示例 @@ -401,13 +401,13 @@ postFinder.archives(page, size, year, month); ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### ListResult +### ListResult\ ```json title="ListResult" { @@ -441,7 +441,7 @@ postFinder.archives(page, size, year, month); - [#ListedPostVo](#listedpostvo) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/single-page.md b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/single-page.md index a61a980..86dd041 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/single-page.md +++ b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/single-page.md @@ -77,7 +77,7 @@ singlePageFinder.list(page,size) ### 返回值 -[#ListResult](#listresultlistedsinglepagevo) +[#ListResult\](#listresultlistedsinglepagevo) ### 示例 @@ -104,7 +104,7 @@ singlePageFinder.list(page,size) -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/tag.md b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/tag.md index 5db4ab0..c8bee35 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/finder-apis/tag.md +++ b/versioned_docs/version-2.18/developer-guide/theme/finder-apis/tag.md @@ -47,7 +47,7 @@ tagFinder.getByNames(names) ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -74,7 +74,7 @@ tagFinder.list(page,size) ### 返回值 -[#ListResult](#listresulttagvo) +[#ListResult\](#listresulttagvo) ### 示例 @@ -102,7 +102,7 @@ tagFinder.listAll() ### 返回值 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> ### 示例 @@ -120,7 +120,7 @@ List<[#TagVo](#tagvo)> -### ListResult +### ListResult\ ```json title="ListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/settings.md b/versioned_docs/version-2.18/developer-guide/theme/settings.md index 7732316..3e2639d 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/settings.md +++ b/versioned_docs/version-2.18/developer-guide/theme/settings.md @@ -123,7 +123,7 @@ Setting 资源的 `metadata.name` 必须和 `theme.yaml` 中的 `spec.settingNam 为了方便主题开发者从 1.x 迁移,我们提供了工具用于迁移设置表单配置文件。 -工具仓库地址: +工具仓库地址:[https://github.com/halo-sigs/convert-theme-config-to-next](https://github.com/halo-sigs/convert-theme-config-to-next) ```bash # 1.x 版本主题 diff --git a/versioned_docs/version-2.18/developer-guide/theme/template-variables/archives.md b/versioned_docs/version-2.18/developer-guide/theme/template-variables/archives.md index d929ba6..82436fb 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/template-variables/archives.md +++ b/versioned_docs/version-2.18/developer-guide/theme/template-variables/archives.md @@ -22,7 +22,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultpostarchivevo) +[#UrlContextListResult\](#urlcontextlistresultpostarchivevo) #### 示例 @@ -65,7 +65,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) @@ -87,7 +87,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md"; - [#ListedPostVo](#listedpostvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/template-variables/author.md b/versioned_docs/version-2.18/developer-guide/theme/template-variables/author.md index 238ca90..02f4feb 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/template-variables/author.md +++ b/versioned_docs/version-2.18/developer-guide/theme/template-variables/author.md @@ -26,7 +26,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -77,13 +77,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/template-variables/categories.md b/versioned_docs/version-2.18/developer-guide/theme/template-variables/categories.md index 149fb72..b32c32a 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/template-variables/categories.md +++ b/versioned_docs/version-2.18/developer-guide/theme/template-variables/categories.md @@ -16,7 +16,7 @@ import CategoryTreeVo from "../vo/_CategoryTreeVo.md" #### 变量类型 -List<[#CategoryTreeVo](#categorytreevo)> +List\<[#CategoryTreeVo](#categorytreevo)\> #### 示例 diff --git a/versioned_docs/version-2.18/developer-guide/theme/template-variables/category.md b/versioned_docs/version-2.18/developer-guide/theme/template-variables/category.md index aafa14f..730f6a7 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/template-variables/category.md +++ b/versioned_docs/version-2.18/developer-guide/theme/template-variables/category.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/template-variables/index_.md b/versioned_docs/version-2.18/developer-guide/theme/template-variables/index_.md index 82f5ad6..ca268c1 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/template-variables/index_.md +++ b/versioned_docs/version-2.18/developer-guide/theme/template-variables/index_.md @@ -19,7 +19,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -71,13 +71,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/template-variables/tag.md b/versioned_docs/version-2.18/developer-guide/theme/template-variables/tag.md index 1bdc183..b918157 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/template-variables/tag.md +++ b/versioned_docs/version-2.18/developer-guide/theme/template-variables/tag.md @@ -25,7 +25,7 @@ import ListedPostVo from "../vo/_ListedPostVo.md" #### 变量类型 -[#UrlContextListResult](#urlcontextlistresultlistedpostvo) +[#UrlContextListResult\](#urlcontextlistresultlistedpostvo) #### 示例 @@ -78,13 +78,13 @@ import ListedPostVo from "../vo/_ListedPostVo.md" ### ListedPostVo - +\ - [#CategoryVo](#categoryvo) - [#TagVo](#tagvo) - [#ContributorVo](#contributorvo) -### UrlContextListResult +### UrlContextListResult\ ```json title="UrlContextListResult" { diff --git a/versioned_docs/version-2.18/developer-guide/theme/template-variables/tags.md b/versioned_docs/version-2.18/developer-guide/theme/template-variables/tags.md index 63f52fd..4976b44 100644 --- a/versioned_docs/version-2.18/developer-guide/theme/template-variables/tags.md +++ b/versioned_docs/version-2.18/developer-guide/theme/template-variables/tags.md @@ -16,7 +16,7 @@ import TagVo from '../vo/_TagVo.md' #### 变量类型 -List<[#TagVo](#tagvo)> +List\<[#TagVo](#tagvo)\> #### 示例 diff --git a/versioned_docs/version-2.18/getting-started/install/cloud/tencent-cloud-lighthouse.md b/versioned_docs/version-2.18/getting-started/install/cloud/tencent-cloud-lighthouse.md index 482c4cf..af0db0a 100644 --- a/versioned_docs/version-2.18/getting-started/install/cloud/tencent-cloud-lighthouse.md +++ b/versioned_docs/version-2.18/getting-started/install/cloud/tencent-cloud-lighthouse.md @@ -64,7 +64,7 @@ description: 使用腾讯云轻量应用服务器的应用模板部署 Halo ![添加域名](/img/install/tencent-cloud-lighthouse/domain.png) -除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 +除此之外,在绑定域名之后,还需要修改一下 Halo 的 **外部访问地址** 参数为实际的网站访问地址(如:[https://demo.halo.run](https://demo.halo.run)),否则 Halo 的部分功能或者插件可能会出现使用问题,只需要按照下图所示修改应用的参数然后点击确认即可。 ![修改外部访问地址](/img/install/tencent-cloud-lighthouse/external-url.png) diff --git a/versioned_docs/version-2.18/getting-started/install/docker-compose.md b/versioned_docs/version-2.18/getting-started/install/docker-compose.md index 35527eb..b0edecb 100644 --- a/versioned_docs/version-2.18/getting-started/install/docker-compose.md +++ b/versioned_docs/version-2.18/getting-started/install/docker-compose.md @@ -12,8 +12,8 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" ## 环境搭建 -- Docker 安装文档: -- Docker Compose 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) +- Docker Compose 安装文档:[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker 和 Docker Compose,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -25,234 +25,234 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 1. 在系统任意位置创建一个文件夹,此文档以 `~/halo` 为例。 - ```bash - mkdir ~/halo && cd ~/halo - ``` + ```bash + mkdir ~/halo && cd ~/halo + ``` - :::info - 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 - ::: + :::info + 注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。 + ::: 2. 创建 `docker-compose.yaml` - 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 + 此文档提供两种场景的 Docker Compose 配置文件,请根据你的需要**选择一种**。 - :::info - 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 - ::: + :::info + 需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。 + ::: 1. 创建 Halo + PostgreSQL 的实例: - ```yaml {23-29,43} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.18 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - - --spring.r2dbc.username=halo - # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=openpostgresql - - --spring.sql.init.platform=postgresql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - halodb: - image: postgres:15.4 - restart: on-failure:3 - networks: - halo_network: - volumes: - - ./db:/var/lib/postgresql/data - healthcheck: - test: [ "CMD", "pg_isready" ] - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_PASSWORD=openpostgresql - - POSTGRES_USER=halo - - POSTGRES_DB=halo - - PGUSER=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 - ::: + ```yaml {23-29,43} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.18 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo + - --spring.r2dbc.username=halo + # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=openpostgresql + - --spring.sql.init.platform=postgresql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + halodb: + image: postgres:15.4 + restart: on-failure:3 + networks: + halo_network: + volumes: + - ./db:/var/lib/postgresql/data + healthcheck: + test: [ "CMD", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + environment: + - POSTGRES_PASSWORD=openpostgresql + - POSTGRES_USER=halo + - POSTGRES_DB=halo + - PGUSER=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,PostgreSQL 的端口为 `5432`。 + ::: 2. 创建 Halo + MySQL 的实例: - ```yaml {23-29,51} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.18 - restart: on-failure:3 - depends_on: - halodb: - condition: service_healthy - networks: - halo_network: - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - - --spring.r2dbc.username=root - # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - - --spring.r2dbc.password=o#DwN&JSa56 - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - - halodb: - image: mysql:8.1.0 - restart: on-failure:3 - networks: - halo_network: - command: - - --default-authentication-plugin=caching_sha2_password - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - - --explicit_defaults_for_timestamp=true - volumes: - - ./mysql:/var/lib/mysql - - ./mysqlBackup:/data/mysqlBackup - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] - interval: 3s - retries: 5 - start_period: 30s - environment: - # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - - MYSQL_DATABASE=halo - - networks: - halo_network: - ``` - - :::info - 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 - ::: + ```yaml {23-29,51} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.18 + restart: on-failure:3 + depends_on: + halodb: + condition: service_healthy + networks: + halo_network: + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo + - --spring.r2dbc.username=root + # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 + - --spring.r2dbc.password=o#DwN&JSa56 + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + + halodb: + image: mysql:8.1.0 + restart: on-failure:3 + networks: + halo_network: + command: + - --default-authentication-plugin=caching_sha2_password + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_general_ci + - --explicit_defaults_for_timestamp=true + volumes: + - ./mysql:/var/lib/mysql + - ./mysqlBackup:/data/mysqlBackup + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 3s + retries: 5 + start_period: 30s + environment: + # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 + - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 + - MYSQL_DATABASE=halo + + networks: + halo_network: + ``` + + :::info + 此示例的 MySQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 `halodb` 服务中添加端口映射,MySQL 的端口为 `3306`。 + ::: 3. 仅创建 Halo 实例(使用默认的 H2 数据库): - :::caution - 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 - ::: - - ```yaml {19-24} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.18 - restart: on-failure:3 - volumes: - - ./halo2:/root/.halo2 - ports: - - "8090:8090" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] - interval: 30s - timeout: 5s - retries: 5 - start_period: 30s - command: - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - ``` + :::warning + 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 + ::: + + ```yaml {19-24} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.18 + restart: on-failure:3 + volumes: + - ./halo2:/root/.halo2 + ports: + - "8090:8090" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] + interval: 30s + timeout: 5s + retries: 5 + start_period: 30s + command: + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + ``` 4. 仅创建 Halo 实例(使用已有外部数据库,MySQL 为例): - - ```yaml {7,12-20} title="~/halo/docker-compose.yaml" - version: "3" - - services: - halo: - image: registry.fit2cloud.com/halo/halo:2.18 - restart: on-failure:3 - network_mode: "host" - volumes: - - ./halo2:/root/.halo2 - command: - # 修改为自己已有的 MySQL 配置 - - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo - - --spring.r2dbc.username=root - - --spring.r2dbc.password= - - --spring.sql.init.platform=mysql - # 外部访问地址,请根据实际需要修改 - - --halo.external-url=http://localhost:8090/ - # 端口号 默认8090 - - --server.port=8090 - ``` - - 运行参数详解: - - + + ```yaml {7,12-20} title="~/halo/docker-compose.yaml" + version: "3" + + services: + halo: + image: registry.fit2cloud.com/halo/halo:2.18 + restart: on-failure:3 + network_mode: "host" + volumes: + - ./halo2:/root/.halo2 + command: + # 修改为自己已有的 MySQL 配置 + - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo + - --spring.r2dbc.username=root + - --spring.r2dbc.password= + - --spring.sql.init.platform=mysql + # 外部访问地址,请根据实际需要修改 + - --halo.external-url=http://localhost:8090/ + # 端口号 默认8090 + - --server.port=8090 + ``` + + 运行参数详解: + + 3. 启动 Halo 服务 - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` - 实时查看日志: + 实时查看日志: - ```bash - docker-compose logs -f - ``` + ```bash + docker-compose logs -f + ``` 4. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 更新容器组 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 更新 Halo 服务 - 修改 `docker-compose.yaml` 中配置的镜像版本。 + 修改 `docker-compose.yaml` 中配置的镜像版本。 - ```yaml {3} - services: + ```yaml {3} + services: halo: image: registry.fit2cloud.com/halo/halo:2.18 - ``` + ``` - ```bash - docker-compose up -d - ``` + ```bash + docker-compose up -d + ``` ## 反向代理 diff --git a/versioned_docs/version-2.18/getting-started/install/docker.md b/versioned_docs/version-2.18/getting-started/install/docker.md index 5289d0d..f17c75b 100644 --- a/versioned_docs/version-2.18/getting-started/install/docker.md +++ b/versioned_docs/version-2.18/getting-started/install/docker.md @@ -10,7 +10,7 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 在继续操作之前,我们推荐您先阅读[《写在前面》](../prepare),这可以快速帮助你了解 Halo。 ::: -:::caution +:::warning 此文档仅提供使用默认 H2 数据库的 Docker 运行方式,主要用于体验和测试,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 如果需要使用其他数据库部署,我们推荐使用 Docker Compose 部署:[使用 Docker Compose 部署](./docker-compose) @@ -18,7 +18,7 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" ## 环境搭建 -- Docker 安装文档: +- Docker 安装文档:[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) :::tip 我们推荐按照 Docker 官方文档安装 Docker,因为部分 Linux 发行版软件仓库中的 Docker 版本可能过旧。 @@ -30,50 +30,50 @@ import DockerRegistryList from "./slots/_docker-registry-list.md" 1. 创建容器 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - docker pull registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + docker pull registry.fit2cloud.com/halo/halo:2.18 + ``` 3. 停止运行中的容器 - ```bash - docker stop halo - docker rm halo - ``` + ```bash + docker stop halo + docker rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 - ```bash - docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 + ``` diff --git a/versioned_docs/version-2.18/getting-started/install/jar-file.md b/versioned_docs/version-2.18/getting-started/install/jar-file.md index dc9981a..5aea244 100644 --- a/versioned_docs/version-2.18/getting-started/install/jar-file.md +++ b/versioned_docs/version-2.18/getting-started/install/jar-file.md @@ -58,8 +58,8 @@ title: 使用 JAR 文件部署 :::info 以下是官方维护的下载地址: - 1. - 2. + 1. [https://download.halo.run](https://download.halo.run) + 2. [https://github.com/halo-dev/halo/releases](https://github.com/halo-dev/halo/releases) ::: 4. 创建 [工作目录](../prepare#工作目录) @@ -132,7 +132,7 @@ title: 使用 JAR 文件部署 - DATABASE:数据库名称,如 `halo`,需要提前创建 ::: - :::caution + :::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.18/getting-started/install/other/nginxproxymanager.md b/versioned_docs/version-2.18/getting-started/install/other/nginxproxymanager.md index babf343..8bdc17a 100644 --- a/versioned_docs/version-2.18/getting-started/install/other/nginxproxymanager.md +++ b/versioned_docs/version-2.18/getting-started/install/other/nginxproxymanager.md @@ -25,7 +25,7 @@ Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续 > 说明:默认你的服务器已经安装了 Docker 和 Docker Compose,如果你没有安装,可以参考:[使用 Docker Compose 部署](../docker-compose) 的环境搭建部分来进行安装。 -点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网: +点击下方链接进入 Nginx Proxy Manager(以下简称 NPM) 官网:[https://nginxproxymanager.com/](https://nginxproxymanager.com/) 我们可以直接选择 [快速安装](https://nginxproxymanager.com/guide/#quick-setup)。 diff --git a/versioned_docs/version-2.18/getting-started/install/other/traefik.md b/versioned_docs/version-2.18/getting-started/install/other/traefik.md index 0bd9c01..f45b0b5 100644 --- a/versioned_docs/version-2.18/getting-started/install/other/traefik.md +++ b/versioned_docs/version-2.18/getting-started/install/other/traefik.md @@ -26,7 +26,7 @@ description: 使用 Traefik 管理 Halo 服务的反向代理 3. 开启 Traefik Dashboard,建议使用二级域名的形式(示例:`traefik.yourdomain.com`)。[文档](https://doc.traefik.io/traefik/operations/dashboard/#dashboard-router-rule) 4. 开启证书自动生成,通过 ACME 自动管理 TLS 证书的申请、校验与续期。[文档](https://doc.traefik.io/traefik/https/acme/) -:::caution +:::warning ACME 证书 (`/acme.json`) 一定要 [持久化](https://doc.traefik.io/traefik/https/acme/#storage),否则每次重启 Traefik 服务,都会去申请签发证书。可能会触发 Let's Encrypt 的 [速率限制](https://letsencrypt.org/zh-cn/docs/rate-limits/),导致签名的域名一段时间内无法签发新的证书。 ::: diff --git a/versioned_docs/version-2.18/getting-started/install/podman.md b/versioned_docs/version-2.18/getting-started/install/podman.md index d174353..f149828 100644 --- a/versioned_docs/version-2.18/getting-started/install/podman.md +++ b/versioned_docs/version-2.18/getting-started/install/podman.md @@ -37,7 +37,7 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 ## 环境搭建 -- Podman 安装文档: +- Podman 安装文档:[https://podman.io/docs/installation](https://podman.io/docs/installation) :::tip 我们推荐您先阅读 Podman 官方文档对 Podman 有了相关了解后,再考虑通过Linux包管理系统安装 Podman 或者使用文档中指定的方式安装 。 @@ -55,50 +55,50 @@ Podman 采用无守护进程的包容性架构,因此可以更安全、更简 1. 创建容器 - ```bash - mkdir -p ~/.halo2 - podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + mkdir -p ~/.halo2 + podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 + ``` - :::info - 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) - ::: + :::info + 注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:[使用 Docker Compose 部署](./docker-compose) + ::: - - **-it**:开启输入功能并连接伪终端 - - **-d**:后台运行容器 - - **--name**:为容器指定一个名称 - - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 - - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 + - **-it**:开启输入功能并连接伪终端 + - **-d**:后台运行容器 + - **--name**:为容器指定一个名称 + - **-p**:端口映射,格式为 `主机(宿主)端口:容器端口` ,可在 `application.yaml` 配置。 + - **-v**:工作目录映射。形式为:`-v 宿主机路径:/root/.halo2`,后者不能修改。 - 运行参数详解: + 运行参数详解: - + -1. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 +2. 用浏览器访问 `/console` 即可进入 Halo 管理页面,首次启动会进入初始化页面。 - :::tip - 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 - ::: + :::tip + 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 `http://ip:端口号` 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。 + ::: ## 升级版本 1. 备份数据,可以参考 [备份与恢复](../../user-guide/backup.md) 进行完整备份。 2. 拉取新版本镜像 - ```bash - podman pull registry.fit2cloud.com/halo/halo:2.18 - ``` + ```bash + podman pull registry.fit2cloud.com/halo/halo:2.18 + ``` 3. 停止运行中的容器 - ```bash - podman stop halo - podman rm halo - ``` + ```bash + podman stop halo + podman rm halo + ``` 4. 更新 Halo - 修改版本号后,按照最初安装的方式,重新创建容器即可。 + 修改版本号后,按照最初安装的方式,重新创建容器即可。 ```bash podman run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.18 @@ -113,50 +113,50 @@ Podman 没有和 Docker 类似的管理进程,在低配置的主机上更友 下面是一个使用 Podstgresql 数据库的示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - User=60000 - Group=60000 - UserNS=keep-id:uid=60000,gid=60000 - Environment=JVM_OPTS="-Xmx512m -Xms256m" - Environment=HALO_WORK_DIR="/.halo" - Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" - Environment=TZ=Asia/Shanghai - Volume=/opt/podman-data/halo:/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.18 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` - - ```bash - systemctl daemon-reload - systemctl start halo - # 只需要systemctl start halo. - # 之后重启会自动启动不需要enable服务. - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +User=60000 +Group=60000 +UserNS=keep-id:uid=60000,gid=60000 +Environment=JVM_OPTS="-Xmx512m -Xms256m" +Environment=HALO_WORK_DIR="/.halo" +Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/" +Environment=TZ=Asia/Shanghai +Volume=/opt/podman-data/halo:/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.18 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` + +```bash +systemctl daemon-reload +systemctl start halo +# 只需要systemctl start halo. +# 之后重启会自动启动不需要enable服务. +``` Podman Quadlet 解析: @@ -191,34 +191,34 @@ Podman Quadlet 解析: 使用默认的 root 用户运行时无需定义 `User=60000 Group=60000 UserNS=keep-id:uid=60000,gid=60000` 与 `Environment=HALO_WORK_DIR="/.halo"` `Environment=SPRING_CONFIG_LOCATION="optional:classpath:/;optional:file:/.halo/"`, 示例: - ```bash - mkdir -p /opt/podman-data/halo - mkdir -p /etc/containers/systemd - vim /etc/containers/systemd/halo.container - ``` - - ```conf - # /etc/containers/systemd/halo.container - [Unit] - Description=The halo container - Wants=network-online.target - After=network-online.target - - [Container] - AutoUpdate=registry - ContainerName=halo - Volume=/opt/podman-data/halo:/root/.halo - PublishPort=127.0.0.1:8090:8090 - Image=ghcr.io/halo-dev/halo:2.18 - Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password - - [Service] - Restart=always - RestartSec=30s - StartLimitInterval=30 - TimeoutStartSec=900 - TimeoutStopSec=70 - - [Install] - WantedBy=multi-user.target default.target - ``` +```bash +mkdir -p /opt/podman-data/halo +mkdir -p /etc/containers/systemd +vim /etc/containers/systemd/halo.container +``` + +```conf +# /etc/containers/systemd/halo.container +[Unit] +Description=The halo container +Wants=network-online.target +After=network-online.target + +[Container] +AutoUpdate=registry +ContainerName=halo +Volume=/opt/podman-data/halo:/root/.halo +PublishPort=127.0.0.1:8090:8090 +Image=ghcr.io/halo-dev/halo:2.18 +Exec=--halo.external-url=https://localhost:8090 --spring.sql.init.platform=postgresql --spring.r2dbc.url=r2dbc:pool:postgresql://127.0.0.1:5432/my-db --spring.r2dbc.username=my-user --spring.r2dbc.password=my-password + +[Service] +Restart=always +RestartSec=30s +StartLimitInterval=30 +TimeoutStartSec=900 +TimeoutStopSec=70 + +[Install] +WantedBy=multi-user.target default.target +``` diff --git a/versioned_docs/version-2.18/getting-started/migrate-from-1.x.md b/versioned_docs/version-2.18/getting-started/migrate-from-1.x.md index 8105e35..bc0fe22 100644 --- a/versioned_docs/version-2.18/getting-started/migrate-from-1.x.md +++ b/versioned_docs/version-2.18/getting-started/migrate-from-1.x.md @@ -8,21 +8,21 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 - Halo 版本必须为 1.5.x 或 1.6.x。如果不满足,需要先升级到 1.5.x 或 1.6.x 版本。 - Halo 2.0 不兼容 1.x 的主题,建议在升级前先查询你正在使用的主题是否已经支持 2.0。你可以访问 [halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) 或 [应用市场](https://halo.run/store/apps?type=THEME) 查阅目前支持的主题。 - Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件。目前社区已经提供了以下插件: - - StackEdit: - - ByteMD: + - StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) + - ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) - Halo 2.0 不再内置友情链接、日志、图库等模块,需要安装额外的插件,目前官方已提供: - - 链接管理: - - 图库: - - 瞬间(原日志): + - 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) + - 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) + - 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) - Halo 2.0 不再内置外部云存储的支持。需要安装额外的插件,目前官方已提供: - - S3(兼容国内主流的云存储): - - 阿里云 OSS: + - S3(兼容国内主流的云存储):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) + - 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) - 在迁移过程中不会保留旧版本的用户数据,迁移完成之后,关于文章等数据的关联都将改为 Halo 2.0 的新用户。 - 为了防止直接升级 2.0 导致 1.x 的数据受到破坏,我们已经将工作目录由 `~/.halo` 变更为 `~/.halo2`。 - 目前 Halo 2.0 仅提供 Docker 部署方式,没有提供可执行 JAR 包,但可以自编译,请参考 [构建](../developer-guide/core/build.md) 文档 - 可以考虑先在本地运行一个 Halo 2.0,模拟一下导入,检查导入后是否满足要求。 -如果遇到了迁移过程中的问题,也可以向我们提交 Issue: ,以上暂不支持的功能我们也会陆续完善。 +如果遇到了迁移过程中的问题,也可以向我们提交 Issue: [https://github.com/halo-dev/halo/issues/new/choose](https://github.com/halo-dev/halo/issues/new/choose),以上暂不支持的功能我们也会陆续完善。 ## 备份数据 @@ -54,11 +54,11 @@ description: 从 Halo 1.x 迁移的完整指南和注意事项 在迁移过程中,需要提前安装必要的插件: -- 站点迁移: -- 链接管理: -- 图库: -- 瞬间(原日志): -- S3(如果需要迁移存在云存储的附件,需要安装): +- 站点迁移:[https://halo.run/store/apps/app-TlUBt](https://halo.run/store/apps/app-TlUBt) +- 链接管理:[https://halo.run/store/apps/app-hfbQg](https://halo.run/store/apps/app-hfbQg) +- 图库:[https://halo.run/store/apps/app-BmQJW](https://halo.run/store/apps/app-BmQJW) +- 瞬间(原日志):[https://halo.run/store/apps/app-SnwWD](https://halo.run/store/apps/app-SnwWD) +- S3(如果需要迁移存在云存储的附件,需要安装):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ## 配置存储策略 diff --git a/versioned_docs/version-2.18/getting-started/prepare.md b/versioned_docs/version-2.18/getting-started/prepare.md index 6fd4bd7..69b1d78 100644 --- a/versioned_docs/version-2.18/getting-started/prepare.md +++ b/versioned_docs/version-2.18/getting-started/prepare.md @@ -63,7 +63,7 @@ Halo 目前支持以下数据库: 其中,H2 不需要单独运行,其他数据库需要单独安装并配置。一般情况下,推荐按照 [使用 Docker Compose 部署](./install/docker-compose.md) 文档将 Halo 和数据库容器编排在一起。 -:::caution +:::warning 不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时[备份数据](../user-guide/backup.md)。 ::: diff --git a/versioned_docs/version-2.18/intro.md b/versioned_docs/version-2.18/intro.md index 6eb5630..8c9c7dc 100644 --- a/versioned_docs/version-2.18/intro.md +++ b/versioned_docs/version-2.18/intro.md @@ -37,12 +37,12 @@ slug: / docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.18 ``` -以上仅作为体验使用,详细部署文档请查阅: +以上仅作为体验使用,详细部署文档请查阅:[https://docs.halo.run/getting-started/install/docker-compose](https://docs.halo.run/getting-started/install/docker-compose) ## 在线体验 -- 环境地址: -- 后台地址: +- 环境地址:[https://demo.halo.run](https://demo.halo.run) +- 后台地址:[https://demo.halo.run/console](https://demo.halo.run/console) - 用户名:`demo` - 密码:`P@ssw0rd123..` diff --git a/versioned_docs/version-2.18/user-guide/app-store.md b/versioned_docs/version-2.18/user-guide/app-store.md index ef47054..851bce4 100644 --- a/versioned_docs/version-2.18/user-guide/app-store.md +++ b/versioned_docs/version-2.18/user-guide/app-store.md @@ -5,7 +5,7 @@ description: 内置应用市场的使用说明 为了方便使用者安装应用市场的主题和插件,我们提供了一个内置到 Console 的应用市场插件,可以更加方便在 Console 直接安装主题和插件。并且此插件从 Halo 2.10 开始已经预设到 Halo 中,无需手动安装。 -如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 手动下载并在 Console 的插件管理中安装。 +如果你使用了旧版本的 Halo,并且当前未安装应用市场插件,可以访问 [https://www.halo.run/store/apps/app-VYJbF](https://www.halo.run/store/apps/app-VYJbF) 手动下载并在 Console 的插件管理中安装。 :::info 提示 这是目前唯一由 Halo 官方提供的服务,如果你当前的 Halo 网站处于无法访问外网的环境或者不需要此功能,你可以卸载或者停用此插件,不会影响网站的正常使用。 @@ -13,7 +13,7 @@ description: 内置应用市场的使用说明 ## 应用市场页面 -这是一个为 Console 提供的独立的应用市场页面,此页面基本和 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 +这是一个为 Console 提供的独立的应用市场页面,此页面基本和 [https://www.halo.run/store/apps](https://www.halo.run/store/apps) 保持一致,但有所不同的是,你可以直接在这里查看所有的主题和插件并安装到你的 Halo 站点中。 ![应用市场](/img/user-guide/app-store/app-store-page.png) @@ -51,7 +51,7 @@ description: 内置应用市场的使用说明 目前部分付费主题和插件需要许可证激活才能够正常使用,在购买付费应用之后就会自动为你的 Halo 官网账号中生成对应的应用许可证,**所以在此之前需要确保已经在你的网站中绑定好了 Halo 官网账号**。 :::info 注意 -当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 。 +当前应用市场的许可证暂不支持离线激活,需要 Halo 所在的服务器能够正常访问 [https://www.halo.run](https://www.halo.run)。 ::: 在安装好需要许可证的付费插件或主题后,列表会显示一个许可证状态的图标,点击即可打开许可证激活的对话框,选择许可证并点击激活即可。 diff --git a/versioned_docs/version-2.18/user-guide/attachments.md b/versioned_docs/version-2.18/user-guide/attachments.md index ed59bb1..36fdb73 100644 --- a/versioned_docs/version-2.18/user-guide/attachments.md +++ b/versioned_docs/version-2.18/user-guide/attachments.md @@ -12,8 +12,8 @@ Halo 默认提供了本地的存储策略类型,你还可以通过安装插件 :::info 目前 Halo 官方维护了两个存储策略插件,可以根据需要选择安装: -1. 阿里云 OSS: -2. Amazon S3 协议(主流云存储厂商均支持): +1. 阿里云 OSS:[https://halo.run/store/apps/app-wCJCD](https://halo.run/store/apps/app-wCJCD) +2. Amazon S3 协议(主流云存储厂商均支持):[https://halo.run/store/apps/app-Qxhpp](https://halo.run/store/apps/app-Qxhpp) ::: 你可以点击附件页面右上角的 `存储策略` 按钮对存储策略进行管理。 diff --git a/versioned_docs/version-2.18/user-guide/common.md b/versioned_docs/version-2.18/user-guide/common.md index 66687d5..7e2038b 100644 --- a/versioned_docs/version-2.18/user-guide/common.md +++ b/versioned_docs/version-2.18/user-guide/common.md @@ -62,6 +62,6 @@ Halo 作为一款好用又强大的开源建站工具,配合上不同的模板 :::info 目前有两个官方渠道可以获取主题和插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://halo.run/store/apps](https://halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.18/user-guide/faq.md b/versioned_docs/version-2.18/user-guide/faq.md index 706dc7c..f67e8a9 100644 --- a/versioned_docs/version-2.18/user-guide/faq.md +++ b/versioned_docs/version-2.18/user-guide/faq.md @@ -111,12 +111,12 @@ server { 1. 可以在 Console 端的概览页面下载最近的日志文件。 2. 使用 docker logs 命令进行查看。 - ```bash - # '-f' 滚动更新日志 - # '-n 200' 从倒数第200行开始查看 - # 更多帮助可以查看 'docker logs --help' - docker logs -f halo -n 200 - ``` + ```bash + # '-f' 滚动更新日志 + # '-n 200' 从倒数第200行开始查看 + # 更多帮助可以查看 'docker logs --help' + docker logs -f halo -n 200 + ``` ### 前台样式丢失,如何解决? @@ -125,10 +125,10 @@ server { 1. 后台设置的 `博客地址` 与实际访问地址不一致。也可能是开启了 https 之后,无法正常加载 http 资源,将 `博客地址` 改为 https 协议即可。 2. Nginx 配置了静态资源缓存,但没有设置 `proxy_pass`,参考如下: - ```nginx - location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { - proxy_pass http://halo; - expires 30d; - access_log off; - } - ``` + ```nginx + location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { + proxy_pass http://halo; + expires 30d; + access_log off; + } + ``` diff --git a/versioned_docs/version-2.18/user-guide/plugins.md b/versioned_docs/version-2.18/user-guide/plugins.md index f0f7c4f..401d104 100644 --- a/versioned_docs/version-2.18/user-guide/plugins.md +++ b/versioned_docs/version-2.18/user-guide/plugins.md @@ -10,8 +10,8 @@ description: 插件管理相关功能说明 :::info 目前有两个官方渠道可以获取插件: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.18/user-guide/posts.md b/versioned_docs/version-2.18/user-guide/posts.md index 28e02ad..21cdf08 100644 --- a/versioned_docs/version-2.18/user-guide/posts.md +++ b/versioned_docs/version-2.18/user-guide/posts.md @@ -21,8 +21,8 @@ description: 文章管理相关功能说明 :::info Halo 支持通过插件来拓展文章编辑器,目前 Halo 官方维护了另外两款编辑器插件,可以按需安装使用: -1. StackEdit: -2. ByteMD: +1. StackEdit:[https://halo.run/store/apps/app-hDXMG](https://halo.run/store/apps/app-hDXMG) +2. ByteMD:[https://halo.run/store/apps/app-HTyhC](https://halo.run/store/apps/app-HTyhC) ::: ## 文章设置 diff --git a/versioned_docs/version-2.18/user-guide/themes.md b/versioned_docs/version-2.18/user-guide/themes.md index ce8a61f..3350575 100644 --- a/versioned_docs/version-2.18/user-guide/themes.md +++ b/versioned_docs/version-2.18/user-guide/themes.md @@ -8,8 +8,8 @@ description: 主题管理相关功能说明 :::info 目前有两个官方渠道可以获取主题: -- 应用市场: -- Awesome Halo: +- 应用市场:[https://www.halo.run/store/apps](https://www.halo.run/store/apps) +- Awesome Halo:[https://github.com/halo-sigs/awesome-halo](https://github.com/halo-sigs/awesome-halo) ::: diff --git a/versioned_docs/version-2.18/user-guide/users.md b/versioned_docs/version-2.18/user-guide/users.md index 4cb55b4..6621ad6 100644 --- a/versioned_docs/version-2.18/user-guide/users.md +++ b/versioned_docs/version-2.18/user-guide/users.md @@ -104,7 +104,7 @@ Halo 提供了全新创建和基于已有角色创建两种角色创建方式。 :::info 目前 Halo 官方提供的身份认证插件: -- OAuth2 认证: +- OAuth2 认证:[https://halo.run/store/apps/app-ESVDK](https://halo.run/store/apps/app-ESVDK) ::: 你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。