Extractly

Build StatusCoverage StatusHex.pmHex.pmHex.pm

Mix task to Transform EEx templates in the context of the Extractly module.

This tool serves two purposes.

  1. A simple CLI to basicly EEx.eval_file/2

  2. Access to the Extractly module (available as binding xtra too)

The Extractly module gives easy access to Elixir metainformation of the application using the extractly package, notably, module and function documentation.

This is BTW the raison d'être of this package, simple creation of a README.md file with very simple access to the projects hex documentation.

Thusly hexdoc and Github will always be synchronized.

To see that in action just look at the README.md.eex file of this package and compare with what you are reading here.

Example Template:

  Some text
  <%= xtra.functiondoc("M.shiny_function/2") %>
  <%= xtra.moduledoc("String") %>

  More text

Usage:

mix xtra [options]... [template]

Options:

--help     Prints short help information to stdout and exits.
--version  Prints the current version to stdout and exits.
--verbose  Prints additional output to stderr

--output filename
          The name of the file the rendered template is written to, defaults to the templates'
          name, without the suffix `.eex`

Argument:

template, filename of the `EEx` template to use, defaults to `"README.md.eex"`

Installation

If available in Hex, the package can be installed by adding extractly to your list of dependencies in mix.exs:

def deps do
  [
    {:extractly, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/extractly.

Author

Copyright © 2018,9 Robert Dober, robert.dober@gmail.com,

LICENSE

Same as Elixir, which is Apache License v2.0. Please refer to LICENSE for details.

SPDX-License-Identifier: Apache-2.0