hexo-theme-lnote 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. package/README.md +123 -0
  2. package/_config.yml +19 -0
  3. package/config/links.yml +63 -0
  4. package/config/svg.yml +34 -0
  5. package/languages/de.yml +69 -0
  6. package/languages/en.yml +69 -0
  7. package/languages/eo.yml +69 -0
  8. package/languages/es.yml +69 -0
  9. package/languages/ja.yml +69 -0
  10. package/languages/ru.yml +69 -0
  11. package/languages/zh-CN.yml +69 -0
  12. package/languages/zh-HK.yml +69 -0
  13. package/languages/zh-TW.yml +69 -0
  14. package/layout/404.ejs +8 -0
  15. package/layout/_partials/archive-list.ejs +17 -0
  16. package/layout/_partials/category-chains.ejs +19 -0
  17. package/layout/_partials/category-list.ejs +62 -0
  18. package/layout/_partials/comments/changyan.ejs +11 -0
  19. package/layout/_partials/comments/cusdis.ejs +25 -0
  20. package/layout/_partials/comments/discuss.ejs +17 -0
  21. package/layout/_partials/comments/disqus.ejs +32 -0
  22. package/layout/_partials/comments/giscus.ejs +36 -0
  23. package/layout/_partials/comments/gitalk.ejs +19 -0
  24. package/layout/_partials/comments/livere.ejs +10 -0
  25. package/layout/_partials/comments/remark42.ejs +29 -0
  26. package/layout/_partials/comments/twikoo.ejs +25 -0
  27. package/layout/_partials/comments/utterances.ejs +27 -0
  28. package/layout/_partials/comments/valine.ejs +23 -0
  29. package/layout/_partials/comments/waline.ejs +24 -0
  30. package/layout/_partials/comments.ejs +8 -0
  31. package/layout/_partials/css.ejs +10 -0
  32. package/layout/_partials/footer/beian.ejs +33 -0
  33. package/layout/_partials/footer/statistics.ejs +39 -0
  34. package/layout/_partials/footer.ejs +7 -0
  35. package/layout/_partials/head.ejs +46 -0
  36. package/layout/_partials/header/banner.ejs +24 -0
  37. package/layout/_partials/header/navigation.ejs +57 -0
  38. package/layout/_partials/header.ejs +4 -0
  39. package/layout/_partials/markdown-plugins.ejs +24 -0
  40. package/layout/_partials/paginator.ejs +14 -0
  41. package/layout/_partials/plugins/analytics.ejs +75 -0
  42. package/layout/_partials/plugins/anchorjs.ejs +39 -0
  43. package/layout/_partials/plugins/code-widget.ejs +7 -0
  44. package/layout/_partials/plugins/encrypt.ejs +18 -0
  45. package/layout/_partials/plugins/fancybox.ejs +11 -0
  46. package/layout/_partials/plugins/highlight.ejs +13 -0
  47. package/layout/_partials/plugins/math.ejs +51 -0
  48. package/layout/_partials/plugins/mermaid.ejs +4 -0
  49. package/layout/_partials/plugins/nprogress.ejs +8 -0
  50. package/layout/_partials/plugins/typed.ejs +20 -0
  51. package/layout/_partials/post/category-bar.ejs +18 -0
  52. package/layout/_partials/post/copyright.ejs +50 -0
  53. package/layout/_partials/post/css.ejs +4 -0
  54. package/layout/_partials/post/meta-bottom.ejs +16 -0
  55. package/layout/_partials/post/meta-top.ejs +28 -0
  56. package/layout/_partials/post/scripts.ejs +8 -0
  57. package/layout/_partials/post/sidebar-left.ejs +1 -0
  58. package/layout/_partials/post/sidebar-right.ejs +3 -0
  59. package/layout/_partials/post/toc.ejs +7 -0
  60. package/layout/_partials/scripts.ejs +10 -0
  61. package/layout/_partials/search.ejs +19 -0
  62. package/layout/about.ejs +22 -0
  63. package/layout/archive.ejs +10 -0
  64. package/layout/categories.ejs +20 -0
  65. package/layout/category.ejs +12 -0
  66. package/layout/index.ejs +61 -0
  67. package/layout/layout.ejs +60 -0
  68. package/layout/links.ejs +31 -0
  69. package/layout/page.ejs +15 -0
  70. package/layout/post.ejs +77 -0
  71. package/layout/tag.ejs +12 -0
  72. package/layout/tags.ejs +26 -0
  73. package/package.json +70 -0
  74. package/scripts/index.js +1 -0
  75. package/source/css/_functions/base.styl +8 -0
  76. package/source/css/_mixins/base.styl +23 -0
  77. package/source/css/_pages/_about/about.styl +32 -0
  78. package/source/css/_pages/_archive/archive.styl +32 -0
  79. package/source/css/_pages/_base/_widget/anchorjs.styl +8 -0
  80. package/source/css/_pages/_base/_widget/banner.styl +29 -0
  81. package/source/css/_pages/_base/_widget/board.styl +11 -0
  82. package/source/css/_pages/_base/_widget/code-widget.styl +36 -0
  83. package/source/css/_pages/_base/_widget/copyright.styl +90 -0
  84. package/source/css/_pages/_base/_widget/footer.styl +65 -0
  85. package/source/css/_pages/_base/_widget/footnote.styl +25 -0
  86. package/source/css/_pages/_base/_widget/header.styl +173 -0
  87. package/source/css/_pages/_base/_widget/modal.styl +100 -0
  88. package/source/css/_pages/_base/_widget/navlink.styl +16 -0
  89. package/source/css/_pages/_base/_widget/ngrogress.styl +12 -0
  90. package/source/css/_pages/_base/_widget/noscript.styl +12 -0
  91. package/source/css/_pages/_base/_widget/pagination.styl +23 -0
  92. package/source/css/_pages/_base/_widget/qrcode.styl +17 -0
  93. package/source/css/_pages/_base/_widget/scroll-btn.styl +48 -0
  94. package/source/css/_pages/_base/_widget/text.styl +19 -0
  95. package/source/css/_pages/_base/_widget/toc.styl +75 -0
  96. package/source/css/_pages/_base/base.styl +68 -0
  97. package/source/css/_pages/_base/color-schema.styl +75 -0
  98. package/source/css/_pages/_base/inline.styl +51 -0
  99. package/source/css/_pages/_base/keyframes.styl +31 -0
  100. package/source/css/_pages/_base/print.styl +38 -0
  101. package/source/css/_pages/_category/category-bar.styl +58 -0
  102. package/source/css/_pages/_category/category-chain.styl +6 -0
  103. package/source/css/_pages/_category/category-list.styl +62 -0
  104. package/source/css/_pages/_index/index.styl +75 -0
  105. package/source/css/_pages/_links/links.styl +79 -0
  106. package/source/css/_pages/_post/comment.styl +27 -0
  107. package/source/css/_pages/_post/highlight.styl +75 -0
  108. package/source/css/_pages/_post/markdown.styl +96 -0
  109. package/source/css/_pages/_post/post-page.styl +179 -0
  110. package/source/css/_pages/_post/post-tag.styl +29 -0
  111. package/source/css/_pages/_tag/tag.styl +9 -0
  112. package/source/css/_pages/_tag/tags.styl +9 -0
  113. package/source/css/_pages/pages.styl +8 -0
  114. package/source/css/_variables/base.styl +72 -0
  115. package/source/css/gitalk.css +546 -0
  116. package/source/css/main.styl +19 -0
  117. package/source/img/avatar.png +0 -0
  118. package/source/img/default.jpg +0 -0
  119. package/source/img/default1.jpg +0 -0
  120. package/source/img/default2.jpg +0 -0
  121. package/source/img/default3.jpg +0 -0
  122. package/source/img/default4.jpg +0 -0
  123. package/source/img/default5.jpg +0 -0
  124. package/source/img/default6.jpg +0 -0
  125. package/source/img/default7.jpg +0 -0
  126. package/source/img/default8.jpg +0 -0
  127. package/source/img/docs.png +0 -0
  128. package/source/img/loading.gif +0 -0
  129. package/source/img/police_beian.png +0 -0
  130. package/source/js/color-schema.js +279 -0
  131. package/source/js/events.js +72 -0
  132. package/source/js/img-lazyload.js +10 -0
  133. package/source/js/local-search.js +70 -0
  134. package/source/js/post/copying-code.js +34 -0
  135. package/source/js/post/enable.js +8 -0
  136. package/source/js/post/img-swipe-bf.js +47 -0
  137. package/source/js/post/img-swipe.js +35 -0
  138. package/source/js/post/mermaiding.js +13 -0
  139. package/source/js/post/play-imgs.js +59 -0
  140. package/source/js/post/toc.js +24 -0
  141. package/source/js/post/view-imgs.js +27 -0
  142. package/source/js/utils.js +245 -0
  143. package/source/xml/local-search.xml +45 -0
  144. package/templates/footer.ejs +13 -0
  145. package/templates/noun.vue +18 -0
@@ -0,0 +1,3 @@
1
+ <aside class="sidebar" style="margin-left: -1rem">
2
+ <%- partial('_partials/post/toc') %>
3
+ </aside>
@@ -0,0 +1,7 @@
1
+ <div id="toc">
2
+ <p class="toc-header">
3
+ <i class="iconfont icon-list"></i>
4
+ <span><%- __('post.toc') %></span>
5
+ </p>
6
+ <div class="toc-body" id="toc-body"></div>
7
+ </div>
@@ -0,0 +1,10 @@
1
+ <%- partial('_partials/plugins/nprogress.ejs') %>
2
+
3
+ <%- all_html_link('js') %>
4
+
5
+ <%- partial('_partials/plugins/typed.ejs') %>
6
+ <%- partial('_partials/post/scripts.ejs') %>
7
+
8
+ <%# if (theme.custom_js) { %>
9
+ <%#- js(theme.custom_js) %>
10
+ <%# } %>
@@ -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>
@@ -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 } }) %>
@@ -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>
@@ -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>
@@ -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
+
@@ -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 } }) %>
@@ -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
+ }