All Changes

0.7.37


Changes:

  • Splits Gradle plugin into a base a Javadoc plugin

0.7.36


Changes:

  • Adds collections for Javadoc classes, packages, and external pages
  • Fixes bug where asset relation did not properly apply default configs
  • Updates BsDoc theme colors to be more flexible

0.7.35


Changes:

  • In asset relation, only apply base URL is the source isn't already an absolute URL
  • Fixes bug where drafts still showed up in recent posts lists
  • Fixes bug where pages with tags would crash Netlify CMS

0.7.34


Changes:

  • Replaces CoreUI as the admin framework with UIkit
  • Refactors admin UI to be easier to use and more helpful
  • Fixes crash in admin UI when the SyntaxHighlighter plugin was not installed by removing all instances of the highlight tag from the admin templates

0.7.33


Changes:

  • Improvements to tag handling in NetlifyCMS
  • Updates dependency versions

0.7.32


Changes:

  • Adds in lazy-loaded relations as an Option type
  • Improves integration with NetlifyCMS a bit

0.7.31


Changes:

  • Fixes bug with new Page menu item
  • Adds Authors as a Folder Collection from the Posts generator

0.7.30


Changes:

  • Moves index generator and search functionality out of Core and into a new plugin. It is still currently up to the theme to actually implement the search with the OrchidSearch plugin.

0.7.29


Changes:

  • ConfigArchetype now broadcasts an event so we can configure an item through code as well as in config.yml
  • Set config archetypes so they are all namespaced under their Generator's key, making it less likely to have options collisions, and also makes it easier to pull all information relevant to a plugin into a single data/ file

0.7.28


Changes:

  • Cleans up themes styling and layouts

0.7.27


Changes:

  • Added a lot of documentation to User Manual and for each plugin's README
  • Fixed some bugs along the way
  • Adds initial support for Netlify CMS local backend with the Orchid development server

0.7.26


Changes:

  • Makes BsDoc theme more flexible
  • Moves Lunr search JS to core, adds it as an option to BsDoc theme
  • Allows themes to be set with custom options for a specific Generator, and improves theme assets handling so the same theme with different assets don't overwrite each other
  • Sets up Orchid Search to be more contextual. Setting the searchIndices with an array of generator keys will restrict searches to only from those indices.
  • Fixed several other bugs with themes and precompiling

0.7.25


Changes:

  • Fixes some more bugs with Forms plugin
  • Improves display of command-line flags so sensitive values can be hidden from console
  • Updates gradle wrapper and dependency versions

0.7.24


Changes:

  • Fixes a couple bugs with Forms plugin, adds Bootstrap form styling to BsDoc theme

0.7.23


Changes:

  • Fixes a couple regressions with BsDoc theme's JS and favicons

0.7.22


Changes:

  • Improves self-documentation with a much-improved admin UI
  • Adds Orchid logo to documentation site and to admin UI
  • Improves styling and layout of BsDoc theme
  • Adds support for custom 404 page and favicon

0.7.21


Changes:

  • Improves documentation
    • Updated several Wiki pages
    • Added descriptions for all Options in all plugins, themes, and core
    • Ensures all plugin and theme Orchid sites show options for every relevant class
    • Auto-generates Admin lists for every injected set
  • Improves several APIs
    • Allows Components and Menus to directly access their current Page
    • Allows the precompiler language to be customized with a Compiler service option, instead of always being Pebble
  • Fixes some bugs
    • Fixes issue where drafts weren't being rendered, but were still leaking through the index and being added to Taxonomy archives
    • Allows pages to request not being precompiled, even when they include Front Matter
  • Moves primary site hosting to Netlify. Github Pages will probably stick around to show the latest stable release, while Netlify will be updated much more frequently, be where plugin/theme submissions are added, and include the latest development features.

0.7.20


Changes:

  • Waits to print them until after the build has completed, to make them more noticeable.
  • Adds security manager to ensure files are only written in the input, output, and temp directories.
  • Adds collections for taxonomies so we can generate links to post tags and categories.
  • Improves templates for FutureImperfect theme a bit.

