diff --git a/autoload/vimwiki/base.vim b/autoload/vimwiki/base.vim index 2630e82..79ffa5c 100644 --- a/autoload/vimwiki/base.vim +++ b/autoload/vimwiki/base.vim @@ -2061,8 +2061,10 @@ endfunction function! s:clean_url(url) + " don't use an extension as part of the description + let url = substitute(a:url, '\'.vimwiki#vars#get_wikilocal('ext').'$', '', '') " remove protocol and tld - let url = substitute(a:url, '^\a\+\d*:', '', '') + let url = substitute(url, '^\a\+\d*:', '', '') let url = substitute(url, '^//', '', '') let url = substitute(url, '^\([^/]\+\)\.\a\{2,4}/', '\1/', '') let url_l = split(url, '/\|=\|-\|&\|?\|\.') @@ -2090,8 +2092,12 @@ endfunction function! vimwiki#base#normalize_link_helper(str, rxUrl, rxDesc, template) let url = matchstr(a:str, a:rxUrl) + if vimwiki#vars#get_wikilocal('syntax') ==# 'markdown' && vimwiki#vars#get_global('markdown_link_ext') + " strip the extension if it exists so it doesn't get added multiple times + let url = substitute(url, '\'.vimwiki#vars#get_wikilocal('ext').'$', '', '') + endif let descr = matchstr(a:str, a:rxDesc) - if descr == "" + if descr ==# '' let descr = s:clean_url(url) endif let lnk = s:safesubstitute(a:template, '__LinkDescription__', descr, '')