You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
beaker-blog/README.md

86 lines
2.6 KiB

# Beaker Blog
![beaker-blog-logo](beaker_blog_alt.png)
This is a simple blog based on Pythons Flask framework.
The basic design is based on LukeSmithXYZs blog.
However I dislike using a script for adding entries and just want to add entries
via plain text files.
## Features/To-Dos
- [x] Plain text support for blog entries
- [x] HTML files (.html)
- [x] Markdown Files (.md)
- [x] Infinite-scroll blog page
- [x] Search page
- [x] Full-text search
- [x] Preview panel
- [x] Archive page
- [x] Months as headings
- [x] Links to scrolling blog page
- [x] Links to standalone article
- [x] Standalone article page
- [x] Links to scrolling blog page
- [x] RSS feed
- [x] Navigation
- [x] Header
- [x] Footer
- [x] Switchable CSS
- [x] CSS dark-theme
- [x] CSS light-theme
- [x] Language Support
- [x] English
- [x] German
- [x] Config file
- [x] Docker installation
- [x] Logo
## Usage
### Create entries
Blog entries are managed by plain html files in the `templates/entry/` directory.
The first line of each document is reserved as the title of the document.
You have to specify the filetype by extension.
## Deployment
### PIP/Python
- `git clone https://github.com/tiyn/beaker-blog`
- `cd beaker-blog/src`
- edit the `config.py` file according to your needs
- `pip3install -r requirements.txt` - install depenencies
- run `python app.py`
- blog is available on port 5000
### Docker
Make sure you copy an example `config.py` and edit it before running the container.
The `config.py` can be found in the `src` folder.
#### Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------- | ----------------------- | ------------------------------------------------------------ |
| `config-file` | `/blog/config.py` | Config file |
| `entries` | `/blog/templates/entry` | Directory for blog entries |
| `graphics` | `/blog/static/graphics` | Directory for images needed for entries |
| `css` | `/blog/static/css` | (optional) Directory for css files |
| `html` | `/blog/templates` | (optional) Directory for templates (entry-volume not needed) |
#### Ports
Set the following ports with the -p tag.
| Container-Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `5000` | `80` | TCP | HTTP port |
#### Example run-command
An example run command is shown in `rebuild.sh`.