0.7.19


Changes:

  • Allows taxonomies to get terms from page methods as lists or as arrays, which fixes bug making hierarchical post categories' archives

0.7.18


Changes:

  • clears template cache every build
  • Fully implements hierarchical categories in Posts plugin
  • Fixes several bugs in Core and in Posts plugin

0.7.17


Changes:

  • Adds RSS and Atom feeds to Posts plugin

0.7.16


Changes:

  • Improves Javadocs more, adds optional stylesheet for non-bootstrap themes
  • Ironically, converts Javadoc plugin entirely to Kotlin

0.7.15


Changes:

  • Improves styling and usability of Javadocs plugin
  • More improvements to design of documentation site
  • Sets up all single-injected classes to be able to be overridden by 3rd-party plugins, so now there is nothing that cannot be customized or extended.

0.7.14


Changes:

  • Updates design of docs site
  • Minor bugfixes

0.7.13


Changes:

  • Adds tag to embed Twitter tweets or timelines
  • Adds tag to embed Instagram posts

0.8.12


Changes:

  • Increases timeout for OkHttpClient, adds caching.
  • Adds support auto-generated documentation for OrchidCollections within admin panel.

0.7.12


Changes:

  • Creates components and menu item types for Taxonomies plugin:
    • MenuItem to display all Taxonomies
    • MenuItem to link to a Taxonomy archive, or a dropdown of the terms in the Taxonomy
    • MenuItem to link to a Taxonomy Term archive, or a dropdown of the pages in the Taxonomy Term
    • Component to link to a Taxonomy archive, or a dropdown of the terms in the Taxonomy
    • Component to link to a Taxonomy Term archive, or a dropdown of the pages in the Taxonomy Term

0.8.11


Changes:

  • Fixes some bugs with homepages, makes searching collections from templates easier.

0.7.11


Changes:

  • Creates Taxonomies plugin, which makes it possible to manage custom taxonomies and archives across many plugins. It was inspired by and modelled after Hugo's custom taxonomies, but adds its own spin that makes it much more flexible and powerful with Orchid's content model.
  • Removes the Category and Tag archive pages from the Posts plugin. These archives are now created with the taxonomies plugin.
  • Adds generation sitemap.xml and robots.txt in Core.
  • Adds generation of author pages for the Posts plugin. Authors that are set in the config (as before) or that have pages in posts/authors/ will have pages generated for them. Authors added to individual posts are "guest authors".

0.8.10


Changes:

New Features

  • New Breadcrumbs API
  • New Menu Item types
    • pageIds in Pages plugin
  • Helpful Kotlin extensions for registering types in OrchidModule and for resolving objects or sets from OrchidContext.

Bugfixes

  • Manually specifies UTF-8 rather than relying on Charset.defaultCharset()
  • Overall improvements to Javadoc templates

Breaking Changes

  • Wiki no longer adds section meus by default. You can easily add them to all Wiki pages if desired in the wikiPages.menu archetype.
  • OrchidCollection.find now returns a Stream<T> instead of a List<T>. Its base class constructors have also been changed so that a Generator is now no longer necessary.

0.7.10


Changes:

  • Adds tags for Gist and Youtube in OrchidWritersBlocks plugin
  • Adds functions for Pluralize, nl2br, and EncodeSpaces in OrchidWritersBlocks plugin
  • Adds tags for Highlight via pygments in OrchidSyntaxHighlighter plugin
  • Adds function for Load in core
  • Adds Archetypes that target specific sections of pages in the Posts, Pages, and Wiki plugins

0.8.9


Changes:

  • Improves messaging with Netlify publisher
  • Moves all plugin documentation into the main Orchid build, rather than each having separate Orchid sites. This makes it easier to and faster to build the main Orchid docs, and also allows for greater customization and automatic menu generation for each plugin's docs pages.

0.7.9


Changes:

  • Creates a new Language Extension which will include various additional Components and TemplateTags for better composition
  • Creates basic structure for generating NetlifyCMS from Orchid configuration

