-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define behavior for is_post
/ posts
#323
Comments
The breaking change in here is that we'd need to switch |
Initial thought:
Under this
Pros |
One option is to make But then it feels weird to have both But
|
Jekyl''s where filter seems to be helpful: See #350 for adding it in. |
`page.collection` contains the collection slug which is `posts` for, well, the built-in posts collection. This is a step towards cobalt-org#323 BREAKING CHANGE: `page.is_post` is replaced by `page.collection` Generally, it'll look like `{% if page.is_post %}` and can be replaced by `{% if page.collection == "posts" %}` though `cobalt migrate` should do this for you.
`page.collection` contains the collection slug which is `posts` for, well, the built-in posts collection. `collections.posts.pages` is a sorted list of all of the pages that are part of the posts collection. Fixes cobalt-org#323 BREAKING CHANGES: `page.is_post` is replaced by `page.collection`. Generally, it'll look like `{% if page.is_post %}` and can be replaced by `{% if page.collection == "posts" %}` `posts` is replaced by `collections.posts.pages`. Generally, it'll look like `{% for post in posts %}` and can be replaced by `{% for post in collections.posts.pages %}` `cobalt migrate` should do this for you.
`page.collection` contains the collection slug which is `posts` for, well, the built-in posts collection. `collections.posts.pages` is a sorted list of all of the pages that are part of the posts collection. Fixes cobalt-org#323 BREAKING CHANGES: `page.is_post` is replaced by `page.collection`. Generally, it'll look like `{% if page.is_post %}` and can be replaced by `{% if page.collection == "posts" %}` `posts` is replaced by `collections.posts.pages`. Generally, it'll look like `{% for post in posts %}` and can be replaced by `{% for post in collections.posts.pages %}` `cobalt migrate` should do this for you.
This release focused on unleashing a lot of breaking changes that have been stacking up for a while which also expose a lot of features that have been inaccessible. The hope is that from now on, breaking changes will be minor (like small changes to config) rather than sweeping changes to every file like this. Bug Fixes * Reducing logging noise ([a7acd2c](a7acd2c)) * **rss:** Don't error if the RSS folder doesn't exist. ([357cb4b](357cb4b)) * **watch:** Don't stop on error ([3c4d086](3c4d086), closes [#347](#347)) Features * Migrate support for changing _layouts to _includes ([28ae870](28ae870)) * **config:** * Change .cobalt.yml to _cobalt.yml ([c4ee83b](c4ee83b), closes [#348](#348)) * Stablize the format ([34e9d54](34e9d54), closes [#199](#199), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/), [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **front:** * Stablize fronmatter format ([9089c72](9089c72), closes [#257](#257), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change date to YYYY-MM-DD ([1e19ae0](1e19ae0), closes [#349](#349), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change permalink variable names ([e78b806](e78b806), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change permalink to well-defined format ([c6c4d7a](c6c4d7a), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Standardize permalink behavior ([6730eb6](6730eb6), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **excerpt:** Better define non-existent behavior ([129c574](129c574)) * **page:** * Upgrade liquid ([2ec3f24](2ec3f24)) * Generalize is_post / posts ([d280a35](d280a35), closes [#323](#323), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Make page variables future-proof ([6f62dea](6f62dea), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * page.file.parent variable ([dce1d59](dce1d59), closes [#338](#338)) * **serve:** * Adjust base_url for localhost ([e75e139](e75e139), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Merge `serve` and `watch` ([d2f22d5](d2f22d5), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **debug:** * Report asset files ([5d77b7f](5d77b7f)) * Generalize debug commands ([087d991](087d991), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) Breaking Changes `cobalt migrate` was created to help mitigate the cost of most of these breaking changes. * **config:** Stablize the format ([34e9d54](34e9d54), closes [#199](#199), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/), [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **debug:** Generalize debug commands ([087d991](087d991), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **front:** * Change date to YYYY-MM-DD ([1e19ae0](1e19ae0), closes [#349](#349), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change permalink variable names ([e78b806](e78b806), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Change permalink to well-defined format ([c6c4d7a](c6c4d7a), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Standardize permalink behavior ([6730eb6](6730eb6), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Stablize fronmatter format ([9089c72](9089c72), closes [#257](#257), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **page:** * Liquid errors on undefined variables ([2ec3f24](2ec3f24)) * This was done to help catch migration problems and to move us in the direction of easier debugging of problems * The restriction might be loosened in some cases (like `{% if var %}`). * Generalize is_post / posts ([d280a35](d280a35), closes [#323](#323), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Make page variables future-proof ([6f62dea](6f62dea), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * **serve:** * Adjust base_url for localhost ([e75e139](e75e139), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) * Merge `serve` and `watch` ([d2f22d5](d2f22d5), breaks [#](https://github.com/cobalt-org/cobalt.rs/issues/)) Performance * **serve:** Reduce duplicate rebuilds ([8f2679c](8f2679c))
Goals
Use cases
posts
Proposal
page.collection
: Slug of the collectiontitle
description
rss_permalink
jsonfeed_permalink
pages
Use case solutions
Use cases
posts
:{% for post in collections.posts.pages %}
{% for dog in collections.dogs.pages %}
{% for post in collections.posts.pages %}
{% for dog in collections.dogs.pages %}
{{ collections.posts.rss_permalink }}
{{ collections.dogs.rss_permalink }}
{{ collections.posts.rss_permalink }}
{{ collections.dogs.rss_permalink }}
Prior Art
Cobalt today
posts
: list of post attributes, containing everything butcontent
/excerpt
is_post
: boolean to know this s a postposts
: list of post attributes, containing everythingis_post
: boolean to know this isn't a postHugo
Pages have:
RSSLink
for taxonomy (collection?) the page is inSite.RSSLink
for site's rssSite.Taxonomies.<name>.Pages
: list of pages.Data.Pages
Hugo
Jekyll
Page attributes
site.posts
: list of postssite.<name>
list of pagessite.collections.<name>
: collection metadata (name, list of pages, etc)collection
: name of containing collectionPermalink
:collection
name of the collectionVariables
The text was updated successfully, but these errors were encountered: