使用Java和Maven(JBake)生成靜態網站 - optaplanner
靜態網站生成器將模板和內容檔案轉換為靜態 HTML/JS/CSS 網站。對於我們這樣的專案,這比內容管理系統 (CMS) 有很多優勢:
- 託管很便宜。GitHub 頁面甚至免費託管靜態網站。
- 原始檔進入 Git 進行備份和歷史記錄。
- 原始檔為純文字格式:
- 更改以拉取請求的形式出現,以進行適當的審查和 CI 驗證。
- 原始碼在我們的 IDE 中是開放的,這鼓勵將它們與程式碼一起重構。這會減少陳舊的內容。
為什麼是 JBake?
因為我們是 Java 程式設計師。
有幾個很好的靜態網站生成器,比如 Jekyll (Ruby) 和 Hugo (Go)。我們選擇JBake (Java),因為:
- 我們的網站現在使用 Maven ( mvn generate-resources)構建。無需安裝任何東西。甚至不是 JBake。 每個人都使用相同版本的 JBake 構建,如pom.xml.而且速度很快:即使mvn clean在我的機器上構建 150 個輸出頁面也只需要 20 秒。
- .下面全是Java。編寫條件表示式很簡單。API ( String.substring(), ... ) 很熟悉。日期格式 ( d MMMM yyyy) 和正規表示式的行為符合預期。最重要的是,錯誤訊息很清楚。
8 年來,我用 Awestruct (Ruby) 編寫了這個網站。但我從來沒有花時間好好學習 Ruby,所以每次改變都需要數小時的反覆試驗。我不能只是閱讀錯誤訊息並修復它。這不是魯比的錯。那是因為我從來沒有花幾天時間來真正學習 Ruby。使用 JBake,我可以在很短的時間內修復錯誤:不再需要反覆試驗。
什麼是 JBake?
JBake 是一個靜態網站生成器,有很多選項:
- 使用 Maven 或 Gradle 構建。
我們選擇Maven,因為我們所有的儲存庫都是使用 Maven 構建的(儘管兩個OptaPlanner Quickstarts也使用 Gradle 構建,因為 OptaPlanner 也支援 Gradle)。 - 用 Asciidoc、Markdown 或 HTML 編寫內容。
我們選擇Asciidoc 是因為它比 Markdown更豐富、更可靠。此外,我們所有的文件都是用 Asciidoc 編寫的。 - 使用 Freemarker、Thymeleaf 或 Groovy 建立模板。
我們選擇Freemarker 是因為它是一個強大的、經過實戰考驗的模板引擎。
$ git clone https://github.com/kiegroup/optaplanner-website.git ... $ cd optaplanner-website $ mvn clean generate-resources ... $ firefox target/website/index.html |
相關文章
- 前後端,靜態網站和動態網站, 的理解後端網站
- Hugo -最好用的靜態網站生成器Go網站
- blog-engine-06-pelican 靜態網站生成 支援 markdown 和 reST 語法網站REST
- Gridsome 生成靜態站點基礎
- Pelican 入門:一個 Python 靜態網站生成器Python網站
- 網站偽靜態配置網站
- 網站靜態化思想網站
- Rust 的靜態網站生成器「GitHub 熱點速覽」Rust網站Github
- cmake:生成靜態庫和動態庫
- 如何使用gohugo/hugo建立一個靜態網站?Go網站
- Django+nginx+靜態網站DjangoNginx網站
- java 自適應響應式 網站 原始碼 SSM 生成 靜態化 手機 平板 PCJava網站原始碼SSM
- 靜態庫生成
- [譯] 用 Workers 讓靜態網站動態化網站
- 新手必會的靜態站點生成器——Gridsome
- Java 靜態代理和動態代理的使用及原理解析Java
- Hexo、VitePress、Docusaurus,哪個最適合你的靜態網站生成器?HexoVite網站
- java靜態方法使用泛型Java泛型
- PbootCMS網站IIS偽靜態規則boot網站
- PbootCMS網站apache偽靜態規則boot網站Apache
- PbootCMS網站nginx偽靜態規則boot網站Nginx
- Serverless實踐-靜態網站託管Server網站
- docker容器中佈置靜態網站Docker網站
- java 企業 網站原始碼 模版 螢幕自適應 有前後臺 springmvc SSM 生成靜態化Java網站原始碼SpringMVCSSM
- 《Dokcer的使用》(四) 實戰之Nginx+靜態網站部署Nginx網站
- tinysearch/tinysearch: 使用Rus和Wasm構建的靜態網站的微型全文搜尋引擎ASM網站
- Java中的靜態代理和動態代理Java
- 靜態網站託管服務平臺網站
- 30分鐘搭建你的靜態網站網站
- 996.icu到955.holiday--使用Github託管靜態網站996Github網站
- android下java的靜態庫和動態庫AndroidJava
- Java基礎系列-靜態代理和動態代理Java
- freemarker根據靜態模板和動態模板生成PDF與Word
- [譯] 提高 10 倍效能:優化靜態網站優化網站
- 用於靜態網站的最小Docker映象 - lipanski網站Docker
- 網站建設有必要做偽靜態嗎?網站
- Java靜態代理Java
- 靜態網站如何修改,輕鬆更新網頁內容網站網頁