Talon

module
v0.0.0-...-ff179e1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2021 License: MIT

README

Talon

static site management system


Talon allows you to have multiple static pages displayed on your website with a convenient menu to switch between them.

Talon can be used for a lot of different purposes:

  • Creating a personal website
  • Documentation for different projects
  • Fast website publishing for testing
  • Serving CI artifacts (Website previews, coverage reports)

Models

Website

  • ID
  • Name
  • Path
  • PathLower
  • Logo (File) →
  • Color
  • Visibility: Featured/Searchable/Hidden
  • User
  • CreatedAt
  • MaxVersions
  • SourceURL
  • SourceType
  • Versions →[]

Version

  • ID
  • Name
  • User
  • Upload date
  • Version files →[]

File

  • Hash
  • Filepath
  • Version

User

  • ID
  • Username
  • Password
  • Is admin

API user

  • ID
  • API Key
  • Creator (User)

Permission

  • Allowed paths/pathspaces

    Examples:

    • Any paths including subpaths: #
    • Any path/subpath under "ThetaDev": thetadev.#
    • Subpath "Coverage" under any path: *.coverage
    • Subpath "Coverage" under the paths "thetadev" and " zoey": thetadev|zoey.coverage
    • Marks "thetadev.test" and "zoey.coverage": thetadev.test||zoey.coverage
  • Max size per uploaded website

  • Can create websites

  • OPT: Max TTL for created paths

  • Max versions for created paths

  • Max visibility for created paths

URL format

Hash: example.com/h/7a9745fed498f69c46a3ffa5dfaff872e0e1df89

Mark: example.com/thetadev/coverage/main-a352c312 example.com/thetadev/coverage/pr-3

File storage

Files are stored with their SHA256 hashes to provide deduplication. If you upload a lot of sites that use the same template, the stylesheets and scripts only need to be stored once. The real filenames and folder structure are kept in the database.

storage/d/d41d8cd98f00b204e9800998ecf8427e

Every day Talon should run a pruning operation where it will look for unused files and delete them to free storage space.

The font used is called Litmus and it was created by Alan Carr (Download: https://www.ffonts.net/Litmus.font).

The *_inkscape.svg files are the ones to be edited. After editing, save the files as Optimized SVG and turn off pretty-printing to get browser-friendly SVG.

Directories

Path Synopsis
src

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL