Serious 是一個用來建構網路情節(或連載)小說的框架。它需要許多以 Markdown 格式編寫的原始文件,並將這些文件編譯成一個簡單、結構化的單頁 Web 應用程序,以便您部署到您的 Web 主機。
麻省理工學院許可證。
透過 NPM 安裝: npm install -g serious-fiction
安裝 Serious 後,您可以存取簡單的 CLI 來建立您的故事。我是編寫 CLI 的新手,因此它可能不會像您期望的那樣功能齊全。
理想情況下,您應該在空目錄中建立您的故事。在目錄中運行serious init
即可開始。
運行serious build
來重建您的故事,並serious serve
以在本地查看它。您可以組合這兩個命令(例如, serious build serve
或serious serve build
)來快速構建和查看故事。您還可以運行serious build
並刷新瀏覽器選項卡(有時可能需要硬刷新,即Ctrl + F5
)以查看更新,而無需再次提供網站服務。
Serious 使用 AJAX,因此您需要透過 localhost 提供服務,不能只開啟index.html
檔案。
當您執行serious init
時,一個config.json
檔案將會新增到您的目錄中。將來,我希望將這部分作為 CLI 的一部分,但現在,您需要手動編輯它。預設情況下它看起來像這樣:
{
"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 "
}
選項 | 預設 | 描述 |
---|---|---|
title | "The Title of Your Story" | 這是你的故事的名稱。它出現在最近劇集頁面和劇集列表頁面以及瀏覽器標籤中。 Disqus 評論與標題相關,因此您可能不想更改它。 |
displayTitle | "" | 如果您在引號之間添加某些內容,它將替換故事中所有地方的標題,除了 Disqus 評論之外。 |
subtitle | "" | 它出現在某些頁面的主要故事標題下方。您可以將其用作署名、副標題或簡短的描述。 |
description | "A description of your website (for web searches) goes here. | 您在此輸入的內容不會出現在任何頁面中,而是會在某些網站(例如搜尋引擎或社交媒體網站)上列出,並附有故事連結。 |
copyright | "© [year] [your name]. All rights reserved." | 版權聲明可以顯示在每個頁面的最底部,就在"Powered by Serious." 消息是。您不一定必須使用它來獲取版權資訊。 © 是 ©(版權符號)的 html 程式碼。 |
posts | "episodes" | 此選項可用於更改用於引用您的劇集帖子的單詞,因此您可以根據您的需求將其更改為其他內容,例如"chapters" 或"verses" 。 |
input | "./src" | 這告訴 Serious 在哪裡找到您的帖子(相對於config.json 。向其傳遞一個資料夾,它將遞歸地搜尋 Markdown 檔案(擴展名為.md )以將其轉換為帖子。一般來說,您不需要更改此設置,只需將所有帖子放在src 資料夾中即可。 |
output | "./publish" | 與上面類似,這告訴 Serious 在哪裡放置已建置的網頁以及從哪裡運行它。同樣,您通常不需要更改此設定。 |
links | ... | 您可以使用此選項將連結新增至側邊欄選單。每個連結應如下: { "text": "Click here", "url": "www.somesite.com", "label": "this is a tooltip!" } 。 text 屬性控制連結的顯示文本,而url 是單擊連結時連結所在的位置。當使用者將滑鼠懸停在連結上時, label 屬性將顯示為工具提示(使用title html 屬性)。您可以使用它來建立指向您的個人部落格、主網站、Patreon 等的連結。 |
recentMax | 5 | 這控制了《嚴肅》在最近頁面(和登陸頁面)上顯示的劇集數量。 |
recentsExcerpts | 1 | 這控制最近列表中顯示的內容的劇集數量。那些未顯示的顯示為橢圓 (&helli;)。如果您希望顯示所有內容,請將其設為等於(或高於) recentMax 。 |
episodesExcerpts | 3 | 這控制了劇集列表上有多少劇集顯示其內容,類似於recentsExcerpts 。 |
debug | false | 這將開啟偵錯功能,包括控制台日誌和其他內容。大多數用戶通常不需要。部署之前可能要確保它是錯誤的。 |
disqusShortname | "" | 您可以透過 Disqus 設定評論。評論線程將添加到每集,但不會添加到元帖子、列表等。 |
googleAnalytics | "" | 您可以為您的嚴肅故事設定 Google Analytics。只需建立帳戶,輸入您網站的 URL,然後將追蹤 ID 複製並貼上到此處即可。 |
cookieWarning | true | 為您的專案新增 Cookie Consent 產生的 cookie 同意警告。如果您有自己的解決方案,或者只是不在乎,您可以將其設為 false。 Serious 本身不使用 cookie,僅當您使用 Disqus 和/或 Google Analytics 時才需要它們。 |
nsfw | false | 13 為 true,則新增21 螢幕警告對話框,要求使用者確認年齡,預設為超過 18 歲。檢查一下。 |
version | "latest" | 要包含的 Serious 渲染引擎的版本。建議使用“最新”,但如果您需要使用不同版本,可以在此處標記。有關版本列表,請參閱下面的變更日誌。 |
您可以使用 GitHub Flavored Markdown 編寫劇集。在每一集的頂部,您應該有 YAML 標題來描述該集:
---
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.
範圍 | 描述 |
---|---|
標題 | 該集的標題。必需的。 |
字幕 | 該集的副標題。選修的。 |
插曲 | 劇集編號。必需的。請參閱下面的更多內容。 |
描述 | 情節的簡要描述(不是摘錄)。不是必需的,但建議。 |
對劇集進行編號時,從 1 開始(不要從 0 開始,這會導致錯誤),並確保任何數字都不會加倍(也會導致錯誤)。劇集也不應該稀疏。如果有第一集和第三集,就應該有第二集;這不會導致錯誤,但可能會破壞生成的網站。
「元」貼文是存在於正常劇集結構之外的特殊貼文。諸如「關於」頁面、回顧等內容。點擊這些連結會呈現元帖子。要建立一個,請確保前面的episode
參數是meta
而不是數字。還有一個附加的link
參數可用於更改側邊欄連結文字;如果未提供link
參數,則使用title
。如果將link
參數設為_
(單一底線)以阻止建立側邊欄連結。
---
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.
label
參數將標題屬性(和「工具提示」)新增至側邊欄中產生的連結。
元帖子的參數在其他方面與正常劇集相同。請注意,元帖子的標題應該是唯一的;劇集沒有這個限制(儘管這是明智的)。
您可以透過建立如下所示的連結來建立指向特定劇集的 Markdown 連結:
[Last week](./?ep=10) our heroes...
上面將創建第 10 集的鏈接。例如,如果title
參數是“ About
”,它將變為./?meta=about
,而Where is This Going?
會變成./?meta=where-is-this-going-
。
部署網站需要輸出資料夾中的所有內容(預設為publish
)。將所有文件複製到您的託管解決方案以進行部署。
我設計的一些 CSS 主題。
您可以透過編輯輸出目錄中的theme.css
檔案來建立主題。您可以恢復預設值或透過刪除檔案重新開始 - 下次建置時將產生一個新的空白theme.css
檔案。您可以透過覆蓋相同檔案來下載並安裝主題。
目前該專案有三個主要組件:NPM 包,即 Serious CLI;渲染引擎、腳本和樣式的儲存庫,透過 CDN 提供給產生的 Web 應用程式;以及我製作的主題的儲存庫。所有這些元件都可以進行一些整理,但重點是這三個元件是同步開發的,但在功能上彼此幾乎沒有關係。
nsfw
配置設定。