如何構建StarRocks官方文檔

不知道是網絡問題還是官網問題,StarRocks文檔經常出現卡頓的情況,曾經構建過Flink文檔, 所以也想嘗試自己構建一個StarRocks的本地官方文檔
斷斷續續折騰了好幾天,就不廢話了,直接上實際步驟

1. 環境

1.1 Linux環境 (虛擬機或者wsl都可以,我用的wsl,不要使用cygwin,路徑轉換有問題)
1.2 nvm、npm、yarn

nvm安裝和管理nodejs

2. 直接開始

2.1 git clone doc-build (構建StarRocks文檔官方項目)
git clone https://github.com/StarRocks/doc-build.git
2.2 README.md 中有明確的步驟
yarn install --frozen-lockfile
git clone https://gitcode.com/GitHub_Trending/st/starrocks.git temp # 原地址為github,不推薦,建議替換為gitee官方倉庫地址加速下載
npm run copy
export DOCUSAURUS_IGNORE_SSG_WARNINGS=true
export NODE_OPTIONS="--max-old-space-size=12192"
yarn clear && yarn build && yarn serve # build 為實際構建靜態文檔命令,serve 為開啟本地web服務
# 在Linux上構建完后可復制構建好的 build 文件夾到任意位置,并在當前位置使用 python -m http.server [port] 開啟本地web服務

可以開啟兩個窗口 同時執行 yarn install 和 git clone

2.3 執行npm run copy前的幾個文件修改(可忽略)

本博客構建的文檔版本 3.5 3.1 2.5 的中文和英文 文檔

  1. doc-build/versions.json 只保留需要的版本
