improve readme further
This commit is contained in:
56
README.md
56
README.md
@@ -1,11 +1,54 @@
|
|||||||
# Pyrom
|
# Pyrom
|
||||||
python/flask port of [porom](https://git.poto.cafe/yagich/porom)
|
pyrom is a playful home-grown forum software for the indie web borne out of frustration with social media and modern forums imitating it.
|
||||||
|
|
||||||
this is now the canonical implementation of porom. it's compatible with the database of porom.
|
the aim is not to recreate the feeling of forums from any time period. rather, it aims to serve as a lightweight alternative to other forum software packages. pyrom is lean and "fire-and-forget"; there is little necessary configuration, making it a great fit for smaller communities (though nothing prevents it from being used in larger ones.)
|
||||||
|
|
||||||
# License
|
a live example can be seen in action over at [Porom](https://forum.poto.cafe/).
|
||||||
Released under [CNPLv7+](https://thufie.lain.haus/NPL.html).
|
|
||||||
Please read the [full terms](./LICENSE.md) for proper wording.
|
## stack & structure
|
||||||
|
on the server side, pyrom is built in Python using the Flask framework. content is rendered mostly server-side with Jinja templates. the database used is SQLite.
|
||||||
|
|
||||||
|
on the client side, JS with only one library ([Bitty](https://bitty-js.com)) is used. for CSS, pyrom uses Sass.
|
||||||
|
|
||||||
|
below is an explanation of the folder structure:
|
||||||
|
|
||||||
|
- `/`
|
||||||
|
- `app/`
|
||||||
|
- `lib/` - utility libraries
|
||||||
|
- `routes/` - each `.py` file represents a "sub-app", usually the first part of the URL
|
||||||
|
- `templates/` - Jinja templates used by the routes. each subfolder corresponds to the "sub-app" that uses that template.
|
||||||
|
- `__init__.py` - creates the app
|
||||||
|
- `auth.py` - authentication helper
|
||||||
|
- `constants.py` - constant values used throughout the forum
|
||||||
|
- `db.py` - database abstraction layer and ORM library
|
||||||
|
- `migrations.py` - database migrations
|
||||||
|
- `models.py` - ORM model definitions
|
||||||
|
- `run.py` - runner script for development
|
||||||
|
- `schema.py` - database schema definition
|
||||||
|
- `config/` - configuration for the forum
|
||||||
|
- `data/`
|
||||||
|
- `_cached/` - cached versions of certain endpoints are stored here
|
||||||
|
- `db/` - the SQLite database is stored here
|
||||||
|
- `static/` - static files
|
||||||
|
- `avatars/` - user avatar uploads
|
||||||
|
- `badges/` - user badge uploads
|
||||||
|
- `css/` - CSS files generated from Sass sources
|
||||||
|
- `emoji/` - emoji images used on the forum
|
||||||
|
- `fonts/`
|
||||||
|
- `js/`
|
||||||
|
- `sass/`
|
||||||
|
- `_default.scss` - the default theme. Sass variables that other themes modify are defined here, along with the default styles. other files define the available themes.
|
||||||
|
- `build-themes.sh` - script for building Sass files into CSS
|
||||||
|
- `nginx.conf` - nginx config (production only)
|
||||||
|
- `uwsgi.ini` - uwsgi config (production only)
|
||||||
|
|
||||||
|
# license
|
||||||
|
released under [CNPLv7+](https://thufie.lain.haus/NPL.html).
|
||||||
|
please read the [full terms](./LICENSE.md) for proper wording.
|
||||||
|
|
||||||
|
# acknowledgments
|
||||||
|
|
||||||
|
pyrom uses many open-source and otherwise free-culture components. see the [THIRDPARTY](./THIRDPARTY.md) file for full credit.
|
||||||
|
|
||||||
# installing & first time setup
|
# installing & first time setup
|
||||||
## docker (production)
|
## docker (production)
|
||||||
@@ -68,6 +111,3 @@ $ source .venv/bin/activate
|
|||||||
$ python -m app.run
|
$ python -m app.run
|
||||||
```
|
```
|
||||||
|
|
||||||
# acknowledgments
|
|
||||||
|
|
||||||
pyrom uses many open-source and otherwise free-culture components. see the [THIRDPARTY](./THIRDPARTY.md) file for full credit.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user