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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 package main
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 "io/ioutil"
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 "log"
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 "os"
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 )
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 if err != nil {
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 log.Fatal(err)
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 }
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 if err != nil {
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 log.Fatal(err)
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 }
4f279dcbfb16 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 }