Python backend for a low-volume personal microblog.
Input server (Telegram bot) waits for user to post new microblog entries and saves them to storage (git repo). Entries can be fetched from storage via provided Python library. There is also a plugin for Pelican to render microblog entries on a static web site.
Input server and storage engine should be easy to replace or add new implementations in future.
-
Python package is published at PyPI: https://pypi.org/project/microblog-server/
- Install with
pip install microblog-server
- Make sure that
git
is available in $PATH
- Install with
-
Ready to go Docker image is also available
- Commandline entrypoint:
microblog
- Configuration is done via environment variables:
MICROBLOG_STORAGE
: Path to a local checkout of git repository that stores the microblogMICROBLOG_TOKEN
: Telegram bot tokenMICROBLOG_USERS
: Comma-separated list of Telegram accounts allowed to interact with the bot
See the source code
See Pelican docs for general information on using static site generator.
Plugin configuration:
# pelicanconf.py
import microblog.pelican
import microblog.storage
PLUGINS = [
microblog.pelican,
]
MICROBLOG = microblog.storage.GitStorage('./path/to/local/copy/of/git/repo/')
Your theme is expected to provide the following templates:
Check plugin source for further information. See author's site configuration for further examples.
Copyright 2022 Vitaly Potyarkin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.