Name | Publ JSON |
Version |
0.7.35
JSON |
| download |
home_page | https://publ.plaidweb.site/ |
Summary | A flexible web-based publishing framework |
upload_time | 2025-01-02 02:40:51 |
maintainer | None |
docs_url | None |
author | fluffy |
requires_python | <3.13,>=3.9 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
# Publ
A personal publishing platform. Like a static publishing system, only dynamic.
## Motivation
I make a lot of different things — comics, music, art, code, games — and none of
the existing content management systems I found quite satisfied my use cases.
Either they don't allow enough flexibility in the sorts of content that they can
provide, or the complexity in managing the content makes it more complicated than
simply hand-authoring a site.
I wanted to bring the best of the classic static web to a more dynamic
publishing system; scheduled posts, private posts, category-based templates, and
built-in support for image renditions (including thumbnails, high-DPI support,
and image galleries). And I want to do it all using simple Markdown files
organized in a sensible file hierarchy.
## Basic tenets
* Containerized web app that's deployable with little friction (hopefully)
* Do one thing (present heterogeneous content), do it well (hopefully)
* Use external tools for site content editing
* Be CDN-friendly
* High-DPI images and image sets as first-class citizens
* Interoperate with everything that's open for interoperation (especially [IndieWeb](http://indieweb.org))
## See it in action
The main demonstration site is at https://beesbuzz.biz/ — it is of course a
work in progress! The documentation site for Publ itself (which is also a work in progress) lives at https://publ.plaidweb.site/
## Operating requirements
I am designing this to work in any WSGI-capable environment with a supported
version of Python. This means that it will, for example, be deployable on any
shared hosting which has Passenger support (such as Dreamhost), as well as on
Heroku, Google AppEngine, S3, or any other simple containerized deployment
target.
The file system is the ground truth for all site data, and while it does use a
database as a content index, the actual choice of database doesn't matter all
that much. A typical deployment will use SQLite, but MySQL, Postgres, Oracle,
and Cockroach are also supported.
## Developing Publ
In order to develop Publ itself, you'll need to install its dependencies; see
the [getting started
guide](http://publ.plaidweb.site/manual/328-Getting-started) for more
information. In particular, make sure you have compatible versions of
[Python](https://python.org/) and [Poetry](https://python-poetry.org/)
installed, and, if on Windows, you'll probably need to install the [Visual C++
build tools](https://visualstudio.microsoft.com/downloads/).
As far as developing Publ itself goes, cloning this repository and running
`./runTests.sh` (Linux/macOS/etc.) or `wintests.cmd` (Windows) should get you up
and running. The runtime manual test suite site lives in `tests/` (with the
actual site content in `content/`, `templates/` and `static/`).
For developing CLI functionality, you'll have to override the `FLASK_APP`
environment variable to be `test_app.py`.
## Additional resources
The [Publ-site](https://github.com/PlaidWeb/Publ-site) repository stores all of
the templates, site content, and configuration for the [Publ
site](https://publ.plaidweb.site).
The
[Publ-templates-beesbuzz.biz](https://github.com/PlaidWeb/Publ-templates-beesbuzz.biz)
repository provides a stripped-down sample site based on [my personal
homepage](https://beesbuzz.biz).
## Authors
In order of first contribution:
* [fluffy](https://github.com/fluffy-critter)
* [karinassuni](https://github.com/karinassuni)
Raw data
{
"_id": null,
"home_page": "https://publ.plaidweb.site/",
"name": "Publ",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": "fluffy",
"author_email": "fluffy@beesbuzz.biz",
"download_url": "https://files.pythonhosted.org/packages/91/f6/f3e7d95ecf14f6b703fa67e9f7b1dba2183bcf78773bfd600586a2c85279/publ-0.7.35.tar.gz",
"platform": null,
"description": "# Publ\n\nA personal publishing platform. Like a static publishing system, only dynamic.\n\n## Motivation\n\nI make a lot of different things \u2014 comics, music, art, code, games \u2014 and none of\nthe existing content management systems I found quite satisfied my use cases.\nEither they don't allow enough flexibility in the sorts of content that they can\nprovide, or the complexity in managing the content makes it more complicated than\nsimply hand-authoring a site.\n\nI wanted to bring the best of the classic static web to a more dynamic\npublishing system; scheduled posts, private posts, category-based templates, and\nbuilt-in support for image renditions (including thumbnails, high-DPI support,\nand image galleries). And I want to do it all using simple Markdown files\norganized in a sensible file hierarchy.\n\n## Basic tenets\n\n* Containerized web app that's deployable with little friction (hopefully)\n* Do one thing (present heterogeneous content), do it well (hopefully)\n* Use external tools for site content editing\n* Be CDN-friendly\n* High-DPI images and image sets as first-class citizens\n* Interoperate with everything that's open for interoperation (especially [IndieWeb](http://indieweb.org))\n\n## See it in action\n\nThe main demonstration site is at https://beesbuzz.biz/ \u2014 it is of course a\nwork in progress! The documentation site for Publ itself (which is also a work in progress) lives at https://publ.plaidweb.site/\n\n## Operating requirements\n\nI am designing this to work in any WSGI-capable environment with a supported\nversion of Python. This means that it will, for example, be deployable on any\nshared hosting which has Passenger support (such as Dreamhost), as well as on\nHeroku, Google AppEngine, S3, or any other simple containerized deployment\ntarget.\n\nThe file system is the ground truth for all site data, and while it does use a\ndatabase as a content index, the actual choice of database doesn't matter all\nthat much. A typical deployment will use SQLite, but MySQL, Postgres, Oracle,\nand Cockroach are also supported.\n\n## Developing Publ\n\nIn order to develop Publ itself, you'll need to install its dependencies; see\nthe [getting started\nguide](http://publ.plaidweb.site/manual/328-Getting-started) for more\ninformation. In particular, make sure you have compatible versions of\n[Python](https://python.org/) and [Poetry](https://python-poetry.org/)\ninstalled, and, if on Windows, you'll probably need to install the [Visual C++\nbuild tools](https://visualstudio.microsoft.com/downloads/).\n\nAs far as developing Publ itself goes, cloning this repository and running\n`./runTests.sh` (Linux/macOS/etc.) or `wintests.cmd` (Windows) should get you up\nand running. The runtime manual test suite site lives in `tests/` (with the\nactual site content in `content/`, `templates/` and `static/`).\n\nFor developing CLI functionality, you'll have to override the `FLASK_APP`\nenvironment variable to be `test_app.py`.\n\n## Additional resources\n\nThe [Publ-site](https://github.com/PlaidWeb/Publ-site) repository stores all of\nthe templates, site content, and configuration for the [Publ\nsite](https://publ.plaidweb.site).\n\nThe\n[Publ-templates-beesbuzz.biz](https://github.com/PlaidWeb/Publ-templates-beesbuzz.biz)\nrepository provides a stripped-down sample site based on [my personal\nhomepage](https://beesbuzz.biz).\n\n## Authors\n\nIn order of first contribution:\n\n* [fluffy](https://github.com/fluffy-critter)\n* [karinassuni](https://github.com/karinassuni)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A flexible web-based publishing framework",
"version": "0.7.35",
"project_urls": {
"Homepage": "https://publ.plaidweb.site/",
"Repository": "https://github.com/PlaidWeb/Publ"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1ac9d0c9406fe94f4bfbb4c6e5420e13054eb6d18c5858abbe3845c448f67770",
"md5": "aae43bbf6ed7f3c15d36cb8ee13adc8e",
"sha256": "54e09905bef530b556dde34aa65d1fc7bd4990ceeb3a44612a8d18407a953aec"
},
"downloads": -1,
"filename": "publ-0.7.35-py3-none-any.whl",
"has_sig": false,
"md5_digest": "aae43bbf6ed7f3c15d36cb8ee13adc8e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.9",
"size": 93675,
"upload_time": "2025-01-02T02:40:50",
"upload_time_iso_8601": "2025-01-02T02:40:50.362995Z",
"url": "https://files.pythonhosted.org/packages/1a/c9/d0c9406fe94f4bfbb4c6e5420e13054eb6d18c5858abbe3845c448f67770/publ-0.7.35-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "91f6f3e7d95ecf14f6b703fa67e9f7b1dba2183bcf78773bfd600586a2c85279",
"md5": "c41c5a82342d4d90ab977dbdc4614284",
"sha256": "0b43fa35a527f6a396b26df916e8d9a7cae774779dcb2d0f430006d06862f28b"
},
"downloads": -1,
"filename": "publ-0.7.35.tar.gz",
"has_sig": false,
"md5_digest": "c41c5a82342d4d90ab977dbdc4614284",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.9",
"size": 82166,
"upload_time": "2025-01-02T02:40:51",
"upload_time_iso_8601": "2025-01-02T02:40:51.705698Z",
"url": "https://files.pythonhosted.org/packages/91/f6/f3e7d95ecf14f6b703fa67e9f7b1dba2183bcf78773bfd600586a2c85279/publ-0.7.35.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-02 02:40:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PlaidWeb",
"github_project": "Publ",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"lcname": "publ"
}