十分鐘快速搭建個(gè)人博客、文檔網(wǎng)站!
VitePress
VitePress 是一款靜態(tài)站點(diǎn)生成器,專為構(gòu)建快速、以內(nèi)容為中心的網(wǎng)站而設(shè)計(jì)。簡而言之,VitePress 獲取用 Markdown 編寫的源內(nèi)容,為其應(yīng)用主題,并生成可以輕松部署在任何地方的靜態(tài) HTML 頁面。VitePress 是 Vuepress 的更現(xiàn)代化、高效和靈活的替代品,適用于構(gòu)建快速、易于定制的文檔站點(diǎn)。
VitePress 附帶一個(gè)專為技術(shù)文檔設(shè)計(jì)的默認(rèn)主題。它為 Vite、Rollup、Pinia、VueUse、Vitest、D3、UnoCSS、Iconify 等文檔提供了支持。Vue.js 官方文檔也基于 VitePress,但使用多個(gè)翻譯之間共享的自定義主題。
VitePress 具有以下特點(diǎn):
- 專注于內(nèi)容:輕松使用Markdown創(chuàng)建漂亮的文檔站點(diǎn)。
- 享受 Vite 開發(fā)體驗(yàn):即時(shí)啟動(dòng)服務(wù)器,快速更新,利用 Vite 生態(tài)系統(tǒng)插件。
- 使用 Vue 進(jìn)行自定義:直接在Markdown中使用Vue語法和組件,或使用Vue構(gòu)建自定義主題。
- 快速發(fā)布網(wǎng)站:通過靜態(tài)HTML實(shí)現(xiàn)快速初始加載,并通過客戶端路由實(shí)現(xiàn)快速后續(xù)導(dǎo)航。
GitHub:https://github.com/vuejs/vitepress。
VuePress
VuePress 是 Vue 團(tuán)隊(duì)開源的一款Vue 驅(qū)動(dòng)的靜態(tài)網(wǎng)站生成器,它由兩部分組成:第一部分是一個(gè)極簡靜態(tài)網(wǎng)站生成器,它包含由 Vue 驅(qū)動(dòng)的主題系統(tǒng)和插件 API,另一個(gè)部分是為編寫技術(shù)文檔而優(yōu)化的默認(rèn)主題,它的誕生初衷是為了支持 Vue 及其子項(xiàng)目的文檔需求。
注意:Vue 團(tuán)隊(duì)目前更推薦使用 VitePress 來構(gòu)建靜態(tài)網(wǎng)站。
每一個(gè)由 VuePress 生成的頁面都帶有預(yù)渲染好的 HTML,也因此具有非常好的加載性能和搜索引擎優(yōu)化(SEO)。同時(shí),一旦頁面被加載,Vue 將接管這些靜態(tài)內(nèi)容,并將其轉(zhuǎn)換成一個(gè)完整的單頁應(yīng)用(SPA),其他的頁面則會(huì)只在用戶瀏覽到的時(shí)候才按需加載。
VuePress 的特點(diǎn)如下:
- 簡潔至上:以 Markdown 為中心的項(xiàng)目結(jié)構(gòu),以最少的配置幫助你專注于寫作。
- Vue 驅(qū)動(dòng):享受 Vue + webpack 的開發(fā)體驗(yàn),可以在 Markdown 中使用 Vue 組件,又可以使用 Vue 來開發(fā)自定義主題。
- 高性能:VuePress 會(huì)為每個(gè)頁面預(yù)渲染生成靜態(tài)的 HTML,同時(shí),每個(gè)頁面被加載的時(shí)候,將作為 SPA 運(yùn)行。
GitHub:https://github.com/vuejs/vuepress。
Docusaurus
Docusaurus是 Facebook 開源的一個(gè)開源的靜態(tài)站點(diǎn)生成器,旨在幫助用戶快速構(gòu)建美觀、易于維護(hù)的文檔站點(diǎn)。它提供了一套全面的工具和功能,使用戶能夠?qū)W⒂诰帉憙?nèi)容,而無需花費(fèi)大量時(shí)間和精力來構(gòu)建和設(shè)計(jì)網(wǎng)站。
Docusaurus基于現(xiàn)代化的技術(shù)棧,使用React作為主要的前端框架,并結(jié)合了其他工具和庫,例如Webpack、Babel和Markdown等。它支持使用Markdown編寫文檔,并通過簡單的文件組織結(jié)構(gòu)來管理和展示文檔內(nèi)容。
Docusaurus提供了許多實(shí)用的功能,如響應(yīng)式布局、快速導(dǎo)航、搜索功能、版本控制、國際化支持等。它還提供了可自定義的主題和插件系統(tǒng),使用戶能夠靈活地定制和擴(kuò)展站點(diǎn)的外觀和功能。
GitHub:https://github.com/facebook/docusaurus。
Dumi
dumi 是螞蟻集團(tuán)開源的一款為組件開發(fā)場景而生的靜態(tài)站點(diǎn)框架,與 father 一起為開發(fā)者提供一站式的組件開發(fā)體驗(yàn),father 負(fù)責(zé)組件源碼構(gòu)建,而 dumi 負(fù)責(zé)組件開發(fā)及組件文檔生成。
dumi 具有以下特性:
- 更好的編譯性能:通過結(jié)合使用 Umi 4 MFSU、esbuild、SWC、持久緩存等方案,帶來比 dumi 1.x 更快的編譯速度
- 內(nèi)置全文搜索:不需要接入任何三方服務(wù),標(biāo)題、正文、demo 等內(nèi)容均可被搜索,支持多關(guān)鍵詞搜索,且不會(huì)帶來產(chǎn)物體積的增加
- 全新主題系統(tǒng):為主題包增加插件、國際化等能力的支持,且參考 Docusaurus 為主題用戶提供局部覆蓋能力,更強(qiáng)更易用
- 約定式路由增強(qiáng):通過拆分路由概念、簡化路由配置等方式,讓路由生成一改 dumi 1.x 的怪異、繁瑣,更加符合直覺
- 資產(chǎn)元數(shù)據(jù) 2.0:在 1.x 及 JSON Schema 的基礎(chǔ)上對資產(chǎn)屬性定義結(jié)構(gòu)進(jìn)行全新設(shè)計(jì),為資產(chǎn)的流通提供更多可能
- 繼續(xù)為組件研發(fā)而生:提供與全新的 NPM 包研發(fā)工具 father 4 集成的腳手架,為開發(fā)者提供一站式的研發(fā)體驗(yàn)
GitHub:https://github.com/umijs/dumi。
Rspress
Rspress 是字節(jié)跳動(dòng)開源的一個(gè)基于 Rspack 的靜態(tài)站點(diǎn)生成器,基于 React 框架進(jìn)行渲染,內(nèi)置了一套默認(rèn)的文檔主題,可以通過 Rspress 來快速搭建一個(gè)文檔站點(diǎn),同時(shí)也可以自定義主題,來滿足你的個(gè)性化靜態(tài)站需求,比如博客站、產(chǎn)品主頁等,也可以接入官方提供的相應(yīng)插件來方便地搭建組件庫文檔。
Rspress 的主要特性如下:
- 構(gòu)建性能:保證足夠快的啟動(dòng)速度,帶來良好的開發(fā)體驗(yàn)。
- MDX 支持:通過 MDX,我們可以方便地復(fù)用文檔片段,以及在文檔中渲染自定義的 React 組件。
- 文檔站基礎(chǔ)能力:包括國際化、多版本支持、全文搜索、組件庫文檔等。
- 可擴(kuò)展性:內(nèi)置插件系統(tǒng),支持通過插件 API 來擴(kuò)展框架功能。
Github:https://github.com/web-infra-dev/rspress。
Astro
Astro 是一個(gè)新興的前端框架,它專注于構(gòu)建文檔網(wǎng)站和靜態(tài)網(wǎng)站。Astro 的設(shè)計(jì)理念是“HTML 優(yōu)先”,它使用標(biāo)準(zhǔn)的 HTML、CSS 和 JavaScript 語言,讓開發(fā)者可以更加自然地編寫 Web 應(yīng)用。
Astro 具有以下特性:
- 組件島嶼:一種用于構(gòu)建更快網(wǎng)站的新型 Web 架構(gòu)。
- 采用服務(wù)端優(yōu)先的 API 設(shè)計(jì):將昂貴的數(shù)據(jù)加載工作從用戶設(shè)備上移開。
- 默認(rèn)情況下無需 JavaScript:避免 JavaScript 運(yùn)行時(shí)的開銷,提高網(wǎng)站速度。
- 邊緣就緒:可在任何地方部署,甚至是像 Deno 或 Cloudflare 這樣的全球邊緣運(yùn)行時(shí)。
- 可定制:支持 Tailwind、MDX 和其他 100 多個(gè)集成,滿足不同的需求。
- UI 無關(guān):支持多種框架,如 React、Preact、Svelte、Vue、Solid、Lit 等。
GitHub:https://github.com/withastro/astro。
Docsify
Docsify 是一個(gè)基于 JavaScript 的文檔網(wǎng)站生成器。它可以將 Markdown 文件轉(zhuǎn)換為漂亮的、響應(yīng)式的文檔網(wǎng)站。
Docsify 的主要特點(diǎn)如下:
- 輕量級:核心庫非常小巧,只有幾十 KB 大小,因此加載速度很快。
- 零配置:構(gòu)建文檔網(wǎng)站非常簡單,不需要復(fù)雜的配置。只需將 Markdown 文件放在指定的目錄中,并在 HTML 文件中引入 Docsify 庫即可。
- 動(dòng)態(tài)加載:可以根據(jù)用戶的瀏覽行為動(dòng)態(tài)加載文檔內(nèi)容,只在需要時(shí)才加載相關(guān)的 Markdown 文件,從而提高網(wǎng)站的性能和加載速度。
- 導(dǎo)航和搜索:提供了便捷的導(dǎo)航和搜索功能,可以幫助用戶快速找到所需的文檔內(nèi)容。
- 插件支持:支持插件系統(tǒng),可以擴(kuò)展其功能。例如,可以添加代碼高亮、圖表、目錄結(jié)構(gòu)等插件,以增強(qiáng)文檔網(wǎng)站的功能和可視化效果。
GitHub:https://github.com/docsifyjs/docsify。
Gatsby
Gatsby 是一個(gè)基于 React 的靜態(tài)網(wǎng)站生成器。它使用現(xiàn)代化的前端開發(fā)工具和技術(shù),幫助開發(fā)者構(gòu)建快速、安全和高性能的網(wǎng)站。
Gatsby 的主要特點(diǎn)如下:
- 靜態(tài)網(wǎng)站生成:通過預(yù)先生成靜態(tài) HTML、CSS 和 JavaScript 文件來構(gòu)建網(wǎng)站,這樣可以提供更快的加載速度和更好的用戶體驗(yàn)。
- React 支持:基于 React 構(gòu)建,利用了 React 的組件化開發(fā)模式和生態(tài)系統(tǒng),使開發(fā)者可以更輕松地構(gòu)建復(fù)雜的交互式界面。
- 數(shù)據(jù)源插件:提供了各種數(shù)據(jù)源插件,可以從不同的數(shù)據(jù)源(如 Markdown 文件、CMS、API 等)獲取數(shù)據(jù),并將其轉(zhuǎn)換為可用于構(gòu)建網(wǎng)站的格式。
- 強(qiáng)大的插件生態(tài)系統(tǒng):擁有豐富的插件生態(tài)系統(tǒng),開發(fā)者可以使用這些插件來擴(kuò)展功能,例如添加圖像優(yōu)化、SEO 支持、數(shù)據(jù)分析等。
- 自動(dòng)優(yōu)化和代碼分割:會(huì)自動(dòng)對生成的網(wǎng)站進(jìn)行優(yōu)化,包括圖像壓縮、代碼分割、懶加載等,以提高性能和加載速度。
- 部署靈活:可以將生成的靜態(tài)文件部署到各種托管平臺,如 Netlify、GitHub Pages、AWS S3 等。
GitHub:https://github.com/gatsbyjs/gatsby。