Skip to content
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

Make site-wide configuration forward compatible #199

Closed
epage opened this issue Mar 9, 2017 · 0 comments
Closed

Make site-wide configuration forward compatible #199

epage opened this issue Mar 9, 2017 · 0 comments
Assignees
Labels
breaking-change enhancement Improve the expected
Milestone

Comments

@epage
Copy link
Member

epage commented Mar 9, 2017

See https://jekyllrb.com/docs/configuration/

Prior art:

Proposal

  • src -> source
  • dest -> destination
    • default: ./ -> ./_site
  • template_extensions
  • ignore
  • layouts -> layouts_dir
  • include_drafts (just as descriptive as alternatives)
  • posts (new top-level)
    • dir (formerly posts)
      • default: posts -> _posts (since default doesn't include the original path)
    • sort (formerly post_order)
      • Add a None option
    • rss (moved from root)
    • default (frontmatter format)
      • root excerpt_separator moves here
      • post_path moves here as permalink
        • default ? -> date alias
  • page (new top-level)
    • default (frontmatter format)
      • root excerpt_separator moves here
  • site
    • name (moved from root)
      • Used by RSS
      • Added to site.*
    • description (moved from root)
      • Used by RSS
      • Added to site.*
    • base_url (was root link)
      • Used by RSS
      • Added to site.*

Removed

  • drafts (use is_draft instead)
    • Note: this will break at least two of the example sites
@epage epage mentioned this issue Mar 31, 2017
@epage epage self-assigned this Mar 31, 2017
@epage epage mentioned this issue Mar 31, 2017
@epage epage changed the title Jekyll-compatible configuration Expand site-wide configuration to be feature-parity with Jekyll Apr 2, 2017
@epage epage added the enhancement Improve the expected label May 5, 2017
@epage epage mentioned this issue Sep 30, 2017
11 tasks
@epage epage changed the title Expand site-wide configuration to be feature-parity with Jekyll Make site-wide configuration forward compatible Oct 21, 2017
epage pushed a commit to epage/cobalt.rs that referenced this issue Oct 26, 2017
@epage epage added this to the 0.10.0 milestone Nov 9, 2017
epage added a commit to epage/cobalt.rs that referenced this issue Dec 21, 2017
The `.cobalt.yml` format should be more forward looking now, not
breaking users in the face of new featurs being added.

Features this uncovers
- Default the frontmatter for pages and posts

Fixes cobalt-org#199

BREAKING CHANGE: `.cobalt.yml` format change.  Run `cobalt migrate` to
convert your site to the new format.  Please backup first in case there
is an issue.
epage added a commit to epage/cobalt.rs that referenced this issue Dec 30, 2017
The `.cobalt.yml` format should be more forward looking now, not
breaking users in the face of new featurs being added.

Features this uncovers
- Default the frontmatter for pages and posts

Fixes cobalt-org#199

BREAKING CHANGE: `.cobalt.yml` format change.  Run `cobalt migrate` to
convert your site to the new format.  Please backup first in case there
is an issue.
@epage epage closed this as completed in 34e9d54 Jan 6, 2018
epage added a commit that referenced this issue Jan 9, 2018
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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change enhancement Improve the expected
Projects
None yet
Development

No branches or pull requests

1 participant