Blog entries can be added by following these steps:
- If submitting for the first time, an author YAML file must be added to the
data/blog/authorsdirectory. - Add an MD file containing the blog post's metadata and body.
- blog post files are named following a
yyyy-mm-dd-titleconvention, e.g.,2024-10-24-blog-title.md - each file must be added to the appropriate year's directory, found in
data/blog/ - use the following command to make sure your submission will be correctly built:
- blog post files are named following a
$ composer build-blog- When ready, submit the blog post for review via pull request to the default branch.
You can use the file examples as starting point
All submissions must follow the contributing guidelines as well as the Code of Conduct
Each blog post must begin with the YAML section found in the template.
The <!--- EXTENDED --> tag is used to mark a preview section of the blog post on the listing page, with all following content being hidden.
Note that markdown and yaml files should be linted.
The necessary author YAML file uses the following fields:
-
string - used internally, file name must match the given id.
-
string - to be displayed in RSS feeds.
-
string - to be added to the author's name on the blog post's page.
-
string - displayed name; if missing, a default value will be shown.
---
id: 2024-10-22-example-id
author: example-author-id
title: 'Example post title'
draft: true
public: true
created: '2024-10-22T11:00:00-01:00'
updated: '2024-10-22T11:00:00-01:00'
openGraphImage: '2024-10-22-custom-image.png'
openGraphDescription: 'Custom description'
tags:
- example tag
- second example tag
---All the following fields are required:
-
idstring - must be a unique identifier for the blogBy convention the date of submission is used as a prefix, using the
yyyy-mm-ddformat. -
author(string) - theidof the author, as set in the corresponding YAML file -
title(string) - non-empty string used as the title of the post -
draft(boolean) - the status of the blogpost, defaulting tofalse; if set totrue, the post is hidden -
public(boolean) - the visibility of the post, defaulting tofalse; if set totrue, the post is visible on the listing page and feed -
created(string) - must be a valid Date and Time format; used by default to sort the posts -
updated(string) - must be a valid Date and Time format -
tags(array of strings) - used to filter blog posts by tag
The Open Graph preview card has a default image and description which can be optionally overwritten using the following fields:
-
openGraphImagestring - custom image to replace the default in the Open Graph preview- given value must be the same as the file name and extension
- the corresponding image file must be added in the
public\images\opengraph\blogdirectory - to maintain cohesion, the image file should be named after the blog post itself (
yyyy-mm-dd-title.extension)
-
openGraphDescriptionstring - custom text to be displayed in the Open Graph preview, replacing the default.
id: author
name: Sample Author
email: sampleAuthor@example.com
uri: 'https://example.com'
---
id: 2024-10-24-example-post
author: author
title: 'Example post'
draft: false
public: true
created: '2024-10-24'
updated: '2024-10-24'
openGraphImage: '2024-10-24-custom-image.png'
openGraphDescription: 'Custom description'
tags:
- example tag
---
Section above extended tag, which will be visible in the post list.
<!--- EXTENDED -->
## Sample heading
Section below extended tag will be hidden in the listing, being visible only on the post's own page.