hexo-theme-linen 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/_config.yml +3 -3
  2. package/layout/archive.ejs +3 -3
  3. package/layout/layout.ejs +10 -10
  4. package/layout/partials/header.ejs +1 -1
  5. package/layout/partials/post-item.ejs +2 -2
  6. package/layout/partials/share-meta.ejs +1 -1
  7. package/layout/partials/site-info.ejs +4 -4
  8. package/layout/post.ejs +6 -6
  9. package/package.json +8 -4
  10. package/scripts/lazyload/inject.js +3 -3
  11. package/source/{css → linen-theme/css}/lazyload.css +2 -2
  12. package/source/{css → linen-theme/css}/linen.scss +35 -35
  13. package/source/{css → linen-theme/css}/vars.scss +1 -1
  14. /package/source/{css → linen-theme/css}/animations.css +0 -0
  15. /package/source/{css → linen-theme/css}/font-version.scss +0 -0
  16. /package/source/{css → linen-theme/css}/highlight-github.scss +0 -0
  17. /package/source/{css → linen-theme/css}/linkcard.scss +0 -0
  18. /package/source/{css → linen-theme/css}/mediaquery.scss +0 -0
  19. /package/source/{css → linen-theme/css}/normalize.css +0 -0
  20. /package/source/{css → linen-theme/css}/noscript.css +0 -0
  21. /package/source/{css → linen-theme/css}/photoswipe-dynamic-caption-plugin.css +0 -0
  22. /package/source/{css → linen-theme/css}/photoswipe.css +0 -0
  23. /package/source/{css → linen-theme/css}/rss-en.xsl +0 -0
  24. /package/source/{css → linen-theme/css}/rss-zh.xsl +0 -0
  25. /package/source/{favicon.svg → linen-theme/favicon.svg} +0 -0
  26. /package/source/{fonts → linen-theme/fonts}/SourceHanSerifSC-Regular.woff2 +0 -0
  27. /package/source/{fonts → linen-theme/fonts}/SourceSerif4-Regular.ttf.woff2 +0 -0
  28. /package/source/{img → linen-theme/img}/icons/ZIP.svg +0 -0
  29. /package/source/{img → linen-theme/img}/icons/about.svg +0 -0
  30. /package/source/{img → linen-theme/img}/icons/arrow-down.svg +0 -0
  31. /package/source/{img → linen-theme/img}/icons/binary.svg +0 -0
  32. /package/source/{img → linen-theme/img}/icons/checked-checkbox.svg +0 -0
  33. /package/source/{img → linen-theme/img}/icons/chinese.svg +0 -0
  34. /package/source/{img → linen-theme/img}/icons/code.svg +0 -0
  35. /package/source/{img → linen-theme/img}/icons/collapsed.svg +0 -0
  36. /package/source/{img → linen-theme/img}/icons/copied.png +0 -0
  37. /package/source/{img → linen-theme/img}/icons/copy.png +0 -0
  38. /package/source/{img → linen-theme/img}/icons/copyright.svg +0 -0
  39. /package/source/{img → linen-theme/img}/icons/date.svg +0 -0
  40. /package/source/{img → linen-theme/img}/icons/email.svg +0 -0
  41. /package/source/{img → linen-theme/img}/icons/english.svg +0 -0
  42. /package/source/{img → linen-theme/img}/icons/exif/aperture.svg +0 -0
  43. /package/source/{img → linen-theme/img}/icons/exif/camera.svg +0 -0
  44. /package/source/{img → linen-theme/img}/icons/exif/ev.svg +0 -0
  45. /package/source/{img → linen-theme/img}/icons/exif/focusLength.svg +0 -0
  46. /package/source/{img → linen-theme/img}/icons/exif/hdr.svg +0 -0
  47. /package/source/{img → linen-theme/img}/icons/exif/iso.svg +0 -0
  48. /package/source/{img → linen-theme/img}/icons/exif/lens.svg +0 -0
  49. /package/source/{img → linen-theme/img}/icons/exif/location.svg +0 -0
  50. /package/source/{img → linen-theme/img}/icons/exif/shutterSpeed.svg +0 -0
  51. /package/source/{img → linen-theme/img}/icons/github.svg +0 -0
  52. /package/source/{img → linen-theme/img}/icons/hdr.svg +0 -0
  53. /package/source/{img → linen-theme/img}/icons/hdr_off.svg +0 -0
  54. /package/source/{img → linen-theme/img}/icons/link.svg +0 -0
  55. /package/source/{img → linen-theme/img}/icons/location.svg +0 -0
  56. /package/source/{img → linen-theme/img}/icons/more.svg +0 -0
  57. /package/source/{img → linen-theme/img}/icons/new.svg +0 -0
  58. /package/source/{img → linen-theme/img}/icons/new1.svg +0 -0
  59. /package/source/{img → linen-theme/img}/icons/next.svg +0 -0
  60. /package/source/{img → linen-theme/img}/icons/prev.svg +0 -0
  61. /package/source/{img → linen-theme/img}/icons/redirect.svg +0 -0
  62. /package/source/{img → linen-theme/img}/icons/rss.svg +0 -0
  63. /package/source/{img → linen-theme/img}/icons/search.svg +0 -0
  64. /package/source/{img → linen-theme/img}/icons/shelf.svg +0 -0
  65. /package/source/{img → linen-theme/img}/icons/tag.svg +0 -0
  66. /package/source/{img → linen-theme/img}/icons/toc.svg +0 -0
  67. /package/source/{img → linen-theme/img}/icons/toc1.svg +0 -0
  68. /package/source/{img → linen-theme/img}/icons/up-down.svg +0 -0
  69. /package/source/{img → linen-theme/img}/lazyload/error-tip.svg +0 -0
  70. /package/source/{img → linen-theme/img}/lazyload/loading.svg +0 -0
  71. /package/source/{img → linen-theme/img}/logo.svg +0 -0
  72. /package/source/{img → linen-theme/img}/logo_black.svg +0 -0
  73. /package/source/{img → linen-theme/img}/pattern-randomized.jpg +0 -0
  74. /package/source/{img → linen-theme/img}/related-post.jpg +0 -0
  75. /package/source/{img → linen-theme/img}/vue-color-avatar.png +0 -0
  76. /package/source/{js → linen-theme/js}/gitalk/gitalk.css +0 -0
  77. /package/source/{js → linen-theme/js}/gitalk/gitalk.min.js +0 -0
  78. /package/source/{js → linen-theme/js}/hdr.js +0 -0
  79. /package/source/{js → linen-theme/js}/lazyload.js +0 -0
  80. /package/source/{js → linen-theme/js}/linen.js +0 -0
  81. /package/source/{js → linen-theme/js}/photoswipe/photoswipe-dynamic-caption-plugin.esm.js +0 -0
  82. /package/source/{js → linen-theme/js}/photoswipe/photoswipe-lightbox.esm.min.js +0 -0
  83. /package/source/{js → linen-theme/js}/photoswipe/photoswipe.esm.min.js +0 -0
  84. /package/source/{js → linen-theme/js}/replace-emoji.js +0 -0
  85. /package/source/{js → linen-theme/js}/toc.js +0 -0
