Stacosys (aka STAtic blog COmment SYStem)
Find a file
dependabot[bot] b2e650e0cf
Bump urllib3 from 2.0.4 to 2.0.6
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.0.4 to 2.0.6.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.0.4...2.0.6)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 00:08:08 +00:00
.github/workflows Replaced by Makefile / pylint + LSP pyright 2022-11-20 16:38:25 +01:00
dbmigration PEP8 2022-04-27 03:12:01 +02:00
docker workaround for container startup 2022-12-03 19:54:15 +01:00
stacosys finalize 3.3 release 2022-12-03 19:02:24 +01:00
tests finalize 3.3 release 2022-12-03 19:02:24 +01:00
.gitignore gitignore 2023-04-15 17:56:09 +02:00
.pylintrc pylint fixes 2022-11-20 16:40:44 +01:00
build.sh Build py executable 2023-07-23 18:14:51 +02:00
config.ini Replace DB layer Peewee by PyDal 2022-12-01 20:35:48 +01:00
Dockerfile Debug container 2022-12-03 19:47:02 +01:00
flake8.ini PEP8 2022-04-27 03:04:55 +02:00
LICENSE update README, licence GPL v2 upgraded to v3 2021-01-31 17:01:26 +01:00
Makefile finalize 3.3 release 2022-12-03 19:02:24 +01:00
poetry.lock Bump urllib3 from 2.0.4 to 2.0.6 2023-10-03 00:08:08 +00:00
poetry.toml set python version with pyenv. Create virtual env inside project 2023-01-28 16:46:25 +01:00
pyproject.toml python <3.11 allowed 2023-03-28 19:46:04 +02:00
README.md README 2023-03-28 19:41:44 +02:00
run.sh move run.py 2022-11-19 14:44:06 +01:00
stacosys.spec pyinstall spec file handling ninja templates 2023-03-26 20:04:48 +02:00
whitelist.txt black 2022-04-26 20:51:42 +02:00

License: GPL v3 Python version Code style: black Flask version

Build Status - pytest Coverage Status Build status - docker image

Stacosys

Stacosys (aka STAtic blog COmment SYStem) is a fork of Pecosys trying to fix Pecosys design drawbacks and to provide a basic alternative to comment hosting services like Disqus. Stacosys works with any static blog or even a simple HTML page.

Features overview

Stacosys main feature is comment management.

Here is the workflow:

  • Readers submit comments via a comment form embedded in blog pages
  • Blog administrator receives an e-mail notification from Stacosys when a comment is submitted
  • Blog administrator can approve or drop the comment through a simple web admin interface
  • Stacosys stores approved comment in its database.

Privacy concerns: only surname, gravatar id and comment itself are stored in DB. E-mail is optionally requested in submission form to resolve gravatar id but never sent to Stacosys.

Stacosys is more or less localized (english and french).

Technically speaking, how does it work?

Stacosys offers a REST API to retrieve and post comments. Static blog is HTML-based and a piece of JavaScript code interacts with Stacosys using HTTP requests. Each page has a unique id and a request allows retrieving comments for a given page. Similarly, a form request allows to post a comment which is relayed to the administrator by e-mail. For this purpose an SMTP configuration is needed.

Little FAQ

How do you block spammers?

  • Current comment form is basic: no captcha support but protected by a honeypot.

Which database is used?

  • SQLite.

Which technologies are used?

Installation

Build and Dependency management relies on Poetry, but you can also use published releases or Docker image.

Build executable with pyinstaller

poetry run pyinstaller stacosys.spec 

Improvements

Stacosys fits my needs, and it manages comments on my blog for a while. I don't have any plan to make big changes, it's more a python playground for me. So I strongly encourage you to fork and enhance the project if you need additional features.