Markdown Navigator

Screen Shot Preview

screen shot

The plugin for Markdown language support on IntelliJ IDEA, RubyMine, PhpStorm, WebStorm, PyCharm, AppCode, Android Studio, CLion and DataGrip.

Specials Buy License via PayPal Get Trial License Download

A Markdown plugin with GFM and a matching preview style.

Document with pleasure!

Work with Markdown files like you do with other languages in the IDE, by getting full support for:

  • completions to reduce typing
    • link address ⇐ files
    • ref anchors ⇐ headings
    • footnote refs ⇐ footnotes
    • ref links/ref images ⇐ references
    • link text ⇐ ref anchor/link address
  • error and warning annotations to help catch mistakes early
  • intention actions for fast results with less effort
  • wrap on typing to keep it nicely formatted as you edit
  • formatting to change format with a key stroke
  • navigation and find usages to find references without effort
  • refactoring of all referencing elements: to keep it all in sync while evolving
    • files ⟺ links
    • headings ⟺ ref anchors
    • footnotes ⟺ footnote refs
    • references ⟺ ref links/ref images
  • GitHub style rendering that you are used to, out of the box
  • Fast typing response for distraction free editing
  • Fully customizable to adjust to your project’s needs and your preferences
  • Copy Markdown as JIRA, YouTrack or HTML formatted text
  • Convert HTML content to Markdown by pasting it into a Markdown document.
  • Export Markdown documents to HTML or PDF to share with others.

Features

  • Split Editor
  • Fast typing response in large files
  • HTML text preview and export
  • Soft Wrap on right margin
  • Format with code style:
    • Multi-byte support with mixed character width
    • Table justification
    • Wrap on typing auto format of element
    • Renumbering of list items
  • Bidirectional Source and Preview synchronization
    • Scrolls preview to show source element at caret
    • Moves caret to source line of element clicked in preview
  • Also does completions, refactoring, validation, language injections, code folding
  • Fully configurable by project with support for scopes
  • Understands GitHub wiki nuances
  • Conversion between HTML and Markdown
  • HTML and PDF export

Plugin Feature Comparison

Feature Basic Enhanced
Works with builds 143.2370 or newer, product version IDEA 15.0.6 X X
Preview Tab so you can see what the rendered markdown will look like on GitHub. X X
Syntax highlighting X X
Table syntax highlighting stripes rows and columns X X
Support for Default and Darcula color schemes for preview tab X X
Warning and Error Annotations to help you validate wiki link errors X X
Link address completion for wiki links X X
Quick Fixes for detected wiki link errors X X
GFM Task list extension * [ ] open task item and * [x] completed task item X X
Line markers, Find usages, Go To Declaration for rapid navigation to wiki link targets X X
Markdown extensions configuration to customize markdown dialects X X
GitHub wiki support makes maintaining GitHub wiki pages easier. X X
GitHub compatible id generation for headers so you can validate your anchor references X X
Swing and JavaFX WebView based preview. X X
Supports JavaFX with JetBrains JRE on OS X X X
Supports Highlight JS in WebView preview X X
Multi-line Image URLs for embedding gravizo.com UML diagrams into markdown X X
Live Templates for common markdown elements X X
Split Editor with Preview or HTML Text modes to view both source and preview X X
Enhanced Version Benefits X
    Toolbar for fast access to frequent operations X
    Language Injections for fenced code, HTML, Jekyll front matter and multi-line URL content X
    Code completions, refactoring, annotations and quick fixes to let you work faster X
    Navigation support with Line markers, Find usages, Go To Declaration for rapid navigation X
    Inspections to help you validate links, anchor refs, footnote refs X
    Complete GitHub wiki support for all links makes maintaining GitHub wiki pages a breeze X
    Jekyll front matter recognition in markdown documents X
    Emoji text to icon conversion using Emoji Cheat Sheet or GitHub emoji URLs X
    Wrap on typing and table formatting with column alignment X
    Character display width used for wrapping and table formatting X
    Structure view for Abbreviations, Headers, Tables, Footnotes, References and Document X
    Document formatting with text wrapping, list renumbering, aranging of elements, etc. X
    Table of Contents generation for any markdown parser, with many style options X
    Copy/paste references and links between files will adjust the link address to the destination file X
