Rapport

Rapport aims to provide a robust set of modules to generate HTML reports that both looks good in the browser and when being printed.

Build Status Hex.pm Inline docs Coverage Status

Installation

The package can be installed by adding rapport to your list of dependencies in mix.exs:

def deps do
  [
    {:rapport, "~> 0.3.0"}
  ]
end

Hello world

page_template = "<h1><%= @hello %></h1>"
html_report =
  Rapport.new
  |> Rapport.add_page(page_template, %{hello: "Hello world!"})
  |> Rapport.generate_html

The snippet above generates a report containing only one page with a heading that says “Hello world!”.

Add styling & custom fonts to a report

report_template = """
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
<style>
  h1 {
    font-family: 'Tangerine', serif;
    font-size: 48px;
    text-shadow: 4px 4px 4px #aaa;
    margin: 0
  }
</style>
"""
page_template = "<h1><%= @hello %></h1>"
html_report =
  Rapport.new(report_template)
  |> Rapport.add_page(page_template, %{hello: "Hello world!"})
  |> Rapport.generate_html

Table and page breaks

Credits

The following people have contributed ideas, documentation, or code to Librex:

  • Richard Nyström

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request