/Shiba

Rich markdown live preview app with linter

Primary LanguageTypeScript

shibainu

npm version Build Status dogs respected

Important

This application is being re-written from scratch in v2 directory using Rust, TypeScript and React

Shiba is a rich live markdown preview app with linter. It watches markdown files in specific directory and automatically shows the preview and result of lint. Shiba is built on Electron and Polymer.

  • Isolated app. You need not prepare Chrome and can use favorite editor
  • Rich GitHub Flavored Markdown
    • code highlight
    • emoji
    • task list
    • links with tooltip
    • tree diagram and flowchart using mermaid
    • math rendering using katex
  • Live reload
  • Automatic lint (remark-lint, markdownlint)
  • Keyboard shortcuts; All operations are ready for mouse and keyboard.
  • Both GUI and CLI friendly
  • Cross platform (OS X, Linux, Windows)
  • Easy to install
  • Customizable with YAML config file
    • keyboard shortcuts
    • linter
    • user CSS
    • code theme
    • etc...
  • Search text in preview
  • Outline window
  • Print preview (to a paper / to a PDF file)
  • Support multi japanese encodings (utf8, utf16, sjis, euc-jp, unicode)
  • HTML preview
  • Dog-respected 🐕

Documents

All documents are in docs directory. And I wrote a Japanese blog post.

Overview

main screenshot

  1. At start up, Shiba is watching the current working directory (the path is in title of window).
  2. When you edit the markdown file in current working directory, Shiba finds the update, renders the file in window and sets the result of lint.
  3. You can see the result of lint by clicking the '!' button in menu. When the button is red, it means that linter reported some errors.
  4. You can change the watching directory/file using 'directory' button in menu or dropping file to window.
  5. You can quit app by closing the window.

This is the simplest use case. Please see usage document for more detail.

Special Thanks

License

MIT License.

Copyright (c) 2015 rhysd

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.

In packaged app, Electron part is licensed with below notice:

Copyright (c) 2014 GitHub Inc.

Emojis were brought from gemoji project:

octocat, squirrel, shipit Copyright (c) 2013 GitHub Inc. All rights reserved.

bowtie, neckbeard, fu Copyright (c) 2013 37signals, LLC. All rights reserved.

feelsgood, finnadie, goberserk, godmode, hurtrealbad, rage 1-4, suspect Copyright (c) 2013 id Software. All rights reserved.

trollface Copyright (c) 2013 whynne@deviantart. All rights reserved.

Source code:

Copyright (c) 2013 GitHub, Inc.