This Neos CMS plugin is for a simple blog functionality.
- Categories
- Tags
- Comments
- Author page
- Listing with pagination
Most of the time you have to make small adjustments to a package (e.g., the configuration in Settings.yaml). Because of that, it is important to add the corresponding package to the composer from your theme package. Mostly this is the site package located under Packages/Sites/. To install it correctly go to your theme package (e.g.Packages/Sites/Foo.Bar) and run following command:
composer require breadlesscode/neos-blog --no-update
The --no-update command prevent the automatic update of the dependencies. After the package was added to your theme composer.json, go back to the root of the Neos installation and run composer update. Your desired package is now installed correctly.
prototype(Vendor.Xy:RecentBlogPosts) < prototype(Breadlesscode.Blog:Component.PostList) {
paginated = false
itemsPerPage = 5
collection = ${ q(site).find('[instanceof Breadlesscode.Blog:Document.Post]').sort('datePublished', 'DESC').get() }
}
Reference of some parts of the package.
You can filter a collection of nodes by tags. Example:
${ q(site).find('[instanceof Breadlesscode.Blog:Document.Post]').fliterByTags(q(node).property('tags')).get() }
You can filter a collection of nodes by tags. Example:
${ q(site).find('[instanceof Breadlesscode.Blog:Document.Post]').filterByCategories(q(node).property('categories')).get() }
You can filter a collection of nodes by the author. Example:
${ q(site).find('[instanceof Breadlesscode.Blog:Document.Post]').filterByAuthor(q(node).property('author')).get() }
For quering users, e.g. the author.
${ Blog.getUserByIdentifier(q(blogPost).property('author')) }
All node types that this package provides.
- Breadlesscode.Blog:Document.Post - Blog post
- Breadlesscode.Blog:Document.CategoryBlog - Category
- Breadlesscode.Blog:Document.Tag - Tag
- Breadlesscode.Blog:Document.Author - Author
- Breadlesscode.Blog:Content.PostListing - Listing of blog posts
- Breadlesscode.Blog:Component.PostListItem - Singel list item for listing element
- Breadlesscode.Blog:Document.Post - The post document node
- Breadlesscode.Blog:Document.Category - The category document node
- Breadlesscode.Blog:Document.Tag - The tag document node
Breadlesscode:
Blog:
comments:
confirmation:
# Confirmation message, if null confirmation message is disabled
message: 'Breadlesscode.Blog:Form.BlogComment:confirmation.message'
notification:
# enable mail on new comment
sendMail: false
# email subject
subject: 'New Comment!'
# the notification mail template path
template: 'resource://Breadlesscode.Blog/Private/Email/comment_notification.html'
# which is the recipient of the notification email
recipient:
email: null
name: null
Neos:
SwiftMailer:
transport:
type: 'Swift_MailTransport'
arguments: ~
options: []
# Example settings for sending emails via SMTP / SSL:
#
# SwiftMailer:
# transport:
# type: 'Swift_SmtpTransport'
# options:
# host: 'smtp.example.com'
# port: 465
# username: '[email protected]'
# password: '5js9j1lkjs8'
# localDomain: 'example.com'
# Example settings for "sending" emails to an mbox file:
#
# SwiftMailer:
# transport:
# type: 'Neos\SwiftMailer\Transport\MboxTransport'
# options:
# mboxPathAndFilename: '%FLOW_PATH_DATA%/Persistent/sent-mail'
We'd love you to contribute to neos-blog. We try to make it as easy as possible. We are using semantic-release to have more time to concentrate on important stuff instead of struggling in the dependency or release hell.
Therefore the first rule is to follow the eslint commit message guideline.
It is really easy, when you always commit via yarn commit
. Commitizen will guide you.
All PRs will be merged into the master branch. Travis and semantic release will check the commit messages and start building a new release when the analysis of the latest commits will trigger that.
If you have questions just ping us on twitter or github.
The MIT License (MIT). Please see License File for more information.