การสร้างบล็อกโดยใช้รูปแบบการออกแบบ "เกาะ" ฐานข้อมูล SQLite ที่ขับเคลื่อนด้วยแบ็กเอนด์ที่สร้างเว็บไซต์ที่ทันสมัยแบบคงที่
สคริปต์จะวนผ่านฐานข้อมูลที่สร้างทั้งเอกสาร HTML ที่แสดงผลอย่างสมบูรณ์และตัวอย่าง DOM สำหรับทุกหน้าบนเว็บไซต์ Nginx อ่านคำขอและจะให้บริการอย่างใดอย่างหนึ่งโดยพิจารณาจากการมีอยู่ของส่วนหัว hx-request
hx-boost
ใช้เพื่อยกแท็กยึดทั้งหมดไปยังคำขอ AJAX โดยอัตโนมัติทำให้เวทมนตร์เกิดขึ้น เอกสารการตอบสนองมีแท็ก <title>
ที่ HTMX รับรู้และนำไปใช้กับหน้าเว็บเพื่อให้ดีกว่า UX & SEO
คำสั่ง build ทั้งหมดทำงานโดยใช้ Bun
bun install
จะดึงการพึ่งพาที่ต้องการทั้งหมดลงbun edit
เรียกใช้เซิร์ฟเวอร์แบ็กเอนด์สำหรับการจัดการฐานข้อมูล WYSIWYGbun run init
สร้างโครงสร้างโฟลเดอร์ dist
และย้ายไฟล์เข้าที่สำหรับไซต์ที่แสดงผลbun htmx
จะเรียกใช้ TypeScript เพื่อสร้างสินทรัพย์ HTML ของไซต์bun css
เรียกใช้สคริปต์ PostCSS เพื่อสร้างและปรับแต่งสไตล์ของไซต์โดยใช้ TailWindSCSSbun start
Runs Init, HTMX และ CSSเนื้อหาของไซต์ถูกสร้างขึ้นจากฐานข้อมูล SQLite 4 ตารางที่มี: โพสต์หมวดหมู่แท็กและตารางข้อมูลเมตาเชิงสัมพันธ์ที่สัมพันธ์กัน ตรรกะฐานข้อมูลมีอยู่ใน: SRC/รุ่น
แม่แบบ html/หนวดอาศัยอยู่ใน: src/views
สไตล์ชีทหลักอยู่ที่นี่: src/ui/theme.css ฉันรู้ว่าฉันใช้ tailwinds "ผิด" ออกไปที่นี่
มี 2 ไฟล์ที่กำหนดโดเมนทั่วโลกที่ใช้ หนึ่งคือสำหรับตัวแก้ไขแบ็กเอนด์อีกบล็อกตัวเอง พวกเขาเริ่มต้นเป็น //localhost
สำหรับการสนับสนุนทางเลือก HTTP
ตัวแก้ไข WYSIWYG บนเว็บสามารถเข้าถึงได้โดยเรียกใช้ bun edit
ตัวแก้ไขสนับสนุนการเพิ่มแก้ไขและลบโพสต์และข้อมูลเมตาของพวกเขารวมถึงหมวดหมู่และแท็กด้วยตัวเอง พอร์ตเริ่มต้นและชื่อโฮสต์ (localhost: 8999) สามารถเปลี่ยนแปลงได้ใน: src/server.ts
การกำหนดค่าตัวอย่าง Nginx มีอยู่ในไดเรกทอรี Nginx "เวทย์มนตร์" ที่แท้จริงเพียงอย่างเดียวคือการต่อท้ายไดเรกทอรีรากเกี่ยวกับการมีอยู่ของส่วนหัวของ HX-Request ในตัวอย่างที่มีอยู่ในไซต์
v1.0 ของโครงการนี้เสร็จสมบูรณ์! ตอนนี้กำลังเปิดบล็อกของฉันที่ https://blog.xe.ro
(ฉันกำลังคิดที่จะเรียกโครงการนี้ tnthumbs b/c ที่สร้างขึ้นโดยใช้: typeScript nginx tailwindcss htmx unix bun bun sqlite)
ไฟล์ทั้งหมดใน repo นี้รวมถึงเนื้อหาของบล็อกของฉันได้รับการเผยแพร่ CC0 / Kopimi! ด้วยจิตวิญญาณแห่ง เสรีภาพในการให้ข้อมูล ฉันขอแนะนำให้คุณแยกดัดแปลงเปลี่ยนแปลงแบ่งปันหรือทำสิ่งที่คุณต้องการกับโครงการนี้! ^c^v