โครงการนี้เป็นเว็บไซต์ไฟล์แบนที่ให้บริการไฟล์ Markdown แบบไดนามิกโดยใช้ PHP มีตัวเลือกมากมายสำหรับการจัดการเนื้อหาเว็บไซต์ แต่ฉันชอบวิธีนี้สำหรับเว็บไซต์ส่วนตัวของฉันเพราะ:
index.md
![](TOC)
![](YouTubeURL)
ขั้นตอนที่ 1: ใช้ git
เพื่อโคลน repo นี้ นอก โฟลเดอร์เว็บของคุณ ฉันแนะนำ /var/www/md2html
ขั้นตอนที่ 2: เชื่อมโยงโฟลเดอร์ทรัพยากรกับ URL ที่เข้าถึงได้เว็บ
ln -ls /var/www/md2html/resources /var/www/html/md2html-resources
ขั้นตอนที่ 3: คัดลอกโฟลเดอร์ Demo QuickStart ไปยังโฟลเดอร์เว็บของคุณและเว็บไซต์ของคุณจะมีชีวิตอยู่!
ขั้นตอนที่ 4: ในการสร้างหน้าใหม่ให้สร้างโฟลเดอร์ย่อยด้วย index.md
ที่เก็บนี้มีเว็บไซต์สาธิตพร้อมวิ่ง
เรียกใช้ docker-compose up -d
และไปที่ http: // localhost: 8081
ไฟล์ Markdown สามารถมีส่วนหัวเสริมที่มี เรื่องด้านหน้า เพื่อปรับแต่งสิ่งที่ {{mustache}}
ข้อความถูกแทนที่ด้วยในเทมเพลต การเปลี่ยนค่าเริ่มต้นถูกกำหนดใน settings.php
และค่าใด ๆ ที่กำหนดไว้ในส่วนหัวแทนที่ที่กำหนดไว้ในไฟล์การตั้งค่า
---
title: this text becomes the title element in the header
description: this text becomes header metadata for search engines to display
---
# My Markdown Article
The rest of the ***Markdown*** text goes here...
ที่เก็บนี้ใช้ .htaccess
เพื่อบอก apache (พร้อม mod_rewrite) เพื่อกำหนดเส้นทางคำขอไปยังโฟลเดอร์ที่มี index.md
ไปยังสคริปต์ PHP ท้องถิ่นเพื่อจัดการกับพวกเขา หากคุณไม่ได้ใช้ Apache หรือ Mod_rewrite ให้ใช้ระบบใด ๆ ที่คุณต้องกำหนดเส้นทางคำขอดัชนีไดเรกทอรีในทำนองเดียวกัน
เว็บไซต์ไฟล์แบนสามารถโคลนลงบนเว็บเซิร์ฟเวอร์โดยใช้ git
จากนั้น PHP สามารถเรียกใช้ git pull
เพื่ออัปเดตเนื้อหา โดยการกำหนดค่าการกระทำของ GitHub เพื่อทำการร้องขอ HTTP ที่ดำเนินการสคริปต์การอัปเดต PHP ทุกครั้งที่มีการส่งคำสั่งใหม่ไปยังที่เก็บมันเป็นไปได้ที่จะเก็บเว็บไซต์ไว้อย่างต่อเนื่องและโดยอัตโนมัติด้วยพื้นที่เก็บข้อมูล GitHub
wwwroot
ไปยังเส้นทางที่เข้าถึงได้เว็บAPI_KEY
ในโครงการ GitHubapi.key
ในโฟลเดอร์รูท (CHMOD 400
)deploy.php
เมื่อมีการผลักดันใหม่โดยใช้ API_KEY
เป็นโทเค็นผู้ถือ (ดู deploy.yml) หลังจากใช้ระบบที่ใช้ PHP นี้เป็นเวลาหลายเดือนฉันก็สนุกกับมันสำหรับเว็บไซต์ขนาดใหญ่ที่มีหน้า 100 หน้า แต่สำหรับเว็บไซต์ขนาดเล็กมากที่มีเพียงไม่กี่หน้า .
ฉันสร้าง Palila เพื่อตอบสนองความต้องการนี้ - สคริปต์ Python ขนาดเล็กเพื่อแปลง index.md เป็น index.html ที่สามารถรันในเครื่อง (เมื่อแก้ไข) หรือจากระยะไกล (เมื่อปรับใช้)