使用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
- Hugo -最好用的靜態網站生成器Go網站
- blog-engine-06-pelican 靜態網站生成 支援 markdown 和 reST 語法網站REST
- Gridsome 生成靜態站點基礎
- 網站靜態化思想網站
- cmake:生成靜態庫和動態庫
- Pelican 入門:一個 Python 靜態網站生成器Python網站
- 日記13(靜態網站)網站
- 網站提速-偽靜態(3)網站
- 談談網站靜態化網站
- java 自適應響應式 網站 原始碼 SSM 生成 靜態化 手機 平板 PCJava網站原始碼SSM
- 靜態庫生成
- 如何使用gohugo/hugo建立一個靜態網站?Go網站
- 靜態網頁簡易生成方法網頁
- java靜態代理和動態代理Java
- HTML+CSS編寫靜態網站-42 使用開發者工具HTMLCSS網站
- [譯] 用 Workers 讓靜態網站動態化網站
- Hexo、VitePress、Docusaurus,哪個最適合你的靜態網站生成器?HexoVite網站
- Serverless實踐-靜態網站託管Server網站
- docker容器中佈置靜態網站Docker網站
- 如何高效管理網站靜態資源網站
- Django構建靜態網頁站點Django網頁
- Java 靜態代理和動態代理的使用及原理解析Java
- java靜態方法使用泛型Java泛型
- linux靜態庫的生成與使用(轉)Linux
- 《Dokcer的使用》(四) 實戰之Nginx+靜態網站部署Nginx網站
- 深入瞭解網站中的靜態網頁和動態網頁的相關知識網站網頁
- tinysearch/tinysearch: 使用Rus和Wasm構建的靜態網站的微型全文搜尋引擎ASM網站
- Java中的靜態代理和動態代理Java
- java 企業 網站原始碼 模版 螢幕自適應 有前後臺 springmvc SSM 生成靜態化Java網站原始碼SpringMVCSSM
- php生成靜態檔案PHP
- php 生成靜態頁面PHP
- PHP生成靜態頁面PHP
- 30分鐘搭建你的靜態網站網站
- 靜態網站託管服務平臺網站
- Google Drive新增靜態網站釋出功能Go網站
- Java靜態變數塊使用案例Java變數