@@ 48,5 48,60 @@ function! Vim_Markdown_Preview()
endif
endfunction
+
+"Renders html locally and displays images
+function! Vim_Markdown_Preview_Local()
+
+ let BROWSER = 'google-chrome'
+ let OSNAME = 'Unidentified'
+ let REMOVE_TEMP_FILE = 0 "To remove the temp file, set to 1
+
+ if has('win32')
+ " Not yet used
+ let OSNAME = 'win32'
+ endif
+ if has('unix')
+ let OSNAME = 'unix'
+ endif
+ if has('mac')
+ let OSNAME = 'mac'
+ let BROWSER = 'safari'
+ endif
+
+ let curr_file = expand('%:p')
+ call system('markdown ' . curr_file . ' > ' . curr_file . '.html')
+
+ if OSNAME == 'unix' && BROWSER == 'google-chrome'
+ let chrome_wid = system("xdotool search --name '". curr_file . ".html - Google Chrome'")
+ if !chrome_wid
+ "sleep 300m
+ call system('see ' . curr_file . '.html & > /dev/null &')
+ else
+ let curr_wid = system('xdotool getwindowfocus')
+ call system('xdotool windowmap ' . chrome_wid)
+ call system('xdotool windowactivate ' . chrome_wid)
+ call system("xdotool key 'ctrl+r'")
+ call system('xdotool windowactivate ' . curr_wid)
+ endif
+ "sleep 700m
+ endif
+
+ if OSNAME == 'mac' && BROWSER == 'safari'
+ call system('open -g ' . curr_file . '.html')
+ endif
+
+ if REMOVE_TEMP_FILE
+ call system('rm ' . curr_file . '.html')
+ endif
+endfunction
+
+
+"Maps Ctrl-p to Vim_Markdown_Preview()
autocmd Filetype markdown,md map <buffer> <C-p> :call Vim_Markdown_Preview()<CR>
+
+"Maps Ctrl-p to Vim_Markdown_Preview_Local() - saves the html file locally and
+"displays images in path
+"autocmd Filetype markdown,md map <buffer> <C-p> :call Vim_Markdown_Preview_Local()<CR>
+
+"Automatically call Vim_Markdown_Preview() on buffer write
"autocmd BufWritePost *.markdown,*.md :call Vim_Markdown_Preview()