Metadata-Version: 2.1
Name: collective.blog
Version: 1.0.0a12
Summary: A Blog-Addon for Plone.
Home-page: https://github.com/collective/collective.blog
Author: Jonas Piterek (kitconcept GmbH)
Author-email: info@kitconcept.com
License: GPL version 2
Project-URL: PyPI, https://pypi.python.org/pypi/collective.blog
Project-URL: Source, https://github.com/collective/collective.blog
Project-URL: Tracker, https://github.com/collective/collective.blog/issues
Keywords: Python Plone CMS
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: Addon
Classifier: Framework :: Plone :: Distribution
Classifier: Framework :: Plone :: 6.0
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.GPL
License-File: LICENSE.md
Requires-Dist: setuptools
Requires-Dist: Plone
Requires-Dist: plone.api
Requires-Dist: plone.restapi
Provides-Extra: test
Requires-Dist: zest.releaser[recommended]; extra == "test"
Requires-Dist: zestreleaser.towncrier; extra == "test"
Requires-Dist: plone.app.testing; extra == "test"
Requires-Dist: plone.restapi[test]; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-plone>=0.2.0; extra == "test"


<p align="center">
    <img alt="kitconcept GmbH" width="200px" src="https://kitconcept.com/logo.svg">
</p>

<h1 align="center">collective.blog</h1>
<h3 align="center">Blog features for Plone</h3>

<div align="center">

