用 Eleventy 建立一個(gè)靜態(tài)網(wǎng)站
Eleventy 是一個(gè)基于 JavaScript 的 Jekyll 和 Hugo 的替代品,用于構(gòu)建靜態(tài)網(wǎng)站。
靜態(tài)網(wǎng)站生成器是一種基于原始數(shù)據(jù)和一組模板生成完整的靜態(tài) HTML 網(wǎng)站的工具。它可以自動(dòng)完成單個(gè) HTML 頁(yè)面的編碼任務(wù),并讓這些頁(yè)面準(zhǔn)備好為用戶服務(wù)。由于 HTML 頁(yè)面是預(yù)先建立的,它們?cè)谟脩舻臑g覽器中加載得非??臁?/p>
靜態(tài)網(wǎng)站對(duì)文檔也很友好,因?yàn)殪o態(tài)網(wǎng)站很容易擴(kuò)展,而且它們是生成、維護(hù)和部署項(xiàng)目文檔的一種簡(jiǎn)單方法。由于這些原因,企業(yè)經(jīng)常使用它們來記錄應(yīng)用編程接口 (API)、數(shù)據(jù)庫(kù)模式和其他信息。文檔是軟件開發(fā)、設(shè)計(jì)和其他方面技術(shù)的一個(gè)重要組成部分。所有的代碼庫(kù)都需要某種形式的文檔,選擇范圍從簡(jiǎn)單的 README 到完整的文檔。
Eleventy: 一個(gè)靜態(tài)網(wǎng)站生成器
Eleventy(11ty)是一個(gè)簡(jiǎn)單的靜態(tài)網(wǎng)站生成器,是 Jekyll 和 Hugo 的替代品。它是用 JavaScript 編寫的,它將一個(gè)(不同類型的)模板目錄轉(zhuǎn)化為 HTML。它也是開源的,在 MIT 許可下發(fā)布。
Eleventy 可以與 HTML、Markdown、Liquid、Nunjucks、Handlebars、Mustache、EJS、Haml、Pug 和 JavaScript Template Literals 協(xié)同工作。
它的特點(diǎn)包括:
- 易于設(shè)置
- 支持多種模板語(yǔ)言(如 Nunjucks、HTML、JavaScript、Markdown、Liquid)
- 可定制
- 基于 JavaScript,這是許多網(wǎng)絡(luò)開發(fā)者所熟悉的,新用戶也容易學(xué)習(xí)
安裝 Eleventy
Eleventy 需要 Node.js。在 Linux 上,你可以使用你的包管理器安裝 Node.js:
$ sudo dnf install nodejs
如果你的包管理器沒有 Node.js,或者你不在 Linux 上,你可以從 Node.js 網(wǎng)站安裝它。
Node.js 安裝完畢后,就用它來安裝 Eleventy:
$ npm install -g @11ty/eleventy
這就完成了!
為你的文檔建立一個(gè)靜態(tài)網(wǎng)站
現(xiàn)在你可以開始使用 Eleventy 來建立你的靜態(tài)文檔網(wǎng)站。以下是需要遵循的步驟。
1、創(chuàng)建一個(gè) package.json 文件
要將 Eleventy 安裝到你的項(xiàng)目中,你需要一個(gè) package.json
文件:
$ npm init -y
2、將 Eleventy 安裝到 package.json 中
安裝 Eleventy 并保存到你的項(xiàng)目的 package.json
中。運(yùn)行:
$ npm install-save-dev @11ty/eleventy
3、運(yùn)行 Eleventy
使用 npx
命令來運(yùn)行你本地項(xiàng)目的 Eleventy 版本。在你確認(rèn)安裝完成后,嘗試運(yùn)行 Eleventy:
$ npx @11ty/eleventy
4、創(chuàng)建一些模板
現(xiàn)在運(yùn)行兩個(gè)命令來創(chuàng)建兩個(gè)新的模板文件(一個(gè) HTML 和一個(gè) Markdown 文件):
$ cat << EOF >> index.html
<!doctype html><html>
<head>
<title>Page title</title>
</head><body>
<p>Hello world</p>
</body></html>
EOF
$ echo '# Page header' > index.md
這就把當(dāng)前目錄或子目錄中的任何內(nèi)容模板編譯到輸出文件夾中(默認(rèn)為 _site
)。
運(yùn)行 eleventy --serve
來啟動(dòng)一個(gè)開發(fā)網(wǎng)絡(luò)服務(wù)器。
$ npx @11ty/eleventy-serve
在你的網(wǎng)絡(luò)瀏覽器中打開 http://localhost:8080/README/
,看你的 Eleventy 輸出。
然后把 _site
中的文件上傳到你的 Web 服務(wù)器,發(fā)布你的網(wǎng)站給世界看。
嘗試 Eleventy
Eleventy 是一個(gè)靜態(tài)網(wǎng)站生成器,它易于使用,有模板和主題。如果你已經(jīng)在你的開發(fā)流程中使用 Node.js,Eleventy 可能比 Jekyll 或 Hugo 更自然。它能快速提供很好的結(jié)果,并使你免于復(fù)雜的網(wǎng)站設(shè)計(jì)和維護(hù)。要了解更多關(guān)于使用 Eleventy 的信息,請(qǐng)仔細(xì)閱讀它的文檔。