knit-haskell: a minimal Rmarkdown sort-of-thing for haskell, by way of Pandoc

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

knit-haskell is a beginning attempt at bringing some of the benefits of Rmarkdown to Haskell. It includes an effects stack (using polysemy rather than mtl) which includes logging, a simplified interface to Pandoc and various writer-like effects to intersperse document building with regular code. Various helper functions are provided to simplify common operations, making it especially straightforward to build an HTML document from bits of markdown, latex and Lucid or Blaze html. Support is also included for including hvega visualizations and diagrams from the diagrams package. More information is available in the readme.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.2.0.0, 0.3.0.0, 0.4.0.0, 0.5.0.0, 0.6.0.0, 0.6.0.1, 0.7.0.0, 0.7.0.0, 0.8.0.0
Change log ChangeLog.md
Dependencies aeson-pretty (>=0.8.7 && <0.9), base (>=4.12.0 && <4.13), base64-bytestring (>=1.0.0.2 && <1.1.0.0), blaze-colonnade (>=1.2.2 && <1.3.0.0), blaze-html (>=0.9.1 && <0.10), bytestring (>=0.10.8 && <0.11), case-insensitive (>=1.2.0.11 && <1.3.0.0), colonnade (>=1.1 && <1.3), constraints (>=0.10 && <0.12), containers (>=0.5.0 && <0.7), diagrams-lib (>=1.4 && <1.5.0.0), diagrams-svg (>=1.4.1 && <1.5.0.0), directory (>=1.3.3.0 && <1.4.0.0), Glob (>=0.10.0 && <0.11.0), http-client (>=0.6.4 && <0.7.0), http-client-tls (>=0.3.5.3 && <0.4.0.0), http-types (>=0.12.3 && <0.13.0), hvega (>=0.2.0 && <=0.5), logging-effect (>=1.3.3 && <1.4), lucid (>=2.9.11 && <2.10), mtl (>=2.2.2 && <2.3), network (>=2.8.0.0 && <3.2.0.0), network-uri (>=2.6.1.0 && <2.7.0.0), pandoc (>=2.7.2 && <2.8), polysemy (>=1.0.0.0 && <1.3), polysemy-plugin (>=0.2.0.0 && <0.3.0.0), polysemy-zoo (>=0.6.0 && <0.7), prettyprinter (>=1.2.1 && <1.4), random (>=1.1 && <1.2), random-fu (>=0.2.7 && <0.3), random-source (>=0.3.0 && <0.4), svg-builder (>=0.1.1 && <0.2), text (>=1.2.3 && <1.3), time (>=1.8.0 && <2.0.0) [details]
License BSD-3-Clause
Copyright 2019 Adam Conner-Sax
Author Adam Conner-Sax
Maintainer adam_conner_sax@yahoo.com
Category Text
Home page https://github.com/adamConnerSax/knit-haskell#readme
Bug tracker https://github.com/adamConnerSax/knit-haskell/issues
Source repo head: git clone https://github.com/adamConnerSax/knit-haskell
Uploaded by adamCS at 2019-09-16T18:01:26Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for knit-haskell-0.7.0.0

[back to package description]

knit-haskell v0.7.0.0

Build Status Hackage Hackage Dependencies

Introduction

knit-haskell is an attempt to emulate parts of the RMarkdown/knitR experience in haskell. The idea is to be able to build HTML (or, perhaps, some other things Pandoc can write) inside a haskell executable.
This package has some wrapping around Pandoc and the PandocMonad as well as logging facilities and some support for inserting hvega visualizations.
All of that is handled via writer-like effects, so additions to the documents can be interspersed with regular haskell code.

Supported Inputs

Examples

There are a few examples in the "examples" directory.

Notes

  1. adding "polysemy-plugin" in build-depends and
  2. Add "ghc-options: -fplugin=Polysemy.Plugin" to your package configuration. Pandoc effects and writer effects for document building are also provided.