microblog.py/README.md
2023-02-14 20:36:52 -08:00

65 lines
2.1 KiB
Markdown

# microblog.py
Simple and stylish text-to-html microblog generator.
## Requirements
python3 date make toml curl pycurl urllib
* `date` is `date` from GNU Core Utilities.
* `toml` is a Python module.
* `make` (optional), method for invoking the script.
* `curl`, `pycurl` and `urllib` (optional), for uploading multiple files to neocities (`neouploader.py`).
### Usage
Send three arguments minimum to `python`. The fourth argument for an e-mail address is optional.
python microblog.py ./template.html ./content.txt
The resulting web page is outputted from standard output. Therefore:
python microblog.py ./template.html ./content.txt > result.html
Use a Makefile (or another script) to simplify invocation.
cp example/Makefile .
This script generates three text files after operation.
* `lastfullpage.txt`, holds an integer for the last page rendered by the paginator.
* `updatedfiles.txt`, a list of files updated by the script for use in automated uploads.
## Configuration
Settings are read from `settings.toml`. See `example/settings.toml`.
### Writing Content
See `example/demo.txt`.
The content file is a plain text file of posts. Each post has two types of information: timestamp and message. For example:
Thu Mar 17 11:11:11 PM EDT 2022
Today I ate ice cream.
It was strawberry flavored.
#TouchingGrass
Thu Mar 16 2:22:22 PM EDT 2022
I took these pictures.
./images/1.jpg ./images/2.jpg ./images/3.jpg
* the first line of the file must be empty (newline character only).
* the two last lines of the file must be empty
* html can be placed in the message for embedded videos and rich text
## Anything else
This is a script I wrote for personal use. The output can be seen on [https://likho.neocities.org/microblog/index.html](https://likho.neocities.org/microblog/index.html). I figure someone else may want to use it for their own personal websites, so it is published.
It works for me and my workflow; therefore, it is simple and involves little lines of code. But I am still open to comments, questions, or suggetions.