Ernsthaft ist ein Rahmen für den Aufbau episodischer (oder serialisierter) Fiktion für das Web. Es werden eine Reihe von Quelldateien verwendet, die im Markdown-Format geschrieben wurden, und diese Dateien in eine einfache, sructured einseitige Web-App zusammengefasst haben, damit Sie in Ihrem Webhost bereitstellen können.
MIT -Lizenz.
npm install -g serious-fiction
Durch die Installation von ernsthaften Zugriff auf eine einfache CLI, mit der Ihre Geschichten aufgebaut sind. Ich bin neu im Schreiben von CLIS, daher ist es möglicherweise nicht so voll ausgestattet, wie Sie es erwarten könnten.
Sie sollten Ihre Geschichte idealerweise in einem leeren Verzeichnis erstellen. Laufen Sie serious init
im Verzeichnis, um loszulegen.
Führen Sie serious build
um Ihre Geschichte wieder aufzubauen, und serious serve
, um sie lokal zu sehen. Sie können diese beiden Befehle (z. B. serious build serve
oder serious serve build
) kombinieren, um die Geschichte schnell zu erstellen und anzusehen. Sie können auch serious build
ausführen und Ihre Browser -Registerkarte manchmal auch auf aktualisieren, um manchmal zu sankt, was Ctrl + F5
ist), um Updates anzuzeigen, ohne die Website erneut bedienen zu müssen.
Ernsthafte Verwendet Ajax, sodass Sie es über Localhost servieren müssen. Sie können die index.html
-Datei nicht einfach öffnen.
Wenn Sie serious init
ausführen, wird Ihrem Verzeichnis eine config.json
-Datei hinzugefügt. In Zukunft hoffe ich, diesen Teil der CLI zu machen, aber im Moment müssen Sie ihn von Hand bearbeiten. Es sieht standardmäßig so aus:
{
"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 "
}
Option | Standard | Beschreibung |
---|---|---|
title | "The Title of Your Story" | Dies ist der Name Ihrer Geschichte. Es erscheint auf der Seite der letzten Folgen und auf der Seite der Episodenliste sowie auf der Registerkarte Browser. DISQUS -Kommentare sind in den Titel ausgerichtet, sodass Sie ihn wahrscheinlich nicht ändern möchten. |
displayTitle | "" | Wenn Sie hier etwas zwischen den Zitaten einfügen, wird es Ihren Titel überall in Ihrer Geschichte ersetzen, um mit den Disqus -Kommentaren zu sehen. |
subtitle | "" | Dies erscheint unter dem Haupttitel der Hauptgeschichte auf einigen Seiten. Sie könnten es als BYLINE, als Untertitel oder eine wirklich kurze Beschreibung verwenden. |
description | "A description of your website (for web searches) goes here. | Was Sie hier einfügen, erscheint nicht auf Seiten, sondern wird stattdessen auf einigen Websites, wie Suchmaschinen oder Social -Media -Websites, neben Links zur Geschichte aufgeführt. |
copyright | "© [year] [your name]. All rights reserved." | Ein Urheberrechtsbekanntmachung kann ganz unten auf jeder Seite angezeigt werden, direkt darüber, wo "Powered by Serious." Nachricht ist. Sie müssen dies nicht unbedingt für Urheberrechtsinformationen verwenden. © ist der HTML -Code für © (das Copyright -Symbol). |
posts | "episodes" | Diese Option kann verwendet werden, um das Wort zu ändern, das verwendet wird, um sich auf Ihre Episodenbeiträge zu beziehen, sodass Sie dies auf etwas anderes ändern können, wie "chapters" oder "verses" , basierend auf Ihren Anforderungen. |
input | "./src" | Dies zeigt ernsthaft, wo Sie nach Ihren Beiträgen suchen müssen, im Vergleich zu config.json . Geben Sie es in einen Ordner weiter und sucht es rekursiv nach Markdown -Dateien (mit der die Erweiterung .md ) in Beiträge umgewandelt werden. Im Allgemeinen sollten Sie dies nicht ändern müssen, sondern alle Ihre Beiträge in den src -Ordner platzieren. |
output | "./publish" | Ähnlich wie oben zeigt dies ernst, wo Sie Ihre erstellte Webseite platzieren und woher Sie sie ausführen können. Auch hier müssen Sie dies im Allgemeinen nicht ändern. |
links | ... | Mit dieser Option können Sie Links zum Menü Sidebar hinzufügen. Jeder Link sollte wie folgt aussehen: { "text": "Click here", "url": "www.somesite.com", "label": "this is a tooltip!" } . Die text steuert den Anzeigetext des Links. In der url wird der Link beim Klicken angelegt. Das label -Profil wird als Tooltip angezeigt, wenn ein Benutzer seine Maus über den Link hob (unter Verwendung des title HTML -Attribut). Sie können dies verwenden, um Links zum persönlichen Blog, der Hauptwebsite, Patreon usw. zu erstellen. |
recentMax | 5 | Dies steuert, wie viele Episoden ernsthafte Shows auf der Seite Recents (und auf der Zielseite). |
recentsExcerpts | 1 | Dadurch wird kontrolliert, wie viele Episoden in der Recents -Liste ihre Inhalte angezeigt haben. Diejenigen, die nicht gezeigt werden, zeigen stattdessen eine Ellipse (& helli;). Wenn Sie möchten, dass der gesamte Inhalt angezeigt wird, legen Sie dies gleich (oder höher als) recentMax . |
episodesExcerpts | 3 | Dies steuert, wie viele Episoden auf der Episodenliste ihre Inhalte gezeigt haben, ähnlich wie bei recentsExcerpts . |
debug | false | Dies schaltet Debug -Funktionen ein, einschließlich Konsolenprotokolle und anderer Dinge. Im Allgemeinen für die meisten Benutzer nicht benötigt. Stellen Sie wahrscheinlich sicher, dass es vor dem Bereitstellen falsch ist. |
disqusShortname | "" | Sie können Kommentare über disqus einrichten. In jeder Episode wird ein Kommentar -Thread hinzugefügt, aber nicht zu Meta -Posts, Listen usw. Fügen Sie einfach Ihren Shortnamen hinzu, es ist keine weitere Konfiguration erforderlich! |
googleAnalytics | "" | Sie können Google Analytics für Ihre ernsthafte Geschichte einrichten. Erstellen Sie einfach ein Konto, geben Sie die URL Ihrer Website ein und kopieren Sie die Tracking -ID hier und fügen Sie sie ein. |
cookieWarning | true | Fügt Ihnen ein Cookie-Einverständniserstellungswarnungswarnung für Ihr Projekt hinzu. Wenn Sie Ihre eigene Lösung haben oder sich einfach nicht interessieren, können Sie dies auf false setzen. Ernsthaft selbst verwendet keine Cookies, sondern erfordert sie nur, wenn Sie disqus und/oder Google Analytics verwenden. |
nsfw | false | Wenn wahr ist, fügt ein Dialogfeld "Vollbildwarning" hinzu und fordert den Benutzer auf, sein Alter zu bestätigen, standardmäßig über 18. Sie können den Wert auf eine Zahl ändern, z. B. 13 oder 21 möchte überprüfen. |
version | "latest" | Die Version des Rendering -Motors von SMUGR. "Neueste" wird empfohlen, aber wenn Sie eine andere Version verwenden müssen, können Sie sie hier markieren. Eine Liste von Versionen finden Sie im folgenden Changelog. |
Sie können Episoden mit Github -Aroma -Markdown schreiben. An der Spitze jeder Episode sollten Sie Yaml Front Materie haben, um die Episode zu beschreiben:
---
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 | Beschreibung |
---|---|
Titel | Der Titel der Episode. Erforderlich. |
Untertitel | Der Untertitel der Episode. Optional. |
Folge | Die Nummer der Episode. Erforderlich. Weitere Informationen finden Sie unten. |
Beschreibung | Eine kurze Beschreibung der Episode (kein Auszug). Nicht erforderlich, aber empfohlen. |
Wenn Sie Ihre Episoden nummerieren, beginnen Sie bei 1 (beginnen Sie nicht bei 0, dies verursacht einen Fehler) und stellen Sie sicher, dass Sie keine Nummern verdoppeln (auch einen Fehler verursacht). Episoden sollten auch nie spärlich sein. Wenn es eine Episode 1 und eine Folge 3 gibt, sollte es eine Folge 2 geben; Dies macht keinen Fehler, wird aber wahrscheinlich die generierte Website brechen.
"Meta" -Posts sind spezielle Beiträge, die außerhalb der normalen Episodenstruktur existieren. Dinge wie eine Seite über Seite, Rückblicke usw. Meta -Posts werden automatisch zur Seitenleiste als Links hinzugefügt. Wenn Sie auf diese Links klicken, wird der Meta -Beitrag zurückgeführt. Um einen zu erstellen, stellen Sie sicher, dass der episode
in der vorderen Materie eher meta
als eine Zahl ist. Es gibt auch einen zusätzlichen link
, mit dem der Sidebar Link -Text geändert werden kann. Wenn ein link
nicht angegeben ist, wird der title
stattdessen verwendet. Wenn Sie den link
auf _
(ein einzelner Unterstrich) festlegen, um zu verhindern, dass ein Seitenleistenlink überhaupt erstellt wird.
---
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.
Der label
-Parameter fügt dem generierten Link in der Seitenleiste ein Titelattribut (und "Tooltip") hinzu.
Die Parameter eines Meta -Posts sind ansonsten mit einer normalen Episode übereinstimmen. Beachten Sie, dass die Titel von Meta -Posts eindeutig sein sollten. Episoden haben diese Einschränkung nicht (obwohl sie weise ist).
Sie können Markdown -Links zu bestimmten Episoden erstellen, indem Sie Links erstellen, die so aussehen:
[Last week](./?ep=10) our heroes...
Das obige würde einen Link zu Episode 10 erstellen. Um Links zu Meta-Posts zu erstellen Striche). Wenn der title
beispielsweise " About
" ist, wird Where is This Going?
./?meta=about
würde ./?meta=where-is-this-going-
Alles im Ausgabeordner (standardmäßig publish
) ist erforderlich, um die Website bereitzustellen. Kopieren Sie alle Dateien in Ihre Hosting -Lösung, um bereitzustellen.
Einige CSS -Themen von mir.
Sie können ein Thema erstellen, indem Sie die Datei theme.css
im Ausgabeverzeichnis bearbeiten. Sie können die Standardeinstellungen wiederherstellen oder die Datei löschen-eine neue, leere theme.css
Datei wird das nächste Mal generiert, wenn Sie erstellen. Sie können Themen herunterladen und installieren, indem Sie dieselbe Datei überschreiben.
Derzeit enthält das Projekt drei Hauptkomponenten: das NPM -Paket, das ernsthafte CLI; das Repository für die Rendering -Engine, Skripte und Stile, die der generierten Web -App über CDN zugestellt werden; und ein Repository für die Themen, die ich gemacht habe. Alle diese Komponenten könnten mit einiger Aufräumarbeiten zu tun haben, aber das Kern davon ist, dass diese drei Dinge gleichzeitig entwickelt werden, aber nur wenig miteinander zu tun haben.
nsfw
-Konfigurationseinstellung hinzugefügt.