Unhardcode
This commit is contained in:
@@ -34,6 +34,7 @@ const (
|
||||
|
||||
type DeployWikiOptions struct {
|
||||
SourceDir string
|
||||
PageIndexPath string
|
||||
Endpoint string
|
||||
Token string
|
||||
Version string
|
||||
@@ -119,9 +120,17 @@ func DeployWikiWithOptions(p *project.Project, opts DeployWikiOptions, progress
|
||||
if progress == nil {
|
||||
progress = func(string) {}
|
||||
}
|
||||
if opts.SourceDir == "" {
|
||||
sourceDirWasDefaulted := opts.SourceDir == ""
|
||||
if sourceDirWasDefaulted {
|
||||
opts.SourceDir = wikiOutputPagesDir(p)
|
||||
}
|
||||
if opts.PageIndexPath == "" {
|
||||
if sourceDirWasDefaulted {
|
||||
opts.PageIndexPath = p.TopDataWikiPageIndexPath()
|
||||
} else {
|
||||
opts.PageIndexPath = filepath.Join(filepath.Dir(opts.SourceDir), p.EffectiveConfig().TopData.Wiki.PageIndexFile)
|
||||
}
|
||||
}
|
||||
if _, err := os.Stat(opts.SourceDir); err != nil {
|
||||
return deployResult{}, fmt.Errorf("wiki source directory not found: %w", err)
|
||||
}
|
||||
@@ -172,7 +181,7 @@ func DeployWikiWithOptions(p *project.Project, opts DeployWikiOptions, progress
|
||||
}
|
||||
|
||||
progress(fmt.Sprintf("Collecting local wiki pages from %s", opts.SourceDir))
|
||||
pages, err := collectLocalPages(opts.SourceDir, namespaces)
|
||||
pages, err := collectLocalPages(opts.SourceDir, opts.PageIndexPath, namespaces)
|
||||
if err != nil {
|
||||
return deployResult{}, err
|
||||
}
|
||||
@@ -377,12 +386,12 @@ func categoryIDsFromNamespaceEnv(declarations []wikiNamespaceDeclaration) (map[s
|
||||
return categories, nil
|
||||
}
|
||||
|
||||
func collectLocalPages(sourceDir string, namespaces []string) (map[string]wikiDeployPage, error) {
|
||||
func collectLocalPages(sourceDir, pageIndexPath string, namespaces []string) (map[string]wikiDeployPage, error) {
|
||||
namespaceSet := map[string]struct{}{}
|
||||
for _, namespace := range namespaces {
|
||||
namespaceSet[namespace] = struct{}{}
|
||||
}
|
||||
pageIndex, err := loadDeployPageIndex(sourceDir)
|
||||
pageIndex, err := loadDeployPageIndex(sourceDir, pageIndexPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -447,8 +456,11 @@ func collectLocalPages(sourceDir string, namespaces []string) (map[string]wikiDe
|
||||
return pages, nil
|
||||
}
|
||||
|
||||
func loadDeployPageIndex(sourceDir string) (map[string]wikiPageIndexEntry, error) {
|
||||
path := filepath.Join(filepath.Dir(sourceDir), "page-index.json")
|
||||
func loadDeployPageIndex(sourceDir, pageIndexPath string) (map[string]wikiPageIndexEntry, error) {
|
||||
path := strings.TrimSpace(pageIndexPath)
|
||||
if path == "" {
|
||||
path = filepath.Join(filepath.Dir(sourceDir), "page-index.json")
|
||||
}
|
||||
raw, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
|
||||
Reference in New Issue
Block a user