From 47bfe254da316ac5091010ab4c3d2f203f525aa9 Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Thu, 31 Mar 2022 10:50:57 +0200 Subject: [PATCH] chore: commit save point --- ...ements_manager_and_run_add_requirement.xml | 13 ++ ...rements_manager_and_run_print_overview.xml | 2 +- application/source/commandline.go | 93 +++++++++ application/source/config.go | 152 +++++++++------ application/source/const.go | 9 - application/source/defaults.go | 63 +++++++ application/source/files.go | 62 +++--- application/source/items.go | 111 +++++++++-- application/source/l10n.go | 50 +++++ application/source/main.go | 52 +---- application/source/meta.go | 112 ----------- application/source/overview.go | 71 +++++-- application/source/pagedata.go | 25 --- application/source/pandoc.go | 1 + application/source/requirements.go | 178 ++++++++++++++++++ application/source/{todo.go => tasks.go} | 63 +++++-- .../assets/schukai-weiss-1000-210.png | Bin 0 -> 10512 bytes development/examples/example1/144444.md | 28 +++ development/examples/example1/assets/demo.png | Bin 0 -> 67352 bytes .../examples/example1/overview.template | 49 ----- .../examples/example1/req1/001-1425.md | 44 +++++ .../example1/req1/{1425.md => 002.md} | 26 +-- .../example1/req1/{1426.md => 002/002-01.md} | 6 +- .../example1/{req2/test1.md => req999/999.md} | 5 + .../examples/example2/overview.template | 19 -- development/examples/overview.template | 105 +++++++++++ 26 files changed, 922 insertions(+), 417 deletions(-) create mode 100644 .idea/runConfigurations/go_build_requirements_manager_and_run_add_requirement.xml create mode 100644 application/source/commandline.go delete mode 100644 application/source/const.go create mode 100644 application/source/defaults.go delete mode 100644 application/source/meta.go delete mode 100644 application/source/pagedata.go create mode 100644 application/source/requirements.go rename application/source/{todo.go => tasks.go} (54%) create mode 100644 development/examples/assets/schukai-weiss-1000-210.png create mode 100644 development/examples/example1/144444.md create mode 100644 development/examples/example1/assets/demo.png delete mode 100644 development/examples/example1/overview.template create mode 100644 development/examples/example1/req1/001-1425.md rename development/examples/example1/req1/{1425.md => 002.md} (78%) rename development/examples/example1/req1/{1426.md => 002/002-01.md} (91%) rename development/examples/example1/{req2/test1.md => req999/999.md} (94%) delete mode 100644 development/examples/example2/overview.template create mode 100644 development/examples/overview.template diff --git a/.idea/runConfigurations/go_build_requirements_manager_and_run_add_requirement.xml b/.idea/runConfigurations/go_build_requirements_manager_and_run_add_requirement.xml new file mode 100644 index 0000000..8040ce9 --- /dev/null +++ b/.idea/runConfigurations/go_build_requirements_manager_and_run_add_requirement.xml @@ -0,0 +1,13 @@ +<component name="ProjectRunConfigurationManager"> + <configuration default="false" name="go build requirements-manager and run add requirement" type="GoApplicationRunConfiguration" factoryName="Go Application"> + <module name="requirements-manager" /> + <working_directory value="$PROJECT_DIR$/application/source" /> + <parameters value="requirements add --id 144444 -p $PROJECT_DIR$/development/examples/example1" /> + <kind value="DIRECTORY" /> + <package value="gitlab.schukai.com/oss/utilities/requirements-manager" /> + <directory value="$PROJECT_DIR$/application/source" /> + <filePath value="$PROJECT_DIR$/application/source/main.go" /> + <output_directory value="$PROJECT_DIR$/deployment/build" /> + <method v="2" /> + </configuration> +</component> \ No newline at end of file diff --git a/.idea/runConfigurations/go_build_requirements_manager_and_run_print_overview.xml b/.idea/runConfigurations/go_build_requirements_manager_and_run_print_overview.xml index 3f22cf1..3510644 100644 --- a/.idea/runConfigurations/go_build_requirements_manager_and_run_print_overview.xml +++ b/.idea/runConfigurations/go_build_requirements_manager_and_run_print_overview.xml @@ -2,7 +2,7 @@ <configuration default="false" name="go build requirements-manager and run print overview" type="GoApplicationRunConfiguration" factoryName="Go Application"> <module name="requirements-manager" /> <working_directory value="$PROJECT_DIR$/application/source" /> - <parameters value="overview print -c ID -c Title -c Version -p $PROJECT_DIR$/development/examples/example1 -o /tmp/overview.pdf -f pdf -t $PROJECT_DIR$/development/examples/example1/overview.template" /> + <parameters value="overview print -c ID -c Title -c Version -p $PROJECT_DIR$/development/examples/example1 -o /tmp/overview.pdf -f pdf -t $PROJECT_DIR$/development/examples/overview.template" /> <kind value="DIRECTORY" /> <package value="gitlab.schukai.com/oss/utilities/requirements-manager" /> <directory value="$PROJECT_DIR$/application/source" /> diff --git a/application/source/commandline.go b/application/source/commandline.go new file mode 100644 index 0000000..89b5c0c --- /dev/null +++ b/application/source/commandline.go @@ -0,0 +1,93 @@ +package main + +import "fmt" + +type commandLineOptions struct { + Path string `short:"p" long:"path" description:"define the path where the specifications are located" default:"."` + DateFormat string `short:"f" long:"date-format" description:"date format" default:"2006-01-02"` + Requirements struct { + Print struct { + Columns []string `short:"c" long:"column" description:"defines the columns used"` + } `command:"print"` + Add struct { + ID string `long:"id" required:"true" description:"new requirement id"` + } `command:"add"` + } `command:"requirements"` + Tasks struct { + Print struct { + } `command:"print"` + } `command:"tasks"` + Items struct { + Print struct { + } `command:"print"` + } `command:"items"` + Overview struct { + Print struct { + Columns []string `short:"c" long:"column" description:"defines the columns used"` + TemplatePath string `short:"t" long:"template" description:"file name of the template of the overview page"` + Output string `short:"o" long:"output" description:"redirect output to a file"` + Format string `short:"f" long:"format" description:"the desired output format (pdf, md)"` + } `command:"print"` + } `command:"overview"` + Version struct { + } `command:"version"` +} + +func executeCommand() { + + activeCommand, arguments, config := NewConfiguration() + + version = "development" + build = "1.1.1" + // + switch activeCommand.Name { + + case "version": + fmt.Println("Version " + version + " (" + build + ")") + case "overview": + subcommand := activeCommand.Active + switch subcommand.Name { + case "print": + err := PrintOverview(config, arguments) + if err != nil { + printErrorAndExit(2, err.Error()) + } + } + + case "requirements": + subcommand := activeCommand.Active + switch subcommand.Name { + case "add": + err := addRequirement(config, arguments) + if err != nil { + printErrorAndExit(2, err.Error()) + } + case "print": + err := printRequirements(config) + if err != nil { + printErrorAndExit(2, err.Error()) + } + } + + case "tasks": + subcommand := activeCommand.Active + switch subcommand.Name { + case "print": + err := printTaskTable(config) + if err != nil { + printErrorAndExit(2, err.Error()) + } + } + + case "items": + subcommand := activeCommand.Active + switch subcommand.Name { + case "print": + err := printItemTable(config) + if err != nil { + printErrorAndExit(2, err.Error()) + } + } + + } +} diff --git a/application/source/config.go b/application/source/config.go index 189e3ec..c37593a 100644 --- a/application/source/config.go +++ b/application/source/config.go @@ -1,9 +1,13 @@ package main import ( + "log" "os" "os/user" "path" + "path/filepath" + "regexp" + "strings" "github.com/jessevdk/go-flags" "gopkg.in/yaml.v3" @@ -23,28 +27,6 @@ var ( } ) -const defaultTemplate = ` -## Overview - -Created: {{ .created }} - -{{.Meta}} - -## Tasks - -{{.Tasks}} - -## Items - -{{.Items}} - -## requirements - -{{.Requirements}} - - -` - // Exporting interface instead of struct //type Configuration interface{} @@ -63,6 +45,10 @@ type Configuration struct { Overview struct { Template string `yaml:"template"` } `yaml:"overview"` + + Requirement struct { + Template string `yaml:"template"` + } `yaml:"requirement"` } func fileExists(name string) (found bool) { @@ -72,34 +58,6 @@ func fileExists(name string) (found bool) { return false } -type commandLineOptions struct { - Path string `short:"p" long:"path" description:"define the path where the specifications are located" default:"."` - DateFormat string `short:"f" long:"date-format" description:"date format" default:"2006-01-02"` - Meta struct { - Print struct { - Columns []string `short:"c" long:"column" description:"defines the columns used"` - } `command:"print"` - } `command:"meta"` - ToDos struct { - Print struct { - } `command:"print"` - } `command:"todos"` - Items struct { - Print struct { - } `command:"print"` - } `command:"items"` - Overview struct { - Print struct { - Columns []string `short:"c" long:"column" description:"defines the columns used"` - TemplatePath string `short:"t" long:"template" description:"file name of the template of the overview page"` - Output string `short:"o" long:"output" description:"redirect output to a file"` - Format string `short:"f" long:"format" description:"the desired output format (pdf, md)"` - } `command:"print"` - } `command:"overview"` - Version struct { - } `command:"version"` -} - // NewConfiguration func NewConfiguration() (*flags.Command, *commandLineOptions, *Configuration) { @@ -161,22 +119,37 @@ func NewConfiguration() (*flags.Command, *commandLineOptions, *Configuration) { } if arguments.Overview.Print.TemplatePath != "" { - template, err := os.ReadFile(arguments.Overview.Print.TemplatePath) + p := arguments.Overview.Print.TemplatePath + + current, err := os.Getwd() + if err != nil { + log.Println(err) + } + + if !filepath.IsAbs(p) { + p = path.Clean(current + "/" + p) + } + + template, err := os.ReadFile(p) if err != nil { printErrorAndExit(exitCodeCatchAll, "the specified template", arguments.Overview.Print.TemplatePath) } - cfg.Overview.Template = string(template) + + cfg.Overview.Template = convertTemplateImages(string(template), path.Dir(p)) } else { - cfg.Overview.Template = defaultTemplate + cfg.Overview.Template = defaultOverviewTemplate } } - case "meta": + case "requirements": subcommand := activeCommand.Active switch subcommand.Name { + case "add": + cfg.Requirement.Template = defaultNewRequirementTemplate + case "print": - if len(arguments.Meta.Print.Columns) > 0 { - cfg.Table.Columns = validateColumns(arguments.Meta.Print.Columns) + if len(arguments.Requirements.Print.Columns) > 0 { + cfg.Table.Columns = validateColumns(arguments.Requirements.Print.Columns) } } } @@ -184,6 +157,71 @@ func NewConfiguration() (*flags.Command, *commandLineOptions, *Configuration) { return p.Command.Active, arguments, &cfg } +func convertTemplateLogo(content string, absolute string) string { + todoRegEx := regexp.MustCompile(`(?m)^(?P<match>logo:\s*"?(?P<path>[^"\n]*)"?\s*)$`) + + matches := todoRegEx.FindAllStringSubmatch(content, -1) + if matches == nil { + return content + } + + for _, match := range matches { + result := make(map[string]string) + for i, name := range todoRegEx.SubexpNames() { + if i != 0 && name != "" { + result[name] = match[i] + } + } + + if filepath.IsAbs(result["path"]) { + continue + } + + path := path.Clean(absolute + "/" + result["path"]) + content = strings.Replace(content, result["match"], "logo: \""+path+"\"", -1) + + } + + return content +} +func convertTemplateLatexLogo(content string, absolute string) string { + todoRegEx := regexp.MustCompile(`(?m)(?P<match>\\includegraphics[^{]*\{(?P<path>[^}]*)\})`) + + matches := todoRegEx.FindAllStringSubmatch(content, -1) + if matches == nil { + return content + } + + for _, match := range matches { + result := make(map[string]string) + for i, name := range todoRegEx.SubexpNames() { + if i != 0 && name != "" { + result[name] = match[i] + } + } + + if filepath.IsAbs(result["path"]) { + continue + } + + path := path.Clean(absolute + "/" + result["path"]) + a := strings.Replace(result["match"], result["path"], path, -1) + + content = strings.Replace(content, result["match"], a, -1) + + } + + return content +} + +func convertTemplateImages(content string, absolute string) string { + content = convertTemplateLogo(content, absolute) + content = convertTemplateLatexLogo(content, absolute) + + return content + +} + func validateColumns(columns []string) []string { //for i, column := range columns { @@ -193,7 +231,7 @@ func validateColumns(columns []string) []string { // VALIDATE COLUMS NAME // - //for _, name := range config.Meta.Columns { + //for _, name := range config.Requirements.Columns { // // field := reflect.Indirect(r).FieldByName(name) // if field == (reflect.Value{}) { diff --git a/application/source/const.go b/application/source/const.go deleted file mode 100644 index b9c15c9..0000000 --- a/application/source/const.go +++ /dev/null @@ -1,9 +0,0 @@ -package main - -const exitOK = 0 - -// - Catchall for general errors -const exitCodeCatchAll = 1 - -// Invalid argument to exit -const exitCodeInvalidArgument = 128 diff --git a/application/source/defaults.go b/application/source/defaults.go new file mode 100644 index 0000000..e88fb77 --- /dev/null +++ b/application/source/defaults.go @@ -0,0 +1,63 @@ +package main + +const exitOK = 0 + +// - Catchall for general errors +const exitCodeCatchAll = 1 + +// Invalid argument to exit +const exitCodeInvalidArgument = 128 + +const defaultOverviewTemplate = ` + +--- +titlepage: false +... + +## Overview + +{{.Meta}} + +## Tasks + +{{.Tasks}} + +## Items + +{{.Items}} + +## Requirements + +{{.Requirements}} + +` + +// +const defaultNewRequirementTemplate = ` +--- +ID: {{ .ID }} +title: +subtitle: +tags: [] +percent: +Estimation: +items: + - + Group: + ID: + Name: + Description: + Delivery until: + Provided by: + Provided on: + Type: +... + +## Headline + +### Subheading + +- [ ] task 1 +- [ ] task 2 + +` diff --git a/application/source/files.go b/application/source/files.go index b114593..073fe9b 100644 --- a/application/source/files.go +++ b/application/source/files.go @@ -12,10 +12,13 @@ import ( ) // -func GetPageData(directory string) (error, []pageData) { +func GetPageData(directory string) (error, map[string]requirement) { cleanedDirectory := path.Clean(directory) - pageDataList := []pageData{} + + pageMap := make(map[string]requirement) + + //pageMap := []requirement{} err := filepath.Walk(cleanedDirectory, func(current string, info os.FileInfo, err error) error { @@ -25,48 +28,55 @@ func GetPageData(directory string) (error, []pageData) { cleanedPath := path.Clean(current) - if !info.IsDir() { + if info.IsDir() { + return nil + } - content, err := ioutil.ReadFile(cleanedPath) + ext := filepath.Ext(cleanedPath) + if ext != ".md" { + return nil + } - if err != nil { - return err - } + content, err := ioutil.ReadFile(cleanedPath) - err, p := importData(content) + if err != nil { + return err + } - if err != nil { - printError("does not contain a valid yaml definition", cleanedPath) - return nil - } + err, p := importData(content) - bd := []byte(cleanedDirectory) - bp := []byte(cleanedPath) - bs := string(bp[len(bd):len(bp)]) + if err != nil { + printError("does not contain a valid yaml definition", cleanedPath) + return nil + } - p.File = "." + bs - p.Absolute = cleanedPath - p.ToDos = findToDos(content) - //pageData[cleanedPath] = pageData + bd := []byte(cleanedDirectory) + bp := []byte(cleanedPath) + bs := string(bp[len(bd):len(bp)]) - pageDataList = append(pageDataList, p) + p.File = "." + bs + p.Absolute = cleanedPath + p.ToDos = findTask(content) + //requirement[cleanedPath] = requirement - } + k := cleanedPath + + pageMap[k] = p return nil }) - return err, pageDataList + return err, pageMap } -func importData(content []byte) (error, pageData) { +func importData(content []byte) (error, requirement) { - data := pageData{} + data := requirement{} s := string(content) a := strings.Index(s, "\n---") if a == -1 { - return errors.New("the file does not contain a definition block"), pageData{} + return errors.New("the file does not contain a definition block"), requirement{} } s = s[a+4 : len(s)-1] b := strings.Index(s, "\n...") @@ -82,7 +92,7 @@ func importData(content []byte) (error, pageData) { err := yaml.Unmarshal([]byte(s), &data) if err != nil { - return err, pageData{} + return err, requirement{} } return nil, data diff --git a/application/source/items.go b/application/source/items.go index 48ae39e..7dd0ff6 100644 --- a/application/source/items.go +++ b/application/source/items.go @@ -9,6 +9,9 @@ import ( ) type Item struct { + ID string `yaml:"ID"` + Name string `yaml:"Name"` + Type string `yaml:"Type"` Group string `yaml:"Group"` Description string `yaml:"Description"` DeliveryUntil time.Time `yaml:"Delivery until"` @@ -16,47 +19,115 @@ type Item struct { ProvidedBy string `yaml:"Provided by"` } -func buildItemTable(config *Configuration, pageDataList []pageData) (error, string) { +func buildItemOverviewTable(config *Configuration, pageMap map[string]requirement, extended bool) (error, string) { buf := new(bytes.Buffer) table := tablewriter.NewWriter(buf) - table.SetHeader([]string{ - printer.Sprintf("Group"), - printer.Sprintf("Description"), - printer.Sprintf("Delivery until"), - printer.Sprintf("Provided on"), - printer.Sprintf("Provided by"), - printer.Sprintf("File"), - }) + var header []string + + if extended { + header = []string{ + printer.Sprintf("ID"), + printer.Sprintf("Group"), + printer.Sprintf("Name"), + printer.Sprintf("Type"), + printer.Sprintf("Description"), + printer.Sprintf("Delivery until"), + printer.Sprintf("Checked"), + printer.Sprintf("Provided on"), + printer.Sprintf("Provided by"), + printer.Sprintf("File"), + } + } else { + header = []string{ + printer.Sprintf("ID"), + printer.Sprintf("Name"), + printer.Sprintf("Delivery until"), + printer.Sprintf("Checked"), + } + + } + + table.SetHeader(header) + table.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false}) table.SetCenterSeparator("|") var tableData [][]string - for _, pageData := range pageDataList { + for _, pageData := range pageMap { for _, info := range pageData.Items { - var db, do string + var deliveryUntilFormatted, providedOnDate, checked string if info.DeliveryUntil.IsZero() { - db = "—" + deliveryUntilFormatted = "—" } else { - db = info.DeliveryUntil.Format(config.Locale.DateFormat) + deliveryUntilFormatted = info.DeliveryUntil.Format(config.Locale.DateFormat) } + if info.ProvidedOn.IsZero() { - do = "—" + providedOnDate = "—" } else { - do = info.ProvidedOn.Format(config.Locale.DateFormat) + providedOnDate = info.ProvidedOn.Format(config.Locale.DateFormat) + } + + if info.DeliveryUntil.IsZero() { + deliveryUntilFormatted = "—" + } else { + deliveryUntilFormatted = info.DeliveryUntil.Format(config.Locale.DateFormat) + } + + if info.ProvidedOn.IsZero() { + checked = "—" + } else { + checked = "✓" + } + + id := "—" + if info.ID != "" { + id = info.ID } //text := info.Description + ", " //text += printer.Sprintf("Group") + ": " + info.Group + ", " - //text += printer.Sprintf("File") + ": " + pageData.File + //text += printer.Sprintf("File") + ": " + requirement.File + + var col []string + + /* + header = []string{ + printer.Sprintf("ID"), + printer.Sprintf("Name"), + printer.Sprintf("Delivery until"), + printer.Sprintf("Checked"), + } + } else { + header = []string{ + printer.Sprintf("ID"), + printer.Sprintf("Group"), + printer.Sprintf("Name"), + printer.Sprintf("Type"), + printer.Sprintf("Description"), + printer.Sprintf("RequirementID"), + printer.Sprintf("Delivery until"), + printer.Sprintf("Checked"), + printer.Sprintf("Provided on"), + printer.Sprintf("Provided by"), + } + + */ + + if extended { + col = []string{id, info.Group, info.Name, info.Type, info.Description, deliveryUntilFormatted, checked, providedOnDate, info.ProvidedBy, pageData.File} + } else { + col = []string{id, info.Name, deliveryUntilFormatted, deliveryUntilFormatted, checked} + } - tableData = append(tableData, []string{info.Group, info.Description, db, do, info.ProvidedBy, pageData.File}) - //tableData = append(tableData, []string{text, db, do, info.ProvidedBy}) + tableData = append(tableData, col) + //tableData = append(tableData, []string{text, deliveryUntilFormatted, checked, info.ProvidedBy}) } } @@ -69,12 +140,12 @@ func buildItemTable(config *Configuration, pageDataList []pageData) (error, stri } func printItemTable(config *Configuration) error { - err, pageData := GetPageData(config.Path) + err, pageMap := GetPageData(config.Path) if err != nil { return err } - err, table := buildItemTable(config, pageData) + err, table := buildItemOverviewTable(config, pageMap, true) fmt.Println(table) return nil diff --git a/application/source/l10n.go b/application/source/l10n.go index 23e642a..7bdcc26 100644 --- a/application/source/l10n.go +++ b/application/source/l10n.go @@ -125,6 +125,18 @@ var l10nMap = []l10nKeyTranslation{ {"de", "Schlüsselwörter"}, {"en", "Keywords"}, }, + }, { + "Estimation", + []l10nLocaleTranslation{ + {"de", "Schätzung"}, + {"en", "Estimation"}, + }, + }, { + "Source", + []l10nLocaleTranslation{ + {"de", "Quelle"}, + {"en", "Source"}, + }, }, { "Author", @@ -208,6 +220,44 @@ var l10nMap = []l10nKeyTranslation{ {"de", "Es kann keine temporäre Datei angelegt werden (%s)."}, {"en", "A temporary file cannot be created (%s)."}, }, + }, { + "Checked", + []l10nLocaleTranslation{ + {"de", "Erledigt"}, + {"en", "done"}, + }, + }, + { + "Name", + []l10nLocaleTranslation{ + {"de", "Name"}, + {"en", "Name"}, + }, + }, + { + "Type", + []l10nLocaleTranslation{ + {"de", "Typ"}, + {"en", "Type"}, + }, + }, { + "RequirementID", + []l10nLocaleTranslation{ + {"de", "Requirements"}, + {"en", "Anforderungen"}, + }, + }, { + "the id must not be empty", + []l10nLocaleTranslation{ + {"de", "Die ID muss angegeben werden"}, + {"en", "the id must not be empty"}, + }, + }, { + "the request with id already exists", + []l10nLocaleTranslation{ + {"de", "Die Anforderung mit der ID %s existiert bereits (%s)."}, + {"en", "the request with id %s already exists (%s)."}, + }, }, } diff --git a/application/source/main.go b/application/source/main.go index 076308f..16d1ece 100644 --- a/application/source/main.go +++ b/application/source/main.go @@ -1,7 +1,6 @@ package main import ( - "fmt" "os" "golang.org/x/text/language" @@ -65,55 +64,6 @@ func initEnvironment() { */ func main() { - activeCommand, arguments, config := NewConfiguration() - - version = "development" - build = "1.1.1" - // - switch activeCommand.Name { - - case "version": - fmt.Println("Version " + version + " (" + build + ")") - case "overview": - subcommand := activeCommand.Active - switch subcommand.Name { - case "print": - err := PrintOverview(config, arguments) - if err != nil { - printErrorAndExit(2, err.Error()) - } - } - - case "meta": - subcommand := activeCommand.Active - switch subcommand.Name { - case "print": - err := printMeta(config) - if err != nil { - printErrorAndExit(2, err.Error()) - } - } - - case "todos": - subcommand := activeCommand.Active - switch subcommand.Name { - case "print": - err := printToDoTable(config) - if err != nil { - printErrorAndExit(2, err.Error()) - } - } - - case "items": - subcommand := activeCommand.Active - switch subcommand.Name { - case "print": - err := printItemTable(config) - if err != nil { - printErrorAndExit(2, err.Error()) - } - } - - } + executeCommand() } diff --git a/application/source/meta.go b/application/source/meta.go deleted file mode 100644 index 92b63e5..0000000 --- a/application/source/meta.go +++ /dev/null @@ -1,112 +0,0 @@ -package main - -import ( - "bytes" - "fmt" - "reflect" - "time" - - "github.com/olekukonko/tablewriter" -) - -func translateMetaHeaders(columns []string) []string { - - result := []string{} - - for _, column := range columns { - result = append(result, printer.Sprintf(column)) - } - - return result - -} - -func buildMeta(config *Configuration, pageDataList []pageData) (error, string) { - - buf := new(bytes.Buffer) - - table := tablewriter.NewWriter(buf) - - translateMetaColumns := translateMetaHeaders(config.Table.Columns) - - table.SetHeader(translateMetaColumns) - table.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false}) - table.SetCenterSeparator("|") - - var tableData [][]string - - for _, pd := range pageDataList { - - r := reflect.ValueOf(pd) - - var row []string - found := false - for _, name := range config.Table.Columns { - - field := reflect.Indirect(r).FieldByName(name) - if field == (reflect.Value{}) { - row = append(row, "") - continue - } - - t := field.Type() - - switch t.Name() { - case "string": - found = true - row = append(row, field.String()) - case "Time": - found = true - t := field.Interface().(time.Time) - if t.IsZero() { - row = append(row, "—") - } else { - row = append(row, field.Interface().(time.Time).Format(config.Locale.DateFormat)) - } - case "int": - found = true - row = append(row, field.String()) - case "float64": - found = true - row = append(row, field.String()) - case "nil": - row = append(row, field.String()) - case "bool": - found = true - expr := field.Bool() - if expr { - row = append(row, "true") - } else { - row = append(row, "false") - } - - default: - row = append(row, "") - } - - } - - if found { - tableData = append(tableData, row) - } - - } - - table.AppendBulk(tableData) // Add Bulk Data - table.SetHeaderAlignment(tablewriter.ALIGN_LEFT) - table.Render() - - return nil, buf.String() - -} - -func printMeta(config *Configuration) error { - err, pageData := GetPageData(config.Path) - if err != nil { - return err - } - - err, table := buildMeta(config, pageData) - fmt.Println(table) - return err -} diff --git a/application/source/overview.go b/application/source/overview.go index fb619e3..a91be64 100644 --- a/application/source/overview.go +++ b/application/source/overview.go @@ -4,17 +4,22 @@ import ( "html/template" "io/ioutil" "os" + "path" + "path/filepath" + "regexp" + "sort" "strings" "time" ) type Dataset struct { - Config *Configuration - Meta string - Tasks string - Items string - Requirements string - Created time.Time + Config *Configuration + Meta string + Tasks string + Items string + Requirements string + Created time.Time + CreatedFormat string } func PrintOverview(config *Configuration, arguments *commandLineOptions) error { @@ -24,17 +29,17 @@ func PrintOverview(config *Configuration, arguments *commandLineOptions) error { return err } - err, meta := buildMeta(config, pageData) + err, meta := buildRequirements(config, pageData) if err != nil { return err } - err, tasks := buildToDosTable(config, pageData) + err, tasks := buildTasksTable(config, pageData, false) if err != nil { return err } - err, items := buildItemTable(config, pageData) + err, items := buildItemOverviewTable(config, pageData, false) if err != nil { return err } @@ -46,8 +51,16 @@ func PrintOverview(config *Configuration, arguments *commandLineOptions) error { requirements := "" - for _, p := range pageData { - requirements = requirements + getOverviewContent(p.Absolute) + keys := make([]string, 0, len(pageData)) + for k := range pageData { + keys = append(keys, k) + } + + sort.Strings(keys) + + for _, k := range keys { + p := pageData[k] + requirements = requirements + getAdjustedContent(p.Absolute) } d := new(Dataset) @@ -57,7 +70,8 @@ func PrintOverview(config *Configuration, arguments *commandLineOptions) error { d.Items = items d.Requirements = requirements d.Created = time.Now() - //d.pageData = pageData + d.CreatedFormat = time.Now().Format(config.Locale.DateFormat) + //d.requirement = requirement if arguments.Overview.Print.Output == "" { err = t.Execute(os.Stdout, d) @@ -107,7 +121,7 @@ func PrintOverview(config *Configuration, arguments *commandLineOptions) error { } -func getOverviewContent(absolute string) string { +func getAdjustedContent(absolute string) string { content, err := os.ReadFile(absolute) if err != nil { @@ -132,5 +146,36 @@ func getOverviewContent(absolute string) string { s = s[b+4 : len(s)-1] } + s = convertImages(s, path.Dir(absolute)) + return s } + +func convertImages(content string, absolute string) string { + + todoRegEx := regexp.MustCompile(`(?P<match>\!\[(?P<label>[^]]*)\]\((?P<path>[^)]*)\))`) + + matches := todoRegEx.FindAllStringSubmatch(content, -1) + if matches == nil { + return content + } + + for _, match := range matches { + result := make(map[string]string) + for i, name := range todoRegEx.SubexpNames() { + if i != 0 && name != "" { + result[name] = match[i] + } + } + + if filepath.IsAbs(result["path"]) { + continue + } + + path := path.Clean(absolute + "/" + result["path"]) + content = strings.Replace(content, result["match"], "!["+result["label"]+"]("+path+")", -1) + + } + + return content +} diff --git a/application/source/pagedata.go b/application/source/pagedata.go deleted file mode 100644 index 10b6248..0000000 --- a/application/source/pagedata.go +++ /dev/null @@ -1,25 +0,0 @@ -package main - -import "time" - -type pageData struct { - ToDos []toDo - Absolute string - File string - - ID string `yaml:"ID"` - Type string `yaml:"Type"` // Display, Functional, Performance, Printing, Report, Testing and Validate - Title string `yaml:"Title"` - Alias []string `yaml:"Alias"` - Keywords []string `yaml:"Keywords"` - Author string `yaml:"Author"` - Status string `yaml:"Status"` - Complexity string `yaml:"Complexity"` - Difficulty string `yaml:"Difficulty"` // Low, Medium, High - Priority string `yaml:"Priority"` // Low, Medium, High - Version string `yaml:"Version"` - Milestone string `yaml:"Milestone"` - Created time.Time `yaml:"Created"` - LastUpdate time.Time `yaml:"Last Update"` - Items []Item `yaml:"items"` -} diff --git a/application/source/pandoc.go b/application/source/pandoc.go index ed7fcdc..192f6e4 100644 --- a/application/source/pandoc.go +++ b/application/source/pandoc.go @@ -18,6 +18,7 @@ func convertToPDF(source string, output string) string { arguments += "--listings " arguments += "--template /home/volker.schukai/Downloads/eisvogel/eisvogel.latex " arguments += "--columns=5 " + arguments += "--highlight-style espresso " arguments += "--toc " arguments += "--output=" + output diff --git a/application/source/requirements.go b/application/source/requirements.go new file mode 100644 index 0000000..2667ffd --- /dev/null +++ b/application/source/requirements.go @@ -0,0 +1,178 @@ +package main + +import ( + "bytes" + "fmt" + "html/template" + "os" + "path" + "reflect" + "time" + + "github.com/olekukonko/tablewriter" +) + +type requirement struct { + ToDos []task + Absolute string + File string + Items []Item `yaml:"items"` + + ID string `yaml:"ID"` + References []string `yaml:"References"` + Type string `yaml:"Type"` // Display, Functional, Performance, Printing, Report, Testing and Validate + Title string `yaml:"Title"` + Alias []string `yaml:"Alias"` + Keywords []string `yaml:"Keywords"` + Author string `yaml:"Author"` + Status string `yaml:"Status"` + Complexity string `yaml:"Complexity"` + Difficulty string `yaml:"Difficulty"` // Low, Medium, High + Priority string `yaml:"Priority"` // Low, Medium, High + Version string `yaml:"Version"` + Milestone string `yaml:"Milestone"` + Estimation int `yaml:"Estimation"` // 0, 1, 2, 3, 5, 8, 13, 20, 40, 100 + Source string `yaml:"Source"` + Created time.Time `yaml:"Created"` + LastUpdate time.Time `yaml:"Last Update"` +} + +type addRequirementDataset struct { + ID string +} + +func addRequirement(config *Configuration, arguments *commandLineOptions) error { + + if arguments.Requirements.Add.ID == "" { + printErrorAndExit(2, "the id must not be empty") + } + + p := path.Join(arguments.Path, arguments.Requirements.Add.ID+".md") + if fileExists(p) { + printErrorAndExit(2, "the request with id already exists", arguments.Requirements.Add.ID, p) + } + + t, err := template.New("requirement").Parse(config.Requirement.Template) + if err != nil { + return err + } + + d := new(addRequirementDataset) + d.ID = arguments.Requirements.Add.ID + + f, err := os.Create(p) + if err != nil { + return err + } + + defer f.Close() + + err = t.Execute(f, d) + if err != nil { + return err + } + + return nil +} + +func translateRequirementHeaders(columns []string) []string { + + result := []string{} + + for _, column := range columns { + result = append(result, printer.Sprintf(column)) + } + + return result + +} + +func buildRequirements(config *Configuration, pageMap map[string]requirement) (error, string) { + + buf := new(bytes.Buffer) + + table := tablewriter.NewWriter(buf) + + translateMetaColumns := translateRequirementHeaders(config.Table.Columns) + + table.SetHeader(translateMetaColumns) + table.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false}) + table.SetCenterSeparator("|") + + var tableData [][]string + + for _, pd := range pageMap { + + r := reflect.ValueOf(pd) + + var row []string + found := false + for _, name := range config.Table.Columns { + + field := reflect.Indirect(r).FieldByName(name) + if field == (reflect.Value{}) { + row = append(row, "") + continue + } + + t := field.Type() + + switch t.Name() { + case "string": + found = true + row = append(row, field.String()) + case "Time": + found = true + t := field.Interface().(time.Time) + if t.IsZero() { + row = append(row, "—") + } else { + row = append(row, field.Interface().(time.Time).Format(config.Locale.DateFormat)) + } + case "int": + found = true + row = append(row, field.String()) + case "float64": + found = true + row = append(row, field.String()) + case "nil": + row = append(row, field.String()) + case "bool": + found = true + expr := field.Bool() + if expr { + row = append(row, "true") + } else { + row = append(row, "false") + } + + default: + row = append(row, "") + } + + } + + if found { + tableData = append(tableData, row) + } + + } + + table.AppendBulk(tableData) // Add Bulk Data + table.SetHeaderAlignment(tablewriter.ALIGN_LEFT) + table.Render() + + return nil, buf.String() + +} + +func printRequirements(config *Configuration) error { + err, pageData := GetPageData(config.Path) + if err != nil { + return err + } + + err, table := buildRequirements(config, pageData) + fmt.Println(table) + return err +} diff --git a/application/source/todo.go b/application/source/tasks.go similarity index 54% rename from application/source/todo.go rename to application/source/tasks.go index 70e220a..09e662e 100644 --- a/application/source/todo.go +++ b/application/source/tasks.go @@ -9,14 +9,15 @@ import ( "github.com/olekukonko/tablewriter" ) -type toDo struct { - due time.Time - text string +type task struct { + due time.Time + text string + checked bool } const dateLayout = "2006-01-02 15:04:05 GMT" -func newToDo(date string, text string) toDo { +func newTask(date string, text string, checked bool) task { var d time.Time var err error @@ -28,24 +29,25 @@ func newToDo(date string, text string) toDo { } } - t := toDo{ - due: d, - text: text, + t := task{ + due: d, + text: text, + checked: checked, } return t } -func findToDos(content []byte) []toDo { +func findTask(content []byte) []task { - toDos := []toDo{} + toDos := []task{} - todoRegEx := regexp.MustCompile(`@todo\s*(?P<due>[2][0-9]{3}-[0-9]{2}-[0-9]{2}\s*){0,1}(?P<text>[^\n]*)`) + todoRegEx := regexp.MustCompile(`(?m)^\- \[(?P<checked>(x|\s?))\]\s*(?P<due>[2][0-9]{3}-[0-9]{2}-[0-9]{2}){0,1}\s*(?P<text>[^\n]*)`) s := string(content) matches := todoRegEx.FindAllStringSubmatch(s, -1) if matches == nil { - return []toDo{} + return []task{} } for _, match := range matches { @@ -56,7 +58,13 @@ func findToDos(content []byte) []toDo { } } - t := newToDo(result["due"], result["text"]) + checked := true + + if result["checked"] != "x" { + checked = false + } + + t := newTask(result["due"], result["text"], checked) toDos = append(toDos, t) } @@ -64,22 +72,28 @@ func findToDos(content []byte) []toDo { return toDos } -func buildToDosTable(config *Configuration, pageDataList []pageData) (error, string) { +func buildTasksTable(config *Configuration, pageMap map[string]requirement, extended bool) (error, string) { buf := new(bytes.Buffer) table := tablewriter.NewWriter(buf) - table.SetHeader([]string{ + header := []string{ printer.Sprintf("ToDo"), printer.Sprintf("Due"), - printer.Sprintf("File")}) + printer.Sprintf("Checked")} + + if extended == true { + header = append(header, printer.Sprintf("File")) + } + + table.SetHeader(header) table.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false}) table.SetCenterSeparator("|") var tableData [][]string - for _, pageData := range pageDataList { + for _, pageData := range pageMap { for _, info := range pageData.ToDos { var d string @@ -90,7 +104,18 @@ func buildToDosTable(config *Configuration, pageDataList []pageData) (error, str d = info.due.Format(config.Locale.DateFormat) } - tableData = append(tableData, []string{info.text, d, pageData.File}) + checked := "—" + if info.checked == true { + checked = "✓" + } + + cols := []string{info.text, d, checked} + + if extended == true { + cols = append(cols, pageData.File) + } + + tableData = append(tableData, cols) } } @@ -102,13 +127,13 @@ func buildToDosTable(config *Configuration, pageDataList []pageData) (error, str return nil, buf.String() } -func printToDoTable(config *Configuration) error { +func printTaskTable(config *Configuration) error { err, pageData := GetPageData(config.Path) if err != nil { return err } - err, table := buildToDosTable(config, pageData) + err, table := buildTasksTable(config, pageData, true) fmt.Println(table) return nil diff --git a/development/examples/assets/schukai-weiss-1000-210.png b/development/examples/assets/schukai-weiss-1000-210.png new file mode 100644 index 0000000000000000000000000000000000000000..c6a76eaf936e00d416808e9318c2dec3a6bb8735 GIT binary patch literal 10512 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 literal 0 HcmV?d00001 diff --git a/development/examples/example1/144444.md b/development/examples/example1/144444.md new file mode 100644 index 0000000..82e9da3 --- /dev/null +++ b/development/examples/example1/144444.md @@ -0,0 +1,28 @@ + +--- +ID: 144444 +title: +subtitle: +tags: [] +percent: +Estimation: +items: + - + Group: + ID: + Name: + Description: + Delivery until: + Provided by: + Provided on: + Type: +... + +## + +### + + +- [ ] task 1 +- [ ] task 2 + diff --git a/development/examples/example1/assets/demo.png b/development/examples/example1/assets/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3688147978fe724ca884efbfa263840f41b6f4f GIT binary patch literal 67352 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 A6#xJL literal 0 HcmV?d00001 diff --git a/development/examples/example1/overview.template b/development/examples/example1/overview.template deleted file mode 100644 index 74cc476..0000000 --- a/development/examples/example1/overview.template +++ /dev/null @@ -1,49 +0,0 @@ - ---- -Author: "Me" -title: "The Document Title" -author: [Example Author, Another Author] -date: "2017-02-20" -keywords: [Markdown, Example] -lang: de -titlepage: true -titlepage-color: "CE0000" -titlepage-text-color: "FFFFFF" -titlepage-rule-color: "FFFFFF" -titlepage-rule-height: 2 -logo: "/home/volker.schukai/projekte/local/marketing/logos/varianten/schukai-weiss-1000-210.png" -logo-width: "6cm" -toc-own-page: true -table-use-row-colors: true - -subtitle: document subtitle, included in HTML, EPUB, LaTeX, ConTeXt, and docx documents -abstract: document summary, included in LaTeX, ConTeXt, AsciiDoc, and docx documents -subject: document subject, included in ODT, PDF, docx, EPUB, and pptx metadata - -... - -## Overview - -Created: {{ .Created.Format "02.Jan.2006" }} - -{{.Meta}} - -## Tasks - -{{.Tasks}} - -## Items - -{{.Items}} - -## Requirements - -*** - -BBBBBB - -{{.Requirements}} - -AAAAAA -*** - diff --git a/development/examples/example1/req1/001-1425.md b/development/examples/example1/req1/001-1425.md new file mode 100644 index 0000000..6d2e15e --- /dev/null +++ b/development/examples/example1/req1/001-1425.md @@ -0,0 +1,44 @@ + + + + +--- +Title: Value1 +Created: 2022-02-21 +Version: 1.0 +ID: 9999 +... + +## Anforderung 1425 + +das ist ein test + + + +Here is a footnote reference,[^1] and another.[^longnote] + +[^1]: Here is the footnote. + +[^longnote]: Here's one with multiple blocks. + + +This paragraph won't be part of the note, because it +isn't indented. + +- [ ] das ist das erste todo 1 +- [x] 2020-12-02 das ist das erste todo 2 + - [ ] 2020-12-03 das ist das erste todo 3 + - [x ] 2020-12-03 das ist das erste todo 3 + + +### Headline 1 + +HIER IST EIN BILD + + + +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. + +### Headline 2 + +Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. diff --git a/development/examples/example1/req1/1425.md b/development/examples/example1/req1/002.md similarity index 78% rename from development/examples/example1/req1/1425.md rename to development/examples/example1/req1/002.md index 9293c45..cc782b7 100644 --- a/development/examples/example1/req1/1425.md +++ b/development/examples/example1/req1/002.md @@ -3,28 +3,28 @@ --- -Title: Value1 +Key1: Value122 +Title: My Name22 Created: 2022-02-21 -Version: Value1 -ID: 9999 -... - -## Anforderung 1425 +Version: 2.2.2 +ID: a1 +--- -das ist ein test +## Anforderung 1426-A1 -@todo das ist das erste todo 1 +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. -@todo 2020-12-02 das ist das erste todo 2 -@todo 2020-12-03 das ist das erste todo 3 +- [ ] 2020-12-01 das ist das erste todo 1 +- [ ] 2020-12-02 das ist das erste todo 2 +- [ ] 2020-12-03 das ist das erste todo 3 sdfkjasdfk jasdkfjasd löfjasdklöfj asdkjfasdf jasdklf jasdfklöjasdfklöjasdklö -### Headline 1 +### Headline 1111 -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. +lorem in hendrerit in vulputate velit esse moles -### Headline 2 +### Headline 2222 Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. diff --git a/development/examples/example1/req1/1426.md b/development/examples/example1/req1/002/002-01.md similarity index 91% rename from development/examples/example1/req1/1426.md rename to development/examples/example1/req1/002/002-01.md index a444c63..fc8957c 100644 --- a/development/examples/example1/req1/1426.md +++ b/development/examples/example1/req1/002/002-01.md @@ -16,9 +16,9 @@ ID: 23423 Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. -@todo 2020-12-01 das ist das erste todo 1 -@todo 2020-12-02 das ist das erste todo 2 -@todo 2020-12-03 das ist das erste todo 3 sdfkjasdfk jasdkfjasd löfjasdklöfj asdkjfasdf jasdklf jasdfklöjasdfklöjasdklö +- [ ] 2020-12-01 das ist das erste todo 1 +- [ ] 2020-12-02 das ist das erste todo 2 +- [ ] 2020-12-03 das ist das erste todo 3 sdfkjasdfk jasdkfjasd löfjasdklöfj asdkjfasdf jasdklf jasdfklöjasdfklöjasdklö ### Headline 1111 diff --git a/development/examples/example1/req2/test1.md b/development/examples/example1/req999/999.md similarity index 94% rename from development/examples/example1/req2/test1.md rename to development/examples/example1/req999/999.md index c2c5a4d..49abd91 100644 --- a/development/examples/example1/req2/test1.md +++ b/development/examples/example1/req999/999.md @@ -7,6 +7,7 @@ title: Test 1 subtitle: this is test 1 tags: [fruit, sweet, tasty] percent: 100 % +Estimation: 20 list: - entry 1 - entry 2 @@ -14,10 +15,14 @@ list: items: - Group: A1 + ID: Beistellung1 + Name: Beistellung eines Bildes Description: Großes Logo Delivery until: 2022-12-12 Provided by: Me Provided on: 2022-12-01 + Type: Bild + - Group: Logo (klein) diff --git a/development/examples/example2/overview.template b/development/examples/example2/overview.template deleted file mode 100644 index 13e081e..0000000 --- a/development/examples/example2/overview.template +++ /dev/null @@ -1,19 +0,0 @@ - - -Das ist mein TEMPLATE - -## Übersicht - -{{.Meta}} - -## Aufgaben - -{{.Tasks}} - -## Beistellungen - -{{.Items}} - -## Anforderungen - -{{.Requirements}} \ No newline at end of file diff --git a/development/examples/overview.template b/development/examples/overview.template new file mode 100644 index 0000000..651360f --- /dev/null +++ b/development/examples/overview.template @@ -0,0 +1,105 @@ + +--- +Author: "schukai GmbH" +title: "The Document Title" +author: [Example Author, Another Author] +date: {{ .CreatedFormat }} +keywords: [Markdown, Example] +lang: de + +titlepage: true +titlepage-color: "C10000" +titlepage-text-color: "FFFFFF" +titlepage-rule-color: "FFFFFF" +titlepage-rule-height: 2 + +footer-text: Vertraulich2 + +logo: "./assets/schukai-weiss-1000-210.png" +logo-width: "6cm" +toc-own-page: true +table-use-row-colors: true + +subtitle: document subtitle, included in HTML, EPUB, LaTeX, ConTeXt, and docx documents +abstract: document summary, included in LaTeX, ConTeXt, AsciiDoc, and docx documents +subject: document subject, included in ODT, PDF, docx, EPUB, and pptx metadata + +... + +## Preamble + +Mitwirkungsleistungen + +Der Kunde wird bei Auftragserteilung alle zur Durchführung der Beratungsleistungen erforderlichen Informationen an +schukai übermitteln. Auf Anforderung von schukai wird er unverzüglich schukai noch fehlende Informationen nachreichen. +Der Kunde wird, sofern die Leistungen nur mit Unterstützung Dritter erbracht werden können, die erforderliche Unterstützung veranlassen + +## Management Summary + + +## Overview + +{{.Meta}} + +## Tasks + +{{.Tasks}} + +## Items + +{{.Items}} + +## Requirements + +{{.Requirements}} + + +\newpage + +## + +Die Vervielfältigung dieses Dokuments oder Teilen davon, insbesondere die Verwendung von Texten, Grafiken +Logos oder Teilen bedarf der ausdrücklichen vorherigen Zustimmung der schukai GmbH. Eine unerlaubte +Vervielfältigung sowie die Weitergabe an Dritte ist nicht gestattet. + +Die alleinigen Rechte an diesem Dokument liegen ausschließlich bei der schukai GmbH. +Die in diesem Dokument enthaltenen Informationen und Rahmenbedingungen wurden nach aktuellem Stand +verfasst und entsprechen dem Standpunkt der schukai GmbH in Bezug auf die behandelten Themen zum +Zeitpunkt der Erstellung. + +Da die schukai GmbH auf sich ändernde Bedingungen reagieren muss, darf nur die letzte mit allen +Vertragsparteien abgestimmte Version als verbindlich angesehen werden. Sollten Sie Fragen zu diesem Dokument, +zu unseren Dienstleistungen oder Produkten haben, so wenden Sie sich bitte an Ihren Ansprechpartner. + + +\newpage + + +\definecolor{red}{HTML}{C10000} + +\thispagestyle{empty} +\pagecolor{red} + +\begin{textblock*}{17cm}(2cm,21cm) +\includegraphics[width=3cm]{./assets/schukai-weiss-1000-210.png} +\end{textblock*} + +\begin{textblock*}{17cm}(2cm,22cm) +\color{white} +schukai GmbH\newline +Eichenstraße 26\newline +82290 Landsberied\newline +Deutschland\newline +\newline ++49-8141-5098888\newline +www.schukai.de\newline +info@schukai.com +\end{textblock*} + +\begin{textblock*}{17cm}(2cm,28cm) +\color{white} +\begin{small} +© schukai GmbH.\newline +Alle Rechte vorbehalten. Alle genannten Warenzeichen sind Eigentum der jeweiligen Hersteller. +\end{small} +\end{textblock*} -- GitLab