1
0
Fork 0

initial commit

This commit is contained in:
ston1th 2017-04-11 23:58:38 +02:00
commit 385da59cf0
21 changed files with 5737 additions and 0 deletions

59
main.go Normal file
View 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)
}
}