hexo静态博客归档页美化后如下
由于笔者使用的是next主题最新版本,所以网上很多方法都没有行通。于是便记录下来,方便作者自己,也方便和我有同样问题的朋友。
Demo
第一步
在blog/themes/next/layout/_macro/
下新建文件post-collapse.swig
并复制一下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| {% macro render(posts) %} {%- set current_year = '1970' %} {%- for post in posts.toArray() %}
{%- set year = date(post.date, 'YYYY') %}
{%- if year !== current_year %} {%- set current_year = year %} <div class="collection-year"> <{%- if theme.seo %}h2{% else %}h1{%- endif %} class="collection-header">{{ current_year }}</{%- if theme.seo %}h2{% else %}h1{%- endif %}> </div> {%- endif %}
<article class="my-post post-type-{{ post.type | default('normal') }}" itemscope itemtype="http://schema.org/Article"> <header class="my-post-header">
<div class="my-post-meta"> <time class="my-post-time" itemprop="dateCreated" datetime="{{ moment(post.date).format() }}" content="{{ date(post.date, config.date_format) }}"> {{ date(post.date, 'MM-DD') }} </time> </div>
<{%- if theme.seo %}h3{% else %}h2{%- endif %} class="my-post-title"> {%- if post.link %}{# Link posts #} <a class="my-post-title-link post-title-link-external" target="_blank" href="{{ url_for(post.link) }}" itemprop="url"> {{ post.title or post.link }} <i class="fa fa-external-link"></i> </a> {% else %} <a class="my-post-title-link" href="{{ url_for(post.path) }}" itemprop="url"> {% if post.type === 'picture' %} {{ post.content }} {% else %} <span itemprop="name">{{ post.title or __('post.untitled') }}</span> {% endif %} </a> {%- endif %} </{%- if theme.seo %}h3{% else %}h2{%- endif %}>
</header> </article>
{%- endfor %} {% endmacro %}
|
第二步
复制下面内容,粘贴到你所用主题的index.styl
后面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
| .page-archive .archive-page-counter { font-size: 18px; background-color: #49b1f5; padding-left: 10px; padding-right: 10px; border-radius: 8px; color: #fff; +mobile() { font-size: 16px; } } .my-post-time{ font-size: 11px; position: absolute; color: #fff; background-color: #49b1f5; border-radius: 5px; padding-left: 5px; padding-right: 5px; margin-left: 15px; } .mypost{ position: relative; margin-bottom: 1rem; -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; -ms-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } a.my-post-title-link:before{ top: 10px; width: 18px; height: 18px; content: "📚"; margin-right: 5px; font: normal normal normal 14px/1 FontAwesome; font-size: 15px; line-height: 18px; } .my-post:hover{ transform: scale(1.1); box-shadow: 10px 10px 15px 2px rgba(0,0,0,.12), 0 0 6px 0 rgba(104, 104, 105, 0.1); border-radius: 30px; width: 400px; padding: 1px 10px; margin-left: 25px; font-size: 16px; transition-duration: 0.15s; +mobile(){ width: 260px; margin-left: 18px; } } a.my-post-title-link{ text-decoration: none; font-size: 15px; font-weight: 400; +mobile() { font-size: 14px; } } .my-post-title{ display: block; margin-left: 4.5rem; color: #4c4948; text-decoration: none; font-size: .8rem; cursor: pointer; +mobile() { } } .my-post-header{ position: top; margin-bottom: 1rem; -webkit-transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; -ms-transition: all .2s ease-in-out; transition: all .2s ease-in-out; }
.my-post-meta{ position: absolute; color: #99a9bf; width: 80px; color: #114142; } div.post-block.tag .collection-title h2 { border-width: 1px; border-style: solid; border-color: #3f3f3f; border-radius: 20px; font-size: 22px; background-color: #b4e8fa; padding: 2px 15px; letter-spacing: 1.5px; box-sizing: border-box; color: #3f3f3f; display: inline-block; margin: 10px 0 10px; text-align: center; +mobile(){ font-size: 18px; } }
|
粘贴文件路径如图
修改文件
前两步可能网上很多文章都提到过,作者也按照其方法试了很多次都没有成功。这里作者写下自己所改动的地方
打开blog/themes/next/layout/archive.njk
将里面第二行所引用的_macro/post-collapse.njk
改为_macro/post-collapse.swig
即可