initial commit
This commit is contained in:
commit
385da59cf0
21 changed files with 5737 additions and 0 deletions
59
main.go
Normal file
59
main.go
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
// Copyright (C) 2017 Marius Schellenberger
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"github.com/russross/blackfriday"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
var (
|
||||
file string
|
||||
srv bool
|
||||
md string
|
||||
)
|
||||
|
||||
func main() {
|
||||
flag.StringVar(&file, "f", "", "markdown file to parse")
|
||||
flag.BoolVar(&srv, "srv", false, "start server and open new browser tab")
|
||||
flag.Parse()
|
||||
var (
|
||||
r io.Reader
|
||||
err error
|
||||
)
|
||||
switch file {
|
||||
case "":
|
||||
r = os.Stdin
|
||||
default:
|
||||
r, err = os.Open(file)
|
||||
fatal(err)
|
||||
}
|
||||
buf, err := ioutil.ReadAll(r)
|
||||
fatal(err)
|
||||
md = string(blackfriday.MarkdownCommon(buf))
|
||||
if !srv {
|
||||
fmt.Println(md)
|
||||
return
|
||||
}
|
||||
md = "<html><body>" + md + "</body></html>"
|
||||
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Write([]byte(md))
|
||||
})
|
||||
go func() {
|
||||
exec.Command("xdg-open", "http://127.0.0.1:8090").Start()
|
||||
}()
|
||||
fatal(http.ListenAndServe(":8090", nil))
|
||||
}
|
||||
|
||||
func fatal(err error) {
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue