Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data DocType
- data Format
- data GraphInfo = GI {
- assumpNF :: NodeFamily
- ddNF :: NodeFamily
- gdNF :: NodeFamily
- tmNF :: NodeFamily
- imNF :: NodeFamily
- reqNF :: NodeFamily
- gsNF :: NodeFamily
- chgNF :: NodeFamily
- edgesAvsA :: [(UID, [UID])]
- edgesAvsAll :: [(UID, [UID])]
- edgesRefvsRef :: [(UID, [UID])]
- edgesAllvsR :: [(UID, [UID])]
- edgesAllvsAll :: [(UID, [UID])]
- data NodeFamily = NF {
- nodeUIDs :: [UID]
- nodeLabels :: [Label]
- nfLabel :: Label
- nfColour :: Colour
- outputDot :: FilePath -> GraphInfo -> IO ()
- genHTML :: PrintingInformation -> String -> Document -> Doc
- makeCSS :: Document -> Doc
- makeMd :: [Doc] -> Doc
- introInfo :: String -> [String] -> Maybe String -> Doc
- verInfo :: String -> String -> Doc
- unsupOS :: Maybe String -> Doc
- regularSec :: Doc -> Doc -> Doc
- instDoc :: [String] -> String -> (String, String) -> Doc
- extLibSec :: [(String, String)] -> [String] -> Doc
- endNote :: Int -> [String] -> Doc
- whatInfo :: Maybe String -> Doc
- data SingleLine
- sentenceDoc :: ChunkDB -> Stage -> SingleLine -> Sentence -> Doc
- exprDoc :: ChunkDB -> Stage -> SingleLine -> Expr -> Doc
- codeExprDoc :: ChunkDB -> Stage -> SingleLine -> CodeExpr -> Doc
- symbolDoc :: Symbol -> Doc
- unitDoc :: SingleLine -> USymb -> Doc
- showSymb :: Symbol -> String
- showHasSymbImpl :: HasSymbol x => x -> String
- genTeX :: Document -> PrintingInformation -> Doc
- genJSON :: PrintingInformation -> DocType -> Document -> Doc
- printAllDebugInfo :: PrintingInformation -> [Doc]
- data PrintingInformation = PI {
- _ckdb :: ChunkDB
- _stg :: Stage
- _configuration :: PrintingConfiguration
- piSys :: SystemInformation -> Stage -> PrintingConfiguration -> PrintingInformation
- class HasPrintingOptions c where
- getSetting :: Lens' c Notation
- data Notation
- defaultConfiguration :: PrintingConfiguration
Formats
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.
DOT
Types
Holds all important and relevant information for generating a traceability graph. Includes nodes, graph edges, and node family information.
GI | |
|
data NodeFamily Source #
A node family contains a list of UID
s, their display labels, general subgraph label, and colour.
NF | |
|
Functions
outputDot :: FilePath -> GraphInfo -> IO () Source #
Creates the directory for output, gathers all individual graph output functions and calls them.
HTML
Printer
genHTML :: PrintingInformation -> String -> Document -> Doc Source #
Generate an HTML document from a Drasil Document
.
Helpers
Markdown
Printer
makeMd :: [Doc] -> Doc Source #
Combines a list of sentences into a final Doc, also appends end note.
Section Printers
introInfo :: String -> [String] -> Maybe String -> Doc Source #
Example title, authors, and maybe purpose section.
unsupOS :: Maybe String -> Doc Source #
Invalid Operating Systems section, does not display unless atleast 1 invalid OS.
instDoc :: [String] -> String -> (String, String) -> Doc Source #
Instruction section, contains 4 paragraphs, Running, Building, Input-Output and Config Files. The Config file section is only displayed if there are configuration files.
extLibSec :: [(String, String)] -> [String] -> Doc Source #
External Libraries section. The inputs are a list of name and version pairs and a list of the corresponding version numbers, these are first combined into a list of triplets, and then each printed on a new line.
whatInfo :: Maybe String -> Doc Source #
What
section in generated README file, does not display if empty
Plain
Types
Functions
sentenceDoc :: ChunkDB -> Stage -> SingleLine -> Sentence -> Doc Source #
Create sentences for a document in Doc
format.
exprDoc :: ChunkDB -> Stage -> SingleLine -> Expr -> Doc Source #
Create expressions for a document in Doc
format.
codeExprDoc :: ChunkDB -> Stage -> SingleLine -> CodeExpr -> Doc Source #
Create code expressions for a document in Doc
format.
showHasSymbImpl :: HasSymbol x => x -> String Source #
Helper for printing a HasSymbol in Implementation Stage
TeX
Jupyter
genJSON :: PrintingInformation -> DocType -> Document -> Doc Source #
Generate a python notebook document (using json). build : build the SRS document in JSON format build': build the general Jupyter Notbook document
Log
printAllDebugInfo :: PrintingInformation -> [Doc] Source #
Gathers all printing functions and creates the debugging tables from them.
Printing Information and Options
data PrintingInformation Source #
Printing information contains a database, a stage, and a printing configuration.
Instances
HasPrintingOptions PrintingInformation Source # | Finds the notation used for the |
Defined in Language.Drasil.Printing.PrintingInformation getSetting :: Lens' PrintingInformation Notation Source # |
piSys :: SystemInformation -> Stage -> PrintingConfiguration -> PrintingInformation Source #
Builds a document's printing information based on the system information.
class HasPrintingOptions c where Source #
Able to be printed.
getSetting :: Lens' c Notation Source #
Holds the printing notation.
Instances
HasPrintingOptions PrintingInformation Source # | Finds the notation used for the |
Defined in Language.Drasil.Printing.PrintingInformation getSetting :: Lens' PrintingInformation Notation Source # |
defaultConfiguration :: PrintingConfiguration Source #
Default configuration is for engineering.