Penggantian mengkilap untuk http://freenode.net.
Anda akan membutuhkan dependensi Node.js kami:
$ sudo npm install -g [email protected] svgo uglify-js
$ npm installKemudian, dengan asumsi instalasi Python 3.4 (atau lebih baru):
$ python3 -m venv env
$ . env/bin/activate
$ pip install -r requirements.txt
$ cms7 Jika semuanya berjalan dengan baik, Anda harus melihat banyak output log, dan out/ akan memiliki situs web di dalamnya.
Karena kami menghasilkan situs secara statis, Anda harus menjalankan kembali cms7 setiap kali Anda mengubah sesuatu. Jika editor Anda menyukai perintah kompilasi yang dapat berjalan dari direktori mana pun, Anda juga dapat menggunakan cms7 -c /path/to/config.yml .
Harap patuhi pedoman kontribusi
Kiat bermanfaat bagi mereka yang menggabungkan PR: Anda dapat menelusuri pohon yang akan dihasilkan oleh navigasi ke https://github.com/freenode/web-7.0/tree/pull/XYZ/merge , di mana XYZ adalah nomor permintaan tarik.
Anda juga dapat pergi ke https://freenode.net/web-7.0/BRANCHNAME/ untuk melihat bangunan cabang tertentu. Ini juga berfungsi untuk permintaan tarik internal (mereka bernama pull-X ).
Situs ini dihasilkan dari sumber penurunan harga dan templat Jinja2, yang ditemukan di content/ dan templates/ masing -masing. Travis Build menyebarkan ke halaman GitHub secara otomatis pada setiap dorongan.
Berbagai modul mengonversi sumber ke struktur output yang berguna. Akhirnya CMS7 akan mendokumentasikan proses ini, tetapi untuk saat ini:
content/pages/ berisi halaman sederhana yang diterjemahkan out/ menggunakan page.html .
content/news/ berisi posting blog/berita yang diterjemahkan out/news/ menggunakan article.html .
content/kb/ Berisi Kategori KB: Setiap content/kb/X/ Memiliki Entri untuk Kategori X Ini diterjemahkan out/kb/answers/ dengan kb.html .
Indeks dari entri ini diterjemahkan out/kb/ dengan kb_index.html , menurut daftar dalam config/kb.yml .
CMS7 menggunakan ekstensi metadata markdown, dan mengenali beberapa kunci khusus:
title Mengatur Judul Halamanslug mengesampingkan URL target: pages/hello dengan slug: banana akan out/banana.htmltemplate menimpa templat yang dapat digunakan untuk membuat file penurunan harga iniSpesifik blog:
authordateenclosure mengatur URL podcast sebuah artikelSegala sesuatu yang berakhir di output akhir memiliki nama yang mengidentifikasikannya ke seluruh situs web. Jika file diturunkan langsung dari file input, umumnya namanya berasal dari nama input .
content/pages/hello.md dinamai nama mereka sendiri relatif terhadap direktori konten, dikurangi ekstensi mereka: pages/hello .static/img/cat.jpg dinamai nama mereka sendiri relatif terhadap root repositori: static/img/cat.jpg .kb/index/X , di mana X adalah nama indeks dalam config/kb.yml .CMS7 dapat menghasilkan URL relatif untuk apa pun dengan nama dari halaman apa pun. Ini harus selalu lebih disukai daripada menulis tautan secara manual. Untuk menghasilkan tautan relatif dari dokumen Markdown, cukup tautan ke nama:
[ A page about frogs ] ( pages/frog ) Untuk melakukan hal yang sama dari templat, hubungi url_for :
< a href = " {{ url_for('pages/frog') }} " >A page about frogs</ a >