Documentation
¶
Index ¶
- Constants
- func AlphabeticalApps(m map[string]*sysl.Application) []string
- func AlphabeticalEndpoints(m map[string]*sysl.Endpoint) []string
- func AlphabeticalPackage(m map[string]*Package) []string
- func CreateSequenceDiagram(m *sysl.Module, call string) (string, error)
- func GenerateDiagramAndMarkdown(sd *Diagram) error
- func GenerateMarkdown(outputdir, fileName string, object interface{}, t *template.Template, ...) error
- func GetAppPackageName(app *sysl.Application) (string, string)
- func LoadMarkdownTemplates(markdowns ...string) ([]*template.Template, error)
- type Diagram
- func (d Diagram) AppComment() string
- func (d Diagram) AppName() string
- func (d Diagram) EndpointComment() string
- func (d Diagram) EndpointName() string
- func (d Diagram) EndpointNameWithoutSpaces() string
- func (sd *Diagram) GenerateDiagramAndMarkdown() error
- func (d Diagram) Img() string
- func (s Diagram) InputDataModel() []*Diagram
- func (s Diagram) OutputDataModel() []*Diagram
- func (d Diagram) TypeComment() string
- type Package
- type Project
- func (p Project) AlphabeticalRows() []*Package
- func (p *Project) CreateIntegrationDiagrams(title, output string, projectApp *sysl.Application, EPA bool) (*Diagram, error)
- func (p *Project) EnableLiveReload() *Project
- func (p *Project) ExecuteTemplateAndDiagrams() *Project
- func (p Project) GenerateDBDataModel(parentAppName string) string
- func (p Project) GenerateEndpointDataModel(parentAppName string, t *sysl.Type) string
- func (p Project) RegisterDiagrams() error
- func (p *Project) RegisterTemplates(projectTemplateString, packageTemplateString string) error
- func (p *Project) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (p *Project) SetOutputFs(fs afero.Fs) *Project
- func (p *Project) SetServerMode() *Project
- func (p *Project) Update(m *sysl.Module) *Project
Constants ¶
const PackageHTMLTemplate = header + PackageHTMLTemplateWithoutCSS + style + endTags
const PackageHTMLTemplateWithoutCSS = `` /* 1645-byte string literal not displayed */
const PackageMarkdownTemplate = `` /* 1378-byte string literal not displayed */
const ProjectHTMLTemplate = header + ProjectHTMLTemplatePackageTemplateWithoutCSS + style + endTags
const ProjectHTMLTemplatePackageTemplateWithoutCSS = `` /* 449-byte string literal not displayed */
const ProjectMarkdownTemplate = `` /* 357-byte string literal not displayed */
Variables ¶
This section is empty.
Functions ¶
func AlphabeticalApps ¶
func AlphabeticalApps(m map[string]*sysl.Application) []string
AlphabeticalEndpoints sorts a map of Applications alphabetically
func AlphabeticalEndpoints ¶
AlphabeticalEndpoints sorts a map of endpoints alphabetically
func AlphabeticalPackage ¶
AlphabeticalEndpoints sorts a map of Package alphabetically
func CreateSequenceDiagram ¶
func GenerateDiagramAndMarkdown ¶
GenerateDiagramAndMarkdown generates diagrams and markdown for sysl diagrams.
func GenerateMarkdown ¶
func GenerateMarkdown(outputdir, fileName string, object interface{}, t *template.Template, fs afero.Fs) error
GenerateMarkdown generates markdown for any object.
func GetAppPackageName ¶
func GetAppPackageName(app *sysl.Application) (string, string)
GetAppPackageName returns the package and app name of any sysl application
Types ¶
type Diagram ¶
type Diagram struct { Parent *Package Project *Project Endpoint *sysl.Endpoint App *sysl.Application Type *sysl.Type OutputDir string PlantUMLDiagramString string OutputFileName__ string Diagramtype string }
PlantUMLDiagramString represents a plantuml diagram with other contextual info.
func (Diagram) AppComment ¶
func (Diagram) EndpointComment ¶
func (Diagram) EndpointName ¶
func (Diagram) EndpointNameWithoutSpaces ¶
func (*Diagram) GenerateDiagramAndMarkdown ¶
GenerateDiagramAndMarkdown generates diagrams and markdown for sysl diagrams.
func (Diagram) InputDataModel ¶
InputDataModel Generates request diagrams for the endpoint that's registered in s
func (Diagram) OutputDataModel ¶
OutputDataModel Generates return value diagrams for the endpoint that's registered in s
func (Diagram) TypeComment ¶ added in v1.2.6
type Package ¶
type Package struct { Parent *Project OutputDir string PackageName string OutputFile string SequenceDiagrams map[string][]*Diagram // map[appName][]*Diagram DatabaseModel map[string]*Diagram Integration *Diagram EPAIntegration *Diagram }
Package is the second level where apps and endpoints are specified.
type Project ¶
type Project struct { Title string PageFileName string // Is README.md for markdown and index.html for html Server bool // Determines wether html refresh header is added LiveReload bool Output string PlantumlService string OutputFileName string RootLevelIntegrationDiagramEPA *Diagram RootLevelIntegrationDiagram *Diagram Log *logrus.Logger Packages map[string]*Package // Packages are the rows of the top level markdown Fs afero.Fs Module *sysl.Module DiagramExt string //.svg or .html if we're in server mode (we don't send requests PackageModules map[string]*sysl.Module // PackageModules maps @package attr to all those applications ProjectTempl *template.Template // Templ is used to template the Project struct PackageTempl *template.Template // PackageTempl is passed down to all Packages }
Project is the top level in the hierarchy of markdown generation
func NewProject ¶
func NewProject(title, outputDir, plantumlservice string, outputType string, log *logrus.Logger, module *sysl.Module) *Project
NewProject generates a Project Markdwon object for all a sysl module
func (Project) AlphabeticalRows ¶
AlphabeticalRows returns an alphabetically sorted list of packages of any project.
func (*Project) CreateIntegrationDiagrams ¶
func (*Project) EnableLiveReload ¶ added in v1.2.6
func (*Project) ExecuteTemplateAndDiagrams ¶
ExecuteTemplateAndDiagrams generates all documentation of Project with the registered Markdown
func (Project) GenerateDBDataModel ¶
GenerateDBDataModel takes all the types in parentAppName and generates data model diagrams for it
func (Project) GenerateEndpointDataModel ¶
GenerateEndpointDataModel generates data model diagrams for a specific type
func (Project) RegisterDiagrams ¶
RegisterDiagrams creates sequence Diagrams from the sysl Module in Project.
func (*Project) RegisterTemplates ¶
RegisterTemplates registers templates for the project to use
func (*Project) SetOutputFs ¶
SetOutputFs sets the output filesystem