Skip to content

Commit

Permalink
feat: add nearestKeyword option 2
Browse files Browse the repository at this point in the history
  • Loading branch information
VimWei committed Jun 4, 2023
1 parent 308a324 commit 3d4b291
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 35 deletions.
3 changes: 2 additions & 1 deletion MdxSourceBuilder.vim
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ let g:dictionaryParts = [
" - 1:显示百分比定位信息
" nearestKeyword:词条导航是否显示距本页最近的前/后一个词条
" - 0:不显示最近的前后词条,适合词条较多的情形
" - 1:显示最近的前后词条,适合词条较少情形下的跨页跳转
" - 1:显示最近的前后词条的提示符,适合词条较少情形下的跨页跳转
" - 2: 显示最近的前后词条及提示符,适合词条很少情形下的跨页跳转

" 多层级词条
let s:multiLevel = 0
Expand Down
4 changes: 4 additions & 0 deletions MdxSourceBuilderCSS.vim
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@
padding: 0;
}

a.nearestKeyword {
color: hotpink;
}

/* 多级关键词导航 */
.keywordsNav0 {
/* display:none */
Expand Down
41 changes: 26 additions & 15 deletions MdxSourceBuilderCore.vim
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ function! StandardizeStyle(sourceStyle)
endif
" 清理并保存,以便后续代码可以正常运作
silent! normal! Go
silent! %s/?/?/g
silent! global/^$/d
silent! w!
endfunction
Expand Down Expand Up @@ -282,9 +283,17 @@ function! KeywordsNav(currentPage, currentWord)
endwhile
if len(s:keywordsDict[nearestPrePage]) > 0
let nearestPreKeyword = s:keywordsDict[nearestPrePage][-1]
let nearestPreKeyword = '<a class="keywordsNavKeyword" '
\. 'href="entry://' . nearestPreKeyword . '">'
\. '<<<</a>'
if nearestKeyword == 0
let nearestPreKeyword = ''
elseif nearestKeyword == 1
let nearestPreKeyword = '<a class="nearestKeyword" '
\. 'href="entry://' . nearestPreKeyword . '">'
\. '<<<</a>'
elseif nearestKeyword == 2
let nearestPreKeyword = '<a class="nearestKeyword" '
\. 'href="entry://' . nearestPreKeyword . '">'
\. '(' . nearestPreKeyword. ')<<<</a>'
endif
else
let nearestPreKeyword = ''
endif
Expand All @@ -306,25 +315,27 @@ function! KeywordsNav(currentPage, currentWord)
endwhile
if len(s:keywordsDict[nearestNextPage]) > 0
let nearestNextKeyword = s:keywordsDict[nearestNextPage][0]
let nearestNextKeyword = '<a class="keywordsNavKeyword" '
\. 'href="entry://' . nearestNextKeyword . '">'
\. '>>></a>'
if nearestKeyword == 0
let nearestNextKeyword = ''
elseif nearestKeyword == 1
let nearestNextKeyword = '<a class="nearestKeyword" '
\. 'href="entry://' . nearestNextKeyword . '">'
\. '>>></a>'
elseif nearestKeyword == 2
let nearestNextKeyword = '<a class="nearestKeyword" '
\. 'href="entry://' . nearestNextKeyword . '">'
\. '>>>(' . nearestNextKeyword. ')</a>'
endif
else
let nearestNextKeyword = ''
endif
else
let nearestNextKeyword = ''
endif
" //////拼接导航词条
if s:nearestKeyword == 1
let keywordsNav = '<div class="keywordsNav">'
\. nearestPreKeyword . keywordsNav . nearestNextKeyword
\. '</div>'
else
let keywordsNav = '<div class="keywordsNav">'
\. keywordsNav
\. '</div>'
endif
let keywordsNav = '<div class="keywordsNav">'
\. nearestPreKeyword . keywordsNav . nearestNextKeyword
\. '</div>'
return keywordsNav
endfunction

Expand Down
5 changes: 4 additions & 1 deletion MdxSourceBuilderLink.vim
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ function! StandardizeStyle(sourceStyle)
endif
" 清理并保存,以便后续代码可以正常运作
silent! normal! Go
silent! %s/?/?/g
silent! global/^$/d
silent! w!
endfunction
Expand Down Expand Up @@ -210,6 +211,7 @@ elseif s:sourceStyle == 109
" 基于888改造:主词条为页码
silent! g/^\s*"/d
silent! global/^$/d
silent! %s/?/?/g
silent! set expandtab tabstop=4 | %retab
silent! w!
let lineDicts = {}
Expand All @@ -235,9 +237,10 @@ elseif s:sourceStyle == 888
" 可以添加注释行:与VimL一样,以 " 开头
" 可以添加空行
" ///////////////
" 清理数据:删除注释行、空行、Tab转空格
" 清理数据:删除注释行、空行、问号中文化、Tab转空格
silent! g/^\s*"/d
silent! global/^$/d
silent! %s/?/?/g
silent! set expandtab tabstop=4 | %retab
silent! w!
let lineDicts = {}
Expand Down
41 changes: 26 additions & 15 deletions MdxSourceBuilderMultiLevel.vim
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ function! StandardizeStyle(sourceStyle)
endif
" 清理并保存,以便后续代码可以正常运作
silent! normal! Go
silent! %s/?/?/g
silent! global/^$/d
silent! w!
endfunction
Expand Down Expand Up @@ -334,9 +335,17 @@ function! KeywordsNav(currentPage, currentWord)
endwhile
if len(get(s:fileKeywordsDict[file], nearestPrePage, [])) > 0
let nearestPreKeyword = s:fileKeywordsDict[file][nearestPrePage][-1]
let nearestPreKeyword = '<a class="keywordsNavKeyword" '
\. 'href="entry://' . nearestPreKeyword . '">'
\. '<<<</a>'
if nearestKeyword == 0
let nearestPreKeyword = ''
elseif nearestKeyword == 1
let nearestPreKeyword = '<a class="nearestKeyword" '
\. 'href="entry://' . nearestPreKeyword . '">'
\. '<<<</a>'
elseif nearestKeyword == 2
let nearestPreKeyword = '<a class="nearestKeyword" '
\. 'href="entry://' . nearestPreKeyword . '">'
\. '(' . nearestPreKeyword. ')<<<</a>'
endif
else
let nearestPreKeyword = ''
endif
Expand All @@ -358,25 +367,27 @@ function! KeywordsNav(currentPage, currentWord)
endwhile
if len(get(s:fileKeywordsDict[file], nearestNextPage, [])) > 0
let nearestNextKeyword = s:fileKeywordsDict[file][nearestNextPage][0]
let nearestNextKeyword = '<a class="keywordsNavKeyword" '
\. 'href="entry://' . nearestNextKeyword . '">'
\. '>>></a>'
if nearestKeyword == 0
let nearestNextKeyword = ''
elseif nearestKeyword == 1
let nearestNextKeyword = '<a class="nearestKeyword" '
\. 'href="entry://' . nearestNextKeyword . '">'
\. '>>></a>'
elseif nearestKeyword == 2
let nearestNextKeyword = '<a class="nearestKeyword" '
\. 'href="entry://' . nearestNextKeyword . '">'
\. '>>>(' . nearestNextKeyword. ')</a>'
endif
else
let nearestNextKeyword = ''
endif
else
let nearestNextKeyword = ''
endif
" //////拼接导航词条
if nearestKeyword == 1
let keywordsNav = '<div class="keywordsNav' . file . '">'
\. nearestPreKeyword . keywordsNav . nearestNextKeyword
\. '</div>'
else
let keywordsNav = '<div class="keywordsNav' . file . '">'
\. keywordsNav
\. '</div>'
endif
let keywordsNav = '<div class="keywordsNav' . file . '">'
\. nearestPreKeyword . keywordsNav . nearestNextKeyword
\. '</div>'
let s:multiKeywordsNav = s:multiKeywordsNav . keywordsNav
endfor
let s:multiKeywordsNav = '<div class="keywordsNav">'
Expand Down
6 changes: 3 additions & 3 deletions 火星词典.Link888.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
" 适用于快速手工添加链接词条
" 词条格式:现有关键词\t链接词条\t链接词条
" 分隔符兼容Tab和空格(4位及以上)
" 可以添加注释行以 " 开头
" 词条格式:主词条(已有关键词) 链接词条 链接词条
" 分隔符采用4个及以上的空格
" 可以添加注释行以 " 开头
" 可以添加空行

OPEU3Cover_0001 PEU OPEU 英语用法指南 牛津英语用法指南
Expand Down

0 comments on commit 3d4b291

Please sign in to comment.