drasil-gen-0.1.3.0: A framework for code and document generation for scientific software - Utils SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Drasil.Generate

Description

Defines Drasil generator functions.

Synopsis

Debugging

dumpTo :: ToJSON a => a -> TargetFile -> IO () Source #

dumpEverything :: SystemInformation -> PrintingInformation -> Path -> IO () Source #

For debugging purposes, if the system has a DEBUG_ENV environment variable set to anything, we can dump the chunk maps in a system to the host system.

Type checking

Generator Functions

gen :: DocSpec -> Document -> PrintingInformation -> IO () Source #

Generate a number of artifacts based on a list of recipes.

genDot :: SystemInformation -> IO () Source #

Generates traceability graphs as .dot files.

genCode :: Choices -> CodeSpec -> IO () Source #

Calls the code generator.

Types (Printing Options)

data DocType #

Document types include Software Requirements Specification and Website. Choosing SRS will generate both TeX and HTML files, while Website generates only as HTML. This also determines what folders the generated files will be placed into.

Constructors

SRS 
Website 
Jupyter 

Instances

Instances details
Show DocType

Shows the different types of documents.

Instance details

Defined in Language.Drasil.Format

data DocSpec Source #

Document specifications. Holds the type of document (DocType) and its name (Filename).

Constructors

DocSpec DocChoices Filename 

Instances

Instances details
RuleTransformer DocSpec Source #

Allows the creation of Makefiles for documents that use LaTeX.

Instance details

Defined in Language.Drasil.Output.Formats

Methods

makeRule :: DocSpec -> [Rule] #

data Format #

Possible formats for printer output.

Constructors

TeX 
HTML 
JSON 

data DocChoices Source #

Document choices include the type of document as well as the file formats we want to generate as.

Constructors

DC DocType [Format] 

Constructor

docChoices :: DocType -> [Format] -> DocChoices Source #

Constructor for users to choose their document options