Skip to content

0.13.0

Compare
Choose a tag to compare
@cjbrooks12 cjbrooks12 released this 21 Nov 01:35
· 484 commits to dev since this release

This is a major release which contains numerous breaking changes. Please review the following changes carefully to make sure your site is updated properly.

New Features

  • Adds Radio Buttons as available form field types.
  • Archetypes are now auto-documented in the admin panel alongside options fields.
  • .properties files can now be used as data files, or used as the Front Matter format.
  • Netlify CMS configs are now set up to generate modular list form definitions. When this PR on Netlify CMS is merged, Orchid will already be set up to work with it.
  • Wikis can now generate offline documentation! Add createPdf: true to each Wiki section's config that you want offline docs, and Orchid will compile all the content for that section into a PDF.
  • A new Asset Management API! You can use the asset() template function to load an asset dynamically load and render an asset. Asset rendering is lazy, which allows you to transform your assets, such as rotating, scaling, or resizing an image.
  • Added a parseAs function which works similarly to compileAs, but returns parsed data instead of a rendered String.

Bug Fixes

  • Menu items were not the most intuitive, especially when trying to render a submenu that also had an index page at its root. A single menu item can now have both a page it references itself, and a list of children menu items, leaving the theme to decide how to display such a situation.
  • Fixes issue setting asset directories as Strings in config.yml.
  • Makes option types linkable in admin panel again.
  • Fixed several issues with bad configurations in Netlify CMS config, and errors using it locally with Orchid's server.
  • Prevents assets from being rendered more than once, especially when added as extra CSS or JS. Orchid now tracks the assets rendered throughout the entire build cycle, and only renders whats necessary.
  • Assets attached to Posts (and other similar objects) now reference an actual asset rather than just being Strings. These assets are rendered lazily, and so can be transformed using the normal asset transformation functions.

Breaking Changes

  • Menu classes have been renamed and its public method signatures have changed significantly.
    • OrchidMenuItemImpl is now MenuItem. In addition, creating menu items now follows a Java-style Builder pattern rather then using overloaded constructors.
    • OrchidMenuItem is now OrchidMenuFactory.
  • Default assets directory is now assets/media rather than just assets.
  • Breadcrumbs APIs have been simplified, and many of its classes have been removed. Instead of the possibility of multiple breadcrumb types, there is just a single BreadcrumbStrategy, and Orchid expects plugins to manage the breadcrumb structure by setting parent pages appropriately.
  • The Forms plugin no longer creates its own pages, and forms are only loaded from data files (.yaml, etc.). A form should link to an arbitrary submission page using a PageReference at redirectionPage.
  • Updates Orchid Gradle plugin so extra args are passed directly, instead of split and reformatted.