George V. Reilly

Markdown Live Preview

It’s very useful when creating Markdown to be able to preview it live. For example, creating a complex pull request or a README.md. I usually use the built-in Atom Markdown Preview package in Atom. Just type ⌃⇧M (aka Ctrl+Shift+M) to see a live preview in an adjacent pane. I use vim-mode-plus to edit in Atom, which provides an acceptable emulation of Vim.

I recently discovered VS Code Markdown Preview in Visual Studio Code. Type ⌘K V (aka Ctrl+K V on Windows or Linux) to invoke the side-by-side live preview. I use VSCodeVim to meet my Vim needs.

Un­for­tu­nate­ly, neither previewer gives identical results to GitHub’s Markdown renderer. GitHub itself seems to use different renderers for Pull Requests than it does for README.mds.

As an example of markdown that behaves dif­fer­ent­ly in GitHub’s README.md but looks fine in Atom, VSCode, and GitHub’s own Pull Requests previewer for Markdown, consider this nested list. The blank lines before and after the indented “fenced code blocks” (denoted by triple backticks, ```, a GitHub-Flavored Markdown extension) are necessary for the indented code blocks to render properly everywhere. The blank lines may be omitted in all but the GitHub README.md, without affecting the rendering. However, without the blank lines, the code block will collapse onto one line in the GitHub README.md.

* The following has been tested with RabbitMQ 3.6.0 on macOS
  (`brew install rabbitmq`):
        - `/usr/local/etc/rabbitmq/rabbitmq-env.conf`
          should *not* have a localhost entry for `NODE_IP_ADDRESS`;
          e.g.:

                ```
                CONFIG_FILE=/usr/local/etc/rabbitmq/rabbitmq
                #NODE_IP_ADDRESS=127.0.0.1
                NODENAME=rabbit@localhost
                ```

        - `/usr/local/etc/rabbitmq/rabbitmq.config`:

                ```
                [{rabbit, [{loopback_users, []}]}].
                ```

                (Yes, the trailing period is deliberate.)

Both Atom and VSCode are built on top of Electron, which seems to be an excellent way to built powerful cross-platform desktop apps using HTML, CSS, and JavaScript on top of Chromium and Node.js. Other Electron-based apps that I use include Brave, GitKraken, Cycligent Git Tool, Postman, Slack, and Kitematic.

blog comments powered by Disqus
Review: Basket Case » « Git: pruning unused branches