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 @@ +
+
+ + CONFIG.calendar = {{ theme.calendar | safedump }}; + +{{- next_js('schedule.js', true) }} diff --git a/layout/_partials/page/tags.njk b/layout/_partials/page/tags.njk new file mode 100644 index 0000000..c6e55cc --- /dev/null +++ b/layout/_partials/page/tags.njk @@ -0,0 +1,16 @@ +
+
+ {{ _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 @@ - -CONFIG.calendar = {{ theme.calendar | safedump }}; - -{{- 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'); }