mirror of
https://gitea.com/gitea/docs.git
synced 2026-06-22 04:05:57 +00:00
63 lines
1.3 KiB
Go
63 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io/fs"
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
func main() {
|
|
args := os.Args
|
|
if len(args) != 4 {
|
|
fmt.Println("Please provide the path to the directory")
|
|
return
|
|
}
|
|
srcDir := os.Args[1]
|
|
if _, err := os.Stat(srcDir); os.IsNotExist(err) {
|
|
fmt.Println("Src directory does not exist")
|
|
return
|
|
}
|
|
dstDir := os.Args[2]
|
|
err := os.MkdirAll(dstDir, os.ModePerm)
|
|
if err != nil {
|
|
fmt.Println("Dst directory does not exist")
|
|
return
|
|
}
|
|
|
|
lang := os.Args[3]
|
|
if lang == "" || (lang != "en-us" && lang != "zh-cn" && lang != "zh-tw" && lang != "de-de" && lang != "fr-fr") {
|
|
fmt.Println("Please provide the language")
|
|
return
|
|
}
|
|
|
|
err = filepath.Walk(srcDir, func(path string, info fs.FileInfo, err error) error {
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if info.IsDir() {
|
|
fmt.Println("Directory: ", path)
|
|
} else {
|
|
if strings.HasSuffix(path, "."+lang+".md") {
|
|
p := strings.Replace(path, "."+lang, "", 1)
|
|
rPath, err := filepath.Rel(srcDir, p)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
p = filepath.Join(dstDir, rPath)
|
|
if err := os.MkdirAll(filepath.Dir(p), os.ModePerm); err != nil {
|
|
return err
|
|
}
|
|
if err := os.Rename(path, p); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
return nil
|
|
})
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
}
|