Name | longhorn JSON |
Version |
0.1.0
JSON |
| download |
home_page | https://codeberg.org/bovine/longhorn |
Summary | Blog that publishes both to web, atom, and ActivityPub (as a Client) |
upload_time | 2023-06-08 12:35:56 |
maintainer | |
docs_url | None |
author | Helge |
requires_python | >=3.10,<4.0 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# longhorn
![longhorn](assets/longhorn.jpg)
[Photo by Miguel from Pexels](https://www.pexels.com/photo/brown-texas-longhorn-lying-on-the-ground-12578659/)
longhorn is meant for hosting a single blog associated with a specific ActivityPub actor. Example:
- My blog is available at [https://blog.mymath.rocks/](https://blog.mymath.rocks/)
- If you follow me, i.e. `@helge@mymath.rocks`. My blog posts will be delivered to your ActivityPub Inbox as a create article.
- Public replies to that Article are displayed on the blog.
This is realized by longhorn being a [bovine](https://codeberg.org/helge/bovine/) based ActivityPub Client.
## Installation
longhorn can be installed by running
```bash
pip install longhorn
python -mlonghorn.setup
```
There you will be prompted for
- The host your blog will run on, e.g. `blog.mymath.rocks`
- The title of your blog, e.g. `Helge's blog`
- The host of your ActivityPub server, e.g. `mymath.rocks`
- And be provided a did-key to add to your ActivityPub Actor following the [BIN-2](https://blog.mymath.rocks/2023-03-25/BIN2_Moo_Client_Registration_Flow).
The blog can then be run, by running
```bash
hypercorn longhorn:app
```
## Usage
Posts are written as markdown then uploaded using
```bash
python -mlonghorn.post filename.md
```
## Todos
- [x] Stopping the server is awkward due to the Event Source loop not stopping properly. Investigate how to fix this.
- [x] Alternative to last todo: Separate Event Source into own process.
- [x] Alternative: Use webhooks
- __Solution__: Move to [mechanical bull](https://codeberg.org/bovine/mechanical_bull)
- [x] Provide an RSS feed
- [ ] Enable a publish / preview endpoint
- [ ] Explain how to customize templating without hacking the package
- [ ] Support tags and other metadata
Raw data
{
"_id": null,
"home_page": "https://codeberg.org/bovine/longhorn",
"name": "longhorn",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Helge",
"author_email": "helge.krueger@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/6f/60/120fea53d7d2189332c9e8c03e2aa52cd1c54b8d5602e849da62d1f525e4/longhorn-0.1.0.tar.gz",
"platform": null,
"description": "# longhorn\n\n![longhorn](assets/longhorn.jpg)\n\n[Photo by Miguel from Pexels](https://www.pexels.com/photo/brown-texas-longhorn-lying-on-the-ground-12578659/)\n\nlonghorn is meant for hosting a single blog associated with a specific ActivityPub actor. Example:\n\n- My blog is available at [https://blog.mymath.rocks/](https://blog.mymath.rocks/)\n- If you follow me, i.e. `@helge@mymath.rocks`. My blog posts will be delivered to your ActivityPub Inbox as a create article.\n- Public replies to that Article are displayed on the blog.\n\nThis is realized by longhorn being a [bovine](https://codeberg.org/helge/bovine/) based ActivityPub Client.\n\n## Installation\n\nlonghorn can be installed by running\n\n```bash\npip install longhorn\npython -mlonghorn.setup\n```\n\nThere you will be prompted for\n\n- The host your blog will run on, e.g. `blog.mymath.rocks`\n- The title of your blog, e.g. `Helge's blog`\n- The host of your ActivityPub server, e.g. `mymath.rocks`\n- And be provided a did-key to add to your ActivityPub Actor following the [BIN-2](https://blog.mymath.rocks/2023-03-25/BIN2_Moo_Client_Registration_Flow).\n\nThe blog can then be run, by running\n\n```bash\nhypercorn longhorn:app\n```\n\n## Usage\n\nPosts are written as markdown then uploaded using\n\n```bash\npython -mlonghorn.post filename.md\n```\n\n## Todos\n\n- [x] Stopping the server is awkward due to the Event Source loop not stopping properly. Investigate how to fix this.\n- [x] Alternative to last todo: Separate Event Source into own process.\n- [x] Alternative: Use webhooks\n- __Solution__: Move to [mechanical bull](https://codeberg.org/bovine/mechanical_bull)\n- [x] Provide an RSS feed\n- [ ] Enable a publish / preview endpoint\n- [ ] Explain how to customize templating without hacking the package\n- [ ] Support tags and other metadata\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Blog that publishes both to web, atom, and ActivityPub (as a Client)",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://longhorn.readthedocs.io/en/latest/",
"Homepage": "https://codeberg.org/bovine/longhorn",
"Repository": "https://codeberg.org/bovine/longhorn"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "70101008ad9799c8f05fc414faf506f36394fce359ccdc76f32068174ba1f6a2",
"md5": "fa4f9ff3f1528ff4d6bf5fa23f0a645c",
"sha256": "1595d041fb137f33106641159d616042cf46c220e407184fcec062000a71d269"
},
"downloads": -1,
"filename": "longhorn-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fa4f9ff3f1528ff4d6bf5fa23f0a645c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 19095,
"upload_time": "2023-06-08T12:35:54",
"upload_time_iso_8601": "2023-06-08T12:35:54.531812Z",
"url": "https://files.pythonhosted.org/packages/70/10/1008ad9799c8f05fc414faf506f36394fce359ccdc76f32068174ba1f6a2/longhorn-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6f60120fea53d7d2189332c9e8c03e2aa52cd1c54b8d5602e849da62d1f525e4",
"md5": "d467fb330543fc334cb39eafb8986225",
"sha256": "2000eb13c78494b229446ebf2d8a1afbf6ef95d8af9502c9f66719e22787cc94"
},
"downloads": -1,
"filename": "longhorn-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "d467fb330543fc334cb39eafb8986225",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 22111,
"upload_time": "2023-06-08T12:35:56",
"upload_time_iso_8601": "2023-06-08T12:35:56.871603Z",
"url": "https://files.pythonhosted.org/packages/6f/60/120fea53d7d2189332c9e8c03e2aa52cd1c54b8d5602e849da62d1f525e4/longhorn-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-08 12:35:56",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": true,
"codeberg_user": "bovine",
"codeberg_project": "longhorn",
"lcname": "longhorn"
}