0.8.8


Changes:

New Features

  • Adds new publisher
    • ghPages - Push your site to GitHub Pages

Bug Fixes

  • Extracts options before every deploy
  • Removes the full build that was done before the interactive task. Adds orchidShell Gradle task to simplify running the Orchid interactive task.

0.7.8


Changes:

  • Move site About to OrchidSite class to better define site-wide data
  • Adds better self-documentation with tables of options
  • Moves AdminTheme to PluginDocs plugin
  • Adds check to make sure a Page exists for every official plugin in OrchidCore docs

0.8.7


Changes:

New Features

  • Adds two new publishers
    • script - Execute arbitrary shell scripts
    • netlify - Upload your site to Netlify

0.7.7


Changes:

  • Completely removes jTiwg as a dependency, trims down Flexmark dependencies
  • Adds API to more easily add custom Pebble tags
  • Changes Alert from a function to a tag
  • Travis CI now deploys to gh-pages branch

0.8.6


Changes:

New Features

  • Adds API for managing deployments within Orchid. API is set up and tested, but there are no Publisher implementations yet. See docs for OrchidPublisher for building custom publishers, and Publication Pipeline for how to implement and use a deployment pipeline.

Bugfixes

  • Fixes issue where an empty config.yml caused a crash. (#123)
  • Prevents Pebble from stripping whitespace. While this may increase the resulting size of your site, it prevents some issues it was causing when using Pebble for pre-compiling Markdown and other content that is sensitive to whitespace.

0.7.6


Changes:

  • Relaxes some task dependencies that weren't necessary
  • Fixes issue of docs from subprojects not being copied to final output directory
  • Bundles release notes in the docs archives

0.8.5


Changes:

  • Adds plugin to document Swift source code, OrchidSwiftdoc

0.7.5


Changes:

  • Fixes issue of Travis CI Github Pages plugin suddenly breaking

0.8.4


Changes:

  • Allows fully custom directories to be used for Javadoc sources instead of only the module's main java sources.

0.7.4


Changes:

  • Adds publish and expiry dates, which are used to check for time-based draft status.
  • Runs orchidBuild task on subprojects with no Java source, so that we still have all subprojects generating Orchid documentation.
  • Adds short debounce to rebuilds.
  • Deep-merges config, environment-specific config, and datafiles.
  • Adds injectable template globals.
  • Improves user manual documentation.

0.8.3


Changes:

Improvements

  • Improves asset management
    • Allows adding arbitrary assets to AssetHolders
    • You can now set alt text and title on any AssetRelation
  • Adds debug comments to pages with useful information about the classes and resources used
  • Improves permalink formatting. You can now use bracketed placeholders as part of a path segment, instead of the entire segment.

Bugfixes

  • Fixes bugs with Social icons, where linkedin used the wrong URL, and where custom icons were not being created
  • Fixes rendering issues with server directory listing and 404

0.7.3


Changes:

  • Improves design of FutureImperfect theme
  • Adds Gravatar support in OrchidPosts
  • Fixes issue of post archives being reversed
  • Allows Homepage to choose own next and previous links

0.9.2


Changes:

  • fixes crash running Orchid when build directory doesn't previously exist

0.8.2


Changes:

  • Fixes regressions introduced by setting up the ModularList implementations
  • Adds external URL to JavaEden/Common Javadocs

0.7.2


Changes:

  • Adds APIs to RenderService to allow for dynamic rendering modes
  • Allows StaticPages to configure its own renderMode
  • Allows StaticPages to set whether it uses a pretty URL
  • AssetsGenerator now only loads assets from local resources
  • Fixes issue of Options in kotlin having different setter names than expected, causing Options Extraction to fail
  • Improves process of adding assets to themes, pages, and components which eliminates issue of assets being added more than once
  • Adds interface for Components declared on Themes to add their assets to the theme. Previously, only Components declared on Pages had their assets added to the page.

0.9.1


Changes:

  • fixes issue rendering admin pages introduced with adding the page template functions and tags

0.8.1


Changes:

  • Refactors options extraction into fully separate library (now managed in JavaEden/Common)
  • Refactors ComponentHolder, OrchidMenu and FormFields to all inherit from a common base class of ModularList

0.7.1


Changes:

  • Archetype objects and arrays now get merged together instead of replacing one another. Useful for site- or generator-wide Components or Menus.
  • Hides Components based on 'hidden' flag.
  • Sorts Components according to order.
  • Allows OptionsExtractor to add entire Options object to its OptionsHolder with a new @OptionsData annotated field.
  • Posts generator now supports different pagination options for each category.

0.9.0


Changes:

This is a major release, which contains several breaking changes. Read carefully, your site might not properly if you do not update you site in line with these changes.

Notable New Features

  • Tags can now be easily set up to used tabbed content. The Writer's Blocks plugin includes implementations for Tabs and an Accordion
  • Publishing to Github Pages now has several publishing modes, which will allow you to publish without overwriting the old site. This is perfect for managing library documentation, as it will allow you to keep the docs around for every older version of your project.
  • The data directory has been changed to config to match the config.yml file it corresponds to. In addition, you can now create a data.yml and use datafiles in the data directory to host arbitrary data used in your site. The data in data is not included as options, so there is no fear of your data accidentally changing the configuration of your site in any way, it is just data and nothing more.
  • Layouts are now much easier to set up and are more prescriptive, with no more "magic" included you need to know. Anything that should be included in your layouts is automatically documented in your admin panel's TemplateTags.

All Changes

  • Makes TemplateTags and TemplateFunctions page-aware
  • Changes Parsers to return a Map rather than a JSONObject
  • Updates Pebble to 3.0.0 release version. Adds 'serialize' method to Parsers so we can write objects back into that representation if needed
  • Caches compiled page content in the Page, frees the page directly instead of just its resource
  • Adds accordion tabbed tag. Displays tabs in the order they are parsed
  • Updates dependency versions
  • Adds Tabs tabbed tag to WritersBlocks plugin
  • Changes API of TemplateTags to support tags with inner tabs
  • Adds multiple publishing modes for GithubPages publisher, adds bean validation to all Publishers
  • Changes signature of TemplateFunctions so that filtered input is just set as an Option
  • Makes all options extraction use Maps and Lists instead of JSONObjects and JSONArrays
  • Sets up Hibernate Validator for validating classes with Options
  • Implements scripts, styles, head, and page tags to remove the 'magic' includes previously used.
  • Fixes issue in docs where bundles landing pages were not linking to their plugin pages
  • Updates to Pebble 3.0, adds custom AttributeResolver to call a 'get' method with the String attribute, which allows for accessing front matter of pages and also for JSONObjects
  • Renames 'dropdown' menu item to 'submenu'
  • Changes name of data directory to config, changes templates parameter in OrchidPage, OrchidComponent, and FormField to template

Breaking Changes for End-users

  • Changes name of data directory to config
  • changes templates parameter in OrchidPage, OrchidComponent, and FormField to template (it still accepts either a String or an array of strings)
  • Renames dropdown menu item to submenu
  • Many classes and methods have been changed in a non-backwards-compatible way. Updating should be pretty straightforward, but you may need to view the changes in the commit history to know exactly what to change.
  • Updates to Pebble 3.0.0. Old templates will still work as they did previously, but there is some new functionality available, and some behavior might be different than it was. View the Pebble changelog to know more.

0.8.0


Changes:

  • Splits Gradle plugin into a base a Javadoc plugin
    • Base: com.eden.orchidPlugin
    • Javadoc: com.eden.orchidJavadocPlugin
  • Gradle plugins now use the same version as the rest of Orchid
  • Refactored options framework to make it simpler to extend and easier to use

0.7.0


Changes:

  • Adds basic concept of Options Archetypes, applies it to all OrchidPage types
  • Updates dependency versions

0.6.0


Changes:

  • Updates all plugins to Kotlin
  • Minor bugfixes and behavior improvements across all plugins
  • Sets up all plugins to generate their own reference documentation