https://github.com/sebobo/shel.neos.reports
Report generator module for Neos CMS node data
https://github.com/sebobo/shel.neos.reports
excel-export exporter hacktoberfest neoscms
Last synced: over 1 year ago
JSON representation
Report generator module for Neos CMS node data
- Host: GitHub
- URL: https://github.com/sebobo/shel.neos.reports
- Owner: Sebobo
- License: mit
- Created: 2022-06-09T14:35:57.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-11-16T13:44:19.000Z (over 2 years ago)
- Last Synced: 2025-03-26T10:04:30.856Z (over 1 year ago)
- Topics: excel-export, exporter, hacktoberfest, neoscms
- Language: JavaScript
- Homepage:
- Size: 33.2 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Funding: FUNDING.yml
- License: LICENSE.txt
Awesome Lists containing this project
README
# Report generator for NeosCMS based
This package provides an Excel report generator for NeosCMS.
You can configure report profiles via yaml and each can define
which nodetypes should be included and the columns for each of those.
An optional starting point allows to only export parts of your site.
A backend module shows a list of all configured profiles and allows to export them.
## Installation
Run the following command in your Neos project:
```shell
composer require shel/neos-reports
```
Or add the package as dependency to your site-package.
## Configuration example for a report preset
```yaml
Shel:
Neos:
Reports:
presets:
myReport:
label: 'My Report'
startingPoint: '/sites'
filenamePrefix: 'My report'
dateTimeFormats:
input: 'd.m.Y'
values: 'd.m.Y H:i'
filename: 'Y-m-d_H-i'
nodeTypes:
My.Vendor:Content.Event:
label: 'Events'
sortBy: 'title'
properties:
- title
- category
- startDate
- startTime
- endDate
- endTime
- location
- image
expressions:
# Get title from first content element
Headline: "${q(node).children('content').first().property('title')}"
My.Vendor:Document.News:
label: 'News'
sortBy: 'title'
properties:
- title
- publicationDateTime
expressions:
# Get text from the first content node in main content collection and remove html tags
Text: "${String.stripTags(q(node).children('main').children('[instanceof My.Vendor:Content.Text]').first().property('content'))}"
My.Vendor:Content.text:
sortBy: 'text'
properties:
- text
```
## Contribute
Contributions are very welcome.
For code contributions, please create a fork and create a PR against the lowest maintained
branch of this repository (currently `main`).
## License
See [License](LICENSE.txt)