mirror of https://gitea.com/gitea/blog.git
63 lines
1.2 KiB
Go
63 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"os"
|
|
"regexp"
|
|
)
|
|
|
|
var (
|
|
pullGiteaURL = "https://github.com/go-gitea/gitea/pull/"
|
|
pullTeaURL = "https://gitea.com/gitea/tea/pulls/"
|
|
pullRegex = regexp.MustCompile(`#(\d+)\)`)
|
|
)
|
|
|
|
func main() {
|
|
var release string
|
|
var tea bool
|
|
flag.StringVar(&release, "release", "", "The release to target")
|
|
flag.BoolVar(&tea, "tea", false, "switch to tea mode")
|
|
flag.Parse()
|
|
|
|
if release == "" {
|
|
fmt.Println("missing --release flag")
|
|
return
|
|
}
|
|
|
|
post := fmt.Sprintf("content/post/release-of-%s.md", release)
|
|
if tea {
|
|
post = fmt.Sprintf("content/post/release-of-tea-%s.md", release)
|
|
}
|
|
|
|
fi, err := os.OpenFile(post, os.O_RDWR, os.ModePerm)
|
|
if os.IsNotExist(err) {
|
|
fmt.Printf("could not find content/post/release-of-%s.md\n", release)
|
|
return
|
|
} else if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
defer fi.Close()
|
|
|
|
data, err := ioutil.ReadAll(fi)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
|
|
pullURL := pullGiteaURL
|
|
if tea {
|
|
pullURL = pullTeaURL
|
|
}
|
|
|
|
repl := pullRegex.ReplaceAll(data, []byte(`[#$1](`+pullURL+`$1))`))
|
|
if _, err := fi.WriteAt(repl, 0); err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
|
|
fmt.Println("conversion complete")
|
|
}
|