mirror of
https://github.com/fengxxc/wechatmp2markdown.git
synced 2026-05-09 03:57:50 +08:00
fix: linux下标题包含斜杠导致被分成两级目录的bug(使用∕替代)
This commit is contained in:
@@ -57,12 +57,26 @@ func legalizationFilenameForWindows(name string) string {
|
||||
return name
|
||||
}
|
||||
|
||||
// linux下, 文件名包含非法字符时, 用相似的Unicode字符进行替换
|
||||
func legalizationFilenameForLinux(name string) string {
|
||||
// Linux文件名不能包含这些字符
|
||||
invalidChars := regexp.MustCompile(`[\/]`)
|
||||
|
||||
// 如果包含非法字符,则替换
|
||||
if invalidChars.MatchString(name) {
|
||||
name = strings.ReplaceAll(name, "/", "∕")
|
||||
}
|
||||
|
||||
return name
|
||||
}
|
||||
|
||||
// FormatAndSave fomat article and save to local file
|
||||
func FormatAndSave(article parse.Article, filePath string) error {
|
||||
// basrPath := filepath.Join(filePath, )
|
||||
var basePath string
|
||||
var fileName string
|
||||
var isWin bool = runtime.GOOS == "windows"
|
||||
var isLinux bool = runtime.GOOS == "linux"
|
||||
var separator string
|
||||
if isWin {
|
||||
separator = "\\"
|
||||
@@ -84,6 +98,8 @@ func FormatAndSave(article parse.Article, filePath string) error {
|
||||
title := strings.TrimSpace(article.Title.Val.(string))
|
||||
if isWin {
|
||||
title = legalizationFilenameForWindows(title)
|
||||
} else if isLinux {
|
||||
title = legalizationFilenameForLinux(title)
|
||||
}
|
||||
// title := "thisistitle"
|
||||
basePath = filepath.Join(filePath, title)
|
||||
|
||||
Reference in New Issue
Block a user