As you type automation X
    Double of bold/emphasis markers and remove inserted ones if a space is typed X
    Wrap text blocks to margins and indentation X
    ATX headers to match trailing # marker X
    Setext headers to match marker length to text X
    Format tables to pad column width, column alignment and spanning columns X
    Auto insert empty table row on ENTER X
    Auto delete empty table row/column on BACKSPACE X
    Auto insert table column when typing before first column or after last column of table X
    Actions to insert: table, row or column; delete: row or column X
    Auto insert list item on ENTER X
    Auto delete empty list item on ENTER X
    Auto delete empty list item on BACKSPACE X
    Indent or un-indent list item toolbar buttons and actions X
Code Completions X
    Absolute link address completions using https:// and file:// formats X
    Explicit and Image links are GitHub wiki aware X
    GitHub Issue # Completions after issues/ link address and in text X
    GitHub special links: Issues, Pull requests, Graphs, and Pulse. X
    Link address completions for non-markdown files X
    Emoji text shortcuts completion X
    Java module, class, field and method completions in inline code elements X
Intention Actions X
    Change between relative and absolute https:// link addresses via intention action X
    Change between wiki links and explicit link X
    Intentions for links, wiki links, references and headers X
    Intention to format Setext Header marker to match marker length to text X
    Intention to swap Setext/Atx header format X
    Update table of contents quick fix intention X
    Intention to edit Table of Contents style options dialog with preview X
Refactoring X
    Automatic change from wiki link to explicit link when link target file is moved out of the wiki X
    File move refactoring of contained links. This completes the refactoring feature set X
    Refactoring for /, https:// and file:// absolute link addresses to project files X
    Refactoring of header text with update to referencing anchor link references X
    Anchor link reference refactoring with update to referenced header text X

Release Road Map

Version 2.3.3

  • PDF export action, menu and toolbar item added

  • GitHub Collapse Markdown script, which converts headings in the document to collapsible sections in preview, with state persistence for initializing the open/close state of headings. Now collapsed heading are preserved between page refreshes and when opening markdown files.

Version 2.3.2

Bug fix release

Version 2.3.1

In addition to bug and 2017 EAP compatibility fixes which you can find in Version Notes, this release adds HTML to Markdown conversion capability allowing you to Copy HTML from the browser and get Markdown when you paste it in your Markdown document.

  • Conversion between HTML and Markdown

    • Automatic mime text/html conversion to markdown on paste in Markdown documents.
    • Markdown To Html intention action to convert some markdown elements to HTML in your document so they can be rendered on processors that do not support these Markdown extensions:
      • Tables
      • Image Links (Multi-line URL images for inserting UML, LaTex, etc)
      • Definitions List
    • Html to Markdown intention action to convert html in Markdown
  • Annotations and Quick Fixes:

    • for TOC with empty title string. GitHub does not accept this so an empty title needs at least one space in the title string of the TOC element.
    • for list items that need a blank line before them or empty items that need a space after them to be processed by target markdown processor.
  • Jekyll Support:

    • include Jekyll tag parsing and processing the include, if markdown will be parsed to HTML and rendered in the view, if not markdown will be included in the HTML
      • Markdown referenceable elements such as footnotes, references and headings from files included through Jekyll include tags are now recognized for: find usages, completions, navigation and refactoring.
    • enable parsing of jekyll macros in urls with spaces between braces when Jekyll Front matter parsing.
  • Escape/Unescape Special Characters when these wrap to start of line or unescape them when they are wrapped away from the start of line. This prevents accidental lists, heading and definition lists. Code style options:

    • Escape when wrapped to start of line
    • Unescape when wrapped away from start of line

Version 2.3.0

