Merge pull request #665 from patrickdavey/dev

Add html_filename_parameterization option.
This commit is contained in:
Rane Brown 2019-04-13 06:42:04 -06:00 committed by GitHub
commit aff0258d03
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 54 additions and 4 deletions

View File

@ -239,8 +239,15 @@ function! s:is_html_uptodate(wikifile)
endif endif
let wikifile = fnamemodify(a:wikifile, ":p") let wikifile = fnamemodify(a:wikifile, ":p")
if vimwiki#vars#get_wikilocal('html_filename_parameterization')
let parameterized_wikiname = s:parameterized_wikiname(wikifile)
let htmlfile = expand(vimwiki#vars#get_wikilocal('path_html') .
\ vimwiki#vars#get_bufferlocal('subdir') . parameterized_wikiname)
else
let htmlfile = expand(vimwiki#vars#get_wikilocal('path_html') . let htmlfile = expand(vimwiki#vars#get_wikilocal('path_html') .
\ vimwiki#vars#get_bufferlocal('subdir') . fnamemodify(wikifile, ":t:r").".html") \ vimwiki#vars#get_bufferlocal('subdir') . fnamemodify(wikifile, ":t:r").".html")
endif
if getftime(wikifile) <= getftime(htmlfile) && tpl_time <= getftime(htmlfile) if getftime(wikifile) <= getftime(htmlfile) && tpl_time <= getftime(htmlfile)
return 1 return 1
@ -248,6 +255,15 @@ function! s:is_html_uptodate(wikifile)
return 0 return 0
endfunction endfunction
function! s:parameterized_wikiname(wikifile)
let initial = fnamemodify(a:wikifile, ":t:r")
let lower_sanitized = tolower(initial)
let substituted = substitute(lower_sanitized, '[^a-z0-9_-]\+',"-", "g")
let substituted = substitute(substituted, '\-\+',"-", "g")
let substituted = substitute(substituted, '^-', '', "g")
let substituted = substitute(substituted, '-$', '', "g")
return substitute(substituted, '\-\+',"-", "g") . ".html"
endfunction
function! s:html_insert_contents(html_lines, content) function! s:html_insert_contents(html_lines, content)
let lines = [] let lines = []
@ -1614,8 +1630,10 @@ function! vimwiki#html#WikiAll2HTML(path_html)
let path_html = expand(a:path_html) let path_html = expand(a:path_html)
call vimwiki#path#mkdir(path_html) call vimwiki#path#mkdir(path_html)
if !vimwiki#vars#get_wikilocal('html_filename_parameterization')
echomsg 'Vimwiki: Deleting non-wiki html files ...' echomsg 'Vimwiki: Deleting non-wiki html files ...'
call s:delete_html_files(path_html) call s:delete_html_files(path_html)
endif
echomsg 'Vimwiki: Converting wiki to html files ...' echomsg 'Vimwiki: Converting wiki to html files ...'
let setting_more = &more let setting_more = &more

View File

@ -281,6 +281,7 @@ function! s:populate_wikilocal_options()
\ 'template_default': {'type': type(''), 'default': 'default', 'min_length': 1}, \ 'template_default': {'type': type(''), 'default': 'default', 'min_length': 1},
\ 'template_ext': {'type': type(''), 'default': '.tpl'}, \ 'template_ext': {'type': type(''), 'default': '.tpl'},
\ 'template_path': {'type': type(''), 'default': $HOME . '/vimwiki/templates/'}, \ 'template_path': {'type': type(''), 'default': $HOME . '/vimwiki/templates/'},
\ 'html_filename_parameterization': {'type': type(0), 'default': 0, 'min': 0, 'max': 1},
\ } \ }
let g:vimwiki_wikilocal_vars = [] let g:vimwiki_wikilocal_vars = []

View File

@ -1802,6 +1802,16 @@ Get it from http://www.vim.org/scripts/script.php?script_id=52
See |g:vimwiki_use_calendar| option to turn it off/on. See |g:vimwiki_use_calendar| option to turn it off/on.
------------------------------------------------------------------------------
Markdown export
If you use markdown as the syntax for your wiki, there is a rubygem available
at https://github.com/patrickdavey/vimwiki_markdown which you can use to
convert the wiki markdown files into html.
Also See |vimwiki-option-html_filename_parameterization| for supporting
functionality.
============================================================================== ==============================================================================
11. Anchors *vimwiki-anchors* 11. Anchors *vimwiki-anchors*
@ -2427,6 +2437,21 @@ generating links: >
let g:vimwiki_list = [{'path': '~/my_site/', 'exclude_files': ['**/README.md']}] let g:vimwiki_list = [{'path': '~/my_site/', 'exclude_files': ['**/README.md']}]
*vimwiki-option-html_filename_parameterization*
------------------------------------------------------------------------------
Key Default value Values~
html_filename_parameterization 0 0, 1
Description~
This setting is for integration with the vimwiki_markdown gem. If this is set
to 1 it alters the check for generated html filenames to match what
vimwiki_markdown generates. This means that it prevents unnecessary
regeneration of HTML files.
This setting also turns off the automatic deletion of files
in the site_html directory which don't match existing wiki files.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
12.4 Global Options *vimwiki-global-options* 12.4 Global Options *vimwiki-global-options*
@ -3256,6 +3281,12 @@ https://github.com/vimwiki-backup/vimwiki/issues.
2.5 (in progress)~ 2.5 (in progress)~
New:~ New:~
* PR #665: Integration with vimwiki_markdown gem
https://github.com/patrickdavey/vimwiki_markdown
This provides the |vimwiki-option-html_filename_parameterization|
which alters the filenames vimiwiki checks against when running the
html conversion. It also disables the deleting of html files which
no longer match against a wiki file.
* PR #663: New option |g:vimwiki_conceal_onechar_markers| to control * PR #663: New option |g:vimwiki_conceal_onechar_markers| to control
whether to show or hide single-character format markers. whether to show or hide single-character format markers.
* PR #636: Wiki local option |vimwiki-option-exclude_files| which is * PR #636: Wiki local option |vimwiki-option-exclude_files| which is