Markdown Navigator

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio
Nov 16, 2018
3 318 845
Markdown Navigator 2.0

Markdown language support for IntelliJ platform

A Markdown plugin with GFM and a matching preview style.

Get Markdown Navigator enhanced edition to unlock all productivity features.

Document with pleasure!

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

  • Paste images into documents for fast screen capture links
  • Drag & Drop files and images for fast link insertion
  • Formatting to cleanup documents with a key stroke
  • Navigation and Find Usages to find references without effort
  • Copy Markdown as JIRA, YouTrack or HTML formatted text
  • Convert HTML to Markdown by pasting it into a Markdown document.
  • Export to HTML or PDF to share with others
  • Refactoring of all referencing elements:
    • files ⟺ links
    • headings ⟺ ref anchors
    • footnotes ⟺ footnote refs
    • references ⟺ ref links/ref images
  • 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
  • GitHub style rendering that you are used to, out of the box
  • GitLab parsing and rendering extensions
  • Fast typing response for distraction free editing
  • Fully customizable to adjust to your preferences and project needs

Screenshot

Download plugin

Recent change notes

2.7.0 - Bug Fix & Enhancement Release
  • Fix: jekyll parser option notification would not use the file’s scope based profile.
  • Fix: bump up dependencies to newer versions
  • Fix: #647, md to html link conversion not working for exported files on Windows
  • Fix: exported files without stylesheet should not decorate link with resolved status class.
  • Fix: {% include link resolution does not work without a VCS root.
  • Fix: Jekyll {% include "" %} completions would not work unless there was an .html extension between the strings.
  • Fix: update for 2019.1 eap
  • Fix: intentions missing groupKey were not showing up or being run
  • Fix: make hex text dialog a licensed feature instead of dev feature.
  • Fix: diagnostic/1931, possible fix for intermittent based sequence index out of bounds fix
  • Fix: catch exception when github tasks request fails
  • Fix: settings for HTML paste are not dependent on paste handler override.
  • Fix: when ask on paste for html paste options would cause subsequent undo to fail due to temporary file modification.
  • Fix: reverse the order of split editor configuration for “Show editor and preview” and “Show editor only”
  • Fix: for API change in 2019.1 EAP.
  • Add: Simple structure view option to display only heading hierarchy in the structure view
  • Fix: optimize parser PSI generation by using hash map for type to factory function
  • Fix: diagnostic/1849, ClassCastException: LeafPsiElement cannot be cast to MultiMarkdownLinkElement
  • Fix: image reference links to references with wrong file type or not raw would not register as references to the reference definition. Added getExactReference() to return reference only if it is an exact match, getReference() not matches strictly by id since it is used for navigation and usages.
  • Add: Use Style Attribute option to HTML Export settings. When enabled will apply stylesheet via style attribute of each element as done for Copy Markdown as HTML mime content.

    NOTE: stylesheet is expected to be in the same format as COPY_HTML_MIME stylesheet. See Copy Markdown to HTML formatted Text Profile

    NOTE: if No Stylesheets, No Scripts is selected then only styles explicitly defined by the profile will be used. If this option is not selected then COPY_HTML_MIME profile stylesheet will be used or if the COPY_HTML_MIME profile is not defined then the default stylesheet for COPY_HTML_MIME will be used.

  • Fix: move annotations for Reference Links to inspections
  • Fix: move annotations for References to inspections
  • Fix: move annotations for Emoji to inspections
  • Fix: move annotations for Anchor to inspections
  • Fix: move annotations for Headings to inspections
  • Fix: move annotations for Tables to inspections and add quick fix for column spans
  • Fix: move annotations for List Items and Possible list items to inspections
  • Add: Html Generation option to not wrap paragraphs in <p> and use <br> between paragraphs instead. Useful for HTML exported files for use in Swing panels
  • Add: Html Export target file path options to add to target directory. Useful if need to flatten directory structure of markdown files to a single directory for exported HTML
    • Add path relative to project
    • Add path relative to parent directory
    • Add file name only
  • Add: same file path type options as target path for export image copied file path.
  • Fix: IDE hangs when copying text containing the macro references which contained recursive macros.
  • Fix: document format to ensure one blank line after macro definition
  • Fix: <> wrapped auto links would prevent following bare auto-links from being parsed.
  • Add: all elements intention to select element if intention displays dialog to give user feedback on which element is being used.
  • Fix: do not highlight auto links as errors if remote link validation is disabled
  • Fix: remote link annotation disabled by custom URI scheme handler
  • Fix: #640, java.lang.NullPointerException with HtmlPasteOptionsForm
  • Add: Parser Macros Extension
  • Fix: list item indent/unindent could insert &nbsp; inserted/removed during wrapping but do not perform wrapping, causing the &nbsp; to be left in the text.
  • Add: intention for auto link to explicit link conversion and vice-versa
  • Fix: #605, Support for system specific protocol handlers. Pass through custom protocols to IDE browser launcher.
  • Fix: to not highlight external URL links which consist of only the protocol at the end of the line.
  • Add: color scheme export to save only non-synthetic attributes: Intellij IDEA color scheme, reduced markdown (.icls)
  • Add: validation to auto-link remote url and completion/validation to anchor ref
  • Add: url based parser settings for remote link markdown parsing. For now hardcoded for GitHub, GitLab and legacy GitBook compatibility. New GitBook anchor links not supported yet.
  • Fix: diagnostic/1827, Empty collection can’t be reduced.
  • Fix: broken remote URL links to markdown files validation and anchor ref completions
  • Add: quick fix intention for fixing unresolved anchor refs when a match can be made by ignoring case and removing duplicated -
  • Fix: GitHub heading ids do not convert non-ascii to lowercase.
    • Add: Heading ids lowercase non-ascii text, selected for:
      • GitLab profile
      • GitBook profile
      • CommonMark profile
  • Fix: formatter for extension
  • Fix: invalid anchor refs not annotated for local links (broken by remote link validation)
  • Add: intention for unresolved link addresses starting with www. to prefix with https:// and http://. If remote link validation is enabled then only prefix which results in valid link address will be shown in the intention. If the resulting address reports as permanently moved then also add the destination location to intentions.
  • Add: handling of HTTP:301 for remote content and intention to update link address
  • Fix: for remote content cache only store list of anchors instead of content, more compact and provides the needed data
  • Fix: remove directories from link completions to reduce noise in completions
  • Fix: remote image links showed as unresolved, now IOExceptions during fetching treated as resolved.
  • Fix: remove links returning image data now treated as resolved.
  • Fix: #637, Links from main project repository to files in a sub-directory repository show unresolved
  • Add: unresolved remote link address annotation error.
  • Add: in settings total remote link count and memory use for remote content.
  • Fix: only cache remote content when it is needed for anchor ref validation. For remote link validation only store the fact that it exists.
  • Add: remote link content cache to use for validating remote content links and anchor refs
  • Add: option to enable validation of remote links (annotates unresolved link if server returns error)
  • Fix: remove anchor ref error annotation for links which do not resolve to a project file or do not exist if validating remote link anchor refs
  • Add: error annotation for links to HTML files in project with anchor refs which do not link to a or h1 through h6 html tags with name or id attribute given by anchor ref
  • Add: anchor link completion for links to HTML files in project to a or h1 through h6 html tags with name or id attribute giving the anchor ref
  • Add: anchor link completion on external URLs which do not resolve to a project file.
    • Special handling if file extension matches a Markdown Language extension, will download the markdown file and will render it as HTML to extract anchor definitions
    • Special handling for GitHub (ones starting with http:// or https:// followed by github.com)
      • markdown files: If the link is to a blob type then will use raw type URL to get Markdown so it can be correctly rendered as HTML to extract anchor definitions.
      • html content:
        • remove user-content- prefix from anchor refs (GitHub adds these automatically)
        • remove [0-9a-fA-F]{32}-[0-9a-fA-F]{40} looking anchor ids
    • Special handling for GitLab (ones starting with http:// or https:// followed by gitlab.com)
      • markdown files: If the link is to a blob type then will use raw type URL to get Markdown so it can be correctly rendered as HTML to extract anchor definitions.
      • html content:
        • remove [0-9a-fA-F]{32}-[0-9a-fA-F]{40} looking anchor ids

General usage instructions

Install and get GitHub-like markdown with HTML preview and HTML text tabs for markdown text files.