package/_config.yml CHANGED
@@ -1,9 +1,9 @@
1
1
  stylesheets:
2
- - /css/linen.css
3
- - /css/mediaquery.css
2
+ - /linen-theme/css/linen.css
3
+ - /linen-theme/css/mediaquery.css
4
4
 
5
5
  scripts:
6
- - /js/linen.js
6
+ - /linen-theme/js/linen.js
7
7
 
8
8
  sass:
9
9
  outputStyle: compressed
@@ -24,7 +24,7 @@ const archivesList = Object.entries(site.posts.filter(post=>!post?.hide?.archive
24
24
  <ul class="archive-list">
25
25
  <% categoriesList.forEach(category => { %>
26
26
  <li class="archive-list-item">
27
- <a class="archive-list-link" data-firstletter="<%=category.name.charAt(0)%>" href="<%='/categories/' + category.name + '/'%>">
27
+ <a class="archive-list-link" data-firstletter="<%=category.name.charAt(0)%>" href="<%=url_for(`/categories/${category.name}/`)%>">
28
28
  <%=category.name%>
29
29
  <span class="archive-list-count"><%=category.count%></span>
30
30
  </a>
@@ -38,7 +38,7 @@ const archivesList = Object.entries(site.posts.filter(post=>!post?.hide?.archive
38
38
  <ul class="archive-list">
39
39
  <% archivesList.forEach(archive => { %>
40
40
  <li class="archive-list-item">
41
- <a class="archive-list-link" data-firstletter="<%=archive.name.charAt(archive.name.length-1)%>" href="<%='/archives/' + archive.year + '/'%>">
41
+ <a class="archive-list-link" data-firstletter="<%=archive.name.charAt(archive.name.length-1)%>" href="<%=url_for(`/archives/${archive.year}/`)%>">
42
42
  <%=archive.name%>
43
43
  <span class="archive-list-count"><%=archive.count%></span>
44
44
  </a>
@@ -57,7 +57,7 @@ const archivesList = Object.entries(site.posts.filter(post=>!post?.hide?.archive
57
57
  <ul class="archive-list">
58
58
  <% seriesList.forEach(series => { %>
59
59
  <li class="archive-list-item">
60
- <a class="archive-list-link" data-firstletter="<%=series.name.charAt(0)%>" href="<%='/series/' + series.name + '/'%>">
60
+ <a class="archive-list-link" data-firstletter="<%=series.name.charAt(0)%>" href="<%=url_for(`/series/${series.name}/`)%>">
61
61
  <%=series.name%>
62
62
  <span class="archive-list-count"><%=series.count%></span>
63
63
  </a>
package/layout/layout.ejs CHANGED
@@ -14,7 +14,7 @@ const version = theme.version;
14
14
  <meta charset="UTF-8" />
15
15
  <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
16
16
  <title><%=getPageTitle()%></title>
17
- <link rel="icon" type="image/x-icon" href="<%=theme?.icon ?? '/favicon.svg'%>" />
17
+ <link rel="icon" type="image/x-icon" href="<%=url_for(theme?.icon ?? '/linen-theme/favicon.svg')%>" />
18
18
  <meta name="referrer" content="no-referrer-when-downgrade" />
19
19
  <% if (page.hide && page.hide.seo) { %>
20
20
  <meta name="robots" content="noindex, nofollow">
@@ -23,14 +23,14 @@ const version = theme.version;
23
23
  <%-partial('partials/share-meta')%> <% if (theme.stylesheets !== undefined
24
24
  && theme.stylesheets.length > 0) { %>
25
25
  <% if (is_post()) { %>
26
- <link rel="stylesheet" href="/css/linkcard.css?v=<%=version%>" />
26
+ <link rel="stylesheet" href="<%=url_for(`/linen-theme/css/linkcard.css?v=${version}`)%>" />
27
27
  <% } %>
28
28
  <!-- stylesheets list from _config.yml -->
29
29
  <% theme.stylesheets.forEach(url => { %>
30
- <link rel="stylesheet" href="<%=url%>?v=<%=version%>" />
30
+ <link rel="stylesheet" href="<%=url_for(`${url}?v=${version}`)%>" />
31
31
  <% }); %> <% } %>
32
32
  <% if (theme?.lazyload?.enable ?? true) { %>
33
- <link rel="stylesheet" href="/css/lazyload.css?v=<%=version%>" />
33
+ <link rel="stylesheet" href="<%=url_for(`/linen-theme/css/lazyload.css?v=${version}`)%>" />
34
34
  <% } %>
35
35
  <% if (theme?.heads) { %>
36
36
  <% theme?.heads.forEach(head => { %>
@@ -77,13 +77,13 @@ const version = theme.version;
77
77
  <div class="side-content">
78
78
  <% if (series.length) { %>
79
79
  <div class="post-series">
80
- <a class="series-title" href="<%='/series/' + page.series + '/'%>"><%=__('common.series')%>-<%=page.series%></a>
80
+ <a class="series-title" href="<%=url_for(`/series/${page.series}/`)%>"><%=__('common.series')%>-<%=page.series%></a>
81
81
  <div class="series-items">
82
82
  <% take(series, 50).forEach((item, index) => { %>
83
83
  <a class="series-item-link<%-item.source === page.source ? ' active': ''%>" href="<%=url_for(item.path)%>"><%-`${item.title}`%><% if (item.subTitle) { %><span class="sub-title"><%=item.subTitle%></span><% } %></a>
84
84
  <% }); %>
85
85
  <% if(series.length > 50) { %>
86
- <a class="series-item-link view-more" href="<%='/series/' + page.series + '/'%>"><%-`${__('common.total')} ${series.length} ${__('common.seriesPostCountShort')}`%></a>
86
+ <a class="series-item-link view-more" href="<%=url_for(`/series/${page.series}/`)%>"><%-`${__('common.total')} ${series.length} ${__('common.seriesPostCountShort')}`%></a>
87
87
  <% } %>
88
88
  </div>
89
89
  </div>
@@ -101,16 +101,16 @@ const version = theme.version;
101
101
  <a id="back-to-top" href="#page-top" title="back to top"></a>
102
102
  <noscript id="noscript-styles"></noscript>
103
103
  <% if(is_post()) { %>
104
- <script src="/js/toc.js?v=<%=version%>" defer></script>
104
+ <script src="<%=url_for(`/linen-theme/js/toc.js?v=${version}`)%>" defer></script>
105
105
  <% } %>
106
106
  <% if (theme.scripts !== undefined && theme.scripts.length > 0) { %>
107
107
  <!-- scripts list from theme config.yml -->
108
108
  <% theme.scripts.forEach(url => { %>
109
- <script src="<%=url%>?v=<%=version%>"></script>
109
+ <script src="<%=url_for(`${url}?v=${version}`)%>"></script>
110
110
  <% }); %>
111
111
  <% } %>
112
112
  <% if (theme?.lazyload?.enable ?? true) { %>
113
- <script src="/js/lazyload.js?v=<%=version%>"></script>
113
+ <script src="<%=url_for(`/linen-theme/js/lazyload.js?v=${version}`)%>"></script>
114
114
  <% } %>
115
115
  <% if (page.hdrAssetsPrefix) { %>
116
116
  <script>
@@ -118,7 +118,7 @@ const version = theme.version;
118
118
  </script>
119
119
  <% } %>
120
120
  <% if (page.hdrSwitch) { %>
121
- <script src="/js/hdr.js?v=<%=version%>"></script>
121
+ <script src="<%url_for(`/linen-theme/js/hdr.js?v=${version}`)%>"></script>
122
122
  <% } %>
123
123
  <% if (theme?.appends?.length > 0) { %>
124
124
  <% theme.appends.forEach(appendItem => { %>
@@ -11,7 +11,7 @@ const rssPath = theme?.feed === false ? '' : theme?.feed?.path ?? '/feed.xml';
11
11
  <% } %>
12
12
  <div class="nav-header<%=is_post() ? ' is-post': ''%>">
13
13
  <div class="header-inner">
14
- <a class="title" href="/" title="index" style="<%=[logoSrc ? `background-image: url(${logoSrc})`: '', logoWidth && logoHeight ? `aspect-ratio: ${logoWidth}/${logoHeight}` : ''].filter(v => v).join(';')%>"><%=logoText||''%></a>
14
+ <a class="title" href="<%=url_for('/')%>" title="index" style="<%=[logoSrc ? `background-image: url(${logoSrc})`: '', logoWidth && logoHeight ? `aspect-ratio: ${logoWidth}/${logoHeight}` : ''].filter(v => v).join(';')%>"><%=logoText||''%></a>
15
15
  <div class="right">
16
16
  <div class="navItems">
17
17
  <% (theme?.navItems || []).forEach(({ name, path }) => { %>
@@ -6,7 +6,7 @@
6
6
  <% if(post?.tags?.length) { %>
7
7
  <div class="tags">
8
8
  <% (post.tags || []).forEach(tag => { %>
9
- <a class="tag-item" href="<%='/'+tag.path%>" onclick="event.stopPropagation()"><%=tag.name%></a>
9
+ <a class="tag-item" href="<%=url_for(`/${tag.path}`)%>" onclick="event.stopPropagation()"><%=tag.name%></a>
10
10
  <% }) %>
11
11
  </div>
12
12
  <% } %>
@@ -20,7 +20,7 @@
20
20
  <% } %>
21
21
  <span class="categories">
22
22
  <% (post?.categories || []).forEach(category => { %>
23
- <a class="category-item" href="<%='/'+category.path%>" onclick="event.stopPropagation()"><%=category.name%></a>
23
+ <a class="category-item" href="<%=url_for(`/${category.path}`)%>" onclick="event.stopPropagation()"><%=category.name%></a>
24
24
  <% }); %>
25
25
  </span>
26
26
  <span class="read-time"><%-partial('partials/words', { post, count: false, readTime: true })%></span>
@@ -3,7 +3,7 @@ var pageTitle = getPageTitle();
3
3
  %>
4
4
  <meta property="og:type" content="blog">
5
5
  <meta property="og:title" content="<%=pageTitle%>">
6
- <meta property="og:url" content="<%=config.url + '/' + page.path%>">
6
+ <meta property="og:url" content="<%=url_for(page.path)%>">
7
7
  <meta property="og:site_name" content="<%=config.title%>">
8
8
  <meta property="og:description" content="<%=page?.seriesInfo?.description||page.excerpt||''%>">
9
9
  <meta property="og:locale" content="<%=page.language||config.language%>">
@@ -12,13 +12,13 @@ const series = Array.from(new Set(site.posts.filter(item=>item.series).sort('dat
12
12
  <div class="info-row description"><%=theme?.info?.site_desc%></div>
13
13
  <% } %>
14
14
  <div class="info-row site-statisc">
15
- <a href="/archives/#posts" target="_self"><%=site.posts?.filter(post=>!post?.hide?.archive).length%> <%=__('common.posts')%></a>
15
+ <a href="<%=url_for('/archives/#posts')%>" target="_self"><%=site.posts?.filter(post=>!post?.hide?.archive).length%> <%=__('common.posts')%></a>
16
16
  <span class="divider">/</span>
17
- <a href="/archives/#categories" target="_self"><%=site.categories.length%> <%=__('common.categories')%></a>
17
+ <a href="<%=url_for('/archives/#categories')%>" target="_self"><%=site.categories.length%> <%=__('common.categories')%></a>
18
18
  <span class="divider">/</span>
19
- <a href="/archives/#tags" target="_self"><%=site.tags.length%> <%=__('common.tags')%></a>
19
+ <a href="<%=url_for('/archives/#tags')%>" target="_self"><%=site.tags.length%> <%=__('common.tags')%></a>
20
20
  <% if (series.length) { %>
21
21
  <span class="divider">/</span>
22
- <a href="/archives/#series" target="_self"><%=series.length%> <%=__('common.series')%></a><% } %>
22
+ <a href="<%url_for('/archives/#series')%>" target="_self"><%=series.length%> <%=__('common.series')%></a><% } %>
23
23
  </div>
24
24
  </div>
package/layout/post.ejs CHANGED
@@ -67,7 +67,7 @@
67
67
  <div id="page-content-end"></div>
68
68
  <div class="tags">
69
69
  <% page.tags.forEach(tag => { %>
70
- <a class="tag-item" href="<%='/'+tag.path%>"><%=tag.name%></a>
70
+ <a class="tag-item" href="<%=url_for(`/${tag.path}`)%>"><%=tag.name%></a>
71
71
  <% }); %>
72
72
  </div>
73
73
  </article>
@@ -236,12 +236,12 @@ const nextPost = series[currentIndex + 1] || null;
236
236
  const version = theme.version;
237
237
  const hdrAssetsPrefix = page?.hdrAssetsPrefix || '';
238
238
  %>
239
- <link rel="stylesheet" href="/css/photoswipe.css?v=<%=version%>" />
240
- <link rel="stylesheet" href="/css/photoswipe-dynamic-caption-plugin.css?v=<%=version%>" />
239
+ <link rel="stylesheet" href="/linen-theme/css/photoswipe.css?v=<%=version%>" />
240
+ <link rel="stylesheet" href="/linen-theme/css/photoswipe-dynamic-caption-plugin.css?v=<%=version%>" />
241
241
  <script type="module" defer>
242
- import PhotoSwipeLightbox from '/js/photoswipe/photoswipe-lightbox.esm.min.js?v=<%=version%>';
243
- import PhotoSwipe from '/js/photoswipe/photoswipe.esm.min.js?v=<%=version%>';
244
- import PhotoSwipeDynamicCaption from '/js/photoswipe/photoswipe-dynamic-caption-plugin.esm.js?v=<%=version%>';
242
+ import PhotoSwipeLightbox from '/linen-theme/js/photoswipe/photoswipe-lightbox.esm.min.js?v=<%=version%>';
243
+ import PhotoSwipe from '/linen-theme/js/photoswipe/photoswipe.esm.min.js?v=<%=version%>';
244
+ import PhotoSwipeDynamicCaption from '/linen-theme/js/photoswipe/photoswipe-dynamic-caption-plugin.esm.js?v=<%=version%>';
245
245
  let isPswpOpening = false;
246
246
  let hdrAssetsPrefix = '<%=hdrAssetsPrefix%>';
247
247
  const getSafeAreaHeight = () => {
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "hexo-theme-linen",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "A clean Hexo theme",
5
5
  "main": "index.js",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/LynanBreeze/hexo-theme-linen.git"
9
+ },
6
10
  "scripts": {
7
11
  "test": "echo \"Error: no test specified\" && exit 1"
8
12
  },
@@ -16,11 +20,11 @@
16
20
  "license": "MIT",
17
21
  "dependencies": {
18
22
  "hexo": "^8.1.1",
19
- "hexo-util": "^4.0.0",
20
23
  "hexo-pagination": "^4.0.0",
24
+ "hexo-renderer-dartsass": "^1.1.0",
21
25
  "hexo-renderer-ejs": "^2.0.0",
22
- "moment": "^2.30.1",
23
- "hexo-renderer-dartsass": "^1.1.0"
26
+ "hexo-util": "^4.0.0",
27
+ "moment": "^2.30.1"
24
28
  },
25
29
  "engines": {
26
30
  "node": ">=14.0.0"
@@ -142,13 +142,13 @@ module.exports = function (hexo) {
142
142
  if (!fs.exists(filePath)) throw new TypeError(filePath + " not found!");
143
143
  const sourceCode = fs.readFileSync(filePath, { escape: true });
144
144
  fs.writeFileSync(
145
- path.join(hexo.theme_dir, "source/js/lazyload.js"),
145
+ path.join(hexo.theme_dir, "source/linen-theme/js/lazyload.js"),
146
146
  sourceCode,
147
147
  );
148
148
  };
149
149
  const injectExtraStyles = function (sourceCode) {
150
150
  fs.writeFileSync(
151
- path.join(hexo.theme_dir, "source/css/lazyload.css"),
151
+ path.join(hexo.theme_dir, "source/linen-theme/css/lazyload.css"),
152
152
  sourceCode,
153
153
  );
154
154
  };
@@ -175,7 +175,7 @@ module.exports = function (hexo) {
175
175
  htmlContent = htmlContent.replace(
176
176
  '<noscript id="noscript-styles"></noscript>',
177
177
  `<noscript id="noscript-styles"><style>${fs.readFileSync(
178
- path.join(hexo.theme_dir, "source/css/noscript.css"),
178
+ path.join(hexo.theme_dir, "source/linen-theme/css/noscript.css"),
179
179
  )}</style></noscript>`,
180
180
  );
181
181
  }
@@ -20,7 +20,7 @@
20
20
  padding-bottom: 66.66667%;
21
21
  background-size: 100% 100%;
22
22
  background-repeat: no-repeat;
23
- background-image: url(/img/lazyload/loading.svg);
23
+ background-image: url(/linen-theme/img/lazyload/loading.svg);
24
24
  background-color: #fff;
25
25
  }
26
26
  .lazyload-wrap .placeholder canvas{
@@ -77,7 +77,7 @@
77
77
  .lazyload-wrap .error-wrap .error-tip{
78
78
  width: 60%;
79
79
  background-size: cover;
80
- background-image: url(/img/lazyload/error-tip.svg);
80
+ background-image: url(/linen-theme/img/lazyload/error-tip.svg);
81
81
  }
82
82
  .lazyload-wrap .error-wrap .error-tip::before{
83
83
  content: '';
@@ -9,7 +9,7 @@
9
9
  local("Source Han Serif CN"),
10
10
  local("Source Han Serif SC"),
11
11
  local("Songti SC"),
12
- url("/fonts/SourceHanSerifSC-Regular.woff2?v=#{$font-version}")
12
+ url("/linen-theme/fonts/SourceHanSerifSC-Regular.woff2?v=#{$font-version}")
13
13
  format("woff2");
14
14
  font-display: swap;
15
15
  unicode-range: U+4E00-9FFF;
@@ -17,14 +17,14 @@
17
17
  @font-face {
18
18
  font-family: "LXGWWenKai";
19
19
  font-display: swap;
20
- src: url("/fonts/LXGWWenKai-Regular.woff2?v=#{$font-version}") format("woff2");
20
+ src: url("/linen-theme/fonts/LXGWWenKai-Regular.woff2?v=#{$font-version}") format("woff2");
21
21
  font-display: swap;
22
22
  unicode-range: U+4E00-9FFF;
23
23
  }
24
24
 
25
25
  @font-face {
26
26
  font-family: "source-serif";
27
- src: url("/fonts/SourceSerif4-Regular.ttf.woff2?v=#{$font-version}")
27
+ src: url("/linen-theme/fonts/SourceSerif4-Regular.ttf.woff2?v=#{$font-version}")
28
28
  format("woff2");
29
29
  unicode-range:
30
30
  U+0-7F, U+A0, U+B7, U+200A, U+2014, U+2018, U+2019, U+201C, U+201D, U+2022,
@@ -33,7 +33,7 @@
33
33
  }
34
34
  @font-face {
35
35
  font-family: "Source Sans Pro";
36
- src: url("/fonts/Source-Sans-Pro-Regular-2.woff2?v=#{$font-version}")
36
+ src: url("/linen-theme/fonts/Source-Sans-Pro-Regular-2.woff2?v=#{$font-version}")
37
37
  format("woff2");
38
38
  font-display: swap;
39
39
  }
@@ -238,7 +238,7 @@ body {
238
238
  margin-right: 30px;
239
239
  width: 225px;
240
240
  height: 42px;
241
- background-image: url("/img/logo.svg");
241
+ background-image: url("/linen-theme/img/logo.svg");
242
242
  background-size: cover;
243
243
  }
244
244
  .right {
@@ -274,7 +274,7 @@ body {
274
274
  margin-right: 16px;
275
275
  }
276
276
  &.toc {
277
- background-image: url("/img/icons/toc1.svg");
277
+ background-image: url("/linen-theme/img/icons/toc1.svg");
278
278
  background-size: contain;
279
279
  display: none;
280
280
  background-repeat: no-repeat;
@@ -282,32 +282,32 @@ body {
282
282
  cursor: pointer;
283
283
  }
284
284
  &.search {
285
- background-image: url("/img/icons/search.svg");
285
+ background-image: url("/linen-theme/img/icons/search.svg");
286
286
  background-size: cover;
287
287
  }
288
288
  &.github {
289
- background-image: url("/img/icons/github.svg");
289
+ background-image: url("/linen-theme/img/icons/github.svg");
290
290
  background-size: cover;
291
291
  }
292
292
  &.zh-CN {
293
- background-image: url("/img/icons/chinese.svg");
293
+ background-image: url("/linen-theme/img/icons/chinese.svg");
294
294
  background-size: cover;
295
295
  width: 30px;
296
296
  height: 30px;
297
297
  }
298
298
  &.en {
299
- background-image: url("/img/icons/english.svg");
299
+ background-image: url("/linen-theme/img/icons/english.svg");
300
300
  background-size: cover;
301
301
  width: 30px;
302
302
  height: 30px;
303
303
  }
304
304
  &.rss {
305
- background-image: url("/img/icons/rss.svg");
305
+ background-image: url("/linen-theme/img/icons/rss.svg");
306
306
  background-size: cover;
307
307
  margin-right: 0;
308
308
  }
309
309
  &.hdr-switch {
310
- background-image: url("/img/icons/hdr.svg");
310
+ background-image: url("/linen-theme/img/icons/hdr.svg");
311
311
  background-size: cover;
312
312
  cursor: pointer;
313
313
  position: relative;
@@ -327,8 +327,8 @@ body {
327
327
  }
328
328
  &.hdr_on {
329
329
  background: linear-gradient(90deg, #ff6ec4, #7873f5, #4ade80);
330
- -webkit-mask: url("/img/icons/hdr.svg") no-repeat center;
331
- mask: url("/img/icons/hdr.svg") no-repeat center;
330
+ -webkit-mask: url("/linen-theme/img/icons/hdr.svg") no-repeat center;
331
+ mask: url("/linen-theme/img/icons/hdr.svg") no-repeat center;
332
332
  -webkit-mask-size: contain;
333
333
  mask-size: contain;
334
334
  &::after {
@@ -423,12 +423,12 @@ body {
423
423
  display: inline-block;
424
424
  width: 20px;
425
425
  height: 20px;
426
- background-image: url("/img/icons/copyright.svg");
426
+ background-image: url("/linen-theme/img/icons/copyright.svg");
427
427
  background-size: cover;
428
428
  &.location {
429
429
  width: 15px;
430
430
  height: 15px;
431
- background-image: url("/img/icons/location.svg");
431
+ background-image: url("/linen-theme/img/icons/location.svg");
432
432
  }
433
433
  }
434
434
  .text {
@@ -506,7 +506,7 @@ body {
506
506
  display: inline-block;
507
507
  width: 0.8em;
508
508
  height: 0.8em;
509
- background-image: url("/img/icons/link.svg");
509
+ background-image: url("/linen-theme/img/icons/link.svg");
510
510
  background-size: cover;
511
511
  transition: all ease-in-out 0.3s;
512
512
  opacity: 0;
@@ -609,7 +609,7 @@ body {
609
609
  display: inline-block;
610
610
  width: 1em;
611
611
  height: 1em;
612
- background-image: url("/img/icons/redirect.svg");
612
+ background-image: url("/linen-theme/img/icons/redirect.svg");
613
613
  background-size: cover;
614
614
  vertical-align: middle;
615
615
  margin-bottom: 0.25em;
@@ -726,7 +726,7 @@ body {
726
726
  display: inline-block;
727
727
  width: 35px;
728
728
  height: 20px;
729
- background-image: url("/img/icons/code.svg");
729
+ background-image: url("/linen-theme/img/icons/code.svg");
730
730
  background-size: 16px 16px;
731
731
  background-position: center;
732
732
  background-repeat: no-repeat;
@@ -746,7 +746,7 @@ body {
746
746
  right: 0;
747
747
  padding-top: 0.5em;
748
748
  padding-right: 0.5em;
749
- background-image: url("/img/icons/copy.png");
749
+ background-image: url("/linen-theme/img/icons/copy.png");
750
750
  background-size: 14px 14px;
751
751
  background-position: 0 75%;
752
752
  background-repeat: no-repeat;
@@ -840,7 +840,7 @@ body {
840
840
  width: 100%;
841
841
  height: 24px;
842
842
  background-color: #fff;
843
- background-image: url("/img/icons/up-down.svg");
843
+ background-image: url("/linen-theme/img/icons/up-down.svg");
844
844
  background-size: 24px 24px;
845
845
  background-repeat: no-repeat;
846
846
  background-position: center;
@@ -897,7 +897,7 @@ body {
897
897
  display: block;
898
898
  width: 24px;
899
899
  height: 24px;
900
- background-image: url("/img/icons/new1.svg");
900
+ background-image: url("/linen-theme/img/icons/new1.svg");
901
901
  background-size: cover;
902
902
  }
903
903
  }
@@ -916,10 +916,10 @@ body {
916
916
  height: 35px;
917
917
  background-size: cover;
918
918
  &.zip {
919
- background-image: url("/img/icons/ZIP.svg");
919
+ background-image: url("/linen-theme/img/icons/ZIP.svg");
920
920
  }
921
921
  &.bin {
922
- background-image: url("/img/icons/binary.svg");
922
+ background-image: url("/linen-theme/img/icons/binary.svg");
923
923
  }
924
924
  }
925
925
  .attachment-size {
@@ -1071,7 +1071,7 @@ body {
1071
1071
  display: inline-block;
1072
1072
  width: 12px;
1073
1073
  height: 12px;
1074
- background-image: url("/img/icons/prev.svg");
1074
+ background-image: url("/linen-theme/img/icons/prev.svg");
1075
1075
  background-size: cover;
1076
1076
  vertical-align: middle;
1077
1077
  margin-right: 4px;
@@ -1087,7 +1087,7 @@ body {
1087
1087
  display: inline-block;
1088
1088
  width: 12px;
1089
1089
  height: 12px;
1090
- background-image: url("/img/icons/next.svg");
1090
+ background-image: url("/linen-theme/img/icons/next.svg");
1091
1091
  background-size: cover;
1092
1092
  vertical-align: middle;
1093
1093
  margin-left: 4px;
@@ -1151,7 +1151,7 @@ body {
1151
1151
  content: "";
1152
1152
  width: 13px;
1153
1153
  height: 13px;
1154
- background-image: url("/img/icons/tag.svg");
1154
+ background-image: url("/linen-theme/img/icons/tag.svg");
1155
1155
  background-size: cover;
1156
1156
  filter: invert(1);
1157
1157
  margin-right: 4px;
@@ -1319,7 +1319,7 @@ body {
1319
1319
  top: $navbarMinHeight;
1320
1320
  left: 0;
1321
1321
  background-color: #ffffff;
1322
- background-image: url("/img/pattern-randomized.jpg");
1322
+ background-image: url("/linen-theme/img/pattern-randomized.jpg");
1323
1323
  background-attachment: absolute;
1324
1324
  background-size: cover;
1325
1325
  opacity: 0.5;
@@ -1637,7 +1637,7 @@ body {
1637
1637
  display: inline-block;
1638
1638
  width: 13px;
1639
1639
  height: 13px;
1640
- background-image: url("/img/icons/shelf.svg");
1640
+ background-image: url("/linen-theme/img/icons/shelf.svg");
1641
1641
  background-size: cover;
1642
1642
  margin-right: 0.5em;
1643
1643
  }
@@ -1685,7 +1685,7 @@ body {
1685
1685
  display: block;
1686
1686
  width: 24px;
1687
1687
  height: 24px;
1688
- background-image: url("/img/icons/arrow-down.svg");
1688
+ background-image: url("/linen-theme/img/icons/arrow-down.svg");
1689
1689
  background-size: cover;
1690
1690
  }
1691
1691
  .title {
@@ -1840,7 +1840,7 @@ body {
1840
1840
  display: inline-block;
1841
1841
  width: 20px;
1842
1842
  height: 20px;
1843
- background-image: url("/img/icons/toc.svg");
1843
+ background-image: url("/linen-theme/img/icons/toc.svg");
1844
1844
  background-size: cover;
1845
1845
  vertical-align: middle;
1846
1846
  margin-bottom: 4px;
@@ -1960,7 +1960,7 @@ body {
1960
1960
  display: inline-block;
1961
1961
  width: 13px;
1962
1962
  height: 13px;
1963
- background-image: url("/img/icons/shelf.svg");
1963
+ background-image: url("/linen-theme/img/icons/shelf.svg");
1964
1964
  background-size: cover;
1965
1965
  vertical-align: middle;
1966
1966
  margin-bottom: 4px;
@@ -2168,7 +2168,7 @@ html[lang="zh-CN"] {
2168
2168
  .custom-checked-checkbox {
2169
2169
  width: 1.5em;
2170
2170
  height: 1.5em;
2171
- background-image: url("/img/icons/checked-checkbox.svg");
2171
+ background-image: url("/linen-theme/img/icons/checked-checkbox.svg");
2172
2172
  background-size: 1em 1em;
2173
2173
  background-repeat: no-repeat;
2174
2174
  background-position: center;
@@ -2190,7 +2190,7 @@ html[lang="zh-CN"] {
2190
2190
  display: inline-block;
2191
2191
  width: 13px;
2192
2192
  height: 13px;
2193
- background-image: url("/img/icons/tag.svg");
2193
+ background-image: url("/linen-theme/img/icons/tag.svg");
2194
2194
  background-size: cover;
2195
2195
  margin-right: 4px;
2196
2196
  margin-bottom: -1px;
@@ -2442,7 +2442,7 @@ details {
2442
2442
  transition: transform 0.2s;
2443
2443
  width: 1em;
2444
2444
  height: 1em;
2445
- background-image: url("/img/icons/collapsed.svg");
2445
+ background-image: url("/linen-theme/img/icons/collapsed.svg");
2446
2446
  background-size: 100% 100%;
2447
2447
  }
2448
2448
  }
@@ -101,7 +101,7 @@ $postWidth: max(min(1192px, 68vw), 960px);
101
101
  content: "";
102
102
  width: 13px;
103
103
  height: 13px;
104
- background-image: url("/img/icons/tag.svg");
104
+ background-image: url("/linen-theme/img/icons/tag.svg");
105
105
  background-size: cover;
106
106
  filter: invert(1);
107
107
  margin-right: 4px;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes