parent
1855835750
commit
14524da022
4 changed files with 142 additions and 16 deletions
@ -0,0 +1,88 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
function postMenu(args, content) { |
||||||
|
args = args.join(' ').split(',') |
||||||
|
let text = args[0] || '' |
||||||
|
let icon = args[1] || '' |
||||||
|
if (icon.length > 0) { |
||||||
|
return `<div class='dropmenu'>
|
||||||
|
<i class='${icon} fa-fw'></i> |
||||||
|
<span>${text}</span> |
||||||
|
<i class='fas fa-caret-down'></i> |
||||||
|
<ul class='list-v'> |
||||||
|
${content} |
||||||
|
</ul> |
||||||
|
</div>` |
||||||
|
} else { |
||||||
|
return `<div class='dropmenu'>
|
||||||
|
<span>${text}</span> |
||||||
|
<i class='fas fa-caret-down'></i> |
||||||
|
<ul class='list-v'> |
||||||
|
${content} |
||||||
|
</ul> |
||||||
|
</div>` |
||||||
|
} |
||||||
|
} |
||||||
|
function postSubmenu(args, content) { |
||||||
|
args = args.join(' ').split(',') |
||||||
|
let text = args[0] || '' |
||||||
|
let icon = args[1] || '' |
||||||
|
if (icon.length > 0) { |
||||||
|
return `<li>
|
||||||
|
<a> |
||||||
|
<i class='${icon} fa-fw'></i> |
||||||
|
${text} |
||||||
|
</a> |
||||||
|
<ul class='list-v'> |
||||||
|
${content} |
||||||
|
</ul> |
||||||
|
</li>` |
||||||
|
} else { |
||||||
|
return `<li>
|
||||||
|
<a>${text}</a> |
||||||
|
<ul class='list-v'> |
||||||
|
${content} |
||||||
|
</ul> |
||||||
|
</li>` |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function postMenuItem(args) { |
||||||
|
args = args.join(' ').split(',') |
||||||
|
let text = args[0] || '' |
||||||
|
let url = args[1] || '' |
||||||
|
text = text.trim() |
||||||
|
url = url.trim() |
||||||
|
if (url.length > 0) { |
||||||
|
url = "href='" + url + "'" |
||||||
|
} |
||||||
|
let icon = '' |
||||||
|
if (args.length > 2) { |
||||||
|
icon = args[2].trim() |
||||||
|
} |
||||||
|
if (url.length > 0) { |
||||||
|
if (icon.length > 0) { |
||||||
|
return `<li>
|
||||||
|
<a ${url} title='${text}'> |
||||||
|
<i class='${icon} fa-fw'></i> |
||||||
|
${text} |
||||||
|
</a> |
||||||
|
</li>` |
||||||
|
} else { |
||||||
|
return `<li>
|
||||||
|
<a ${url} title='${text}'> |
||||||
|
${text} |
||||||
|
</a> |
||||||
|
</li>` |
||||||
|
} |
||||||
|
} else { |
||||||
|
if (text == 'hr') { |
||||||
|
return `<hr>` |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
hexo.extend.tag.register('menu', postMenu, {ends: true}); |
||||||
|
hexo.extend.tag.register('submenu', postSubmenu, {ends: true}); |
||||||
|
hexo.extend.tag.register('menuitem', postMenuItem); |
@ -0,0 +1,25 @@ |
|||||||
|
div.dropmenu |
||||||
|
display: inline-block |
||||||
|
position: relative |
||||||
|
line-height: 2.4 |
||||||
|
cursor: default |
||||||
|
trans() |
||||||
|
color: alpha($color-text, 85%) |
||||||
|
background: $color-card |
||||||
|
border-radius: $border-codeblock |
||||||
|
border: 1px solid darken($color-codeblock, 6) |
||||||
|
padding: 0 $gap |
||||||
|
padding-top: 1px |
||||||
|
&:hover |
||||||
|
background: $color-codeblock |
||||||
|
>ul |
||||||
|
display: block |
||||||
|
margin-left: 0 - $gap * 0.5 |
||||||
|
margin-top: 0 - $border-codeblock |
||||||
|
ul>li |
||||||
|
list-style: none |
||||||
|
>a |
||||||
|
&:hover |
||||||
|
text-decoration: none !important |
||||||
|
.list-v .list-v |
||||||
|
left: "calc(100% - 0.5 * %s)" % $gap |
Loading…
Reference in new issue