["3.5","3.1","2.5"
]
  1. doc-build/docusaurus.config.js 中需修改的幾個位置
  i18n: {defaultLocale: 'en', # 不建議修改為zh,否則搜索跳轉功能頁面url可能不對,別問我怎么知道的 。。。locales: ['en', 'zh'], # 只保留中英文localeConfigs: {en: {htmlLang: 'en-US',},zh: {htmlLang: 'zh-CN',},},},onlyIncludeVersions: (() => {if (isVersioningDisabled) {return ['current'];} else if (isBuildFast){return [...versions.slice(0, 1)];} else {return ['3.5', '3.1', '2.5']; # 只保留需要的版本}})(),versions: (() => {if (isVersioningDisabled) {return { current: { label: 'current' } };} else {return { # 只保留需要的版本'3.5': { label: 'Latest-3.5', banner: 'none' },'3.1': { label: '3.1', banner: 'none' },'2.5': { label: '2.5', banner: 'none' },};}})(),},
  1. doc-build/src/versions.json 只保留需要的版本(不要刪除 main !!!)
[{"branch": "main"},{"branch": "3.5"},{"branch": "3.1"},{"branch": "2.5"}
]
  1. doc-build/src/locales.json
[{"id": "zh-cn","sourceDir": "docs/zh"},{ # 英文文檔還是建議保留的,刪除用不上的日文文檔"id": "en-us","sourceDir": "docs/en"}
]
  1. doc-build/src/config.js
# 將github倉庫地址切換為gitee,注意沒有.git后綴,多版本構建文檔會checkout對應分支
repoUrl: `https://gitcode.com/GitHub_Trending/st/starrocks`
  1. doc-build_IGNORE\cp_common_docs.sh 刪除不需要的分支和語言
# 此處貼出我這次修改后的完整內容
#!/bin/bashrm -rf versioned_docs/version-*/release_notes versioned_docs/version-*/developers
rm -rf i18n/zh/docusaurus-plugin-content-docs/version-*/release_notes i18n/zh/docusaurus-plugin-content-docs/version-*/developersmkdir -p releasenotes
mkdir -p commonmkdir -p versioned_docs/version-3.5/_assets/
mkdir -p versioned_docs/version-3.1/_assets/
mkdir -p versioned_docs/version-2.5/_assets/mkdir -p versioned_docs/version-3.5/developers/
mkdir -p versioned_docs/version-3.1/developers/
mkdir -p versioned_docs/version-2.5/developers/mkdir -p i18n/zh/docusaurus-plugin-content-docs/version-3.5/_assets/
mkdir -p i18n/zh/docusaurus-plugin-content-docs/version-3.1/_assets/
mkdir -p i18n/zh/docusaurus-plugin-content-docs/version-2.5/_assets/mkdir -p i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/
mkdir -p i18n/zh/docusaurus-plugin-content-docs/version-3.1/developers/
mkdir -p i18n/zh/docusaurus-plugin-content-docs/version-2.5/developers/cp versioned_docs/version-3.5/_assets/visualized_heap_profile.png versioned_docs/version-3.1/_assets/
cp versioned_docs/version-3.5/_assets/visualized_heap_profile.png versioned_docs/version-2.5/_assets/
cp versioned_docs/version-3.5/_assets/visualized_heap_profile.png i18n/zh/docusaurus-plugin-content-docs/version-3.5/_assets/
cp versioned_docs/version-3.5/_assets/visualized_heap_profile.png i18n/zh/docusaurus-plugin-content-docs/version-3.1/_assets/
cp versioned_docs/version-3.5/_assets/visualized_heap_profile.png i18n/zh/docusaurus-plugin-content-docs/version-2.5/_assets/cp versioned_docs/version-3.5/_assets/debug_info.png versioned_docs/version-3.1/_assets/
cp versioned_docs/version-3.5/_assets/debug_info.png versioned_docs/version-2.5/_assets/
cp versioned_docs/version-3.5/_assets/debug_info.png i18n/zh/docusaurus-plugin-content-docs/version-3.5/_assets/
cp versioned_docs/version-3.5/_assets/debug_info.png i18n/zh/docusaurus-plugin-content-docs/version-3.1/_assets/
cp versioned_docs/version-3.5/_assets/debug_info.png i18n/zh/docusaurus-plugin-content-docs/version-2.5/_assets/cp versioned_docs/version-3.5/_assets/*trace*.png versioned_docs/version-3.1/_assets/
cp versioned_docs/version-3.5/_assets/*trace*.png versioned_docs/version-2.5/_assets/cp versioned_docs/version-3.5/_assets/*trace*.png i18n/zh/docusaurus-plugin-content-docs/version-3.5/_assets/
cp versioned_docs/version-3.5/_assets/*trace*.png i18n/zh/docusaurus-plugin-content-docs/version-3.1/_assets/
cp versioned_docs/version-3.5/_assets/*trace*.png i18n/zh/docusaurus-plugin-content-docs/version-2.5/_assets/cp versioned_docs/version-3.5/_assets/IDEA*.png versioned_docs/version-2.5/_assets/
cp versioned_docs/version-3.5/_assets/ide*.png versioned_docs/version-2.5/_assets/cp versioned_docs/version-3.5/_assets/IDEA*.png i18n/zh/docusaurus-plugin-content-docs/version-3.1/_assets/
cp versioned_docs/version-3.5/_assets/ide*.png i18n/zh/docusaurus-plugin-content-docs/version-3.1/_assets/
cp versioned_docs/version-3.5/_assets/IDEA*.png i18n/zh/docusaurus-plugin-content-docs/version-2.5/_assets/
cp versioned_docs/version-3.5/_assets/ide*.png i18n/zh/docusaurus-plugin-content-docs/version-2.5/_assets/mv common/releasenotes/en-us/release*.md releasenotes/
mv common/releasenotes/en-us/*or.md releasenotes/mv common/releasenotes/zh-cn/release*.md i18n/zh/docusaurus-plugin-content-docs-releasenotes/current/
mv common/releasenotes/zh-cn/*or.md i18n/zh/docusaurus-plugin-content-docs-releasenotes/current/cp -r common/releasenotes/en-us/build-starrocks versioned_docs/version-3.5/developers/
cp -r common/releasenotes/en-us/code-style-guides versioned_docs/version-3.5/developers/
cp common/releasenotes/en-us/debuginfo.md versioned_docs/version-3.5/developers/
cp -r common/releasenotes/en-us/development-environment versioned_docs/version-3.5/developers/
cp common/releasenotes/en-us/How_to_Contribute.md versioned_docs/version-3.5/developers/
cp common/releasenotes/en-us/jemalloc_heap_profile.md versioned_docs/version-3.5/developers/
cp -r common/releasenotes/en-us/trace-tools versioned_docs/version-3.5/developers/
cp common/releasenotes/en-us/versions.md versioned_docs/version-3.5/developers/cp -r versioned_docs/version-3.5/developers/* versioned_docs/version-3.1/developers/
cp -r versioned_docs/version-3.5/developers/* versioned_docs/version-2.5/developers/cp -r common/releasenotes/zh-cn/build-starrocks         i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/
cp -r common/releasenotes/zh-cn/code-style-guides       i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/
cp common/releasenotes/zh-cn/debuginfo.md               i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/
cp -r common/releasenotes/zh-cn/development-environment i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/
cp common/releasenotes/zh-cn/How_to_Contribute.md       i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/
cp common/releasenotes/zh-cn/jemalloc_heap_profile.md   i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/
cp -r common/releasenotes/zh-cn/trace-tools             i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/
cp common/releasenotes/zh-cn/versions.md                i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/cp -r i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/* i18n/zh/docusaurus-plugin-content-docs/version-3.1/developers/
cp -r i18n/zh/docusaurus-plugin-content-docs/version-3.5/developers/* i18n/zh/docusaurus-plugin-content-docs/version-2.5/developers/rm versioned_docs/version-3.1/developers/versions.md
rm versioned_docs/version-2.5/developers/versions.md
rm i18n/zh/docusaurus-plugin-content-docs/version-3.1/developers/versions.md
rm i18n/zh/docusaurus-plugin-content-docs/version-2.5/developers/versions.md

3. 構建過程和對應截圖

3.1 doc-build clone、yarn install、starrocks clone

倉庫克隆和yarn安裝組件

3.2 執行 npm run copy、設置參數、yarn clear

從package.json可以看出執行的實際命令是 node cli.js copy,cli.js中定義了根據versions.json和locales.json定義下載指定的分支和語言文檔文件的操作,最后會調用doc-build\_IGNORE\cp_common_docs.sh復制上述文檔到指定位置用于后續的構建
文檔復制

3.3 開始構建文檔、開啟web服務

構建文檔+開啟web服務

666 開始訪問 localhost:3000

和官網基本看不出差別,左上角的分支切換、語言切換,右上角的搜索功能也都全部支持,開心,祝大家都能構建成功 !!!
非常完美

也可直接cmd切換到doc-build/build并執行python -m http.server,也可正常使用,體驗感可能會差點,但勝在方便
python開啟web服務

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/95326.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/95326.shtml
英文地址,請注明出處:http://en.pswp.cn/web/95326.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

堡壘機(跳板機)入門指南:構建更安全的多服務器運維架構

隨著你的業務不斷擴張,你云上服務器的數量,是不是也從一臺,變成了三臺、五臺、甚至一個由幾十臺機器組成的龐大集群?你像一個盡職的“國王”,為你王國的每一座“城池”(每一臺服務器)&#xff0…

(鏈表)Leetcode206鏈表反轉+Leetcode6刪除鏈表的倒數第N個結點+虛擬頭節點使用

虛擬頭結點的作用是:簡化插入/刪除邏輯方便返回頭節點減少邊界錯誤 Leetcode206鏈表反轉 206. 反轉鏈表 - 力扣(LeetCode) 頭插法 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, val0, nextN…

自然語言處理NLP:嵌入層Embedding中input_dim的計算——Tokenizer文本分詞和編碼

1. 詞匯表大小(input_dim)計算方法 嵌入層Embedding中的input_dim是根據數據中所有唯一詞(或字)的總數來決定的。可以通過Tokenizer文本分詞和編碼得到。 簡單說,Tokenizer 是一個文本分詞和編碼器,它主要做…

python中的分代垃圾回收機制的原理【python進階二、2】

1. 分代設計思想Python 將對象按存活時間分為三代(Generation 0, 1, 2):0代(年輕代):新創建的對象。1代(中年代):經歷一次GC掃描后存活的對象。2代(老年代&am…

【后端】云服務器用nginx配置域名訪問前后端分離項目

云服務器有多個服務(前端 3000 端口、后端 8288 端口,甚至還有別的服務)。希望用戶只輸入 域名(比如 https://example.com),而不是 example.com:3000、example.com:8288。本質上是要做 端口隱藏 域名統一入…

軟考中級數據庫系統工程師學習專篇(67、數據庫恢復)

67、數據庫恢復數據庫故障恢復中基于檢查點的事務分類與處理策略在數據庫系統發生故障后的恢復過程中,?檢查點(Checkpoint)?? 技術是關鍵機制,它能有效縮小恢復范圍,減少需要掃描的日志量,從而加速恢復進…

SpringBoot 分庫分表 - 實現、配置與優化

分庫分表(Database Sharding)是一種數據庫架構優化技術,通過將數據分散到多個數據庫或表中,以應對高并發、大數據量場景,提升系統性能和擴展性。 在 Spring Boot 中,分庫分表可以通過框架支持(如…

爬蟲代理實操:選擇可靠的HTTP(S)代理的方法

在爬蟲工作里,選對代理協議(HTTP/HTTPS)只是第一步,更關鍵的是找到 “可靠” 的代理 —— 哪怕是 HTTPS 代理,若節點不穩定、IP 純凈度低,照樣會頻繁被封,反而耽誤采集進度。這幾年踩過不少坑&a…

數據庫常見故障類型

數據庫常見故障類型數據庫系統運行過程中可能發生的故障主要分為以下三類,其破壞性由小到大:故障類型別名根本原因影響范圍典型例子?1. 事務故障?邏輯故障事務內部的程序邏輯錯誤或輸入異常。?單個或少量事務。- 輸入數據不合法(如除零錯誤…

【Android】Span富文本簡介

一,概述android.text包下span體系類,主要指Spanned、Spannable、ParagraphStyle、CharacterStyle實現類。Android通過Span體系,搭建了富文本API,其中Spanned、Spannable實現了CharSequence接口,旨在映射段落start~end之…

【HTML】draggable 屬性:解鎖網頁交互新維度

一、簡介 在Web開發中,用戶與內容的交互方式直接影響用戶體驗的深度。在 HTML 中,draggable 是一個全局屬性,通過簡單配置即可讓任意元素實現拖拽功能。也可通過結合 draggable 屬性和 JavaScript 事件,可以實現豐富的拖放交互功能…

如何在Github中創建倉庫?如何將本地項目上傳到GitHub中?

1.1 點擊New repository(這個是創建代碼倉庫的意思)初次完成后只有一個文件最后:在本地git clone 項目地址然后把項目文件復制到git的文件夾內再提交到遠程倉庫git add . git commit -m "修改https"git push origin mainmain為分支…

【前端教程】HTML 基礎界面開發

一、網站導航欄設計與實現 導航欄是網站的重要組成部分&#xff0c;負責引導用戶瀏覽網站的各個板塊。以下是一個實用的導航欄實現方案&#xff1a; 實現代碼 HTML 結構&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8" /&…

【學Python自動化】 6. Python 模塊系統學習筆記

一、模塊基礎 什么是模塊&#xff1f;包含 Python 定義和語句的 .py 文件解決代碼復用和組織問題每個模塊有自己的命名空間創建模塊示例# fibo.py - 斐波那契模塊 def fib(n):"""打印小于n的斐波那契數列"""a, b 0, 1while a < n:print(a, e…

機器學習-時序預測2

門控循環單元GRU 接著機器學習-時序預測1-CSDN博客這個說&#xff0c;GRU是LSTM的一個簡化而高效的變體&#xff0c;都使用“門控機制”來控制信息流&#xff0c;但它通過合并一些組件&#xff0c;使結構更簡單、參數更少、計算更快&#xff0c;同時在許多任務上性能與 LSTM 相…

數據湖與數據倉庫

大數據前沿技術詳解 目錄 數據湖技術湖倉一體架構數據網格實時流處理技術云原生數據技術數據治理與血緣AI原生數據平臺邊緣計算與大數據 核心內容包括&#xff1a; 數據湖技術 - 架構模式、技術棧、面臨的挑戰 湖倉一體架構 - Delta Lake、Iceberg、Hudi等主流實現 數據網格…

Python OpenCV圖像處理與深度學習:Python OpenCV入門-圖像處理基礎

Python OpenCV入門實踐&#xff1a;圖像處理基礎 學習目標 通過本課程&#xff0c;學員們將了解OpenCV的基本概念、安裝方法&#xff0c;掌握如何使用Python和OpenCV進行基本的圖像處理操作&#xff0c;包括圖像的讀取、顯示、保存以及簡單的圖像變換。 相關知識點 Python Open…

【lua】Lua 入門教程:從環境搭建到基礎編程

Lua 入門教程&#xff1a;從環境搭建到基礎編程 Lua 是一種輕量級、可擴展的腳本語言&#xff0c;廣泛應用于游戲開發&#xff08;如《魔獸世界》《Roblox》&#xff09;、嵌入式系統、Web 后端等領域。它語法簡潔、運行高效&#xff0c;非常適合作為編程入門語言或輔助開發工…

MySQL索引事務(未完成)

索引的相關操作1.查看索引show index from 表名;2.創建索引create index 索引名字 on 表名(列名);創建索引&#xff0c;是一個危險操作創建索引的時候&#xff0c;需要針對現有的數據&#xff0c;進行大規模的重新整理如果當前表是一個空表&#xff0c;或者數據不多&#xff0c…

Docker一鍵快速部署壓測工具,高效測試 API 接口性能

以下是對該壓測工具的簡單介紹&#xff1a; 這是一個簡易的在線壓測工具&#xff0c;可以對 API 接口/頁面、websocket服務等進行壓力測試&#xff0c;檢驗服務的并發能力使用 thinkphp ant design pro 構建&#xff0c;壓測能力驅動基于 wrk 、 php 多進程協程實現支持在線授…