Mercurial > repos > public > wdown
annotate wdown.go @ 5:534fa4c6668e
Add command line argument parsing
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 16 Jun 2020 21:23:38 +0200 |
parents | 0b747e2d51c9 |
children | a5f397e25cb7 |
rev | line source |
---|---|
0 | 1 package main |
2 | |
3 import ( | |
5
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
4 "flag" |
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
5 "fmt" |
0 | 6 "io/ioutil" |
7 "log" | |
8 "os" | |
9 | |
10 "github.com/yuin/goldmark" | |
4
0b747e2d51c9
Add syntax highlighting support
Jonatan Werpers <jonatan@werpers.com>
parents:
1
diff
changeset
|
11 highlighting "github.com/yuin/goldmark-highlighting" |
1
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
12 "github.com/yuin/goldmark/extension" |
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
13 "github.com/yuin/goldmark/parser" |
0 | 14 ) |
15 | |
16 func main() { | |
5
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
17 flag.Parse() |
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
18 |
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
19 if flag.NArg() < 1 { |
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
20 fmt.Println("Please provide a markdown file for parsing.") |
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
21 os.Exit(1) |
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
22 } |
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
23 |
534fa4c6668e
Add command line argument parsing
Jonatan Werpers <jonatan@werpers.com>
parents:
4
diff
changeset
|
24 source, err := ioutil.ReadFile(flag.Arg(0)) |
0 | 25 |
26 if err != nil { | |
27 log.Fatal(err) | |
28 } | |
29 | |
1
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
30 md := goldmark.New( |
4
0b747e2d51c9
Add syntax highlighting support
Jonatan Werpers <jonatan@werpers.com>
parents:
1
diff
changeset
|
31 goldmark.WithExtensions( |
0b747e2d51c9
Add syntax highlighting support
Jonatan Werpers <jonatan@werpers.com>
parents:
1
diff
changeset
|
32 extension.GFM, |
0b747e2d51c9
Add syntax highlighting support
Jonatan Werpers <jonatan@werpers.com>
parents:
1
diff
changeset
|
33 highlighting.Highlighting, |
0b747e2d51c9
Add syntax highlighting support
Jonatan Werpers <jonatan@werpers.com>
parents:
1
diff
changeset
|
34 ), |
1
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
35 goldmark.WithParserOptions( |
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
36 parser.WithAutoHeadingID(), |
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
37 ), |
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
38 ) |
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
39 |
adf9c2b90279
Enable the gfm extension
Jonatan Werpers <jonatan@werpers.com>
parents:
0
diff
changeset
|
40 err = md.Convert(source, os.Stdout) |
0 | 41 |
42 if err != nil { | |
43 log.Fatal(err) | |
44 } | |
45 } |