Novelist is content focused, minimal theme for Hugo, suitable for fanfiction writings. It aims at a feature set similar to Archive of Our Own. Not production-ready yet.
Live demo: https://hugo-novelist.netlify.app/
Build your own site: (path: /your-site/
)
hugo server --buildDrafts --disableFastRender
Build the example site: (path: /hugo-novelist/
)
cd exampleSite
hugo server --buildDrafts --disableFastRender --themesDir .. --theme .
Example netlify.toml
:
Build your own site: (from your own site repo)
[build]
publish = "public"
command = "hugo --gc --minify"
[context.production.environment]
HUGO_VERSION = "0.115.2"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
Build the example site: (from this repo) see ./netlify.toml
- Hugo
- Clean up temp files
- Add
theme.toml
- Clean up layout code
- Set up
exampleSite
& deploy - Add i18n (WIP)
- Better archetypes
- Site features
- Add rating system
- Fix rating focus style
- Add multi-chapter support
- Section permalink shenanigan
- Taxonomies: fandoms, relationships, characters, tags
- Add age warning modal for M & E rated writings
- Add archive pages (achieved by restoring section lists)
- Add full-text search
- Add rating system
- Style
- Centre the main tag
- Adjust date format
- Custom
<hr>
glyph - Do something about the code fence styling (only with config)
- Dark mode
- Do something about multi-line summary style (and all summary style)
- Layout
- Add series layout
- Add prev/next page buttons (maybe only for multi-chapter)
- Add beginning notes and end notes
- Meta tags
- Add jump link to external sources
- Others
- (a11y) Add jump to main button
- Get the extra privacy version of the social shortcodes
- Probably won't
- Add pagination
- Support LaTeX
- Minimalistic, clean and simple design
- Perfect for writers
- Content focused
- System fonts
- Anchor links
NO JS!This is voided by the addition of age warning modals. Readers can still disable JS which skips the modal, but nothing else will be affected.AAA, 100/100 scores on Lighthouse, Gmetrix and Webpagetest(Untested)- Responsive design
- Tags and tag pages
Inline CSS- Atom feed
- Json feed
Related content (internal links)SassSCSS- SEO optimized (Twitter cards, Facebook Open Graph, Schema.org)
You can customise the favicon by creating a favicon.png
file under /site/static/
.
Customisation options in config.yaml
:
params.customCSS
bool: Turn on/off site-specific custom CSS. All.css
files located under/site/assets/css/
will be included. See the example site folder for an example (not turned-on).params.enableRatings
bool: Site-wide switch for turning on/off the AO3 rating system. Only controls the display. You can still save the ratings for your own reference purpose.params.description
string: The subtitle under your site title.params.dateFormat
string: Enter any format of the dateMonday, Jan 2, 2006
that is compatible with Go's Time Format function. See Hugo documentation for a list of simple examples.params.showSummary
bool: Controls whether the article lists automatically show the beginning of the article (140 characters) or not.params.lowVisionSymbols
bool: Controls whether to use the low vision version of ratings symbols or not.params.hrGlyph
string: Glyph used for the<hr>
element. The quotation marks are required. Also, if you want to use Unicode Characters, you must type an extra slash like this:"\\2756"
.
In addition to the usual markdown front matter (note certain entries are not supported such as categories
and weight
), you can also specify fandoms, relationships, characters, tags, ratings and 1 external link.
For an all-in-one example, see ./exampleSite/content/writing/markdown-syntax.md
.
You can add notes anywhere in your article by typing
{{< notes >}}
… (Your notes here. Use Markdown.)
{{< /notes >}}
You can also get a custom title by typing
{{< notes "Custom message:" >}}
… (Your notes here. Use Markdown.)
{{< /notes >}}
See ./exampleSite/content/writing/markdown-syntax.md
for examples of both cases.
See ./exampleSite/content/writing/multi-chapter/
for a brief example.
In _index.md
you can set the following parameters in addition to the pages parameters above:
chapterPlan
int: Planned number of total chapters.cascade.language
RFC 5646 language code: Language setting for all chapters.
For each writing (for multi-chapters only the _index
file counts), you can choose from: (Quotation marks are required. Can be single quote if you want.)
- rating:
"general-audience"
"teen"
"mature"
"explicit"
"no"
- warning:
"choosenotto"
"yes"
"no"
- category:
"femslash"
"het"
"gen"
"slash"
"multi"
"other"
"no"
- complete:
"no"
"yes"
YAML example:
ratings:
rating: "general-audience"
warning: "choosenotto"
category: "slash"
complete: "yes"
TOML example:
[ratings]
rating = "teen"
warning = "choosenotto"
category = "femslash"
complete = "no"
This theme was originally authored by Ronalds Vilciņš and distributed under the MIT License (ronv/simplist: Content focused, minimal theme for Hugo).
This repository is distributed under the GNU General Public License v2.0 or any later version (per compatibility matrix of GNU licenses).
This theme uses the adult caution message from the otwarchive repository under the GNU General Public License v2.0 only, no changes made.
./exampleSite/content/rating-description.md
:
This theme uses the symbol system from the otwarchive repository under the GNU General Public License v2.0, with the following changes:
- Removing the external work mark and the completion status unknown mark (because presumably all the works that you post here are your originals, and you know whether they are completed or not);
- Enlarging the "Other relationships" icon to make it the same size with others.