Unhardcode
This commit is contained in:
@@ -41,8 +41,13 @@ const (
|
||||
DefaultTopDataWikiNamespacesFile = "namespaces.yaml"
|
||||
DefaultTopDataWikiTablesFile = "tables.yaml"
|
||||
DefaultTopDataWikiVisibilityFile = "visibility.yaml"
|
||||
DefaultTopDataWikiDataFile = "data.yaml"
|
||||
DefaultTopDataWikiPagePathsFile = "wiki.yaml"
|
||||
DefaultTopDataWikiTemplatesDir = "templates"
|
||||
DefaultTopDataWikiPageTemplatesDir = "templates/pages"
|
||||
DefaultTopDataWikiManualSectionsDir = "manual-sections"
|
||||
DefaultTopDataWikiManualSectionsFile = "manual-sections/default.yaml"
|
||||
DefaultTopDataWikiPageIndexFile = "page-index.json"
|
||||
DefaultTopDataWikiStaleDefault = "report"
|
||||
DefaultTopDataWikiStaleLiveCleanup = "archive"
|
||||
DefaultTopDataWikiMarkerFormat = "html_comments"
|
||||
@@ -258,8 +263,13 @@ func (p *Project) EffectiveConfig() EffectiveConfig {
|
||||
NamespacesFile: defaultString(p.Config.TopData.Wiki.NamespacesFile, DefaultTopDataWikiNamespacesFile),
|
||||
TablesFile: defaultString(p.Config.TopData.Wiki.TablesFile, DefaultTopDataWikiTablesFile),
|
||||
VisibilityFile: defaultString(p.Config.TopData.Wiki.VisibilityFile, DefaultTopDataWikiVisibilityFile),
|
||||
DataFile: defaultString(p.Config.TopData.Wiki.DataFile, DefaultTopDataWikiDataFile),
|
||||
PagePathsFile: defaultString(p.Config.TopData.Wiki.PagePathsFile, DefaultTopDataWikiPagePathsFile),
|
||||
TemplatesDir: defaultString(p.Config.TopData.Wiki.TemplatesDir, DefaultTopDataWikiTemplatesDir),
|
||||
PageTemplatesDir: defaultWikiPageTemplatesDir(p.Config.TopData.Wiki),
|
||||
ManualSectionsDir: defaultString(p.Config.TopData.Wiki.ManualSectionsDir, DefaultTopDataWikiManualSectionsDir),
|
||||
ManualSectionsFile: defaultWikiManualSectionsFile(p.Config.TopData.Wiki),
|
||||
PageIndexFile: defaultString(p.Config.TopData.Wiki.PageIndexFile, DefaultTopDataWikiPageIndexFile),
|
||||
AlignmentLinks: p.Config.TopData.Wiki.AlignmentLinks,
|
||||
TitlePrefixMinLength: defaultInt(p.Config.TopData.Wiki.TitlePrefixMinLength, DefaultTopDataWikiTitlePrefixMinLength),
|
||||
StatusPages: defaultBoolPointer(p.Config.TopData.Wiki.StatusPages, DefaultTopDataWikiStatusPages),
|
||||
@@ -551,8 +561,13 @@ func markMissingDefaults(provenance ConfigProvenance) {
|
||||
"topdata.wiki.namespaces_file": DefaultTopDataWikiNamespacesFile,
|
||||
"topdata.wiki.tables_file": DefaultTopDataWikiTablesFile,
|
||||
"topdata.wiki.visibility_file": DefaultTopDataWikiVisibilityFile,
|
||||
"topdata.wiki.data_file": DefaultTopDataWikiDataFile,
|
||||
"topdata.wiki.page_paths_file": DefaultTopDataWikiPagePathsFile,
|
||||
"topdata.wiki.templates_dir": DefaultTopDataWikiTemplatesDir,
|
||||
"topdata.wiki.page_templates_dir": DefaultTopDataWikiPageTemplatesDir,
|
||||
"topdata.wiki.manual_sections_dir": DefaultTopDataWikiManualSectionsDir,
|
||||
"topdata.wiki.manual_sections_file": DefaultTopDataWikiManualSectionsFile,
|
||||
"topdata.wiki.page_index_file": DefaultTopDataWikiPageIndexFile,
|
||||
"topdata.wiki.title_prefix_min_length": "3",
|
||||
"topdata.wiki.status_pages": "true",
|
||||
"topdata.wiki.status_listing_scope": DefaultTopDataWikiStatusListingScope,
|
||||
@@ -618,6 +633,26 @@ func defaultStringSlice(value, fallback []string) []string {
|
||||
return slices.Clone(value)
|
||||
}
|
||||
|
||||
func defaultWikiPageTemplatesDir(cfg TopDataWikiConfig) string {
|
||||
if strings.TrimSpace(cfg.PageTemplatesDir) != "" {
|
||||
return strings.TrimSpace(cfg.PageTemplatesDir)
|
||||
}
|
||||
if strings.TrimSpace(cfg.TemplatesDir) != "" {
|
||||
return filepath.ToSlash(filepath.Join(filepath.FromSlash(strings.TrimSpace(cfg.TemplatesDir)), "pages"))
|
||||
}
|
||||
return DefaultTopDataWikiPageTemplatesDir
|
||||
}
|
||||
|
||||
func defaultWikiManualSectionsFile(cfg TopDataWikiConfig) string {
|
||||
if strings.TrimSpace(cfg.ManualSectionsFile) != "" {
|
||||
return strings.TrimSpace(cfg.ManualSectionsFile)
|
||||
}
|
||||
if strings.TrimSpace(cfg.ManualSectionsDir) != "" {
|
||||
return filepath.ToSlash(filepath.Join(filepath.FromSlash(strings.TrimSpace(cfg.ManualSectionsDir)), "default.yaml"))
|
||||
}
|
||||
return DefaultTopDataWikiManualSectionsFile
|
||||
}
|
||||
|
||||
func defaultRequiredFields(configured map[string][]string) map[string][]string {
|
||||
if len(configured) > 0 {
|
||||
return cloneStringSliceMap(normalizeRequiredFields(configured))
|
||||
|
||||
Reference in New Issue
Block a user