From f76c0d8a97910096f8ebe4075bd719b35b1f737c Mon Sep 17 00:00:00 2001
From: Mimi <1119186082@qq.com>
Date: Thu, 6 Aug 2020 21:34:53 +0800
Subject: [PATCH] Refactor layout
---
_config.yml | 2 +-
layout/_partials/page/categories.njk | 8 ++++++++
layout/_partials/page/schedule.njk | 6 ++++++
layout/_partials/page/tags.njk | 16 +++++++++++++++
layout/_scripts/index.njk | 5 +++--
layout/_scripts/pages/schedule.njk | 4 ----
layout/_scripts/schemes/gemini.njk | 0
layout/_scripts/schemes/mist.njk | 1 -
layout/_scripts/schemes/muse.njk | 1 -
layout/_scripts/schemes/pisces.njk | 0
layout/page.njk | 30 +++-------------------------
scripts/filters/minify.js | 4 ++++
12 files changed, 41 insertions(+), 36 deletions(-)
create mode 100644 layout/_partials/page/categories.njk
create mode 100644 layout/_partials/page/schedule.njk
create mode 100644 layout/_partials/page/tags.njk
delete mode 100644 layout/_scripts/pages/schedule.njk
delete mode 100644 layout/_scripts/schemes/gemini.njk
delete mode 100644 layout/_scripts/schemes/mist.njk
delete mode 100644 layout/_scripts/schemes/muse.njk
delete mode 100644 layout/_scripts/schemes/pisces.njk
diff --git a/_config.yml b/_config.yml
index b91a1e0..e879331 100644
--- a/_config.yml
+++ b/_config.yml
@@ -612,7 +612,7 @@ valine:
avatar: mm # Gravatar style
meta: [] # Custom comment header: [nick, mail, link]
pageSize: 10 # Pagination size
- language: # Language, available values: en, zh-cn
+ lang: # Language, available values: en, zh-cn
visitor: false # Article reading statistic
comment_count: true # If false, comment count will only be displayed in post page, not in home page
recordIP: false # Whether to record the commenter IP
diff --git a/layout/_partials/page/categories.njk b/layout/_partials/page/categories.njk
new file mode 100644
index 0000000..60f2cd3
--- /dev/null
+++ b/layout/_partials/page/categories.njk
@@ -0,0 +1,8 @@
+
+
+ {{ _p('counter.categories', site.categories.length) }}
+
+
+ {{ list_categories() }}
+
+
diff --git a/layout/_partials/page/schedule.njk b/layout/_partials/page/schedule.njk
new file mode 100644
index 0000000..ce00cd4
--- /dev/null
+++ b/layout/_partials/page/schedule.njk
@@ -0,0 +1,6 @@
+
+
+ {{ _p('counter.tag_cloud', site.tags.length) }}
+
+
+ {{ tagcloud({
+ min_font: theme.tagcloud.min,
+ max_font: theme.tagcloud.max,
+ amount : theme.tagcloud.amount,
+ orderby : theme.tagcloud.orderby,
+ order : theme.tagcloud.order,
+ class : 'tag-cloud'
+ })
+ }}
+
+
diff --git a/layout/_scripts/index.njk b/layout/_scripts/index.njk
index 70e6e44..a9fc46f 100644
--- a/layout/_scripts/index.njk
+++ b/layout/_scripts/index.njk
@@ -5,8 +5,9 @@
{{- next_js('motion.js') }}
{%- endif %}
-{%- set scheme_script = 'schemes/' + theme.scheme | lower + '.njk' %}
-{% include scheme_script %}
+{%- if theme.scheme === 'Muse' or theme.scheme === 'Mist' %}
+ {{- next_js('schemes/muse.js') }}
+{%- endif %}
{{- next_js('next-boot.js') }}
{%- if theme.bookmark.enable %}
diff --git a/layout/_scripts/pages/schedule.njk b/layout/_scripts/pages/schedule.njk
deleted file mode 100644
index af126b0..0000000
--- a/layout/_scripts/pages/schedule.njk
+++ /dev/null
@@ -1,4 +0,0 @@
-
-{{- next_js('schedule.js', true) }}
diff --git a/layout/_scripts/schemes/gemini.njk b/layout/_scripts/schemes/gemini.njk
deleted file mode 100644
index e69de29..0000000
diff --git a/layout/_scripts/schemes/mist.njk b/layout/_scripts/schemes/mist.njk
deleted file mode 100644
index ced0e28..0000000
--- a/layout/_scripts/schemes/mist.njk
+++ /dev/null
@@ -1 +0,0 @@
-{{- next_js('schemes/muse.js') }}
diff --git a/layout/_scripts/schemes/muse.njk b/layout/_scripts/schemes/muse.njk
deleted file mode 100644
index ced0e28..0000000
--- a/layout/_scripts/schemes/muse.njk
+++ /dev/null
@@ -1 +0,0 @@
-{{- next_js('schemes/muse.js') }}
diff --git a/layout/_scripts/schemes/pisces.njk b/layout/_scripts/schemes/pisces.njk
deleted file mode 100644
index e69de29..0000000
diff --git a/layout/page.njk b/layout/page.njk
index 12f4432..e75e426 100644
--- a/layout/page.njk
+++ b/layout/page.njk
@@ -29,35 +29,11 @@
{#################}
{%- if page.type === 'tags' %}
-
-
- {{ _p('counter.tag_cloud', site.tags.length) }}
-
-
- {{ tagcloud({
- min_font: theme.tagcloud.min,
- max_font: theme.tagcloud.max,
- amount : theme.tagcloud.amount,
- orderby : theme.tagcloud.orderby,
- order : theme.tagcloud.order,
- class : 'tag-cloud'
- })
- }}
-
-
+ {% include '_partials/page/tags.njk' %}
{% elif page.type === 'categories' %}
-
-
- {{ _p('counter.categories', site.categories.length) }}
-
-
- {{ list_categories() }}
-
-
+ {% include '_partials/page/categories.njk' %}
{% elif page.type === 'schedule' %}
-
-
- {% include '_scripts/pages/schedule.njk' %}
+ {% include '_partials/page/schedule.njk' %}
{% else %}
{{ page.content }}
{%- endif %}
diff --git a/scripts/filters/minify.js b/scripts/filters/minify.js
index e11f34b..22e8d1f 100644
--- a/scripts/filters/minify.js
+++ b/scripts/filters/minify.js
@@ -6,6 +6,10 @@ hexo.extend.filter.register('after_generate', () => {
const theme = hexo.theme.config;
if (!theme.minify) return;
+ if (!hexo.locals.get('pages').some(page => page.type === 'schedule')) {
+ hexo.route.remove('js/schedule.js');
+ }
+
if (!theme.bookmark.enable) {
hexo.route.remove('js/bookmark.js');
}