The project is in a healthy, maintained state
A nice place to display your web novel
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
 Dependencies

Development

~> 1.6, >= 1.6.1
~> 4.3, >= 4.3.0

Runtime

 Project Readme

jekyll-web-novel

A jekyll website theme designed to host your work in progress novel.

Features

  • supper easy to read text formatting that looks great.
  • styles that respect your dark/light mode preferences.
  • hidden chapters called previews you can send to your proofreader.
  • generate boilerplates for chapters and volumes with one command.
  • Paragraph anchors for easy referencing.
  • Easy build script to get started quickly
  • UI that gets out of the way.
  • Mobile and desktop friendly interface
  • configurable copyright footer.
  • easy setup for netlifyCMS

Todo (unimplemented)

  • Nice book cover display on the home page.
  • use said cover image in social cards.
  • pandoc scripts to generate ebook formats
  • nice comment implementation
  • optional config for online content management
  • Demo site
  • optional copyright disclaimer popup
  • optional social/donation links
  • configurable nav to allow for more pages
  • about the author page
  • payment features?

Installation

After creating a new jekyll project. Add this line to your Jekyll site's Gemfile:

gem "jekyll-web-novel"
gem "jekyll-page-boilerplate" # for the awesome boilerplate's
gem "webrick" # because `cannot load such file -- webrick (LoadError)`

And add this line to your Jekyll site's _config.yml:

theme: jekyll-web-novel

And then execute:

$ bundle

Initialize and copy over the necessary files.

$ jekyll-web-novel

Delete the index.markdown, 404.html, about.markdown, _posts files because they have conflicting paths or are just unneeded.

Create your boilerplate pages with the jekyll-page-boilerplate gem.

$ bplate volume vol=01 -T "Water"
$ bplate chapter vol=01 cht=01 -T "My First Chapter"
$ bplate preview vol=01 cht=02 -T "Secret Chapter for Proofreading"

CMS Options

I use netlifycms for my jekyll cms needs. The source code has an example configuration for this project under admin/.

Jekyll has a list of cms options on their website. Using another cms will require more configurations on your part.

In the jekyll config enable use_netlify_cms: true. This adds a script to the home layout that forwards netlify identity token to the cms.

On netlify web app your going to want to go into site settings and enable Identify for your site. Set the registration preferences to invite only. Then I like to add Github as and external login provider. You will need to enable Git Gateway as well.

Find the identify tab at the top of their site, and invite yourself and a user. I also invited my proofreader/editor.

Going to you.site/admin should ask you to login with netlify. Once done you should find a side bar with collections pages, chapters, previews.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/hello.

License

MIT License for the time being but I have not really decided on a License yet.