使用“島嶼”設計模式建立博客。 SQLITE數據庫驅動的後端,該後端生成了靜態的現代網站。
腳本通過數據庫循環,為網站上的每個頁面創建了完全渲染的HTML文檔和DOM片段。 NGINX讀取請求,並根據hx-request
標題的存在將一個或另一個。 hx-boost
被用來自動將所有錨標籤提升到Ajax請求,從而使魔術實現。響應文檔包含<title>
標籤,HTMX識別並適用於該頁面以獲得更好的UX&SEO。
所有構建命令均使用BUN運行。
bun install
將拉下所有所需的依賴項。bun edit
運行Wysiwyg數據庫管理的後端服務器。bun run init
構建了dist
文件夾結構,並將文件移至渲染站點的位置。bun htmx
將運行打字稿以實際生成網站的HTML資產。bun css
運行PostCSS腳本,以使用TailWindScss生成和優化網站的樣式。bun start
運行INIT,HTMX和CSS。該網站的內容是從包含4個表SQLite數據庫生成的:帖子,類別,標籤和將它們相關的關係元數據表。數據庫邏輯存在於:SRC/模型中。
html/鬍鬚模板現場:src/views
主要樣式表在這裡:src/ui/theme.css。我知道我在這裡使用尾風“錯誤” 。
有2個定義使用的全局域的文件。一個是為後端編輯器,另一個是博客本身。他們默認為//localhost
以獲得HTTP後備支持。
可以通過運行bun edit
訪問基於Web的Wysiwyg編輯器。編輯器支持添加,編輯和刪除帖子及其元數據以及類別和標籤本身。默認端口和主機名(localhost:8999)可以更改為:src/server.ts。
NGINX樣本配置可在NGINX目錄中使用。唯一的真正的“魔術”是將hx-Request標題在網站可用示例中存在的根目錄附加到根目錄上。
該項目的V1.0完成了!現在正在https://blog.xe.ro為我的博客提供動力
(我正在考慮將此項目稱為b/c ,它是使用以下方式構建的:Typescript nginx tailwindcss htmx unix mustache bun sqlite)
此存儲庫中的所有文件,包括我的博客內容,都發布了CC0 / Kopimi!本著信息自由的精神,我鼓勵您分叉,修改,更改,共享或做您喜歡的任何事情! ^c^v