This is an automated email from the ASF dual-hosted git repository. jiafengzheng pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push: new 6401ec47f4d add sitemap page (#81) 6401ec47f4d is described below commit 6401ec47f4d0a3f736a3172ecf06ec882e7d3020 Author: wangyongfeng <943155...@qq.com> AuthorDate: Tue Sep 6 18:51:09 2022 +0800 add sitemap page (#81) * add sitemap --- docusaurus.config.js | 2 +- i18n/zh-CN/code.json | 224 +++++++++++++++++- src/components/PageColumn/index.tsx | 8 +- src/components/PageColumn/styles.scss | 4 + src/pages/index.tsx | 4 +- src/pages/siteMap/index.tsx | 361 +++++++++++++++++++++++++++++ src/pages/siteMap/siteMap.scss | 104 +++++++++ static/images/sitemap/sitemap-admin.png | Bin 0 -> 1801 bytes static/images/sitemap/sitemap-book.png | Bin 0 -> 1809 bytes static/images/sitemap/sitemap-export.png | Bin 0 -> 2696 bytes static/images/sitemap/sitemap-model.png | Bin 0 -> 1911 bytes static/images/sitemap/sitemap-question.png | Bin 0 -> 2035 bytes static/images/sitemap/sitemap-refresh.png | Bin 0 -> 2445 bytes static/images/sitemap/sitemap-search.png | Bin 0 -> 2012 bytes static/images/sitemap/sitemap-setting.png | Bin 0 -> 2298 bytes static/images/sitemap/sitemap-sql.png | Bin 0 -> 2389 bytes static/images/sitemap/sitemap-start.png | Bin 0 -> 2131 bytes 17 files changed, 702 insertions(+), 5 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 0f4d378dee9..f74839cfb38 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -231,7 +231,7 @@ const config = { }, { label: 'Docs', - href: '/docs/get-starting', + href: '/sitemap', }, ], }, diff --git a/i18n/zh-CN/code.json b/i18n/zh-CN/code.json index 80b45461bb0..d31e810471c 100644 --- a/i18n/zh-CN/code.json +++ b/i18n/zh-CN/code.json @@ -522,6 +522,15 @@ "users.title": { "message": "用户" }, + "sitemap.title": { + "message": "学习路径" + }, + "sitemap.subTitle": { + "message": "" + }, + "sitemap.page.title": { + "message": "Leaning Path" + }, "documentation.feedback": { "message": "问题反馈" }, @@ -536,5 +545,218 @@ "theme.PwaReloadPopup.closeButtonAriaLabel": { "message": "关闭", "description": "The ARIA label for close button of PWA reload popup" + }, + "Introduction to Apache Doris": { + "message": "Apache Doris 总体介绍" + }, + "Get Started": { + "message": "快速开始" + }, + "Installation and deployment": { + "message": "安装部署" + }, + "Compilation": { + "message": "源码编译" + }, + "Table Design": { + "message": "数据表设计" + }, + "Data Model": { + "message": "数据模型" + }, + "Data Partition": { + "message": "数据划分" + }, + "Guidelines for Creating Table": { + "message": "建表指南" + }, + "Rollup and Query": { + "message": "Rollup与查询" + }, + "Practices of Creating Table": { + "message": "建表实践" + }, + "Index": { + "message": "索引" + }, + "Data Import": { + "message": "数据导入" + }, + "Import Overview": { + "message": "导入总览" + }, + "Import Local Data": { + "message": "导入本地数据" + }, + "Import External Storage Data": { + "message": "导入外部存储数据" + }, + "Subscribe Kafka Data": { + "message": "订阅 Kafka 日志" + }, + "Synchronize Data Through External Table": { + "message": "通过外部表同步数据" + }, + "Data Export": { + "message": "数据导出" + }, + "Export Data": { + "message": "导出数据" + }, + "Export Query Result": { + "message": "导出查询结果集" + }, + "Export Table Structure or Data": { + "message": "导出表结构或数据" + }, + "Data Backup": { + "message": "数据备份" + }, + "Update and Delete": { + "message": "数据更新及删除" + }, + "Update": { + "message": "数据更新" + }, + "Delete": { + "message": "删除操作" + }, + "Batch Delete": { + "message": "批量删除" + }, + "Sequence Column": { + "message": "Sequence 列" + }, + "Advanced Usage": { + "message": "进阶使用" + }, + "Schema Change": { + "message": "表结构变更" + }, + "Dynamic Partition": { + "message": "动态分区" + }, + "Data Cache": { + "message": "数据缓存" + }, + "Join Optimization": { + "message": "Join 优化" + }, + "Materialized view": { + "message": "物化视图" + }, + "BITMAP Precise De-duplication": { + "message": "BITMAP 精确去重" + }, + "HLL ApproximateDe-duplication": { + "message": "HLL 近似去重" + }, + "Variables": { + "message": "变量" + }, + "Time Zone": { + "message": "时区" + }, + "File Manager": { + "message": "文件管理器" + }, + "Ecosystem": { + "message": "生态拓展" + }, + "Doris on ES": { + "message": "Doris on ES" + }, + "Doris on Hudi": { + "message": "Doris on Hudi" + }, + "Doris on Iceberg": { + "message": "Doris on Iceberg" + }, + "Doris on Hive": { + "message": "Doris on Hive" + }, + "Doris on ODBC": { + "message": "Doris on ODBC" + }, + "Spark Doris Connector": { + "message": "Spark Doris Connector" + }, + "Flink Doris Connector": { + "message": "Flink Doris Connector" + }, + "Seatunnel Connector": { + "message": "Seatunnel Connector" + }, + "DataX doriswriter": { + "message": "DataX doriswriter" + }, + "UDF": { + "message": "UDF" + }, + "Audit log plugin": { + "message": "审计日记插件" + }, + "SQL Manual": { + "message": "SQL 手册" + }, + "SQL Function": { + "message": "SQL 函数" + }, + "DDL": { + "message": "DDL" + }, + "DML": { + "message": "DML" + }, + "Data Types": { + "message": "数据类型" + }, + "Utility": { + "message": "辅助命令" + }, + "Cluster Management": { + "message": "集群管理" + }, + "Cluster Upgrade": { + "message": "集群升级" + }, + "Elastic scaling": { + "message": "弹性扩缩容" + }, + "Statistics of query execution": { + "message": "查询分析" + }, + "Maintenance and Monitor": { + "message": "监控报警" + }, + "Metadata Operation": { + "message": "元数据运维" + }, + "Error Code": { + "message": "错误码" + }, + "Config": { + "message": "配置管理" + }, + "Authority Management": { + "message": "权限管理" + }, + "Multi-tenancy": { + "message": "多租户与资源管理" + }, + "FAQ": { + "message": "常见问题" + }, + "FAQs of Operation and Maintenance": { + "message": "运维常见问题" + }, + "FAQs of Data Operation": { + "message": "数据操作问题" + }, + "SQL FAQs": { + "message": "SQL 问题" + }, + "sitemap.page.subTitle": { + "message": "从这里开启您的 Apache Doris 之旅,与 Apache Doris 一起发现无限可能" } -} +} \ No newline at end of file diff --git a/src/components/PageColumn/index.tsx b/src/components/PageColumn/index.tsx index 090146ea32c..b541e051a25 100644 --- a/src/components/PageColumn/index.tsx +++ b/src/components/PageColumn/index.tsx @@ -6,14 +6,20 @@ interface PageColumnProps extends ComponentProps<JSXElementConstructor<any>> { align?: 'left' | 'center' | 'right'; title: string | ReactNode; footer?: ReactNode; + subTitle?: string | ReactNode; } export default function PageColumn(props: PageColumnProps): JSX.Element { - const { align = 'center', title, footer, children } = props; + const { align = 'center', title, footer, children, subTitle } = props; return ( <div className={clsx('page-column', align, footer && 'has-footer')}> <h1 className="page-column-title"> <div className="container">{title}</div> </h1> + {subTitle && ( + <p className="sub-title"> + <div className="container">{subTitle}</div> + </p> + )} <div className="page-column-container"> <div className="container" style={props.style}> {children} diff --git a/src/components/PageColumn/styles.scss b/src/components/PageColumn/styles.scss index 9101ca765c2..b432c4cea67 100644 --- a/src/components/PageColumn/styles.scss +++ b/src/components/PageColumn/styles.scss @@ -38,6 +38,10 @@ color: var(--global-colors-text-primary); font-size: 2.5rem; } + + .sub-title { + color: #484954; + } } @media (max-width: 996px) { diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 778332f4cbd..2b45ceee28f 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -21,7 +21,7 @@ export default function Home(): JSX.Element { }, { label: <Translate id="homepage.banner.button1">Get Started</Translate>, - link: '/docs/summary/basic-summary', + link: '/siteMap', type: 'ghost', }, { @@ -243,7 +243,7 @@ export default function Home(): JSX.Element { <Link className="start-btn download-btn" to="/download"> <Translate id="homepage.start.downloadButton">Download</Translate> </Link> - <Link className="start-btn docs-btn" to="/docs/summary/basic-summary"> + <Link className="start-btn docs-btn" to="/sitemap"> <Translate id="homepage.start.docsButton">Go to docs</Translate> </Link> </div> diff --git a/src/pages/siteMap/index.tsx b/src/pages/siteMap/index.tsx new file mode 100644 index 00000000000..74a1add3c24 --- /dev/null +++ b/src/pages/siteMap/index.tsx @@ -0,0 +1,361 @@ +import Layout from '../../theme/Layout'; +import React from 'react'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Translate, { translate } from '@docusaurus/Translate'; +import './siteMap.scss'; +import Link from '@docusaurus/Link'; +import More from '@site/src/components/More/index'; +import PageColumn from '@site/src/components/PageColumn'; + +const sitemapList = [ + { + title: 'Get Started', + icon: require('@site/static/images/sitemap/sitemap-start.png').default, + list: [ + { + title: <Translate>Introduction to Apache Doris</Translate>, + link: '/docs/dev/summary/basic-summary', + }, + { + title: <Translate>Get Started</Translate>, + link: '/docs/dev/get-starting/', + }, + { + title: <Translate>Installation and deployment</Translate>, + link: '/docs/dev/install/install-deploy', + }, + { + title: <Translate>Compilation</Translate>, + link: '/docs/dev/install/source-install/compilation', + }, + ], + }, + { + title: <Translate>Table Design</Translate>, + icon: require('@site/static/images/sitemap/sitemap-model.png').default, + list: [ + { + title: <Translate>Data Model</Translate>, + link: '/docs/dev/data-table/data-model', + }, + { + title: <Translate>Data Partition</Translate>, + link: '/docs/dev/data-table/data-partition', + }, + { + title: <Translate>Guidelines for Creating Table</Translate>, + link: '/docs/dev/data-table/basic-usage', + }, + { + title: <Translate>Rollup and Query</Translate>, + link: '/docs/dev/data-table/hit-the-rollup', + }, + { + title: <Translate>Practices of Creating Table</Translate>, + link: '/docs/dev/data-table/best-practice', + }, + { + title: <Translate>Index</Translate>, + link: '/docs/dev/data-table/index/prefix-index', + }, + ], + }, + { + title: <Translate>Data Import</Translate>, + icon: require('@site/static/images/sitemap/sitemap-refresh.png').default, + list: [ + { + title: <Translate>Import Overview</Translate>, + link: '/docs/dev/data-operate/import/load-manual', + }, + { + title: <Translate>Import Local Data</Translate>, + link: '/docs/dev/data-operate/import/import-scenes/local-file-load', + }, + { + title: <Translate>Import External Storage Data</Translate>, + link: '/docs/dev/data-operate/import/import-scenes/external-storage-load', + }, + { + title: <Translate>Subscribe Kafka Data</Translate>, + link: '/docs/dev/data-operate/import/import-scenes/kafka-load', + }, + { + title: <Translate>Synchronize Data Through External Table</Translate>, + link: '/docs/dev/data-operate/import/import-scenes/external-table-load', + }, + ], + }, + { + title: <Translate>Data Export</Translate>, + icon: require('@site/static/images/sitemap/sitemap-setting.png').default, + list: [ + { + title: <Translate>Export Data</Translate>, + link: '/docs/dev/data-operate/export/export-manual', + }, + { + title: <Translate>Export Query Result</Translate>, + link: '/docs/dev/data-operate/export/outfile', + }, + { + title: <Translate>Export Table Structure or Data</Translate>, + link: '/docs/dev/data-operate/export/export_with_mysql_dump', + }, + { + title: <Translate>Data Backup</Translate>, + link: '/docs/dev/admin-manual/data-admin/backup', + }, + ], + }, + { + title: <Translate>Update and Delete</Translate>, + icon: require('@site/static/images/sitemap/sitemap-export.png').default, + list: [ + { + title: <Translate>Update</Translate>, + link: '/docs/dev/data-operate/update-delete/update', + }, + { + title: <Translate>Delete</Translate>, + link: '/docs/dev/data-operate/update-delete/delete-manual', + }, + { + title: <Translate>Batch Delete</Translate>, + link: '/docs/dev/data-operate/update-delete/batch-delete-manual', + }, + { + title: <Translate>Sequence Column</Translate>, + link: '/docs/dev/data-table/best-practice', + }, + ], + }, + { + title: <Translate>Advanced Usage</Translate>, + icon: require('@site/static/images/sitemap/sitemap-book.png').default, + list: [ + { + title: <Translate>Schema Change</Translate>, + link: '/docs/dev/advanced/alter-table/schema-change', + }, + { + title: <Translate>Dynamic Partition</Translate>, + link: '/docs/dev/advanced/partition/dynamic-partition', + }, + { + title: <Translate>Data Cache</Translate>, + link: '/docs/dev/advanced/cache/partition-cache', + }, + { + title: <Translate>Join Optimization</Translate>, + link: '/docs/dev/advanced/join-optimization/doris-join-optimization', + }, + { + title: <Translate>Materialized view</Translate>, + link: '/docs/dev/advanced/materialized-view', + }, + { + title: <Translate>BITMAP Precise De-duplication</Translate>, + link: '/docs/dev/advanced/orthogonal-bitmap-manual', + }, + { + title: <Translate>HLL ApproximateDe-duplication</Translate>, + link: '/docs/dev/advanced/using-hll', + }, + { + title: <Translate>Variables</Translate>, + link: '/docs/dev/advanced/variables', + }, + { + title: <Translate>Time Zone</Translate>, + link: '/docs/dev/advanced/time-zone', + }, + { + title: <Translate>File Manager</Translate>, + link: '/docs/dev/advanced/small-file-mgr', + }, + ], + }, + { + title: <Translate>Ecosystem</Translate>, + icon: require('@site/static/images/sitemap/sitemap-search.png').default, + list: [ + { + title: <Translate>Doris on ES</Translate>, + link: 'https://doris.apache.orgdocs/dev/ecosystem/external-table/doris-on-es', + }, + { + title: <Translate>Doris on Hudi</Translate>, + link: '/docs/dev/ecosystem/external-table/hudi-external-table', + }, + { + title: <Translate>Doris on Iceberg</Translate>, + link: '/docs/dev/ecosystem/external-table/iceberg-of-doris', + }, + { + title: <Translate>Doris on Hive</Translate>, + link: '/docs/dev/ecosystem/external-table/hive-of-doris', + }, + { + title: <Translate>Doris on ODBC</Translate>, + link: '/docs/dev/ecosystem/external-table/odbc-of-doris', + }, + { + title: <Translate>Spark Doris Connector</Translate>, + link: '/docs/dev/ecosystem/spark-doris-connector', + }, + { + title: <Translate>Flink Doris Connector</Translate>, + link: '/docs/dev/ecosystem/flink-doris-connector', + }, + { + title: <Translate>Seatunnel Connector</Translate>, + link: '/docs/dev/ecosystem/seatunnel/flink-sink', + }, + { + title: <Translate>DataX doriswriter</Translate>, + link: '/docs/dev/ecosystem/datax', + }, + { + title: <Translate>UDF</Translate>, + link: '/docs/dev/ecosystem/udf/java-user-defined-function', + }, + { + title: <Translate>Audit log plugin</Translate>, + link: '/docs/dev/ecosystem/audit-plugin', + }, + ], + }, + { + title: <Translate>SQL Manual</Translate>, + icon: require('@site/static/images/sitemap/sitemap-sql.png').default, + list: [ + { + title: <Translate>SQL Function</Translate>, + link: '/docs/dev/sql-manual/sql-functions/date-time-functions/dayname', + }, + { + title: <Translate>DDL</Translate>, + link: '/docs/dev/sql-manual/sql-reference/Data-Definition-Statements/Alter/ALTER-DATABASE', + }, + { + title: <Translate>DML</Translate>, + link: '/docs/dev/sql-manual/sql-reference/Data-Manipulation-Statements/Manipulation/INSERT', + }, + { + title: <Translate>Data Types</Translate>, + link: '/docs/dev/sql-manual/sql-reference/Data-Types/VARCHAR', + }, + { + title: <Translate>Utility</Translate>, + link: '/docs/dev/sql-manual/sql-reference/Utility-Statements/HELP', + }, + ], + }, + { + title: <Translate>Cluster Management</Translate>, + icon: require('@site/static/images/sitemap/sitemap-admin.png').default, + list: [ + { + title: <Translate>Cluster Upgrade</Translate>, + link: '/docs/dev/admin-manual/cluster-management/upgrade', + }, + { + title: <Translate>Elastic scaling</Translate>, + link: '/docs/dev/admin-manual/cluster-management/elastic-expansion', + }, + { + title: <Translate>Statistics of query execution</Translate>, + link: '/docs/dev/admin-manual/query-profile', + }, + { + title: <Translate>Maintenance and Monitor</Translate>, + link: '/docs/dev/admin-manual/maint-monitor/monitor-alert', + }, + { + title: <Translate>Metadata Operation</Translate>, + link: '/docs/dev/admin-manual/maint-monitor/metadata-operation', + }, + { + title: <Translate>Error Code</Translate>, + link: '/docs/dev/admin-manual/maint-monitor/doris-error-code', + }, + { + title: <Translate>Config</Translate>, + link: '/docs/dev/admin-manual/config/fe-config', + }, + { + title: <Translate>Authority Management</Translate>, + link: '/docs/dev/admin-manual/privilege-ldap/user-privilege', + }, + { + title: <Translate>Multi-tenancy</Translate>, + link: '/docs/dev/admin-manual/multi-tenant', + }, + ], + }, + { + title: <Translate>FAQ</Translate>, + icon: require('@site/static/images/sitemap/sitemap-question.png').default, + list: [ + { + title: <Translate>FAQs of Operation and Maintenance</Translate>, + link: '/docs/dev/faq/install-faq', + }, + { + title: <Translate>FAQs of Data Operation</Translate>, + link: '/docs/dev/faq/data-faq', + }, + { + title: <Translate>SQL FAQs</Translate>, + link: '/docs/dev/faq/sql-faq', + }, + ], + }, +]; +export default function SiteMap(): JSX.Element { + const { siteConfig } = useDocusaurusContext(); + return ( + <Layout + title={translate({ id: 'sitemap.title', message: 'SiteMap' })} + description={translate({ + id: 'sitemap.subTitle', + message: '', + })} + > + <section className="sitemap"> + <PageColumn + align="left" + title={ + <Translate id="sitemap.page.title" description=""> + Leaning Path + </Translate> + } + subTitle={ + <Translate id="sitemap.page.subTitle" description=""> + Start your journey here to discover infinite possibilities with Apache Doris. + </Translate> + } + > + <div className="sitemap-list row"> + {sitemapList.map((item, index) => ( + <div className="sitemap-item" key={index}> + <div className="sitemap-title">{item.title}</div> + <div className="sitemap-icon"> + <img src={item.icon} alt="" /> + </div> + <div className="sitemap-paths"> + {item.list.map(path => ( + <Link to={path.link} key={path.link} className="path-link"> + {path.title} + </Link> + ))} + </div> + </div> + ))} + </div> + </PageColumn> + </section> + </Layout> + ); +} diff --git a/src/pages/siteMap/siteMap.scss b/src/pages/siteMap/siteMap.scss new file mode 100644 index 00000000000..fd7f04db6ff --- /dev/null +++ b/src/pages/siteMap/siteMap.scss @@ -0,0 +1,104 @@ +.sitemap { + .page-column { + padding-top: 4rem; + } +} + +.sitemap-list { + display: flex; + flex-direction: column; + padding: 0 1rem; + line-height: 1.6; + margin-top: 4rem; + + .sitemap-item { + display: flex; + align-items: center; + position: relative; + padding-bottom: 1.25rem; + + &:first-child .sitemap-icon:after { + top: 50%; + } + + &:last-child .sitemap-icon:after { + bottom: 50%; + } + + .sitemap-title { + font-size: 1.25rem; + width: 14rem; + } + + .sitemap-icon { + padding: 0 3rem; + display: flex; + align-items: center; + + img { + width: 2.6rem; + height: 2.6rem; + position: relative; + z-index: 2; + } + + &:after { + content: ''; + border-left: 1px solid #F0F1FC; + position: absolute; + left: 18.3rem; + top: 0; + bottom: 0; + } + } + + .sitemap-paths { + flex: 1; + border: 1px solid #E6E8FB; + color: #252734; + font-size: 1rem; + padding: 1.25rem 0.8rem; + + .path-link { + display: inline-block; + width: 33.333%; + padding: 0 0.5rem; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + line-height: 2; + color: #484954; + text-decoration: none; + + &:hover { + color: #444FD9; + } + } + } + } +} + +@media (max-width: 996px) { + .sitemap-list { + .sitemap-item { + .sitemap-title { + width: 7rem; + padding-right: 0.4rem; + word-break: break-word; + } + + .sitemap-icon { + display: none; + } + + .sitemap-paths { + padding: 0.6rem; + + .path-link { + width: 50%; + } + } + } + } + +} \ No newline at end of file diff --git a/static/images/sitemap/sitemap-admin.png b/static/images/sitemap/sitemap-admin.png new file mode 100644 index 00000000000..7f2b396377b Binary files /dev/null and b/static/images/sitemap/sitemap-admin.png differ diff --git a/static/images/sitemap/sitemap-book.png b/static/images/sitemap/sitemap-book.png new file mode 100644 index 00000000000..b995857f313 Binary files /dev/null and b/static/images/sitemap/sitemap-book.png differ diff --git a/static/images/sitemap/sitemap-export.png b/static/images/sitemap/sitemap-export.png new file mode 100644 index 00000000000..6895360af34 Binary files /dev/null and b/static/images/sitemap/sitemap-export.png differ diff --git a/static/images/sitemap/sitemap-model.png b/static/images/sitemap/sitemap-model.png new file mode 100644 index 00000000000..aef5d276584 Binary files /dev/null and b/static/images/sitemap/sitemap-model.png differ diff --git a/static/images/sitemap/sitemap-question.png b/static/images/sitemap/sitemap-question.png new file mode 100644 index 00000000000..de920cd13c2 Binary files /dev/null and b/static/images/sitemap/sitemap-question.png differ diff --git a/static/images/sitemap/sitemap-refresh.png b/static/images/sitemap/sitemap-refresh.png new file mode 100644 index 00000000000..a08a27bf353 Binary files /dev/null and b/static/images/sitemap/sitemap-refresh.png differ diff --git a/static/images/sitemap/sitemap-search.png b/static/images/sitemap/sitemap-search.png new file mode 100644 index 00000000000..ba7babe3fcb Binary files /dev/null and b/static/images/sitemap/sitemap-search.png differ diff --git a/static/images/sitemap/sitemap-setting.png b/static/images/sitemap/sitemap-setting.png new file mode 100644 index 00000000000..66e05964e16 Binary files /dev/null and b/static/images/sitemap/sitemap-setting.png differ diff --git a/static/images/sitemap/sitemap-sql.png b/static/images/sitemap/sitemap-sql.png new file mode 100644 index 00000000000..26d3aedeede Binary files /dev/null and b/static/images/sitemap/sitemap-sql.png differ diff --git a/static/images/sitemap/sitemap-start.png b/static/images/sitemap/sitemap-start.png new file mode 100644 index 00000000000..12fe09063cc Binary files /dev/null and b/static/images/sitemap/sitemap-start.png differ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org