package

github.com/l0ji/piezo

main / published May 2, 2025 / repository

BBS/textboard written in crystal

piezo

BBS/textboard written in Crystal

Installation

  1. Clone the Git repo (git clone https://github.com/needmorepaper/piezo && cd piezo)
  2. Modify the config.yml file to adjust your board's settings
  3. Get the dependencies and run the program with shards run piezo

Usage

All board configuration is done within the YAML config, sysops can moderate their board by going to /sys and logging in.

Development

Just keep the code clean

Contributing

  1. Fork it (https://github.com/needmorepaper/piezo/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

API

  • Ban

    The Ban class is a representation of a ban.

  • Config

    The Config class reads the config from a given YAML file and creates appropriate getters for the expected fields.

  • Database

    The Database class contains various operations for interacting with the SQLite database.

  • PageGenerator

    This module provides various classes for building the content of page templates.

  • Piezo

    The Piezo module initializes the application.

  • Post

    The Post class is a representation of a post or comment.