Giter Site home page Giter Site logo

storyarchive / storyarchive Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 94 KB

Where stories meet open source.

License: Apache License 2.0

PowerShell 2.81% Shell 11.57% Rust 85.62%
story stories writing writers api api-rest api-service api-server blog blog-engine

storyarchive's Introduction

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.

storyarchive's People

Contributors

txuritan avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

lazuraslong

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.