Files
wechatmp2markdown/main.go
fengxxc a95dc2ae5c v1.1.2
fix: 校验参数,解析url出错时不退出主线程
2023-07-16 18:07:55 +08:00

65 lines
1.4 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package main
import (
"fmt"
"os"
"strings"
"github.com/fengxxc/wechatmp2markdown/format"
"github.com/fengxxc/wechatmp2markdown/parse"
"github.com/fengxxc/wechatmp2markdown/server"
)
func main() {
// test.Test1()
// test.Test2()
args := os.Args
if len(args) <= 2 {
panic("not enough args")
}
args1 := args[1]
args2 := args[2]
if args1 == "server" {
// server pattern
port := args2
if port == "" {
port = "8964"
}
server.Start(":" + port)
return
}
// --image=base64 -ib 保存图片base64格式在md文件中默认为此选项
// --image=url -iu 只保留图片链接
// --image=save -is 保存图片,最终输出到文件夹
// --save=zip -sz 最终打包输出到zip
imageArgValue := "base64"
if len(args) > 3 && args[3] != "" {
if strings.HasPrefix(args[3], "--image=") {
imageArgValue = args[3][len("--image="):]
} else if strings.HasPrefix(args[3], "-i") {
imageArgVal := args[3][len("-i"):]
switch imageArgVal {
case "u":
imageArgValue = "url"
case "s":
imageArgValue = "save"
case "b":
fallthrough
default:
imageArgValue = "base64"
}
}
}
var imagePolicy parse.ImagePolicy = parse.ImageArgValue2ImagePolicy(imageArgValue)
// cli pattern
url := args1
filename := args2
fmt.Printf("url: %s, filename: %s\n", url, filename)
var articleStruct parse.Article = parse.ParseFromURL(url, imagePolicy)
format.FormatAndSave(articleStruct, filename)
}