diff --git a/.SpaceVim.d/autoload/SpaceVim/dev/website.vim b/.SpaceVim.d/autoload/SpaceVim/dev/website.vim new file mode 100644 index 000000000..7a03d7f26 --- /dev/null +++ b/.SpaceVim.d/autoload/SpaceVim/dev/website.vim @@ -0,0 +1,40 @@ +let s:JOB = SpaceVim#api#import('job') +let s:job_id = 0 +let s:server_address = '' +function! SpaceVim#dev#website#open() + let path = expand('~/.SpaceVim/docs/') + let cmd = ['bundle', 'exec', 'jekyll', 'serve'] + if s:job_id == 0 && s:server_address == '' + let s:job_id = s:JOB.start(cmd, { + \ 'cwd' : path, + \ 'on_stdout' : function('s:on_stdout'), + \ 'on_exit' : function('s:on_exit'), + \ }) + else + exe 'OpenBrowser' s:server_address + endif +endfunction + +function! SpaceVim#dev#website#terminal() abort + if s:job_id != 0 + call s:JOB.stop(s:job_id) + endif +endfunction + +function! s:on_stdout(id, data, event) abort + for data in a:data + if data =~# 'Server address:' + let s:server_address = split(data, 'address:')[1] + exe 'OpenBrowser' s:server_address + endif + endfor +endfunction + + +function! s:on_exit(...) abort + let s:job_id = 0 + let s:server_address = '' +endfunction + + +" vim:set et sw=2 cc=80: diff --git a/.SpaceVim.d/init.vim b/.SpaceVim.d/init.vim index 7d65bd24f..0ffb12649 100644 --- a/.SpaceVim.d/init.vim +++ b/.SpaceVim.d/init.vim @@ -1,2 +1,4 @@ let g:spacevim_force_global_config = 1 call SpaceVim#custom#SPC('nnoremap', ['a', 'r'], 'call SpaceVim#dev#releases#open()', 'Release SpaceVim', 1) +call SpaceVim#custom#SPC('nnoremap', ['a', 'w'], 'call SpaceVim#dev#website#open()', 'Open SpaceVim local website', 1) +call SpaceVim#custom#SPC('nnoremap', ['a', 't'], 'call SpaceVim#dev#website#terminal()', 'Close SpaceVim local website', 1) diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index 4f7840c35..4299e7643 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -2,13 +2,6 @@ - - {% seo %} @@ -29,14 +22,6 @@ s.parentNode.insertBefore(hm, s); })(); - - -