In addition to a long list of bug fixes you can find in Version Notes, this release is a rework of parser, actions and formatting to handle different Markdown processors’ idiosyncrasies when parsing lists and determining indentation of items:

  • Now list processing option can be set to one of the following:

    :warning: Changing the list processing option can change the formatting of the document since element indentation will be interpreted differently.

  • Format element, document and list indent/un-indent actions respect the list processing configuration.

  • Actions to navigate and select table cells added with permutations of next/prev table cell/cell-start/cell-end with/without selection. Assign to shortcuts in Keymap > Plug-ins > Markdown Navigator

  • Code Style option to sort task items based on their done/not done status:

    • No Change: leave all as is
    • Incomplete first: put incomplete tasks first, followed by the rest
    • Has incomplete first: put incomplete tasks and list items that contain incomplete tasks first followed by the rest
    • Incomplete first, complete to non-task: put incomplete tasks first, followed by the rest and convert complete tasks to non-task items.
    • Has incomplete, complete to non-task: put incomplete tasks and list items that contain incomplete tasks first followed by the rest and convert complete tasks to non-task items.
  • Code Style options for Table of Contents to control generated TOC format and new style keywords in the [TOC] element:

    • hierarchy: as before hierarchical list of headings in document order
    • flat: flat list of headings in document order
    • reversed: flat reversed list of headings in reverse document order
    • increasing: flat, alphabetically increasing by heading text
    • decreasing: flat, alphabetically decreasing by heading text
  • Inline toggling actions take punctuation characters that they will not wrap by default if caret is on them or the current word to wrap ends on them. Default punctuation symbols in settings: .,;:!?. If the caret is right after one of them then default behavior is to wrap the word immediately before the punctuation characters in the corresponding style.

  • @formatter:off / @formatter:on, or configured Code Style: Formatter Control Markers, in comments can be used to disable auto-formatting and wrap on typing for sections of a document

  • Copy Markdown as HTML formatted text action that will copy document or selection to the clipboard in HTML mime format that will paste as formatted HTML into applications that recognize this format. Useful for pasting rendered markdown into e-mails or word processor applications. To override the default styles and parser options create a profile named COPY_HTML_MIME and override Parser and/or Stylesheet CSS Text. See: Copy Markdown to HTML formatted text

  • Option in Main Settings Inline code toggle like other text style actions to change inline code action to work like other style toggle actions: bold, italic and strike through, instead of continuously adding back ticks when at the end of word. Enabled by default. To get previous behavior disable this option.

  • Add: Parser extensions and options for:

    • Ins: ++inserted text++ results in underlined text
    • Subscript: ~subscript~
    • Superscript: ^superscript^

Version 2.2.0

The goal of zero latency typing in 1000+ line files with preview showing is now a reality. This release is a rewrite of JavaFX WebView integration code with changes to the style sheet to eliminate all typing response typing delays.

It is now possible, should you need it, to edit a 500k file with 11,000+ lines with an easily tolerable typing delay.

In addition to a long list of bug fixes you can find in Version Notes, this release was a major tie up of user feature requests:

  • Basic version now with split editor and HTML text preview
  • Live template for collapsible details
    under mnemonic .collapsed must first be enabled in LiveTemplates > Markdown. To keep all detail tags open after preview update, add JavaFX WebView script Details tag opener so the content can be seen while editing  
  • Option to hide disabled toolbar buttons makes better use of screen real-estate
  • Display line numbers in fenced code by enabling Prism.js script in Stylesheet settings
  • All markdown settings affecting rendering are now per project with support for scoped rendering profiles allowing different settings down to file level granularity to be defined for a project
  • Multi-line URL image links are back since upgrade to flexmark-java parser
  • Collapsible headers script adapted from GitHub-userscripts by Rob Garrison. Enable GitHub Collapse Markdown in Stylesheet settings
  • HTML Export with optional auto-export on document save or project open, with Tools menu Markdown Navigator items and all the fixings for the generated HTML which can be different from ones used for rendering the document in preview
  • Link pre and post processing replacements to allow refactoring, completion, validation and navigation for links decorated with non-github parameters, like Jekyll’s macros. See: Modifying Link Processing
  • Jekyll front matter pre and post processing replacements to allow refactoring, completion, validation and navigation for key values that contain file references. See: Modifying Link Processing
  • Swing browser options now support embedding stylesheet contents into the HTML
  • Swing browser now supports displaying HTML documents Show Split Editor for HTML documents
  • Soft Wrap at right margin option with:
    • option to disable wrap on typing when soft wrap is enabled
    • option for document format when soft wrap is enabled:
      • disable format
      • leave enabled
      • infinite margins. This will effectively remove all soft breaks when formatting the document.
  • Link text completion for GitHub issue titles now do issue title lookup
  • Copy Jira Formatted text Copy Jira action improved to add blank lines for loosely spaced lists and after the last list item of the outer-most list and the next element; and now adds :lang= for fenced code that specifies the language
  • Move caret to line of element clicked in preview
  • Scroll and optionally Highlight element in preview at source caret position
  • Print HTML preview for JavaFx
  • Markdown syntax and context aware trailing space trimming when enabled

Future Development

  • http: and https: external link validation and annotations if these get a 404 response code.

Specials Buy License via PayPal Get Trial License Download

For Bug Reports, Issues, Questions and Feature requests: GitHub Issues. Plugin documentation: GitHub Wiki