A Markdown previewer written in Go
GitHub suggested naming it as
Great repository names are short and memorable. Need inspiration? How about
GitHub is always right and I had to obey it.
This project is not being actively maintained, as I decided to port
orange-cat to Node.js. Please refer to the Node.js Port
section for the detail.
If interested in the Node.js port, please check out pen.
How it works
orange-cat, simply run the
$ orange README.md Listening :6060 ...
orange-cat will start watching the Markdown file and open a
browser window where the preview of the file will be displayed. You can
When you modify the file,
orange-cat watcher will catch the
modification and send the modified data to the browser through a
websocket connection. It means, you don't even need to refresh the page.
To stop it, simply enter
Why another Markdown preview?
I know there're already plenty of Markdown previewers, such as Atom's Markdown preview package, some Vim plugins and other web-based or desktop apps.
However, I don't use any modern IDE or editor. I love Vim. There must be people who love their own prefered editors, like me. I wanted to make a previewer running offline, with any editor, without any dependency.
This is a binary executable, not a script. We don't need any
pip to use this. How to use is completely up to you.
I sincerely hope you like
You can download binaries for your environment in Releases.
If you're using Go, you can just go get
$ go get github.com/noraesae/orange-cat/cmd/orange
If you prefer building from source, it's also very easy.
$ cd $GOPATH/src/github.com/noraesae $ git clone email@example.com:noraesae/orange-cat.git $ cd orange-cat $ make build
orange will be created at
orange-cat will try to find a custom CSS file from
~/.orange-cat.css. If there's no custom CSS file, it'll use a default
CSS style, which shows a similar output to GitHub's one.
orange-cat has a Node.js port, pen.
Actually, it's not only a port, but has more functionality than
The gap is mainly because
Blackfriday as its Markdown parser.
It lacks some important features and has minor bugs, although it's the best
option among Go Markdown parsers.
So, if you're familiar with Node.js and happy with
orange-cat, please try
I welcome every kind of contribution.
If you have any problem using
orange-cat, please file an issue in
If you'd like to contribute on source, please upload a pull request in Pull Requests. Please don't forget to check if it's gofmt'ed and passes every test before uploading a new pull request. It can be done with following commands.
$ make fmt # gofmt for every source code $ make test # run Ginkgo test suite
If needed, please add a new test case with your patch.