add postfix repos name to all files
This commit is contained in:
+5
-2
@@ -154,6 +154,7 @@ func run(cmd *cobra.Command, args []string) error {
|
|||||||
return fmt.Errorf("cannot create output directory: %w", err)
|
return fmt.Errorf("cannot create output directory: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
repoName := filepath.Base(cfg.AbsRoot)
|
||||||
fmt.Printf("%s\n", absOutput)
|
fmt.Printf("%s\n", absOutput)
|
||||||
|
|
||||||
result, err := walker.Run(cfg)
|
result, err := walker.Run(cfg)
|
||||||
@@ -165,8 +166,10 @@ func run(cmd *cobra.Command, args []string) error {
|
|||||||
return fmt.Errorf("no readable text files found in %s", cfg.AbsRoot)
|
return fmt.Errorf("no readable text files found in %s", cfg.AbsRoot)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
indexBasename := "index_" + repoName + ".md"
|
||||||
|
|
||||||
if verticalSlices {
|
if verticalSlices {
|
||||||
generated, err := renderer.WriteSlices(result, absOutput)
|
generated, err := renderer.WriteSlices(result, absOutput, repoName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -197,7 +200,7 @@ func run(cmd *cobra.Command, args []string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
indexPath := filepath.Join(absOutput, "index.md")
|
indexPath := filepath.Join(absOutput, indexBasename)
|
||||||
|
|
||||||
if err := renderer.Write(result, indexPath, appendMode, cfg.SingleFile); err != nil {
|
if err := renderer.Write(result, indexPath, appendMode, cfg.SingleFile); err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ func Write(result *walker.Result, outputPath string, appendMode bool, singleFile
|
|||||||
|
|
||||||
// WriteSlices generates a root markdown file plus one markdown per top-level directory.
|
// WriteSlices generates a root markdown file plus one markdown per top-level directory.
|
||||||
// Returns the list of generated file paths.
|
// Returns the list of generated file paths.
|
||||||
func WriteSlices(result *walker.Result, outputDir string) ([]string, error) {
|
func WriteSlices(result *walker.Result, outputDir, repoName string) ([]string, error) {
|
||||||
entries := result.Entries
|
entries := result.Entries
|
||||||
if len(entries) == 0 {
|
if len(entries) == 0 {
|
||||||
return nil, fmt.Errorf("no entries to write")
|
return nil, fmt.Errorf("no entries to write")
|
||||||
@@ -109,11 +109,12 @@ func WriteSlices(result *walker.Result, outputDir string) ([]string, error) {
|
|||||||
|
|
||||||
var generated []string
|
var generated []string
|
||||||
|
|
||||||
// Write root file as index.md
|
// Write root file as index_<reponame>.md
|
||||||
rootPath := filepath.Join(outputDir, "index.md")
|
indexBasename := "index_" + repoName + ".md"
|
||||||
|
rootPath := filepath.Join(outputDir, indexBasename)
|
||||||
generated = append(generated, rootPath)
|
generated = append(generated, rootPath)
|
||||||
|
|
||||||
if err := writeRootSlice(rootPath, absRoot, rootName, rootFiles, topLevelDirs); err != nil {
|
if err := writeRootSlice(rootPath, absRoot, rootName, repoName, rootFiles, topLevelDirs); err != nil {
|
||||||
return nil, fmt.Errorf("failed to write root slice: %w", err)
|
return nil, fmt.Errorf("failed to write root slice: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,7 +126,7 @@ func WriteSlices(result *walker.Result, outputDir string) ([]string, error) {
|
|||||||
sort.Strings(dirNames)
|
sort.Strings(dirNames)
|
||||||
|
|
||||||
for _, dirName := range dirNames {
|
for _, dirName := range dirNames {
|
||||||
sliceName := strings.TrimSuffix(dirName, "/") + ".md"
|
sliceName := strings.TrimSuffix(dirName, "/") + "_" + repoName + ".md"
|
||||||
sliceDir := filepath.Join(outputDir, dirName)
|
sliceDir := filepath.Join(outputDir, dirName)
|
||||||
if err := os.MkdirAll(sliceDir, 0755); err != nil {
|
if err := os.MkdirAll(sliceDir, 0755); err != nil {
|
||||||
return nil, fmt.Errorf("cannot create slice directory %s: %w", sliceDir, err)
|
return nil, fmt.Errorf("cannot create slice directory %s: %w", sliceDir, err)
|
||||||
@@ -150,7 +151,7 @@ func WriteSlices(result *walker.Result, outputDir string) ([]string, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := writeDirSlice(slicePath, absDir, absRoot, dirName, treeEntries, dirEntries, "index.md"); err != nil {
|
if err := writeDirSlice(slicePath, absDir, absRoot, dirName, treeEntries, dirEntries, indexBasename); err != nil {
|
||||||
return nil, fmt.Errorf("failed to write slice %s: %w", sliceName, err)
|
return nil, fmt.Errorf("failed to write slice %s: %w", sliceName, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -158,7 +159,7 @@ func WriteSlices(result *walker.Result, outputDir string) ([]string, error) {
|
|||||||
return generated, nil
|
return generated, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeRootSlice(path, absRoot, rootName string, rootFiles []walker.Entry, topLevelDirs map[string][]walker.Entry) error {
|
func writeRootSlice(path, absRoot, rootName, repoName string, rootFiles []walker.Entry, topLevelDirs map[string][]walker.Entry) error {
|
||||||
f, err := os.Create(path)
|
f, err := os.Create(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot create root file: %w", err)
|
return fmt.Errorf("cannot create root file: %w", err)
|
||||||
@@ -170,7 +171,7 @@ func writeRootSlice(path, absRoot, rootName string, rootFiles []walker.Entry, to
|
|||||||
fmt.Fprintf(&sb, "# %s [ROOT]\n\n", absRoot)
|
fmt.Fprintf(&sb, "# %s [ROOT]\n\n", absRoot)
|
||||||
|
|
||||||
// Build combined tree with references
|
// Build combined tree with references
|
||||||
treeLines := buildTreeWithRefs(rootName, topLevelDirs, rootFiles)
|
treeLines := buildTreeWithRefs(rootName, repoName, topLevelDirs, rootFiles)
|
||||||
sb.WriteString("## Directory Tree\n\n")
|
sb.WriteString("## Directory Tree\n\n")
|
||||||
sb.WriteString(fenceChars + "\n")
|
sb.WriteString(fenceChars + "\n")
|
||||||
sb.WriteString(treeLines)
|
sb.WriteString(treeLines)
|
||||||
@@ -196,7 +197,7 @@ func writeRootSlice(path, absRoot, rootName string, rootFiles []walker.Entry, to
|
|||||||
for _, e := range entries {
|
for _, e := range entries {
|
||||||
totalBytes += e.Size
|
totalBytes += e.Size
|
||||||
}
|
}
|
||||||
sliceFile := filepath.Join(dirName, strings.TrimSuffix(dirName, "/")+".md")
|
sliceFile := filepath.Join(dirName, strings.TrimSuffix(dirName, "/")+"_"+repoName+".md")
|
||||||
fmt.Fprintf(&sb, "| %s | %s/ | %d | %d |\n", sliceFile, dirName, fileCount, totalBytes)
|
fmt.Fprintf(&sb, "| %s | %s/ | %d | %d |\n", sliceFile, dirName, fileCount, totalBytes)
|
||||||
}
|
}
|
||||||
sb.WriteString("\n")
|
sb.WriteString("\n")
|
||||||
@@ -292,7 +293,7 @@ func writeDirSlice(path, absDir, absRoot, dirName string, treeEntries, fileEntri
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func buildTreeWithRefs(rootName string, topLevelDirs map[string][]walker.Entry, rootFiles []walker.Entry) string {
|
func buildTreeWithRefs(rootName, repoName string, topLevelDirs map[string][]walker.Entry, rootFiles []walker.Entry) string {
|
||||||
var sb strings.Builder
|
var sb strings.Builder
|
||||||
sb.WriteString(rootName)
|
sb.WriteString(rootName)
|
||||||
sb.WriteString("/\n")
|
sb.WriteString("/\n")
|
||||||
@@ -318,10 +319,11 @@ func buildTreeWithRefs(rootName string, topLevelDirs map[string][]walker.Entry,
|
|||||||
|
|
||||||
items := make([]treeItem, 0, len(dirNames)+len(rootFiles))
|
items := make([]treeItem, 0, len(dirNames)+len(rootFiles))
|
||||||
for _, d := range dirNames {
|
for _, d := range dirNames {
|
||||||
|
sliceRef := filepath.Join(d, strings.TrimSuffix(d, "/")+"_"+repoName+".md")
|
||||||
items = append(items, treeItem{
|
items = append(items, treeItem{
|
||||||
name: d,
|
name: d,
|
||||||
isDir: true,
|
isDir: true,
|
||||||
sliceRef: filepath.Join(d, strings.TrimSuffix(d, "/")+".md"),
|
sliceRef: sliceRef,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
for _, rf := range rootFiles {
|
for _, rf := range rootFiles {
|
||||||
|
|||||||
Reference in New Issue
Block a user