From 4c492fef2d1a65ed18f8cf8a1b12258c0b0358e0 Mon Sep 17 00:00:00 2001 From: Mister-Hope Date: Mon, 16 Dec 2024 22:58:01 +0800 Subject: [PATCH] feat: rebuild whole site (#473) * feat: rebuild site * chore: tweaks * fix: fix docsearch * fix: fix action button * chore: remove homepage icons suggested by @CritasWang * chore: add missing license * chore: tweaks * fix: fix table * chore: fix table * chore: tweaks * chore: tweaks * chore: tweaks --- .asf.yaml | 15 +- .eslintignore | 4 - .eslintrc.cjs | 74 ---- .github/workflows/site-build.yaml | 32 +- .gitignore | 1 - deploy.cjs | 57 +-- deploy_staging.cjs | 57 +-- eslint.config.js | 66 +++ package.json | 71 ++- src/.vuepress/client.ts | 65 +-- src/.vuepress/components/Contributor.vue | 411 ----------------- src/.vuepress/components/Contributors.vue | 418 ------------------ src/.vuepress/components/HomeCarousel.vue | 121 +++++ src/.vuepress/components/IoTDB.vue | 312 ------------- src/.vuepress/components/IoTDBZH.vue | 306 ------------- src/.vuepress/components/PageFooter.vue | 81 +++- .../components/ProjectContributors.vue | 140 ++++++ .../docsearch/client/components/Docsearch.ts | 129 ------ .../docsearch/client/components/index.ts | 1 - .../docsearch/client/composables/index.ts | 2 - .../composables/useDocsearchHotkeyListener.ts | 19 - .../client/composables/useDocsearchShim.ts | 73 --- .../components/docsearch/client/config.ts | 10 - .../docsearch/client/helpers/docsearch.ts | 68 --- .../docsearch/client/helpers/index.ts | 1 - .../components/docsearch/client/index.ts | 3 - .../components/docsearch/client/shims.d.ts | 7 - .../docsearch/client/styles/docsearch.css | 15 - .../docsearch/client/utils/getFacetFilters.ts | 19 - .../client/utils/getSearchButtonTemplate.ts | 13 - .../docsearch/client/utils/index.ts | 4 - .../client/utils/pollToOpenDocsearch.ts | 15 - .../client/utils/preconnectToAlgolia.ts | 16 - .../docsearch/node/docsearchPlugin.ts | 37 -- .../components/docsearch/node/index.ts | 6 - .../components/docsearch/shared/index.ts | 1 - .../components/docsearch/shared/types.ts | 21 - src/.vuepress/config.ts | 138 +++--- src/.vuepress/navbar/en.ts | 63 ++- src/.vuepress/navbar/index.ts | 31 +- src/.vuepress/navbar/zh.ts | 51 ++- src/.vuepress/navbar_timecho/en.ts | 99 +++-- src/.vuepress/navbar_timecho/index.ts | 31 +- src/.vuepress/navbar_timecho/zh.ts | 110 +++-- src/.vuepress/public/.asf.yaml | 4 +- src/.vuepress/public/img/arrow.png | Bin 88 -> 0 bytes src/.vuepress/public/img/home-icon1.png | Bin 30032 -> 0 bytes src/.vuepress/public/img/home-icon2.png | Bin 4463 -> 0 bytes src/.vuepress/public/img/home-icon3.png | Bin 10753 -> 0 bytes src/.vuepress/public/img/home-icon4.png | Bin 8681 -> 0 bytes src/.vuepress/public/img/home-icon5.png | Bin 1531 -> 0 bytes src/.vuepress/public/img/home-icon6.png | Bin 11537 -> 0 bytes src/.vuepress/sidebar/V0.13.x/en.ts | 61 +-- src/.vuepress/sidebar/V0.13.x/zh.ts | 41 +- src/.vuepress/sidebar/V1.0.x/en.ts | 74 ++-- src/.vuepress/sidebar/V1.0.x/zh.ts | 49 +- src/.vuepress/sidebar/V1.1.x/en.ts | 74 ++-- src/.vuepress/sidebar/V1.1.x/zh.ts | 49 +- src/.vuepress/sidebar/V1.2.x/en.ts | 56 ++- src/.vuepress/sidebar/V1.2.x/zh.ts | 38 +- src/.vuepress/sidebar/V1.3.0-2/en.ts | 61 ++- src/.vuepress/sidebar/V1.3.0-2/zh.ts | 38 +- src/.vuepress/sidebar/V1.3.3/en.ts | 87 ++-- src/.vuepress/sidebar/V1.3.3/zh.ts | 54 ++- src/.vuepress/sidebar/en.ts | 31 +- src/.vuepress/sidebar/index.ts | 31 +- src/.vuepress/sidebar/zh.ts | 31 +- src/.vuepress/sidebar_timecho/V0.13.x/en.ts | 59 +-- src/.vuepress/sidebar_timecho/V0.13.x/zh.ts | 47 +- src/.vuepress/sidebar_timecho/V1.0.x/en.ts | 74 ++-- src/.vuepress/sidebar_timecho/V1.0.x/zh.ts | 61 +-- src/.vuepress/sidebar_timecho/V1.1.x/en.ts | 69 +-- src/.vuepress/sidebar_timecho/V1.1.x/zh.ts | 54 ++- src/.vuepress/sidebar_timecho/V1.2.x/en.ts | 58 ++- src/.vuepress/sidebar_timecho/V1.2.x/zh.ts | 45 +- src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts | 71 +-- src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts | 40 +- src/.vuepress/sidebar_timecho/V1.3.3/en.ts | 98 ++-- src/.vuepress/sidebar_timecho/V1.3.3/zh.ts | 54 ++- src/.vuepress/sidebar_timecho/en.ts | 31 +- src/.vuepress/sidebar_timecho/index.ts | 31 +- src/.vuepress/sidebar_timecho/zh.ts | 31 +- src/.vuepress/styles/config.scss | 36 +- src/.vuepress/styles/index.scss | 92 ++-- src/.vuepress/styles/palette.scss | 23 - src/.vuepress/theme.ts | 216 ++++----- src/.vuepress/utils/contributors.ts | 301 +++++++++++++ src/.vuepress/utils/define.ts | 25 -- src/.vuepress/utils/editLink.ts | 71 --- src/.vuepress/utils/getDocVersion.ts | 34 ++ src/.vuepress/utils/index.ts | 24 +- src/.vuepress/utils/typings.ts | 36 -- src/.vuepress/utils/version.ts | 41 -- src/Community/Development-Guide.md | 3 +- src/Community/stage/Committers.md | 6 +- .../stage/Community-Project-Committers.md | 6 +- src/Download/README.md | 366 ++++++++++----- src/README.md | 45 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../Tree/API/Programming-Cpp-Native-API.md | 4 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../workbench-deployment_timecho.md | 6 +- .../Ignition-IoTDB-plugin_timecho.md | 4 +- .../IoTDB-Introduction_timecho.md | 5 +- .../Tree/Tools-System/Data-Import-Tool.md | 5 +- .../Tree/User-Manual/Data-Sync_apache.md | 10 +- .../Tree/User-Manual/Data-Sync_timecho.md | 10 +- .../User-defined-function_apache.md | 5 +- .../User-defined-function_timecho.md | 5 +- .../V0.13.x/API/Programming-Go-Native-API.md | 6 +- .../V0.13.x/Process-Data/Triggers.md | 5 +- .../API/Programming-Cpp-Native-API.md | 4 +- .../Database-Resources.md | 309 ++++++------- .../Environment-Requirements.md | 4 +- .../workbench-deployment_timecho.md | 6 +- .../Ignition-IoTDB-plugin_timecho.md | 4 +- .../IoTDB-Introduction_timecho.md | 5 +- .../V1.3.0-2/User-Manual/Data-Sync_apache.md | 10 +- .../V1.3.0-2/User-Manual/Data-Sync_timecho.md | 10 +- .../User-Manual/User-defined-function.md | 5 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../Tree/API/Programming-Cpp-Native-API.md | 4 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../workbench-deployment_timecho.md | 6 +- .../Ignition-IoTDB-plugin_timecho.md | 4 +- .../IoTDB-Introduction_timecho.md | 5 +- .../Tree/Tools-System/Data-Import-Tool.md | 5 +- .../Tree/User-Manual/Data-Sync_apache.md | 10 +- .../Tree/User-Manual/Data-Sync_timecho.md | 10 +- .../User-defined-function_apache.md | 5 +- .../User-defined-function_timecho.md | 5 +- .../latest/API/Programming-Cpp-Native-API.md | 4 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 6 +- .../workbench-deployment_timecho.md | 6 +- .../Ignition-IoTDB-plugin_timecho.md | 4 +- .../IoTDB-Introduction_timecho.md | 5 +- .../latest/Tools-System/Data-Import-Tool.md | 5 +- .../latest/User-Manual/Data-Sync_apache.md | 10 +- .../latest/User-Manual/Data-Sync_timecho.md | 10 +- .../User-defined-function_apache.md | 5 +- .../User-defined-function_timecho.md | 5 +- src/zh/Community/Development-Guide.md | 3 +- src/zh/Download/README.md | 255 ++++++++--- src/zh/README.md | 44 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../Tree/API/Programming-Cpp-Native-API.md | 4 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../workbench-deployment_timecho.md | 6 +- .../Ignition-IoTDB-plugin_timecho.md | 4 +- .../IoTDB-Introduction_timecho.md | 5 +- .../Master/Tree/Reference/Syntax-Rule.md | 4 +- .../Tree/Tools-System/Data-Import-Tool.md | 5 +- .../Tree/User-Manual/Data-Sync_apache.md | 10 +- .../Tree/User-Manual/Data-Sync_timecho.md | 10 +- .../User-defined-function_apache.md | 5 +- .../User-defined-function_timecho.md | 5 +- .../Edge-Cloud-Collaboration/Sync-Tool.md | 10 +- .../Syntax-Conventions/Literal-Values.md | 4 +- .../V0.13.x/Process-Data/Triggers.md | 4 +- .../Edge-Cloud-Collaboration/Sync-Tool.md | 10 +- .../Syntax-Conventions/Literal-Values.md | 4 +- .../V1.2.x/User-Manual/Syntax-Rule.md | 4 +- .../Edge-Cloud-Collaboration/Sync-Tool.md | 10 +- .../Syntax-Conventions/Literal-Values.md | 4 +- .../API/Programming-Cpp-Native-API.md | 4 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../workbench-deployment_timecho.md | 6 +- .../Ignition-IoTDB-plugin_timecho.md | 4 +- .../IoTDB-Introduction_timecho.md | 5 +- .../V1.3.0-2/User-Manual/Data-Sync_apache.md | 10 +- .../V1.3.0-2/User-Manual/Data-Sync_timecho.md | 10 +- .../V1.3.0-2/User-Manual/Syntax-Rule.md | 4 +- .../User-Manual/User-defined-function.md | 5 +- .../Edge-Cloud-Collaboration/Sync-Tool.md | 10 +- .../Syntax-Conventions/Literal-Values.md | 4 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../Tree/API/Programming-Cpp-Native-API.md | 4 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../workbench-deployment_timecho.md | 6 +- .../Ignition-IoTDB-plugin_timecho.md | 4 +- .../IoTDB-Introduction_timecho.md | 5 +- .../V2.0.1/Tree/Reference/Syntax-Rule.md | 4 +- .../Tree/Tools-System/Data-Import-Tool.md | 5 +- .../Tree/User-Manual/Data-Sync_apache.md | 10 +- .../Tree/User-Manual/Data-Sync_timecho.md | 10 +- .../User-defined-function_apache.md | 5 +- .../User-defined-function_timecho.md | 5 +- .../Edge-Cloud-Collaboration/Sync-Tool.md | 10 +- .../Syntax-Conventions/Literal-Values.md | 4 +- .../latest/API/Programming-Cpp-Native-API.md | 4 +- .../Database-Resources.md | 6 + .../Environment-Requirements.md | 4 +- .../workbench-deployment_timecho.md | 6 +- .../Ignition-IoTDB-plugin_timecho.md | 4 +- .../IoTDB-Introduction_timecho.md | 5 +- .../UserGuide/latest/Reference/Syntax-Rule.md | 4 +- .../latest/Tools-System/Data-Import-Tool.md | 5 +- .../latest/User-Manual/Data-Sync_apache.md | 10 +- .../latest/User-Manual/Data-Sync_timecho.md | 10 +- .../User-defined-function_apache.md | 5 +- .../User-defined-function_timecho.md | 5 +- .../Edge-Cloud-Collaboration/Sync-Tool.md | 10 +- .../Syntax-Conventions/Literal-Values.md | 4 +- tsconfig.base.json | 10 +- tsconfig.json | 20 +- 215 files changed, 3306 insertions(+), 4123 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.cjs create mode 100644 eslint.config.js delete mode 100644 src/.vuepress/components/Contributor.vue delete mode 100644 src/.vuepress/components/Contributors.vue create mode 100644 src/.vuepress/components/HomeCarousel.vue delete mode 100644 src/.vuepress/components/IoTDB.vue delete mode 100644 src/.vuepress/components/IoTDBZH.vue create mode 100644 src/.vuepress/components/ProjectContributors.vue delete mode 100644 src/.vuepress/components/docsearch/client/components/Docsearch.ts delete mode 100644 src/.vuepress/components/docsearch/client/components/index.ts delete mode 100644 src/.vuepress/components/docsearch/client/composables/index.ts delete mode 100644 src/.vuepress/components/docsearch/client/composables/useDocsearchHotkeyListener.ts delete mode 100644 src/.vuepress/components/docsearch/client/composables/useDocsearchShim.ts delete mode 100644 src/.vuepress/components/docsearch/client/config.ts delete mode 100644 src/.vuepress/components/docsearch/client/helpers/docsearch.ts delete mode 100644 src/.vuepress/components/docsearch/client/helpers/index.ts delete mode 100644 src/.vuepress/components/docsearch/client/index.ts delete mode 100644 src/.vuepress/components/docsearch/client/shims.d.ts delete mode 100644 src/.vuepress/components/docsearch/client/styles/docsearch.css delete mode 100644 src/.vuepress/components/docsearch/client/utils/getFacetFilters.ts delete mode 100644 src/.vuepress/components/docsearch/client/utils/getSearchButtonTemplate.ts delete mode 100644 src/.vuepress/components/docsearch/client/utils/index.ts delete mode 100644 src/.vuepress/components/docsearch/client/utils/pollToOpenDocsearch.ts delete mode 100644 src/.vuepress/components/docsearch/client/utils/preconnectToAlgolia.ts delete mode 100644 src/.vuepress/components/docsearch/node/docsearchPlugin.ts delete mode 100644 src/.vuepress/components/docsearch/node/index.ts delete mode 100644 src/.vuepress/components/docsearch/shared/index.ts delete mode 100644 src/.vuepress/components/docsearch/shared/types.ts delete mode 100644 src/.vuepress/public/img/arrow.png delete mode 100644 src/.vuepress/public/img/home-icon1.png delete mode 100644 src/.vuepress/public/img/home-icon2.png delete mode 100644 src/.vuepress/public/img/home-icon3.png delete mode 100644 src/.vuepress/public/img/home-icon4.png delete mode 100644 src/.vuepress/public/img/home-icon5.png delete mode 100644 src/.vuepress/public/img/home-icon6.png delete mode 100644 src/.vuepress/styles/palette.scss create mode 100644 src/.vuepress/utils/contributors.ts delete mode 100644 src/.vuepress/utils/define.ts delete mode 100644 src/.vuepress/utils/editLink.ts create mode 100644 src/.vuepress/utils/getDocVersion.ts delete mode 100644 src/.vuepress/utils/typings.ts delete mode 100644 src/.vuepress/utils/version.ts diff --git a/.asf.yaml b/.asf.yaml index 15b4f6763..6f26560c2 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -17,13 +17,12 @@ # under the License. # - notifications: - issues: reviews@iotdb.apache.org + issues: reviews@iotdb.apache.org pullrequests: reviews@iotdb.apache.org github: - description: "Apache IoTDB Documentation and Site" + description: 'Apache IoTDB Documentation and Site' homepage: https://iotdb.apache.org/ labels: - timeseries @@ -31,11 +30,11 @@ github: - documentation enabled_merge_buttons: # enable squash button: - squash: true + squash: true # enable merge button: - merge: false + merge: false # disable rebase button: - rebase: true + rebase: true collaborators: - CritasWang - krystal-xiao @@ -44,7 +43,7 @@ github: staging: profile: ~ - whoami: asf-staging + whoami: asf-staging publish: - whoami: asf-site + whoami: asf-site diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index cb2f7e952..000000000 --- a/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -/dist -/node_modules -/public -!src/.vuepress \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 92754442f..000000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/* eslint-env node */ -require('@rushstack/eslint-patch/modern-module-resolution'); - -module.exports = { - root: true, - extends: [ - 'plugin:vue/vue3-essential', - '@vue/eslint-config-airbnb-with-typescript', - // '@vue/eslint-config-airbnb-with-typescript/allow-js-in-vue', - ], - parserOptions: { - ecmaVersion: 'latest', - }, - rules: { - 'import/prefer-default-export': 'off', - 'import/no-extraneous-dependencies': 'off', - 'vue/multi-word-component-names': 'off', - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/no-var-requires': 'off', - 'no-param-reassign': 'off', // param reassign - 'no-plusplus': 'off', // ++ - 'vue/require-default-prop': 'off', // default prop todo - 'vuejs-accessibility/click-events-have-key-events': 'off', - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'vue/html-self-closing': ['error', { - html: { - void: 'never', - normal: 'never', - component: 'always', - }, - svg: 'always', - math: 'always', - }], - 'vue/max-len': [ - 'error', - 200, - 2, - { - ignoreUrls: true, - ignoreComments: false, - ignoreRegExpLiterals: true, - ignoreStrings: true, - ignoreTemplateLiterals: true, - - // 1. it's like `ignoreStrings` - // 2. SVG `path`s should be ignored - ignoreHTMLAttributeValues: true, - // Because spaces in HTML are insignificant, - // it shouldn't be hard to start a new line for text content - ignoreHTMLTextContents: false, - }, - ], - }, -}; diff --git a/.github/workflows/site-build.yaml b/.github/workflows/site-build.yaml index ef266adc0..915940198 100644 --- a/.github/workflows/site-build.yaml +++ b/.github/workflows/site-build.yaml @@ -21,23 +21,22 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Install pnpm uses: pnpm/action-setup@v4 - with: - package_json_file: 'package.json' - run_install: true - version: 8 - - name: Use Node.js 20 + + - name: Use Node.js 22 uses: actions/setup-node@v4 with: - node-version: 20 - cache: pnpm + node-version: 22 + - name: Install dependencies run: pnpm install + - name: Test build website env: - NODE_OPTIONS: --max_old_space_size=8192 - run: pnpm run build + NODE_OPTIONS: --max_old_space_size=8192 + run: pnpm build deploy: runs-on: ubuntu-latest @@ -50,21 +49,20 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v4 - with: - package_json_file: 'package.json' - run_install: true - version: 8 - - name: Use Node.js 20 + - name: Use Node.js 22 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 + - name: Install dependencies run: pnpm install + - name: Build website env: - NODE_OPTIONS: --max_old_space_size=8192 - run: pnpm run build + NODE_OPTIONS: --max_old_space_size=8192 + run: pnpm build + - name: Deploy website env: IOTDB_WEBSITE_BUILD: ${{ secrets.IOTDB_WEBSITE_BUILD }} diff --git a/.gitignore b/.gitignore index e23b8be9a..74c2d216d 100644 --- a/.gitignore +++ b/.gitignore @@ -31,7 +31,6 @@ pnpm-lock.yaml # Editor directories and files .vscode/* !.vscode/extensions.json -!.vscode/settings.json .idea *.suo *.ntvs* diff --git a/deploy.cjs b/deploy.cjs index b8beb00d8..80e13b1a2 100644 --- a/deploy.cjs +++ b/deploy.cjs @@ -1,32 +1,35 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ const ghpages = require('gh-pages'); -ghpages.publish('src/.vuepress/dist', { - branch: 'asf-site', - repo: 'https://github.com/apache/iotdb-website.git', - message: 'Site checkin for project iotdb-website', - dotfiles: true, -}, (err) => { - if (err instanceof Error) { - console.error(err); - process.exit(1); - } -}); +ghpages.publish( + 'src/.vuepress/dist', + { + branch: 'asf-site', + repo: 'https://github.com/apache/iotdb-website.git', + message: 'Site checkin for project iotdb-website', + dotfiles: true, + }, + (err) => { + if (err instanceof Error) { + console.error(err); + process.exit(1); + } + }, +); diff --git a/deploy_staging.cjs b/deploy_staging.cjs index 2ce93148a..3a800399d 100644 --- a/deploy_staging.cjs +++ b/deploy_staging.cjs @@ -1,32 +1,35 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ const ghpages = require('gh-pages'); -ghpages.publish('src/.vuepress/dist', { - branch: 'asf-staging', - repo: 'https://github.com/apache/iotdb-website.git', - message: 'Site checkin for project iotdb-website', - dotfiles: true, -}, (err) => { - if (err instanceof Error) { - console.error(err); - process.exit(1); - } -}); +ghpages.publish( + 'src/.vuepress/dist', + { + branch: 'asf-staging', + repo: 'https://github.com/apache/iotdb-website.git', + message: 'Site checkin for project iotdb-website', + dotfiles: true, + }, + (err) => { + if (err instanceof Error) { + console.error(err); + process.exit(1); + } + }, +); diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 000000000..e23eb947e --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,66 @@ +import jsConfig from '@eslint/js'; +import pluginVue from 'eslint-plugin-vue'; +import globals from 'globals'; +import { config, plugin, configs as tsConfigs } from 'typescript-eslint'; + +export default config( + { + ignores: [ + 'dist/**', + 'node_modules/**', + '!src/.vuepress/**', + 'src/.vuepress/.cache/**', + 'src/.vuepress/.temp/**', + 'src/.vuepress/public/**', + ], + }, + + { + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + parserOptions: { + extraFileExtensions: ['.vue'], + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + }, + + jsConfig.configs.recommended, + ...tsConfigs.strict, + + { + files: ['**/*.ts', '**/*.cts', '**/*.mts'], + plugins: { + '@typescript-eslint': plugin, + }, + }, + ...pluginVue.configs['flat/recommended'], + + { + files: ['**/*.{js,cjs,mjs,jsx}'], + ...tsConfigs.disableTypeChecked, + }, + + { + files: ['**/*.cjs'], + rules: { + '@typescript-eslint/no-require-imports': 'off', + }, + }, + + { + files: ['**/*.vue'], + rules: { + 'vue/max-attributes-per-line': 'off', + }, + }, + + { + files: ['deploy.cjs', 'deploy_staging.cjs'], + languageOptions: { + globals: globals.node, + }, + }, +); diff --git a/package.json b/package.json index 80964b3f4..c67f8ed1a 100644 --- a/package.json +++ b/package.json @@ -4,50 +4,43 @@ "description": "Apache IoTDB Website", "license": "Apache Licence 2.0", "type": "module", - "scripts": { - "build": "node --max_old_space_size=6000 ./node_modules/vuepress/bin/vuepress.js build src", - "docs:clean-dev": "vuepress dev src --clean-cache", - "dev": "vuepress dev src", - "docs:update-package": "npx vp-update", - "deploy": "node --max_old_space_size=6000 deploy.cjs", - "deploy:staging": "node --max_old_space_size=6000 deploy_staging.cjs", - "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix" - }, - "devDependencies": { - "@docsearch/css": "3.8.0", - "@docsearch/js": "3.8.0", - "@docsearch/react": "3.8.0", - "@rushstack/eslint-patch": "1.6.0", - "@vue/eslint-config-airbnb-with-typescript": "^7.0.1", - "@vue/repl": "4.1.1", - "@vuepress/bundler-vite": "2.0.0-rc.14", - "@vuepress/helper": "2.0.0-rc.39", - "@vuepress/plugin-catalog": "2.0.0-rc.39", - "@vuepress/plugin-docsearch": "2.0.0-rc.39", - "@vuepress/plugin-google-analytics": "2.0.0-rc.37", - "@vuepress/plugin-prismjs": "2.0.0-rc.39", - "@vuepress/plugin-redirect": "2.0.0-rc.39", - "@vuepress/plugin-shiki": "2.0.0-rc.39", - "@vueuse/core": "10.11.0", - "algoliasearch": "^5.15.0", - "element-plus": "2.4.3", - "eslint": "8.55.0", - "eslint-plugin-vue": "9.19.2", - "gh-pages": "6.1.0", - "ts-debounce": "^4.0.0", - "vue": "^3.4.38", - "vuepress": "2.0.0-rc.14", - "vuepress-theme-hope": "2.0.0-rc.52" - }, - "extensionDependencies": [], "licenses": [ { "type": "Apache-2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0" } ], + "scripts": { + "build": "node --max_old_space_size=8192 ./node_modules/vuepress/bin/vuepress.js build src", + "clean-dev": "vuepress dev src --clean-cache", + "dev": "vuepress dev src", + "update-package": "npx vp-update", + "deploy": "node --max_old_space_size=8192 deploy.cjs", + "deploy:staging": "node --max_old_space_size=8192 deploy_staging.cjs", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix" + }, "dependencies": { - "@vue/repl": "^4.1.1", - "katex": "^0.16.11" - } + "@vuepress/bundler-vite": "2.0.0-rc.19", + "@vuepress/helper": "2.0.0-rc.66", + "@vuepress/plugin-docsearch": "2.0.0-rc.67", + "mathjax-full": "3.2.2", + "sass-embedded": "1.83.0", + "vue": "3.5.13", + "vue3-carousel": "0.9.0", + "vuepress": "2.0.0-rc.19", + "vuepress-theme-hope": "2.0.0-rc.66" + }, + "devDependencies": { + "@eslint/js": "9.17.0", + "eslint": "9.17.0", + "eslint-plugin-vue": "9.32.0", + "gh-pages": "6.2.0", + "globals": "15.13.0", + "typescript-eslint": "8.18.0" + }, + "prettier": { + "singleQuote": true, + "trailingComma": "all" + }, + "packageManager": "pnpm@9.15.0" } diff --git a/src/.vuepress/client.ts b/src/.vuepress/client.ts index 6e93d5e55..bdbe4acd0 100644 --- a/src/.vuepress/client.ts +++ b/src/.vuepress/client.ts @@ -1,37 +1,42 @@ /* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ -import { defineClientConfig } from 'vuepress/client'; -import ElementPlus from 'element-plus'; -import IoTDB from './components/IoTDB.vue'; -import IoTDBZH from './components/IoTDBZH.vue'; -import Contributor from './components/Contributor.vue'; -import Contributors from './components/Contributors.vue'; - -import 'element-plus/dist/index.css'; +import { defineDocSearchConfig } from '@vuepress/plugin-docsearch/client'; +import { computed } from 'vue'; +import { defineClientConfig, usePageData } from 'vuepress/client'; +import { getDocVersion } from './utils/index.js'; export default defineClientConfig({ + setup() { + const pageData = usePageData(); + + const docSearchConfig = computed(() => ({ + appId: 'JLT9R2YGAE', + apiKey: 'f1f30c0df04d74534e066d07786bce05', + indexName: 'iotdb-apache', + maxResultsPerGroup: 10, + disableUserPersonalization: true, + searchParameters: { + indexName: 'iotdb-apache', + facetFilters: [`version:${getDocVersion(pageData.value.path)}`], + }, + })); - enhance: ({ app }) => { - app.use(ElementPlus); - app.component('IoTDB', IoTDB); - app.component('Contributor', Contributor); - app.component('Contributors', Contributors); - app.component('IoTDBZH', IoTDBZH); + defineDocSearchConfig(docSearchConfig); }, }); diff --git a/src/.vuepress/components/Contributor.vue b/src/.vuepress/components/Contributor.vue deleted file mode 100644 index c4cb1d801..000000000 --- a/src/.vuepress/components/Contributor.vue +++ /dev/null @@ -1,411 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - - - - diff --git a/src/.vuepress/components/Contributors.vue b/src/.vuepress/components/Contributors.vue deleted file mode 100644 index 8fc5e67ed..000000000 --- a/src/.vuepress/components/Contributors.vue +++ /dev/null @@ -1,418 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - - - - diff --git a/src/.vuepress/components/HomeCarousel.vue b/src/.vuepress/components/HomeCarousel.vue new file mode 100644 index 000000000..6b76572ce --- /dev/null +++ b/src/.vuepress/components/HomeCarousel.vue @@ -0,0 +1,121 @@ + + + + + + diff --git a/src/.vuepress/components/IoTDB.vue b/src/.vuepress/components/IoTDB.vue deleted file mode 100644 index 9b8b8475d..000000000 --- a/src/.vuepress/components/IoTDB.vue +++ /dev/null @@ -1,312 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - - - - - diff --git a/src/.vuepress/components/IoTDBZH.vue b/src/.vuepress/components/IoTDBZH.vue deleted file mode 100644 index dc061f099..000000000 --- a/src/.vuepress/components/IoTDBZH.vue +++ /dev/null @@ -1,306 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - - - - - diff --git a/src/.vuepress/components/PageFooter.vue b/src/.vuepress/components/PageFooter.vue index df58dbacd..dd8b4e4f5 100644 --- a/src/.vuepress/components/PageFooter.vue +++ b/src/.vuepress/components/PageFooter.vue @@ -1,4 +1,4 @@ -/* + - + + + + diff --git a/src/.vuepress/components/ProjectContributors.vue b/src/.vuepress/components/ProjectContributors.vue new file mode 100644 index 000000000..d4a0ae696 --- /dev/null +++ b/src/.vuepress/components/ProjectContributors.vue @@ -0,0 +1,140 @@ + + + + + + + diff --git a/src/.vuepress/components/docsearch/client/components/Docsearch.ts b/src/.vuepress/components/docsearch/client/components/Docsearch.ts deleted file mode 100644 index 86936a2de..000000000 --- a/src/.vuepress/components/docsearch/client/components/Docsearch.ts +++ /dev/null @@ -1,129 +0,0 @@ -/* eslint-disable no-underscore-dangle */ -/* eslint-disable @typescript-eslint/naming-convention */ -import type { SearchParamsObject } from 'algoliasearch'; -import type { PropType } from 'vue'; -import { - computed, defineComponent, h, onMounted, ref, watch, -} from 'vue'; -import { usePageLang, useRouteLocale, usePageData } from 'vuepress/client'; -import type { DocsearchOptions } from '../../shared/index.js'; -import { - useDocsearchHotkeyListener, - useDocsearchShim, -} from '../composables/index.js'; -import { useDocSearchOptions } from '../helpers/index.js'; -import { - getFacetFilters, - getSearchButtonTemplate, - pollToOpenDocsearch, - preconnectToAlgolia, -} from '../utils/index.js'; - -import { getDocVersion } from '../../../../utils/version.js'; - -declare const __DOCSEARCH_INJECT_STYLES__: boolean; -const defaultBranch = 'latest'; - -if (__DOCSEARCH_INJECT_STYLES__) { - import('@docsearch/css'); - import('../styles/docsearch.css'); -} - -export const Docsearch = defineComponent({ - name: 'Docsearch', - - props: { - containerId: { - type: String, - default: 'docsearch-container', - }, - options: { - type: Object as PropType, - default: () => ({}), - }, - }, - - setup(props) { - const docSearchOptions = useDocSearchOptions(); - const docsearchShim = useDocsearchShim(); - const lang = usePageLang(); - const routeLocale = useRouteLocale(); - const pageData = usePageData(); - - const hasInitialized = ref(false); - const hasTriggered = ref(false); - - const version = computed(() => getDocVersion(defaultBranch, pageData.value.path)); - // resolve docsearch options for current locale - const options = computed(() => { - const { locales = {}, ...rest } = props.options; - - return { - ...docSearchOptions.value, - ...rest, - ...locales[routeLocale.value], - }; - }); - - /** - * Import docsearch js and initialize - */ - const initialize = async (): Promise => { - const { default: docsearch } = await import('@docsearch/js'); - - const { indexName, searchParameters } = options.value; - docsearch({ - ...docsearchShim, - ...options.value, - container: `#${props.containerId}`, - searchParameters: { - ...searchParameters, - indexName, - facetFilters: getFacetFilters( - (searchParameters as SearchParamsObject | undefined)?.facetFilters, - lang.value, - version.value, - ), - }, - }); - // mark as initialized - hasInitialized.value = true; - }; - - /** - * Trigger docsearch initialization and open it - */ - const trigger = (): void => { - if (hasTriggered.value || hasInitialized.value) return; - // mark as triggered - hasTriggered.value = true; - // initialize and open - initialize(); - pollToOpenDocsearch(); - // re-initialize when route locale changes - watch(routeLocale, initialize); - watch(() => version.value, initialize); - }; - - // trigger when hotkey is pressed - useDocsearchHotkeyListener(trigger); - - // preconnect to algolia - onMounted(() => preconnectToAlgolia(options.value.appId)); - - return () => [ - h('div', { - id: props.containerId, - style: { display: hasInitialized.value ? 'block' : 'none' }, - }), - hasInitialized.value - ? null - : h('div', { - onClick: trigger, - innerHTML: getSearchButtonTemplate( - options.value.translations?.button, - ), - }), - ]; - }, -}); diff --git a/src/.vuepress/components/docsearch/client/components/index.ts b/src/.vuepress/components/docsearch/client/components/index.ts deleted file mode 100644 index bf98de731..000000000 --- a/src/.vuepress/components/docsearch/client/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Docsearch.js'; diff --git a/src/.vuepress/components/docsearch/client/composables/index.ts b/src/.vuepress/components/docsearch/client/composables/index.ts deleted file mode 100644 index 3656825ad..000000000 --- a/src/.vuepress/components/docsearch/client/composables/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './useDocsearchHotkeyListener.js'; -export * from './useDocsearchShim.js'; diff --git a/src/.vuepress/components/docsearch/client/composables/useDocsearchHotkeyListener.ts b/src/.vuepress/components/docsearch/client/composables/useDocsearchHotkeyListener.ts deleted file mode 100644 index b1ba3021e..000000000 --- a/src/.vuepress/components/docsearch/client/composables/useDocsearchHotkeyListener.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { useEventListener } from '@vueuse/core'; - -/** - * Add hotkey listener, remove it after triggered - */ -export const useDocsearchHotkeyListener = (callback: () => void): void => { - const remove = useEventListener('keydown', (event) => { - const isHotKeyBind = event.key === 'k' && (event.ctrlKey || event.metaKey); - const isSlashKey = event.key === '/'; - - if (!isSlashKey && !isHotKeyBind) { - return; - } - - event.preventDefault(); - callback(); - remove(); - }); -}; diff --git a/src/.vuepress/components/docsearch/client/composables/useDocsearchShim.ts b/src/.vuepress/components/docsearch/client/composables/useDocsearchShim.ts deleted file mode 100644 index d4c4c6874..000000000 --- a/src/.vuepress/components/docsearch/client/composables/useDocsearchShim.ts +++ /dev/null @@ -1,73 +0,0 @@ -/* eslint-disable no-underscore-dangle */ -/* eslint-disable @typescript-eslint/naming-convention */ -import type { DocSearchProps } from '@docsearch/react'; -import { debounce } from 'ts-debounce'; -import { useRouter } from 'vuepress/client'; -import { removeLeadingSlash, resolveRoutePathFromUrl } from 'vuepress/shared'; - -declare const __DOCSEARCH_INDEX_BASE__: string; - -const isSpecialClick = (event: MouseEvent): boolean => event.button === 1 - || event.altKey - || event.ctrlKey - || event.metaKey - || event.shiftKey; - -/** - * Get docsearch options to be compatible with VuePress - */ -export const useDocsearchShim = (): Partial => { - const router = useRouter(); - - return { - // convert item url to pathname of current site - transformItems: (items) => items.map((item) => ({ - ...item, - url: `${ - // append current base - __VUEPRESS_BASE__ - }${removeLeadingSlash( - // get route path - resolveRoutePathFromUrl(item.url, __DOCSEARCH_INDEX_BASE__), - )}`, - })), - - // render the hit component with custom `onClick` handler - hitComponent: ({ hit, children }) => ({ - type: 'a', - ref: undefined, - constructor: undefined, - key: undefined, - props: { - href: hit.url, - // handle `onClick` by `router.push` - onClick: (event: MouseEvent) => { - if (isSpecialClick(event)) { - return; - } - event.preventDefault(); - router.push(hit.url.replace(__VUEPRESS_BASE__, '/')); - }, - children, - }, - __v: null, - }) as unknown, - - // navigation behavior triggered by `onKeyDown` internally - navigator: { - // when pressing Enter without metaKey - navigate: ({ itemUrl }) => { - router.push(itemUrl.replace(__VUEPRESS_BASE__, '/')); - }, - }, - - // add search debounce - transformSearchClient: (searchClient) => { - const searchWithDebounce = debounce(searchClient.search, 500); - return { - ...searchClient, - search: async (...args) => searchWithDebounce(...args), - }; - }, - } as Partial; -}; diff --git a/src/.vuepress/components/docsearch/client/config.ts b/src/.vuepress/components/docsearch/client/config.ts deleted file mode 100644 index a09cb2f44..000000000 --- a/src/.vuepress/components/docsearch/client/config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineClientConfig } from 'vuepress/client'; -import { Docsearch } from './components/index.js'; -import { injectDocSearchConfig } from './helpers/index.js'; - -export default defineClientConfig({ - enhance({ app }) { - injectDocSearchConfig(app); - app.component('Docsearch', Docsearch); - }, -}); diff --git a/src/.vuepress/components/docsearch/client/helpers/docsearch.ts b/src/.vuepress/components/docsearch/client/helpers/docsearch.ts deleted file mode 100644 index d042ce26c..000000000 --- a/src/.vuepress/components/docsearch/client/helpers/docsearch.ts +++ /dev/null @@ -1,68 +0,0 @@ -/* eslint-disable no-underscore-dangle */ -/* eslint-disable @typescript-eslint/naming-convention */ -import type { DocSearchProps } from '@docsearch/react'; -import { deepAssign, isFunction } from '@vuepress/helper/client'; -import type { - App, ComputedRef, InjectionKey, MaybeRefOrGetter, Ref, -} from 'vue'; -import { - computed, inject, isRef, ref, watch, -} from 'vue'; -import { useRouteLocale } from 'vuepress/client'; -import type { DocsearchOptions } from '../../shared/index.js'; - -declare const __VUEPRESS_DEV__: boolean; -declare const __DOCSEARCH_OPTIONS__: DocsearchOptions; - -const docSearchOptions: Partial = __DOCSEARCH_OPTIONS__; - -const docsearch: Ref = ref(docSearchOptions as DocSearchProps); - -const docsearchSymbol: InjectionKey< -Ref< -DocSearchProps & { - locales?: Record -} -> -> = Symbol(__VUEPRESS_DEV__ ? 'docsearch' : ''); - -export type DocSearchClientLocaleOptions = Partial< -Omit ->; - -export interface DocSearchClientOptions extends DocSearchClientLocaleOptions { - locales?: Record -} - -export const defineDocSearchConfig = ( - options: MaybeRefOrGetter, -): void => { - if (isRef(options)) { - watch( - () => options.value, - (value) => { - docsearch.value = deepAssign({}, docSearchOptions, value); - }, - ); - } else if (isFunction(options)) { - watch(options, (value) => { - docsearch.value = deepAssign({}, docSearchOptions, value); - }); - } else { - docsearch.value = deepAssign({}, docSearchOptions, options); - } -}; - -export const useDocSearchOptions = (): ComputedRef => { - const options = inject(docsearchSymbol)!; - const routeLocale = useRouteLocale(); - - return computed(() => ({ - ...options.value, - ...options.value.locales?.[routeLocale.value], - })); -}; - -export const injectDocSearchConfig = (app: App): void => { - app.provide(docsearchSymbol, docsearch); -}; diff --git a/src/.vuepress/components/docsearch/client/helpers/index.ts b/src/.vuepress/components/docsearch/client/helpers/index.ts deleted file mode 100644 index 3b13fb70e..000000000 --- a/src/.vuepress/components/docsearch/client/helpers/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './docsearch.js'; diff --git a/src/.vuepress/components/docsearch/client/index.ts b/src/.vuepress/components/docsearch/client/index.ts deleted file mode 100644 index b791f762e..000000000 --- a/src/.vuepress/components/docsearch/client/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './components/index.js'; -export * from './helpers/index.js'; -export type * from '../shared/index.js'; diff --git a/src/.vuepress/components/docsearch/client/shims.d.ts b/src/.vuepress/components/docsearch/client/shims.d.ts deleted file mode 100644 index f7fc1aedd..000000000 --- a/src/.vuepress/components/docsearch/client/shims.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -declare module '@docsearch/css' { - export {}; -} - -declare module '*.css' { - export {}; -} diff --git a/src/.vuepress/components/docsearch/client/styles/docsearch.css b/src/.vuepress/components/docsearch/client/styles/docsearch.css deleted file mode 100644 index 75bb82f52..000000000 --- a/src/.vuepress/components/docsearch/client/styles/docsearch.css +++ /dev/null @@ -1,15 +0,0 @@ -/* stylelint-disable selector-class-pattern */ - -@media (max-width: 750px) { - .DocSearch-Container { - /* fix the search modal on mobile */ - position: fixed; - } -} - -@media print { - #docsearch-container, - .DocSearch-Button { - display: none; - } -} diff --git a/src/.vuepress/components/docsearch/client/utils/getFacetFilters.ts b/src/.vuepress/components/docsearch/client/utils/getFacetFilters.ts deleted file mode 100644 index 5eb7d7e63..000000000 --- a/src/.vuepress/components/docsearch/client/utils/getFacetFilters.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { DocsearchOptions } from '../../shared/index.js'; - -type FacetFilters = - Required['searchParameters']['facetFilters']; - -/** - * Get facet filters for current lang - */ -export const getFacetFilters = ( - rawFacetFilters: FacetFilters = [], - lang: string, - version: string, -): FacetFilters => [ - `lang:${lang}`, - `version:${version}`, - ...((Array.isArray(rawFacetFilters) - ? rawFacetFilters - : [rawFacetFilters]) as string[]), -]; diff --git a/src/.vuepress/components/docsearch/client/utils/getSearchButtonTemplate.ts b/src/.vuepress/components/docsearch/client/utils/getSearchButtonTemplate.ts deleted file mode 100644 index 7ae3717ad..000000000 --- a/src/.vuepress/components/docsearch/client/utils/getSearchButtonTemplate.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { DocSearchTranslations } from '@docsearch/react'; - -/** - * Get the search button template - * - * Use the same content as in @docsearch/js - * - * TODO: the meta key text should also be dynamic - */ -export const getSearchButtonTemplate = ({ - buttonText = 'Search', - buttonAriaLabel = buttonText, -}: DocSearchTranslations['button'] = {}): string => ``; diff --git a/src/.vuepress/components/docsearch/client/utils/index.ts b/src/.vuepress/components/docsearch/client/utils/index.ts deleted file mode 100644 index 46345213b..000000000 --- a/src/.vuepress/components/docsearch/client/utils/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './getFacetFilters.js'; -export * from './getSearchButtonTemplate.js'; -export * from './pollToOpenDocsearch.js'; -export * from './preconnectToAlgolia.js'; diff --git a/src/.vuepress/components/docsearch/client/utils/pollToOpenDocsearch.ts b/src/.vuepress/components/docsearch/client/utils/pollToOpenDocsearch.ts deleted file mode 100644 index c9e790172..000000000 --- a/src/.vuepress/components/docsearch/client/utils/pollToOpenDocsearch.ts +++ /dev/null @@ -1,15 +0,0 @@ -const POLL_INTERVAL = 16; - -/** - * Programmatically open the docsearch modal - */ -export const pollToOpenDocsearch = (): void => { - if (document.querySelector('.DocSearch-Modal')) return; - const e = new Event('keydown') as { - -readonly [P in keyof KeyboardEvent]: KeyboardEvent[P] - }; - e.key = 'k'; - e.metaKey = true; - window.dispatchEvent(e); - setTimeout(pollToOpenDocsearch, POLL_INTERVAL); -}; diff --git a/src/.vuepress/components/docsearch/client/utils/preconnectToAlgolia.ts b/src/.vuepress/components/docsearch/client/utils/preconnectToAlgolia.ts deleted file mode 100644 index 3f9254419..000000000 --- a/src/.vuepress/components/docsearch/client/utils/preconnectToAlgolia.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Preconnect to Algolia's API - */ -export const preconnectToAlgolia = (appId: string): void => { - const id = 'algolia-preconnect'; - const rIC = window.requestIdleCallback || setTimeout; - rIC(() => { - if (document.head.querySelector(`#${id}`)) return; - const preconnect = document.createElement('link'); - preconnect.id = id; - preconnect.rel = 'preconnect'; - preconnect.href = `https://${appId}-dsn.algolia.net`; - preconnect.crossOrigin = ''; - document.head.appendChild(preconnect); - }); -}; diff --git a/src/.vuepress/components/docsearch/node/docsearchPlugin.ts b/src/.vuepress/components/docsearch/node/docsearchPlugin.ts deleted file mode 100644 index c6ca0b2ef..000000000 --- a/src/.vuepress/components/docsearch/node/docsearchPlugin.ts +++ /dev/null @@ -1,37 +0,0 @@ -import type { Plugin } from 'vuepress/core'; -import { getDirname, path } from 'vuepress/utils'; -import type { DocsearchOptions } from '../shared/index.js'; - -// eslint-disable-next-line @typescript-eslint/naming-convention, no-underscore-dangle -const __dirname = getDirname(import.meta.url); - -/** - * Options for @vuepress/plugin-docsearch - */ -export interface DocsearchPluginOptions extends DocsearchOptions { - /** - * Base path of the search index - */ - indexBase?: string - - /** - * Whether to inject docsearch default styles - */ - injectStyles?: boolean -} - -export const docsearchPlugin = ({ - injectStyles = true, - indexBase, - ...options -}: DocsearchPluginOptions = {}): Plugin => ({ - name: '@vuepress/plugin-docsearch-iotdb', - - clientConfigFile: path.resolve(__dirname, '../client/config.ts'), - - define: (app) => ({ - __DOCSEARCH_INJECT_STYLES__: injectStyles, - __DOCSEARCH_INDEX_BASE__: indexBase || app.options.base, - __DOCSEARCH_OPTIONS__: options, - }), -}); diff --git a/src/.vuepress/components/docsearch/node/index.ts b/src/.vuepress/components/docsearch/node/index.ts deleted file mode 100644 index 159eb7c38..000000000 --- a/src/.vuepress/components/docsearch/node/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { docsearchPlugin } from './docsearchPlugin.js'; - -export * from './docsearchPlugin.js'; -export type * from '../shared/index.js'; -/** @deprecated Use named export instead */ -export default docsearchPlugin; diff --git a/src/.vuepress/components/docsearch/shared/index.ts b/src/.vuepress/components/docsearch/shared/index.ts deleted file mode 100644 index d4702960d..000000000 --- a/src/.vuepress/components/docsearch/shared/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './types.js'; diff --git a/src/.vuepress/components/docsearch/shared/types.ts b/src/.vuepress/components/docsearch/shared/types.ts deleted file mode 100644 index 57dae7994..000000000 --- a/src/.vuepress/components/docsearch/shared/types.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type { DocSearchProps } from '@docsearch/react'; -import type { LocaleConfig } from 'vuepress/shared'; - -export type DocsearchLocaleOptions = Partial< -Pick< -DocSearchProps, -| 'appId' -| 'apiKey' -| 'indexName' -| 'placeholder' -| 'searchParameters' -| 'maxResultsPerGroup' -| 'disableUserPersonalization' -| 'initialQuery' -| 'translations' -> ->; - -export interface DocsearchOptions extends DocsearchLocaleOptions { - locales?: LocaleConfig -} diff --git a/src/.vuepress/config.ts b/src/.vuepress/config.ts index 089806c69..f37a77510 100644 --- a/src/.vuepress/config.ts +++ b/src/.vuepress/config.ts @@ -1,27 +1,24 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { getDirname, path } from 'vuepress/utils'; import { viteBundler } from '@vuepress/bundler-vite'; import { defineUserConfig } from 'vuepress'; -import { redirectPlugin } from '@vuepress/plugin-redirect'; -import { docsearchPlugin } from './components/docsearch/node/index.js'; import theme from './theme.js'; const dirname = getDirname(import.meta.url); @@ -45,11 +42,33 @@ export default defineUserConfig({ theme, head: [ ['link', { rel: 'icon', href: '/favicon.ico' }], - ['meta', { name: 'Description', content: 'Apache IoTDB: Time Series Database for IoT' }], - ['meta', { name: 'Keywords', content: 'TSDB, time series, time series database, IoTDB, IoT database, IoT data management,时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据' }], + [ + 'meta', + { + name: 'Description', + content: 'Apache IoTDB: Time Series Database for IoT', + }, + ], + [ + 'meta', + { + name: 'Keywords', + content: + 'TSDB, time series, time series database, IoTDB, IoT database, IoT data management, 时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据', + }, + ], ['meta', { name: 'baidu-site-verification', content: 'wfKETzB3OT' }], - ['meta', { name: 'google-site-verification', content: 'mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo' }], - ['script', { type: 'text/javascript' }, ` + [ + 'meta', + { + name: 'google-site-verification', + content: 'mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo', + }, + ], + [ + 'script', + { type: 'text/javascript' }, + `\ var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(["setDoNotTrack", true]); @@ -63,7 +82,8 @@ _paq.push(['enableLinkTracking']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); - `], +`, + ], ], shouldPrefetch: false, @@ -72,70 +92,7 @@ _paq.push(['enableLinkTracking']); dirname, './components/PageFooter.vue', ), - // '@theme-hope/modules/info/utils/index': path.resolve( - // dirname, - // './utils/index', - // ), }, - plugins: [ - docsearchPlugin({ - appId: 'JLT9R2YGAE', - apiKey: 'f1f30c0df04d74534e066d07786bce05', - indexName: 'iotdb-apache', - maxResultsPerGroup: 10, - disableUserPersonalization: true, - locales: { - '/zh/': { - placeholder: '搜索文档', - translations: { - button: { - buttonText: '搜索文档', - buttonAriaLabel: '搜索文档', - }, - modal: { - searchBox: { - resetButtonTitle: '清除查询条件', - resetButtonAriaLabel: '清除查询条件', - cancelButtonText: '取消', - cancelButtonAriaLabel: '取消', - }, - startScreen: { - recentSearchesTitle: '搜索历史', - noRecentSearchesText: '没有搜索历史', - saveRecentSearchButtonTitle: '保存至搜索历史', - removeRecentSearchButtonTitle: '从搜索历史中移除', - favoriteSearchesTitle: '收藏', - removeFavoriteSearchButtonTitle: '从收藏中移除', - }, - errorScreen: { - titleText: '无法获取结果', - helpText: '你可能需要检查你的网络连接', - }, - footer: { - selectText: '选择', - navigateText: '切换', - closeText: '关闭', - searchByText: '搜索提供者', - }, - noResultsScreen: { - noResultsText: '无法找到相关结果', - suggestedQueryText: '你可以尝试查询', - reportMissingResultsText: '你认为该查询应该有结果?', - reportMissingResultsLinkText: '点击反馈', - }, - }, - }, - }, - }, - }), - redirectPlugin({ - // hostname: 'https://iotdb.apache.org/', - config: { - '/UserGuide/Master/QuickStart/QuickStart.html': '/UserGuide/latest/QuickStart/QuickStart_apache.html', - '/zh/UserGuide/Master/QuickStart/QuickStart.html': '/zh/UserGuide/latest/QuickStart/QuickStart_apache.html', - }, - }), - ], bundler: viteBundler({ vuePluginOptions: { template: { @@ -145,5 +102,12 @@ _paq.push(['enableLinkTracking']); }, }, }), - pagePatterns: ['**/*.md', '!**/*_timecho.md', '!**/stage/**/*.md', '!**/Master/**/*.md', '!.vuepress', '!node_modules'], + pagePatterns: [ + '**/*.md', + '!**/*_timecho.md', + '!**/stage/**/*.md', + '!**/Master/**/*.md', + '!.vuepress', + '!node_modules', + ], }); diff --git a/src/.vuepress/navbar/en.ts b/src/.vuepress/navbar/en.ts index e6a0d5093..c3521349e 100644 --- a/src/.vuepress/navbar/en.ts +++ b/src/.vuepress/navbar/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { navbar } from 'vuepress-theme-hope'; @@ -24,8 +23,14 @@ export const enNavbar = navbar([ text: 'Documentation', children: [ // { text: 'latest', link: '/UserGuide/Master/QuickStart/QuickStart_apache' }, - { text: 'v1.3.3', link: '/UserGuide/latest/QuickStart/QuickStart_apache' }, - { text: 'v1.3.0/1/2', link: '/UserGuide/V1.3.0-2/QuickStart/QuickStart_apache' }, + { + text: 'v1.3.3', + link: '/UserGuide/latest/QuickStart/QuickStart_apache', + }, + { + text: 'v1.3.0/1/2', + link: '/UserGuide/V1.3.0-2/QuickStart/QuickStart_apache', + }, { text: 'v1.2.x', link: '/UserGuide/V1.2.x/QuickStart/QuickStart' }, { text: 'v1.1.x', link: '/UserGuide/V1.1.x/QuickStart/QuickStart' }, { text: 'v1.0.x', link: '/UserGuide/V1.0.x/QuickStart/QuickStart' }, @@ -46,21 +51,33 @@ export const enNavbar = navbar([ { text: 'About the Community', link: '/Community/About-the-Community' }, { text: 'Development Guide', link: '/Community/Development-Guide' }, { text: 'Community Partners', link: '/Community/Community-Partners' }, - { text: 'Communication Channels', link: '/Community/Communication-Channels' }, + { + text: 'Communication Channels', + link: '/Community/Communication-Channels', + }, { text: 'Events and Reports', link: '/Community/Events-and-Reports' }, { text: 'Commiters', link: '/Community/Commiters' }, ], - }, + }, { text: 'ASF', children: [ { text: 'Foundation', link: 'https://www.apache.org/' }, { text: 'License', link: 'https://www.apache.org/licenses/' }, { text: 'Security', link: 'https://www.apache.org/security/' }, - { text: 'Sponsorship', link: 'https://www.apache.org/foundation/sponsorship.html' }, + { + text: 'Sponsorship', + link: 'https://www.apache.org/foundation/sponsorship.html', + }, { text: 'Thanks', link: 'https://www.apache.org/foundation/thanks.html' }, - { text: 'Current Events', link: 'https://www.apache.org/events/current-event' }, - { text: 'Privacy', link: 'https://privacy.apache.org/policies/privacy-policy-public.html' }, + { + text: 'Current Events', + link: 'https://www.apache.org/events/current-event', + }, + { + text: 'Privacy', + link: 'https://privacy.apache.org/policies/privacy-policy-public.html', + }, ], }, ]); diff --git a/src/.vuepress/navbar/index.ts b/src/.vuepress/navbar/index.ts index 4493c7ebe..3e7096aa4 100644 --- a/src/.vuepress/navbar/index.ts +++ b/src/.vuepress/navbar/index.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export * from './en.js'; diff --git a/src/.vuepress/navbar/zh.ts b/src/.vuepress/navbar/zh.ts index 4e9c7c71e..a11bca08d 100644 --- a/src/.vuepress/navbar/zh.ts +++ b/src/.vuepress/navbar/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { navbar } from 'vuepress-theme-hope'; @@ -24,8 +23,14 @@ export const zhNavbar = navbar([ text: '文档', children: [ // { text: 'latest', link: '/zh/UserGuide/Master/QuickStart/QuickStart_apache' }, - { text: 'v1.3.3', link: '/zh/UserGuide/latest/QuickStart/QuickStart_apache' }, - { text: 'v1.3.0/1/2', link: '/zh/UserGuide/V1.3.0-2/QuickStart/QuickStart_apache' }, + { + text: 'v1.3.3', + link: '/zh/UserGuide/latest/QuickStart/QuickStart_apache', + }, + { + text: 'v1.3.0/1/2', + link: '/zh/UserGuide/V1.3.0-2/QuickStart/QuickStart_apache', + }, { text: 'v1.2.x', link: '/zh/UserGuide/V1.2.x/QuickStart/QuickStart' }, { text: 'v1.1.x', link: '/zh/UserGuide/V1.1.x/QuickStart/QuickStart' }, { text: 'v1.0.x', link: '/zh/UserGuide/V1.0.x/QuickStart/QuickStart' }, @@ -57,10 +62,16 @@ export const zhNavbar = navbar([ { text: '基金会', link: 'https://www.apache.org/' }, { text: '许可证', link: 'https://www.apache.org/licenses/' }, { text: '安全', link: 'https://www.apache.org/security/' }, - { text: '赞助', link: 'https://www.apache.org/foundation/sponsorship.html' }, + { + text: '赞助', + link: 'https://www.apache.org/foundation/sponsorship.html', + }, { text: '致谢', link: 'https://www.apache.org/foundation/thanks.html' }, { text: '活动', link: 'https://www.apache.org/events/current-event' }, - { text: '隐私', link: 'https://privacy.apache.org/policies/privacy-policy-public.html' }, + { + text: '隐私', + link: 'https://privacy.apache.org/policies/privacy-policy-public.html', + }, ], }, ]); diff --git a/src/.vuepress/navbar_timecho/en.ts b/src/.vuepress/navbar_timecho/en.ts index 4a3b05f92..ed410ad10 100644 --- a/src/.vuepress/navbar_timecho/en.ts +++ b/src/.vuepress/navbar_timecho/en.ts @@ -1,53 +1,54 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ - import { navbar } from 'vuepress-theme-hope'; +import { navbar } from 'vuepress-theme-hope'; - export const enNavbar = navbar([ - { - text: 'Home', - link: '/', - }, - { - text: 'Product', - link: '/product', - }, - { - text: 'Documentation', - children: [ - { text: 'latest', link: '/UserGuide/latest/QuickStart/QuickStart_timecho' }, - { text: 'v1.1.x', link: '/UserGuide/V1.1.x/QuickStart/QuickStart' }, - { text: 'v1.0.x', link: '/UserGuide/V1.0.x/QuickStart/QuickStart' }, - { text: 'v0.13.x', link: '/UserGuide/V0.13.x/QuickStart/QuickStart' }, - ], - }, - { - text: 'News', - link: '/categories/news', - }, - { - text: 'Blogs', - link: '/categories/blogs', - }, - { - text: 'About', - link: '/aboutus', - }, - ]); - \ No newline at end of file +export const enNavbar = navbar([ + { + text: 'Home', + link: '/', + }, + { + text: 'Product', + link: '/product', + }, + { + text: 'Documentation', + children: [ + { + text: 'latest', + link: '/UserGuide/latest/QuickStart/QuickStart_timecho', + }, + { text: 'v1.1.x', link: '/UserGuide/V1.1.x/QuickStart/QuickStart' }, + { text: 'v1.0.x', link: '/UserGuide/V1.0.x/QuickStart/QuickStart' }, + { text: 'v0.13.x', link: '/UserGuide/V0.13.x/QuickStart/QuickStart' }, + ], + }, + { + text: 'News', + link: '/categories/news', + }, + { + text: 'Blogs', + link: '/categories/blogs', + }, + { + text: 'About', + link: '/aboutus', + }, +]); diff --git a/src/.vuepress/navbar_timecho/index.ts b/src/.vuepress/navbar_timecho/index.ts index 4493c7ebe..3e7096aa4 100644 --- a/src/.vuepress/navbar_timecho/index.ts +++ b/src/.vuepress/navbar_timecho/index.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export * from './en.js'; diff --git a/src/.vuepress/navbar_timecho/zh.ts b/src/.vuepress/navbar_timecho/zh.ts index 67ddd2908..467f431a6 100644 --- a/src/.vuepress/navbar_timecho/zh.ts +++ b/src/.vuepress/navbar_timecho/zh.ts @@ -1,60 +1,58 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ - import { navbar } from 'vuepress-theme-hope'; +import { navbar } from 'vuepress-theme-hope'; - export const zhNavbar = navbar([ - { - text: '首页', - link: 'https://www.timecho.com/', - target: '_self', - }, - { - text: '产品', - link: 'https://www.timecho.com/product', - target: '_self', - }, - { - text: '文档', - link: 'https://www.timecho.com/docs/zh/latest/QuickStart/QuickStart_timecho.html', - target: '_self', - // children: [ - // { text: 'latest', link: '/zh/UserGuide/Master/QuickStart/QuickStart' }, - // { text: 'v1.1.x', link: '/zh/UserGuide/V1.1.x/QuickStart/QuickStart' }, - // { text: 'v1.0.x', link: '/zh/UserGuide/V1.0.x/QuickStart/QuickStart' }, - // { text: 'v0.13.x', link: '/zh/UserGuide/V0.13.x/QuickStart/QuickStart' }, - // ], - }, - { - text: '新闻', - link: 'https://www.timecho.com/categories/news', - target: '_self', - }, - { - text: '博客', - link: 'https://www.timecho.com/categories/blogs', - target: '_self', - }, - { - text: '关于我们', - link: 'https://www.timecho.com/aboutus', - target: '_self', - }, - ]); - \ No newline at end of file +export const zhNavbar = navbar([ + { + text: '首页', + link: 'https://www.timecho.com/', + target: '_self', + }, + { + text: '产品', + link: 'https://www.timecho.com/product', + target: '_self', + }, + { + text: '文档', + link: 'https://www.timecho.com/docs/zh/latest/QuickStart/QuickStart_timecho.html', + target: '_self', + // children: [ + // { text: 'latest', link: '/zh/UserGuide/Master/QuickStart/QuickStart' }, + // { text: 'v1.1.x', link: '/zh/UserGuide/V1.1.x/QuickStart/QuickStart' }, + // { text: 'v1.0.x', link: '/zh/UserGuide/V1.0.x/QuickStart/QuickStart' }, + // { text: 'v0.13.x', link: '/zh/UserGuide/V0.13.x/QuickStart/QuickStart' }, + // ], + }, + { + text: '新闻', + link: 'https://www.timecho.com/categories/news', + target: '_self', + }, + { + text: '博客', + link: 'https://www.timecho.com/categories/blogs', + target: '_self', + }, + { + text: '关于我们', + link: 'https://www.timecho.com/aboutus', + target: '_self', + }, +]); diff --git a/src/.vuepress/public/.asf.yaml b/src/.vuepress/public/.asf.yaml index 99c6d991a..b1a8a5258 100644 --- a/src/.vuepress/public/.asf.yaml +++ b/src/.vuepress/public/.asf.yaml @@ -19,7 +19,7 @@ staging: profile: ~ - whoami: asf-staging + whoami: asf-staging publish: - whoami: asf-site \ No newline at end of file + whoami: asf-site diff --git a/src/.vuepress/public/img/arrow.png b/src/.vuepress/public/img/arrow.png deleted file mode 100644 index 0477c27366c7fcfe31b77ab5fdbd4bb2fbb2b4c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CJ!3HGRcAO0XQu3ZIjv*Ddk`oqKUbtTV+n;0d ml1`P`9z}AVbx9Hd3=A>#8gEwWOx6P`W$<+Mb6Mw<&;$T~eiz;V diff --git a/src/.vuepress/public/img/home-icon1.png b/src/.vuepress/public/img/home-icon1.png deleted file mode 100644 index 4f82b6f07ac9afd955d9301e8d6a232e647c87e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30032 zcmd^o2UJtp*6gpNuTfzUyaF1>_~G$~3`X(A1h(OKWW-o=xI8mAnWjnS1yJ`2~9T`SZ$2N&`yThNhHTHG$5Y}+$YU=cC{1barg6Tnc!T0EXGZ5YZ!gv(O(HEG4)+2bI6$pd)6kINWI$&D@Y#=Os z%vskMgtQGW!`1L>{j1>~2W`N7kY*@t2+DeEMlgafTcFp0 zEqXv2pn~BZI$QalaRP!Zx9ArH^Hp4Z4YWZRqzCHY7NEby`xbtHPap_=rVV=917)~X z7NirJ9prIvtB<$pDRFWBOg{$*-*xrX`lU^v4z7W=TeN-V>zJ#q9teZHLpxo4t$yJb zI_@8&z4flGvMc`HpXUaMPf6?QZLpQk55io5AqRdbOQ{hQaBwRhq?2;Le~|fB8-jFF z9`$rK+8XyDJ(OX937`Y$0=z&ln2rK|fG2=zU#MFEzkPY44>$t>fIHv{Nc@uXwS>** zC%)k40U#V$1bji9z;ETWKR=b2PeVSJ@B-d~Z}0((0dMeoFbKPX zWxl@68h8WdpuTI!n}qek#$khwsFML-F}~IZm;&SAd%m=lE7*>| z;+awytW};;n^GODAFP{_jgk|Ppxg_-NsAH*zFQv5)%k^+E$+Xz{I9wC#sl!LR{sT$ zMw*6#hMh)}M)db38O0dozfri=reE6QORIgM_2{>D{Yt^VzyDuPP{1*ePUBx_{e}rW z4XuKp= z+@YAj8MPDO0R#Y1kRMq<0Z;`r0X@J7Far((c7Ovo>O8>l8~}s@kw6R(4Ziv;mz!FE9*_o@rnnzya&PCIkY3Ll_{;kev_&L&~fMj^b;i&B{L;2r35&F_fc9= zx=XeX)>5`mzM`C<#8Hx93@|R3I7|g*2(yK`!$M*4u#2#puo~E7a5hcD z)~Tqd*r-IP6v5eON99QsL6uB(m8zVofvSsYifRoGhwp@o!`0ztaA$ZBJRY6}FM(s> z-SBBRo|=vtK`l$IPko5mm-;02Me1AB_0-+eGt`?j+h~MnRA|g-j?tW;Nu#+zbDySz zW}0S`b~~*Itvc;NT2I;-+Do)$w2x_D(|(|%qvNMjrn8_!(M8i;qPs))lx~9V6a5Z) zF?t>PBlN-asq}^P4fKQb9~c-Igc&p$4lx8Vq%ssUG&77c;2D`2B^eDFk1=8xFEiFM zb~7$9(J%=yX)!r4g)?1bs$%M3TG&RjO?aEmHs@{VZI`#*+t$BrZ9DUJneArVeYPiW zzqS3@_Sqfq9l|^Gb{yMrYDfN#<{eYaP-X#U9cCBiSmqndkC~@gs8~c;3|Tx`l2}Sv z+F5X{J6QL!TC;|+US@s7I?e`V6J|4H^JYt9t7PkA+hFHr*J5{NKf_+e-p&4zV;6@e zhbu=SM>$6?$Hq?Hoq9XHcAnc=w{wJ(l2eS+f-{sehx0M#!Y-Cws=HivCGM)+HN-{1 zCB|jR6~UFy^@3}Sn}^$g+n+m&yP11|hmA**$CKv*Pd(2Zf*GNKKp`$5u!wiOth`#h z-n^H1TX=DNTzvcZg88oVwexNAi|||VpX4v+9}%DxP!ezxxFFCZfD=RrnhHh=-WD7Z zq7hOO@({`tY8Cn@EFx?poFH5$JS)N>Vki){C4N=BYY%LX@*dwkd3*XL=q0oyLL_cWOh~dxnn<3Mtdm@l z5|lb5bxx{PiX<&B?Ja#ndRS(MjFHSqnfo#;vSP9>vX^Ch9AWLB2_zsGz72pirhTrzoiCq4+H)=bt% ztc$Hb+UVM(+l<>v*+$v6*>T#T?Cu_dAF@7l^U&I1y~7!Yr;o@Vi9gb3FJd2N|IC5Y z!Q0`HBa@@EW0e!k$;RoH6T#WcInR0RsNvBoM{zDXE}1U#$25;!I5y|1?wam8EjES6x(u%r{hMGCeb4rtL!K*2-<}?xK6T#oeC-9^3yBw2GaNIXUEF&y zH~#?2-zOly_dBwmtWz!a^}j%tH-W(=V<1X<#OjHOu9)d^er4OvMg#TRxB>Q#dRy~HpT7W+jAvH zN;*q*OYfFRlwB`pD^I!u+zGz(uEMFJuhO`(sYYHxk60h2)zj9WswZQ^v1<+f4GWF#jZ;mIO~cK$%{?s^ zE$xquA3uGf|D?H9s}=iH{prJJD$njcS9)I8rqEXVLjFa~OZk^I?F#L+9f}=yJC!@{ zcd2#NcO$zSU+KPj(qq`u*1NyAtIw)$p#Mn!_`tD&*+K8Y<)M(F&Ee?Ru-Azr+eR*q za*gJV?H(&1R~UaZp*!(n^1$Tql*`ooo4_}O=~HhR-d>zR%oNYc&OV&epX+>g_}%op z|NQ1c{Nnb-D@&qF)$cXmzrfkzrk4Yj$t%epc77;a-MiYfX1+GM?z6u6F%iELU-U`o zQ|pG!#>{3Y0ZzC?+)cbsGA6wy`;f{0&H>J!Wq~c7n!*j#z*hzbY628;a^Dh| zvvmc!$;o~OAoKyCXo4q`KX3y8{5}8>1IXmft7J0q2B<3x0zkv@FZ$&cHWjE>T-&<^ zb+d&f+1(Xs-1*fK=r2`Ra zwgD6nD3pQ{3WIGK1t3x2bAWO?YzLo=78SFFGo1f8i)_rf>(m0;6^*QxT{uCxqX8#r zXxZ2~c5(^{i-_(P+bgf2sHCi-qpPQHu+Pxwz(Ff(8&D*3Ip*r-?t$_Q31%3)GXTPu2(eD2*_FDSdRvD(Xt8doe)~yV(l|$-^bX=zr@)$ z#{R|EFepA#e7>L*6i^rx3WZU@z>A6+l(wj-sA;J`U$nnm^q()rt&8c~MFuN@fOSw( zQo_N1+vsTMw*BdgJOUb#RLMgCJrn{CCg^qm2@nZ+iK4*&NP?0(|Ht_4`XA%B`+tnz zSN~)D_WY0W+xtJpZ{PnIzy1F(zn9*mX5fR#py7;&)!>g*#AoNyYfyP5-89XUlvj1WD$=B12Rxvc#t;r3rgJ7k@%zF_R4Fd?EvlQE6m=BcH@$xamp;I!PFuqYD{$ zBDx;4u#@QG%i_yQxIzY+pCP@m8;A}P-G8dwpqk04V}6%^zJK|fnSZN^3?!tZ2QjP2 zTmt(58CXtKzZOA-u^o=v6^9W){*F!qg4+4@HZpLXKnBL^TggDO#UgY-ZsW;o(bwXi zl>eNAhD7R%wmvusR}YM#S)>p zPEV?+qgA9O?Z^DSvVU)pcp<4hmuk&#XQqDdTOFU9+O0&_o>-dJBT}OpP1v(9 zUF>?*^lm$NZH%;yzT-^pIDT9$K}xW)!p$Y;&6WO9B+mT(kX5}Z!TE0I>aKjLxQBb* z`*_8!7)vXqABhTM{q)K9+3SUZUA%dTVy2QT7JAUT7J4kOrbN+eTi+o5U}Mt7u~=vx z5zR}an9yS}XQvg-iw2Rxa~sX#!e^f3o*80qPGf56KH^z*>*;f3Z_~qPe5XO%@>XRoS^inX#D+P?-VI0ger`4I_0{>MaE6?2H=X=ENfZ*CYubfZ3J(o(6 zN1shXVmuwwRQea0m(va{uisdx<#Dcip4-_Eb=#ALm>xMZq3?Q+QcfkvpCyIZKT zn;>Y0is&{MElIuey|ZD%W))1PX1MZnay=fqoo zO55b~T7j-h5p(1bLn2fAvnHmP8R$%cAN0I!eSYUjV3kIBCoSo2P>OJ?&MS$aDB10P zC|6D$7EkG0r=_n&0k?17zhs@O>)EBpTKobWV8D+`81g?Pqu<0DSsr&VSbjCx7mG8V zK;K*5)v^PYU>uXZSA@#$^6Ad-i$`HV+H)*kY-~|FTQbQ92X6{>SsXgc{H}CYAQz%} z`$u%)5Ei1I;JKtB81~T~pF4Hcy%jBZwM=R)DdFm1sy_!Ve}EC@zZM&+dVQBTINtYN z`<`wrc8d4P%CD=_5v;7t6HC76rUWoq?uY3)79w#b9fPMMo$)2u9S^O%kKtNl?cEMK zuN-m2w6V+-C6jQQ(WLA%F|02!!%lAQ2qFn zsR0dIyyd(G0#_1m+^7G^SL$g4yhryQ!FI!Dfqk)jQ^ywFfq?}}gezb0%Dz=|^D-OS zJ?jY_WH$OuHfdjty8fnZk8iO3e(RifD+bwi9B-=bwIN!1OjlJzTW{~S&|^K<`F#U^ z-+n3&XaUaeR81~7zR(z#kl-^kZ_!)0k1s{v&|Rrr9eC5f&b%ofxvg6RLg4SxK+F|k zJ?c&yo)G0~3z(9XS!*1Rpe1C1LX;WlrSWm~{zaO}%Z?d}hf$E$!W|}%kK+hW;u|j7 zKI*rn>fRD87S>MRN7?sJSq%9fP^)hBhf3QG8wUqWD&<)&z3`_f7d*dun{wO@D}fy^ zL{yUjf|z4m>jWmQ>>-vp?73oG)-DDg*KRwd*>=Xq8#6V+3kO|7U6wzruM+dikRHes z#mc!ldJ-pY*-Kp+@`>7-Z@Sgw-i$`ZGK}lW`S$&RdQR;8Wl}N*fu<;b=M1SmRE@jxEL7%;kI7d}Iw(CouD*|!@dvXsg zc(7QvZUc94;0GrN`KPOlI-Q;H-BTF$SrR4gV(AnE+O_UZx5S&fSp(xRtsLUB@reHA zsZBkCN1uio!M3lS*R$-2c$U#2{Z^uVW%_o_#d9ywcR;nk7K6HpbS37f3599$`PN)a zxj%F1n$jY{L?Z)lX9rHjqNe8)sjC)xT6eyukt`?EO9yQ2-(}uG-H$X?f7w=Y{7L?v z_ErG0EE2%lr{cD-7E?$L$jV|sS z@pM79Q+gb?B{u4db|tlM(%c zQw2V-W5;{04pdv{SzP)ag8w8Ag#440<8m5ezJ_8LW*puW6*wtbKYm%%&c}%oe)pd9 z>3qi!ZzkWGrIJQ1kphhD814WDlvc$F`w>qIff4wgB);ZH zqB*fCuh^1%x-#&Zi zL+M1n_!{l5@mv{cM0%`25y^`q0}W&#?mnWqgGsyMabZKAP3y}&Ev_SJ0j389LR_t_ z4JyQ<^K$iAE1v%7<@RfR81hfm{$KX2?J^Z^nzF=ZIM>#s+&DKdVYTg8dQ=<`X}5WT z)a_5|aD+*{=`I774Nhk)RQGnsWOAfOVqVFsVXE~oBK?Yr>~*rEqx)W&sa8FxXp@t9 zCb)6l@i1wK3{>0qFS0KeTK0R-NKL#HthsnG>ywF0#fT(wEIT`IuM1h;6Iq3ycq3sB% zOGBoHB4XOhluemE<1}LQwM*}5>iWhe7*!KNCyPJXUP2(oS*4sD1S-@@L~pwd(en52%0g>?R{I{LyMi8b}4t3 z2UmHgZf+3w;GDWVM^-uiuTP0Zm^`+Q&e!b{hcRySLs#Fvd~3C5EWhaZpf^+cML zwfC#U7prA5KW*L9!S`(b6O*^Kkkd%}z?0{VdMuWr-!q=YjrF_z)`*8Xbi4E9MjegL zwj|2hy&k8x_CYsb8pSbg^2^v{Uk#P8+MfDz6EiD8Pe;&pWn>`LAwpk?=gr0eqsa>; zW$1cRD+1VqbT5zPbd0;mYJX_WdfxmjQ`XG6z>}CkE}P!TOVKeeHEQ=w_-@3pSeSh8 z5QF>${RRGWv`&vI;O#CS*ZBld}z_&gfajl(zeDq;nrBUcn3D43#;U>bLm0k`85 zjtnD_!OQA5<<(L2oS~Pnd#zjFtIS+SXRVeGMpKtM-M>;(7zG2ZQ!lpkOp2eFn0|)d zS>m|OD?BuQHDWQsCd+4`8t;I*;SyaGo$lpSE53{+(Ux!SZ=H~$9gc+IuJ*~NoS@ve ztdI7PkXzvsxPCTysxzY7_p!cW2$Gi!c$KGR7cMd^=i4ktwUh+iwo$n6El8*sescV* z`jHj0?t16E#D*oKA#iv6J{wt-;-(Amy^Zo8cRo<-yD;{13W z)Qig;o&}mxvaS&j_|Q^<&N5e%xH|txfwEdv%u3Nmmxl7G+{ylys}YkQTkJz8rOpV+ zI(XSg$WXrF4@#9^rH&Teuz3e3uo|ytpMT;YnKbSgSN7qChon%CiBCq(Y>-asb>vmF zI_(p`17*qHW#E=!SoD3ujyFEAc?g>nOjK>!fK@qos?@ZE^eyu~J0awB3+WIA1JKc! zMkS~hs45u2oDfSL(&Y4WX;6HmVJk?zIuoEG()L?Wo2ei}XC8jd1!Bl)b z46l`s=kMH;9g}QYv>(1PoVhbFS2K)t^^p%NsGMXBfR+t?=fALi{@FDb{-f2<@(ipu za)`;0cvXY;9Z5Rdl{E0cv0~2L{q4mibL}hP{L|0YKb9Aj`3ls;EeSiFds2{M0naDnSadhD5k)i){EHfXa{IW6M`aicXQ?=<*( z-v^I4xZQn(&3K!wue@g|V854S;-67c*3(Ed2AgsW7{`0WYmru7_d5(Fd~PH-a8ASv zW&{!+t7>sSD{nJ9iKJN@OTjP)Arr#sT?={&EyPoG&0{~@Tc^NQIL0HGBGqx_4fhqJ zBc&*Y=QiZ;Yscs-N+aZQL%h$g-9Guw^^mo-YUj0}LJK|5fbU*PzIVy_FL;O_sf6CF z5GYW&M+R8%=k;-zgf%9Xu=u$>)gzKLl9IxKar-9iUzm*}IRU~7DEOZzz4F1iOz7an zn-%$y%=n5!lw#oeo3_Jn!A#5X1)ZE6TYxchx|!hlzWO*~5nAQlShds>2CvqS$!*Sp zrEIx$h&Ah?;~cHUT)E+&-d3D{po)6(6kN5^o4#kSitSEZlRCMc%eX`mnsvn0ydO5h zl_=6kd=PZg56f3gcB0SC-4!^z7oN4*2wLYWiCKsSG$kg*L85A9Etf^o+oJU)LmIA@ ziTByZ`cpRZPt6~Rf5+CfAiT4YjK~jgIg9Le|*BPN4 zg47W$??C=0A9SOBTnFjD9uJZNyvdtYzw!Wa{esO*?r$G}e&2{qVN7Q;=*)}`un6L5 zw@>SQF8-n8xB0(g=RT9WFVC9c-)E z*r|s;0s5JLm5=;&>#}S8UvIMYW)iLa<{nSb!Zj39cOo!2V4lmuz*SuJ0T&Di7VIAl zVaNDZom{rcx9d7aJLOe2aYcH;KzsM=Otw0yE5i)zlbsyL(UY<%AsV{UPy4F(y|IiahV3WU1oE=;{l9LS_B4 zd)qgB!&c#oSY3=0Vu184Exx+B!?Qe`n;chYWl%d={Aa)TcE1_I`n2n%SguH z+6;kNYF)6UO@Wy}_t%Y5}cuyR-wdz%!9M*O(3w!8Osng9Y712AI7c zGF{Ve^SEIg6_}Pj`kKc!CpsrORG#Qh5XYk?(oQ*0c7p~Q?Jl3aBf{G`VMo|~O9gTk zT0xh`qJzLDAL)e#7cq;(c^HpwXUVk3(kT>%#?+%KJ_ZtdXJJtuDztsuE1p@09t9OX zH?6-QufczW*&@GyC7}Q~_~=p1o$BoM6)VszjuH%2veMfrn5!xNNrCtPi4sp6LQJWz zJ;@TsG|6349YQ@DY`UV>5`K>>!e&8=z_PiXfuOD5se@~6&Wupgn_>+<@BC?^(t$fw z#SbaE_7s1?<%}MSwcEsBVEEgl{Nu9jED%Aq4ugliru8*DSZ@I0#_p(9zITSw`Xl+UA3xVSg62}~Bh}2J#I4Lcn^8qHK?(OdadyBi6 zxacjr^gIGVW5@UDeZRv){0JjPnQCjjVrM;1n2yzQ=IKJVbXrSTU$~lh%69?1pVW!jDgQprk*((a z8I{%KF~3U%CA!m2)yb0_7eXK>G)fH1+4EQP?x>#p9`Wk0SU(ypC~pdQj#Xn@ z_W1^18XaytBwjLM0$Sn%AqO;a4xsq41ml_|QFQ%rmBe!7}gEbpK4;$8dmr>iM+ z+T9No^9N^DxGU`jY@gg|r1z@Xv6llpd=ELyf7bnxgy-?U+R0mzJmT+LI1&x5<=tH3 z%ne2Eus|j-)oD*&vX3L0)B`7ZO8L+D@b5-3^SItWdsGmLRm*kq!mli6Cdub=hZP=N z4m~a6bydgu>XPueR6}>=_jBD?UF7)9-0BuA2U@JKIgN3I4Tp`*I(rH!@%Y1W!31ty zua)xN+aH80FRRRHZ^_iL=6OHyR6%J61K#iOGWvnbL@wiyVN}sO*%Iky4xy_9<1VZT zpeV3n2IUSM=2;^$V;c980T&t2-J_o{g=z8PuIKNWg72@(I#C@HA9^-?U-Qb%jAvI$ z%A#yGnbFTS6c@U1qa1!m4IkQ;qaV7)D7Ds z@4}OB!)i)=1XEjSi(>Z}t^zhI@|zx{&br)cn#@XC zjB9D&dKNy7@!~8l%+KUlrsX|oN><0kQsP@g1`TW>${1XZM~Eqi$?`K2Bsqdsl}OW& zU}MSkbLhiuMeSOR@6P2!4YLyY4nO9S*<&H9t4UGB0Wdb*dk+sgpoKGtuYOM*=GLyt zAigh7VsRox`xZa_@zj}Obwj}%)1Yxkcb!oy%S;FucwzE)0~Vow$0%|`gd646K@uTo zch<9qF&$cde|qL{1Ow;D+knxH>cg?exZnjQ#7ncs63-GJ zb=~Q-O?!Bco73^Z>Pw6=QM|WaG18`wBp+$gN8+2Wlrt`V@kCIBc!Za5T3uTFxfhM< z)y|Z&px~AGhk+B{6I}5haY`8kjCyJo_xI~}EsnlhU)M|IIO}@#^*A63eTdh>U4D$+ zh2}*$G7{K*-LXB>)Q)(*6n^g5VFax~J%jygsYe zb~%1?sdc_Hgv+J_dB=Sr_9m&_0hZ>lOt~A}(FZb?-U%Omv^c`4mBw# zd-l|y2A~BJELNBP&dU9DP53)@5(rJ}AyO2m#^1(Px2}_c(-IhWGC*tpw%JfT@b+H! zGm^IGC4tnZ56``ey1j;7FT)dWklL~EwOlR->GKvc)ttfi)LsVjwz$kP39hpeV)02W zD%d3XMV*!*Vza%c%9WKPM~ny;({=8p&2;DaU4O*k6|yC1p6mW=!t?h<8UZ`}Rr}wE z5}4)I#iPX9$JS%;1Nz~AEpYE^YLe< zy!6dr9+vRtWV+!vW!rxBgFLn*R-)qI(D1;pjynoGP0zy5pA56w+JR|7Y3qf!S)K%V zG%} z+WS$TCZdx~rB@qN4{qdonhv1s2MFPyg(#KOow8gvxthb)DfzI2AbW=+=vqWVixd&KVgIu5eF4NXuk-h3K5;H)z(0gW5_m(z9 z5Gc@JMk&0gd>0zcefIFoxtzU zOB-UThKr7UGYh4gN_f9@FTAts_=vDz=7CEzHR5+Pypm2T&y@Af<`X>gcb&5gF}Ooe z!NKE69AQXfoWZF@>kiZIN!xrqz}=(K1zfP@M=bQbkAIzjKjMz~YkISGL+~|vv+eUk zj&ZBT@3+k#D6L7&rF*$IRg?C#tl>)xAEKtNm1wY@gzvbGA2sAaNmo?A;uAT&=pqPB zeWLRLQC@?7050R!Sd>1lBYu$t#UGvVEhy!^Y$0Io~fdfWwo?F|v_m6EY74L?}4Psl<2(E7BQ>JL4Jx3_|&MNZDuZrMruXY}P zEN|lhFv3)7jas=1LPNl1PFDM`4Ez65hUu?p+c#z3=IQ~Fm#4-C@iZu;Z-_?_)x9SaBUqi?kBr z7WIa{l6D;FE^yD(sK)X+_50xw{VU+HBADzl7%?k6R%3R0FJ9<_#6v|cl>nD(LFU~| zjRT2U1uln7Ytd-X-S-EZIsk_2?6rA_ZqEhO>^2P|4POx;6K9=HT8~7WsJ>8Bi$LqV zJO0riFcDHUn>!%2uKkdh9~o57yDVtNesWdWYRQp1VaDTi(bd?5QMwwop^(cQN2X@LO(fAkeK1Y1zsR~P zB~|781900adhurs)qjNlBMc|sv#R}q1Krhf=w)s~kT@~I;;f!mVWZ&6z1d>Ui$~GX zHp?Tvz1G`NP_ z;_L54JUg#$$rnf52fA#DtY9bRh7rQr*01$cdk9JSOeA?MM7L{RAarAl2=7WqiD3EvGxcIeGoNvIL-Af&*QB+k89i|I{=-YEuT^cEDg|=27h?y)GAbKOEIcfbW$l2*K5LwQc&&;&xkra70GcBo2inf6n8O!V$G25Hb9y;*fmL7)iu|}p?v^aio znaLC%H6d#J+CfRqIJsn7?1z1=cPJjtXm_qT?wD6_Ky;Sod@%13-X}4U%oduiPkRmW z`n+RrC}`6Z^Z?aco93r8Jrjlm=TiQ*BG4iwE6b-dXoD@jm3WUiS4`t1o(^}Q$q}N# zxuq%#`BpR^yIgpIDQ9vb`h(EfwLNAgs~p_02aPpm-?4D~ z$@f7R&@!Nu?EDbD_dO7%GqJGasHwx!;d=*pA|Lp(9E&=HbsLCQE}#BLqRn4sjda~K zKN99Pq`6+d?bTvQm@-df!|Q$MyXUkv4!)fAGITI_i&dY^OKh3{kJ@6uZB;X_Yzmi*Vg$(ReGe$hdB8Do%kh+(mvPF(W)lV~dlYzFq>SlorbEbR>>G#&z z3Cw2e5^0SW*~WNCf&=mWel8-0wHGk0CHtk_#4ywO&^YxN`AykJGUkU4H+%VU*WBN8 zT=%*Ki<4L?0PQXT;6{VuT$ULlkN=AI@4qcE|0y5yBf~rXpg*Bu!N3-HiJ z>y*%9&wyL>6qb8CUJ52u7QG=Ige)N{*%z>r$RWQ;`?6RH_3{L7Thm((Q`4#2(33fr z$MQ(QM7OYAjSgJ+hzTFn#!;4PV+kqaIKFs64#+_lk)E6z8~y2|m&mG_IE*_ozE1;= zTcMFWxhJzuPc!1o(@&Q+!H}&k)@m1*)PntPAeBGmyvVOl7D4{1<>C+e5cvJ`8|u4J zyJE5dLJ+tGVk0$4Pw|H*Iv`q-gTZZM3cB#~Tu@{?_UZ;v6?|Sw&?5t<9;~N1(hRrN z_cw*e437sfn|{DfGO>P2ux$&hO|RAiBT9{bJ0)R&`q8pbO#S*+GCzQwfdl>#rZ72mZI+*k2Mgny|-d4wReT-vnyVj zZp#&Kn(+RJZ&zud<6R~~omd1J2$kQwmd_1CajYrNADm4%nkZVz2zuVXiU2?D{*Rqx zzjY|(jY?GV$9{>*T|p?W4Ka!ql6G1DOH9pJ8v8{5!rW9YGmYB417_*eX=bBG&~uno zF^(?6bwc=Z2^rX~Asg2GB$Vl`LUGY+Bc@GQdl#N|MI{~OfO2qGM$sINGAx?E^8UBI zcC8Z#EAIjiFNkz31P5+v;wO<@VNZH98%BAu9L$^PqWmw31L{4&ks(u$B1bl*(e0zc z#2aX#p)f`Ll&M#f&cfG&;BE9fXGD6|%jW|pFwKs1kwUor8RJq^gQXWUZ#41iS)6RW ztr}jXV5m`ZJmtl$_UEmr!hyr6+Oq?Lx_1r_U(?kE#BL=6z$$BaqWFQc|8493(fNPH zI`9`p8-)64`BN-je5?h5Hz3jAF%AAk))*E~=c`)tuxxfeLR32T$Z!EhE*EF*ce;GC zd`Pmj(SP5eS4}EM`HtWurMMpErnVSmEuakTb2C{ih#n>T8-7hk85Rs_Tb61mXPX0~ zT;lQ_-rX;0qn9c3r$an!2{Km}0nc-djz-*@s;No2x%CSPv4L`m0HBg?iZKC=7-IwN zW8-OY*YQ`UZo6W3dYz3=RoJPZuq3+;Q#;lY5md+;AfhTTS3W4d?t<%IXv4L?YUVte zbk%pw+Q)J=n&-sRH%z+w6V=t{-?d+eK6k*XSD$nd=JA8sCnVj{-@0UGB~_>!x}3M`ao2&CdygMJ$3z*PA22iK2z$0*rYowG!Mk9<`H;d%z~ZN89xa!;K6jJ zR;jymj3n5XUM{D?fhsvHG?_VsC)uFdIX_wWm!Z^ALnZs6r z5usyj=uXES)nf^xtTC5fOGn&}rZM&kMye%89B)`tDxc3CZv|avG=v>Es>|a{)WfHJ z_PCfYre)j7d{E_ila0$AC||ehLb^G|n-3W7Fq^#UY8hqu9w8HXoHpkfk3T%{yrT#0 zkPH~4R4~8@&ZvCepWJc37d4=N*Mt5&^cEGK)hUvU>BtxR?li*D(L=p4Po=NtoNbgH1sffu58}P>r-FfhKjo zNEh7u7@z48c!IZsjd{3fKy&$BE25`sMS)NV+8`oPG_OLHV#^6o|CE@FbhQs$&&H>* zUU(*ijSISHD6e`=T49D?P<;fe<-m$_pMWQkln7egBp$r%>z5~rp0d7a+)e4&Dv;xolR@fp)UpfytLp5Ett z;)c>eSX!se^2nwmewieI?n3WfX3u)7E9EdMKx#pX5(6E3$6C`k8poMp>!rZcS2>5~ zvb|TRRs$Y@vGhFr*rZ2BBp(}#`@NDJ)phC5_J&VvD>sY0*!!Ll=f|B#FcJ`pwZS@&NoAli}o^1Y4FQ{J^Sm@8z6+s=*LtPa50SpkXS>E{&v8jNd zKlIdc{&C&%Atx?3>Vzz*`C9BHk_s&`3EUnV37Vu{eC~u}!kv94;oPxDo@b342aOz` zudv2)&F}OLv9vyIp%;bR6hXgq5F*}0iwxn-OwUYql_Z+o8i`ra^2>d&rM0IOFIu9| zGq1+BB+<#KDZivi@K*vZ%c||VZp6*nI2_?$$fv1p&Qo7Qlp8**<3)RT_z8ca5N%>U zAeIcky&*?3o5|pRqZ2q$cWU)LRhV@bcvMAJC{a)=CXU;zSp8*44XDv427dNnM1Rlj z@{@3Wx)yoUs8PVpH=5b3ToI3*+GUnN2I$oeOd0plF{TtA8R5F(-j-a8G=dB}W6Tileq|h~|~F z{8jbgN0s~8+GP1l1YRtmg?WN$F!f_|U$^(YWvdJPq+IExP<03u`)$0;tFfPOIhs0ayCb2BqU11{4AH?^+kXgTX;f;2}X8y@m z+*p3NPzzhnZx&Y4GX<0(=N4h%JH_t9C~v|3*ZfG77-BdT~z!|nG< zs=m6F44y9i$7RX?B(Fk#vW^FNpvSAp7-;q#KPvSf;~sxbIpjZ~5d9yRTwf>P--@RF lKg7pZe*WkV{RgD%KceBEeE!qr(Enp&;HQgi|L6D}{C}$s^aB6@ diff --git a/src/.vuepress/public/img/home-icon2.png b/src/.vuepress/public/img/home-icon2.png deleted file mode 100644 index d2978785ad5812ca44563ea1fa1c7d8d74b3d982..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4463 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 F{{#1}nHB&5 diff --git a/src/.vuepress/public/img/home-icon4.png b/src/.vuepress/public/img/home-icon4.png deleted file mode 100644 index fe78527b8f5ac76e0f4d992dd5c30ea5bcbaf34f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8681 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 C?w`#7 diff --git a/src/.vuepress/public/img/home-icon5.png b/src/.vuepress/public/img/home-icon5.png deleted file mode 100644 index 1d001aa08fdad133c2b80f1af16c60bae783a26c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1531 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k1xT_7rilV6mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^+ z;1OBOz`!jG!i)^F=12eq*-JcqUD==Th;!;{pQ?Ci47Bi_r;B4q#jUq@eKSJBC60Ym zcT4h^aw$Tfc~Ner;MNry9E%JEcNHwWEMmTELx9T$F|V#^O&whw@!fSAOCKy-ns-Di z?1fWQq8p3u*=0e3NBS3K^ae)fe!l3o*xK;q9n0rw@8%T0yYv5Z-t$S5KcAkx)AI8< z7o`>fCk{mz(Xsi-l-7$BK6a zfwtcia;D8@ViDjHaL~|KSh9zKiGz_vfQdt)0my<7ECLS5TvubZ2?0jo_g_q#w<>=B z3+1cKkIb#Vq@4I(61kb-CTTnehB4J8nfc>^P@#SI5wP z2dBXHm6vZ$VxG&+P&nJUjq~>3h8<_z9-sIe<#1`r*x}jRCuO;ARp(;i@S9mrezF->dMDiO|9a?(;V%Li|$-rEq85d(uAnB7d`(jw0?CZ&$qYq zZM9n;c@QyVo>MM-23+Lokztt>aPBH z-hV%{=F9ym;|}GyQ<|>4p2K?byp+0URBFxD$DPyIi;hjZwRp1H-#o`6pRKc!KQ^A9 z&r^AjT)xV2No7@p+VT0blo%()L|qAI zJ6<29!Z;}>OzOD9;@7pD6P|3oRuLV&XWtZtl|EK(2MeQ;8CS-X9euK6S*MV~)HBx& zE$;NSr-`KW^hFf$9Q$8h($J$;YL&{mDVFJouavHv#GU^3G>IcMFJ2_um|Rv^$}ju3 zr#($Z<=2Ia*DErf0qy^_`ot}}2@D^nTJAE-iOX(g={Rq)!uk2t#f-7n#H)OnTHvV^ zlwJv>+y(&$21TGcj~NOfpIA8*L=+kV8W@}y!3jO6SK)s4##f>1Rjv3s{{N~tamt+e z(QfOu=PU|#*&jQ$ZfAJ3*{$wQ9WyXfeA+XuC*pUIL(R31g4y<*9rth9q&%Hpbo=#w zzZI^$Sr;yal(M_4LkyqfI>FBDwBy$s&2tiW%Y@vMTQc`;QGoWN9=7+%hqYpMKlaOh z9umMW9X|1SU(KF(9L8%?bDgx`w|iJshWjr#qL!Qbf6)SWrdRw`Dm(rG8L!b9LY@b& zH_B;FOYM}8*|Krv!!PW%LNWChlpDX|WC%)1N49n~i+I(1^+}uhj@`Pg!2j({=9hd` zMoYA-6+(^6x#2lpDC8a6*+TVd1?MGT~{Svk#y`J~I^z}f8oCISmX)e_f; zl9a@fRIB8oR3OD*WME{VYiOivWE^5(X=P$+Wn!ppU|?lnApH1*0E&j({FKbJO57Tf T_7$uFYGCkm^>bP0l+XkK(VurN diff --git a/src/.vuepress/public/img/home-icon6.png b/src/.vuepress/public/img/home-icon6.png deleted file mode 100644 index 51d2a421a4a526bcc96fe54ff3ecae8680f9d192..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11537 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 NprW8DUn^@7@jpy@*jNAn diff --git a/src/.vuepress/sidebar/V0.13.x/en.ts b/src/.vuepress/sidebar/V0.13.x/en.ts index 84d284828..0d375ad05 100644 --- a/src/.vuepress/sidebar/V0.13.x/en.ts +++ b/src/.vuepress/sidebar/V0.13.x/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -52,7 +51,10 @@ export const enSidebar = { collapsible: true, prefix: 'Data-Concept/', children: [ - { text: 'Data Model and Terminology', link: 'Data-Model-and-Terminology' }, + { + text: 'Data Model and Terminology', + link: 'Data-Model-and-Terminology', + }, { text: 'Schema Template', link: 'Schema-Template' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Deadband Process', link: 'Deadband-Process' }, @@ -66,9 +68,7 @@ export const enSidebar = { text: 'Syntax Conventions', collapsible: true, prefix: 'Reference/', - children: [ - { text: 'Syntax Conventions', link: 'Syntax-Conventions' }, - ], + children: [{ text: 'Syntax Conventions', link: 'Syntax-Conventions' }], }, { text: 'API', @@ -132,7 +132,10 @@ export const enSidebar = { collapsible: true, prefix: 'Process-Data/', children: [ - { text: 'UDF (User Defined Function)', link: 'UDF-User-Defined-Function' }, + { + text: 'UDF (User Defined Function)', + link: 'UDF-User-Defined-Function', + }, { text: 'Select Into', link: 'Select-Into' }, { text: 'Continuous Query', link: 'Continuous-Query' }, { text: 'Triggers', link: 'Triggers' }, @@ -143,9 +146,7 @@ export const enSidebar = { text: 'Administration', collapsible: true, prefix: 'Administration-Management/', - children: [ - { text: 'Administration', link: 'Administration' }, - ], + children: [{ text: 'Administration', link: 'Administration' }], }, { text: 'Maintenance Tools', @@ -171,7 +172,10 @@ export const enSidebar = { prefix: 'Ecosystem-Integration/', children: [ { text: 'Grafana Plugin', link: 'Grafana-Plugin' }, - { text: 'Grafana Connector (Not Recommended)', link: 'Grafana-Connector' }, + { + text: 'Grafana Connector (Not Recommended)', + link: 'Grafana-Connector', + }, { text: 'Zeppelin-IoTDB', link: 'Zeppelin-IoTDB' }, { text: 'DBeaver-IoTDB', link: 'DBeaver' }, { text: 'MapReduce TsFile', link: 'MapReduce-TsFile' }, @@ -196,7 +200,7 @@ export const enSidebar = { { text: 'Data Quality', link: 'Data-Quality' }, { text: 'Data Repairing', link: 'Data-Repairing' }, { text: 'Series Discovery', link: 'Series-Discovery' }, - { text: 'String Processing', link: 'String-Processing' } + { text: 'String Processing', link: 'String-Processing' }, ], }, { @@ -206,7 +210,10 @@ export const enSidebar = { children: [ { text: 'Config Manual', link: 'Config-Manual' }, { text: 'Keywords', link: 'Keywords' }, - { text: 'Frequently asked questions', link: 'Frequently-asked-questions' }, + { + text: 'Frequently asked questions', + link: 'Frequently-asked-questions', + }, { text: 'TSDB Comparison', link: 'TSDB-Comparison' }, ], }, diff --git a/src/.vuepress/sidebar/V0.13.x/zh.ts b/src/.vuepress/sidebar/V0.13.x/zh.ts index 72ff9bdb8..5fce5eb3e 100644 --- a/src/.vuepress/sidebar/V0.13.x/zh.ts +++ b/src/.vuepress/sidebar/V0.13.x/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -66,9 +65,7 @@ export const zhSidebar = { text: '语法约定', collapsible: true, prefix: 'Reference/', - children: [ - { text: '语法约定', link: 'Syntax-Conventions' }, - ], + children: [{ text: '语法约定', link: 'Syntax-Conventions' }], }, { text: '应用编程接口', @@ -143,9 +140,7 @@ export const zhSidebar = { text: '权限管理', collapsible: true, prefix: 'Administration-Management/', - children: [ - { text: '权限管理', link: 'Administration' }, - ], + children: [{ text: '权限管理', link: 'Administration' }], }, { text: '运维工具', @@ -196,7 +191,7 @@ export const zhSidebar = { { text: '数据质量', link: 'Data-Quality' }, { text: '数据修复', link: 'Data-Repairing' }, { text: '序列发现', link: 'Series-Discovery' }, - { text: '字符串处理', link: 'String-Processing' } + { text: '字符串处理', link: 'String-Processing' }, ], }, { diff --git a/src/.vuepress/sidebar/V1.0.x/en.ts b/src/.vuepress/sidebar/V1.0.x/en.ts index 7c3acba8b..8403bfabd 100644 --- a/src/.vuepress/sidebar/V1.0.x/en.ts +++ b/src/.vuepress/sidebar/V1.0.x/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -52,7 +51,10 @@ export const enSidebar = { collapsible: true, prefix: 'Data-Concept/', children: [ - { text: 'Data Model and Terminology', link: 'Data-Model-and-Terminology' }, + { + text: 'Data Model and Terminology', + link: 'Data-Model-and-Terminology', + }, { text: 'Schema Template', link: 'Schema-Template' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Deadband Process', link: 'Deadband-Process' }, @@ -73,7 +75,10 @@ export const enSidebar = { { text: 'Key-Value Pair', link: 'KeyValue-Pair' }, { text: 'Keywords', link: 'Keywords-And-Reserved-Words' }, { text: 'Session And TsFile API', link: 'Session-And-TsFile-API' }, - { text: 'Detailed Definitions of Lexical and Grammar', link: 'Detailed-Grammar' }, + { + text: 'Detailed Definitions of Lexical and Grammar', + link: 'Detailed-Grammar', + }, ], }, { @@ -199,9 +204,7 @@ export const enSidebar = { text: 'Administration Management', collapsible: true, prefix: 'Administration-Management/', - children: [ - { text: 'Administration', link: 'Administration' }, - ], + children: [{ text: 'Administration', link: 'Administration' }], }, { text: 'Maintenance Tools', @@ -212,9 +215,15 @@ export const enSidebar = { { text: 'Log Tool', link: 'Log-Tool' }, { text: 'JMX Tool', link: 'JMX-Tool' }, { text: 'MLogParser Tool', link: 'MLogParser-Tool' }, - { text: 'IoTDB Data Directory Overview Tool', link: 'IoTDB-Data-Dir-Overview-Tool' }, + { + text: 'IoTDB Data Directory Overview Tool', + link: 'IoTDB-Data-Dir-Overview-Tool', + }, { text: 'TsFile Sketch Tool', link: 'TsFile-Sketch-Tool' }, - { text: 'TsFile Resource Sketch Tool', link: 'TsFile-Resource-Sketch-Tool' }, + { + text: 'TsFile Resource Sketch Tool', + link: 'TsFile-Resource-Sketch-Tool', + }, { text: 'TsFile Split Tool', link: 'TsFile-Split-Tool' }, { text: 'TsFile Load Export Tool', link: 'TsFile-Load-Export-Tool' }, { text: 'CSV Load Export Tool', link: 'CSV-Tool' }, @@ -224,9 +233,7 @@ export const enSidebar = { text: 'Collaboration of Edge and Cloud', collapsible: true, prefix: 'Edge-Cloud-Collaboration/', - children: [ - { text: 'TsFile Sync Tool', link: 'Sync-Tool' }, - ], + children: [{ text: 'TsFile Sync Tool', link: 'Sync-Tool' }], }, { text: 'Ecosystem Integration', @@ -234,7 +241,10 @@ export const enSidebar = { prefix: 'Ecosystem-Integration/', children: [ { text: 'Grafana-Plugin', link: 'Grafana-Plugin' }, - { text: 'Grafana-Connector (Not Recommended)', link: 'Grafana-Connector' }, + { + text: 'Grafana-Connector (Not Recommended)', + link: 'Grafana-Connector', + }, { text: 'Zeppelin-IoTDB', link: 'Zeppelin-IoTDB' }, { text: 'DBeaver-IoTDB', link: 'DBeaver' }, { text: 'MapReduce-TsFile', link: 'MapReduce-TsFile' }, @@ -254,7 +264,10 @@ export const enSidebar = { { text: 'Cluster Concept', link: 'Cluster-Concept' }, { text: 'Cluster Setup', link: 'Cluster-Setup' }, { text: 'Cluster Maintenance', link: 'Cluster-Maintenance' }, - { text: 'Deployment Recommendation', link: 'Deployment-Recommendation' }, + { + text: 'Deployment Recommendation', + link: 'Deployment-Recommendation', + }, ], }, { @@ -262,7 +275,10 @@ export const enSidebar = { collapsible: true, prefix: 'FAQ/', children: [ - { text: 'Frequently asked questions', link: 'Frequently-asked-questions' }, + { + text: 'Frequently asked questions', + link: 'Frequently-asked-questions', + }, { text: 'FAQ for cluster setup', link: 'FAQ-for-cluster-setup' }, ], }, diff --git a/src/.vuepress/sidebar/V1.0.x/zh.ts b/src/.vuepress/sidebar/V1.0.x/zh.ts index 73cb9a13e..0d0cee182 100644 --- a/src/.vuepress/sidebar/V1.0.x/zh.ts +++ b/src/.vuepress/sidebar/V1.0.x/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -200,9 +199,7 @@ export const zhSidebar = { text: '权限管理', collapsible: true, prefix: 'Administration-Management/', - children: [ - { text: '权限管理', link: 'Administration' }, - ], + children: [{ text: '权限管理', link: 'Administration' }], }, { text: '运维工具', @@ -213,9 +210,15 @@ export const zhSidebar = { { text: '日志工具', link: 'Log-Tool' }, { text: 'JMX 工具', link: 'JMX-Tool' }, { text: 'Mlog解析工具', link: 'MLogParser-Tool' }, - { text: 'IoTDB数据文件夹概览工具', link: 'IoTDB-Data-Dir-Overview-Tool' }, + { + text: 'IoTDB数据文件夹概览工具', + link: 'IoTDB-Data-Dir-Overview-Tool', + }, { text: 'TsFile概览工具', link: 'TsFile-Sketch-Tool' }, - { text: 'TsFile Resource概览工具', link: 'TsFile-Resource-Sketch-Tool' }, + { + text: 'TsFile Resource概览工具', + link: 'TsFile-Resource-Sketch-Tool', + }, { text: 'TsFile 拆分工具', link: 'TsFile-Split-Tool' }, { text: 'TsFile 导入导出工具', link: 'TsFile-Load-Export-Tool' }, { text: 'CSV 导入导出工具', link: 'CSV-Tool' }, @@ -225,9 +228,7 @@ export const zhSidebar = { text: '端云协同', collapsible: true, prefix: 'Edge-Cloud-Collaboration/', - children: [ - { text: 'TsFile 同步工具', link: 'Sync-Tool' }, - ], + children: [{ text: 'TsFile 同步工具', link: 'Sync-Tool' }], }, { text: '系统集成', diff --git a/src/.vuepress/sidebar/V1.1.x/en.ts b/src/.vuepress/sidebar/V1.1.x/en.ts index 92f032ecf..b4f541fe6 100644 --- a/src/.vuepress/sidebar/V1.1.x/en.ts +++ b/src/.vuepress/sidebar/V1.1.x/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -55,7 +54,10 @@ export const enSidebar = { prefix: 'Data-Concept/', // children: 'structure', children: [ - { text: 'Data Model and Terminology', link: 'Data-Model-and-Terminology' }, + { + text: 'Data Model and Terminology', + link: 'Data-Model-and-Terminology', + }, { text: 'Schema Template', link: 'Schema-Template' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Deadband Process', link: 'Deadband-Process' }, @@ -77,7 +79,10 @@ export const enSidebar = { { text: 'Key-Value Pair', link: 'KeyValue-Pair' }, { text: 'Keywords', link: 'Keywords-And-Reserved-Words' }, { text: 'Session And TsFile API', link: 'Session-And-TsFile-API' }, - { text: 'Detailed Definitions of Lexical and Grammar', link: 'Detailed-Grammar' }, + { + text: 'Detailed Definitions of Lexical and Grammar', + link: 'Detailed-Grammar', + }, ], }, { @@ -215,9 +220,7 @@ export const enSidebar = { collapsible: true, prefix: 'Administration-Management/', // children: 'structure', - children: [ - { text: 'Administration', link: 'Administration' }, - ], + children: [{ text: 'Administration', link: 'Administration' }], }, { text: 'Maintenance Tools', @@ -229,9 +232,15 @@ export const enSidebar = { { text: 'Log Tool', link: 'Log-Tool' }, { text: 'JMX Tool', link: 'JMX-Tool' }, { text: 'MLogParser Tool', link: 'MLogParser-Tool' }, - { text: 'Data Directory Overview Tool', link: 'IoTDB-Data-Dir-Overview-Tool' }, + { + text: 'Data Directory Overview Tool', + link: 'IoTDB-Data-Dir-Overview-Tool', + }, { text: 'TsFile Sketch Tool', link: 'TsFile-Sketch-Tool' }, - { text: 'TsFile Resource Sketch Tool', link: 'TsFile-Resource-Sketch-Tool' }, + { + text: 'TsFile Resource Sketch Tool', + link: 'TsFile-Resource-Sketch-Tool', + }, { text: 'TsFile Split Tool', link: 'TsFile-Split-Tool' }, { text: 'TsFile Load Export Tool', link: 'TsFile-Load-Export-Tool' }, { text: 'CSV Load Export Tool', link: 'CSV-Tool' }, @@ -242,9 +251,7 @@ export const enSidebar = { collapsible: true, prefix: 'Edge-Cloud-Collaboration/', // children: 'structure', - children: [ - { text: 'TsFile Sync Tool', link: 'Sync-Tool' }, - ], + children: [{ text: 'TsFile Sync Tool', link: 'Sync-Tool' }], }, { text: 'Ecosystem Integration', @@ -253,7 +260,10 @@ export const enSidebar = { // children: 'structure', children: [ { text: 'Grafana-Plugin', link: 'Grafana-Plugin' }, - { text: 'Grafana-Connector (Not Recommended)', link: 'Grafana-Connector' }, + { + text: 'Grafana-Connector (Not Recommended)', + link: 'Grafana-Connector', + }, { text: 'Zeppelin-IoTDB', link: 'Zeppelin-IoTDB' }, { text: 'DBeaver-IoTDB', link: 'DBeaver' }, { text: 'MapReduce-TsFile', link: 'MapReduce-TsFile' }, @@ -274,7 +284,10 @@ export const enSidebar = { { text: 'Cluster Concept', link: 'Cluster-Concept' }, { text: 'Cluster Setup', link: 'Cluster-Setup' }, { text: 'Cluster Maintenance', link: 'Cluster-Maintenance' }, - { text: 'Deployment Recommendation', link: 'Deployment-Recommendation' }, + { + text: 'Deployment Recommendation', + link: 'Deployment-Recommendation', + }, ], }, { @@ -283,7 +296,10 @@ export const enSidebar = { prefix: 'FAQ/', // children: 'structure', children: [ - { text: 'Frequently asked questions', link: 'Frequently-asked-questions' }, + { + text: 'Frequently asked questions', + link: 'Frequently-asked-questions', + }, { text: 'FAQ for cluster setup', link: 'FAQ-for-cluster-setup' }, ], }, diff --git a/src/.vuepress/sidebar/V1.1.x/zh.ts b/src/.vuepress/sidebar/V1.1.x/zh.ts index fd8dc4acc..1bd14acac 100644 --- a/src/.vuepress/sidebar/V1.1.x/zh.ts +++ b/src/.vuepress/sidebar/V1.1.x/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -216,9 +215,7 @@ export const zhSidebar = { collapsible: true, prefix: 'Administration-Management/', // children: 'structure', - children: [ - { text: '权限管理', link: 'Administration' }, - ], + children: [{ text: '权限管理', link: 'Administration' }], }, { text: '运维工具', @@ -230,9 +227,15 @@ export const zhSidebar = { { text: '日志工具', link: 'Log-Tool' }, { text: 'JMX 工具', link: 'JMX-Tool' }, { text: 'Mlog解析工具', link: 'MLogParser-Tool' }, - { text: 'IoTDB数据文件夹概览工具', link: 'IoTDB-Data-Dir-Overview-Tool' }, + { + text: 'IoTDB数据文件夹概览工具', + link: 'IoTDB-Data-Dir-Overview-Tool', + }, { text: 'TsFile概览工具', link: 'TsFile-Sketch-Tool' }, - { text: 'TsFile Resource概览工具', link: 'TsFile-Resource-Sketch-Tool' }, + { + text: 'TsFile Resource概览工具', + link: 'TsFile-Resource-Sketch-Tool', + }, { text: 'TsFile 拆分工具', link: 'TsFile-Split-Tool' }, { text: 'TsFile 导入导出工具', link: 'TsFile-Load-Export-Tool' }, { text: 'CSV 导入导出工具', link: 'CSV-Tool' }, @@ -244,9 +247,7 @@ export const zhSidebar = { collapsible: true, prefix: 'Edge-Cloud-Collaboration/', // children: 'structure', - children: [ - { text: 'TsFile 同步工具', link: 'Sync-Tool' }, - ], + children: [{ text: 'TsFile 同步工具', link: 'Sync-Tool' }], }, { text: '系统集成', diff --git a/src/.vuepress/sidebar/V1.2.x/en.ts b/src/.vuepress/sidebar/V1.2.x/en.ts index 2ecb9fff8..e42f05d3d 100644 --- a/src/.vuepress/sidebar/V1.2.x/en.ts +++ b/src/.vuepress/sidebar/V1.2.x/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -57,7 +56,10 @@ export const enSidebar = { { text: 'Data Model', link: 'Data-Model-and-Terminology' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Encoding and Compression', link: 'Encoding-and-Compression' }, - { text: 'Data Partitioning & Load Balancing', link: 'Cluster-data-partitioning' }, + { + text: 'Data Partitioning & Load Balancing', + link: 'Cluster-data-partitioning', + }, ], }, { @@ -66,11 +68,17 @@ export const enSidebar = { prefix: 'Deployment-and-Maintenance/', // children: 'structure', children: [ - { text: 'Environmental Requirement', link: 'Environmental-Requirement' }, + { + text: 'Environmental Requirement', + link: 'Environmental-Requirement', + }, { text: 'Resource Recommendation', link: 'Deployment-Recommendation' }, { text: 'Deployment Guide', link: 'Deployment-Guide' }, { text: 'Docker Install', link: 'Docker-Install' }, - { text: 'Monitoring Board Install and Deploy', link: 'Monitoring-Board-Install-and-Deploy' }, + { + text: 'Monitoring Board Install and Deploy', + link: 'Monitoring-Board-Install-and-Deploy', + }, ], }, @@ -150,9 +158,7 @@ export const enSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL Manual', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL Manual', link: 'SQL-Manual' }], }, { text: 'FAQ', @@ -160,7 +166,11 @@ export const enSidebar = { prefix: 'FAQ/', // children: 'structure', children: [ - { text: 'Frequently Asked Questions', link: 'Frequently-asked-questions' }], + { + text: 'Frequently Asked Questions', + link: 'Frequently-asked-questions', + }, + ], }, { text: 'Reference', diff --git a/src/.vuepress/sidebar/V1.2.x/zh.ts b/src/.vuepress/sidebar/V1.2.x/zh.ts index 633dfcb71..e7329a8ab 100644 --- a/src/.vuepress/sidebar/V1.2.x/zh.ts +++ b/src/.vuepress/sidebar/V1.2.x/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -149,17 +148,14 @@ export const zhSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL手册', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL手册', link: 'SQL-Manual' }], }, { text: 'FAQ', collapsible: true, prefix: 'FAQ/', // children: 'structure', - children: [ - { text: '常见问题', link: 'Frequently-asked-questions' }], + children: [{ text: '常见问题', link: 'Frequently-asked-questions' }], }, { text: '参考', diff --git a/src/.vuepress/sidebar/V1.3.0-2/en.ts b/src/.vuepress/sidebar/V1.3.0-2/en.ts index 290e3d672..0bc5f4f6c 100644 --- a/src/.vuepress/sidebar/V1.3.0-2/en.ts +++ b/src/.vuepress/sidebar/V1.3.0-2/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -47,12 +46,18 @@ export const enSidebar = { prefix: 'Basic-Concept/', // children: 'structure', children: [ - { text: 'Navigating Time Series Data', link: 'Navigating_Time_Series_Data' }, + { + text: 'Navigating Time Series Data', + link: 'Navigating_Time_Series_Data', + }, { text: 'Data Model', link: 'Data-Model-and-Terminology' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Encoding and Compression', link: 'Encoding-and-Compression' }, { text: 'Cluster-related Concepts', link: 'Cluster-Concept' }, - { text: 'Data Partitioning & Load Balancing', link: 'Cluster-data-partitioning' }, + { + text: 'Data Partitioning & Load Balancing', + link: 'Cluster-data-partitioning', + }, ], }, { @@ -64,7 +69,10 @@ export const enSidebar = { { text: 'Obtain IoTDB', link: 'IoTDB-Package_apache' }, { text: 'Database Resources', link: 'Database-Resources' }, { text: 'System Requirements', link: 'Environment-Requirements' }, - { text: 'Stand-Alone Deployment', link: 'Stand-Alone-Deployment_apache' }, + { + text: 'Stand-Alone Deployment', + link: 'Stand-Alone-Deployment_apache', + }, { text: 'Cluster Deployment', link: 'Cluster-Deployment_apache' }, { text: 'Docker Deployment', link: 'Docker-Deployment_apache' }, ], @@ -100,7 +108,10 @@ export const enSidebar = { { text: 'Benchmark Tool', link: 'Benchmark' }, { text: 'Maintenance Tool', link: 'Maintenance-Tool_apache' }, { text: 'Data Import Export Script', link: 'Data-Import-Export-Tool' }, - { text: 'TsFile Import Export Script', link: 'TsFile-Import-Export-Tool' }, + { + text: 'TsFile Import Export Script', + link: 'TsFile-Import-Export-Tool', + }, ], }, { @@ -147,9 +158,7 @@ export const enSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL Manual', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL Manual', link: 'SQL-Manual' }], }, { text: 'FAQ', @@ -157,7 +166,11 @@ export const enSidebar = { prefix: 'FAQ/', // children: 'structure', children: [ - { text: 'Frequently Asked Questions', link: 'Frequently-asked-questions' }], + { + text: 'Frequently Asked Questions', + link: 'Frequently-asked-questions', + }, + ], }, { text: 'Reference', diff --git a/src/.vuepress/sidebar/V1.3.0-2/zh.ts b/src/.vuepress/sidebar/V1.3.0-2/zh.ts index f92c21ab3..33214954e 100644 --- a/src/.vuepress/sidebar/V1.3.0-2/zh.ts +++ b/src/.vuepress/sidebar/V1.3.0-2/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -147,17 +146,14 @@ export const zhSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL手册', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL手册', link: 'SQL-Manual' }], }, { text: 'FAQ', collapsible: true, prefix: 'FAQ/', // children: 'structure', - children: [ - { text: '常见问题', link: 'Frequently-asked-questions' }], + children: [{ text: '常见问题', link: 'Frequently-asked-questions' }], }, { text: '参考', diff --git a/src/.vuepress/sidebar/V1.3.3/en.ts b/src/.vuepress/sidebar/V1.3.3/en.ts index e9b0ee76b..9930cae55 100644 --- a/src/.vuepress/sidebar/V1.3.3/en.ts +++ b/src/.vuepress/sidebar/V1.3.3/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -55,7 +54,10 @@ export const enSidebar = { { text: 'Obtain IoTDB', link: 'IoTDB-Package_apache' }, { text: 'Database Resources', link: 'Database-Resources' }, { text: 'System Requirements', link: 'Environment-Requirements' }, - { text: 'Stand-Alone Deployment', link: 'Stand-Alone-Deployment_apache' }, + { + text: 'Stand-Alone Deployment', + link: 'Stand-Alone-Deployment_apache', + }, { text: 'Cluster Deployment', link: 'Cluster-Deployment_apache' }, { text: 'Docker Deployment', link: 'Docker-Deployment_apache' }, ], @@ -70,12 +72,21 @@ export const enSidebar = { text: 'Data Modeling', collapsible: true, children: [ - { text: 'Timeseries Data Model', link: 'Navigating_Time_Series_Data' }, - { text: 'Modeling Scheme Design', link: 'Data-Model-and-Terminology' }, - { text: 'Measurement Point Management', link: 'Operate-Metadata_apache' }, + { + text: 'Timeseries Data Model', + link: 'Navigating_Time_Series_Data', + }, + { + text: 'Modeling Scheme Design', + link: 'Data-Model-and-Terminology', + }, + { + text: 'Measurement Point Management', + link: 'Operate-Metadata_apache', + }, ], }, - { text: 'Write & Delete', link: 'Write-Delete-Data' }, + { text: 'Write & Delete', link: 'Write-Delete-Data' }, { text: 'Query Data', link: 'Query-Data' }, ], }, @@ -100,7 +111,7 @@ export const enSidebar = { text: 'Database Programming', collapsible: true, children: [ - { text: 'UDF Development', link: 'UDF-development' }, + { text: 'UDF Development', link: 'UDF-development' }, { text: 'Trigger', link: 'Trigger' }, { text: 'Stream Processing', link: 'Streaming_apache' }, ], @@ -117,7 +128,7 @@ export const enSidebar = { { text: 'Command Line Interface (CLI)', link: 'CLI' }, { text: 'Monitor Tool', link: 'Monitor-Tool_apache' }, { text: 'Benchmark Tool', link: 'Benchmark' }, - { text: 'Cluster Management Tool', link: 'Maintenance-Tool_apache' }, + { text: 'Cluster Management Tool', link: 'Maintenance-Tool_apache' }, { text: 'Data Import', link: 'Data-Import-Tool' }, { text: 'Data Export', link: 'Data-Export-Tool' }, ], @@ -142,7 +153,7 @@ export const enSidebar = { text: 'REST API', collapsible: true, children: [ - { text: 'V1 (Not Recommend)', link: 'RestServiceV1' }, + { text: 'V1 (Not Recommend)', link: 'RestServiceV1' }, { text: 'V2', link: 'RestServiceV2' }, ], }, @@ -179,8 +190,14 @@ export const enSidebar = { collapsible: true, children: [ { text: 'UDF Libraries', link: 'UDF-Libraries_apache' }, - { text: 'Operator and Expression', link: 'Operator-and-Expression' }, - { text: 'Function and Expression', link: 'Function-and-Expression' }, + { + text: 'Operator and Expression', + link: 'Operator-and-Expression', + }, + { + text: 'Function and Expression', + link: 'Function-and-Expression', + }, ], }, ], @@ -193,7 +210,10 @@ export const enSidebar = { children: [ { text: 'Research Paper ', link: 'Publication' }, { text: 'Compression & Encoding', link: 'Encoding-and-Compression' }, - { text: 'Data Partitioning & Load Balancing', link: 'Cluster-data-partitioning' }, + { + text: 'Data Partitioning & Load Balancing', + link: 'Cluster-data-partitioning', + }, ], }, { @@ -207,7 +227,10 @@ export const enSidebar = { collapsible: true, children: [ { text: 'Common Config Manual', link: 'Common-Config-Manual' }, - { text: 'ConfigNode Config Manual', link: 'ConfigNode-Config-Manual' }, + { + text: 'ConfigNode Config Manual', + link: 'ConfigNode-Config-Manual', + }, { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual' }, ], }, @@ -216,7 +239,7 @@ export const enSidebar = { collapsible: true, children: [ { text: 'Identifiers', link: 'Syntax-Rule' }, - { text: 'Keywords', link: 'Keywords' }, + { text: 'Keywords', link: 'Keywords' }, ], }, { text: 'Status Codes', link: 'Status-Codes' }, @@ -228,7 +251,11 @@ export const enSidebar = { prefix: 'FAQ/', // children: 'structure', children: [ - { text: 'Frequently Asked Questions', link: 'Frequently-asked-questions' }], + { + text: 'Frequently Asked Questions', + link: 'Frequently-asked-questions', + }, + ], }, ], }; diff --git a/src/.vuepress/sidebar/V1.3.3/zh.ts b/src/.vuepress/sidebar/V1.3.3/zh.ts index 63557c094..e268ced63 100644 --- a/src/.vuepress/sidebar/V1.3.3/zh.ts +++ b/src/.vuepress/sidebar/V1.3.3/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -70,12 +69,12 @@ export const zhSidebar = { text: '数据建模', collapsible: true, children: [ - { text: '时序数据模型', link: 'Navigating_Time_Series_Data' }, + { text: '时序数据模型', link: 'Navigating_Time_Series_Data' }, { text: '建模方案设计', link: 'Data-Model-and-Terminology' }, { text: '测点管理', link: 'Operate-Metadata_apache' }, ], }, - { text: '写入&删除', link: 'Write-Delete-Data' }, + { text: '写入&删除', link: 'Write-Delete-Data' }, { text: '数据查询', link: 'Query-Data' }, ], }, @@ -90,9 +89,7 @@ export const zhSidebar = { { text: '安全管理', collapsible: true, - children: [ - { text: '权限管理', link: 'Authority-Management' }, - ], + children: [{ text: '权限管理', link: 'Authority-Management' }], }, { text: '用户自定义函数', link: 'User-defined-function_apache' }, { text: '连续查询', link: 'Database-Programming' }, @@ -100,12 +97,12 @@ export const zhSidebar = { text: '数据库编程', collapsible: true, children: [ - { text: 'UDF开发', link: 'UDF-development' }, + { text: 'UDF开发', link: 'UDF-development' }, { text: '触发器', link: 'Trigger' }, { text: '流处理框架', link: 'Streaming_apache' }, ], }, - { text: '运维语句', link: 'Maintennance'}, + { text: '运维语句', link: 'Maintennance' }, ], }, { @@ -142,7 +139,7 @@ export const zhSidebar = { text: 'REST API', collapsible: true, children: [ - { text: 'V1 (不推荐)', link: 'RestServiceV1' }, + { text: 'V1 (不推荐)', link: 'RestServiceV1' }, { text: 'V2', link: 'RestServiceV2' }, ], }, @@ -179,8 +176,8 @@ export const zhSidebar = { collapsible: true, children: [ { text: 'UDF函数库', link: 'UDF-Libraries_apache' }, - { text: '函数与运算符', link: 'Operator-and-Expression' }, - { text: '内置函数与表达式', link: 'Function-and-Expression' }, + { text: '函数与运算符', link: 'Operator-and-Expression' }, + { text: '内置函数与表达式', link: 'Function-and-Expression' }, ], }, ], @@ -216,7 +213,7 @@ export const zhSidebar = { collapsible: true, children: [ { text: '标识符', link: 'Syntax-Rule' }, - { text: '关键字', link: 'Keywords' }, + { text: '关键字', link: 'Keywords' }, ], }, { text: '状态码', link: 'Status-Codes' }, @@ -227,8 +224,7 @@ export const zhSidebar = { collapsible: true, prefix: 'FAQ/', // children: 'structure', - children: [ - { text: '常见问题', link: 'Frequently-asked-questions' }], + children: [{ text: '常见问题', link: 'Frequently-asked-questions' }], }, ], }; diff --git a/src/.vuepress/sidebar/en.ts b/src/.vuepress/sidebar/en.ts index 9f65f97f2..904ab9cf8 100644 --- a/src/.vuepress/sidebar/en.ts +++ b/src/.vuepress/sidebar/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { sidebar } from 'vuepress-theme-hope'; diff --git a/src/.vuepress/sidebar/index.ts b/src/.vuepress/sidebar/index.ts index 4493c7ebe..3e7096aa4 100644 --- a/src/.vuepress/sidebar/index.ts +++ b/src/.vuepress/sidebar/index.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export * from './en.js'; diff --git a/src/.vuepress/sidebar/zh.ts b/src/.vuepress/sidebar/zh.ts index 5d0cf0d74..2ef360f50 100644 --- a/src/.vuepress/sidebar/zh.ts +++ b/src/.vuepress/sidebar/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { sidebar } from 'vuepress-theme-hope'; diff --git a/src/.vuepress/sidebar_timecho/V0.13.x/en.ts b/src/.vuepress/sidebar_timecho/V0.13.x/en.ts index 8eb2577f4..e8b42ca60 100644 --- a/src/.vuepress/sidebar_timecho/V0.13.x/en.ts +++ b/src/.vuepress/sidebar_timecho/V0.13.x/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -52,7 +51,10 @@ export const enSidebar = { collapsible: true, prefix: 'Data-Concept/', children: [ - { text: 'Data Model and Terminology', link: 'Data-Model-and-Terminology' }, + { + text: 'Data Model and Terminology', + link: 'Data-Model-and-Terminology', + }, { text: 'Schema Template', link: 'Schema-Template' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Deadband Process', link: 'Deadband-Process' }, @@ -66,9 +68,7 @@ export const enSidebar = { text: 'Syntax Conventions', collapsible: true, prefix: 'Reference/', - children: [ - { text: 'Syntax Conventions', link: 'Syntax-Conventions' }, - ], + children: [{ text: 'Syntax Conventions', link: 'Syntax-Conventions' }], }, { text: 'API', @@ -132,7 +132,10 @@ export const enSidebar = { collapsible: true, prefix: 'Process-Data/', children: [ - { text: 'UDF (User Defined Function)', link: 'UDF-User-Defined-Function' }, + { + text: 'UDF (User Defined Function)', + link: 'UDF-User-Defined-Function', + }, { text: 'Seletct Into', link: 'Select-Into' }, { text: 'Continuous Query', link: 'Continuous-Query' }, { text: 'Triggers', link: 'Triggers' }, @@ -143,9 +146,7 @@ export const enSidebar = { text: 'Administration', collapsible: true, prefix: 'Administration-Management/', - children: [ - { text: 'Administration', link: 'Administration' }, - ], + children: [{ text: 'Administration', link: 'Administration' }], }, { text: 'Maintenance Tools', @@ -171,7 +172,10 @@ export const enSidebar = { prefix: 'Ecosystem-Integration/', children: [ { text: 'Grafana Plugin', link: 'Grafana-Plugin' }, - { text: 'Grafana Connector (Not Recommended)', link: 'Grafana-Connector' }, + { + text: 'Grafana Connector (Not Recommended)', + link: 'Grafana-Connector', + }, { text: 'Zeppelin-IoTDB', link: 'Zeppelin-IoTDB' }, { text: 'DBeaver-IoTDB', link: 'DBeaver' }, { text: 'MapReduce TsFile', link: 'MapReduce-TsFile' }, @@ -207,7 +211,10 @@ export const enSidebar = { children: [ { text: 'Config Manual', link: 'Config-Manual' }, { text: 'Keywords', link: 'Keywords' }, - { text: 'Frequently asked questions', link: 'Frequently-asked-questions' }, + { + text: 'Frequently asked questions', + link: 'Frequently-asked-questions', + }, { text: 'TSDB Comparison', link: 'TSDB-Comparison' }, ], }, diff --git a/src/.vuepress/sidebar_timecho/V0.13.x/zh.ts b/src/.vuepress/sidebar_timecho/V0.13.x/zh.ts index 343e2a08b..baa7a5077 100644 --- a/src/.vuepress/sidebar_timecho/V0.13.x/zh.ts +++ b/src/.vuepress/sidebar_timecho/V0.13.x/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -31,8 +30,8 @@ export const zhSidebar = { children: [ { text: 'IoTDB简介', link: 'What-is-IoTDB' }, { text: '主要功能特点', link: 'Features' }, - // { text: '系统架构', link: 'Architecture' }, - // { text: '应用场景', link: 'Scenario' }, + // { text: '系统架构', link: 'Architecture' }, + // { text: '应用场景', link: 'Scenario' }, { text: '研究论文', link: 'Publication' }, ], }, @@ -66,9 +65,7 @@ export const zhSidebar = { text: '语法约定', collapsible: true, prefix: 'Reference/', - children: [ - { text: '语法约定', link: 'Syntax-Conventions' }, - ], + children: [{ text: '语法约定', link: 'Syntax-Conventions' }], }, { text: '应用编程接口', @@ -143,17 +140,13 @@ export const zhSidebar = { text: '权限管理', collapsible: true, prefix: 'Administration-Management/', - children: [ - { text: '权限管理', link: 'Administration' }, - ], + children: [{ text: '权限管理', link: 'Administration' }], }, { text: '双活版本', collapsible: true, prefix: 'Active-Active/', - children: [ - { text: '双活', link: 'Active-Active' }, - ], + children: [{ text: '双活', link: 'Active-Active' }], }, { text: '运维工具', diff --git a/src/.vuepress/sidebar_timecho/V1.0.x/en.ts b/src/.vuepress/sidebar_timecho/V1.0.x/en.ts index 4f946b82b..58c4067ce 100644 --- a/src/.vuepress/sidebar_timecho/V1.0.x/en.ts +++ b/src/.vuepress/sidebar_timecho/V1.0.x/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -52,7 +51,10 @@ export const enSidebar = { collapsible: true, prefix: 'Data-Concept/', children: [ - { text: 'Data Model and Terminology', link: 'Data-Model-and-Terminology' }, + { + text: 'Data Model and Terminology', + link: 'Data-Model-and-Terminology', + }, { text: 'Schema Template', link: 'Schema-Template' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Deadband Process', link: 'Deadband-Process' }, @@ -73,7 +75,10 @@ export const enSidebar = { { text: 'Key-Value Pair', link: 'KeyValue-Pair' }, { text: 'Keywords', link: 'Keywords-And-Reserved-Words' }, { text: 'Session And TsFile API', link: 'Session-And-TsFile-API' }, - { text: 'Detailed Definitions of Lexical and Grammar', link: 'Detailed-Grammar' }, + { + text: 'Detailed Definitions of Lexical and Grammar', + link: 'Detailed-Grammar', + }, ], }, { @@ -200,9 +205,7 @@ export const enSidebar = { text: 'Administration Management', collapsible: true, prefix: 'Administration-Management/', - children: [ - { text: 'Administration', link: 'Administration' }, - ], + children: [{ text: 'Administration', link: 'Administration' }], }, { text: 'Maintenance Tools', @@ -213,9 +216,15 @@ export const enSidebar = { { text: 'Log Tool', link: 'Log-Tool' }, { text: 'JMX Tool', link: 'JMX-Tool' }, { text: 'MLogParser Tool', link: 'MLogParser-Tool' }, - { text: 'IoTDB Data Directory Overview Tool', link: 'IoTDB-Data-Dir-Overview-Tool' }, + { + text: 'IoTDB Data Directory Overview Tool', + link: 'IoTDB-Data-Dir-Overview-Tool', + }, { text: 'TsFile Sketch Tool', link: 'TsFile-Sketch-Tool' }, - { text: 'TsFile Resource Sketch Tool', link: 'TsFile-Resource-Sketch-Tool' }, + { + text: 'TsFile Resource Sketch Tool', + link: 'TsFile-Resource-Sketch-Tool', + }, { text: 'TsFile Split Tool', link: 'TsFile-Split-Tool' }, { text: 'TsFile Load Export Tool', link: 'TsFile-Load-Export-Tool' }, { text: 'CSV Load Export Tool', link: 'CSV-Tool' }, @@ -225,9 +234,7 @@ export const enSidebar = { text: 'Collaboration of Edge and Cloud', collapsible: true, prefix: 'Edge-Cloud-Collaboration/', - children: [ - { text: 'TsFile Sync Tool', link: 'Sync-Tool' }, - ], + children: [{ text: 'TsFile Sync Tool', link: 'Sync-Tool' }], }, { text: 'Ecosystem Integration', @@ -235,7 +242,10 @@ export const enSidebar = { prefix: 'Ecosystem-Integration/', children: [ { text: 'Grafana-Plugin', link: 'Grafana-Plugin' }, - { text: 'Grafana-Connector (Not Recommended)', link: 'Grafana-Connector' }, + { + text: 'Grafana-Connector (Not Recommended)', + link: 'Grafana-Connector', + }, { text: 'Zeppelin-IoTDB', link: 'Zeppelin-IoTDB' }, { text: 'DBeaver-IoTDB', link: 'DBeaver' }, { text: 'MapReduce-TsFile', link: 'MapReduce-TsFile' }, @@ -255,7 +265,10 @@ export const enSidebar = { { text: 'Cluster Concept', link: 'Cluster-Concept' }, { text: 'Cluster Setup', link: 'Cluster-Setup' }, { text: 'Cluster Maintenance', link: 'Cluster-Maintenance' }, - { text: 'Deployment Recommendation', link: 'Deployment-Recommendation' }, + { + text: 'Deployment Recommendation', + link: 'Deployment-Recommendation', + }, ], }, { @@ -263,7 +276,10 @@ export const enSidebar = { collapsible: true, prefix: 'FAQ/', children: [ - { text: 'Frequently asked questions', link: 'Frequently-asked-questions' }, + { + text: 'Frequently asked questions', + link: 'Frequently-asked-questions', + }, { text: 'FAQ for cluster setup', link: 'FAQ-for-cluster-setup' }, ], }, diff --git a/src/.vuepress/sidebar_timecho/V1.0.x/zh.ts b/src/.vuepress/sidebar_timecho/V1.0.x/zh.ts index 4791a02e7..823e559ad 100644 --- a/src/.vuepress/sidebar_timecho/V1.0.x/zh.ts +++ b/src/.vuepress/sidebar_timecho/V1.0.x/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -31,7 +30,7 @@ export const zhSidebar = { children: [ { text: 'IoTDB简介', link: 'What-is-IoTDB' }, { text: '主要功能特点', link: 'Features' }, - // { text: '系统架构', link: 'Architecture' }, + // { text: '系统架构', link: 'Architecture' }, // { text: '应用场景', link: 'Scenario' }, { text: '研究论文', link: 'Publication' }, ], @@ -42,9 +41,9 @@ export const zhSidebar = { prefix: 'QuickStart/', children: [ { text: '快速上手', link: 'QuickStart' }, - // { text: '下载与安装', link: 'WayToGetIoTDB' }, -// { text: 'SQL命令行终端(CLI)', link: 'Command-Line-Interface' }, -// { text: '数据文件存储', link: 'Files' }, + // { text: '下载与安装', link: 'WayToGetIoTDB' }, + // { text: 'SQL命令行终端(CLI)', link: 'Command-Line-Interface' }, + // { text: '数据文件存储', link: 'Files' }, ], }, { @@ -64,12 +63,12 @@ export const zhSidebar = { prefix: 'Basic-Concept/', children: [ { text: '数据模型', link: 'Data-Model-and-Terminology' }, - // { text: '元数据模板', link: 'Schema-Template' }, + // { text: '元数据模板', link: 'Schema-Template' }, { text: '数据类型', link: 'Data-Type' }, - // { text: '死区处理', link: 'Deadband-Process' }, + // { text: '死区处理', link: 'Deadband-Process' }, { text: '编码和压缩', link: 'Encoding-and-Compression' }, - // { text: '数据的时间分区', link: 'Time-Partition' }, - // { text: '时区', link: 'Time-zone' }, + // { text: '数据的时间分区', link: 'Time-Partition' }, + // { text: '时区', link: 'Time-zone' }, ], }, { @@ -216,9 +215,15 @@ export const zhSidebar = { { text: '日志工具', link: 'Log-Tool' }, { text: 'JMX 工具', link: 'JMX-Tool' }, { text: 'Mlog解析工具', link: 'MLogParser-Tool' }, - { text: 'IoTDB数据文件夹概览工具', link: 'IoTDB-Data-Dir-Overview-Tool' }, + { + text: 'IoTDB数据文件夹概览工具', + link: 'IoTDB-Data-Dir-Overview-Tool', + }, { text: 'TsFile概览工具', link: 'TsFile-Sketch-Tool' }, - { text: 'TsFile Resource概览工具', link: 'TsFile-Resource-Sketch-Tool' }, + { + text: 'TsFile Resource概览工具', + link: 'TsFile-Resource-Sketch-Tool', + }, { text: 'TsFile 拆分工具', link: 'TsFile-Split-Tool' }, { text: 'TsFile 导入导出工具', link: 'TsFile-Load-Export-Tool' }, { text: 'CSV 导入导出工具', link: 'CSV-Tool' }, @@ -228,9 +233,7 @@ export const zhSidebar = { text: '端云协同', collapsible: true, prefix: 'Edge-Cloud-Collaboration/', - children: [ - { text: 'TsFile 同步工具', link: 'Sync-Tool' }, - ], + children: [{ text: 'TsFile 同步工具', link: 'Sync-Tool' }], }, { text: '系统集成', diff --git a/src/.vuepress/sidebar_timecho/V1.1.x/en.ts b/src/.vuepress/sidebar_timecho/V1.1.x/en.ts index 5a889dc3f..0199ff113 100644 --- a/src/.vuepress/sidebar_timecho/V1.1.x/en.ts +++ b/src/.vuepress/sidebar_timecho/V1.1.x/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -55,7 +54,10 @@ export const enSidebar = { prefix: 'Data-Concept/', // children: 'structure', children: [ - { text: 'Data Model and Terminology', link: 'Data-Model-and-Terminology' }, + { + text: 'Data Model and Terminology', + link: 'Data-Model-and-Terminology', + }, { text: 'Schema Template', link: 'Schema-Template' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Deadband Process', link: 'Deadband-Process' }, @@ -215,9 +217,7 @@ export const enSidebar = { collapsible: true, prefix: 'Administration-Management/', // children: 'structure', - children: [ - { text: 'Administration', link: 'Administration' }, - ], + children: [{ text: 'Administration', link: 'Administration' }], }, { text: 'Maintenance Tools', @@ -229,9 +229,15 @@ export const enSidebar = { { text: 'Log Tool', link: 'Log-Tool' }, { text: 'JMX Tool', link: 'JMX-Tool' }, { text: 'MLogParser Tool', link: 'MLogParser-Tool' }, - { text: 'Data Directory Overview Tool', link: 'IoTDB-Data-Dir-Overview-Tool' }, + { + text: 'Data Directory Overview Tool', + link: 'IoTDB-Data-Dir-Overview-Tool', + }, { text: 'TsFile Sketch Tool', link: 'TsFile-Sketch-Tool' }, - { text: 'TsFile Resource Sketch Tool', link: 'TsFile-Resource-Sketch-Tool' }, + { + text: 'TsFile Resource Sketch Tool', + link: 'TsFile-Resource-Sketch-Tool', + }, { text: 'TsFile Split Tool', link: 'TsFile-Split-Tool' }, { text: 'TsFile Load Export Tool', link: 'TsFile-Load-Export-Tool' }, { text: 'CSV Load Export Tool', link: 'CSV-Tool' }, @@ -242,9 +248,7 @@ export const enSidebar = { collapsible: true, prefix: 'Edge-Cloud-Collaboration/', // children: 'structure', - children: [ - { text: 'TsFile Sync Tool', link: 'Sync-Tool' }, - ], + children: [{ text: 'TsFile Sync Tool', link: 'Sync-Tool' }], }, { text: 'Ecosystem Integration', @@ -253,7 +257,10 @@ export const enSidebar = { // children: 'structure', children: [ { text: 'Grafana-Plugin', link: 'Grafana-Plugin' }, - { text: 'Grafana-Connector (Not Recommended)', link: 'Grafana-Connector' }, + { + text: 'Grafana-Connector (Not Recommended)', + link: 'Grafana-Connector', + }, { text: 'Zeppelin-IoTDB', link: 'Zeppelin-IoTDB' }, { text: 'DBeaver-IoTDB', link: 'DBeaver' }, { text: 'MapReduce-TsFile', link: 'MapReduce-TsFile' }, @@ -274,7 +281,10 @@ export const enSidebar = { { text: 'Cluster Concept', link: 'Cluster-Concept' }, { text: 'Cluster Setup', link: 'Cluster-Setup' }, { text: 'Cluster Maintenance', link: 'Cluster-Maintenance' }, - { text: 'Deployment Recommendation', link: 'Deployment-Recommendation' }, + { + text: 'Deployment Recommendation', + link: 'Deployment-Recommendation', + }, ], }, { @@ -283,7 +293,10 @@ export const enSidebar = { prefix: 'FAQ/', // children: 'structure', children: [ - { text: 'Frequently asked questions', link: 'Frequently-asked-questions' }, + { + text: 'Frequently asked questions', + link: 'Frequently-asked-questions', + }, { text: 'FAQ for cluster setup', link: 'FAQ-for-cluster-setup' }, ], }, diff --git a/src/.vuepress/sidebar_timecho/V1.1.x/zh.ts b/src/.vuepress/sidebar_timecho/V1.1.x/zh.ts index 4485ba6f8..52ec0f083 100644 --- a/src/.vuepress/sidebar_timecho/V1.1.x/zh.ts +++ b/src/.vuepress/sidebar_timecho/V1.1.x/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -44,10 +43,10 @@ export const zhSidebar = { children: [ { text: '单机版', link: 'QuickStart' }, { text: '集群版', link: 'ClusterQuickStart' }, -// { text: '下载与安装', link: 'WayToGetIoTDB' }, + // { text: '下载与安装', link: 'WayToGetIoTDB' }, { text: '常用SQL语句', link: 'General-SQL-Statements' }, -// { text: 'SQL命令行终端(CLI)', link: 'Command-Line-Interface' }, -// { text: '数据文件存储', link: 'Files' }, + // { text: 'SQL命令行终端(CLI)', link: 'Command-Line-Interface' }, + // { text: '数据文件存储', link: 'Files' }, ], }, { @@ -57,13 +56,13 @@ export const zhSidebar = { // children: 'structure', children: [ { text: '数据模型', link: 'Data-Model-and-Terminology' }, -// { text: '元数据模板', link: 'Schema-Template' }, + // { text: '元数据模板', link: 'Schema-Template' }, { text: '数据类型', link: 'Data-Type' }, -// { text: '死区处理', link: 'Deadband-Process' }, + // { text: '死区处理', link: 'Deadband-Process' }, { text: '编码和压缩', link: 'Encoding-and-Compression' }, -// { text: '压缩方式', link: 'Compression' }, -// { text: '数据的时间分区', link: 'Time-Partition' }, -// { text: '时区', link: 'Time-zone' }, + // { text: '压缩方式', link: 'Compression' }, + // { text: '数据的时间分区', link: 'Time-Partition' }, + // { text: '时区', link: 'Time-zone' }, ], }, { @@ -150,17 +149,14 @@ export const zhSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL手册', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL手册', link: 'SQL-Manual' }], }, { text: 'FAQ', collapsible: true, prefix: 'FAQ/', // children: 'structure', - children: [ - { text: '常见问题', link: 'Frequently-asked-questions' }, ], + children: [{ text: '常见问题', link: 'Frequently-asked-questions' }], }, { text: '参考', diff --git a/src/.vuepress/sidebar_timecho/V1.2.x/en.ts b/src/.vuepress/sidebar_timecho/V1.2.x/en.ts index 891ed2d43..4c3d117bc 100644 --- a/src/.vuepress/sidebar_timecho/V1.2.x/en.ts +++ b/src/.vuepress/sidebar_timecho/V1.2.x/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -57,7 +56,10 @@ export const enSidebar = { { text: 'Data Model', link: 'Data-Model-and-Terminology' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Encoding and Compression', link: 'Encoding-and-Compression' }, - { text: 'Data Partitioning & Load Balancing', link: 'Cluster-data-partitioning' }, + { + text: 'Data Partitioning & Load Balancing', + link: 'Cluster-data-partitioning', + }, ], }, { @@ -66,11 +68,17 @@ export const enSidebar = { prefix: 'Deployment-and-Maintenance/', // children: 'structure', children: [ - { text: 'Environmental Requirement', link: 'Environmental-Requirement' }, + { + text: 'Environmental Requirement', + link: 'Environmental-Requirement', + }, { text: 'Resource Recommendation', link: 'Deployment-Recommendation' }, { text: 'Deployment Guide', link: 'Deployment-Guide_timecho' }, { text: 'Docker Install', link: 'Docker-Install' }, - { text: 'Monitoring Board Install and Deploy', link: 'Monitoring-Board-Install-and-Deploy' }, + { + text: 'Monitoring Board Install and Deploy', + link: 'Monitoring-Board-Install-and-Deploy', + }, ], }, @@ -142,7 +150,7 @@ export const enSidebar = { { text: 'Apache Spark(IoTDB)', link: 'Spark-IoTDB' }, { text: 'Apache Hive(TsFile)', link: 'Hive-TsFile' }, { text: 'Apache Flink(IoTDB)', link: 'Flink-IoTDB' }, -// { text: 'Apache Flink(SQL)', link: 'Flink-SQL-IoTDB' }, + // { text: 'Apache Flink(SQL)', link: 'Flink-SQL-IoTDB' }, { text: 'Apache Flink(TsFile)', link: 'Flink-TsFile' }, { text: 'Apache NiFi', link: 'NiFi-IoTDB' }, { text: 'DBeaver', link: 'DBeaver' }, @@ -154,9 +162,7 @@ export const enSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL Manual', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL Manual', link: 'SQL-Manual' }], }, { text: 'FAQ', @@ -164,7 +170,11 @@ export const enSidebar = { prefix: 'FAQ/', // children: 'structure', children: [ - { text: 'Frequently Asked Questions', link: 'Frequently-asked-questions' }], + { + text: 'Frequently Asked Questions', + link: 'Frequently-asked-questions', + }, + ], }, { text: 'Reference', diff --git a/src/.vuepress/sidebar_timecho/V1.2.x/zh.ts b/src/.vuepress/sidebar_timecho/V1.2.x/zh.ts index 28f6449a1..09427fe48 100644 --- a/src/.vuepress/sidebar_timecho/V1.2.x/zh.ts +++ b/src/.vuepress/sidebar_timecho/V1.2.x/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -70,7 +69,10 @@ export const zhSidebar = { { text: '资源推荐', link: 'Deployment-Recommendation' }, { text: '部署指导', link: 'Deployment-Guide_timecho' }, { text: 'docker部署', link: 'Docker-Install' }, - { text: '监控面板安装部署', link: 'Monitoring-Board-Install-and-Deploy' }, + { + text: '监控面板安装部署', + link: 'Monitoring-Board-Install-and-Deploy', + }, ], }, @@ -142,7 +144,7 @@ export const zhSidebar = { { text: 'Apache Spark(IoTDB)', link: 'Spark-IoTDB' }, { text: 'Apache Hive(TsFile)', link: 'Hive-TsFile' }, { text: 'Apache Flink(IoTDB)', link: 'Flink-IoTDB' }, -// { text: 'Apache Flink(SQL)', link: 'Flink-SQL-IoTDB' }, + // { text: 'Apache Flink(SQL)', link: 'Flink-SQL-IoTDB' }, { text: 'Apache Flink(TsFile)', link: 'Flink-TsFile' }, { text: 'Apache NiFi', link: 'NiFi-IoTDB' }, { text: 'DBeaver', link: 'DBeaver' }, @@ -154,17 +156,14 @@ export const zhSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL手册', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL手册', link: 'SQL-Manual' }], }, { text: 'FAQ', collapsible: true, prefix: 'FAQ/', // children: 'structure', - children: [ - { text: '常见问题', link: 'Frequently-asked-questions' }], + children: [{ text: '常见问题', link: 'Frequently-asked-questions' }], }, { text: '参考', diff --git a/src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts b/src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts index ea7a08472..b9c9b9eaf 100644 --- a/src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts +++ b/src/.vuepress/sidebar_timecho/V1.3.0-2/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -47,12 +46,18 @@ export const enSidebar = { prefix: 'Basic-Concept/', // children: 'structure', children: [ - { text: 'Navigating Time Series Data', link: 'Navigating_Time_Series_Data' }, + { + text: 'Navigating Time Series Data', + link: 'Navigating_Time_Series_Data', + }, { text: 'Data Model', link: 'Data-Model-and-Terminology' }, { text: 'Data Type', link: 'Data-Type' }, { text: 'Encoding and Compression', link: 'Encoding-and-Compression' }, { text: 'Cluster-related Concepts', link: 'Cluster-Concept' }, - { text: 'Data Partitioning & Load Balancing', link: 'Cluster-data-partitioning' }, + { + text: 'Data Partitioning & Load Balancing', + link: 'Cluster-data-partitioning', + }, ], }, { @@ -64,12 +69,21 @@ export const enSidebar = { { text: 'Obtain TimechoDB', link: 'IoTDB-Package_timecho' }, { text: 'Database Resources', link: 'Database-Resources' }, { text: 'System Requirements', link: 'Environment-Requirements' }, - { text: 'Stand-Alone Deployment', link: 'Stand-Alone-Deployment_timecho' }, + { + text: 'Stand-Alone Deployment', + link: 'Stand-Alone-Deployment_timecho', + }, { text: 'Cluster Deployment', link: 'Cluster-Deployment_timecho' }, - { text: 'Dual Active Deployment', link: 'Dual-Active-Deployment_timecho' }, + { + text: 'Dual Active Deployment', + link: 'Dual-Active-Deployment_timecho', + }, { text: 'Docker Deployment', link: 'Docker-Deployment_timecho' }, { text: 'AINode Deployment', link: 'AINode_Deployment_timecho' }, - { text: 'Monitoring Panel Deployment', link: 'Monitoring-panel-deployment' }, + { + text: 'Monitoring Panel Deployment', + link: 'Monitoring-panel-deployment', + }, { text: 'Workbench Deployment', link: 'workbench-deployment_timecho' }, ], }, @@ -109,7 +123,10 @@ export const enSidebar = { { text: 'Benchmark Tool', link: 'Benchmark' }, { text: 'Maintenance Tool', link: 'Maintenance-Tool_timecho' }, { text: 'Data Import Export Script', link: 'Data-Import-Export-Tool' }, - { text: 'TsFile Import Export Script', link: 'TsFile-Import-Export-Tool' }, + { + text: 'TsFile Import Export Script', + link: 'TsFile-Import-Export-Tool', + }, ], }, { @@ -158,9 +175,7 @@ export const enSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL Manual', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL Manual', link: 'SQL-Manual' }], }, { text: 'FAQ', @@ -168,7 +183,11 @@ export const enSidebar = { prefix: 'FAQ/', // children: 'structure', children: [ - { text: 'Frequently Asked Questions', link: 'Frequently-asked-questions' }], + { + text: 'Frequently Asked Questions', + link: 'Frequently-asked-questions', + }, + ], }, { text: 'Reference', diff --git a/src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts b/src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts index ff0dfe0ac..a4b1d0a9c 100644 --- a/src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts +++ b/src/.vuepress/sidebar_timecho/V1.3.0-2/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -150,7 +149,7 @@ export const zhSidebar = { { text: 'Ignition', link: 'Ignition-IoTDB-plugin_timecho' }, { text: 'Grafana(IoTDB)', link: 'Grafana-Connector' }, { text: 'Grafana插件', link: 'Grafana-Plugin' }, - { text: 'ThingsBoard', link: 'Thingsboard' }, + { text: 'ThingsBoard', link: 'Thingsboard' }, ], }, { @@ -158,17 +157,14 @@ export const zhSidebar = { collapsible: true, prefix: 'SQL-Manual/', // children: 'structure', - children: [ - { text: 'SQL手册', link: 'SQL-Manual' }, - ], + children: [{ text: 'SQL手册', link: 'SQL-Manual' }], }, { text: 'FAQ', collapsible: true, prefix: 'FAQ/', // children: 'structure', - children: [ - { text: '常见问题', link: 'Frequently-asked-questions' }], + children: [{ text: '常见问题', link: 'Frequently-asked-questions' }], }, { text: '参考', diff --git a/src/.vuepress/sidebar_timecho/V1.3.3/en.ts b/src/.vuepress/sidebar_timecho/V1.3.3/en.ts index 77976ce42..444b93f3d 100644 --- a/src/.vuepress/sidebar_timecho/V1.3.3/en.ts +++ b/src/.vuepress/sidebar_timecho/V1.3.3/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const enSidebar = { @@ -55,12 +54,21 @@ export const enSidebar = { { text: 'Obtain TimechoDB', link: 'IoTDB-Package_timecho' }, { text: 'Database Resources', link: 'Database-Resources' }, { text: 'System Requirements', link: 'Environment-Requirements' }, - { text: 'Stand-Alone Deployment', link: 'Stand-Alone-Deployment_timecho' }, + { + text: 'Stand-Alone Deployment', + link: 'Stand-Alone-Deployment_timecho', + }, { text: 'Cluster Deployment', link: 'Cluster-Deployment_timecho' }, - { text: 'Dual Active Deployment', link: 'Dual-Active-Deployment_timecho' }, + { + text: 'Dual Active Deployment', + link: 'Dual-Active-Deployment_timecho', + }, { text: 'Docker Deployment', link: 'Docker-Deployment_timecho' }, { text: 'AINode Deployment', link: 'AINode_Deployment_timecho' }, - { text: 'Monitoring Panel Deployment', link: 'Monitoring-panel-deployment' }, + { + text: 'Monitoring Panel Deployment', + link: 'Monitoring-panel-deployment', + }, { text: 'Workbench Deployment', link: 'workbench-deployment_timecho' }, ], }, @@ -74,12 +82,21 @@ export const enSidebar = { text: 'Data Modeling', collapsible: true, children: [ - { text: 'Timeseries Data Model', link: 'Navigating_Time_Series_Data' }, - { text: 'Modeling Scheme Design', link: 'Data-Model-and-Terminology' }, - { text: 'Measurement Point Management', link: 'Operate-Metadata_timecho' }, + { + text: 'Timeseries Data Model', + link: 'Navigating_Time_Series_Data', + }, + { + text: 'Modeling Scheme Design', + link: 'Data-Model-and-Terminology', + }, + { + text: 'Measurement Point Management', + link: 'Operate-Metadata_timecho', + }, ], }, - { text: 'Write & Delete', link: 'Write-Delete-Data' }, + { text: 'Write & Delete', link: 'Write-Delete-Data' }, { text: 'Query Data', link: 'Query-Data' }, ], }, @@ -96,7 +113,7 @@ export const enSidebar = { text: 'Security Management', collapsible: true, children: [ - { text: 'White List', link: 'White-List_timecho' }, + { text: 'White List', link: 'White-List_timecho' }, { text: 'Audit Log', link: 'Audit-Log_timecho' }, { text: 'Authority Management', link: 'Authority-Management' }, ], @@ -109,7 +126,7 @@ export const enSidebar = { text: 'Database Programming', collapsible: true, children: [ - { text: 'UDF Development', link: 'UDF-development' }, + { text: 'UDF Development', link: 'UDF-development' }, { text: 'Trigger', link: 'Trigger' }, { text: 'Stream Processing', link: 'Streaming_timecho' }, ], @@ -153,7 +170,7 @@ export const enSidebar = { text: 'REST API', collapsible: true, children: [ - { text: 'V1 (Not Recommend)', link: 'RestServiceV1' }, + { text: 'V1 (Not Recommend)', link: 'RestServiceV1' }, { text: 'V2', link: 'RestServiceV2' }, ], }, @@ -192,8 +209,14 @@ export const enSidebar = { collapsible: true, children: [ { text: 'UDF Libraries', link: 'UDF-Libraries_timecho' }, - { text: 'Operator and Expression', link: 'Operator-and-Expression' }, - { text: 'Function and Expression', link: 'Function-and-Expression' }, + { + text: 'Operator and Expression', + link: 'Operator-and-Expression', + }, + { + text: 'Function and Expression', + link: 'Function-and-Expression', + }, ], }, ], @@ -206,7 +229,10 @@ export const enSidebar = { children: [ { text: 'Research Paper ', link: 'Publication' }, { text: 'Compression & Encoding', link: 'Encoding-and-Compression' }, - { text: 'Data Partitioning & Load Balancing', link: 'Cluster-data-partitioning' }, + { + text: 'Data Partitioning & Load Balancing', + link: 'Cluster-data-partitioning', + }, ], }, { @@ -220,7 +246,10 @@ export const enSidebar = { collapsible: true, children: [ { text: 'Common Config Manual', link: 'Common-Config-Manual' }, - { text: 'ConfigNode Config Manual', link: 'ConfigNode-Config-Manual' }, + { + text: 'ConfigNode Config Manual', + link: 'ConfigNode-Config-Manual', + }, { text: 'DataNode Config Manual', link: 'DataNode-Config-Manual' }, ], }, @@ -229,7 +258,7 @@ export const enSidebar = { collapsible: true, children: [ { text: 'Identifiers', link: 'Syntax-Rule' }, - { text: 'Keywords', link: 'Keywords' }, + { text: 'Keywords', link: 'Keywords' }, ], }, { text: 'Status Codes', link: 'Status-Codes' }, @@ -241,8 +270,11 @@ export const enSidebar = { prefix: 'FAQ/', // children: 'structure', children: [ - { text: 'Frequently Asked Questions', link: 'Frequently-asked-questions' }], + { + text: 'Frequently Asked Questions', + link: 'Frequently-asked-questions', + }, + ], }, ], }; - diff --git a/src/.vuepress/sidebar_timecho/V1.3.3/zh.ts b/src/.vuepress/sidebar_timecho/V1.3.3/zh.ts index af8b9e562..e4a00e0d0 100644 --- a/src/.vuepress/sidebar_timecho/V1.3.3/zh.ts +++ b/src/.vuepress/sidebar_timecho/V1.3.3/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export const zhSidebar = { @@ -74,12 +73,12 @@ export const zhSidebar = { text: '数据建模', collapsible: true, children: [ - { text: '时序数据模型', link: 'Navigating_Time_Series_Data' }, + { text: '时序数据模型', link: 'Navigating_Time_Series_Data' }, { text: '建模方案设计', link: 'Data-Model-and-Terminology' }, { text: '测点管理', link: 'Operate-Metadata_timecho' }, ], }, - { text: '写入&删除', link: 'Write-Delete-Data' }, + { text: '写入&删除', link: 'Write-Delete-Data' }, { text: '数据查询', link: 'Query-Data' }, ], }, @@ -96,7 +95,7 @@ export const zhSidebar = { text: '安全管理', collapsible: true, children: [ - { text: '白名单', link: 'White-List_timecho' }, + { text: '白名单', link: 'White-List_timecho' }, { text: '审计日志', link: 'Audit-Log_timecho' }, { text: '权限管理', link: 'Authority-Management' }, ], @@ -109,12 +108,12 @@ export const zhSidebar = { text: '数据库编程', collapsible: true, children: [ - { text: 'UDF开发', link: 'UDF-development' }, + { text: 'UDF开发', link: 'UDF-development' }, { text: '触发器', link: 'Trigger' }, { text: '流处理框架', link: 'Streaming_timecho' }, ], }, - { text: '运维语句', link: 'Maintennance'}, + { text: '运维语句', link: 'Maintennance' }, ], }, { @@ -153,7 +152,7 @@ export const zhSidebar = { text: 'REST API', collapsible: true, children: [ - { text: 'V1 (不推荐)', link: 'RestServiceV1' }, + { text: 'V1 (不推荐)', link: 'RestServiceV1' }, { text: 'V2', link: 'RestServiceV2' }, ], }, @@ -177,7 +176,7 @@ export const zhSidebar = { { text: 'Ignition', link: 'Ignition-IoTDB-plugin_timecho' }, { text: 'Grafana(IoTDB)', link: 'Grafana-Connector' }, { text: 'Grafana插件', link: 'Grafana-Plugin' }, - { text: 'ThingsBoard', link: 'Thingsboard' }, + { text: 'ThingsBoard', link: 'Thingsboard' }, ], }, { @@ -192,8 +191,8 @@ export const zhSidebar = { collapsible: true, children: [ { text: 'UDF函数库', link: 'UDF-Libraries_timecho' }, - { text: '函数与运算符', link: 'Operator-and-Expression' }, - { text: '内置函数与表达式', link: 'Function-and-Expression' }, + { text: '函数与运算符', link: 'Operator-and-Expression' }, + { text: '内置函数与表达式', link: 'Function-and-Expression' }, ], }, ], @@ -229,7 +228,7 @@ export const zhSidebar = { collapsible: true, children: [ { text: '标识符', link: 'Syntax-Rule' }, - { text: '关键字', link: 'Keywords' }, + { text: '关键字', link: 'Keywords' }, ], }, { text: '状态码', link: 'Status-Codes' }, @@ -240,8 +239,7 @@ export const zhSidebar = { collapsible: true, prefix: 'FAQ/', // children: 'structure', - children: [ - { text: '常见问题', link: 'Frequently-asked-questions' }], + children: [{ text: '常见问题', link: 'Frequently-asked-questions' }], }, ], }; diff --git a/src/.vuepress/sidebar_timecho/en.ts b/src/.vuepress/sidebar_timecho/en.ts index 9f65f97f2..904ab9cf8 100644 --- a/src/.vuepress/sidebar_timecho/en.ts +++ b/src/.vuepress/sidebar_timecho/en.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { sidebar } from 'vuepress-theme-hope'; diff --git a/src/.vuepress/sidebar_timecho/index.ts b/src/.vuepress/sidebar_timecho/index.ts index 4493c7ebe..3e7096aa4 100644 --- a/src/.vuepress/sidebar_timecho/index.ts +++ b/src/.vuepress/sidebar_timecho/index.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ export * from './en.js'; diff --git a/src/.vuepress/sidebar_timecho/zh.ts b/src/.vuepress/sidebar_timecho/zh.ts index 5d0cf0d74..2ef360f50 100644 --- a/src/.vuepress/sidebar_timecho/zh.ts +++ b/src/.vuepress/sidebar_timecho/zh.ts @@ -1,20 +1,19 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { sidebar } from 'vuepress-theme-hope'; diff --git a/src/.vuepress/styles/config.scss b/src/.vuepress/styles/config.scss index aaf5ff429..e828ad19c 100644 --- a/src/.vuepress/styles/config.scss +++ b/src/.vuepress/styles/config.scss @@ -1,26 +1,24 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ -// you can change config here +$theme-color: #495ad4; $colors: #c0392b, #d35400, #f39c12, #27ae60, #16a085, #2980b9, #8e44ad, #2c3e50, - #7f8c8d !default; - + #7f8c8d; $code-bg-color: #282c34; $code-color: #fff; $pc: 1280px; diff --git a/src/.vuepress/styles/index.scss b/src/.vuepress/styles/index.scss index bdaf3464f..072e55dce 100644 --- a/src/.vuepress/styles/index.scss +++ b/src/.vuepress/styles/index.scss @@ -1,64 +1,66 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ - http://www.apache.org/licenses/LICENSE-2.0 +.vp-hero-image { + max-width: 420px; +} - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ +.vp-hero-title { + font-size: 72px; +} -// place your custom styles here -.hero-info-wrapper, .site-name, .vp-hero-info-wrapper, .vp-site-name{ - display: none; -} -.home.project -.theme-hope-content { - max-width: unset; +.vp-highlight-header, +.vp-feature-header { + color: #ffa500; + text-align: center; } -.vp-project-home .theme-hope-content { - max-width: unset; + +// FIXME: Should be an upstream bug +.vp-highlight-info-wrapper:only-child { + flex-basis: 0; } + .el-popover.el-popper { text-align: start !important; word-break: break-word !important; } -.theme-hope-content:not(.custom)>p, .theme-hope-content:not(.custom)>ul p, .theme-hope-content:not(.custom)>ol p { +.theme-hope-content:not(.custom) > p, +.theme-hope-content:not(.custom) > ul p, +.theme-hope-content:not(.custom) > ol p { text-align: start !important; } -// #app { -// --code-bg-color: #282c34; -// --code-color: #fff; -// html[data-theme="light"] & { -// --code-bg-color: #282c34; -// --code-color: #fff; -// .token.doctype, .token.punctuation, .token.entity{ -// color: #ccc; -// } -// } -// } - table { word-wrap: break-word; word-break: keep-all; } -td a span{ +td a span { display: none; } -h1, h2, h3, h4, h5, h6 { - font-family: var(--font-family) +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: var(--font-family); } .fade-slide-y-enter-active { @@ -68,10 +70,7 @@ h1, h2, h3, h4, h5, h6 { .fade-slide-y-leave-active { transition: none !important; } -// .fade-slide-y-enter-from, -// .fade-slide-y-leave-to { -// transform: none !important; -// } + .page-pageview-info { display: none !important; } @@ -79,6 +78,7 @@ h1, h2, h3, h4, h5, h6 { footer { z-index: 999; } -div[class*=language-] pre code { + +div[class*='language-'] pre code { color: var(--code-c-text); -} \ No newline at end of file +} diff --git a/src/.vuepress/styles/palette.scss b/src/.vuepress/styles/palette.scss deleted file mode 100644 index b5528874c..000000000 --- a/src/.vuepress/styles/palette.scss +++ /dev/null @@ -1,23 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -// you can change colors here -// old: #D513A5 -$theme-color: #495ad4; -// $content-width: 1080px; \ No newline at end of file diff --git a/src/.vuepress/theme.ts b/src/.vuepress/theme.ts index 12c7d5012..780c6d12b 100644 --- a/src/.vuepress/theme.ts +++ b/src/.vuepress/theme.ts @@ -1,163 +1,109 @@ /* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { hopeTheme } from 'vuepress-theme-hope'; import { enNavbar, zhNavbar } from './navbar/index.js'; import { enSidebar, zhSidebar } from './sidebar/index.js'; -export default hopeTheme({ - hostname: 'https://iotdb.apache.org/', - - darkmode: 'toggle', - - logo: '/logo.png', - - repo: 'https://github.com/apache/iotdb', - - repoLabel: 'GitHub', - - repoDisplay: true, - - docsRepo: 'https://github.com/apache/iotdb-docs', - - docsDir: 'src', - - docsBranch: 'main', - - pure: true, - - breadcrumb: false, - - navbarIcon: false, - - lastUpdated: true, - - contributors: false, - - navbarLayout: { - start: ['Brand'], - center: [], - end: ['Search', 'Links', 'Language', 'Outlook', 'Repo'], - }, +export default hopeTheme( + { + hostname: 'https://iotdb.apache.org/', + logo: '/logo.png', + + repo: 'apache/iotdb', + docsRepo: 'https://github.com/apache/iotdb-docs', + docsDir: 'src', + + pure: true, + darkmode: 'toggle', + breadcrumb: false, + contributors: false, + + navbarTitle: '', + navbarLayout: { + start: ['Brand'], + center: [], + end: ['Search', 'Links', 'Language', 'Outlook', 'Repo'], + }, - locales: { - '/': { - // navbar - navbar: enNavbar, + locales: { + '/': { + // navbar + navbar: enNavbar, - // sidebar - sidebar: enSidebar, + // sidebar + sidebar: enSidebar, - footer: 'Default footer', + footer: 'Default footer', - displayFooter: true, + displayFooter: true, - metaLocales: { - editLink: 'Found Error? Edit this page on GitHub', + metaLocales: { + editLink: 'Found Error? Edit this page on GitHub', + }, }, - }, - /** - * Chinese locale config - */ - '/zh/': { - // navbar - navbar: zhNavbar, + /** + * Chinese locale config + */ + '/zh/': { + // navbar + navbar: zhNavbar, - // sidebar - sidebar: zhSidebar, + // sidebar + sidebar: zhSidebar, - footer: '默认页脚', + footer: '默认页脚', - displayFooter: true, + displayFooter: true, - // page meta - metaLocales: { - editLink: '发现错误?在 GitHub 上编辑此页', + // page meta + metaLocales: { + editLink: '发现错误?在 GitHub 上编辑此页', + }, }, }, - }, - // encrypt: { - // config: { - // "/demo/encrypt.html": ["1234"], - // "/zh/demo/encrypt.html": ["1234"], - // }, - // }, - - plugins: { - // comment: { - // // @ts-expect-error: You should generate and use your own comment service - // provider: "Waline", - // }, - - // all features are enabled for demo, only preserve features you need here - prismjs: { - themes: { - light: 'one-dark', - dark: 'one-dark', - }, - }, - // shiki: { - // theme: 'one-dark-pro', - // langs: ['java', 'shell', 'sql', 'yaml', 'json', 'xml', 'go', 'python', 'scala', 'text', 'plaintext', 'txt', 'properties', 'rust', 'javascript', 'cpp', 'c#', 'csharp', 'js', 'cmd'], - // }, - catalog: true, - git: true, - comment: { - provider: 'None', - }, - mdEnhance: { + markdown: { align: true, - attrs: true, - chart: false, - codetabs: true, - hint: true, - demo: false, - echarts: false, + hint: false, figure: true, - flowchart: false, gfm: true, imgLazyload: true, - imgSize: true, - include: true, - katex: true, - mark: true, - mermaid: false, - stylize: [ - { - matcher: 'Recommended', - // eslint-disable-next-line consistent-return - replacer: ({ tag }) => { - if (tag === 'em') { - return { - tag: 'Badge', - attrs: { type: 'tip' }, - content: 'Recommended', - }; - } - }, + math: true, + highlighter: { + type: 'shiki', + theme: 'one-dark-pro', + }, + }, + + plugins: { + docsearch: {}, + + redirect: { + config: { + '/UserGuide/Master/QuickStart/QuickStart.html': + '/UserGuide/latest/QuickStart/QuickStart_apache.html', + '/zh/UserGuide/Master/QuickStart/QuickStart.html': + '/zh/UserGuide/latest/QuickStart/QuickStart_apache.html', }, - ], - sub: true, - sup: true, - tabs: true, - vPre: true, - vuePlayground: false, + }, }, }, -}, { custom: true }); + { custom: true }, +); diff --git a/src/.vuepress/utils/contributors.ts b/src/.vuepress/utils/contributors.ts new file mode 100644 index 000000000..e21790e44 --- /dev/null +++ b/src/.vuepress/utils/contributors.ts @@ -0,0 +1,301 @@ +export const mentors = [ + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Justin Mclean', + role: 'Mentor', + id: 'jmclean', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Christofer Dutz', + role: 'Mentor', + id: 'cdutz', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Willem Ning Jiang', + role: 'Mentor', + id: 'ningjiang', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Kevin A. McGrail', + role: 'Champion', + id: 'kmcgrail', + date: '2018/11/18', + }, +]; + +export const committers = [ + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Gaofei Cao', + role: 'PMC, Committer', + id: 'caogaofei', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Yi Xu', + role: 'PMC, Committer', + id: 'dope', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Dongfang Mao', + role: 'PMC, Committer', + id: 'east', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Wangminhao Gou', + role: 'Committer', + id: 'ejttianyu', + date: '2020/03/03', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Boris Zhu', + role: 'Committer', + id: 'geniuspig', + date: '2019/12/19', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Haonan Hou', + role: 'PMC, Committer', + id: 'haonan', + date: '2020/01/30', + }, + { + avatar: '/img/contributor-avatar/xdh.jpg', + name: 'Xiangdong Huang', + role: 'PMC, Committer', + id: 'hxd', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/yt.jpg', + name: 'Yuan Tian', + role: 'PMC, Committer', + id: 'jackietien', + date: '2019/12/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Julian Feinauer', + role: 'PMC, Committer', + id: 'jfeinauer', + date: '2019/07/15', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Tian Jiang', + role: 'PMC, Committer', + id: 'jiangtian', + date: '2018/11/18', + }, + { + avatar: 'http://ise.thss.tsinghua.edu.cn/~wangjianmin/jimwang.jpg', + name: 'Jianmin Wang', + role: 'PMC, Committer', + id: 'jimwang', + date: '2018/11/18', + }, + { + avatar: + 'https://avatars1.githubusercontent.com/u/22488084?s=400&u=2ef5ad52a7c4241bf88fb5e45682948b307a7d90&v=4', + name: 'Jincheng Sun', + role: 'PMC, Committer', + id: 'jincheng', + date: '2020/01/21', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Rong Kang', + role: 'PMC, Committer', + id: 'kangrong', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Lei Rui', + role: 'PMC, Committer', + id: 'leirui', + date: '2019/06/20', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Dawei Liu', + role: 'PMC, Committer', + id: 'liudw', + date: '2020/03/01', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Kun Liu', + role: 'PMC, Committer', + id: 'liukun', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Rui Liu', + role: 'PMC, Committer', + id: 'liurui', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Tianan Li', + role: 'PMC, Committer', + id: 'lta', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/jlq.png', + name: 'Jialin Qiao', + role: 'PMC, Committer', + id: 'qiaojialin', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Shuo Zhang', + role: 'PMC, Committer', + id: 'shuozhang', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/zss.jpg', + name: 'Zesong Sun', + role: 'Committer', + id: 'sunzesong', + date: '2019/12/23', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Yue Su', + role: 'PMC, Committer', + id: 'suyue', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Zonghan Cai', + role: 'Committer', + id: 'tsaitsunghan', + date: '2019/11/05', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Chen Wang', + role: 'PMC, Committer', + id: 'wangchen', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Jinrui Zhang', + role: 'PMC, Committer', + id: 'xingtanzjr', + date: '2018/11/18', + }, + { + avatar: + 'https://avatars0.githubusercontent.com/u/6711230?s=460&u=b8f03cad5891dbe4eab23ca75df3d97358b23b0c&v=4', + name: 'Xin Wang', + role: 'Committer', + id: 'xinwang', + date: '2020/05/18', + }, + { + avatar: '/img/contributor-avatar/kfx.jpeg', + name: 'Kaifeng Xue', + role: 'Committer', + id: 'xuekaifeng', + date: '2018/12/19', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Jun Yuan', + role: 'PMC, Committer', + id: 'yuanjun', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Stefanie Zhao', + role: 'PMC, Committer', + id: 'zhaoxinyi', + date: '2018/11/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Wei Zhi', + role: 'Committer', + id: 'WeiZhi', + date: '2020/06/18', + }, + { + avatar: '/img/contributor-avatar/cw.jpg', + name: 'Chao Wang', + role: 'PMC, Committer', + id: 'chaow', + date: '2020/09/04', + }, + { + avatar: '/img/contributor-avatar/qhl.jpg', + name: 'Houliang Qi', + role: 'PMC, Committer', + id: 'neuyilan', + date: '2020/12/18', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Xinyu Tan', + role: 'PMC, Committer', + id: 'tanxinyu', + date: '2020/12/21', + }, + { + avatar: '/img/contributor-avatar/xww.jpg', + name: 'Xiangwei Wei', + role: 'Committer', + id: 'Alima777', + date: '2021/02/20', + }, + { + avatar: '/img/contributor-avatar/yrzh.jpg', + name: 'Jesse Zhou', + role: 'Committer', + id: 'JesseZhou-1', + date: '2021/02/20', + }, + { + avatar: 'https://avatars.githubusercontent.com/u/30497621', + name: 'Steve Yurong Su', + role: 'Committer', + id: 'rong', + date: '2021/05/12', + }, + { + avatar: '/img/contributor-avatar/user.svg', + name: 'Chao Wang', + role: 'PMC, Committer', + id: 'wangchao316', + date: '2021/06/30', + }, + { + avatar: '/img/contributor-avatar/ericpai.jpg', + name: 'Jian Bai', + role: 'Committer', + id: 'ericpai', + date: '2021/12/24', + }, +]; diff --git a/src/.vuepress/utils/define.ts b/src/.vuepress/utils/define.ts deleted file mode 100644 index 6758840d3..000000000 --- a/src/.vuepress/utils/define.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -import { type ReadingTimeLocaleConfig } from 'vuepress-plugin-reading-time2'; - -declare const READING_TIME_LOCALES: ReadingTimeLocaleConfig; - -// eslint-disable-next-line import/prefer-default-export -export const readingTimeLocales = READING_TIME_LOCALES; diff --git a/src/.vuepress/utils/editLink.ts b/src/.vuepress/utils/editLink.ts deleted file mode 100644 index e249b3374..000000000 --- a/src/.vuepress/utils/editLink.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -import { - isLinkHttp, - removeEndingSlash, - removeLeadingSlash, -} from '@vuepress/shared'; -import { type RepoType, resolveRepoType } from 'vuepress-shared/client'; - -export const editLinkPatterns: Record, string> = { - GitHub: ':repo/edit/:branch/:path', - GitLab: ':repo/-/edit/:branch/:path', - Gitee: ':repo/edit/:branch/:path', - Bitbucket: - ':repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default', -}; - -interface EditLinkOptions { - docsRepo: string; - docsBranch: string; - docsDir: string; - filePathRelative: string | null; - editLinkPattern?: string; -} - -export const resolveEditLink = ({ - docsRepo, - docsBranch, - docsDir, - filePathRelative, - editLinkPattern, -}: EditLinkOptions): string | null => { - if (!filePathRelative) return null; - - const repoType = resolveRepoType(docsRepo); - - let pattern: string | undefined; - - if (editLinkPattern) pattern = editLinkPattern; - else if (repoType !== null) pattern = editLinkPatterns[repoType]; - - if (!pattern) return null; - - return pattern - .replace( - /:repo/, - isLinkHttp(docsRepo) ? docsRepo : `https://github.com/${docsRepo}`, - ) - .replace(/:branch/, docsBranch) - .replace( - /:path/, - removeLeadingSlash(`${removeEndingSlash(docsDir)}/${filePathRelative}`), - ); -}; diff --git a/src/.vuepress/utils/getDocVersion.ts b/src/.vuepress/utils/getDocVersion.ts new file mode 100644 index 000000000..9be363374 --- /dev/null +++ b/src/.vuepress/utils/getDocVersion.ts @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const VERSION_REG = /UserGuide\/([^/]+)/; + +export const getDocVersion = (path = '', defaultValue = 'latest') => { + if (path.includes('UserGuide/Master') || !path.includes('UserGuide')) { + return defaultValue; + } + /** + * 路径 /zh/UserGuide/V1.3.0-2/QuickStart/QuickStart_apache.html, 匹配 V1.3.0-2 + * 路径 /zh/UserGuide/V1.2.x/QuickStart/QuickStart_apache.html, 匹配 V1.2.x + * 路径 /zh/UserGuide/latest/QuickStart/QuickStart_apache.html, 匹配 latest + * + * 匹配路径中的版本号,UserGuide 后面的版本号为当前文档的版本号, 版本号不一定为数字,可能为 latest或其它,因此只用 / 作为分隔符 + */ + + return VERSION_REG.exec(path)?.[1] ?? defaultValue; +}; diff --git a/src/.vuepress/utils/index.ts b/src/.vuepress/utils/index.ts index 97491056a..cb5ae38fa 100644 --- a/src/.vuepress/utils/index.ts +++ b/src/.vuepress/utils/index.ts @@ -1,22 +1,2 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -export * from './define.js'; -export * from './editLink.js'; -export * from './typings.js'; +export * from './contributors.js'; +export * from './getDocVersion.js'; diff --git a/src/.vuepress/utils/typings.ts b/src/.vuepress/utils/typings.ts deleted file mode 100644 index 7c3f980f7..000000000 --- a/src/.vuepress/utils/typings.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -export interface PageCategory { - /** - * Category name - * - * 分类名称 - */ - name: string; - - /** - * Category path - * - * 分类路径 - */ - path?: string; -} - -export type PageTag = PageCategory; diff --git a/src/.vuepress/utils/version.ts b/src/.vuepress/utils/version.ts deleted file mode 100644 index 73126cc89..000000000 --- a/src/.vuepress/utils/version.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -const getDocVersion = (defaultValue = 'latest', path = '') => { - if (path.indexOf('UserGuide/Master') > -1 || path.indexOf('UserGuide') === -1) { - return defaultValue; - } - /** - * 路径 /zh/UserGuide/V1.3.0-2/QuickStart/QuickStart_apache.html, 匹配 V1.3.0-2 - * 路径 /zh/UserGuide/V1.2.x/QuickStart/QuickStart_apache.html, 匹配 V1.2.x - * 路径 /zh/UserGuide/latest/QuickStart/QuickStart_apache.html, 匹配 latest - * - * 匹配路径中的版本号,UserGuide 后面的版本号为当前文档的版本号, 版本号不一定为数字,可能为 latest或其它,因此只用 / 作为分隔符 - */ - // eslint-disable-next-line no-useless-escape - const versionRex = /UserGuide\/([^\/]+)/; - - if (versionRex.test(path)) { - const tag = versionRex.exec(path)![1]; - return tag; - } - return defaultValue; -}; - -export { getDocVersion }; diff --git a/src/Community/Development-Guide.md b/src/Community/Development-Guide.md index 41ead4216..6327f81bb 100644 --- a/src/Community/Development-Guide.md +++ b/src/Community/Development-Guide.md @@ -504,7 +504,8 @@ Please conduct discussions in English: - Unable to download `errorprone`: - ```Failed to read artifact descriptor for com.google.errorprone:javac + ``` + Failed to read artifact descriptor for com.google.errorprone:javac -shaded:jar:9+181-r4173-1: Could not transfer artifact com.google.errorprone:javac-shaded:pom:9+181-r4173-1 ``` diff --git a/src/Community/stage/Committers.md b/src/Community/stage/Committers.md index c4a9d8054..bf4f4ae92 100644 --- a/src/Community/stage/Committers.md +++ b/src/Community/stage/Committers.md @@ -22,4 +22,8 @@ home: true --> - + + + diff --git a/src/Community/stage/Community-Project-Committers.md b/src/Community/stage/Community-Project-Committers.md index 46627d85b..bf4f4ae92 100644 --- a/src/Community/stage/Community-Project-Committers.md +++ b/src/Community/stage/Community-Project-Committers.md @@ -22,4 +22,8 @@ home: true --> - + + + diff --git a/src/Download/README.md b/src/Download/README.md index 497b9924b..af8d015b7 100644 --- a/src/Download/README.md +++ b/src/Download/README.md @@ -7,9 +7,9 @@ to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -22,57 +22,207 @@ # Release version - + + - - - - + + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - + + + +
VersionIoTDB BinariesIoTDB Sourcesrelease notes
IoTDB BinariesIoTDB Sourcesrelease notes
1.3.3All-in-oneSHA512ASCSourcesSHA512ASCrelease notes1.3.3 + All-in-one + + SHA512 + + ASC + + Sources + + SHA512 + + ASC + + release notes +
AINodeSHA512ASC + AINode + + SHA512 + + ASC +
1.3.2All-in-oneSHA512ASCSourcesSHA512ASCrelease notes
1.3.2 + All-in-one + + SHA512 + + ASC + + Sources + + SHA512 + + ASC + + release notes +
0.13.4All-in-oneSHA512ASCSourcesSHA512ASCrelease notes0.13.4 + All-in-one + + SHA512 + + ASC + + Sources + + SHA512 + + ASC + + release notes +
Grafana-connectorSHA512ASC + Grafana-connector + + SHA512 + + ASC +
Grafana-pluginSHA512ASC + Grafana-plugin + + SHA512 + + ASC +
Legacy version are available here: [https://archive.apache.org/dist/iotdb/](https://archive.apache.org/dist/iotdb/) @@ -80,11 +230,13 @@ Legacy version are available here: [https://archive.apache.org/dist/iotdb/](http ## Configurations - Recommended OS parameters - * Set the somaxconn as 65535 to avoid "connection reset" error when the system is under high load. + + - Set the somaxconn as 65535 to avoid "connection reset" error when the system is under high load. + ``` # Linux > sudo sysctl -w net.core.somaxconn=65535 - + # FreeBSD or Darwin > sudo sysctl -w kern.ipc.somaxconn=65535 ``` @@ -92,9 +244,9 @@ Legacy version are available here: [https://archive.apache.org/dist/iotdb/](http ## About Version 1.0 **After we release version 1.0, how to upgrade from v0.13.x to v1.0.x?** - - - **Version 1.0 has changed the SQL syntax conventions (please refer to the syntax conventions section of the user manual)**. - - In order to ensure the stability of UDF-related APIs, in version 1.0, UDF-related APIs are seperated into an independent module and no longer depend on the tsfile package. The implemented UDFs need to rewrite the code, replace `TsDataType` with `Type`, and replace `org .apache.iotdb.tsfile.utils.Binary` with `org.apache.iotdb.udf.api.type.Binary`, then redo the packaging and loading process. + +- **Version 1.0 has changed the SQL syntax conventions (please refer to the syntax conventions section of the user manual)**. +- In order to ensure the stability of UDF-related APIs, in version 1.0, UDF-related APIs are seperated into an independent module and no longer depend on the tsfile package. The implemented UDFs need to rewrite the code, replace `TsDataType` with `Type`, and replace `org .apache.iotdb.tsfile.utils.Binary` with `org.apache.iotdb.udf.api.type.Binary`, then redo the packaging and loading process. ### Detailed description of Syntax Conventions in version 1.0 that are different from older versions @@ -190,7 +342,7 @@ for(int i = 0; i <= values.length; i++){ Query the data of root.sg.a, you can see that there is no unescaping: -```Plain%20Text +``` // query result +-----------------------------+---------+ | Time|root.sg.a| @@ -214,7 +366,7 @@ insert into root.sg(time, a) values(4, "\u96d5") Query the data of root.sg.a, you can see that the string is unescaped: -```Plain%20Text +``` // query result +-----------------------------+---------+ | Time|root.sg.a| @@ -226,91 +378,91 @@ Query the data of root.sg.a, you can see that the string is unescaped: +-----------------------------+---------+ ``` - ## How to Upgrade - How to upgrade a minor version (e.g., from v0.12.3 to v0.12.5)? - * versions which have the same major version are compatible. - * Just download and unzip the new version. Then modify the configuration files to keep consistent + + - versions which have the same major version are compatible. + - Just download and unzip the new version. Then modify the configuration files to keep consistent with what you set in the old version. - * stop the old version instance, and start the new one. + - stop the old version instance, and start the new one. - How to upgrade from v0.12.x to v0.13.x? - * The data format (i.e., TsFile data) of v0.12.x and v0.13.x are compatible, but the WAL file is + - The data format (i.e., TsFile data) of v0.12.x and v0.13.x are compatible, but the WAL file is incompatible. So, you can follow the steps: - * ** Execute `SET SYSTEM TO READONLY` command in CLI. ** - * ** Stop writing new data.** - * Execute `flush` command to close all TsFiles. - * We recommend to back up all data files before upgrading for rolling back. - * Just download, unzip v0.13.x.zip, and modify conf/iotdb-engine.properties, ** especially the unchangeable configurations like timestamp precision**. Let all the + - ** Execute `SET SYSTEM TO READONLY` command in CLI. ** + - ** Stop writing new data.** + - Execute `flush` command to close all TsFiles. + - We recommend to back up all data files before upgrading for rolling back. + - Just download, unzip v0.13.x.zip, and modify conf/iotdb-engine.properties, ** especially the unchangeable configurations like timestamp precision**. Let all the directories point to the data folder set in v0.12.x (or the backup folder). You can also modify other settings if you want. - * Stop IoTDB v0.12.x instance, and then start v0.13.x. - * **After the steps above, please make sure the `iotdb_version` in `data/system/schema/system.properties` file is `0.13.x`. + - Stop IoTDB v0.12.x instance, and then start v0.13.x. + - **After the steps above, please make sure the `iotdb_version` in `data/system/schema/system.properties` file is `0.13.x`. If not, please change it to `0.13.x` manually.** - * __NOTICE: V0.13 changes many settings in conf/iotdb-engine.properties, so do not use v0.12's - configuration file directly.__ - * **In 0.13, the SQL syntax has been changed. The identifiers not enclosed in backquotes can only contain the following characters, otherwise they need to be enclosed in backquotes.** - * **[0-9 a-z A-Z _ : @ # $ { }] (letters, digits, some special characters)** - * **['\u2E80'..'\u9FFF'] (UNICODE Chinese characters)** - * **In 0.13, if the path node name in the `SELECT` clause consists of pure numbers, it needs to be enclosed in backquotes to distinguish it from the constant in the expression. For example, in the statement "select 123 + \`123\` from root.sg", the former 123 represents a constant, and the latter \`123\` will be spliced with root.sg, indicating the path root.sg.\`123\`.** + - **NOTICE: V0.13 changes many settings in conf/iotdb-engine.properties, so do not use v0.12's + configuration file directly.** + - **In 0.13, the SQL syntax has been changed. The identifiers not enclosed in backquotes can only contain the following characters, otherwise they need to be enclosed in backquotes.** + - **[0-9 a-z A-Z _ : @ # $ { }] (letters, digits, some special characters)** + - **['\u2E80'..'\u9FFF'] (UNICODE Chinese characters)** + - **In 0.13, if the path node name in the `SELECT` clause consists of pure numbers, it needs to be enclosed in backquotes to distinguish it from the constant in the expression. For example, in the statement "select 123 + \`123\` from root.sg", the former 123 represents a constant, and the latter \`123\` will be spliced with root.sg, indicating the path root.sg.\`123\`.** - How to upgrade from v0.11.x or v0.10.x to v0.12.x? - * Upgrading from v0.11 or v0.10 to v0.12 is similar as v0.9 to v0.10. The upgrade tool will rewrite the data files automatically. - * **Stop writing new data.** - * Call `flush` command using sbin/start-cli.sh in original version to close all TsFiles. - * We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back. - * Just download, unzip v0.12.x.zip, and modify conf/iotdb-engine.proeprties to let all the - directories point to the folders set in previous version (or the backup folder). - You can also modify other settings if you want. Any other config changes in v0.11 should be moved to v0.12. - * Stop IoTDB v0.11 or v0.10 instance, and start v0.12.x, then the IoTDB will upgrade data file format automatically. It is ok to read and write data when the upgrading process works. - * After a log `All files upgraded successfully!` printed, the upgrading completes. - * __NOTICE 1: V0.12 changes many settings in conf/iotdb-engine.properties, so do not use previous - configuration file directly.__ - * __NOTICE 2: V0.12 doesn't support upgrade from v0.9 or lower version, please upgrade to v0.10 first if needed.__ - * __NOTICE 3: We don't recommend deleting data before the upgrading finished. The deletion will fail if you try to delete data in the database with upgrading files.__ + + - Upgrading from v0.11 or v0.10 to v0.12 is similar as v0.9 to v0.10. The upgrade tool will rewrite the data files automatically. + - **Stop writing new data.** + - Call `flush` command using sbin/start-cli.sh in original version to close all TsFiles. + - We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back. + - Just download, unzip v0.12.x.zip, and modify conf/iotdb-engine.proeprties to let all the + directories point to the folders set in previous version (or the backup folder). + You can also modify other settings if you want. Any other config changes in v0.11 should be moved to v0.12. + - Stop IoTDB v0.11 or v0.10 instance, and start v0.12.x, then the IoTDB will upgrade data file format automatically. It is ok to read and write data when the upgrading process works. + - After a log `All files upgraded successfully!` printed, the upgrading completes. + - **NOTICE 1: V0.12 changes many settings in conf/iotdb-engine.properties, so do not use previous + configuration file directly.** + - **NOTICE 2: V0.12 doesn't support upgrade from v0.9 or lower version, please upgrade to v0.10 first if needed.** + - **NOTICE 3: We don't recommend deleting data before the upgrading finished. The deletion will fail if you try to delete data in the database with upgrading files.** - How to upgrade from v0.10.x to v0.11.x? - * The data format (i.e., TsFile data) of v0.10.x and v0.11 are compatible, but the WAL file is - incompatible. So, you can follow the steps: - * **Stop writing new data.** - * Call `flush` command using `sbin/start-cli.sh` in v0.10.x to close all TsFiles. - * We recommend to backup the wal files and mlog.txt before upgrading for rolling back. - * Just download, unzip v0.11.x.zip, and modify conf/iotdb-engine.properties to let all the - directories point to the data folder set in v0.10.x (or the backup folder). You can also modify + + - The data format (i.e., TsFile data) of v0.10.x and v0.11 are compatible, but the WAL file is + incompatible. So, you can follow the steps: + - **Stop writing new data.** + - Call `flush` command using `sbin/start-cli.sh` in v0.10.x to close all TsFiles. + - We recommend to backup the wal files and mlog.txt before upgrading for rolling back. + - Just download, unzip v0.11.x.zip, and modify conf/iotdb-engine.properties to let all the + directories point to the data folder set in v0.10.x (or the backup folder). You can also modify other settings if you want. - * Stop IoTDB v0.10.x instance, and start v0.11.x, then the IoTDB will upgrade data file format + - Stop IoTDB v0.10.x instance, and start v0.11.x, then the IoTDB will upgrade data file format automatically. - * __NOTICE: V0.11 changes many settings in conf/iotdb-engine.properties, so do not use v0.10's - configuration file directly.__ + - **NOTICE: V0.11 changes many settings in conf/iotdb-engine.properties, so do not use v0.10's + configuration file directly.** - How to upgrade from v0.9.x to v0.10.x? - * Upgrading from v0.9 to v0.10 is more complex than v0.8 to v0.9. - * **Stop writing new data.** - * Call `flush` command using sbin/start-client.sh in v0.9 to close all TsFiles. - * We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back. - * Just download, unzip v0.10.x.zip, and modify conf/iotdb-engine.proeprties to let all the - directories point to the folders set in v0.9.x (or the backup folder). - You can also modify other settings if you want. - * Stop IoTDB v0.9 instance, and start v0.10.x, then the IoTDB will upgrade data file format automatically. -- How to upgrade from 0.8.x to v0.9.x? - * We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back. - * Just download, unzip v0.9.x.zip, and modify conf/iotdb-engine.properties to let all the - directories point to the folders set in v0.8.x (or the backup folder). - You can also modify other settings if you want. - * Stop IoTDB v0.8 instance, and start v0.9.x, then the IoTDB will upgrade data file format automatically. + - Upgrading from v0.9 to v0.10 is more complex than v0.8 to v0.9. + - **Stop writing new data.** + - Call `flush` command using sbin/start-client.sh in v0.9 to close all TsFiles. + - We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back. + - Just download, unzip v0.10.x.zip, and modify conf/iotdb-engine.proeprties to let all the + directories point to the folders set in v0.9.x (or the backup folder). + You can also modify other settings if you want. + - Stop IoTDB v0.9 instance, and start v0.10.x, then the IoTDB will upgrade data file format automatically. +- How to upgrade from 0.8.x to v0.9.x? + - We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back. + - Just download, unzip v0.9.x.zip, and modify conf/iotdb-engine.properties to let all the + directories point to the folders set in v0.8.x (or the backup folder). + You can also modify other settings if you want. + - Stop IoTDB v0.8 instance, and start v0.9.x, then the IoTDB will upgrade data file format automatically. -​ +​ # All releases Find all releases in the [Archive repository](https://archive.apache.org/dist/iotdb/). - - # Verifying Hashes and Signatures -Along with our releases, we also provide sha512 hashes in *.sha512 files and cryptographic signatures in *.asc files. The Apache Software Foundation has an extensive tutorial to [verify hashes and signatures ](http://www.apache.org/info/verification.html)which you can follow by using any of these release-signing [KEYS ](https://downloads.apache.org/iotdb/KEYS). +Along with our releases, we also provide sha512 hashes in _.sha512 files and cryptographic signatures in _.asc files. The Apache Software Foundation has an extensive tutorial to [verify hashes and signatures ](http://www.apache.org/info/verification.html)which you can follow by using any of these release-signing [KEYS ](https://downloads.apache.org/iotdb/KEYS). diff --git a/src/README.md b/src/README.md index a08f82df3..1b9fe14eb 100644 --- a/src/README.md +++ b/src/README.md @@ -1,6 +1,41 @@ --- home: true +heroText: Apache IoTDB +heroImage: /img/logo.svg +tagline: Database for Internet of Things +actions: + - text: Download + link: ./Download/ + type: primary + + - text: Quick Start + link: ./UserGuide/latest/QuickStart/QuickStart_apache.html + +highlights: + - header: Introduction + description: Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for data management and analysis, deployable on the edge and the cloud. Due to its light-weight architecture, high performance and rich feature set together with its deep integration with Apache Hadoop, Spark and Flink, Apache IoTDB can meet the requirements of massive data storage, high-speed data ingestion and complex data analysis in the IoT industrial fields. + + - header: Main Features + features: + - title: High-throughput read and write + details: Apache IoTDB can support high-speed write access for millions of low-power and intelligently networked devices. It also provides lightning read access for retrieving data. + + - title: Efficient directory structure + details: Apache IoTDB can efficiently organize complex data structure from IoT devices and large size of timeseries data with fuzzy searching strategy for complex directory of timeseries data. + + - title: Rich query semantics + details: Apache IoTDB can support time alignment for timeseries data across devices and sensors, computation in timeseries field and abundant aggregation functions in time dimension. + + - title: Low cost on hardware + details: Apache IoTDB can reach a high compression ratio of disk storage (it costs less than $0.23 to store 1GB of data on hard disk). + + - title: Flexible deployment + details: Apache IoTDB can provide users one-click installation on the cloud, terminal tool on desktop and the bridge tool between cloud platform and on premise machine (Data Synchronization Tool). + + - title: Intense integration with Open Source Ecosystem + details: Apache IoTDB can support analysis ecosystems, for example, Hadoop, Spark, Flink and Grafana (visualization tool). --- + - + + + diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Database-Resources.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Database-Resources.md index 59a380dbb..c449b6461 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Database-Resources.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # Database Resources ## CPU + @@ -77,10 +78,12 @@ +
Number of timeseries (frequency<=1HZ) CPUOver 10000000 Please contact Timecho Business for consultation
## Memory + @@ -137,12 +140,14 @@ +
Number of timeseries (frequency<=1HZ) MemoryOver 10000000 Please contact Timecho Business for consultation
## Storage (Disk) ### Storage space Calculation formula: Number of measurement points * Sampling frequency (Hz) * Size of each data point (Byte, different data types may vary, see table below) * Storage time (seconds) * Number of copies (usually 1 copy for a single node and 2 copies for a cluster) ÷ Compression ratio (can be estimated at 5-10 times, but may be higher in actual situations) + @@ -177,6 +182,7 @@ Calculation formula: Number of measurement points * Sampling frequency (Hz) * Si +
Data point size calculation
The average is a 8+a
Example: 1000 devices, each with 100 measurement points, a total of 100000 sequences, INT32 type. Sampling frequency 1Hz (once per second), storage for 1 year, 3 copies. diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Environment-Requirements.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Environment-Requirements.md index 539d03b09..5599d1492 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Environment-Requirements.md @@ -80,7 +80,8 @@ IoTDB supports operating systems such as Linux, Windows, and MacOS, while the en - Each disk group corresponds to only one partition. Data disks (with multiple disk groups, corresponding to raid) do not need additional partitions. All space is used by the IoTDB. The following table lists the recommended disk partitioning methods. - + + @@ -115,6 +116,7 @@ The following table lists the recommended disk partitioning methods. +
Disk classification Disk set Drive
......
### Network Configuration diff --git a/src/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md b/src/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md index 83f024d8a..b462983d2 100644 --- a/src/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md +++ b/src/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md @@ -119,12 +119,12 @@ Run Maven to compile in the IoTDB root directory: ``` - Windows using Visual Studio 2022 - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp ``` - Windows using Visual Studio 2019 - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 16 2019" -Diotdb-tools-thrift.version=0.14.1.1-msvc142-SNAPSHOT ``` - If you haven't added the Boost library path to the PATH environment variable, you need to add the relevant parameters to the compile command, e.g., `-DboostIncludeDir="C:\Program Files (x86)\boost_1_78_0" -DboostLibraryDir="C:\Program Files (x86)\boost_1_78_0\stage\lib"`. diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md index 59a380dbb..c449b6461 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # Database Resources ## CPU + @@ -77,10 +78,12 @@ +
Number of timeseries (frequency<=1HZ) CPUOver 10000000 Please contact Timecho Business for consultation
## Memory + @@ -137,12 +140,14 @@ +
Number of timeseries (frequency<=1HZ) MemoryOver 10000000 Please contact Timecho Business for consultation
## Storage (Disk) ### Storage space Calculation formula: Number of measurement points * Sampling frequency (Hz) * Size of each data point (Byte, different data types may vary, see table below) * Storage time (seconds) * Number of copies (usually 1 copy for a single node and 2 copies for a cluster) ÷ Compression ratio (can be estimated at 5-10 times, but may be higher in actual situations) + @@ -177,6 +182,7 @@ Calculation formula: Number of measurement points * Sampling frequency (Hz) * Si +
Data point size calculation
The average is a 8+a
Example: 1000 devices, each with 100 measurement points, a total of 100000 sequences, INT32 type. Sampling frequency 1Hz (once per second), storage for 1 year, 3 copies. diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md index d2b6ff065..abe20eb98 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md @@ -80,7 +80,8 @@ IoTDB supports operating systems such as Linux, Windows, and MacOS, while the en - Each disk group corresponds to only one partition. Data disks (with multiple disk groups, corresponding to raid) do not need additional partitions. All space is used by the IoTDB. The following table lists the recommended disk partitioning methods. - + + @@ -115,6 +116,7 @@ The following table lists the recommended disk partitioning methods. +
Disk classification Disk set Drive
......
### Network Configuration diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md index a99a70bc2..f618a58aa 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -45,7 +45,8 @@ The visualization console is one of the supporting tools for IoTDB (similar to N 1. Open the monitoring configuration item. The configuration items related to monitoring in IoTDB are disabled by default. Before deploying the monitoring panel, you need to open the relevant configuration items (note that the service needs to be restarted after enabling monitoring configuration). - + + @@ -93,7 +94,8 @@ The visualization console is one of the supporting tools for IoTDB (similar to N -
Configuration Located in the configuration file Descriptionaudit_log_operation Please add this configuration item in the configuration file, with values set to DML,DDL,QUERY
+ + 2. Restart all nodes. After modifying the monitoring indicator configuration of three nodes, the confignode and datanode services of all nodes can be restarted: diff --git a/src/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index c2d3784db..5d9402db8 100644 --- a/src/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -80,7 +80,8 @@ Step 5: Select `IoTDB` and fill in the configuration information The configuration content is as follows: - + + @@ -151,6 +152,7 @@ The configuration content is as follows: +
Name Description Default ValueJust keep it as default
diff --git a/src/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md index f4866314d..4dce11e41 100644 --- a/src/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -83,8 +83,8 @@ Building on the open-source version, TimechoDB offers a range of advanced produc The detailed functional comparison is as follows: - - + + @@ -208,6 +208,7 @@ The detailed functional comparison is as follows: +
Function
Function Apache IoTDB TimechoDB
×
### More efficient/stable product performance diff --git a/src/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md b/src/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md index f03c3a5b1..e6a945011 100644 --- a/src/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md +++ b/src/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md @@ -5,8 +5,8 @@ IoTDB currently supports importing data in CSV, SQL, and TsFile (IoTDB's underlying open-time series file format) into the database. The specific functionalities are as follows: - - + + @@ -29,6 +29,7 @@ IoTDB currently supports importing data in CSV, SQL, and TsFile (IoTDB's underly +
File Format
File Format IoTDB Tool Description
TsFile Active Listening & Loading Feature According to user configuration, it listens for changes in TsFile files in the specified path and loads newly added TsFile files into IoTDB
## 2. import-data Scripts diff --git a/src/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md b/src/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md index 16e58170b..4a9476b04 100644 --- a/src/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md +++ b/src/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md @@ -38,8 +38,8 @@ A data synchronization task consists of three stages: By declaratively configuring the specific content of the three parts through SQL statements, flexible data synchronization capabilities can be achieved. Currently, data synchronization supports the synchronization of the following information, and you can select the synchronization scope when creating a synchronization task (the default is data.insert, which means synchronizing newly written data): - - + + @@ -74,6 +74,7 @@ By declaratively configuring the specific content of the three parts through SQL +
Synchronization Scope
Synchronization Scope Synchronization Content Description
- Synchronize user permissions and access control
### Functional limitations and instructions @@ -213,8 +214,8 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param - - + + @@ -251,6 +252,7 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param +
Type
Type Custom Plugin Plugin Name DescriptionUsed for data transfer between IoTDB ( V1.3.1+ ) and IoTDB ( V1.2.0+ ). It uses the Thrift RPC framework to transfer data, with a single-threaded sync blocking IO model, suitable for scenarios with higher security requirements 1.3.1+
For importing custom plugins, please refer to the [Stream Processing](./Streaming_timecho.md#custom-stream-processing-plugin-management) section. diff --git a/src/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md b/src/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md index d7084b4f3..bc01b10d0 100644 --- a/src/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md +++ b/src/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md @@ -38,8 +38,8 @@ A data synchronization task consists of three stages: By declaratively configuring the specific content of the three parts through SQL statements, flexible data synchronization capabilities can be achieved. Currently, data synchronization supports the synchronization of the following information, and you can select the synchronization scope when creating a synchronization task (the default is data.insert, which means synchronizing newly written data): - - + + @@ -74,6 +74,7 @@ By declaratively configuring the specific content of the three parts through SQL +
Synchronization Scope
Synchronization Scope Synchronization Content Description
- Synchronize user permissions and access control
### Functional limitations and instructions @@ -216,8 +217,8 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param - - + + @@ -259,6 +260,7 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param +
Type
Type Custom Plugin Plugin Name DescriptionUsed for data transfer between IoTDB ( V1.3.1+ ) and IoTDB ( V1.2.0+ ). It uses the Thrift RPC framework to transfer data, with a single-threaded sync blocking IO model, suitable for scenarios with higher security requirements 1.3.1+
For importing custom plugins, please refer to the [Stream Processing](./Streaming_timecho.md#custom-stream-processing-plugin-management) section. diff --git a/src/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md b/src/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md index 2bf1553cf..72325f08e 100644 --- a/src/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md +++ b/src/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md @@ -7,8 +7,8 @@ UDF (User Defined Function) refers to user-defined functions. IoTDB provides a v In IoTDB, you can expand two types of UDF: - - + + @@ -26,6 +26,7 @@ In IoTDB, you can expand two types of UDF: +
UDF Class
UDF Class AccessStrategy Description
- Custom aggregation function, input k columns of time series m rows of data, output 1 column of time series 1 row of data, can be used in any clause and expression that appears in the aggregation function, such as select clause, having clause, etc.
### 1.1 UDF usage diff --git a/src/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md b/src/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md index fcbae4ccb..2b91554ba 100644 --- a/src/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md +++ b/src/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md @@ -7,8 +7,8 @@ UDF (User Defined Function) refers to user-defined functions. IoTDB provides a v In IoTDB, you can expand two types of UDF: - - + + @@ -26,6 +26,7 @@ In IoTDB, you can expand two types of UDF: +
UDF Class
UDF Class AccessStrategy Description
- Custom aggregation function, input k columns of time series m rows of data, output 1 column of time series 1 row of data, can be used in any clause and expression that appears in the aggregation function, such as select clause, having clause, etc.
### 1.1 UDF usage diff --git a/src/UserGuide/V0.13.x/API/Programming-Go-Native-API.md b/src/UserGuide/V0.13.x/API/Programming-Go-Native-API.md index 507d14781..f4437a73e 100644 --- a/src/UserGuide/V0.13.x/API/Programming-Go-Native-API.md +++ b/src/UserGuide/V0.13.x/API/Programming-Go-Native-API.md @@ -70,7 +70,7 @@ The PutBack method must be called after use #### New sessionPool -```golang +```go config := &client.PoolConfig{ Host: host, Port: port, @@ -84,7 +84,7 @@ sessionPool = client.NewSessionPool(config, 3, 60000, 60000, false) set storage group -```golang +```go session, err := sessionPool.GetSession() defer sessionPool.PutBack(session) if err == nil { @@ -94,7 +94,7 @@ if err == nil { query statement -```golang +```go var timeout int64 = 1000 session, err := sessionPool.GetSession() defer sessionPool.PutBack(session) diff --git a/src/UserGuide/V0.13.x/Process-Data/Triggers.md b/src/UserGuide/V0.13.x/Process-Data/Triggers.md index 425fa0b36..0d9a09db1 100644 --- a/src/UserGuide/V0.13.x/Process-Data/Triggers.md +++ b/src/UserGuide/V0.13.x/Process-Data/Triggers.md @@ -588,10 +588,7 @@ AlertManagerEvent(String alertname, Map extraLabels, Map}} - ``` +* `annotations` is optional, and its value can use Go style template `{{.}}` It will be replaced with `labels[]` when the message is finally generated. * `labels` and `annotations` will be parsed into json string and sent to `AlertManager`: ```json diff --git a/src/UserGuide/V1.3.0-2/API/Programming-Cpp-Native-API.md b/src/UserGuide/V1.3.0-2/API/Programming-Cpp-Native-API.md index 83f024d8a..b462983d2 100644 --- a/src/UserGuide/V1.3.0-2/API/Programming-Cpp-Native-API.md +++ b/src/UserGuide/V1.3.0-2/API/Programming-Cpp-Native-API.md @@ -119,12 +119,12 @@ Run Maven to compile in the IoTDB root directory: ``` - Windows using Visual Studio 2022 - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp ``` - Windows using Visual Studio 2019 - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 16 2019" -Diotdb-tools-thrift.version=0.14.1.1-msvc142-SNAPSHOT ``` - If you haven't added the Boost library path to the PATH environment variable, you need to add the relevant parameters to the compile command, e.g., `-DboostIncludeDir="C:\Program Files (x86)\boost_1_78_0" -DboostLibraryDir="C:\Program Files (x86)\boost_1_78_0\stage\lib"`. diff --git a/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Database-Resources.md b/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Database-Resources.md index 59a380dbb..0cdfbda72 100644 --- a/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Database-Resources.md +++ b/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Database-Resources.md @@ -20,163 +20,172 @@ --> # Database Resources ## CPU - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
Number of timeseries (frequency<=1HZ)CPUNumber of nodes
standalone modeDouble activeDistributed
Within 1000002core-4core123
Within 3000004core-8core123
Within 5000008core-26core123
Within 100000016core-32core123
Within 200000032core-48core123
Within 1000000048core12Please contact Timecho Business for consultation
Over 10000000Please contact Timecho Business for consultation
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Number of timeseries (frequency<=1HZ)CPUNumber of nodes
standalone modeDouble activeDistributed
Within 1000002core-4core123
Within 3000004core-8core123
Within 5000008core-26core123
Within 100000016core-32core123
Within 200000032core-48core123
Within 1000000048core12Please contact Timecho Business for consultation
Over 10000000Please contact Timecho Business for consultation
-## Memory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +## Memory + +
Number of timeseries (frequency<=1HZ)MemoryNumber of nodes
standalone modeDouble activeDistributed
Within 1000004G-8G123
Within 30000012G-32G123
Within 50000024G-48G123
Within 100000032G-96G123
Within 200000064G-128G123
Within 10000000128G12Please contact Timecho Business for consultation
Over 10000000Please contact Timecho Business for consultation
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Number of timeseries (frequency<=1HZ)MemoryNumber of nodes
standalone modeDouble activeDistributed
Within 1000004G-8G123
Within 30000012G-32G123
Within 50000024G-48G123
Within 100000032G-96G123
Within 200000064G-128G123
Within 10000000128G12Please contact Timecho Business for consultation
Over 10000000Please contact Timecho Business for consultation
+ ## Storage (Disk) ### Storage space Calculation formula: Number of measurement points * Sampling frequency (Hz) * Size of each data point (Byte, different data types may vary, see table below) * Storage time (seconds) * Number of copies (usually 1 copy for a single node and 2 copies for a cluster) ÷ Compression ratio (can be estimated at 5-10 times, but may be higher in actual situations) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
Data point size calculation
data typeTimestamp (Bytes) Value (Bytes) Total size of data points (in bytes) -
Boolean819
INT32/FLOAT8412
INT64/DOUBLE8816
TEXT8The average is a8+a
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Data point size calculation
data typeTimestamp (Bytes)Value (Bytes)Total size of data points (in bytes)
Boolean819
INT32/FLOAT8412
INT64/DOUBLE8816
TEXT8The average is a8+a
Example: 1000 devices, each with 100 measurement points, a total of 100000 sequences, INT32 type. Sampling frequency 1Hz (once per second), storage for 1 year, 3 copies. diff --git a/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Environment-Requirements.md b/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Environment-Requirements.md index d2b6ff065..abe20eb98 100644 --- a/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Environment-Requirements.md @@ -80,7 +80,8 @@ IoTDB supports operating systems such as Linux, Windows, and MacOS, while the en - Each disk group corresponds to only one partition. Data disks (with multiple disk groups, corresponding to raid) do not need additional partitions. All space is used by the IoTDB. The following table lists the recommended disk partitioning methods. - + + @@ -115,6 +116,7 @@ The following table lists the recommended disk partitioning methods. +
Disk classification Disk set Drive
......
### Network Configuration diff --git a/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/workbench-deployment_timecho.md index 5eefb6c9e..6aab0e191 100644 --- a/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/UserGuide/V1.3.0-2/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -45,7 +45,8 @@ The visualization console is one of the supporting tools for IoTDB (similar to N 1. Open the monitoring configuration item. The configuration items related to monitoring in IoTDB are disabled by default. Before deploying the monitoring panel, you need to open the relevant configuration items (note that the service needs to be restarted after enabling monitoring configuration). - + + @@ -93,7 +94,8 @@ The visualization console is one of the supporting tools for IoTDB (similar to N -
Configuration Located in the configuration file Descriptionaudit_log_operation Uncomment configuration items
+ + 2. Restart all nodes. After modifying the monitoring indicator configuration of three nodes, the confignode and datanode services of all nodes can be restarted: diff --git a/src/UserGuide/V1.3.0-2/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/UserGuide/V1.3.0-2/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index c2d3784db..5d9402db8 100644 --- a/src/UserGuide/V1.3.0-2/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/UserGuide/V1.3.0-2/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -80,7 +80,8 @@ Step 5: Select `IoTDB` and fill in the configuration information The configuration content is as follows: - + + @@ -151,6 +152,7 @@ The configuration content is as follows: +
Name Description Default ValueJust keep it as default
diff --git a/src/UserGuide/V1.3.0-2/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/UserGuide/V1.3.0-2/IoTDB-Introduction/IoTDB-Introduction_timecho.md index f4866314d..4dce11e41 100644 --- a/src/UserGuide/V1.3.0-2/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/UserGuide/V1.3.0-2/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -83,8 +83,8 @@ Building on the open-source version, TimechoDB offers a range of advanced produc The detailed functional comparison is as follows: - - + + @@ -208,6 +208,7 @@ The detailed functional comparison is as follows: +
Function
Function Apache IoTDB TimechoDB
×
### More efficient/stable product performance diff --git a/src/UserGuide/V1.3.0-2/User-Manual/Data-Sync_apache.md b/src/UserGuide/V1.3.0-2/User-Manual/Data-Sync_apache.md index 8bfd5e39d..0913f71eb 100644 --- a/src/UserGuide/V1.3.0-2/User-Manual/Data-Sync_apache.md +++ b/src/UserGuide/V1.3.0-2/User-Manual/Data-Sync_apache.md @@ -38,8 +38,8 @@ A data synchronization task consists of three stages: By declaratively configuring the specific content of the three parts through SQL statements, flexible data synchronization capabilities can be achieved. Currently, data synchronization supports the synchronization of the following information, and you can select the synchronization scope when creating a synchronization task (the default is data.insert, which means synchronizing newly written data): - - + + @@ -74,6 +74,7 @@ By declaratively configuring the specific content of the three parts through SQL +
Synchronization Scope
Synchronization Scope Synchronization Content Description
- Synchronize user permissions and access control
### Functional limitations and instructions @@ -221,8 +222,8 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param - - + + @@ -259,6 +260,7 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param +
Type
Type Custom Plugin Plugin Name DescriptionUsed for data transfer between IoTDB ( V1.3.1+ ) and IoTDB ( V1.2.0+ ). It uses the Thrift RPC framework to transfer data, with a single-threaded sync blocking IO model, suitable for scenarios with higher security requirements 1.3.1+
For importing custom plugins, please refer to the [Stream Processing](./Streaming_timecho.md#custom-stream-processing-plugin-management) section. diff --git a/src/UserGuide/V1.3.0-2/User-Manual/Data-Sync_timecho.md b/src/UserGuide/V1.3.0-2/User-Manual/Data-Sync_timecho.md index 81c1aeac3..d0afbbe1d 100644 --- a/src/UserGuide/V1.3.0-2/User-Manual/Data-Sync_timecho.md +++ b/src/UserGuide/V1.3.0-2/User-Manual/Data-Sync_timecho.md @@ -38,8 +38,8 @@ A data synchronization task consists of three stages: By declaratively configuring the specific content of the three parts through SQL statements, flexible data synchronization capabilities can be achieved. Currently, data synchronization supports the synchronization of the following information, and you can select the synchronization scope when creating a synchronization task (the default is data.insert, which means synchronizing newly written data): - - + + @@ -74,6 +74,7 @@ By declaratively configuring the specific content of the three parts through SQL +
Synchronization Scope
Synchronization Scope Synchronization Content Description
- Synchronize user permissions and access control
### Functional limitations and instructions @@ -219,8 +220,8 @@ IoTDB> SHOW PIPEPLUGINS Detailed introduction of pre-installed plugins is as follows (for detailed parameters of each plugin, please refer to the [Parameter Description](#reference-parameter-description) section): - - + + @@ -262,6 +263,7 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param +
Type
Type Custom Plugin Plugin Name DescriptionUsed for data transfer between IoTDB ( V1.3.1+ ) and IoTDB ( V1.2.0+ ). It uses the Thrift RPC framework to transfer data, with a single-threaded sync blocking IO model, suitable for scenarios with higher security requirements 1.3.1+
For importing custom plugins, please refer to the [Stream Processing](./Streaming_timecho.md#custom-stream-processing-plugin-management) section. diff --git a/src/UserGuide/V1.3.0-2/User-Manual/User-defined-function.md b/src/UserGuide/V1.3.0-2/User-Manual/User-defined-function.md index ed544c95e..4f03857dd 100644 --- a/src/UserGuide/V1.3.0-2/User-Manual/User-defined-function.md +++ b/src/UserGuide/V1.3.0-2/User-Manual/User-defined-function.md @@ -7,8 +7,8 @@ UDF (User Defined Function) refers to user-defined functions. IoTDB provides a v In IoTDB, you can expand two types of UDF: - - + + @@ -26,6 +26,7 @@ In IoTDB, you can expand two types of UDF: +
UDF Class
UDF Class AccessStrategy Description
- Custom aggregation function, input k columns of time series m rows of data, output 1 column of time series 1 row of data, can be used in any clause and expression that appears in the aggregation function, such as select clause, having clause, etc.
### 1.1 UDF usage diff --git a/src/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Database-Resources.md b/src/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Database-Resources.md index 59a380dbb..c449b6461 100644 --- a/src/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Database-Resources.md +++ b/src/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # Database Resources ## CPU + @@ -77,10 +78,12 @@ +
Number of timeseries (frequency<=1HZ) CPUOver 10000000 Please contact Timecho Business for consultation
## Memory + @@ -137,12 +140,14 @@ +
Number of timeseries (frequency<=1HZ) MemoryOver 10000000 Please contact Timecho Business for consultation
## Storage (Disk) ### Storage space Calculation formula: Number of measurement points * Sampling frequency (Hz) * Size of each data point (Byte, different data types may vary, see table below) * Storage time (seconds) * Number of copies (usually 1 copy for a single node and 2 copies for a cluster) ÷ Compression ratio (can be estimated at 5-10 times, but may be higher in actual situations) + @@ -177,6 +182,7 @@ Calculation formula: Number of measurement points * Sampling frequency (Hz) * Si +
Data point size calculation
The average is a 8+a
Example: 1000 devices, each with 100 measurement points, a total of 100000 sequences, INT32 type. Sampling frequency 1Hz (once per second), storage for 1 year, 3 copies. diff --git a/src/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Environment-Requirements.md b/src/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Environment-Requirements.md index 539d03b09..5599d1492 100644 --- a/src/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Environment-Requirements.md @@ -80,7 +80,8 @@ IoTDB supports operating systems such as Linux, Windows, and MacOS, while the en - Each disk group corresponds to only one partition. Data disks (with multiple disk groups, corresponding to raid) do not need additional partitions. All space is used by the IoTDB. The following table lists the recommended disk partitioning methods. - + + @@ -115,6 +116,7 @@ The following table lists the recommended disk partitioning methods. +
Disk classification Disk set Drive
......
### Network Configuration diff --git a/src/UserGuide/V2.0.1/Tree/API/Programming-Cpp-Native-API.md b/src/UserGuide/V2.0.1/Tree/API/Programming-Cpp-Native-API.md index 83f024d8a..b462983d2 100644 --- a/src/UserGuide/V2.0.1/Tree/API/Programming-Cpp-Native-API.md +++ b/src/UserGuide/V2.0.1/Tree/API/Programming-Cpp-Native-API.md @@ -119,12 +119,12 @@ Run Maven to compile in the IoTDB root directory: ``` - Windows using Visual Studio 2022 - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp ``` - Windows using Visual Studio 2019 - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 16 2019" -Diotdb-tools-thrift.version=0.14.1.1-msvc142-SNAPSHOT ``` - If you haven't added the Boost library path to the PATH environment variable, you need to add the relevant parameters to the compile command, e.g., `-DboostIncludeDir="C:\Program Files (x86)\boost_1_78_0" -DboostLibraryDir="C:\Program Files (x86)\boost_1_78_0\stage\lib"`. diff --git a/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Database-Resources.md b/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Database-Resources.md index 59a380dbb..c449b6461 100644 --- a/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Database-Resources.md +++ b/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # Database Resources ## CPU + @@ -77,10 +78,12 @@ +
Number of timeseries (frequency<=1HZ) CPUOver 10000000 Please contact Timecho Business for consultation
## Memory + @@ -137,12 +140,14 @@ +
Number of timeseries (frequency<=1HZ) MemoryOver 10000000 Please contact Timecho Business for consultation
## Storage (Disk) ### Storage space Calculation formula: Number of measurement points * Sampling frequency (Hz) * Size of each data point (Byte, different data types may vary, see table below) * Storage time (seconds) * Number of copies (usually 1 copy for a single node and 2 copies for a cluster) ÷ Compression ratio (can be estimated at 5-10 times, but may be higher in actual situations) + @@ -177,6 +182,7 @@ Calculation formula: Number of measurement points * Sampling frequency (Hz) * Si +
Data point size calculation
The average is a 8+a
Example: 1000 devices, each with 100 measurement points, a total of 100000 sequences, INT32 type. Sampling frequency 1Hz (once per second), storage for 1 year, 3 copies. diff --git a/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Environment-Requirements.md b/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Environment-Requirements.md index a1b544723..916c33310 100644 --- a/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Environment-Requirements.md @@ -80,7 +80,8 @@ IoTDB supports operating systems such as Linux, Windows, and MacOS, while the en - Each disk group corresponds to only one partition. Data disks (with multiple disk groups, corresponding to raid) do not need additional partitions. All space is used by the IoTDB. The following table lists the recommended disk partitioning methods. - + + @@ -115,6 +116,7 @@ The following table lists the recommended disk partitioning methods. +
Disk classification Disk set Drive
......
### Network Configuration diff --git a/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md index a99a70bc2..f618a58aa 100644 --- a/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -45,7 +45,8 @@ The visualization console is one of the supporting tools for IoTDB (similar to N 1. Open the monitoring configuration item. The configuration items related to monitoring in IoTDB are disabled by default. Before deploying the monitoring panel, you need to open the relevant configuration items (note that the service needs to be restarted after enabling monitoring configuration). - + + @@ -93,7 +94,8 @@ The visualization console is one of the supporting tools for IoTDB (similar to N -
Configuration Located in the configuration file Descriptionaudit_log_operation Please add this configuration item in the configuration file, with values set to DML,DDL,QUERY
+ + 2. Restart all nodes. After modifying the monitoring indicator configuration of three nodes, the confignode and datanode services of all nodes can be restarted: diff --git a/src/UserGuide/V2.0.1/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/UserGuide/V2.0.1/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index c2d3784db..5d9402db8 100644 --- a/src/UserGuide/V2.0.1/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/UserGuide/V2.0.1/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -80,7 +80,8 @@ Step 5: Select `IoTDB` and fill in the configuration information The configuration content is as follows: - + + @@ -151,6 +152,7 @@ The configuration content is as follows: +
Name Description Default ValueJust keep it as default
diff --git a/src/UserGuide/V2.0.1/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/UserGuide/V2.0.1/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md index f4866314d..4dce11e41 100644 --- a/src/UserGuide/V2.0.1/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/UserGuide/V2.0.1/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -83,8 +83,8 @@ Building on the open-source version, TimechoDB offers a range of advanced produc The detailed functional comparison is as follows: - - + + @@ -208,6 +208,7 @@ The detailed functional comparison is as follows: +
Function
Function Apache IoTDB TimechoDB
×
### More efficient/stable product performance diff --git a/src/UserGuide/V2.0.1/Tree/Tools-System/Data-Import-Tool.md b/src/UserGuide/V2.0.1/Tree/Tools-System/Data-Import-Tool.md index f03c3a5b1..e6a945011 100644 --- a/src/UserGuide/V2.0.1/Tree/Tools-System/Data-Import-Tool.md +++ b/src/UserGuide/V2.0.1/Tree/Tools-System/Data-Import-Tool.md @@ -5,8 +5,8 @@ IoTDB currently supports importing data in CSV, SQL, and TsFile (IoTDB's underlying open-time series file format) into the database. The specific functionalities are as follows: - - + + @@ -29,6 +29,7 @@ IoTDB currently supports importing data in CSV, SQL, and TsFile (IoTDB's underly +
File Format
File Format IoTDB Tool Description
TsFile Active Listening & Loading Feature According to user configuration, it listens for changes in TsFile files in the specified path and loads newly added TsFile files into IoTDB
## 2. import-data Scripts diff --git a/src/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_apache.md b/src/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_apache.md index 16e58170b..4a9476b04 100644 --- a/src/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_apache.md +++ b/src/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_apache.md @@ -38,8 +38,8 @@ A data synchronization task consists of three stages: By declaratively configuring the specific content of the three parts through SQL statements, flexible data synchronization capabilities can be achieved. Currently, data synchronization supports the synchronization of the following information, and you can select the synchronization scope when creating a synchronization task (the default is data.insert, which means synchronizing newly written data): - - + + @@ -74,6 +74,7 @@ By declaratively configuring the specific content of the three parts through SQL +
Synchronization Scope
Synchronization Scope Synchronization Content Description
- Synchronize user permissions and access control
### Functional limitations and instructions @@ -213,8 +214,8 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param - - + + @@ -251,6 +252,7 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param +
Type
Type Custom Plugin Plugin Name DescriptionUsed for data transfer between IoTDB ( V1.3.1+ ) and IoTDB ( V1.2.0+ ). It uses the Thrift RPC framework to transfer data, with a single-threaded sync blocking IO model, suitable for scenarios with higher security requirements 1.3.1+
For importing custom plugins, please refer to the [Stream Processing](./Streaming_timecho.md#custom-stream-processing-plugin-management) section. diff --git a/src/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_timecho.md b/src/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_timecho.md index d7084b4f3..bc01b10d0 100644 --- a/src/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_timecho.md +++ b/src/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_timecho.md @@ -38,8 +38,8 @@ A data synchronization task consists of three stages: By declaratively configuring the specific content of the three parts through SQL statements, flexible data synchronization capabilities can be achieved. Currently, data synchronization supports the synchronization of the following information, and you can select the synchronization scope when creating a synchronization task (the default is data.insert, which means synchronizing newly written data): - - + + @@ -74,6 +74,7 @@ By declaratively configuring the specific content of the three parts through SQL +
Synchronization Scope
Synchronization Scope Synchronization Content Description
- Synchronize user permissions and access control
### Functional limitations and instructions @@ -216,8 +217,8 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param - - + + @@ -259,6 +260,7 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param +
Type
Type Custom Plugin Plugin Name DescriptionUsed for data transfer between IoTDB ( V1.3.1+ ) and IoTDB ( V1.2.0+ ). It uses the Thrift RPC framework to transfer data, with a single-threaded sync blocking IO model, suitable for scenarios with higher security requirements 1.3.1+
For importing custom plugins, please refer to the [Stream Processing](./Streaming_timecho.md#custom-stream-processing-plugin-management) section. diff --git a/src/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_apache.md b/src/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_apache.md index 2bf1553cf..72325f08e 100644 --- a/src/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_apache.md +++ b/src/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_apache.md @@ -7,8 +7,8 @@ UDF (User Defined Function) refers to user-defined functions. IoTDB provides a v In IoTDB, you can expand two types of UDF: - - + + @@ -26,6 +26,7 @@ In IoTDB, you can expand two types of UDF: +
UDF Class
UDF Class AccessStrategy Description
- Custom aggregation function, input k columns of time series m rows of data, output 1 column of time series 1 row of data, can be used in any clause and expression that appears in the aggregation function, such as select clause, having clause, etc.
### 1.1 UDF usage diff --git a/src/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_timecho.md b/src/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_timecho.md index fcbae4ccb..2b91554ba 100644 --- a/src/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_timecho.md +++ b/src/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_timecho.md @@ -7,8 +7,8 @@ UDF (User Defined Function) refers to user-defined functions. IoTDB provides a v In IoTDB, you can expand two types of UDF: - - + + @@ -26,6 +26,7 @@ In IoTDB, you can expand two types of UDF: +
UDF Class
UDF Class AccessStrategy Description
- Custom aggregation function, input k columns of time series m rows of data, output 1 column of time series 1 row of data, can be used in any clause and expression that appears in the aggregation function, such as select clause, having clause, etc.
### 1.1 UDF usage diff --git a/src/UserGuide/latest/API/Programming-Cpp-Native-API.md b/src/UserGuide/latest/API/Programming-Cpp-Native-API.md index 83f024d8a..b462983d2 100644 --- a/src/UserGuide/latest/API/Programming-Cpp-Native-API.md +++ b/src/UserGuide/latest/API/Programming-Cpp-Native-API.md @@ -119,12 +119,12 @@ Run Maven to compile in the IoTDB root directory: ``` - Windows using Visual Studio 2022 - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp ``` - Windows using Visual Studio 2019 - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 16 2019" -Diotdb-tools-thrift.version=0.14.1.1-msvc142-SNAPSHOT ``` - If you haven't added the Boost library path to the PATH environment variable, you need to add the relevant parameters to the compile command, e.g., `-DboostIncludeDir="C:\Program Files (x86)\boost_1_78_0" -DboostLibraryDir="C:\Program Files (x86)\boost_1_78_0\stage\lib"`. diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md b/src/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md index 59a380dbb..c449b6461 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # Database Resources ## CPU + @@ -77,10 +78,12 @@ +
Number of timeseries (frequency<=1HZ) CPUOver 10000000 Please contact Timecho Business for consultation
## Memory + @@ -137,12 +140,14 @@ +
Number of timeseries (frequency<=1HZ) MemoryOver 10000000 Please contact Timecho Business for consultation
## Storage (Disk) ### Storage space Calculation formula: Number of measurement points * Sampling frequency (Hz) * Size of each data point (Byte, different data types may vary, see table below) * Storage time (seconds) * Number of copies (usually 1 copy for a single node and 2 copies for a cluster) ÷ Compression ratio (can be estimated at 5-10 times, but may be higher in actual situations) + @@ -177,6 +182,7 @@ Calculation formula: Number of measurement points * Sampling frequency (Hz) * Si +
Data point size calculation
The average is a 8+a
Example: 1000 devices, each with 100 measurement points, a total of 100000 sequences, INT32 type. Sampling frequency 1Hz (once per second), storage for 1 year, 3 copies. diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md b/src/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md index a1b544723..90eb66dd2 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md @@ -79,8 +79,10 @@ IoTDB supports operating systems such as Linux, Windows, and MacOS, while the en - The system disk needs only the space used by the operating system, and does not need to reserve space for the IoTDB. - Each disk group corresponds to only one partition. Data disks (with multiple disk groups, corresponding to raid) do not need additional partitions. All space is used by the IoTDB. The following table lists the recommended disk partitioning methods. + - + + @@ -115,7 +117,9 @@ The following table lists the recommended disk partitioning methods. +
Disk classification Disk set Drive
......
+ ### Network Configuration 1. Disable the firewall diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md index a99a70bc2..f618a58aa 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -45,7 +45,8 @@ The visualization console is one of the supporting tools for IoTDB (similar to N 1. Open the monitoring configuration item. The configuration items related to monitoring in IoTDB are disabled by default. Before deploying the monitoring panel, you need to open the relevant configuration items (note that the service needs to be restarted after enabling monitoring configuration). - + + @@ -93,7 +94,8 @@ The visualization console is one of the supporting tools for IoTDB (similar to N -
Configuration Located in the configuration file Descriptionaudit_log_operation Please add this configuration item in the configuration file, with values set to DML,DDL,QUERY
+ + 2. Restart all nodes. After modifying the monitoring indicator configuration of three nodes, the confignode and datanode services of all nodes can be restarted: diff --git a/src/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index c2d3784db..5d9402db8 100644 --- a/src/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -80,7 +80,8 @@ Step 5: Select `IoTDB` and fill in the configuration information The configuration content is as follows: - + + @@ -151,6 +152,7 @@ The configuration content is as follows: +
Name Description Default ValueJust keep it as default
diff --git a/src/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md index f4866314d..4dce11e41 100644 --- a/src/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -83,8 +83,8 @@ Building on the open-source version, TimechoDB offers a range of advanced produc The detailed functional comparison is as follows: - - + + @@ -208,6 +208,7 @@ The detailed functional comparison is as follows: +
Function
Function Apache IoTDB TimechoDB
×
### More efficient/stable product performance diff --git a/src/UserGuide/latest/Tools-System/Data-Import-Tool.md b/src/UserGuide/latest/Tools-System/Data-Import-Tool.md index f03c3a5b1..e6a945011 100644 --- a/src/UserGuide/latest/Tools-System/Data-Import-Tool.md +++ b/src/UserGuide/latest/Tools-System/Data-Import-Tool.md @@ -5,8 +5,8 @@ IoTDB currently supports importing data in CSV, SQL, and TsFile (IoTDB's underlying open-time series file format) into the database. The specific functionalities are as follows: - - + + @@ -29,6 +29,7 @@ IoTDB currently supports importing data in CSV, SQL, and TsFile (IoTDB's underly +
File Format
File Format IoTDB Tool Description
TsFile Active Listening & Loading Feature According to user configuration, it listens for changes in TsFile files in the specified path and loads newly added TsFile files into IoTDB
## 2. import-data Scripts diff --git a/src/UserGuide/latest/User-Manual/Data-Sync_apache.md b/src/UserGuide/latest/User-Manual/Data-Sync_apache.md index 16e58170b..4a9476b04 100644 --- a/src/UserGuide/latest/User-Manual/Data-Sync_apache.md +++ b/src/UserGuide/latest/User-Manual/Data-Sync_apache.md @@ -38,8 +38,8 @@ A data synchronization task consists of three stages: By declaratively configuring the specific content of the three parts through SQL statements, flexible data synchronization capabilities can be achieved. Currently, data synchronization supports the synchronization of the following information, and you can select the synchronization scope when creating a synchronization task (the default is data.insert, which means synchronizing newly written data): - - + + @@ -74,6 +74,7 @@ By declaratively configuring the specific content of the three parts through SQL +
Synchronization Scope
Synchronization Scope Synchronization Content Description
- Synchronize user permissions and access control
### Functional limitations and instructions @@ -213,8 +214,8 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param - - + + @@ -251,6 +252,7 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param +
Type
Type Custom Plugin Plugin Name DescriptionUsed for data transfer between IoTDB ( V1.3.1+ ) and IoTDB ( V1.2.0+ ). It uses the Thrift RPC framework to transfer data, with a single-threaded sync blocking IO model, suitable for scenarios with higher security requirements 1.3.1+
For importing custom plugins, please refer to the [Stream Processing](./Streaming_timecho.md#custom-stream-processing-plugin-management) section. diff --git a/src/UserGuide/latest/User-Manual/Data-Sync_timecho.md b/src/UserGuide/latest/User-Manual/Data-Sync_timecho.md index d7084b4f3..bc01b10d0 100644 --- a/src/UserGuide/latest/User-Manual/Data-Sync_timecho.md +++ b/src/UserGuide/latest/User-Manual/Data-Sync_timecho.md @@ -38,8 +38,8 @@ A data synchronization task consists of three stages: By declaratively configuring the specific content of the three parts through SQL statements, flexible data synchronization capabilities can be achieved. Currently, data synchronization supports the synchronization of the following information, and you can select the synchronization scope when creating a synchronization task (the default is data.insert, which means synchronizing newly written data): - - + + @@ -74,6 +74,7 @@ By declaratively configuring the specific content of the three parts through SQL +
Synchronization Scope
Synchronization Scope Synchronization Content Description
- Synchronize user permissions and access control
### Functional limitations and instructions @@ -216,8 +217,8 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param - - + + @@ -259,6 +260,7 @@ Detailed introduction of pre-installed plugins is as follows (for detailed param +
Type
Type Custom Plugin Plugin Name DescriptionUsed for data transfer between IoTDB ( V1.3.1+ ) and IoTDB ( V1.2.0+ ). It uses the Thrift RPC framework to transfer data, with a single-threaded sync blocking IO model, suitable for scenarios with higher security requirements 1.3.1+
For importing custom plugins, please refer to the [Stream Processing](./Streaming_timecho.md#custom-stream-processing-plugin-management) section. diff --git a/src/UserGuide/latest/User-Manual/User-defined-function_apache.md b/src/UserGuide/latest/User-Manual/User-defined-function_apache.md index 2bf1553cf..72325f08e 100644 --- a/src/UserGuide/latest/User-Manual/User-defined-function_apache.md +++ b/src/UserGuide/latest/User-Manual/User-defined-function_apache.md @@ -7,8 +7,8 @@ UDF (User Defined Function) refers to user-defined functions. IoTDB provides a v In IoTDB, you can expand two types of UDF: - - + + @@ -26,6 +26,7 @@ In IoTDB, you can expand two types of UDF: +
UDF Class
UDF Class AccessStrategy Description
- Custom aggregation function, input k columns of time series m rows of data, output 1 column of time series 1 row of data, can be used in any clause and expression that appears in the aggregation function, such as select clause, having clause, etc.
### 1.1 UDF usage diff --git a/src/UserGuide/latest/User-Manual/User-defined-function_timecho.md b/src/UserGuide/latest/User-Manual/User-defined-function_timecho.md index fcbae4ccb..2b91554ba 100644 --- a/src/UserGuide/latest/User-Manual/User-defined-function_timecho.md +++ b/src/UserGuide/latest/User-Manual/User-defined-function_timecho.md @@ -7,8 +7,8 @@ UDF (User Defined Function) refers to user-defined functions. IoTDB provides a v In IoTDB, you can expand two types of UDF: - - + + @@ -26,6 +26,7 @@ In IoTDB, you can expand two types of UDF: +
UDF Class
UDF Class AccessStrategy Description
- Custom aggregation function, input k columns of time series m rows of data, output 1 column of time series 1 row of data, can be used in any clause and expression that appears in the aggregation function, such as select clause, having clause, etc.
### 1.1 UDF usage diff --git a/src/zh/Community/Development-Guide.md b/src/zh/Community/Development-Guide.md index 011f7f452..667f0b87b 100644 --- a/src/zh/Community/Development-Guide.md +++ b/src/zh/Community/Development-Guide.md @@ -439,7 +439,8 @@ Issue 的完整生命周期:创建 issue -> 认领 issue -> 提交 pr -> 审 * 将该文件拷贝到 thrift/target/tools/目录下 * 重新执行 maven 的编译命令 - 无法下载errorprone : - ```Failed to read artifact descriptor for com.google.errorprone:javac + ``` + Failed to read artifact descriptor for com.google.errorprone:javac -shaded:jar:9+181-r4173-1: Could not transfer artifact com.google.errorprone:javac-shaded:pom:9+181-r4173-1 ``` 解决方法: diff --git a/src/zh/Download/README.md b/src/zh/Download/README.md index 828a212ba..c0b2ef649 100644 --- a/src/zh/Download/README.md +++ b/src/zh/Download/README.md @@ -19,59 +19,208 @@ --> # 发行版本 - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
版本IoTDB 二进制包IoTDB 源代码发布说明
1.3.3All-in-oneSHA512ASC源代码SHA512ASCrelease notes
AINodeSHA512ASC
1.3.2All-in-oneSHA512ASC源代码SHA512ASCrelease notes
0.13.4All-in-oneSHA512ASC源代码SHA512ASCrelease notes
Grafana 连接器SHA512ASC
Grafana 插件SHA512ASC
IoTDB 二进制包IoTDB 源代码发布说明
1.3.3 + All-in-one + + SHA512 + + ASC + + 源代码 + + SHA512 + + ASC + + release notes +
+ AINode + + SHA512 + + ASC +
1.3.2 + All-in-one + + SHA512 + + ASC + + 源代码 + + SHA512 + + ASC + + release notes +
0.13.4 + All-in-one + + SHA512 + + ASC + + 源代码 + + SHA512 + + ASC + + release notes +
+ Grafana 连接器 + + SHA512 + + ASC +
+ Grafana 插件 + + SHA512 + + ASC +
历史版本下载:[https://archive.apache.org/dist/iotdb/](https://archive.apache.org/dist/iotdb/) @@ -190,7 +339,7 @@ for(int i = 0; i <= values.length; i++){ 查询 root.sg.a 的数据,可以看到没有做反转义处理: -```Plain%20Text +``` // 查询结果 +-----------------------------+---------+ | Time|root.sg.a| @@ -214,7 +363,7 @@ insert into root.sg(time, a) values(4, "\u96d5") 查询 root.sg.a 的数据,可以看到字符串进行了反转义: -```Plain%20Text +``` // 查询结果 +-----------------------------+---------+ | Time|root.sg.a| diff --git a/src/zh/README.md b/src/zh/README.md index e6dc0b3eb..02e31bfe4 100644 --- a/src/zh/README.md +++ b/src/zh/README.md @@ -1,6 +1,41 @@ --- home: true +heroText: Apache IoTDB +heroImage: /img/logo.svg +tagline: 物联网数据库 +actions: + - text: 下载 + link: ./Download/ + type: primary + + - text: 快速上手 + link: ./UserGuide/latest/QuickStart/QuickStart_apache.html + +highlights: + - header: 介绍 + description: Apache IoTDB(物联网数据库)是一体化收集、存储、管理与分析物联网时序数据的软件系统。Apache IoTDB 采用轻量式架构,具有高性能和丰富的功能,并与 Apache Hadoop、Spark 和 Flink 等进行了深度集成,可以满足工业物联网领域的海量数据存储、高速数据读取和复杂数据分析需求。 + + - header: 主要特点 + features: + - title: 高吞吐量读写 + details: Apache IoTDB 中可以支持数百万个低功耗和智能联网设备的高速写访问。 它还提供数据快速读取访问以查询。 + + - title: 高效的目录结构 + details: Apache IoTDB 可以对拥有复杂组织关系的物联网设备进行树形结构管理,并使用通配符对这些元数据进行模糊匹配。 + + - title: 丰富的查询语义 + details: Apache IoTDB 可以支持跨设备和传感器的时间对齐查询,在时间维度上的聚合(降采样)等。 + + - title: 低硬件成本 + details: Apache IoTDB 可以实现磁盘存储的高压缩率。 + + - title: 部署灵活 + details: Apache IoTDB 可以为用户提供云上的一键式安装、终端访问工具以及边-云之间的协同(数据同步工具)。 + + - title: 与开源生态系统的紧密集成 + details: Apache IoTDB 支持许多大数据软件生态系统,例如Hadoop、Spark、Flink和Grafana(可视化工具) --- + - + + diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Database-Resources.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Database-Resources.md index 17e09aa0f..74ad41922 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Database-Resources.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # 资源规划 ## CPU + @@ -77,10 +78,12 @@ +
序列数(采集频率<=1HZ) CPU1000w以上 请联系天谋商务咨询
## 内存 + @@ -137,12 +140,14 @@ +
序列数(采集频率<=1HZ) 内存1000w以上 请联系天谋商务咨询
## 存储(磁盘) ### 存储空间 计算公式:测点数量 * 采样频率(Hz)* 每个数据点大小(Byte,不同数据类型不一样,见下表) + @@ -176,6 +181,7 @@ +
数据点大小计算表
平均为a 8+a
示例:1000设备,每个设备100 测点,共 100000 序列,INT32 类型。采样频率1Hz(每秒一次),存储1年,3副本。 diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Environment-Requirements.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Environment-Requirements.md index 99c5b14cc..2bfbc16c4 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Environment-Requirements.md @@ -90,7 +90,8 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 建议的磁盘分区方式如下表所示。 - + + @@ -125,6 +126,7 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 +
硬盘分类 磁盘组 对应盘符
......
### 网络配置 diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md b/src/zh/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md index 77636edfd..5f02f2e65 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md @@ -124,12 +124,12 @@ git checkout rc/1.3.2 ``` - 使用 Visual Studio 2022 的 Windows - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp ``` - 使用 Visual Studio 2019 的 Windows - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 16 2019" -Diotdb-tools-thrift.version=0.14.1.1-msvc142-SNAPSHOT ``` - 如果没有将 Boost 库地址加入 PATH 环境变量,在编译命令中还需添加相关参数,例如:`-DboostIncludeDir="C:\Program Files (x86)\boost_1_78_0" -DboostLibraryDir="C:\Program Files (x86)\boost_1_78_0\stage\lib"` diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md index 17e09aa0f..74ad41922 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # 资源规划 ## CPU + @@ -77,10 +78,12 @@ +
序列数(采集频率<=1HZ) CPU1000w以上 请联系天谋商务咨询
## 内存 + @@ -137,12 +140,14 @@ +
序列数(采集频率<=1HZ) 内存1000w以上 请联系天谋商务咨询
## 存储(磁盘) ### 存储空间 计算公式:测点数量 * 采样频率(Hz)* 每个数据点大小(Byte,不同数据类型不一样,见下表) + @@ -176,6 +181,7 @@ +
数据点大小计算表
平均为a 8+a
示例:1000设备,每个设备100 测点,共 100000 序列,INT32 类型。采样频率1Hz(每秒一次),存储1年,3副本。 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md index 75be11d69..63b85c165 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md @@ -90,7 +90,8 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 建议的磁盘分区方式如下表所示。 - + + @@ -125,6 +126,7 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 +
硬盘分类 磁盘组 对应盘符
......
### 网络配置 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md index cf17d08d5..245593b26 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -44,7 +44,8 @@ 1. 打开监控配置项。IoTDB中监控有关的配置项默认是关闭的,在部署监控面板前,您需要打开相关配置项(注意开启监控配置后需要重启服务)。 - + + @@ -92,7 +93,8 @@ -
配置项 所在配置文件 配置说明audit_log_operation 请在配置文件中添加该配置项,值设置为DML,DDL,QUERY
+ + 2. 重启所有节点。修改3个节点的监控指标配置后,可重新启动所有节点的confignode和datanode服务: diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index fe001d7e5..efbcbaaf9 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -79,7 +79,8 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 配置内容如下: - + + @@ -150,6 +151,7 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 +
名称 含义 默认值保持默认即可
diff --git a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md index b5fa25b21..d108342b1 100644 --- a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -81,8 +81,8 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 详细功能对比如下: - - + + @@ -206,6 +206,7 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 +
功能
功能 Apache IoTDB TimechoDB
×
### 更高效/稳定的产品性能 diff --git a/src/zh/UserGuide/Master/Tree/Reference/Syntax-Rule.md b/src/zh/UserGuide/Master/Tree/Reference/Syntax-Rule.md index 1579bc525..6faaa277c 100644 --- a/src/zh/UserGuide/Master/Tree/Reference/Syntax-Rule.md +++ b/src/zh/UserGuide/Master/Tree/Reference/Syntax-Rule.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md b/src/zh/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md index 08659116a..ed67d75ae 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md @@ -5,8 +5,8 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列文件格式)格式的数据导入数据库。具体功能如下: - - + + @@ -29,6 +29,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列 +
文件格式
文件格式 IoTDB工具 具体介绍
TsFile 主动监听&加载功能 根据用户配置,监听指定路径下TsFile文件的变化,将新增加的TsFile文件加载入IoTDB
## 2. import-data 脚本 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md index b882513b9..0ce0c4ee8 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md @@ -37,8 +37,8 @@ 通过 SQL 语句声明式地配置 3 个部分的具体内容,可实现灵活的数据同步能力。目前数据同步支持以下信息的同步,您可以在创建同步任务时对同步范围进行选择(默认选择 data.insert,即同步新写入的数据): - - + + @@ -73,6 +73,7 @@ +
同步范围
同步范围 同步内容 说明
- 同步用户权限和访问控制
### 功能限制及说明 @@ -213,8 +214,8 @@ IoTDB> SHOW PIPEPLUGINS 预置插件详细介绍如下(各插件的详细参数可参考本文[参数说明](#参考参数说明)): - - + + @@ -251,6 +252,7 @@ IoTDB> SHOW PIPEPLUGINS +
类型
类型 自定义插件 插件名称 介绍用于 IoTDB(V1.3.1 及以上)与 IoTDB(V1.2.0 及以上)之间的数据传输。使用 Thrift RPC 框架传输数据,单线程 sync blocking IO 模型,适用于安全需求较高的场景 1.3.1+
导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md index db6e76bd2..9472acc79 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md @@ -37,8 +37,8 @@ 通过 SQL 语句声明式地配置 3 个部分的具体内容,可实现灵活的数据同步能力。目前数据同步支持以下信息的同步,您可以在创建同步任务时对同步范围进行选择(默认选择 data.insert,即同步新写入的数据): - - + + @@ -73,6 +73,7 @@ +
同步范围
同步范围 同步内容 说明
- 同步用户权限和访问控制
### 功能限制及说明 @@ -216,8 +217,8 @@ IoTDB> SHOW PIPEPLUGINS - - + + @@ -259,6 +260,7 @@ IoTDB> SHOW PIPEPLUGINS +
类型
类型 自定义插件 插件名称 介绍用于 IoTDB(V1.3.1 及以上)与 IoTDB(V1.2.0 及以上)之间的数据传输。使用 Thrift RPC 框架传输数据,单线程 sync blocking IO 模型,适用于安全需求较高的场景 1.3.1+
导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md b/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md index 7c085f60b..237031ae4 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md @@ -7,8 +7,8 @@ UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内 IoTDB 支持两种类型的 UDF 函数,如下表所示。 - - + + @@ -26,6 +26,7 @@ IoTDB 支持两种类型的 UDF 函数,如下表所示。 +
UDF 分类
UDF 分类 数据访问策略 描述
- 自定义聚合函数,输入 k 列时间序列 m 行数据,输出 1 列时间序列 1 行数据,可用于聚合函数出现的任何子句和表达式中,如select子句、having子句等。
### 1.1 UDF 使用 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md index 2125951b9..05c253517 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md @@ -7,8 +7,8 @@ UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内 IoTDB 支持两种类型的 UDF 函数,如下表所示。 - - + + @@ -26,6 +26,7 @@ IoTDB 支持两种类型的 UDF 函数,如下表所示。 +
UDF 分类
UDF 分类 数据访问策略 描述
- 自定义聚合函数,输入 k 列时间序列 m 行数据,输出 1 列时间序列 1 行数据,可用于聚合函数出现的任何子句和表达式中,如select子句、having子句等。
### 1.1 UDF 使用 diff --git a/src/zh/UserGuide/Master/Tree/stage/Edge-Cloud-Collaboration/Sync-Tool.md b/src/zh/UserGuide/Master/Tree/stage/Edge-Cloud-Collaboration/Sync-Tool.md index 1ead9f51f..08a4f51e7 100644 --- a/src/zh/UserGuide/Master/Tree/stage/Edge-Cloud-Collaboration/Sync-Tool.md +++ b/src/zh/UserGuide/Master/Tree/stage/Edge-Cloud-Collaboration/Sync-Tool.md @@ -124,7 +124,7 @@ IoTDB> DROP PIPE my_pipe - 显示当前所能支持的 PipeSink 类型。 -```Plain%20Text +``` IoTDB> SHOW PIPESINKTYPE IoTDB> +-----+ @@ -170,7 +170,7 @@ IoTDB> - 创建同步任务 - 其中 select 语句目前仅支持`**`(即所有序列中的数据),from 语句目前仅支持`root`,where语句仅支持指定 time 的起始时间。起始时间的指定形式可以是 yyyy-mm-dd HH:MM:SS或时间戳。 -```Plain%20Text +``` IoTDB> CREATE PIPE my_pipe TO my_iotdb [FROM (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS)] ``` @@ -227,7 +227,7 @@ IoTDB> DROP PIPE - ERROR 状态,这表明出现了网络连接正常但数据无法传输的问题,例如发送端 IP 不在接收端白名单中,或是发送端与接收端版本不兼容 - 当出现 ERROR 状态时,建议 STOP PIPE 后查看 DataNode 日志,检查接收端配置或网络情况后重新 START PIPE -```Plain%20Text +``` IoTDB> SHOW PIPES IoTDB> +-----------------------+--------+--------+-------------+---------+------------------------------------+-------+ @@ -287,7 +287,7 @@ IoTDB> CREATE PIPE p TO my_iotdb FROM (select ** from root where time>= 16485696 启动Pipe -```Plain%20Text +``` IoTDB> START PIPE p ``` @@ -318,7 +318,7 @@ flush; 在发送端和接受端执行查询,可查询到相同的结果 -```Plain%20Text +``` IoTDB> select ** from root.vehicle +-----------------------------+------------------+------------------+------------------+------------------+ | Time|root.vehicle.d0.s0|root.vehicle.d0.s1|root.vehicle.d1.s3|root.vehicle.d1.s2| diff --git a/src/zh/UserGuide/Master/Tree/stage/Syntax-Conventions/Literal-Values.md b/src/zh/UserGuide/Master/Tree/stage/Syntax-Conventions/Literal-Values.md index f2ad963bd..62753a6da 100644 --- a/src/zh/UserGuide/Master/Tree/stage/Syntax-Conventions/Literal-Values.md +++ b/src/zh/UserGuide/Master/Tree/stage/Syntax-Conventions/Literal-Values.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/V0.13.x/Process-Data/Triggers.md b/src/zh/UserGuide/V0.13.x/Process-Data/Triggers.md index 0bf171390..7e7787953 100644 --- a/src/zh/UserGuide/V0.13.x/Process-Data/Triggers.md +++ b/src/zh/UserGuide/V0.13.x/Process-Data/Triggers.md @@ -528,9 +528,7 @@ AlertManagerEvent(String alertname, Map extraLabels, Map}} +* `annotations` 可选传,它的 value 值可使用 Go 语言模板风格的 `{{.}}` ``` 它在最终生成消息时会被替换为 `labels[]`。 * `labels` 和 `annotations` 会被解析成 json 字符串发送给 `AlertManager`: diff --git a/src/zh/UserGuide/V1.1.x/Edge-Cloud-Collaboration/Sync-Tool.md b/src/zh/UserGuide/V1.1.x/Edge-Cloud-Collaboration/Sync-Tool.md index 78ea9adbd..d9ee3e2cd 100644 --- a/src/zh/UserGuide/V1.1.x/Edge-Cloud-Collaboration/Sync-Tool.md +++ b/src/zh/UserGuide/V1.1.x/Edge-Cloud-Collaboration/Sync-Tool.md @@ -124,7 +124,7 @@ IoTDB> DROP PIPE my_pipe - 显示当前所能支持的 PipeSink 类型。 -```Plain%20Text +``` IoTDB> SHOW PIPESINKTYPE IoTDB> +-----+ @@ -170,7 +170,7 @@ IoTDB> - 创建同步任务 - 其中 select 语句目前仅支持`**`(即所有序列中的数据),from 语句目前仅支持`root`,where语句仅支持指定 time 的起始时间。起始时间的指定形式可以是 yyyy-mm-dd HH:MM:SS或时间戳。 -```Plain%20Text +``` IoTDB> CREATE PIPE my_pipe TO my_iotdb [FROM (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS)] ``` @@ -227,7 +227,7 @@ IoTDB> DROP PIPE - ERROR 状态,这表明出现了网络连接正常但数据无法传输的问题,例如发送端 IP 不在接收端白名单中,或是发送端与接收端版本不兼容 - 当出现 ERROR 状态时,建议 STOP PIPE 后查看 DataNode 日志,检查接收端配置或网络情况后重新 START PIPE -```Plain%20Text +``` IoTDB> SHOW PIPES IoTDB> +-----------------------+--------+--------+-------------+---------+------------------------------------+-------+ @@ -287,7 +287,7 @@ IoTDB> CREATE PIPE p TO my_iotdb FROM (select ** from root where time>= 16485696 启动Pipe -```Plain%20Text +``` IoTDB> START PIPE p ``` @@ -318,7 +318,7 @@ flush; 在发送端和接受端执行查询,可查询到相同的结果 -```Plain%20Text +``` IoTDB> select ** from root.vehicle +-----------------------------+------------------+------------------+------------------+------------------+ | Time|root.vehicle.d0.s0|root.vehicle.d0.s1|root.vehicle.d1.s3|root.vehicle.d1.s2| diff --git a/src/zh/UserGuide/V1.1.x/Syntax-Conventions/Literal-Values.md b/src/zh/UserGuide/V1.1.x/Syntax-Conventions/Literal-Values.md index f2ad963bd..62753a6da 100644 --- a/src/zh/UserGuide/V1.1.x/Syntax-Conventions/Literal-Values.md +++ b/src/zh/UserGuide/V1.1.x/Syntax-Conventions/Literal-Values.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/V1.2.x/User-Manual/Syntax-Rule.md b/src/zh/UserGuide/V1.2.x/User-Manual/Syntax-Rule.md index 2105dfe7f..53c26cb41 100644 --- a/src/zh/UserGuide/V1.2.x/User-Manual/Syntax-Rule.md +++ b/src/zh/UserGuide/V1.2.x/User-Manual/Syntax-Rule.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/V1.2.x/stage/Edge-Cloud-Collaboration/Sync-Tool.md b/src/zh/UserGuide/V1.2.x/stage/Edge-Cloud-Collaboration/Sync-Tool.md index 78ea9adbd..d9ee3e2cd 100644 --- a/src/zh/UserGuide/V1.2.x/stage/Edge-Cloud-Collaboration/Sync-Tool.md +++ b/src/zh/UserGuide/V1.2.x/stage/Edge-Cloud-Collaboration/Sync-Tool.md @@ -124,7 +124,7 @@ IoTDB> DROP PIPE my_pipe - 显示当前所能支持的 PipeSink 类型。 -```Plain%20Text +``` IoTDB> SHOW PIPESINKTYPE IoTDB> +-----+ @@ -170,7 +170,7 @@ IoTDB> - 创建同步任务 - 其中 select 语句目前仅支持`**`(即所有序列中的数据),from 语句目前仅支持`root`,where语句仅支持指定 time 的起始时间。起始时间的指定形式可以是 yyyy-mm-dd HH:MM:SS或时间戳。 -```Plain%20Text +``` IoTDB> CREATE PIPE my_pipe TO my_iotdb [FROM (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS)] ``` @@ -227,7 +227,7 @@ IoTDB> DROP PIPE - ERROR 状态,这表明出现了网络连接正常但数据无法传输的问题,例如发送端 IP 不在接收端白名单中,或是发送端与接收端版本不兼容 - 当出现 ERROR 状态时,建议 STOP PIPE 后查看 DataNode 日志,检查接收端配置或网络情况后重新 START PIPE -```Plain%20Text +``` IoTDB> SHOW PIPES IoTDB> +-----------------------+--------+--------+-------------+---------+------------------------------------+-------+ @@ -287,7 +287,7 @@ IoTDB> CREATE PIPE p TO my_iotdb FROM (select ** from root where time>= 16485696 启动Pipe -```Plain%20Text +``` IoTDB> START PIPE p ``` @@ -318,7 +318,7 @@ flush; 在发送端和接受端执行查询,可查询到相同的结果 -```Plain%20Text +``` IoTDB> select ** from root.vehicle +-----------------------------+------------------+------------------+------------------+------------------+ | Time|root.vehicle.d0.s0|root.vehicle.d0.s1|root.vehicle.d1.s3|root.vehicle.d1.s2| diff --git a/src/zh/UserGuide/V1.2.x/stage/Syntax-Conventions/Literal-Values.md b/src/zh/UserGuide/V1.2.x/stage/Syntax-Conventions/Literal-Values.md index f2ad963bd..62753a6da 100644 --- a/src/zh/UserGuide/V1.2.x/stage/Syntax-Conventions/Literal-Values.md +++ b/src/zh/UserGuide/V1.2.x/stage/Syntax-Conventions/Literal-Values.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/V1.3.0-2/API/Programming-Cpp-Native-API.md b/src/zh/UserGuide/V1.3.0-2/API/Programming-Cpp-Native-API.md index 19fce9ddf..ba499ff45 100644 --- a/src/zh/UserGuide/V1.3.0-2/API/Programming-Cpp-Native-API.md +++ b/src/zh/UserGuide/V1.3.0-2/API/Programming-Cpp-Native-API.md @@ -125,12 +125,12 @@ git checkout rc/1.3.2 ``` - 使用 Visual Studio 2022 的 Windows - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp ``` - 使用 Visual Studio 2019 的 Windows - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 16 2019" -Diotdb-tools-thrift.version=0.14.1.1-msvc142-SNAPSHOT ``` - 如果没有将 Boost 库地址加入 PATH 环境变量,在编译命令中还需添加相关参数,例如:`-DboostIncludeDir="C:\Program Files (x86)\boost_1_78_0" -DboostLibraryDir="C:\Program Files (x86)\boost_1_78_0\stage\lib"` diff --git a/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Database-Resources.md b/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Database-Resources.md index 839360242..cbe3f2712 100644 --- a/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Database-Resources.md +++ b/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # 资源规划 ## CPU + @@ -77,10 +78,12 @@ +
序列数(采集频率<=1HZ) CPU1000w以上 请联系天谋商务咨询
## 内存 + @@ -137,12 +140,14 @@ +
序列数(采集频率<=1HZ) 内存1000w以上 请联系天谋商务咨询
## 存储(磁盘) ### 存储空间 计算公式:测点数量 * 采样频率(Hz)* 每个数据点大小(Byte,不同数据类型不一样,见下表) + @@ -176,6 +181,7 @@ +
数据点大小计算表
平均为a 8+a
diff --git a/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Environment-Requirements.md b/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Environment-Requirements.md index 75be11d69..63b85c165 100644 --- a/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/Environment-Requirements.md @@ -90,7 +90,8 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 建议的磁盘分区方式如下表所示。 - + + @@ -125,6 +126,7 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 +
硬盘分类 磁盘组 对应盘符
......
### 网络配置 diff --git a/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/workbench-deployment_timecho.md index 0976604ef..5af9dad7d 100644 --- a/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/V1.3.0-2/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -43,7 +43,8 @@ 1. 打开监控配置项。IoTDB中监控有关的配置项默认是关闭的,在部署监控面板前,您需要打开相关配置项(注意开启监控配置后需要重启服务)。 - + + @@ -91,7 +92,8 @@ -
配置项 所在配置文件 配置说明audit_log_operation 将配置项取消注释
+ + 2. 重启所有节点。修改3个节点的监控指标配置后,可重新启动所有节点的confignode和datanode服务: diff --git a/src/zh/UserGuide/V1.3.0-2/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/zh/UserGuide/V1.3.0-2/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index 0da72fbc9..92c6fef6b 100644 --- a/src/zh/UserGuide/V1.3.0-2/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/zh/UserGuide/V1.3.0-2/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -79,7 +79,8 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 配置内容如下: - + + @@ -150,6 +151,7 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 +
名称 含义 默认值保持默认即可
diff --git a/src/zh/UserGuide/V1.3.0-2/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/zh/UserGuide/V1.3.0-2/IoTDB-Introduction/IoTDB-Introduction_timecho.md index 9c73e8f51..6a8b57c52 100644 --- a/src/zh/UserGuide/V1.3.0-2/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/zh/UserGuide/V1.3.0-2/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -81,8 +81,8 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 详细功能对比如下: - - + + @@ -206,6 +206,7 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 +
功能
功能 Apache IoTDB TimechoDB
×
### 更高效/稳定的产品性能 diff --git a/src/zh/UserGuide/V1.3.0-2/User-Manual/Data-Sync_apache.md b/src/zh/UserGuide/V1.3.0-2/User-Manual/Data-Sync_apache.md index 7c82a8582..e91c2e18c 100644 --- a/src/zh/UserGuide/V1.3.0-2/User-Manual/Data-Sync_apache.md +++ b/src/zh/UserGuide/V1.3.0-2/User-Manual/Data-Sync_apache.md @@ -37,8 +37,8 @@ 通过 SQL 语句声明式地配置 3 个部分的具体内容,可实现灵活的数据同步能力。目前数据同步支持以下信息的同步,您可以在创建同步任务时对同步范围进行选择(默认选择 data.insert,即同步新写入的数据): - - + + @@ -73,6 +73,7 @@ +
同步范围
同步范围 同步内容 说明
- 同步用户权限和访问控制
### 功能限制及说明 @@ -215,8 +216,8 @@ IoTDB> SHOW PIPEPLUGINS - - + + @@ -253,6 +254,7 @@ IoTDB> SHOW PIPEPLUGINS +
类型
类型 自定义插件 插件名称 介绍用于 IoTDB(V1.3.1 及以上)与 IoTDB(V1.2.0 及以上)之间的数据传输。使用 Thrift RPC 框架传输数据,单线程 sync blocking IO 模型,适用于安全需求较高的场景 1.3.1+
导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 diff --git a/src/zh/UserGuide/V1.3.0-2/User-Manual/Data-Sync_timecho.md b/src/zh/UserGuide/V1.3.0-2/User-Manual/Data-Sync_timecho.md index b22db4067..bd94fef6d 100644 --- a/src/zh/UserGuide/V1.3.0-2/User-Manual/Data-Sync_timecho.md +++ b/src/zh/UserGuide/V1.3.0-2/User-Manual/Data-Sync_timecho.md @@ -37,8 +37,8 @@ 通过 SQL 语句声明式地配置 3 个部分的具体内容,可实现灵活的数据同步能力。目前数据同步支持以下信息的同步,您可以在创建同步任务时对同步范围进行选择(默认选择 data.insert,即同步新写入的数据): - - + + @@ -73,6 +73,7 @@ +
同步范围
同步范围 同步内容 说明
- 同步用户权限和访问控制
### 功能限制及说明 @@ -218,8 +219,8 @@ IoTDB> SHOW PIPEPLUGINS - - + + @@ -261,6 +262,7 @@ IoTDB> SHOW PIPEPLUGINS +
类型
类型 自定义插件 插件名称 介绍用于 IoTDB(V1.3.1 及以上)与 IoTDB(V1.2.0 及以上)之间的数据传输。使用 Thrift RPC 框架传输数据,单线程 sync blocking IO 模型,适用于安全需求较高的场景 1.3.1+
导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 diff --git a/src/zh/UserGuide/V1.3.0-2/User-Manual/Syntax-Rule.md b/src/zh/UserGuide/V1.3.0-2/User-Manual/Syntax-Rule.md index 379bc26cf..e05c1c776 100644 --- a/src/zh/UserGuide/V1.3.0-2/User-Manual/Syntax-Rule.md +++ b/src/zh/UserGuide/V1.3.0-2/User-Manual/Syntax-Rule.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/V1.3.0-2/User-Manual/User-defined-function.md b/src/zh/UserGuide/V1.3.0-2/User-Manual/User-defined-function.md index d2eddcea7..c74a5f86f 100644 --- a/src/zh/UserGuide/V1.3.0-2/User-Manual/User-defined-function.md +++ b/src/zh/UserGuide/V1.3.0-2/User-Manual/User-defined-function.md @@ -7,8 +7,8 @@ UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内 IoTDB 支持两种类型的 UDF 函数,如下表所示。 - - + + @@ -26,6 +26,7 @@ IoTDB 支持两种类型的 UDF 函数,如下表所示。 +
UDF 分类
UDF 分类 数据访问策略 描述
- 自定义聚合函数,输入 k 列时间序列 m 行数据,输出 1 列时间序列 1 行数据,可用于聚合函数出现的任何子句和表达式中,如select子句、having子句等。
### 1.1 UDF 使用 diff --git a/src/zh/UserGuide/V1.3.0-2/stage/Edge-Cloud-Collaboration/Sync-Tool.md b/src/zh/UserGuide/V1.3.0-2/stage/Edge-Cloud-Collaboration/Sync-Tool.md index 03d4a3188..555e92e0e 100644 --- a/src/zh/UserGuide/V1.3.0-2/stage/Edge-Cloud-Collaboration/Sync-Tool.md +++ b/src/zh/UserGuide/V1.3.0-2/stage/Edge-Cloud-Collaboration/Sync-Tool.md @@ -124,7 +124,7 @@ IoTDB> DROP PIPE my_pipe - 显示当前所能支持的 PipeSink 类型。 -```Plain%20Text +``` IoTDB> SHOW PIPESINKTYPE IoTDB> +-----+ @@ -170,7 +170,7 @@ IoTDB> - 创建同步任务 - 其中 select 语句目前仅支持`**`(即所有序列中的数据),from 语句目前仅支持`root`,where语句仅支持指定 time 的起始时间。起始时间的指定形式可以是 yyyy-mm-dd HH:MM:SS或时间戳。 -```Plain%20Text +``` IoTDB> CREATE PIPE my_pipe TO my_iotdb [FROM (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS)] ``` @@ -227,7 +227,7 @@ IoTDB> DROP PIPE - ERROR 状态,这表明出现了网络连接正常但数据无法传输的问题,例如发送端 IP 不在接收端白名单中,或是发送端与接收端版本不兼容 - 当出现 ERROR 状态时,建议 STOP PIPE 后查看 DataNode 日志,检查接收端配置或网络情况后重新 START PIPE -```Plain%20Text +``` IoTDB> SHOW PIPES IoTDB> +-----------------------+--------+--------+-------------+---------+------------------------------------+-------+ @@ -287,7 +287,7 @@ IoTDB> CREATE PIPE p TO my_iotdb FROM (select ** from root where time>= 16485696 启动Pipe -```Plain%20Text +``` IoTDB> START PIPE p ``` @@ -318,7 +318,7 @@ flush; 在发送端和接受端执行查询,可查询到相同的结果 -```Plain%20Text +``` IoTDB> select ** from root.vehicle +-----------------------------+------------------+------------------+------------------+------------------+ | Time|root.vehicle.d0.s0|root.vehicle.d0.s1|root.vehicle.d1.s3|root.vehicle.d1.s2| diff --git a/src/zh/UserGuide/V1.3.0-2/stage/Syntax-Conventions/Literal-Values.md b/src/zh/UserGuide/V1.3.0-2/stage/Syntax-Conventions/Literal-Values.md index f2ad963bd..62753a6da 100644 --- a/src/zh/UserGuide/V1.3.0-2/stage/Syntax-Conventions/Literal-Values.md +++ b/src/zh/UserGuide/V1.3.0-2/stage/Syntax-Conventions/Literal-Values.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Database-Resources.md b/src/zh/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Database-Resources.md index 17e09aa0f..74ad41922 100644 --- a/src/zh/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Database-Resources.md +++ b/src/zh/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # 资源规划 ## CPU + @@ -77,10 +78,12 @@ +
序列数(采集频率<=1HZ) CPU1000w以上 请联系天谋商务咨询
## 内存 + @@ -137,12 +140,14 @@ +
序列数(采集频率<=1HZ) 内存1000w以上 请联系天谋商务咨询
## 存储(磁盘) ### 存储空间 计算公式:测点数量 * 采样频率(Hz)* 每个数据点大小(Byte,不同数据类型不一样,见下表) + @@ -176,6 +181,7 @@ +
数据点大小计算表
平均为a 8+a
示例:1000设备,每个设备100 测点,共 100000 序列,INT32 类型。采样频率1Hz(每秒一次),存储1年,3副本。 diff --git a/src/zh/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Environment-Requirements.md b/src/zh/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Environment-Requirements.md index 99c5b14cc..2bfbc16c4 100644 --- a/src/zh/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/zh/UserGuide/V2.0.1/Table/Deployment-and-Maintenance/Environment-Requirements.md @@ -90,7 +90,8 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 建议的磁盘分区方式如下表所示。 - + + @@ -125,6 +126,7 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 +
硬盘分类 磁盘组 对应盘符
......
### 网络配置 diff --git a/src/zh/UserGuide/V2.0.1/Tree/API/Programming-Cpp-Native-API.md b/src/zh/UserGuide/V2.0.1/Tree/API/Programming-Cpp-Native-API.md index 77636edfd..5f02f2e65 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/API/Programming-Cpp-Native-API.md +++ b/src/zh/UserGuide/V2.0.1/Tree/API/Programming-Cpp-Native-API.md @@ -124,12 +124,12 @@ git checkout rc/1.3.2 ``` - 使用 Visual Studio 2022 的 Windows - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp ``` - 使用 Visual Studio 2019 的 Windows - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 16 2019" -Diotdb-tools-thrift.version=0.14.1.1-msvc142-SNAPSHOT ``` - 如果没有将 Boost 库地址加入 PATH 环境变量,在编译命令中还需添加相关参数,例如:`-DboostIncludeDir="C:\Program Files (x86)\boost_1_78_0" -DboostLibraryDir="C:\Program Files (x86)\boost_1_78_0\stage\lib"` diff --git a/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Database-Resources.md b/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Database-Resources.md index 17e09aa0f..74ad41922 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Database-Resources.md +++ b/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # 资源规划 ## CPU + @@ -77,10 +78,12 @@ +
序列数(采集频率<=1HZ) CPU1000w以上 请联系天谋商务咨询
## 内存 + @@ -137,12 +140,14 @@ +
序列数(采集频率<=1HZ) 内存1000w以上 请联系天谋商务咨询
## 存储(磁盘) ### 存储空间 计算公式:测点数量 * 采样频率(Hz)* 每个数据点大小(Byte,不同数据类型不一样,见下表) + @@ -176,6 +181,7 @@ +
数据点大小计算表
平均为a 8+a
示例:1000设备,每个设备100 测点,共 100000 序列,INT32 类型。采样频率1Hz(每秒一次),存储1年,3副本。 diff --git a/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Environment-Requirements.md b/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Environment-Requirements.md index 75be11d69..63b85c165 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/Environment-Requirements.md @@ -90,7 +90,8 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 建议的磁盘分区方式如下表所示。 - + + @@ -125,6 +126,7 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 +
硬盘分类 磁盘组 对应盘符
......
### 网络配置 diff --git a/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md index cf17d08d5..245593b26 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/V2.0.1/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -44,7 +44,8 @@ 1. 打开监控配置项。IoTDB中监控有关的配置项默认是关闭的,在部署监控面板前,您需要打开相关配置项(注意开启监控配置后需要重启服务)。 - + + @@ -92,7 +93,8 @@ -
配置项 所在配置文件 配置说明audit_log_operation 请在配置文件中添加该配置项,值设置为DML,DDL,QUERY
+ + 2. 重启所有节点。修改3个节点的监控指标配置后,可重新启动所有节点的confignode和datanode服务: diff --git a/src/zh/UserGuide/V2.0.1/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/zh/UserGuide/V2.0.1/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index fe001d7e5..efbcbaaf9 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/zh/UserGuide/V2.0.1/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -79,7 +79,8 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 配置内容如下: - + + @@ -150,6 +151,7 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 +
名称 含义 默认值保持默认即可
diff --git a/src/zh/UserGuide/V2.0.1/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/zh/UserGuide/V2.0.1/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md index b5fa25b21..d108342b1 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/zh/UserGuide/V2.0.1/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -81,8 +81,8 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 详细功能对比如下: - - + + @@ -206,6 +206,7 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 +
功能
功能 Apache IoTDB TimechoDB
×
### 更高效/稳定的产品性能 diff --git a/src/zh/UserGuide/V2.0.1/Tree/Reference/Syntax-Rule.md b/src/zh/UserGuide/V2.0.1/Tree/Reference/Syntax-Rule.md index 1579bc525..6faaa277c 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/Reference/Syntax-Rule.md +++ b/src/zh/UserGuide/V2.0.1/Tree/Reference/Syntax-Rule.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/V2.0.1/Tree/Tools-System/Data-Import-Tool.md b/src/zh/UserGuide/V2.0.1/Tree/Tools-System/Data-Import-Tool.md index 08659116a..ed67d75ae 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/Tools-System/Data-Import-Tool.md +++ b/src/zh/UserGuide/V2.0.1/Tree/Tools-System/Data-Import-Tool.md @@ -5,8 +5,8 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列文件格式)格式的数据导入数据库。具体功能如下: - - + + @@ -29,6 +29,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列 +
文件格式
文件格式 IoTDB工具 具体介绍
TsFile 主动监听&加载功能 根据用户配置,监听指定路径下TsFile文件的变化,将新增加的TsFile文件加载入IoTDB
## 2. import-data 脚本 diff --git a/src/zh/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_apache.md b/src/zh/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_apache.md index b882513b9..0ce0c4ee8 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_apache.md +++ b/src/zh/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_apache.md @@ -37,8 +37,8 @@ 通过 SQL 语句声明式地配置 3 个部分的具体内容,可实现灵活的数据同步能力。目前数据同步支持以下信息的同步,您可以在创建同步任务时对同步范围进行选择(默认选择 data.insert,即同步新写入的数据): - - + + @@ -73,6 +73,7 @@ +
同步范围
同步范围 同步内容 说明
- 同步用户权限和访问控制
### 功能限制及说明 @@ -213,8 +214,8 @@ IoTDB> SHOW PIPEPLUGINS 预置插件详细介绍如下(各插件的详细参数可参考本文[参数说明](#参考参数说明)): - - + + @@ -251,6 +252,7 @@ IoTDB> SHOW PIPEPLUGINS +
类型
类型 自定义插件 插件名称 介绍用于 IoTDB(V1.3.1 及以上)与 IoTDB(V1.2.0 及以上)之间的数据传输。使用 Thrift RPC 框架传输数据,单线程 sync blocking IO 模型,适用于安全需求较高的场景 1.3.1+
导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 diff --git a/src/zh/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_timecho.md b/src/zh/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_timecho.md index db6e76bd2..9472acc79 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_timecho.md +++ b/src/zh/UserGuide/V2.0.1/Tree/User-Manual/Data-Sync_timecho.md @@ -37,8 +37,8 @@ 通过 SQL 语句声明式地配置 3 个部分的具体内容,可实现灵活的数据同步能力。目前数据同步支持以下信息的同步,您可以在创建同步任务时对同步范围进行选择(默认选择 data.insert,即同步新写入的数据): - - + + @@ -73,6 +73,7 @@ +
同步范围
同步范围 同步内容 说明
- 同步用户权限和访问控制
### 功能限制及说明 @@ -216,8 +217,8 @@ IoTDB> SHOW PIPEPLUGINS - - + + @@ -259,6 +260,7 @@ IoTDB> SHOW PIPEPLUGINS +
类型
类型 自定义插件 插件名称 介绍用于 IoTDB(V1.3.1 及以上)与 IoTDB(V1.2.0 及以上)之间的数据传输。使用 Thrift RPC 框架传输数据,单线程 sync blocking IO 模型,适用于安全需求较高的场景 1.3.1+
导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 diff --git a/src/zh/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_apache.md b/src/zh/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_apache.md index 7c085f60b..237031ae4 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_apache.md +++ b/src/zh/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_apache.md @@ -7,8 +7,8 @@ UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内 IoTDB 支持两种类型的 UDF 函数,如下表所示。 - - + + @@ -26,6 +26,7 @@ IoTDB 支持两种类型的 UDF 函数,如下表所示。 +
UDF 分类
UDF 分类 数据访问策略 描述
- 自定义聚合函数,输入 k 列时间序列 m 行数据,输出 1 列时间序列 1 行数据,可用于聚合函数出现的任何子句和表达式中,如select子句、having子句等。
### 1.1 UDF 使用 diff --git a/src/zh/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_timecho.md b/src/zh/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_timecho.md index 2125951b9..05c253517 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_timecho.md +++ b/src/zh/UserGuide/V2.0.1/Tree/User-Manual/User-defined-function_timecho.md @@ -7,8 +7,8 @@ UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内 IoTDB 支持两种类型的 UDF 函数,如下表所示。 - - + + @@ -26,6 +26,7 @@ IoTDB 支持两种类型的 UDF 函数,如下表所示。 +
UDF 分类
UDF 分类 数据访问策略 描述
- 自定义聚合函数,输入 k 列时间序列 m 行数据,输出 1 列时间序列 1 行数据,可用于聚合函数出现的任何子句和表达式中,如select子句、having子句等。
### 1.1 UDF 使用 diff --git a/src/zh/UserGuide/V2.0.1/Tree/stage/Edge-Cloud-Collaboration/Sync-Tool.md b/src/zh/UserGuide/V2.0.1/Tree/stage/Edge-Cloud-Collaboration/Sync-Tool.md index 1ead9f51f..08a4f51e7 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/stage/Edge-Cloud-Collaboration/Sync-Tool.md +++ b/src/zh/UserGuide/V2.0.1/Tree/stage/Edge-Cloud-Collaboration/Sync-Tool.md @@ -124,7 +124,7 @@ IoTDB> DROP PIPE my_pipe - 显示当前所能支持的 PipeSink 类型。 -```Plain%20Text +``` IoTDB> SHOW PIPESINKTYPE IoTDB> +-----+ @@ -170,7 +170,7 @@ IoTDB> - 创建同步任务 - 其中 select 语句目前仅支持`**`(即所有序列中的数据),from 语句目前仅支持`root`,where语句仅支持指定 time 的起始时间。起始时间的指定形式可以是 yyyy-mm-dd HH:MM:SS或时间戳。 -```Plain%20Text +``` IoTDB> CREATE PIPE my_pipe TO my_iotdb [FROM (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS)] ``` @@ -227,7 +227,7 @@ IoTDB> DROP PIPE - ERROR 状态,这表明出现了网络连接正常但数据无法传输的问题,例如发送端 IP 不在接收端白名单中,或是发送端与接收端版本不兼容 - 当出现 ERROR 状态时,建议 STOP PIPE 后查看 DataNode 日志,检查接收端配置或网络情况后重新 START PIPE -```Plain%20Text +``` IoTDB> SHOW PIPES IoTDB> +-----------------------+--------+--------+-------------+---------+------------------------------------+-------+ @@ -287,7 +287,7 @@ IoTDB> CREATE PIPE p TO my_iotdb FROM (select ** from root where time>= 16485696 启动Pipe -```Plain%20Text +``` IoTDB> START PIPE p ``` @@ -318,7 +318,7 @@ flush; 在发送端和接受端执行查询,可查询到相同的结果 -```Plain%20Text +``` IoTDB> select ** from root.vehicle +-----------------------------+------------------+------------------+------------------+------------------+ | Time|root.vehicle.d0.s0|root.vehicle.d0.s1|root.vehicle.d1.s3|root.vehicle.d1.s2| diff --git a/src/zh/UserGuide/V2.0.1/Tree/stage/Syntax-Conventions/Literal-Values.md b/src/zh/UserGuide/V2.0.1/Tree/stage/Syntax-Conventions/Literal-Values.md index f2ad963bd..62753a6da 100644 --- a/src/zh/UserGuide/V2.0.1/Tree/stage/Syntax-Conventions/Literal-Values.md +++ b/src/zh/UserGuide/V2.0.1/Tree/stage/Syntax-Conventions/Literal-Values.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/latest/API/Programming-Cpp-Native-API.md b/src/zh/UserGuide/latest/API/Programming-Cpp-Native-API.md index 77636edfd..5f02f2e65 100644 --- a/src/zh/UserGuide/latest/API/Programming-Cpp-Native-API.md +++ b/src/zh/UserGuide/latest/API/Programming-Cpp-Native-API.md @@ -124,12 +124,12 @@ git checkout rc/1.3.2 ``` - 使用 Visual Studio 2022 的 Windows - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp ``` - 使用 Visual Studio 2019 的 Windows - ```Batchfile + ```batch .\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 16 2019" -Diotdb-tools-thrift.version=0.14.1.1-msvc142-SNAPSHOT ``` - 如果没有将 Boost 库地址加入 PATH 环境变量,在编译命令中还需添加相关参数,例如:`-DboostIncludeDir="C:\Program Files (x86)\boost_1_78_0" -DboostLibraryDir="C:\Program Files (x86)\boost_1_78_0\stage\lib"` diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md index 17e09aa0f..74ad41922 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md @@ -21,6 +21,7 @@ # 资源规划 ## CPU + @@ -77,10 +78,12 @@ +
序列数(采集频率<=1HZ) CPU1000w以上 请联系天谋商务咨询
## 内存 + @@ -137,12 +140,14 @@ +
序列数(采集频率<=1HZ) 内存1000w以上 请联系天谋商务咨询
## 存储(磁盘) ### 存储空间 计算公式:测点数量 * 采样频率(Hz)* 每个数据点大小(Byte,不同数据类型不一样,见下表) + @@ -176,6 +181,7 @@ +
数据点大小计算表
平均为a 8+a
示例:1000设备,每个设备100 测点,共 100000 序列,INT32 类型。采样频率1Hz(每秒一次),存储1年,3副本。 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md index 75be11d69..63b85c165 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md @@ -90,7 +90,8 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 建议的磁盘分区方式如下表所示。 - + + @@ -125,6 +126,7 @@ IoTDB支持Linux、Windows、MacOS等操作系统,同时企业版支持龙芯 +
硬盘分类 磁盘组 对应盘符
......
### 网络配置 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md index cf17d08d5..245593b26 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -44,7 +44,8 @@ 1. 打开监控配置项。IoTDB中监控有关的配置项默认是关闭的,在部署监控面板前,您需要打开相关配置项(注意开启监控配置后需要重启服务)。 - + + @@ -92,7 +93,8 @@ -
配置项 所在配置文件 配置说明audit_log_operation 请在配置文件中添加该配置项,值设置为DML,DDL,QUERY
+ + 2. 重启所有节点。修改3个节点的监控指标配置后,可重新启动所有节点的confignode和datanode服务: diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index fe001d7e5..efbcbaaf9 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -79,7 +79,8 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 配置内容如下: - + + @@ -150,6 +151,7 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 +
名称 含义 默认值保持默认即可
diff --git a/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md index b5fa25b21..d108342b1 100644 --- a/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -81,8 +81,8 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 详细功能对比如下: - - + + @@ -206,6 +206,7 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 +
功能
功能 Apache IoTDB TimechoDB
×
### 更高效/稳定的产品性能 diff --git a/src/zh/UserGuide/latest/Reference/Syntax-Rule.md b/src/zh/UserGuide/latest/Reference/Syntax-Rule.md index 29571210f..dbf6d7e24 100644 --- a/src/zh/UserGuide/latest/Reference/Syntax-Rule.md +++ b/src/zh/UserGuide/latest/Reference/Syntax-Rule.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/src/zh/UserGuide/latest/Tools-System/Data-Import-Tool.md b/src/zh/UserGuide/latest/Tools-System/Data-Import-Tool.md index 08659116a..ed67d75ae 100644 --- a/src/zh/UserGuide/latest/Tools-System/Data-Import-Tool.md +++ b/src/zh/UserGuide/latest/Tools-System/Data-Import-Tool.md @@ -5,8 +5,8 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列文件格式)格式的数据导入数据库。具体功能如下: - - + + @@ -29,6 +29,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列 +
文件格式
文件格式 IoTDB工具 具体介绍
TsFile 主动监听&加载功能 根据用户配置,监听指定路径下TsFile文件的变化,将新增加的TsFile文件加载入IoTDB
## 2. import-data 脚本 diff --git a/src/zh/UserGuide/latest/User-Manual/Data-Sync_apache.md b/src/zh/UserGuide/latest/User-Manual/Data-Sync_apache.md index b882513b9..0ce0c4ee8 100644 --- a/src/zh/UserGuide/latest/User-Manual/Data-Sync_apache.md +++ b/src/zh/UserGuide/latest/User-Manual/Data-Sync_apache.md @@ -37,8 +37,8 @@ 通过 SQL 语句声明式地配置 3 个部分的具体内容,可实现灵活的数据同步能力。目前数据同步支持以下信息的同步,您可以在创建同步任务时对同步范围进行选择(默认选择 data.insert,即同步新写入的数据): - - + + @@ -73,6 +73,7 @@ +
同步范围
同步范围 同步内容 说明
- 同步用户权限和访问控制
### 功能限制及说明 @@ -213,8 +214,8 @@ IoTDB> SHOW PIPEPLUGINS 预置插件详细介绍如下(各插件的详细参数可参考本文[参数说明](#参考参数说明)): - - + + @@ -251,6 +252,7 @@ IoTDB> SHOW PIPEPLUGINS +
类型
类型 自定义插件 插件名称 介绍用于 IoTDB(V1.3.1 及以上)与 IoTDB(V1.2.0 及以上)之间的数据传输。使用 Thrift RPC 框架传输数据,单线程 sync blocking IO 模型,适用于安全需求较高的场景 1.3.1+
导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 diff --git a/src/zh/UserGuide/latest/User-Manual/Data-Sync_timecho.md b/src/zh/UserGuide/latest/User-Manual/Data-Sync_timecho.md index db6e76bd2..9472acc79 100644 --- a/src/zh/UserGuide/latest/User-Manual/Data-Sync_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/Data-Sync_timecho.md @@ -37,8 +37,8 @@ 通过 SQL 语句声明式地配置 3 个部分的具体内容,可实现灵活的数据同步能力。目前数据同步支持以下信息的同步,您可以在创建同步任务时对同步范围进行选择(默认选择 data.insert,即同步新写入的数据): - - + + @@ -73,6 +73,7 @@ +
同步范围
同步范围 同步内容 说明
- 同步用户权限和访问控制
### 功能限制及说明 @@ -216,8 +217,8 @@ IoTDB> SHOW PIPEPLUGINS - - + + @@ -259,6 +260,7 @@ IoTDB> SHOW PIPEPLUGINS +
类型
类型 自定义插件 插件名称 介绍用于 IoTDB(V1.3.1 及以上)与 IoTDB(V1.2.0 及以上)之间的数据传输。使用 Thrift RPC 框架传输数据,单线程 sync blocking IO 模型,适用于安全需求较高的场景 1.3.1+
导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 diff --git a/src/zh/UserGuide/latest/User-Manual/User-defined-function_apache.md b/src/zh/UserGuide/latest/User-Manual/User-defined-function_apache.md index 7c085f60b..237031ae4 100644 --- a/src/zh/UserGuide/latest/User-Manual/User-defined-function_apache.md +++ b/src/zh/UserGuide/latest/User-Manual/User-defined-function_apache.md @@ -7,8 +7,8 @@ UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内 IoTDB 支持两种类型的 UDF 函数,如下表所示。 - - + + @@ -26,6 +26,7 @@ IoTDB 支持两种类型的 UDF 函数,如下表所示。 +
UDF 分类
UDF 分类 数据访问策略 描述
- 自定义聚合函数,输入 k 列时间序列 m 行数据,输出 1 列时间序列 1 行数据,可用于聚合函数出现的任何子句和表达式中,如select子句、having子句等。
### 1.1 UDF 使用 diff --git a/src/zh/UserGuide/latest/User-Manual/User-defined-function_timecho.md b/src/zh/UserGuide/latest/User-Manual/User-defined-function_timecho.md index 2125951b9..05c253517 100644 --- a/src/zh/UserGuide/latest/User-Manual/User-defined-function_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/User-defined-function_timecho.md @@ -7,8 +7,8 @@ UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内 IoTDB 支持两种类型的 UDF 函数,如下表所示。 - - + + @@ -26,6 +26,7 @@ IoTDB 支持两种类型的 UDF 函数,如下表所示。 +
UDF 分类
UDF 分类 数据访问策略 描述
- 自定义聚合函数,输入 k 列时间序列 m 行数据,输出 1 列时间序列 1 行数据,可用于聚合函数出现的任何子句和表达式中,如select子句、having子句等。
### 1.1 UDF 使用 diff --git a/src/zh/UserGuide/latest/stage/Edge-Cloud-Collaboration/Sync-Tool.md b/src/zh/UserGuide/latest/stage/Edge-Cloud-Collaboration/Sync-Tool.md index 1ead9f51f..08a4f51e7 100644 --- a/src/zh/UserGuide/latest/stage/Edge-Cloud-Collaboration/Sync-Tool.md +++ b/src/zh/UserGuide/latest/stage/Edge-Cloud-Collaboration/Sync-Tool.md @@ -124,7 +124,7 @@ IoTDB> DROP PIPE my_pipe - 显示当前所能支持的 PipeSink 类型。 -```Plain%20Text +``` IoTDB> SHOW PIPESINKTYPE IoTDB> +-----+ @@ -170,7 +170,7 @@ IoTDB> - 创建同步任务 - 其中 select 语句目前仅支持`**`(即所有序列中的数据),from 语句目前仅支持`root`,where语句仅支持指定 time 的起始时间。起始时间的指定形式可以是 yyyy-mm-dd HH:MM:SS或时间戳。 -```Plain%20Text +``` IoTDB> CREATE PIPE my_pipe TO my_iotdb [FROM (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS)] ``` @@ -227,7 +227,7 @@ IoTDB> DROP PIPE - ERROR 状态,这表明出现了网络连接正常但数据无法传输的问题,例如发送端 IP 不在接收端白名单中,或是发送端与接收端版本不兼容 - 当出现 ERROR 状态时,建议 STOP PIPE 后查看 DataNode 日志,检查接收端配置或网络情况后重新 START PIPE -```Plain%20Text +``` IoTDB> SHOW PIPES IoTDB> +-----------------------+--------+--------+-------------+---------+------------------------------------+-------+ @@ -287,7 +287,7 @@ IoTDB> CREATE PIPE p TO my_iotdb FROM (select ** from root where time>= 16485696 启动Pipe -```Plain%20Text +``` IoTDB> START PIPE p ``` @@ -318,7 +318,7 @@ flush; 在发送端和接受端执行查询,可查询到相同的结果 -```Plain%20Text +``` IoTDB> select ** from root.vehicle +-----------------------------+------------------+------------------+------------------+------------------+ | Time|root.vehicle.d0.s0|root.vehicle.d0.s1|root.vehicle.d1.s3|root.vehicle.d1.s2| diff --git a/src/zh/UserGuide/latest/stage/Syntax-Conventions/Literal-Values.md b/src/zh/UserGuide/latest/stage/Syntax-Conventions/Literal-Values.md index f2ad963bd..62753a6da 100644 --- a/src/zh/UserGuide/latest/stage/Syntax-Conventions/Literal-Values.md +++ b/src/zh/UserGuide/latest/stage/Syntax-Conventions/Literal-Values.md @@ -28,7 +28,7 @@ 在 IoTDB 中,字符串是由**单引号(`'`)或双引号(`"`)字符括起来的字符序列**。示例如下: -```Plain%20Text +``` 'a string' "another string" ``` @@ -112,7 +112,7 @@ 字符串内使用引号的示例如下: -```Plain%20Text +``` 'string' // string '"string"' // "string" '""string""' // ""string"" diff --git a/tsconfig.base.json b/tsconfig.base.json index d27ffa638..570c04fc0 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -16,7 +16,7 @@ // Modules "baseUrl": "./", - "module": "ESNext", + "module": "NodeNext", "moduleResolution": "NodeNext", "resolveJsonModule": true, @@ -41,10 +41,8 @@ // lib "lib": ["DOM", "ESNext"], - // minimal node 14 support - "target": "ES2020", - // minimal node 16 support - // "target": "ES2021", + // minimal node 18 support + "target": "ES2022", // Compiler Diagnostics "diagnostics": false, @@ -53,4 +51,4 @@ "skipLibCheck": true, "pretty": true } -} \ No newline at end of file +} diff --git a/tsconfig.json b/tsconfig.json index 81da69acd..fec954363 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,20 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "module": "ESNext", - "baseUrl": "./", + "module": "NodeNext", + "baseUrl": "./" }, - "include": ["**/*.ts", "**/*.js", "**/*.vue", "src/.vuepress/*.js", "src/.vuepress/*.ts", "src/.vuepress/*.vue", "src/.vuepress/**/*.js", "src/.vuepress/**/*.ts", "src/.vuepress/**/*.vue", "deploy.cjs", "deploy_staging.cjs"] -} \ No newline at end of file + "include": [ + "**/*.ts", + "**/*.js", + "**/*.vue", + "src/.vuepress/*.js", + "src/.vuepress/*.ts", + "src/.vuepress/*.vue", + "src/.vuepress/**/*.js", + "src/.vuepress/**/*.ts", + "src/.vuepress/**/*.vue", + "deploy.cjs", + "deploy_staging.cjs" + ] +}