From ea1da3bd284f6f54b5421b757264155cc0ad138a Mon Sep 17 00:00:00 2001 From: Richard Fletcher Date: Fri, 9 Sep 2016 12:13:45 +0100 Subject: [PATCH] Option to not require .md extensions in markdown links Gitlab uses markdown in an interesting way. If you want to create a link to the page "linked-to-page" you might do this: [Linked To Page Title](linked-to-page) And not, [Linked To Page Title](linked-to-page.md) This change is about having the "ge" command work on wiki links constructed in this way, and provides consistency between how gitlab works and vim-markdown works. The default behaviour is not affected. --- README.md | 11 +++++++++++ ftplugin/markdown.vim | 6 +++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c6665e..c1289f5 100644 --- a/README.md +++ b/README.md @@ -219,6 +219,17 @@ vim-markdown automatically insert the indent. By default, the number of spaces o let g:vim_markdown_new_list_item_indent = 2 ``` +### Do not require .md extensions for Markdown links + +If you want to have a link like this `[link text](link-url)` and follow it for editing in vim using the "ge" command, but have it open the file "link-url.md" instead of the file "link-url", then use this option: + +```vim +let g:vim_markdown_no_extensions_in_markdown = 1 +``` +This is super useful for GitLab and GitHub wiki repositories. + +Normal behaviour would be that vim-markup required you to do this `[link text](link-url.md)`, but this is not how the Gitlab and GitHub wiki repositories work. So this option adds some consistency between the two. + ## Mappings diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim index daaa2af..ef9cf59 100644 --- a/ftplugin/markdown.vim +++ b/ftplugin/markdown.vim @@ -582,7 +582,11 @@ if !exists("*s:EditUrlUnderCursor") function s:EditUrlUnderCursor() let l:url = s:Markdown_GetUrlForPosition(line('.'), col('.')) if l:url != '' - execute 'edit' l:url + if get(g:, 'vim_markdown_no_extensions_in_markdown', 0) + execute 'edit' fnamemodify(expand('%:~'), ':p:h').'/'.l:url.'.md' + else + execute 'edit' l:url + endif else echomsg 'The cursor is not on a link.' endif -- 2.39.5