هذا المشروع هو موقع ويب مسطح يخدم ملفات Markdown ديناميكيًا باستخدام PHP. هناك العديد من الخيارات لإدارة محتوى الموقع ، لكنني أفضل هذه الطريقة لمواقع الويب الشخصية الخاصة بي لأن:
index.md
![](TOC)
![](YouTubeURL)
الخطوة 1: استخدم git
لاستنساخ هذا الريبو خارج مجلد الويب الخاص بك. أقترح /var/www/md2html
الخطوة 2: ربط مجلد الموارد بعنوان URL الذي يمكن الوصول إليه على شبكة الإنترنت
ln -ls /var/www/md2html/resources /var/www/html/md2html-resources
الخطوة 3: انسخ المجلد التجريبي 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
. إذا لم تستخدم Apache أو Mod_Rewrite ، فاستخدم أي نظام لديك لتوجيه طلبات فهرس الدليل بالمثل.
يمكن استنساخ موقع الويب المسطح على خادم ويب باستخدام git
، ثم يمكن لـ PHP تنفيذ git pull
لتحديث المحتوى. من خلال تكوين إجراءات github لتقديم طلب HTTP الذي ينفذ البرنامج النصي تحديث PHP في كل مرة يتم فيها دفع الالتزامات الجديدة إلى المستودع ، من الممكن الحفاظ على موقع ويب بشكل مستمر وتلقائيًا متزامنًا مع مستودع GitHub.
wwwroot
بمسار يمكن الوصول إليه على شبكة الإنترنتAPI_KEY
SECRE في مشروع GITHUBapi.key
في المجلد الجذر (CHMOD 400
)deploy.php
عند دفع الالتزامات الجديدة ، باستخدام API_KEY
كرمز حامل (انظر deploy.yml) بعد استخدام هذا النظام المستند إلى PHP لعدة أشهر ، نمت للاستمتاع به للمواقع الكبيرة مع 100 من الصفحات ، ولكن بالنسبة للمواقع الصغيرة جدًا التي تحتوي على بضع صفحات فقط ، شعرت بالتعقيد لإطلاق النار على مثيل Docker لمجرد إجراء القليل من الصفحات .
لقد قمت بإنشاء Palila لتلبية هذه الحاجة - برنامج نصي صغير Python لتحويل INDEX.MD إلى index.html التي يمكن تشغيلها محليًا (عند التحرير) أو عن بُعد (عند النشر).