feat: 完善MeNav浏览器扩展API规范实现
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<section class="category" id="{{name}}" data-menav-id="category-{{@index}}" data-menav-type="category">
|
||||
<h2><i class="{{icon}}"></i> {{name}}</h2>
|
||||
<div class="sites-grid" data-menav-category="{{name}}">
|
||||
<section class="category" id="{{name}}" data-type="category" data-name="{{name}}" data-icon="{{icon}}" data-container="categories">
|
||||
<h2 data-editable="category-name"><i class="{{icon}}"></i> {{name}}</h2>
|
||||
<div class="sites-grid" data-container="sites">
|
||||
{{#if sites.length}}
|
||||
{{#each sites}}
|
||||
{{> site-card}}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<div data-container="nav-items">
|
||||
{{#each this}}
|
||||
<div class="nav-item-wrapper">
|
||||
<a href="#" class="nav-item{{#if isActive}} active{{/if}}{{#if active}} active{{/if}}" data-page="{{id}}">
|
||||
<a href="#" class="nav-item{{#if isActive}} active{{/if}}{{#if active}} active{{/if}}" data-page="{{id}}" data-type="nav-item" data-id="{{id}}" data-name="{{name}}" data-icon="{{icon}}">
|
||||
<div class="icon-container">
|
||||
<i class="{{icon}}"></i>
|
||||
</div>
|
||||
<span class="nav-text">{{name}}</span>
|
||||
<span class="nav-text" data-editable="nav-item-name">{{name}}</span>
|
||||
{{#if submenu}}<i class="fas fa-chevron-down submenu-toggle"></i>{{/if}}
|
||||
</a>
|
||||
{{#if submenu}}
|
||||
@@ -18,4 +19,5 @@
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
</div>
|
||||
@@ -1,11 +1,11 @@
|
||||
<!-- 搜索结果组件 -->
|
||||
<div class="welcome-section">
|
||||
<h2>搜索结果</h2>
|
||||
<p class="subtitle">在所有页面中找到的匹配项</p>
|
||||
<h2 data-editable="page-title">搜索结果</h2>
|
||||
<p class="subtitle" data-editable="page-subtitle">在所有页面中找到的匹配项</p>
|
||||
</div>
|
||||
{{#each navigation}}
|
||||
<section class="category search-section" data-section="{{id}}" style="display: none;">
|
||||
<h2><i class="{{icon}}"></i> {{name}}匹配项</h2>
|
||||
<div class="sites-grid"></div>
|
||||
<section class="category search-section" data-section="{{id}}" data-type="category" data-name="{{name}}" data-icon="{{icon}}" style="display: none;">
|
||||
<h2 data-editable="category-name"><i class="{{icon}}"></i> {{name}}匹配项</h2>
|
||||
<div class="sites-grid" data-container="sites"></div>
|
||||
</section>
|
||||
{{/each}}
|
||||
@@ -2,9 +2,11 @@
|
||||
<a href="{{url}}" class="site-card{{#if style}} site-card-{{style}}{{/if}}"
|
||||
title="{{name}} - {{#if description}}{{description}}{{else}}{{url}}{{/if}}"
|
||||
{{#if external}}target="_blank" rel="noopener"{{/if}}
|
||||
data-menav-id="site-{{@index}}"
|
||||
data-menav-type="site"
|
||||
data-menav-category="{{../name}}">
|
||||
data-type="site"
|
||||
data-name="{{name}}"
|
||||
data-url="{{url}}"
|
||||
data-icon="{{#if icon}}{{icon}}{{else}}fas fa-link{{/if}}"
|
||||
data-description="{{#if description}}{{description}}{{else}}{{url}}{{/if}}">
|
||||
<i class="{{#if icon}}{{icon}}{{else}}fas fa-link{{/if}}"></i>
|
||||
<h3>{{#if name}}{{name}}{{else}}未命名站点{{/if}}</h3>
|
||||
<p>{{#if description}}{{description}}{{else}}{{url}}{{/if}}</p>
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
{{#if this}}
|
||||
<div data-container="social-links">
|
||||
{{#each this}}
|
||||
<a href="{{url}}" class="nav-item" target="_blank" rel="noopener">
|
||||
<a href="{{url}}" class="nav-item" target="_blank" rel="noopener" data-type="social-link" data-name="{{name}}" data-url="{{url}}" data-icon="{{icon}}">
|
||||
<div class="icon-container">
|
||||
<i class="{{icon}}"></i>
|
||||
</div>
|
||||
<span class="nav-text">{{name}}</span>
|
||||
<span class="nav-text" data-editable="social-link-name">{{name}}</span>
|
||||
<i class="fas fa-external-link-alt external-icon"></i>
|
||||
</a>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
@@ -3,6 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="menav-version" content="{{_meta.version}}">
|
||||
<title>{{site.title}}</title>
|
||||
<link rel="icon" href="./favicon.ico" type="image/x-icon">
|
||||
<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon">
|
||||
@@ -53,7 +54,7 @@
|
||||
<!-- 左侧导航 -->
|
||||
<nav class="sidebar">
|
||||
<div class="logo">
|
||||
<h1>{{site.logo_text}}</h1>
|
||||
<h1 data-editable="logo-text">{{site.logo_text}}</h1>
|
||||
<button class="sidebar-toggle" aria-label="收起/展开侧边栏">
|
||||
<i class="fas fa-chevron-left toggle-icon"></i>
|
||||
</button>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="welcome-section">
|
||||
<h2>{{title}}</h2>
|
||||
<p class="subtitle">{{subtitle}}</p>
|
||||
<h2 data-editable="page-title">{{title}}</h2>
|
||||
<p class="subtitle" data-editable="page-subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
{{#each categories}}
|
||||
{{> category}}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="welcome-section">
|
||||
<h2>{{title}}</h2>
|
||||
<p class="subtitle">{{subtitle}}</p>
|
||||
<h2 data-editable="page-title">{{title}}</h2>
|
||||
<p class="subtitle" data-editable="page-subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
{{#each categories}}
|
||||
{{> category}}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="welcome-section">
|
||||
<h2>{{title}}</h2>
|
||||
<p class="subtitle">{{subtitle}}</p>
|
||||
<h2 data-editable="page-title">{{title}}</h2>
|
||||
<p class="subtitle" data-editable="page-subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
{{#each categories}}
|
||||
{{> category}}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="welcome-section">
|
||||
<h2>{{profile.title}}</h2>
|
||||
<h3>{{profile.subtitle}}</h3>
|
||||
<p class="subtitle">{{profile.description}}</p>
|
||||
<h2 data-editable="profile-title">{{profile.title}}</h2>
|
||||
<h3 data-editable="profile-subtitle">{{profile.subtitle}}</h3>
|
||||
<p class="subtitle" data-editable="profile-description">{{profile.description}}</p>
|
||||
</div>
|
||||
{{#each categories}}
|
||||
{{> category}}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="page" id="{{pageId}}">
|
||||
<div class="welcome-section">
|
||||
<h2>{{title}}</h2>
|
||||
<p class="subtitle">{{subtitle}}</p>
|
||||
<h2 data-editable="page-title">{{title}}</h2>
|
||||
<p class="subtitle" data-editable="page-subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
{{#each categories}}
|
||||
{{> category}}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="welcome-section">
|
||||
<h2>{{title}}</h2>
|
||||
<p class="subtitle">{{subtitle}}</p>
|
||||
<h2 data-editable="page-title">{{title}}</h2>
|
||||
<p class="subtitle" data-editable="page-subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
{{#each categories}}
|
||||
{{> category}}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<!-- 搜索结果页 -->
|
||||
<div class="welcome-section">
|
||||
<h2>搜索结果</h2>
|
||||
<p class="subtitle">在所有页面中找到的匹配项</p>
|
||||
<h2 data-editable="page-title">搜索结果</h2>
|
||||
<p class="subtitle" data-editable="page-subtitle">在所有页面中找到的匹配项</p>
|
||||
</div>
|
||||
{{#each navigation}}
|
||||
<section class="category search-section" data-section="{{id}}" style="display: none;">
|
||||
<h2><i class="{{icon}}"></i> {{name}}匹配项</h2>
|
||||
<div class="sites-grid"></div>
|
||||
<section class="category search-section" data-section="{{id}}" data-type="category" data-name="{{name}}" data-icon="{{icon}}" style="display: none;">
|
||||
<h2 data-editable="category-name"><i class="{{icon}}"></i> {{name}}匹配项</h2>
|
||||
<div class="sites-grid" data-container="sites"></div>
|
||||
</section>
|
||||
{{/each}}
|
||||
Reference in New Issue
Block a user