This is an automated email from the ASF dual-hosted git repository. chaokunyang pushed a commit to branch optimize_website in repository https://gitbox.apache.org/repos/asf/fory-site.git
commit c3cf9d57edecf1e3a5157d5178c675dcd24c0f77 Author: 慕白 <[email protected]> AuthorDate: Thu May 21 14:55:01 2026 +0800 Polish Fory docs layout --- docs/introduction/overview.md | 38 +- .../current/introduction/overview.md | 38 +- .../version-0.17/introduction/overview.md | 38 +- src/css/custom.css | 462 ++++++++++++++++++++- .../version-0.17/introduction/overview.md | 38 +- 5 files changed, 596 insertions(+), 18 deletions(-) diff --git a/docs/introduction/overview.md b/docs/introduction/overview.md index fe4b542cd9..64186132ee 100644 --- a/docs/introduction/overview.md +++ b/docs/introduction/overview.md @@ -4,13 +4,45 @@ title: Overview sidebar_position: 1 --- -<div class="themed-logo"> - <img width="65%" alt="Apache Fory logo" src="/img/fory-logo-dark.png" class="themed-logo-dark"/> - <img width="65%" alt="Apache Fory logo" src="/img/fory-logo-light.png" class="themed-logo-light"/> +<div class="fory-doc-intro"> + <div> + <div class="fory-doc-kicker">Apache Fory</div> + <p class="fory-doc-lede"> + A high-performance multi-language serialization framework for fast services, cross-language data exchange, and compact binary payloads. + </p> + <div class="fory-doc-actions"> + <a class="fory-doc-action fory-doc-action--primary" href="../start/install">Install Fory</a> + <a class="fory-doc-action" href="#quick-example">Quick Example</a> + <a class="fory-doc-action" href="../specification/xlang_serialization_spec">Read the Spec</a> + </div> + </div> + <div class="fory-doc-brand"> + <img alt="Apache Fory logo" src="/img/fory-logo-dark.png" class="themed-logo-dark"/> + <img alt="Apache Fory logo" src="/img/fory-logo-light.png" class="themed-logo-light"/> + </div> </div> **Apache Fory™** is a blazingly-fast multi-language serialization framework powered by **JIT compilation**, **zero-copy** techniques, and **advanced code generation**, achieving up to **170x performance improvement** while maintaining simplicity and ease of use. +<div class="fory-doc-card-grid"> + <a class="fory-doc-card" href="../start/install"> + <strong>Start building</strong> + <span>Install Fory and run the first serialization example.</span> + </a> + <a class="fory-doc-card" href="../guide/xlang/"> + <strong>Cross-language data</strong> + <span>Serialize objects across Java, Python, Rust, Go, C++, and more.</span> + </a> + <a class="fory-doc-card" href="../specification/row_format_spec"> + <strong>Row format</strong> + <span>Use zero-copy random access for analytics-oriented workloads.</span> + </a> + <a class="fory-doc-card" href="../community/DEVELOPMENT"> + <strong>Contribute</strong> + <span>Build the project locally and join the Apache Fory community.</span> + </a> +</div> + ## Quick Example Cross-language serialization — serialize in Rust, deserialize in Python: diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/overview.md index 28e4be89a5..63e0be19cd 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/overview.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/overview.md @@ -4,13 +4,45 @@ title: 概述 sidebar_position: 1 --- -<div class="themed-logo"> - <img width="65%" alt="Apache Fory logo" src="/img/fory-logo-dark.png" class="themed-logo-dark"/> - <img width="65%" alt="Apache Fory logo" src="/img/fory-logo-light.png" class="themed-logo-light"/> +<div class="fory-doc-intro"> + <div> + <div class="fory-doc-kicker">Apache Fory</div> + <p class="fory-doc-lede"> + 面向高速服务、跨语言数据交换和紧凑二进制载荷的高性能多语言序列化框架。 + </p> + <div class="fory-doc-actions"> + <a class="fory-doc-action fory-doc-action--primary" href="../start/install">安装 Fory</a> + <a class="fory-doc-action" href="#快速示例">快速示例</a> + <a class="fory-doc-action" href="../specification/xlang_serialization_spec">阅读规范</a> + </div> + </div> + <div class="fory-doc-brand"> + <img alt="Apache Fory logo" src="/zh-CN/img/fory-logo-dark.png" class="themed-logo-dark"/> + <img alt="Apache Fory logo" src="/zh-CN/img/fory-logo-light.png" class="themed-logo-light"/> + </div> </div> **Apache Fory™** 是一个由 **JIT 编译**、**零拷贝** 技术和 **高级代码生成** 驱动的超高性能多语言序列化框架,可实现高达 **170 倍性能提升**,同时保持简洁易用。 +<div class="fory-doc-card-grid"> + <a class="fory-doc-card" href="../start/install"> + <strong>开始构建</strong> + <span>安装 Fory 并运行第一个序列化示例。</span> + </a> + <a class="fory-doc-card" href="../guide/xlang/"> + <strong>跨语言数据</strong> + <span>在 Java、Python、Rust、Go、C++ 等语言之间序列化对象。</span> + </a> + <a class="fory-doc-card" href="../specification/row_format_spec"> + <strong>行格式</strong> + <span>为分析型负载使用零拷贝随机访问能力。</span> + </a> + <a class="fory-doc-card" href="../community/DEVELOPMENT"> + <strong>参与贡献</strong> + <span>在本地构建项目并加入 Apache Fory 社区。</span> + </a> +</div> + ## 快速示例 跨语言序列化,在 Rust 中序列化,在 Python 中反序列化: diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-0.17/introduction/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-0.17/introduction/overview.md index 3496ef9abb..b620837f98 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-0.17/introduction/overview.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-0.17/introduction/overview.md @@ -4,13 +4,45 @@ title: 概述 sidebar_position: 1 --- -<div class="themed-logo"> - <img width="65%" alt="Apache Fory logo" src="/img/fory-logo-dark.png" class="themed-logo-dark"/> - <img width="65%" alt="Apache Fory logo" src="/img/fory-logo-light.png" class="themed-logo-light"/> +<div class="fory-doc-intro"> + <div> + <div class="fory-doc-kicker">Apache Fory</div> + <p class="fory-doc-lede"> + 面向高速服务、跨语言数据交换和紧凑二进制载荷的高性能多语言序列化框架。 + </p> + <div class="fory-doc-actions"> + <a class="fory-doc-action fory-doc-action--primary" href="../start/install">安装 Fory</a> + <a class="fory-doc-action" href="#快速示例">快速示例</a> + <a class="fory-doc-action" href="../specification/xlang_serialization_spec">阅读规范</a> + </div> + </div> + <div class="fory-doc-brand"> + <img alt="Apache Fory logo" src="/zh-CN/img/fory-logo-dark.png" class="themed-logo-dark"/> + <img alt="Apache Fory logo" src="/zh-CN/img/fory-logo-light.png" class="themed-logo-light"/> + </div> </div> **Apache Fory™** 是一个由 **JIT 编译**、**零拷贝** 技术和 **高级代码生成** 驱动的超高性能多语言序列化框架,可实现高达 **170 倍性能提升**,同时保持简洁易用。 +<div class="fory-doc-card-grid"> + <a class="fory-doc-card" href="../start/install"> + <strong>开始构建</strong> + <span>安装 Fory 并运行第一个序列化示例。</span> + </a> + <a class="fory-doc-card" href="../guide/xlang/"> + <strong>跨语言数据</strong> + <span>在 Java、Python、Rust、Go、C++ 等语言之间序列化对象。</span> + </a> + <a class="fory-doc-card" href="../specification/row_format_spec"> + <strong>行格式</strong> + <span>为分析型负载使用零拷贝随机访问能力。</span> + </a> + <a class="fory-doc-card" href="../community/DEVELOPMENT"> + <strong>参与贡献</strong> + <span>在本地构建项目并加入 Apache Fory 社区。</span> + </a> +</div> + ## 快速示例 跨语言序列化,在 Rust 中序列化,在 Python 中反序列化: diff --git a/src/css/custom.css b/src/css/custom.css index d5ee709dec..3427533c79 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -6,40 +6,414 @@ /* You can override the default Infima variables here. */ :root { - --ifm-color-primary: #ff6f01d2; + --ifm-color-primary: #f26a1b; --ifm-color-primary-dark: #FF7001; --ifm-color-primary-darker: #FF7001; --ifm-color-primary-darkest: #FF7001; --ifm-color-primary-light: #ff6f01b4; --ifm-color-primary-lighter: #ff6f01b4; --ifm-color-primary-lightest: #ff6f01b4; + --ifm-background-color: #ffffff; + --ifm-font-color-base: #202124; + --ifm-heading-color: #171717; + --ifm-navbar-height: 4.25rem; + --ifm-navbar-background-color: rgba(255, 255, 255, 0.94); + --ifm-navbar-shadow: 0 1px 0 rgba(20, 20, 20, 0.08); + --ifm-menu-color: #5c6470; + --ifm-menu-color-active: #e95f13; + --ifm-toc-border-color: #e5e0dc; + --ifm-table-border-color: #ebe5df; + --ifm-global-radius: 8px; --ifm-code-font-size: 95%; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + --fory-page-frame: clamp(16px, 1.8vw, 32px); + --fory-panel-bg: #ffffff; + --fory-panel-border: rgba(30, 33, 38, 0.1); + --fory-muted: #626975; + --fory-soft-orange: rgba(242, 106, 27, 0.08); + --fory-shell-bg: #f7f8fa; } /* For readability concerns, you should choose a lighter palette in dark mode. */ [data-theme='dark'] { - --ifm-color-primary: #ff6f01d2; + --ifm-color-primary: #ff8a34; --ifm-color-primary-dark: #FF7001; --ifm-color-primary-darker: #FF7001; --ifm-color-primary-darkest: #FF7001; --ifm-color-primary-light: #ff6f01b4; --ifm-color-primary-lighter: #ff6f01b4; --ifm-color-primary-lightest: #ff6f01b4; + --ifm-background-color: #111214; + --ifm-font-color-base: #e8e3dd; + --ifm-heading-color: #fff8f2; + --ifm-navbar-background-color: rgba(17, 18, 20, 0.92); + --ifm-navbar-shadow: 0 1px 0 rgba(255, 255, 255, 0.08); + --ifm-menu-color: #b6b0aa; + --ifm-menu-color-active: #ff9a4b; + --ifm-toc-border-color: #34302c; + --ifm-table-border-color: #34302c; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + --fory-panel-bg: rgba(25, 26, 29, 0.72); + --fory-panel-border: rgba(255, 255, 255, 0.12); + --fory-muted: #b9b1a8; + --fory-soft-orange: rgba(255, 112, 1, 0.12); + --fory-shell-bg: #151619; +} + +html { + background: var(--ifm-background-color); +} + +body { + letter-spacing: 0; } .navbar__logo { height: 2.5rem; } +.navbar__brand { + flex: 0 0 auto; +} + +.navbar__logo img { + margin-right: 0; +} + +.navbar { + backdrop-filter: blur(14px); +} + +.navbar > .container, +.navbar > .container-fluid { + padding-left: var(--fory-page-frame); + padding-right: var(--fory-page-frame); +} + .navbar__item { - font-size: 1rem; - margin-right: -10px; + font-size: 0.95rem; + margin-right: 0; } .navbar__link { - font-size: 1rem; + border-radius: 999px; + font-size: 0.95rem; + padding: 0.35rem 0.65rem; + transition: background-color 160ms ease, color 160ms ease; +} + +.navbar__link:hover, +.navbar__link--active { + text-decoration: none; +} + +.navbar__link:hover { + background: rgba(32, 33, 36, 0.06); +} + +.navbar__link--active { + background: transparent; + box-shadow: inset 0 -2px 0 var(--ifm-color-primary); + color: var(--ifm-color-primary); +} + +.navbar__items--right { + gap: 0.12rem; + padding-left: 0.8rem; +} + +.navbar__items--right > :first-child { + margin-left: 0 !important; +} + +.main-wrapper { + background: var(--fory-shell-bg); +} + +.docs-wrapper { + padding-left: var(--fory-page-frame); + padding-right: var(--fory-page-frame); +} + +.theme-doc-sidebar-container { + border-right: 1px solid var(--fory-panel-border) !important; +} + +.theme-doc-sidebar-menu { + padding: 1rem 0.75rem 2rem; +} + +.menu { + font-size: 0.95rem; + font-weight: 450; +} + +.menu__list { + gap: 0.1rem; +} + +.menu__list .menu__list { + border-left: 1px solid var(--fory-panel-border); + margin-left: 0.65rem; + padding-left: 0.55rem; +} + +.menu__link, +.menu__list-item-collapsible { + border-radius: 8px; +} + +.menu__link { + line-height: 1.3; + padding: 0.54rem 0.72rem; +} + +.menu__link:hover, +.menu__list-item-collapsible:hover { + background: rgba(255, 112, 1, 0.08); +} + +.menu__link--active:not(.menu__link--sublist), +.menu__list-item-collapsible--active { + background: var(--ifm-background-color); + box-shadow: inset 2px 0 0 var(--ifm-color-primary); + color: var(--ifm-menu-color-active); + font-weight: 650; +} + +.menu__list-item-collapsible--active { + background: transparent; + box-shadow: none; +} + +.theme-doc-markdown { + --ifm-heading-vertical-rhythm-top: 1.6; + font-size: 1rem; + line-height: 1.74; + max-width: 900px; +} + +.theme-doc-markdown > header + *, +.theme-doc-markdown > :first-child { + margin-top: 0; +} + +.theme-doc-markdown h1 { + font-size: clamp(2.35rem, 4vw, 3.35rem); + letter-spacing: 0; + line-height: 1.04; + margin-bottom: 1rem; +} + +.theme-doc-markdown h2 { + font-size: clamp(1.65rem, 2.4vw, 2.05rem); + letter-spacing: 0; + margin-top: 3rem; +} + +.theme-doc-markdown h3 { + letter-spacing: 0; +} + +.theme-doc-markdown p { + color: var(--ifm-font-color-base); +} + +.theme-doc-markdown table { + display: table; + width: 100%; +} + +.theme-doc-breadcrumbs { + margin-bottom: 1.2rem; +} + +.breadcrumbs__link, +.breadcrumbs__item--active .breadcrumbs__link { + border-radius: 999px; + font-size: 0.86rem; +} + +.theme-doc-version-badge { + margin-bottom: 0.75rem; +} + +.theme-doc-version-banner.alert, +.alert { + border: 1px solid rgba(255, 183, 3, 0.28); + border-left: 4px solid #f0a400; + border-radius: 8px; + box-shadow: 0 10px 30px rgba(54, 40, 16, 0.06); + font-size: 0.98rem; +} + +[data-theme='dark'] .theme-doc-version-banner.alert, +[data-theme='dark'] .alert { + box-shadow: none; +} + +.theme-doc-toc-desktop { + padding-left: 1.4rem; +} + +.table-of-contents { + border-left: 1px solid var(--ifm-toc-border-color); + font-size: 0.88rem; +} + +.table-of-contents__link { + color: var(--fory-muted); + line-height: 1.35; +} + +.table-of-contents__link--active, +.table-of-contents__link:hover { + color: var(--ifm-color-primary); + text-decoration: none; +} + +.pagination-nav__link, +.card, +.theme-code-block { + border-color: var(--fory-panel-border); + border-radius: 8px; +} + +.theme-code-block { + box-shadow: none !important; +} + +.markdown img { + border-radius: 8px; +} + +.themed-logo { + display: flex; + justify-content: center; + margin: 1.25rem 0 1.75rem; +} + +.themed-logo img { + height: auto; + max-width: min(420px, 74%); +} + +.fory-doc-intro { + align-items: center; + background: #ffffff; + border: 1px solid var(--fory-panel-border); + border-left: 3px solid var(--ifm-color-primary); + border-radius: 8px; + display: grid; + gap: 1.25rem; + grid-template-columns: minmax(0, 1fr) minmax(150px, 0.28fr); + margin: 0.6rem 0 2rem; + padding: clamp(1.2rem, 2.2vw, 1.75rem); +} + +[data-theme='dark'] .fory-doc-intro { + background: #1a1b1f; +} + +.fory-doc-kicker { + color: var(--ifm-color-primary); + font-size: 0.88rem; + font-weight: 700; + letter-spacing: 0.08em; + margin-bottom: 0.55rem; + text-transform: uppercase; +} + +.fory-doc-lede { + color: var(--fory-muted); + font-size: clamp(1rem, 1.15vw, 1.12rem); + line-height: 1.58; + margin: 0; +} + +.fory-doc-actions { + display: flex; + flex-wrap: wrap; + gap: 0.6rem; + margin-top: 1rem; +} + +.fory-doc-action { + align-items: center; + border: 1px solid var(--fory-panel-border); + border-radius: 8px; + color: var(--ifm-font-color-base); + display: inline-flex; + font-size: 0.94rem; + font-weight: 650; + min-height: 2.35rem; + white-space: nowrap; + padding: 0.55rem 0.9rem; + text-decoration: none; +} + +.fory-doc-action:hover { + border-color: rgba(255, 112, 1, 0.35); + color: var(--ifm-color-primary); + text-decoration: none; +} + +.fory-doc-action--primary { + background: var(--ifm-color-primary); + border-color: var(--ifm-color-primary); + color: #fff; +} + +.fory-doc-action--primary:hover { + background: #df5c10; + color: #fff; +} + +.fory-doc-brand { + display: flex; + justify-content: center; +} + +.fory-doc-brand img { + max-width: min(210px, 100%); +} + +.fory-doc-card-grid { + display: grid; + gap: 1rem; + grid-template-columns: repeat(2, minmax(0, 1fr)); + margin: 1.5rem 0 2rem; +} + +.fory-doc-card { + background: var(--fory-panel-bg); + border: 1px solid var(--fory-panel-border); + border-radius: 8px; + color: inherit; + display: block; + padding: 1.1rem 1.15rem; + text-decoration: none; + transition: border-color 160ms ease, transform 160ms ease; +} + +.fory-doc-card:hover { + border-color: rgba(255, 112, 1, 0.38); + color: inherit; + text-decoration: none; + transform: translateY(-1px); +} + +.fory-doc-card strong { + display: block; + font-size: 1rem; + margin-bottom: 0.35rem; +} + +.fory-doc-card span { + color: var(--fory-muted); + display: block; + font-size: 0.94rem; + line-height: 1.5; } @@ -82,4 +456,80 @@ [data-theme='dark'] .themed-logo-dark { display: block; -} \ No newline at end of file +} + +@media (min-width: 997px) { + .navbar__inner > .navbar__items:first-child { + flex: 0 0 150px; + } + + main .container { + padding-left: clamp(1.5rem, 2.4vw, 3rem); + padding-right: clamp(1.5rem, 2.4vw, 3rem); + } +} + +@media (min-width: 997px) and (max-width: 1320px) { + .navbar__link { + padding-left: 0.48rem; + padding-right: 0.48rem; + } + + .navbar__items--right { + gap: 0; + padding-left: 0.35rem; + } + + .navbar__search-input { + width: 9.5rem; + } +} + +@media (max-width: 1200px) { + :root { + --fory-page-frame: 16px; + } + + .theme-doc-toc-desktop { + padding-left: 0.8rem; + } +} + +@media (max-width: 996px) { + .docs-wrapper { + padding-left: 0; + padding-right: 0; + } + + .fory-doc-intro { + grid-template-columns: 1fr; + } + + .fory-doc-brand { + justify-content: flex-start; + } +} + +@media (max-width: 640px) { + .navbar > .container, + .navbar > .container-fluid { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + + .fory-doc-intro { + padding: 1.2rem; + } + + .fory-doc-card-grid { + grid-template-columns: 1fr; + } + + .fory-doc-actions { + display: grid; + } + + .fory-doc-action { + justify-content: center; + } +} diff --git a/versioned_docs/version-0.17/introduction/overview.md b/versioned_docs/version-0.17/introduction/overview.md index 1624beb2d5..c047bcea03 100644 --- a/versioned_docs/version-0.17/introduction/overview.md +++ b/versioned_docs/version-0.17/introduction/overview.md @@ -4,13 +4,45 @@ title: Overview sidebar_position: 1 --- -<div class="themed-logo"> - <img width="65%" alt="Apache Fory logo" src="/img/fory-logo-dark.png" class="themed-logo-dark"/> - <img width="65%" alt="Apache Fory logo" src="/img/fory-logo-light.png" class="themed-logo-light"/> +<div class="fory-doc-intro"> + <div> + <div class="fory-doc-kicker">Apache Fory</div> + <p class="fory-doc-lede"> + A high-performance multi-language serialization framework for fast services, cross-language data exchange, and compact binary payloads. + </p> + <div class="fory-doc-actions"> + <a class="fory-doc-action fory-doc-action--primary" href="../start/install">Install Fory</a> + <a class="fory-doc-action" href="#quick-example">Quick Example</a> + <a class="fory-doc-action" href="../specification/xlang_serialization_spec">Read the Spec</a> + </div> + </div> + <div class="fory-doc-brand"> + <img alt="Apache Fory logo" src="/img/fory-logo-dark.png" class="themed-logo-dark"/> + <img alt="Apache Fory logo" src="/img/fory-logo-light.png" class="themed-logo-light"/> + </div> </div> **Apache Fory™** is a blazingly-fast multi-language serialization framework powered by **JIT compilation**, **zero-copy** techniques, and **advanced code generation**, achieving up to **170x performance improvement** while maintaining simplicity and ease of use. +<div class="fory-doc-card-grid"> + <a class="fory-doc-card" href="../start/install"> + <strong>Start building</strong> + <span>Install Fory and run the first serialization example.</span> + </a> + <a class="fory-doc-card" href="../guide/xlang/"> + <strong>Cross-language data</strong> + <span>Serialize objects across Java, Python, Rust, Go, C++, and more.</span> + </a> + <a class="fory-doc-card" href="../specification/row_format_spec"> + <strong>Row format</strong> + <span>Use zero-copy random access for analytics-oriented workloads.</span> + </a> + <a class="fory-doc-card" href="../community/DEVELOPMENT"> + <strong>Contribute</strong> + <span>Build the project locally and join the Apache Fory community.</span> + </a> +</div> + ## Quick Example Cross-language serialization — serialize in Rust, deserialize in Python: --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
