@@ -29,6 +29,30 @@ func html2md(ctx *cli.Context) error {
2929
3030 // Options handling
3131 opt := & md.Options {}
32+ opt = handleOptions (opt , rootArgv )
33+ clis .Verbose (1 , "%#v\n " , opt )
34+
35+ doc , err := goquery .NewDocumentFromReader (rootArgv .Filei )
36+ clis .AbortOn ("Reading file with goquery" , err )
37+ content := doc .Find (rootArgv .Sel )
38+
39+ domain , url := rootArgv .Domain , rootArgv .Filei .Name ()
40+ if domain == "" && regexp .MustCompile (`(?i)^http` ).MatchString (url ) {
41+ domain = md .DomainFromURL (url )
42+ }
43+ clis .Verbose (2 , "domain='%s'\n " , domain )
44+ conv := md .NewConverter (domain , true , opt )
45+
46+ // Plugin handling
47+ conv = handlePlugins (conv , rootArgv )
48+ markdown := conv .Convert (content )
49+
50+ fmt .Println (markdown )
51+
52+ return nil
53+ }
54+
55+ func handleOptions (opt * md.Options , rootArgv * rootT ) * md.Options {
3256 if rootArgv .OptHeadingStyle != "" {
3357 opt .HeadingStyle = rootArgv .OptHeadingStyle
3458 }
@@ -56,20 +80,10 @@ func html2md(ctx *cli.Context) error {
5680 if rootArgv .OptLinkReferenceStyle != "" {
5781 opt .LinkReferenceStyle = rootArgv .OptLinkReferenceStyle
5882 }
59- clis .Verbose (1 , "%#v\n " , opt )
60-
61- doc , err := goquery .NewDocumentFromReader (rootArgv .Filei )
62- clis .AbortOn ("Reading file with goquery" , err )
63- content := doc .Find (rootArgv .Sel )
64-
65- domain , url := rootArgv .Domain , rootArgv .Filei .Name ()
66- if domain == "" && regexp .MustCompile (`(?i)^http` ).MatchString (url ) {
67- domain = md .DomainFromURL (url )
68- }
69- clis .Verbose (2 , "domain='%s'\n " , domain )
70- conv := md .NewConverter (domain , true , opt )
83+ return opt
84+ }
7185
72- // Plugin handling
86+ func handlePlugins ( conv * md. Converter , rootArgv * rootT ) * md. Converter {
7387 if rootArgv .PluginConfluenceAttachments {
7488 conv .Use (plugin .ConfluenceAttachments ())
7589 }
@@ -97,10 +111,5 @@ func html2md(ctx *cli.Context) error {
97111 // if rootArgv.PluginYoutubeEmbed {
98112 // conv.Use(plugin.YoutubeEmbed())
99113 // }
100-
101- markdown := conv .Convert (content )
102-
103- fmt .Println (markdown )
104-
105- return nil
114+ return conv
106115}
0 commit comments