Serius adalah kerangka kerja untuk membangun fiksi episodik (atau serial) untuk web. Dibutuhkan sejumlah file sumber, ditulis dalam format Markdown, dan mengkompilasi file-file ini menjadi aplikasi web halaman tunggal yang sederhana dan disesuaikan untuk Anda sebutkan ke webhost Anda.
Lisensi MIT.
Instal melalui NPM: npm install -g serious-fiction
Menginstal Serious memberi Anda akses ke CLI sederhana untuk membangun cerita Anda. Saya baru dalam menulis CLIS, jadi mungkin tidak se-fitur lengkap seperti yang Anda harapkan.
Anda idealnya harus membuat cerita Anda di direktori kosong. Jalankan serious init
di direktori untuk memulai.
Jalankan serious build
untuk membangun kembali cerita Anda, dan serious serve
untuk melihatnya secara lokal. Anda dapat menggabungkan kedua perintah ini (mis. serious build serve
atau serious serve build
) untuk dengan cepat membangun dan melihat cerita. Anda juga dapat menjalankan serious build
dan menyegarkan tab browser Anda (mungkin perlu menyegarkan keras, yaitu Ctrl + F5
) untuk melihat pembaruan tanpa perlu melayani situs web lagi.
Penggunaan Serius AJAX, jadi Anda harus menyajikannya melalui LocalHost, Anda tidak bisa hanya membuka file index.html
.
Saat Anda menjalankan serious init
, file config.json
akan ditambahkan ke direktori Anda. Di masa depan, saya berharap untuk membuat bagian CLI ini, tetapi untuk saat ini, Anda harus mengeditnya dengan tangan. Sepertinya ini secara default:
{
"title" : " The Title of Your Story " ,
"displayTitle" : " " ,
"subtitle" : " " ,
"description" : " A description of your website (for web searches) goes here. " ,
"copyright" : " © [year] [your name]. All rights reserved. " ,
"posts" : " episodes " ,
"input" : " ./src " ,
"output" : " ./publish " ,
"links" : [
{ "text" : " Website " , "url" : " https://twinelab.net " , "label" : " Learn more about Serious. " },
{ "text" : " Blog " , "url" : " https://twinelab.net/blog " , "label" : " Visit my blog. " }
],
"recentMax" : 5 ,
"recentsExcerpts" : 1 ,
"episodesExcerpts" : 3 ,
"debug" : false ,
"disqusShortname" : " " ,
"googleAnalytics" : " " ,
"cookieWarning" : true ,
"nswf" : false ,
"version" : " latest "
}
Pilihan | Bawaan | Keterangan |
---|---|---|
title | "The Title of Your Story" | Ini adalah nama cerita Anda. Itu muncul di halaman episode terbaru dan halaman daftar episode, dan di tab Browser. Komentar Disqus dikunci untuk judul, jadi Anda mungkin tidak ingin mengubahnya. |
displayTitle | "" | Jika Anda menaruh sesuatu di sini di antara kutipan, itu akan menggantikan judul Anda di mana -mana dalam cerita Anda escept untuk komentar Disqus. |
subtitle | "" | Ini muncul di bawah judul cerita utama di beberapa halaman. Anda bisa menggunakannya sebagai byline, subtitle, atau deskripsi yang sangat singkat. |
description | "A description of your website (for web searches) goes here. | Apa yang Anda masukkan di sini tidak muncul di halaman apa pun, tetapi sebaliknya terdaftar di beberapa situs web, seperti mesin pencari atau situs media sosial, di samping tautan ke cerita. |
copyright | "© [year] [your name]. All rights reserved." | Pemberitahuan hak cipta dapat ditampilkan di bagian paling bawah setiap halaman, tepat di atas tempat "Powered by Serious." pesan adalah. Anda tidak harus menggunakan ini untuk informasi hak cipta. © adalah kode HTML untuk © (simbol hak cipta). |
posts | "episodes" | Opsi ini dapat digunakan untuk mengubah kata yang digunakan untuk merujuk ke posting episode Anda, sehingga Anda dapat mengubah ini menjadi sesuatu yang lain, seperti "chapters" atau "verses" , berdasarkan kebutuhan Anda. |
input | "./src" | Ini memberi tahu serius di mana mencari posting Anda, relatif terhadap config.json . Lewati folder dan akan secara rekursif mencarinya untuk file -file markdown (yang memiliki ekstensi .md ) untuk berubah menjadi posting. Secara umum, Anda tidak perlu mengubah ini, cukup letakkan semua posting Anda di folder src . |
output | "./publish" | Mirip dengan hal di atas, ini memberi tahu serius di mana menempatkan halaman web Anda yang dibangun , dan dari mana harus menjalankannya. Sekali lagi, Anda biasanya tidak perlu mengubah ini. |
links | ... | Anda dapat menambahkan tautan ke menu sidebar menggunakan opsi ini. Setiap tautan akan terlihat seperti ini: { "text": "Click here", "url": "www.somesite.com", "label": "this is a tooltip!" } . Properti text mengontrol teks tampilan tautan, dan url adalah tempat tautan berjalan saat diklik. label Propery muncul sebagai tooltip ketika pengguna melayang mouse mereka di atas tautan (menggunakan atribut HTML title ). Anda dapat menggunakan ini untuk membuat tautan ke blog pribadi Anda, situs web utama, Patreon, dll. |
recentMax | 5 | Ini mengontrol berapa banyak episode acara serius di halaman RESTS (dan halaman arahan). |
recentsExcerpts | 1 | Ini mengontrol berapa banyak episode dalam daftar RESTS memiliki kontennya ditampilkan. Mereka yang tidak ditampilkan menunjukkan elips sebagai gantinya (& helli;). Jika Anda ingin semua konten ditampilkan, atur ini sama dengan (atau lebih tinggi dari) recentMax . |
episodesExcerpts | 3 | Ini mengontrol berapa banyak episode dalam daftar episode memiliki kontennya, mirip dengan recentsExcerpts . |
debug | false | Ini menyalakan fitur debug, termasuk log konsol dan hal -hal lainnya. Umumnya tidak diperlukan untuk sebagian besar pengguna. Mungkin pastikan itu salah sebelum digunakan. |
disqusShortname | "" | Anda dapat mengatur komentar melalui Disqus. Utas komentar akan ditambahkan ke setiap episode, tetapi tidak ke meta pos, daftar, dll. Cukup tambahkan nama pendek Anda di sini, tidak diperlukan konfigurasi lebih lanjut! |
googleAnalytics | "" | Anda dapat mengatur Google Analytics untuk cerita serius Anda. Cukup buat akun, masukkan URL situs Anda, dan salin dan tempel ID pelacakan di sini. |
cookieWarning | true | Menambahkan peringatan cookie cookie cookie yang dihasilkan persetujuan untuk proyek Anda. Jika Anda memiliki solusi sendiri, atau tidak peduli, Anda dapat mengaturnya menjadi false. Serius itu sendiri tidak menggunakan cookie, itu hanya memerlukannya jika Anda menggunakan Disqus dan/atau Google Analytics. |
nsfw | false | Jika benar, tambahkan dialog peringatan layar penuh meminta pengguna untuk mengonfirmasi usia mereka, default ke lebih dari 18 tahun. Anda dapat mengubah nilainya menjadi nomor, misalnya 13 atau 21 untuk meminta pengguna untuk mengonfirmasi bahwa mereka sudah berusia di atas Anda mungkin ingin memeriksa. |
version | "latest" | Versi mesin rendering serius untuk dimasukkan. "Terbaru" disarankan, tetapi jika Anda perlu menggunakan versi yang berbeda, Anda dapat menandai di sini. Lihat changelog di bawah ini untuk daftar versi. |
Anda dapat menulis episode menggunakan markdown rasa gitub. Di bagian atas setiap episode, Anda harus memiliki materi depan YAML untuk menggambarkan episode:
---
title: Example Episode
subtitle: Serious Examples for Serious People
episode: 1
description: Welcome to Serious!
---
This is an **example episode**!
Welcome to Serious. To create episodes, you create a heading block like the one at the top of this file, then write your *markdown format content* after that.
Parameter | Keterangan |
---|---|
judul | Judul episode. Diperlukan. |
subtitle | Subtitle episode. Opsional. |
episode | Nomor episode. Diperlukan. Lihat lebih lanjut di bawah ini. |
keterangan | Deskripsi singkat tentang episode (bukan kutipan). Tidak diperlukan tetapi direkomendasikan. |
Saat memberi nomor episode Anda, mulailah dari 1 (jangan mulai dari 0, itu akan menyebabkan kesalahan), dan pastikan untuk tidak menggandakan pada angka apa pun (juga akan menyebabkan kesalahan). Episode juga tidak boleh jarang. Jika ada episode 1 dan episode 3, harus ada episode 2; Ini tidak akan menyebabkan kesalahan, tetapi mungkin akan merusak situs web yang dihasilkan.
Posting "Meta" adalah posting khusus yang ada di luar struktur episode normal. Hal -hal seperti halaman tentang tentang halaman, rekap, dll. Posting meta secara otomatis ditambahkan ke bilah samping sebagai tautan; Mengklik tautan ini membuat pos meta. Untuk membuatnya, pastikan parameter episode
di bagian depan adalah meta
daripada angka. Ada juga parameter link
tambahan yang dapat digunakan untuk mengubah teks tautan sidebar; Jika parameter link
tidak disediakan, title
digunakan sebagai gantinya. Jika Anda mengatur parameter link
ke _
(satu garis bawah) untuk mencegah tautan sidebar dibuat sama sekali.
---
title: About My Story
link: About
label : Learn more...
subtitle: This is a meta post!
episode: meta
description: Meta posts are awesome!
---
By creating a post and making it's episode property in the header `meta` instead of a number, you can create a *meta post*, which will automatically appear as a link in the sidebar.
Parameter label
menambahkan atribut judul (dan "tooltip") ke tautan yang dihasilkan di bilah sisi.
Parameter posting meta sama dengan episode normal. Perhatikan bahwa judul posting meta harus unik; Episode tidak memiliki batasan ini (meskipun bijak).
Anda dapat membuat tautan Markdown ke episode tertentu dengan membuat tautan yang terlihat seperti ini:
[Last week](./?ep=10) our heroes...
Di atas akan membuat tautan ke episode 10. Untuk membuat tautan ke pos meta, Anda perlu mengetahui judulnya, yang dinormalisasi dan diselimuti (misalnya dipangkas, lebih rendah, dan semua nilai non-huruf dan non-nomor diganti dengan tanda hubung). Misalnya, jika parameter title
' About
' itu menjadi ./?meta=about
, sedangkan Where is This Going?
akan menjadi ./?meta=where-is-this-going-
is-this-coing-.
Segala sesuatu di folder output ( publish
secara default) diperlukan untuk menggunakan situs web. Salin semua file ke solusi hosting Anda untuk digunakan.
Beberapa tema CSS oleh saya.
Anda dapat membuat tema dengan mengedit file theme.css
di direktori output. Anda dapat mengembalikan default atau memulai dari awal dengan menghapus file-file baru, theme.css
kosong.css akan dihasilkan lain kali Anda membangun. Anda dapat mengunduh dan menginstal tema dengan menimpa file yang sama.
Saat ini ada tiga komponen utama untuk proyek: Paket NPM, yang merupakan CLI yang serius; Repositori untuk mesin rendering, skrip, dan gaya yang disajikan ke aplikasi web yang dihasilkan melalui CDN; dan repositori untuk tema yang saya buat. Semua komponen ini dapat dilakukan dengan sedikit pengaduan, tetapi intinya adalah bahwa ketiga hal ini sedang dikembangkan bersama -sama, tetapi tidak ada hubungannya dengan satu sama lain secara fungsional.
nsfw
.