[![PyPI](https://img.shields.io/pypi/v/collective.blog)](https://pypi.org/project/collective.blog/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/collective.blog)](https://pypi.org/project/collective.blog/)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/collective.blog)](https://pypi.org/project/collective.blog/)
[![PyPI - License](https://img.shields.io/pypi/l/collective.blog)](https://pypi.org/project/collective.blog/)
[![PyPI - Status](https://img.shields.io/pypi/status/collective.blog)](https://pypi.org/project/collective.blog/)

[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/collective.blog)](https://pypi.org/project/collective.blog/)

[![Meta](https://github.com/collective/collective.blog/actions/workflows/meta.yml/badge.svg)](https://github.com/collective/collective.blog/actions/workflows/meta.yml)
![Code Style](https://img.shields.io/badge/Code%20Style-Black-000000)

[![GitHub contributors](https://img.shields.io/github/contributors/collective/collective.blog)](https://github.com/collective/collective.blog)
[![GitHub Repo stars](https://img.shields.io/github/stars/collective/collective.blog?style=social)](https://github.com/collective/collective.blog)

</div>

## Features

`collective.blog` adds blogging features to a [Plone](https://plone.org/) site.

### Content Types

| name          | context                                                         |
| ------------- | --------------------------------------------------------------- |
| `Blog`        | A folderish content type that supports adding Posts and Authors |
| `Blog Author` | An Author in a blog                                             |
| `Blog Tag`    | A Tag for categorizing posts in a blog                          |
| `Blog Post`   | A Post in a blog                                                |

## Installation

Add `collective.blog` as a dependency on your package's `setup.py`

```python
    install_requires = [
        "collective.blog",
        "Plone",
        "plone.restapi",
        "setuptools",
    ],
```

Also, add `collective.blog` to your package's `configure.zcml` (or `dependencies.zcml`):

```xml
<include package="collective.blog" />
```

### Generic Setup

To automatically enable this package when your add-on is installed, add the following line inside the package's `profiles/default/metadata.xml` `dependencies` element:

```xml
    <dependency>profile-collective.blog:default</dependency>
```

## Source Code and Contributions

We welcome contributions to `collective.blog`.

You can create an issue in the issue tracker, or contact a maintainer.

- [Issue Tracker](https://github.com/collective/collective.blog/issues)
- [Source Code](https://github.com/collective/collective.blog/)

### Development requirements

- Python 3.8 or later
- Docker

### Setup

Install all development dependencies -- including Plone -- and create a new instance using:

```bash
make install
```

### Update translations

```bash
make i18n
```

### Format codebase

```bash
make format
```

### Run tests

Testing of this package is done with [`pytest`](https://docs.pytest.org/) and [`tox`](https://tox.wiki/).

Run all tests with:

```bash
make test
```

Run all tests but stop on the first error and open a `pdb` session:

```bash
./bin/tox -e test -- -x --pdb
```

Run only tests that match `TestVocabAuthors`:

```bash
./bin/tox -e test -- -k TestVocabAuthors
```

Run only tests that match `TestVocabAuthors`, but stop on the first error and open a `pdb` session:

```bash
./bin/tox -e test -- -k TestVocabAuthors -x --pdb
```

## Credits

The development of this add-on has been kindly sponsored by [German Aerospace Center (DLR)](https://www.dlr.de) and [Forschungszentrum Jülich](https://www.fz-juelich.de).

<img alt="German Aerospace Center (DLR)" width="200px" src="https://raw.githubusercontent.com/collective/collective.blog/main/docs/dlr.svg" style="background-color:white">
<img alt="Forschungszentrum Jülich" width="200px" src="https://raw.githubusercontent.com/collective/collective.blog/main/docs/fz-juelich.svg" style="background-color:white">

Developed by [kitconcept](https://www.kitconcept.com/)

## License

The project is licensed under GPLv2.


# Contributors

- Jonas Piterek [@jonaspiterek]
- Érico Andrei [@ericof]
- Timo Stollenwerk [@tisto]
- collective [info@kitconcept.com]


# Changelog

<!--
   You should *NOT* be adding new change log entries to this file.
   You should create a file in the news directory instead.
   For helpful instructions, please see:
   https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst
-->

<!-- towncrier release notes start -->

## 1.0.0a12 (2024-04-24)


### Bug fixes:

- Fix tags widget to not have an open vocabulary, and adjust Volto widget @sneridagh #71

## 1.0.0a11 (2024-04-10)


### Bug fixes:

- Fix 'Wrong contained type' error for new blog posts with no tags created using plone.restapi. @davisagli #69

## 1.0.0a10 (2024-03-28)


### New features:

- - Update German translations [@jonaspiterek] #63
- Update Brazilian Portuguese translations [@ericof] #67


### Internal:

- Add a GitHub Actions workflow to automatically check for Changelog entries on pull requests [@ericof] #65

## 1.0.0a9 (2024-03-27)


### New features:

- Added Blog Tag content type. A tags folder is created for new blogs, but not existing ones. @davisagli #61

## 1.0.0a8 (2024-02-28)


### Bug fixes:

- Limit authors vocabulary to authors from the current blog context. @davisagli #59

## 1.0.0a7 (2024-02-02)


### New features:

- Allow a Blog Post to be created inside a subfolder of a Blog #54


### Bug fixes:

- Refactor post_authors indexer to avoid repeated calls to the catalog #56

## 1.0.0a6 (2024-01-29)


### New features:

- - Add indexer for indexing authors from a blog post [@jonaspiterek] #53


## 1.0.0a5 (2023-12-04)


### New features:

- Translate id and title for Authors folder on creation [@jonaspiterek] #50


## 1.0.0a4 (2023-11-28)


### Bug fixes:

- Rename Blog fti to BlogFolder, allowing contents with id blog to be added [@ericof] #42
- Add initial blocks to auto_add_authors_container handler [@jonaspiterek] #43
- Rename blog index and metadata to blog_uid [@ericof] #48


## 1.0.0a3 (2023-11-24)


### New features:

- Control creation of "Authors" folder via registry configuration [@ericof] #34
- Add control panel to configure Blog Settings [@ericof] #36
- Additional information returned on /@authors endpoint [@ericof] #40


### Internal:

- Increase test coverage of the package [@ericof] #38


## 1.0.0a2 (2023-11-23)


### New features:

- Initial Package Structure for Plone 6 [@jonaspiterek] #11
- Blog and Author should be listed on Plone Navigation [@jonaspiterek] #13
- Implement i18n support [@ericof] #17
- Implement `collective.blog.blog_info` behavior [@ericof] #20
- Disable allowing to add Author globally. Fix GS titles [@jonaspiterek] #21
- Add index and metadata for blog post and blog author, Add test for blog author [@jonaspiterek] #28
- Implement collective.blog: Add Author, collective.blog: Add Blog, collective.blog: Add Post permissions [@ericof] #30
- Create folder authors inside a blog [@jonaspiterek] #32


### Documentation:

- Improve README.md [@ericof] #15


## 1.0a1 (2016-02-14)

- Initial release. [@pcdummy]


