From ade4f44faa40abb5ed5eb56d30dc21fc3e60f20b Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Fri, 29 May 2020 23:11:16 +0800 Subject: [PATCH] Optimize link-grid & fix pandoc rendering error --- scripts/tags/button.js | 4 +-- scripts/tags/link-grid.js | 22 ++++++++---- scripts/tags/mermaid.js | 6 ++-- .../_common/scaffolding/tags/link-grid.styl | 34 +++++++++---------- 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/scripts/tags/button.js b/scripts/tags/button.js index a77d306..4962fc0 100644 --- a/scripts/tags/button.js +++ b/scripts/tags/button.js @@ -23,8 +23,8 @@ function postButton(args) { title = title.trim(); return ` 0 ? ` title="${title}"` : ''}> - ${icon.length > 0 ? `` : ''}${text} - `; +${icon.length > 0 ? `` : ''}${text} +`; } hexo.extend.tag.register('button', postButton, {ends: false}); diff --git a/scripts/tags/link-grid.js b/scripts/tags/link-grid.js index ea464a4..da83cf8 100644 --- a/scripts/tags/link-grid.js +++ b/scripts/tags/link-grid.js @@ -1,16 +1,24 @@ +/** + * link-grid.js | https://theme-next.js.org/docs/tag-plugins/link-grid + */ + /* global hexo */ 'use strict'; function linkGrid(args, content) { + const image = args[0] || '/images/avatar.gif'; + const delimiter = args[1] || '|'; + const comment = args[2] || '%'; + const links = content.split('\n').map(item => { - const args = item.split('|').map(arg => arg.trim()); - if (args[0][0] === '%') return ''; - return `
- -

${args[0]}

${args[2] || args[1]}

- -
`; + item = item.split(delimiter).map(arg => arg.trim()); + if (item[0][0] === comment) return ''; + return ``; }); return ``; } diff --git a/scripts/tags/mermaid.js b/scripts/tags/mermaid.js index 3e3a3c6..2071568 100644 --- a/scripts/tags/mermaid.js +++ b/scripts/tags/mermaid.js @@ -8,9 +8,9 @@ function mermaid(args, content) { return `
-            ${args.join(' ')}
-            ${content}
-          
`; +${args.join(' ')} +${content} +`; } hexo.extend.tag.register('mermaid', mermaid, {ends: true}); diff --git a/source/css/_common/scaffolding/tags/link-grid.styl b/source/css/_common/scaffolding/tags/link-grid.styl index aadc0f9..4aeb09e 100644 --- a/source/css/_common/scaffolding/tags/link-grid.styl +++ b/source/css/_common/scaffolding/tags/link-grid.styl @@ -3,39 +3,39 @@ grid-gap: 1.5rem 1.5rem; grid-template-columns: 1fr 1fr; padding: 1.5rem; - user-select: none; +mobile() { grid-template-columns: 1fr; } - div { - border: solid #ddd; - box-shadow: 1rem 1rem 0.5rem gray; + .link-grid-container { + border: solid $grey-lighter; + box-shadow: 1rem 1rem .5rem gray; height: 5rem; - transition: background 0.3s; - padding: 0.5rem; + padding: .5rem; position: relative; + transition: background .3s; &:hover { - animation: shake 0.5s; - background: rgba(230,244,250,.5); + animation: shake .5s; + background: rgba(230, 244, 250, .5); } &:active { - box-shadow: 0.5rem 0.5rem 0.25rem gray; - transform: translate(0.2rem, 0.2rem); + box-shadow: .5rem .5rem .25rem gray; + transform: translate(.2rem, .2rem); } - img { - border: 1px solid #ddd; + .link-grid-image { + background-clip: content-box; + background-origin: content-box; + background-size: cover; + border: 1px solid $grey-lighter; border-radius: 50%; box-sizing: border-box; height: 5rem; - left: 0.5rem; padding: 3px; position: absolute; - top: 0.5rem; width: 5rem; } @@ -47,14 +47,14 @@ } &:last-of-type { - font-size: 0.8em; + font-size: .8em; line-height: 1.3rem; - opacity: 0.7; + opacity: .7; } } a { - border: none; + border: 0; height: 100%; left: 0; position: absolute;