A project dedicated to creating a alternative to FanFiction.net, Archive of Our Own, and Wattpad.
- Install MongoDB and its development libraries.
- Install libsass and its development libraries.
- Install Rustup from link.
- During installation specify
nightly
as the toolchain.
- During installation specify
- 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
.
StoryArchive also comes with prebuilt releases (excluding the required database libraries).
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
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.
- Ian Cronkright - Author/Repository Lead - Txuritan
- FanFiction.net, Archive of Our Own, and Wattpad for being the inspiration for creating this.
- japaric and the trust ci build files.
- v0.2.0
- Use Dyon as a plugin system.
- Convert site's modules to Dyon plugins if possible.
- Use Dyon as a plugin system.
- v0.1.0
- Get the basis of the site working.