lorem for japanese

This commit is contained in:
mattn
2013-06-06 18:24:15 +09:00
parent 8e515a11c2
commit 6619d5078e
2 changed files with 27 additions and 1 deletions

View File

@@ -0,0 +1,27 @@
scriptencoding utf-8
function! zencoding#lorem#ja#expand(command)
let wcount = matchstr(a:command, '^\%(lorem\|lipsum\)\(\d*\)}$', '\1', '')
let wcount = wcount > 0 ? wcount : 30
let url = "http://www.aozora.gr.jp/cards/000081/files/470_15407.html"
let content = zencoding#util#cache(url)
if len(content) == 0
let content = zencoding#util#getContentFromURL(url)
let content = matchstr(content, '<div[^>]*>\zs.\{-}</div>')
let content = substitute(content, '[ \r]', '', 'g')
let content = substitute(content, '<br[^>]*>', "\n", 'g')
let content = substitute(content, '<[^>]\+>', '', 'g')
let content = join(filter(split(content, "\n"), 'len(v:val)>0'), "\n")
call zencoding#util#cache(url, content)
endif
let content = substitute(content, "、\n", "、", "g")
let clines = split(content, '\n')
let lines = filter(clines, 'len(substitute(v:val,".",".","g"))<=wcount')
if len(lines) == 0
let lines = clines
endif
let r = zencoding#util#rand()
return lines[r % len(lines)]
endfunction

View File

@@ -147,7 +147,6 @@ endfunction
function! zencoding#util#getContentFromURL(url)
let res = system(printf("%s %s", g:zencoding_curl_command, shellescape(substitute(a:url, '#.*', '', ''))))
let charset = matchstr(res, '<meta[^>]\+content=["''][^;"'']\+;\s*charset=\zs[^;"'']\+\ze["''][^>]*>')
let g:hoge = charset
if len(charset) == 0
let charset = matchstr(res, '<meta\s\+charset=["'']\?\zs[^"'']\+\ze["'']\?[^>]*>')
endif