anchor.diff:  = LiquiDoc
   
  -LiquiDoc is a system for true single-sourcing of content with various output requirements.
  +LiquiDoc is a system for true single-sourcing of content in flat files with various output requirements.
  +The command-line utility engages templating systems to parse data into rich text.
  +
   Sources can (or soon will be able to) be flat files formatted in:
   
   * JSON
  
positive.code: Both AsciiDoc and Liquid can be treated as templating languages in LiquiDoc.
  
  *AsciiDoc* is used when the variable content of the template is minimal, and the static text is maximal.
  For instance, a book chapter.
  
  *Liquid* is used for complex, variable data, usually for looped output.
  For instance, a list (array) of glossary terms and definitions that need to be looped over and pressed into a cleaner markup, such as Markdown, AsciiDoc, or HTML.
  
  You may also use these templates *in combination*.
  
negative.code: * Markdown
  * AsciiDoc
  
  Output can (or will) be pretty much any flat file, including semi-structured data like JSON and XML, as well as rich text/multimedia formats like HTML, PDF, slide decks, and more.
  
  == Purpose
  
  The general purpose of this tool is for building documentation from semi-structured or mixed data parsed into secondary markup languages, usually for output as rich text media.
  For example, store data in YAML files, template your output using Liquid and AsciiDoc, and export as HTML, PDF, ePub, or even slide presentations.
  This facilitates a programmatic, "docs-as-code" approach to technical documentation projects, where docs are single-sourced and share the same codebase/repo as the main product.
  
  The tool currently provides for configuring build jobs, with extensibility coming soon.
  
  == Installation
  
  [NOTE]
  Your system must be running Ruby 2.3 or later.
  Linux and MacOS users should be okay.
  See https://www.ruby-lang.org/en/downloads/[Ruby downloads] if you're on Windows.
  
  . Create a file called `Gemfile` in your project's root directory.
  
  . Populate the file with LiquiDoc dependencies.
  +
  [source,ruby]
  ----
  source 'https://rubygems.org'
  
  gem 'json'
  gem 'liquid'
  gem 'asciidoctor'
  gem 'logger'
  gem 'crack'
  gem 'liquidoc'
  ----
  
  . Run `bundle install` to prepare dependencies.
  
  == Usage
  
  LiquiDoc provides a Ruby command-line tool for processing source files into new text files based on templates you define.
  These definitions can be command-line options, or they can be instructed by preset configurations you define in separate configuration files.
  
  Give LiquiDoc (1) any proper YAML or JSON data file and (2) a template mapping any of the data to token variables with Liquid markup, and LiquiDoc returns STDOUT feedback or writes a new file (or multiple files) based on that template.
  
  .Example -- Generate sample output
  ----
  $ bundle exec liquidoc --verbose
  ----
  +
  Check `_output/` for new files based on the files reported in the logs.
  
  .Example -- Generate Rocana sample output with configuration
  ----
  $ bundle exec liquidoc -c configs/cfg-sample.yml
  ----
  
  .Example -- Generate output from files passed to CLI
  ----
  $ bundle exec liquidoc -d _data/data-sample.yml -t _templates/liquid/tpl-sample.asciidoc -o sample.adoc
  ----
  
  === Sources
  