بديل لامع لـ http://freenode.net.
ستحتاج إلى تبعيات Node.js:
$ sudo npm install -g [email protected] svgo uglify-js
$ npm installبعد ذلك ، بافتراض تثبيت Python 3.4 (أو لاحقًا):
$ python3 -m venv env
$ . env/bin/activate
$ pip install -r requirements.txt
$ cms7 إذا سارت الأمور على ما يرام ، فيجب أن ترى الكثير من إخراج السجل ، out/ سيحصل على موقع الويب فيه.
نظرًا لأننا ننشئ الموقع بشكل ثابت ، فستحتاج إلى إعادة تشغيل cms7 في كل مرة تقوم فيها بتغيير شيء ما. إذا كان المحرر الخاص بك يعجبك أوامر التجميع التي يمكن أن تعمل من أي دليل ، فيمكنك أيضًا استخدام cms7 -c /path/to/config.yml .
يرجى الامتثال لإرشادات المساهمة
نصيحة مفيدة لأولئك الذين يندمجون PRS: يمكنك تصفح الشجرة التي قد يؤدي دمجها إلى التنقل إلى https://github.com/freenode/web-7.0/tree/pull/XYZ/merge ، حيث XYZ هو رقم طلب السحب.
يمكنك أيضًا الانتقال إلى https://freenode.net/web-7.0/BRANCHNAME/ لمشاهدة بناء أي فرع معين. هذا يعمل أيضًا لطلبات السحب الداخلية (تم تسمية pull-X ).
يتم إنشاء الموقع من مصادر Markdown وقوالب Jinja2 ، الموجودة في content/ templates/ على التوالي. ينشر Build Travis إلى صفحات GitHub تلقائيًا على كل دفعة.
الوحدات النمطية المختلفة تحويل المصادر إلى بنية إخراج مفيدة. في النهاية ، ستقوم CMS7 بتوثيق هذه العملية ، ولكن في الوقت الحالي:
content/pages/ يحتوي على صفحات عادية يتم تقديمها في out/ باستخدام page.html .
content/news/ يحتوي على منشورات المدونة/الأخبار التي يتم تقديمها في out/news/ باستخدام article.html .
content/kb/ يحتوي على فئات KB: كل content/kb/X/ لديه إدخالات للفئة X . يتم تقديم هذه في out/kb/answers/ مع kb.html .
يتم تقديم فهارس هذه الإدخالات في out/kb/ مع kb_index.html ، وفقًا لقائمة في config/kb.yml .
يستخدم CMS7 امتداد Morddown Metadata ، ويتعرف على بعض المفاتيح الخاصة:
title عنوان الصفحةslug عنوان URL المستهدف: pages/hello مع slug: banana out/banana.htmltemplate القالب الذي يقدم به ملف التخفيض هذاخاص بالمدونة:
authordateenclosure عنوان URL للبودكاست لمقالكل ما ينتهي في الإخراج النهائي له اسم يحدده إلى بقية الموقع. إذا تم اشتقاق ملف مباشرة من ملف إدخال ، فسيتم اشتقاق اسمه بشكل عام من اسم الإدخال .
content/pages/hello.md اسمها بالنسبة إلى دليل المحتوى ، ناقص امتدادها: pages/hello .static/img/cat.jpg اسمها بالنسبة لجذر المستودع: static/img/cat.jpg .kb/index/X ، حيث X هي اسم الفهرس في config/kb.yml .يمكن لـ CMS7 إنشاء عنوان URL نسبيًا إلى أي شيء يحمل اسمًا من أي صفحة. يجب دائمًا تفضيل هذا الأمر على كتابة الروابط يدويًا. لإنشاء رابط نسبي من مستند Markdown ، ما عليك سوى ارتباط إلى اسم:
[ A page about frogs ] ( pages/frog ) لفعل الشيء نفسه من قالب ، اتصل بـ url_for :
< a href = " {{ url_for('pages/frog') }} " >A page about frogs</ a >