feat: added go html to md parser
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"sync"
|
||||
|
||||
md "github.com/JohannesKaufmann/html-to-markdown"
|
||||
"github.com/JohannesKaufmann/html-to-markdown/plugin"
|
||||
)
|
||||
|
||||
func convertHTMLToMarkdown(html string, wg *sync.WaitGroup, results chan<- string) {
|
||||
defer wg.Done()
|
||||
converter := md.NewConverter("", true, nil)
|
||||
converter.Use(plugin.GitHubFlavored())
|
||||
|
||||
markdown, err := converter.ConvertString(html)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
results <- markdown
|
||||
}
|
||||
|
||||
func main() {
|
||||
html := flag.String("html", "", "")
|
||||
flag.Parse()
|
||||
|
||||
var wg sync.WaitGroup
|
||||
results := make(chan string, 1)
|
||||
|
||||
wg.Add(1)
|
||||
go convertHTMLToMarkdown(*html, &wg, results)
|
||||
|
||||
wg.Wait()
|
||||
close(results)
|
||||
|
||||
for markdown := range results {
|
||||
fmt.Println(markdown)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user