Skip to content

Where stories meet open source.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

storyarchive/storyarchive

StoryArchive

Version: dev-0.1.0
Where stories meet open source.

A project dedicated to creating a alternative to FanFiction.net, Archive of Our Own, and Wattpad.

Table Of Contents

Building

  • Install MongoDB and its development libraries.
  • Install libsass and its development libraries.
  • Install Rustup from link.
    • During installation specify nightly as the toolchain.
  • Install cargo-make with cargo install cargo-make.
    • Cargo-Make will install the other tools when needed.
  • Clone this repository and enter it.
  • Run cargo read.

Installation

StoryArchive also comes with prebuilt releases (excluding the required database libraries).

Customization

Configuration

StoryArchive along with Rocket has configuration files located in the root of the server.

Rocket's config is called Rocket.toml and its documentation can be found here link.

StoryArchive's config is called StoryArchive.toml.

The StoryArchive.toml config file is the following:

# The 'general' category.
# This controls basic parts of StoryArchive's internals.
[general]
theme = "downhearted" # The current theme (Must be a string)
themes_dir = "themes" # The directory of themes (Must be a string)

# The 'database' category.
# This controls how StoryArchive's will connect to and what kind of database is used.
[database]
database_name = "storyarchive" # The collection for StoryArchive
database_url = "mongodb://localhost:27017/" # The MongoDB connection URI

Theme

StoryArchive uses themes to allow you change the front-end to your hearts desire.

By default themes can be found in the themes folder.

On first run StoryArchive will download the newest version (released) of the theme Downhearted link, it will be used as the efault theme unless you add or change it.

Themes have a configuration file in their root folder called Theme.toml. When creating a theme this allows you to enable and disable features and link to assets and templates.

The Theme.toml config file is the following:

# This contains general information on the theme being used
[theme]
assets = "assets" # Static assets folder
rest = false # REST mode (disables all routes except path.hub.home and assets)

# Settings for Project Fluent translations
[fluent]
translation = "translation" # The folder containing Project Fluent tranlation files (.ftl)

# List of languages the theme provides with the order choosing the default
# (eg: en = ["en-us", "en-gb"], en will use "en-us" by default)
[fluent.languages]
en = ["en-us"] # Languages for English

# Template paths for the 'Hub' routes
[path.hub]
home = "hub/home" # The path to the index template
login = "hub/login" # The path to the login template
register = "hub/register" # The path to the register template

# StoryArchive has built-in support for SASS
[sass]
input = "index" # The main SASS file to be loaded
output = "cerberus" # The SASS output file name

The same example can be found in the Downhearted repository link.

Contributors

  • Ian Cronkright - Author/Repository Lead - Txuritan

Acknowledgments

  • FanFiction.net, Archive of Our Own, and Wattpad for being the inspiration for creating this.
  • japaric and the trust ci build files.

Goals

  • v0.2.0
    • Use Dyon as a plugin system.
      • Convert site's modules to Dyon plugins if possible.
  • v0.1.0
    • Get the basis of the site working.