hexo-theme-lnote 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +123 -0
- package/_config.yml +19 -0
- package/config/links.yml +63 -0
- package/config/svg.yml +34 -0
- package/languages/de.yml +69 -0
- package/languages/en.yml +69 -0
- package/languages/eo.yml +69 -0
- package/languages/es.yml +69 -0
- package/languages/ja.yml +69 -0
- package/languages/ru.yml +69 -0
- package/languages/zh-CN.yml +69 -0
- package/languages/zh-HK.yml +69 -0
- package/languages/zh-TW.yml +69 -0
- package/layout/404.ejs +8 -0
- package/layout/_partials/archive-list.ejs +17 -0
- package/layout/_partials/category-chains.ejs +19 -0
- package/layout/_partials/category-list.ejs +62 -0
- package/layout/_partials/comments/changyan.ejs +11 -0
- package/layout/_partials/comments/cusdis.ejs +25 -0
- package/layout/_partials/comments/discuss.ejs +17 -0
- package/layout/_partials/comments/disqus.ejs +32 -0
- package/layout/_partials/comments/giscus.ejs +36 -0
- package/layout/_partials/comments/gitalk.ejs +19 -0
- package/layout/_partials/comments/livere.ejs +10 -0
- package/layout/_partials/comments/remark42.ejs +29 -0
- package/layout/_partials/comments/twikoo.ejs +25 -0
- package/layout/_partials/comments/utterances.ejs +27 -0
- package/layout/_partials/comments/valine.ejs +23 -0
- package/layout/_partials/comments/waline.ejs +24 -0
- package/layout/_partials/comments.ejs +8 -0
- package/layout/_partials/css.ejs +10 -0
- package/layout/_partials/footer/beian.ejs +33 -0
- package/layout/_partials/footer/statistics.ejs +39 -0
- package/layout/_partials/footer.ejs +7 -0
- package/layout/_partials/head.ejs +46 -0
- package/layout/_partials/header/banner.ejs +24 -0
- package/layout/_partials/header/navigation.ejs +57 -0
- package/layout/_partials/header.ejs +4 -0
- package/layout/_partials/markdown-plugins.ejs +24 -0
- package/layout/_partials/paginator.ejs +14 -0
- package/layout/_partials/plugins/analytics.ejs +75 -0
- package/layout/_partials/plugins/anchorjs.ejs +39 -0
- package/layout/_partials/plugins/code-widget.ejs +7 -0
- package/layout/_partials/plugins/encrypt.ejs +18 -0
- package/layout/_partials/plugins/fancybox.ejs +11 -0
- package/layout/_partials/plugins/highlight.ejs +13 -0
- package/layout/_partials/plugins/math.ejs +51 -0
- package/layout/_partials/plugins/mermaid.ejs +4 -0
- package/layout/_partials/plugins/nprogress.ejs +8 -0
- package/layout/_partials/plugins/typed.ejs +20 -0
- package/layout/_partials/post/category-bar.ejs +18 -0
- package/layout/_partials/post/copyright.ejs +50 -0
- package/layout/_partials/post/css.ejs +4 -0
- package/layout/_partials/post/meta-bottom.ejs +16 -0
- package/layout/_partials/post/meta-top.ejs +28 -0
- package/layout/_partials/post/scripts.ejs +8 -0
- package/layout/_partials/post/sidebar-left.ejs +1 -0
- package/layout/_partials/post/sidebar-right.ejs +3 -0
- package/layout/_partials/post/toc.ejs +7 -0
- package/layout/_partials/scripts.ejs +10 -0
- package/layout/_partials/search.ejs +19 -0
- package/layout/about.ejs +22 -0
- package/layout/archive.ejs +10 -0
- package/layout/categories.ejs +20 -0
- package/layout/category.ejs +12 -0
- package/layout/index.ejs +61 -0
- package/layout/layout.ejs +60 -0
- package/layout/links.ejs +31 -0
- package/layout/page.ejs +15 -0
- package/layout/post.ejs +77 -0
- package/layout/tag.ejs +12 -0
- package/layout/tags.ejs +26 -0
- package/package.json +70 -0
- package/scripts/index.js +1 -0
- package/source/css/_functions/base.styl +8 -0
- package/source/css/_mixins/base.styl +23 -0
- package/source/css/_pages/_about/about.styl +32 -0
- package/source/css/_pages/_archive/archive.styl +32 -0
- package/source/css/_pages/_base/_widget/anchorjs.styl +8 -0
- package/source/css/_pages/_base/_widget/banner.styl +29 -0
- package/source/css/_pages/_base/_widget/board.styl +11 -0
- package/source/css/_pages/_base/_widget/code-widget.styl +36 -0
- package/source/css/_pages/_base/_widget/copyright.styl +90 -0
- package/source/css/_pages/_base/_widget/footer.styl +65 -0
- package/source/css/_pages/_base/_widget/footnote.styl +25 -0
- package/source/css/_pages/_base/_widget/header.styl +173 -0
- package/source/css/_pages/_base/_widget/modal.styl +100 -0
- package/source/css/_pages/_base/_widget/navlink.styl +16 -0
- package/source/css/_pages/_base/_widget/ngrogress.styl +12 -0
- package/source/css/_pages/_base/_widget/noscript.styl +12 -0
- package/source/css/_pages/_base/_widget/pagination.styl +23 -0
- package/source/css/_pages/_base/_widget/qrcode.styl +17 -0
- package/source/css/_pages/_base/_widget/scroll-btn.styl +48 -0
- package/source/css/_pages/_base/_widget/text.styl +19 -0
- package/source/css/_pages/_base/_widget/toc.styl +75 -0
- package/source/css/_pages/_base/base.styl +68 -0
- package/source/css/_pages/_base/color-schema.styl +75 -0
- package/source/css/_pages/_base/inline.styl +51 -0
- package/source/css/_pages/_base/keyframes.styl +31 -0
- package/source/css/_pages/_base/print.styl +38 -0
- package/source/css/_pages/_category/category-bar.styl +58 -0
- package/source/css/_pages/_category/category-chain.styl +6 -0
- package/source/css/_pages/_category/category-list.styl +62 -0
- package/source/css/_pages/_index/index.styl +75 -0
- package/source/css/_pages/_links/links.styl +79 -0
- package/source/css/_pages/_post/comment.styl +27 -0
- package/source/css/_pages/_post/highlight.styl +75 -0
- package/source/css/_pages/_post/markdown.styl +96 -0
- package/source/css/_pages/_post/post-page.styl +179 -0
- package/source/css/_pages/_post/post-tag.styl +29 -0
- package/source/css/_pages/_tag/tag.styl +9 -0
- package/source/css/_pages/_tag/tags.styl +9 -0
- package/source/css/_pages/pages.styl +8 -0
- package/source/css/_variables/base.styl +72 -0
- package/source/css/gitalk.css +546 -0
- package/source/css/main.styl +19 -0
- package/source/img/avatar.png +0 -0
- package/source/img/default.jpg +0 -0
- package/source/img/default1.jpg +0 -0
- package/source/img/default2.jpg +0 -0
- package/source/img/default3.jpg +0 -0
- package/source/img/default4.jpg +0 -0
- package/source/img/default5.jpg +0 -0
- package/source/img/default6.jpg +0 -0
- package/source/img/default7.jpg +0 -0
- package/source/img/default8.jpg +0 -0
- package/source/img/docs.png +0 -0
- package/source/img/loading.gif +0 -0
- package/source/img/police_beian.png +0 -0
- package/source/js/color-schema.js +279 -0
- package/source/js/events.js +72 -0
- package/source/js/img-lazyload.js +10 -0
- package/source/js/local-search.js +70 -0
- package/source/js/post/copying-code.js +34 -0
- package/source/js/post/enable.js +8 -0
- package/source/js/post/img-swipe-bf.js +47 -0
- package/source/js/post/img-swipe.js +35 -0
- package/source/js/post/mermaiding.js +13 -0
- package/source/js/post/play-imgs.js +59 -0
- package/source/js/post/toc.js +24 -0
- package/source/js/post/view-imgs.js +27 -0
- package/source/js/utils.js +245 -0
- package/source/xml/local-search.xml +45 -0
- package/templates/footer.ejs +13 -0
- package/templates/noun.vue +18 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
<div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="modalSearchLabel"
|
2
|
+
aria-hidden="true">
|
3
|
+
<div class="modal-dialog modal-dialog-scrollable modal-lg" role="document">
|
4
|
+
<div class="modal-content">
|
5
|
+
<div class="modal-header text-center">
|
6
|
+
<h4 class="modal-title w-100 font-weight-bold"><%= __('search.title') %></h4>
|
7
|
+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close">
|
8
|
+
</button>
|
9
|
+
</div>
|
10
|
+
<div class="modal-body mx-3">
|
11
|
+
<div class="md-form mb-5">
|
12
|
+
<input type="text" id="modalSearchInput" class="form-control validate">
|
13
|
+
<label data-error="x" data-success="v" for="modalSearchInput"><%= __('search.keyword') %></label>
|
14
|
+
</div>
|
15
|
+
<div class="list-group" id="modalSearchResult"></div>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</div>
|
package/layout/about.ejs
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
<%
|
2
|
+
page.layout = "about"
|
3
|
+
page.title = __('about.title')
|
4
|
+
page.subtitle = __('about.subtitle')
|
5
|
+
page.banner_img = page.banner_img || theme.banner_img
|
6
|
+
page.banner_img_height = 60
|
7
|
+
page.banner_mask_alpha = 0.3
|
8
|
+
%>
|
9
|
+
|
10
|
+
<div class="text-center">
|
11
|
+
<div class="about-info">
|
12
|
+
<div class="about-name"><%- config.author %></div>
|
13
|
+
<div class="about-intro"><%- config.description %></div>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<article class="about-content page-content mt-5">
|
18
|
+
<div class="markdown-body">
|
19
|
+
<%- page.content %>
|
20
|
+
</div>
|
21
|
+
</article>
|
22
|
+
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<%
|
2
|
+
page.layout = "archive"
|
3
|
+
page.title = __('archive.title')
|
4
|
+
page.subtitle = __('archive.subtitle')
|
5
|
+
page.banner_img = theme.banner_img
|
6
|
+
page.banner_img_height = 60
|
7
|
+
page.banner_mask_alpha = 0.3
|
8
|
+
%>
|
9
|
+
|
10
|
+
<%- partial('_partials/archive-list.ejs', { params: { key: page.layout, postTotal: site.posts.length } }) %>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<%
|
2
|
+
page.layout = 'categories'
|
3
|
+
page.title = __('category.title')
|
4
|
+
page.subtitle = __('category.subtitle')
|
5
|
+
page.banner_img = theme.banner_img
|
6
|
+
page.banner_img_height = 60
|
7
|
+
page.banner_mask_alpha = 0.3
|
8
|
+
// 排序,前面带减号是倒序,不带减号是正序
|
9
|
+
var orderBy = '-length' || 'name'
|
10
|
+
var curCats = site.categories.find({ parent: { $exists: false } }).sort(orderBy).filter(cat => cat.length)
|
11
|
+
%>
|
12
|
+
|
13
|
+
<%- partial('_partials/category-list', {
|
14
|
+
curCats: curCats,
|
15
|
+
params: {
|
16
|
+
orderBy: orderBy,
|
17
|
+
postLimit : 10,
|
18
|
+
postOrderBy: orderBy || config.index_generator.order_by
|
19
|
+
}
|
20
|
+
}) %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%
|
2
|
+
page.layout = "category"
|
3
|
+
page.title = [__('category.title'), page.category].join(" - ")
|
4
|
+
page.subtitle = [__('category.subtitle'), page.category].join(" - ")
|
5
|
+
page.banner_img = theme.banner_img
|
6
|
+
page.banner_img_height = 60
|
7
|
+
page.banner_mask_alpha = 0.3
|
8
|
+
|
9
|
+
var cat = site.categories.find({name: page.category}).filter(cat => cat.length).data[0]
|
10
|
+
%>
|
11
|
+
|
12
|
+
<%- partial('_partials/archive-list.ejs', { params: { key: page.layout, postTotal: cat ? cat.posts.length : 0 } }) %>
|
package/layout/index.ejs
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
<%
|
2
|
+
page.subtitle = config.subtitle
|
3
|
+
page.banner_img = theme.banner_img
|
4
|
+
page.banner_img_height = 100
|
5
|
+
page.banner_mask_alpha = 0.3
|
6
|
+
%>
|
7
|
+
|
8
|
+
<% page.posts.each(function (post) { %>
|
9
|
+
<div class="row mx-auto index-card">
|
10
|
+
<% var post_url = url_for(post.path), index_img = post.index_img %>
|
11
|
+
<% if (index_img) { %>
|
12
|
+
<div class="col-12 col-md-4 m-auto index-img">
|
13
|
+
<a href="<%= post_url %>" target="_self">
|
14
|
+
<img src="<%= url_for(index_img) %>" alt="<%= post.title %>">
|
15
|
+
</a>
|
16
|
+
</div>
|
17
|
+
<% } %>
|
18
|
+
<article class="col-12 col-md-<%= index_img ? '8' : '12' %> mx-auto index-info">
|
19
|
+
<h2 class="index-header">
|
20
|
+
<% if (post.sticky > 0) { %>
|
21
|
+
<i class="index-pin iconfont icon-top" title="Pin on top"></i>
|
22
|
+
<% } %>
|
23
|
+
<a href="<%= post_url %>" target="_self">
|
24
|
+
<%= post.title %>
|
25
|
+
</a>
|
26
|
+
</h2>
|
27
|
+
|
28
|
+
<% var excerpt = post.description || post.excerpt || post.content %>
|
29
|
+
<a class="index-excerpt <%= index_img ? '' : 'index-excerpt__noimg' %>" href="<%= post_url %>" target="_self">
|
30
|
+
<div>
|
31
|
+
<%- strip_html(excerpt).substring(0, 200).trim().replace(/\n/g, ' ') %>
|
32
|
+
</div>
|
33
|
+
</a>
|
34
|
+
|
35
|
+
<div class="index-btm post-metas">
|
36
|
+
<div class="post-meta mr-3">
|
37
|
+
<i class="iconfont icon-date"></i>
|
38
|
+
<time datetime="<%= full_date(post.date, 'YYYY-MM-DD HH:mm') %>" pubdate>
|
39
|
+
<%- date(post.date, config.date_format) %>
|
40
|
+
</time>
|
41
|
+
</div>
|
42
|
+
<% if (post.categories.length > 0) { %>
|
43
|
+
<div class="post-meta mr-3 d-flex align-items-center">
|
44
|
+
<i class="iconfont icon-category"></i>
|
45
|
+
<%- partial('_partials/category-chains', { categories: post.categories, limit: 1 }) %>
|
46
|
+
</div>
|
47
|
+
<% } %>
|
48
|
+
<% if (post.tags.length > 0) { %>
|
49
|
+
<div class="post-meta">
|
50
|
+
<i class="iconfont icon-tags"></i>
|
51
|
+
<% post.tags.each(function(tag){ %>
|
52
|
+
<a href="<%= url_for(tag.path) %>">#<%- tag.name %></a>
|
53
|
+
<% }) %>
|
54
|
+
</div>
|
55
|
+
<% } %>
|
56
|
+
</div>
|
57
|
+
</article>
|
58
|
+
</div>
|
59
|
+
<% }) %>
|
60
|
+
|
61
|
+
<%- partial('_partials/paginator') %>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
<%
|
2
|
+
var banner_img_height = 100
|
3
|
+
var colorSchema = theme.dark_mode
|
4
|
+
%>
|
5
|
+
|
6
|
+
<!DOCTYPE html>
|
7
|
+
<html lang="<%= config.language %>" <%= colorSchema ? `data-default-color-scheme=${colorSchema}` : '' %>>
|
8
|
+
|
9
|
+
<%- partial('_partials/head.ejs') %>
|
10
|
+
|
11
|
+
<body>
|
12
|
+
<%- inject_point('bodyBegin') %>
|
13
|
+
|
14
|
+
<header>
|
15
|
+
<%- inject_point('header') %>
|
16
|
+
</header>
|
17
|
+
|
18
|
+
<main>
|
19
|
+
<% if(is_post() || page.layout === '404') { %>
|
20
|
+
<%- body %>
|
21
|
+
<% } else { %>
|
22
|
+
<div class="container nopadding-x-md">
|
23
|
+
<div id="board"
|
24
|
+
<%- banner_img_height >= 100 ? 'style="margin-top: 0"' : '' %>>
|
25
|
+
<% if(page.layout === 'about') { %>
|
26
|
+
<div class="about-avatar">
|
27
|
+
<img src="<%= url_for(theme.avatar) %>" alt="avatar">
|
28
|
+
</div>
|
29
|
+
<% } %>
|
30
|
+
<div class="container">
|
31
|
+
<div class="row">
|
32
|
+
<div class="col-12 col-md-10 m-auto">
|
33
|
+
<%- body %>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
<% } %>
|
40
|
+
|
41
|
+
<a id="scroll-top-button" aria-label="TOP" href="#" role="button">
|
42
|
+
<i class="iconfont icon-arrowup" aria-hidden="true"></i>
|
43
|
+
</a>
|
44
|
+
|
45
|
+
<%- partial('_partials/search.ejs') %>
|
46
|
+
|
47
|
+
</main>
|
48
|
+
|
49
|
+
<%- write_info('footer') %>
|
50
|
+
<!-- Scripts -->
|
51
|
+
<%- partial('_partials/scripts.ejs') %>
|
52
|
+
|
53
|
+
<%- my_post_js(page) %>
|
54
|
+
<%- inject_point('bodyEnd') %>
|
55
|
+
|
56
|
+
<noscript>
|
57
|
+
<div class="noscript-warning"><%- __('noscript_warning') %></div>
|
58
|
+
</noscript>
|
59
|
+
</body>
|
60
|
+
</html>
|
package/layout/links.ejs
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
<%
|
2
|
+
page.layout = "links"
|
3
|
+
page.title = __('links.title')
|
4
|
+
page.subtitle = __('links.subtitle')
|
5
|
+
page.banner_img = theme.banner_img
|
6
|
+
page.banner_img_height = 60
|
7
|
+
page.banner_mask_alpha = 0.3
|
8
|
+
page.comment = 'disqus'
|
9
|
+
%>
|
10
|
+
|
11
|
+
<div class="row links">
|
12
|
+
<% for(const each of theme.links || []) { %>
|
13
|
+
<% if (!each.title || !each.link) continue %>
|
14
|
+
<div class="card col-lg-4 col-md-6 col-sm-12">
|
15
|
+
<a href="<%= url_for(each.link) %>" class="card-body hover-with-bg" target="_blank" rel="noopener">
|
16
|
+
<div class="card-content">
|
17
|
+
<% if (each.avatar || each.image) { %>
|
18
|
+
<div class="link-avatar my-auto">
|
19
|
+
<img src="<%= url_for(each.avatar || each.image) %>" alt="<%= each.title %>"
|
20
|
+
onerror="this.onerror=null; this.src=this.srcset='<%= url_for(theme.links.onerror_avatar) %>'"/>
|
21
|
+
</div>
|
22
|
+
<% } %>
|
23
|
+
<div class="link-text">
|
24
|
+
<div class="link-title"><%- each.title %></div>
|
25
|
+
<div class="link-intro"><%- each.intro || '' %></div>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
</a>
|
29
|
+
</div>
|
30
|
+
<% } %>
|
31
|
+
</div>
|
package/layout/page.ejs
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
<%
|
2
|
+
var layout = page.layout
|
3
|
+
page.title = page.title || __(`${ layout }.title`)
|
4
|
+
page.subtitle = page.subtitle || page.title || __(`${ layout }.subtitle`)
|
5
|
+
page.banner_img = page.banner_img || theme.banner_img
|
6
|
+
page.banner_img_height = 60
|
7
|
+
page.banner_mask_alpha = 0.3
|
8
|
+
%>
|
9
|
+
|
10
|
+
<article class="page-content">
|
11
|
+
<%- page.content %>
|
12
|
+
|
13
|
+
<%- inject_point('pageComments') %>
|
14
|
+
</article>
|
15
|
+
|
package/layout/post.ejs
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
<%
|
2
|
+
page.banner_img = page.banner_img || theme.banner_img
|
3
|
+
page.banner_img_height = 60
|
4
|
+
page.banner_mask_alpha = 0.3
|
5
|
+
%>
|
6
|
+
|
7
|
+
<div class="container-fluid nopadding-x">
|
8
|
+
<div class="row nomargin-x">
|
9
|
+
<div class="side-col d-none d-lg-block col-lg-2">
|
10
|
+
<%- inject_point('postLeft') %>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
<div class="col-lg-8 nopadding-x-md">
|
14
|
+
<div class="container nopadding-x-md" id="board-ctn">
|
15
|
+
<div id="board">
|
16
|
+
<article class="post-content mx-auto">
|
17
|
+
<h1 id="seo-header"><%= page.subtitle || page.title %></h1>
|
18
|
+
<p class="alert alert-info">
|
19
|
+
<%- __('post.updated', date(page.updated, 'LLLL')) %>
|
20
|
+
</p>
|
21
|
+
<% if (page.encrypt === true) { %>
|
22
|
+
<%- inject_point('postMarkdownBegin') %>
|
23
|
+
<%- page.content %>
|
24
|
+
<%- partial('_partials/plugins/encrypt') %>
|
25
|
+
<%- inject_point('postMarkdownEnd') %>
|
26
|
+
<% } else { %>
|
27
|
+
<div class="markdown-body">
|
28
|
+
<%- my_post_main('postMainBegin', page) %>
|
29
|
+
<%- inject_point('postMarkdownBegin') %>
|
30
|
+
<%- page.content %>
|
31
|
+
<%- inject_point('postMarkdownEnd') %>
|
32
|
+
<%- my_post_main('postMainEnd', page) %>
|
33
|
+
</div>
|
34
|
+
<% } %>
|
35
|
+
<hr/>
|
36
|
+
<div>
|
37
|
+
<%- inject_point('postMetaBottom') %>
|
38
|
+
|
39
|
+
<%- inject_point('postCopyright') %>
|
40
|
+
|
41
|
+
<% if (!page.hide) { %>
|
42
|
+
<div class="post-prevnext my-3">
|
43
|
+
<article class="post-prev col-6">
|
44
|
+
<% const prev = prev_post(page) %>
|
45
|
+
<% if (prev) { %>
|
46
|
+
<a href="<%= url_for(prev.path) %>" title="<%= prev.title %>">
|
47
|
+
<i class="iconfont icon-arrowleft"></i>
|
48
|
+
<span class="hidden-mobile"><%= prev.title %></span>
|
49
|
+
<span class="visible-mobile"><%- __('post.prev_post') %></span>
|
50
|
+
</a>
|
51
|
+
<% } %>
|
52
|
+
</article>
|
53
|
+
<article class="post-next col-6">
|
54
|
+
<% const next = next_post(page) %>
|
55
|
+
<% if (next) { %>
|
56
|
+
<a href="<%= url_for(next.path) %>" title="<%= next.title %>">
|
57
|
+
<span class="hidden-mobile"><%= next.title %></span>
|
58
|
+
<span class="visible-mobile"><%- __('post.next_post') %></span>
|
59
|
+
<i class="iconfont icon-arrowright"></i>
|
60
|
+
</a>
|
61
|
+
<% } %>
|
62
|
+
</article>
|
63
|
+
</div>
|
64
|
+
<% } %>
|
65
|
+
</div>
|
66
|
+
|
67
|
+
<%- inject_point('postComments') %>
|
68
|
+
</article>
|
69
|
+
</div>
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
<div class="side-col d-none d-lg-block col-lg-2">
|
74
|
+
<%- inject_point('postRight') %>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
</div>
|
package/layout/tag.ejs
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
<%
|
2
|
+
page.layout = "tag"
|
3
|
+
page.title = [__('tag.title'), page.tag].join(" - ")
|
4
|
+
page.subtitle = [__('tag.subtitle'), page.tag].join(" - ")
|
5
|
+
page.banner_img = theme.banner_img
|
6
|
+
page.banner_img_height = 80
|
7
|
+
page.banner_mask_alpha = 0.3
|
8
|
+
|
9
|
+
var tag = site.tags.find({name: page.tag}).filter(tag => tag.length).data[0]
|
10
|
+
%>
|
11
|
+
|
12
|
+
<%- partial('_partials/archive-list.ejs', { params: { key: page.layout, postTotal: tag ? tag.posts.length : 0 } }) %>
|
package/layout/tags.ejs
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
<%
|
2
|
+
page.layout = "tags"
|
3
|
+
page.title = __('tag.title')
|
4
|
+
page.subtitle = __('tag.subtitle')
|
5
|
+
page.banner_img = theme.banner_img
|
6
|
+
page.banner_img_height = 80
|
7
|
+
page.banner_mask_alpha = 0.3
|
8
|
+
|
9
|
+
var min_font = 18
|
10
|
+
var max_font = 42
|
11
|
+
var unit = 'px'
|
12
|
+
var start_color = '#BBBBEE'
|
13
|
+
var end_color = '#337ab7'
|
14
|
+
%>
|
15
|
+
|
16
|
+
<div class="text-center tagcloud">
|
17
|
+
<%- tagcloud({
|
18
|
+
min_font: min_font,
|
19
|
+
max_font: max_font,
|
20
|
+
amount: 999,
|
21
|
+
unit: unit,
|
22
|
+
color: true,
|
23
|
+
start_color,
|
24
|
+
end_color
|
25
|
+
}) %>
|
26
|
+
</div>
|
package/package.json
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
{
|
2
|
+
"name": "hexo-theme-lnote",
|
3
|
+
"version": "1.2.3",
|
4
|
+
"description": "An elegant Material-Design theme for Hexo.",
|
5
|
+
"main": "package.json",
|
6
|
+
"files": [
|
7
|
+
"languages",
|
8
|
+
"layout",
|
9
|
+
"scripts/*.js",
|
10
|
+
"config",
|
11
|
+
"source",
|
12
|
+
"_config.yml",
|
13
|
+
"templates"
|
14
|
+
],
|
15
|
+
"scripts": {
|
16
|
+
"test": "jest --coverage --silent --watchAll=false",
|
17
|
+
"unit": "jest --watchAll",
|
18
|
+
"unit-spec": "jest --watchAll --verbose ./src/utils/__test__/vueTsr.test.ts",
|
19
|
+
"dev": "npx webpack --watch --config webpack.dev.js",
|
20
|
+
"build": "npx webpack --config webpack.config.js"
|
21
|
+
},
|
22
|
+
"keywords": [
|
23
|
+
"hexo",
|
24
|
+
"theme",
|
25
|
+
"lnote",
|
26
|
+
"material"
|
27
|
+
],
|
28
|
+
"author": "littlefatcat163",
|
29
|
+
"engines": {
|
30
|
+
"node": ">=18.0.0"
|
31
|
+
},
|
32
|
+
"peerDependencies": {
|
33
|
+
"nunjucks": "^3.0.0"
|
34
|
+
},
|
35
|
+
"devDependencies": {
|
36
|
+
"@types/bluebird": "^3.5.41",
|
37
|
+
"@types/bunyan": "^1.8.10",
|
38
|
+
"@types/connect": "^3.4.37",
|
39
|
+
"@types/css": "^0.0.35",
|
40
|
+
"@types/hexo-util": "^0.6.7",
|
41
|
+
"@types/jest": "^29.5.6",
|
42
|
+
"@types/minimist": "^1.2.4",
|
43
|
+
"@types/node": "^20.8.9",
|
44
|
+
"@types/nunjucks": "^3.2.6",
|
45
|
+
"@types/underscore": "^1.11.12",
|
46
|
+
"clean-webpack-plugin": "^4.0.0",
|
47
|
+
"compare-versions": "^6.1.0",
|
48
|
+
"css": "^3.0.0",
|
49
|
+
"javascript-obfuscator": "^4.1.0",
|
50
|
+
"jest": "^29.7.0",
|
51
|
+
"jest-transform-yaml": "^1.1.2",
|
52
|
+
"lnote-esm": "^1.0.2",
|
53
|
+
"moment": "^2.29.4",
|
54
|
+
"ts-jest": "^29.1.1",
|
55
|
+
"ts-loader": "^9.5.0",
|
56
|
+
"ts-node": "^10.9.1",
|
57
|
+
"tslib": "^2.6.2",
|
58
|
+
"typescript": "^5.2.2",
|
59
|
+
"webpack": "^5.89.0",
|
60
|
+
"webpack-cli": "^5.1.4",
|
61
|
+
"webpack-merge": "^5.10.0",
|
62
|
+
"webpack-obfuscator": "^3.5.1",
|
63
|
+
"yaml": "^2.3.3"
|
64
|
+
},
|
65
|
+
"dependencies": {
|
66
|
+
"lodash": "^4.17.21",
|
67
|
+
"systeminformation": "^5.21.15",
|
68
|
+
"vue": "^3.3.7"
|
69
|
+
}
|
70
|
+
}
|