This commit is contained in:
10
Links/templates/default-img/manifest.json
Normal file
10
Links/templates/default-img/manifest.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "default-img",
|
||||
"title": "默认图片友链",
|
||||
"version": "1.0.0",
|
||||
"description": "仅图片 Logo 列表",
|
||||
"inject": {
|
||||
"css": true,
|
||||
"js": false
|
||||
}
|
||||
}
|
||||
2
Links/templates/default-img/style.css
Normal file
2
Links/templates/default-img/style.css
Normal file
@@ -0,0 +1,2 @@
|
||||
.links-plus-item{list-style:none;display:inline-block;margin:6px}
|
||||
.links-plus-avatar{border-radius:10px;border:1px solid rgba(0,0,0,.06);display:block}
|
||||
5
Links/templates/default-img/template.html
Normal file
5
Links/templates/default-img/template.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<li class="links-plus-item">
|
||||
<a class="links-plus-link" href="{url}" title="{title}" target="_blank" rel="noopener">
|
||||
<img class="links-plus-avatar" src="{image}" alt="{name}" width="{size}" height="{size}" loading="lazy" />
|
||||
</a>
|
||||
</li>
|
||||
10
Links/templates/default-mix/manifest.json
Normal file
10
Links/templates/default-mix/manifest.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "default-mix",
|
||||
"title": "默认图文友链",
|
||||
"version": "1.0.0",
|
||||
"description": "图标 + 名称",
|
||||
"inject": {
|
||||
"css": true,
|
||||
"js": false
|
||||
}
|
||||
}
|
||||
4
Links/templates/default-mix/style.css
Normal file
4
Links/templates/default-mix/style.css
Normal file
@@ -0,0 +1,4 @@
|
||||
.links-plus-item{list-style:none;margin:8px 0}
|
||||
.links-plus-link{display:inline-flex;gap:10px;align-items:center;color:inherit;text-decoration:none}
|
||||
.links-plus-avatar{border-radius:10px;border:1px solid rgba(0,0,0,.06)}
|
||||
.links-plus-link:hover .links-plus-name{text-decoration:underline}
|
||||
6
Links/templates/default-mix/template.html
Normal file
6
Links/templates/default-mix/template.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<li class="links-plus-item">
|
||||
<a class="links-plus-link" href="{url}" title="{title}" target="_blank" rel="noopener">
|
||||
<img class="links-plus-avatar" src="{image}" alt="{name}" width="{size}" height="{size}" loading="lazy" />
|
||||
<span class="links-plus-name">{name}</span>
|
||||
</a>
|
||||
</li>
|
||||
10
Links/templates/default-text/manifest.json
Normal file
10
Links/templates/default-text/manifest.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "default-text",
|
||||
"title": "默认文字友链",
|
||||
"version": "1.0.0",
|
||||
"description": "仅文字链接列表",
|
||||
"inject": {
|
||||
"css": true,
|
||||
"js": false
|
||||
}
|
||||
}
|
||||
3
Links/templates/default-text/style.css
Normal file
3
Links/templates/default-text/style.css
Normal file
@@ -0,0 +1,3 @@
|
||||
.links-plus-item{list-style:none;margin:8px 0}
|
||||
.links-plus-link{color:inherit;text-decoration:none}
|
||||
.links-plus-link:hover{text-decoration:underline}
|
||||
5
Links/templates/default-text/template.html
Normal file
5
Links/templates/default-text/template.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<li class="links-plus-item">
|
||||
<a class="links-plus-link" href="{url}" title="{title}" target="_blank" rel="noopener">
|
||||
{name}
|
||||
</a>
|
||||
</li>
|
||||
BIN
Links/templates/md3-cards/image.png
Normal file
BIN
Links/templates/md3-cards/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
10
Links/templates/md3-cards/manifest.json
Normal file
10
Links/templates/md3-cards/manifest.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "md3-cards",
|
||||
"title": "Material Design Cards 1",
|
||||
"version": "1.0.0",
|
||||
"description": "MD3 风格的友链卡片网格(含 CSS 注入)。",
|
||||
"inject": {
|
||||
"css": true,
|
||||
"js": true
|
||||
}
|
||||
}
|
||||
1
Links/templates/md3-cards/script.js
Normal file
1
Links/templates/md3-cards/script.js
Normal file
@@ -0,0 +1 @@
|
||||
(function(){document.addEventListener('click',function(e){var card=e.target.closest('.lp-md3-card');if(!card)return;createRipple(e,card);var url=card.getAttribute('data-href');if(url){setTimeout(function(){window.open(url,'_blank','noopener')},100)}});document.addEventListener('keydown',function(e){var card=e.target.closest('.lp-md3-card');if(!card)return;if(e.key==='Enter'||e.key===' '){e.preventDefault();var url=card.getAttribute('data-href');if(url)window.open(url,'_blank','noopener')}});function createRipple(event,card){var container=card.querySelector('.lp-md3-ripple-container');if(!container)return;var circle=document.createElement('span');var diameter=Math.max(card.clientWidth,card.clientHeight);var radius=diameter/2;var rect=card.getBoundingClientRect();var x=(event.clientX?event.clientX:rect.left+rect.width/2)-rect.left;var y=(event.clientY?event.clientY:rect.top+rect.height/2)-rect.top;circle.style.width=circle.style.height=diameter+'px';circle.style.left=(x-radius)+'px';circle.style.top=(y-radius)+'px';circle.classList.add('lp-md3-ripple');var old=container.getElementsByClassName('lp-md3-ripple')[0];if(old){old.remove()}container.appendChild(circle);setTimeout(function(){circle.remove()},600)}})();
|
||||
1
Links/templates/md3-cards/style.css
Normal file
1
Links/templates/md3-cards/style.css
Normal file
@@ -0,0 +1 @@
|
||||
.lp-md3-item{display:inline-block!important;vertical-align:top!important;float:none!important;width:100%!important;margin:0!important;padding:0 6px 16px 6px!important;box-sizing:border-box!important;list-style:none!important;height:auto!important;font-size:14px}@media (min-width:500px){.lp-md3-item{width:49%!important}}@media (min-width:1200px){.lp-md3-item{width:32%!important}}.lp-md3-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:110px;padding:14px;box-sizing:border-box;background-color:#f7f9fc;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 1px 3px 1px rgba(0,0,0,.1);cursor:pointer;transition:transform .2s,box-shadow .2s,background-color .2s;user-select:none;-webkit-user-select:none;overflow:hidden;text-decoration:none!important;text-align:left;color:#1a1c1e;border:1px solid transparent}.lp-md3-card:hover{transform:translateY(-3px);background-color:#f0f3f8;box-shadow:0 4px 8px 3px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.15);z-index:2}.lp-md3-card:active{transform:scale(.98)}.lp-md3-content-wrap{display:flex;align-items:center;gap:8px;position:relative;z-index:1}.lp-md3-media{flex:0 0 44px;width:44px;height:44px}.lp-md3-avatar{width:100%;height:100%;max-width:100%!important;max-height:100%!important;border-radius:50%!important;object-fit:cover;background:#e1e1e1;display:block;margin:0;padding:0;border:none}.lp-md3-text{flex:1;min-width:0;padding-right:2px}.lp-md3-headline{font-family:system-ui,-apple-system,sans-serif;font-size:15px;font-weight:600;line-height:1.3;color:inherit;margin:0 0 4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-md3-subhead{font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:400;line-height:1.5;color:#43474e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.9;min-height:3em}.lp-md3-meta{margin-top:10px;display:flex;justify-content:flex-end;position:relative;z-index:1}.lp-md3-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;background-color:rgba(0,0,0,.06);color:#444746;font-size:11px;font-weight:500}.lp-md3-state-layer{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0;transition:background-color .2s}[data-theme=dark] .lp-md3-card,body.dark .lp-md3-card,body.dark-mode .lp-md3-card,body.theme-dark .lp-md3-card,html.dark .lp-md3-card,html.dark-mode .lp-md3-card,html.theme-dark .lp-md3-card{background-color:#25282e!important;border-color:#444746!important;box-shadow:0 1px 2px rgba(0,0,0,.4)!important;color:#e3e2e6!important}[data-theme=dark] .lp-md3-card:hover,body.dark .lp-md3-card:hover,body.dark-mode .lp-md3-card:hover,body.theme-dark .lp-md3-card:hover,html.dark .lp-md3-card:hover,html.dark-mode .lp-md3-card:hover,html.theme-dark .lp-md3-card:hover{background-color:#2f3239!important;border-color:#666!important;box-shadow:0 4px 8px rgba(0,0,0,.5)!important}[data-theme=dark] .lp-md3-headline,body.dark .lp-md3-headline,body.dark-mode .lp-md3-headline,body.theme-dark .lp-md3-headline,html.dark .lp-md3-headline,html.dark-mode .lp-md3-headline,html.theme-dark .lp-md3-headline{color:#e3e2e6!important}[data-theme=dark] .lp-md3-subhead,body.dark .lp-md3-subhead,body.dark-mode .lp-md3-subhead,body.theme-dark .lp-md3-subhead,html.dark .lp-md3-subhead,html.dark-mode .lp-md3-subhead,html.theme-dark .lp-md3-subhead{color:#c4c6d0!important}[data-theme=dark] .lp-md3-chip,body.dark .lp-md3-chip,body.dark-mode .lp-md3-chip,body.theme-dark .lp-md3-chip,html.dark .lp-md3-chip,html.dark-mode .lp-md3-chip,html.theme-dark .lp-md3-chip{background-color:rgba(255,255,255,.1)!important;color:#e3e2e6!important}[data-theme=dark] .lp-md3-card:hover .lp-md3-state-layer,body.dark .lp-md3-card:hover .lp-md3-state-layer,body.dark-mode .lp-md3-card:hover .lp-md3-state-layer,body.theme-dark .lp-md3-card:hover .lp-md3-state-layer,html.dark .lp-md3-card:hover .lp-md3-state-layer,html.dark-mode .lp-md3-card:hover .lp-md3-state-layer,html.theme-dark .lp-md3-card:hover .lp-md3-state-layer{background-color:rgba(255,255,255,.05)!important}.entry-content ul,.links-box,.post-content ul{display:flow-root!important}.entry-content ul:after,.links-box:after,.post-content ul:after,ul:after{content:""!important;display:table!important;clear:both!important}
|
||||
1
Links/templates/md3-cards/template.html
Normal file
1
Links/templates/md3-cards/template.html
Normal file
@@ -0,0 +1 @@
|
||||
<li class="lp-md3-item"><div class="lp-md3-wrap-fix" style="width:100%!important;height:100%!important"><div class="lp-md3-card" role="link" tabindex="0" data-href="{url}" aria-label="{name}"><div class="lp-md3-state-layer"></div><div class="lp-md3-ripple-container"></div><div class="lp-md3-content-wrap"><div class="lp-md3-media"><img class="lp-md3-avatar" src="{image}" alt="{name}" loading="lazy"></div><div class="lp-md3-text"><div class="lp-md3-headline">{name}</div><div class="lp-md3-subhead">{description}</div></div></div><div class="lp-md3-meta"><span class="lp-md3-chip">{sort}</span></div></div></div></li>
|
||||
BIN
Links/templates/mirages-modify/image.png
Normal file
BIN
Links/templates/mirages-modify/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 142 KiB |
10
Links/templates/mirages-modify/manifest.json
Normal file
10
Links/templates/mirages-modify/manifest.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "mirages-modify",
|
||||
"title": "Material Design Cards 2",
|
||||
"version": "1.0.0",
|
||||
"description": "仿 Mirages 的 HTML 卡片网格输出,md3风格,含 CSS/JS 注入。",
|
||||
"inject": {
|
||||
"css": true,
|
||||
"js": true
|
||||
}
|
||||
}
|
||||
1
Links/templates/mirages-modify/script.js
Normal file
1
Links/templates/mirages-modify/script.js
Normal file
@@ -0,0 +1 @@
|
||||
(function(){function closest(el,sel){if(!el)return null;if(el.closest)return el.closest(sel);while(el){if(el.matches&&el.matches(sel))return el;el=el.parentNode}return null}document.addEventListener('click',function(e){var card=closest(e.target,'.lp-mirages-card');if(!card)return;createRipple(e,card);var url=card.getAttribute('data-href');if(url){setTimeout(function(){window.open(url,'_blank','noopener')},90)}});document.addEventListener('keydown',function(e){var card=closest(e.target,'.lp-mirages-card');if(!card)return;if(e.key==='Enter'||e.key===' '){e.preventDefault();var url=card.getAttribute('data-href');if(url)window.open(url,'_blank','noopener')}});function createRipple(event,card){var container=card.querySelector('.lp-mirages-ripple-container');if(!container)return;var circle=document.createElement('span');var diameter=Math.max(card.clientWidth,card.clientHeight);var radius=diameter/2;var rect=card.getBoundingClientRect();var x=(event.clientX?event.clientX:rect.left+rect.width/2)-rect.left;var y=(event.clientY?event.clientY:rect.top+rect.height/2)-rect.top;circle.style.width=circle.style.height=diameter+'px';circle.style.left=(x-radius)+'px';circle.style.top=(y-radius)+'px';circle.className='lp-mirages-ripple';var old=container.getElementsByClassName('lp-mirages-ripple')[0];if(old)old.remove();container.appendChild(circle);setTimeout(function(){circle.remove()},650)}})();
|
||||
1
Links/templates/mirages-modify/style.css
Normal file
1
Links/templates/mirages-modify/style.css
Normal file
@@ -0,0 +1 @@
|
||||
.lp-mirages-item{display:inline-block;vertical-align:top;float:none;width:100%;margin:0;padding:0 10px 18px 10px;box-sizing:border-box;list-style:none}@media (min-width:520px){.lp-mirages-item{width:49%}}@media (min-width:960px){.lp-mirages-item{width:32.33%}}@media (min-width:1400px){.lp-mirages-item{width:24.5%}}.lp-mirages-card{position:relative;overflow:hidden;box-sizing:border-box;padding:16px 14px 14px 14px;border-radius:14px;background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 24px rgba(0,0,0,.08);cursor:pointer;user-select:none;-webkit-user-select:none;transform:translateZ(0);transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;color:#111827;text-decoration:none;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center}.lp-mirages-card:hover{transform:translateY(-3px);background:#fbfdff;border-color:rgba(0,0,0,.1);box-shadow:0 14px 40px rgba(0,0,0,.12)}.lp-mirages-card:hover .lp-mirages-media{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.12)}.lp-mirages-card:active{transform:scale(.985)}.lp-mirages-media{width:92px;height:92px;border-radius:16px;overflow:hidden;background:#f3f4f6;box-shadow:0 6px 18px rgba(0,0,0,.08);transition:transform .18s ease,box-shadow .18s ease}.lp-mirages-avatar{width:100%;height:100%;max-width:100%!important;max-height:100%!important;display:block;object-fit:cover;border:0;margin:0!important;padding:0}.lp-mirages-title{margin-top:12px;font-size:15px;font-weight:700;line-height:1.3;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-mirages-desc{margin-top:8px;font-size:12px;line-height:1.6;color:#4b5563;width:100%;text-align:center;line-clamp:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}.lp-mirages-meta{margin-top:auto;width:100%;display:flex;justify-content:center;padding-top:12px}.lp-mirages-chip{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:rgba(0,0,0,.06);color:#374151;font-size:11px;font-weight:600}.lp-mirages-state-layer{position:absolute;inset:0;pointer-events:none;background:0 0;transition:background-color .18s ease}.lp-mirages-card:hover .lp-mirages-state-layer{background:rgba(0,0,0,.03)}.lp-mirages-ripple-container{position:absolute;inset:0;overflow:hidden;pointer-events:none}.lp-mirages-ripple{position:absolute;border-radius:50%;transform:scale(0);animation:lp-mirages-ripple .6s ease-out;background:rgba(0,0,0,.18)}@keyframes lp-mirages-ripple{to{transform:scale(4);opacity:0}}[data-theme=dark] .lp-mirages-card,body.dark .lp-mirages-card,body.dark-mode .lp-mirages-card,body.theme-dark .lp-mirages-card,html.dark .lp-mirages-card,html.dark-mode .lp-mirages-card,html.theme-dark .lp-mirages-card{background:#1f2228;border-color:rgba(255,255,255,.08);color:#e5e7eb;box-shadow:0 10px 28px rgba(0,0,0,.45)}[data-theme=dark] .lp-mirages-card:hover,body.dark .lp-mirages-card:hover,body.dark-mode .lp-mirages-card:hover,body.theme-dark .lp-mirages-card:hover,html.dark .lp-mirages-card:hover,html.dark-mode .lp-mirages-card:hover,html.theme-dark .lp-mirages-card:hover{background:#23262d;border-color:rgba(255,255,255,.14);box-shadow:0 16px 42px rgba(0,0,0,.55)}[data-theme=dark] .lp-mirages-desc,body.dark .lp-mirages-desc,body.dark-mode .lp-mirages-desc,body.theme-dark .lp-mirages-desc,html.dark .lp-mirages-desc,html.dark-mode .lp-mirages-desc,html.theme-dark .lp-mirages-desc{color:#cbd5e1}[data-theme=dark] .lp-mirages-chip,body.dark .lp-mirages-chip,body.dark-mode .lp-mirages-chip,body.theme-dark .lp-mirages-chip,html.dark .lp-mirages-chip,html.dark-mode .lp-mirages-chip,html.theme-dark .lp-mirages-chip{background:rgba(255,255,255,.1);color:#e5e7eb}[data-theme=dark] .lp-mirages-card:hover .lp-mirages-state-layer,body.dark .lp-mirages-card:hover .lp-mirages-state-layer,body.dark-mode .lp-mirages-card:hover .lp-mirages-state-layer,body.theme-dark .lp-mirages-card:hover .lp-mirages-state-layer,html.dark .lp-mirages-card:hover .lp-mirages-state-layer,html.dark-mode .lp-mirages-card:hover .lp-mirages-state-layer,html.theme-dark .lp-mirages-card:hover .lp-mirages-state-layer{background:rgba(255,255,255,.05)}.entry-content ul,.links-box,.post-content ul{display:flow-root}.entry-content ul:after,.links-box:after,.post-content ul:after,ul:after{content:"";display:table;clear:both}
|
||||
1
Links/templates/mirages-modify/template.html
Normal file
1
Links/templates/mirages-modify/template.html
Normal file
@@ -0,0 +1 @@
|
||||
<li class="lp-mirages-item"><div class="lp-mirages-card" role="link" tabindex="0" data-href="{url}" aria-label="{name}"><div class="lp-mirages-state-layer"></div><div class="lp-mirages-ripple-container"></div><div class="lp-mirages-media"><img class="lp-mirages-avatar" src="{image}" alt="{name}" loading="lazy"></div><div class="lp-mirages-title">{name}</div><div class="lp-mirages-desc">{description}</div><div class="lp-mirages-meta"><span class="lp-mirages-chip">{sort}</span></div></div></li>
|
||||
BIN
Links/templates/z-mirages/image.png
Normal file
BIN
Links/templates/z-mirages/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 256 KiB |
10
Links/templates/z-mirages/manifest.json
Normal file
10
Links/templates/z-mirages/manifest.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "z-mirages",
|
||||
"title": "(主题专用) Mirages",
|
||||
"version": "1.0.0",
|
||||
"description": "Mirages 主题用:Markdown 友链格式输出,无注入。",
|
||||
"inject": {
|
||||
"css": false,
|
||||
"js": false
|
||||
}
|
||||
}
|
||||
1
Links/templates/z-mirages/template.html
Normal file
1
Links/templates/z-mirages/template.html
Normal file
@@ -0,0 +1 @@
|
||||
[{name}]({url})+({image})
|
||||
Reference in New Issue
Block a user