additional gardening for konfluks rename
This commit is contained in:
parent
2b06a5f866
commit
6020db4d15
37
README.md
37
README.md
@ -1,4 +1,4 @@
|
|||||||
![Konfluks logo is a stylized and schematic representation of a drainage basin](https://git.autonomic.zone/r/konfluks/raw/branch/konfluks-renaming/docs/konfluks.svg)
|
![Konfluks logo is a stylized and schematic representation of a drainage basin](./konfluks.svg)
|
||||||
|
|
||||||
# Konfluks
|
# Konfluks
|
||||||
|
|
||||||
@ -6,7 +6,7 @@ A drainage basin is a geographical feature that collects all precipitation in an
|
|||||||
|
|
||||||
Specifically, Konfluks turns Peertube videos, iCal calendar events, other websites through their RSS and OPDS feeds and Mastodon posts under a hashtag in to Hugo page bundles. This allows one to publish from diverse sources to a single stream.
|
Specifically, Konfluks turns Peertube videos, iCal calendar events, other websites through their RSS and OPDS feeds and Mastodon posts under a hashtag in to Hugo page bundles. This allows one to publish from diverse sources to a single stream.
|
||||||
|
|
||||||
Konfluks was first made by Roel Roscam Abbing as part of [lumbung.space](https://lumbung.space), together with ruangrupa and Autonomic.
|
Konfluks was first made by [Roel Roscam Abbing](https://test.roelof.info/) as part of [lumbung.space](https://lumbung.space), together with [ruangrupa](https://ruangrupa.id) and [Autonomic](https://autonomic.zone).
|
||||||
|
|
||||||
## Philosophy
|
## Philosophy
|
||||||
|
|
||||||
@ -22,24 +22,26 @@ Konfluks is extendable, a work in progress and a messy undertaking.
|
|||||||
|
|
||||||
## High-level overview
|
## High-level overview
|
||||||
|
|
||||||
Konfluks consists of different Python scripts which each poll a particular service, say, a Peertube server, to download information and convert it in to [Hugo Page Bundles](https://gohugo.io/content-management/page-bundles/)
|
Konfluks consists of different Python scripts which each poll a particular service, say, a [Peertube](https://joinpeertube.org) server, to download information and convert it in to [Hugo Page Bundles](https://gohugo.io/content-management/page-bundles/)
|
||||||
|
|
||||||
Each script part of Konfluks will essentially to the following:
|
Each script part of Konfluks will essentially to the following:
|
||||||
|
|
||||||
* Parse a source and request posts/updates/videos/a feed
|
* Parse a source and request posts/updates/videos/a feed
|
||||||
* Taking care of publish ques
|
* Taking care of publish ques
|
||||||
|
|
||||||
* Create a Hugo post for each item returned, by:
|
* Create a Hugo post for each item returned, by:
|
||||||
* Making a folder per post in the `output` directory
|
* Making a folder per post in the `output` directory
|
||||||
* Formatting post metadata as [Hugo Post Frontmatter](https://gohugo.io/content-management/front-matter/) in a file called `index.md`
|
* Formatting post metadata as [Hugo Post Frontmatter](https://gohugo.io/content-management/front-matter/) in a file called `index.md`
|
||||||
* Grabbing local copies of media and saving them in the post folder
|
* Grabbing local copies of media and saving them in the post folder
|
||||||
* Adding the post content to `index.md`
|
* Adding the post content to `index.md`
|
||||||
* According to jinja2 templates (see `Konfluks/templates/`)
|
* According to jinja2 templates (see `konfluks/templates/`)
|
||||||
|
|
||||||
The page bundles created, where possible, are given human friendly names.
|
The page bundles created, where possible, are given human friendly names.
|
||||||
|
|
||||||
|
|
||||||
Here is a typical output structure:
|
Here is a typical output structure:
|
||||||
|
|
||||||
```
|
```
|
||||||
user@server: ~/Konfluks/output: tree tv/
|
user@server: ~/konfluks/output: tree tv/
|
||||||
tv/
|
tv/
|
||||||
├── forum-27an-mother-earth-353f93f3-5fee-49d6-b71d-8aef753f7041
|
├── forum-27an-mother-earth-353f93f3-5fee-49d6-b71d-8aef753f7041
|
||||||
│ ├── 86ccae63-3df9-443c-91f3-edce146055db.jpg
|
│ ├── 86ccae63-3df9-443c-91f3-edce146055db.jpg
|
||||||
@ -52,8 +54,6 @@ Here is a typical output structure:
|
|||||||
│ └── index.md
|
│ └── index.md
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Hacking
|
## Hacking
|
||||||
|
|
||||||
Install [poetry](https://python-poetry.org/docs/#osx--linux--bashonwindows-install-instructions):
|
Install [poetry](https://python-poetry.org/docs/#osx--linux--bashonwindows-install-instructions):
|
||||||
@ -62,31 +62,20 @@ Install [poetry](https://python-poetry.org/docs/#osx--linux--bashonwindows-insta
|
|||||||
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
||||||
```
|
```
|
||||||
|
|
||||||
We use Poetry because it locks the dependencies all the way down and makes it
|
We use Poetry because it locks the dependencies all the way down and makes it easier to manage installation & maintenance in the long-term. Then install the dependencies & have them managed by Poetry:
|
||||||
easier to manage installation & maintenance in the long-term. Then install the
|
|
||||||
dependencies & have them managed by Poetry:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
poetry install
|
poetry install
|
||||||
```
|
```
|
||||||
|
|
||||||
Each script requires some environment variables to run, you can see the latest
|
Each script requires some environment variables to run, you can see the latest deployment configuration over [here](https://git.autonomic.zone/ruangrupa/lumbung.space/src/branch/main/compose.yml), look for the values under the `environment: ...` stanza.
|
||||||
deployment configuration over
|
|
||||||
[here](https://git.autonomic.zone/ruangrupa/lumbung.space/src/branch/main/compose.yml),
|
|
||||||
look for the values under the `environment: ...` stanza.
|
|
||||||
|
|
||||||
All scripts have an entrypoint described in the
|
All scripts have an entrypoint described in the [`pypoetry.toml`](https://git.autonomic.zone/ruangrupa/konfluks/src/commit/40bf9416b8792c08683ad8ac878093c7ef1b2f5d/pyproject.toml#L27-L31) which you can run via `poetry run ...`. For example, if you want to run the [`konfluks/video.py`](./knofluks/video.py) script, you'd do:
|
||||||
[`pypoetry.toml`](https://git.autonomic.zone/ruangrupa/lumbunglib/src/commit/40bf9416b8792c08683ad8ac878093c7ef1b2f5d/pyproject.toml#L27-L31)
|
|
||||||
which you can run via `poetry run ...`. For example, if you want to run the
|
|
||||||
[`lumbunglib/video.py`](./lumbunglib/video.py) script, you'd do:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir -p testdir
|
mkdir -p testdir
|
||||||
export OUTPUT_DIR=/testdir
|
export OUTPUT_DIR=/testdir
|
||||||
poetry run lumbunglib-vid
|
poetry run konfluks-vid
|
||||||
```
|
```
|
||||||
|
|
||||||
Run `poetry run poetry2setup > setup.py` if updating the poetry dependencies.
|
Run `poetry run poetry2setup > setup.py` if updating the poetry dependencies. This allows us to run `pip install .` in the deployment and Pip will understand that it is just a regular Python package. If adding a new cli command, extend `pyproject.toml` with a new `[tool.poetry.scripts]` entry.
|
||||||
This allows us to run `pip install .` in the deployment and Pip will understand
|
|
||||||
that it is just a regular Python package. If adding a new cli command, extend
|
|
||||||
`pyproject.toml` with a new `[tool.poetry.scripts]` entry.
|
|
||||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@ -1,8 +1,8 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "konfluks"
|
name = "konfluks"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = "Python lib which powers lumbung[dot]space automation"
|
description = "Brings together small and dispersed streams of web content from different applications and websites together in a single large stream."
|
||||||
authors = ["rra", "decentral1se"]
|
authors = ["rra", "decentral1se", "knoflook"]
|
||||||
license = "AGPLv3+"
|
license = "AGPLv3+"
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
@ -25,7 +25,7 @@ requires = ["poetry-core>=1.0.0"]
|
|||||||
build-backend = "poetry.core.masonry.api"
|
build-backend = "poetry.core.masonry.api"
|
||||||
|
|
||||||
[tool.poetry.scripts]
|
[tool.poetry.scripts]
|
||||||
konfluks-cal = "konfluks.cloudcal:main"
|
konfluks-cal = "konfluks.calendars:main"
|
||||||
konfluks-vid = "konfluks.video:main"
|
konfluks-vid = "konfluks.video:main"
|
||||||
konfluks-feed = "konfluks.feed:main"
|
konfluks-feed = "konfluks.feed:main"
|
||||||
konfluks-timeline = "konfluks.timeline:main"
|
konfluks-timeline = "konfluks.timeline:main"
|
||||||
|
2
setup.py
2
setup.py
@ -20,7 +20,7 @@ install_requires = \
|
|||||||
'requests>=2.26.0,<3.0.0']
|
'requests>=2.26.0,<3.0.0']
|
||||||
|
|
||||||
entry_points = \
|
entry_points = \
|
||||||
{'console_scripts': ['konfluks-cal = konfluks.cloudcal:main',
|
{'console_scripts': ['konfluks-cal = konfluks.calendars:main',
|
||||||
'konfluks-feed = konfluks.feed:main',
|
'konfluks-feed = konfluks.feed:main',
|
||||||
'konfluks-timeline = lumbunglib.timeline:main',
|
'konfluks-timeline = lumbunglib.timeline:main',
|
||||||
'konfluks-hash = konfluks.hashtag:main',
|
'konfluks-hash = konfluks.hashtag:main',
|
||||||
|
Loading…
Reference in New Issue
Block a user