主题支持 Halo v1.3.0版本
parent
c38dd6ed4d
commit
3230022571
77
archives.ftl
77
archives.ftl
|
@ -1,34 +1,55 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="归档 - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/archives">
|
<@layout title="归档 - ${blog_title!}" canonical="${archives_url!}">
|
||||||
<@postTag method="archiveYear">
|
<#list archives as archive>
|
||||||
<#list archives as archive>
|
<div class="card widget">
|
||||||
<div class="card widget">
|
<div class="card-content">
|
||||||
<div class="card-content">
|
<h3 class="tag is-link">
|
||||||
<h3 class="tag is-link">
|
${archive.year?c}
|
||||||
${archive.year?c}
|
</h3>
|
||||||
</h3>
|
<div class="timeline">
|
||||||
<div class="timeline">
|
<#list archive.posts as post>
|
||||||
<#list archive.posts as post>
|
<article class="media">
|
||||||
<article class="media">
|
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
|
||||||
<#if post.thumbnail?? && post.thumbnail!=''>
|
<a href="${post.thumbnail}" class="media-left">
|
||||||
<a href="${post.thumbnail}" class="media-left">
|
<p class="image is-64x64">
|
||||||
<p class="image is-64x64">
|
<img class="thumbnail" src="${post.fullPath!}" alt="${post.title!}">
|
||||||
<img class="thumbnail" src="${context!}/archives/${post.url!}" alt="${post.title!}">
|
</p>
|
||||||
</p>
|
</a>
|
||||||
</a>
|
</#if>
|
||||||
</#if>
|
<div class="media-content">
|
||||||
<div class="media-content">
|
<div class="content">
|
||||||
<div class="content">
|
<time class="has-text-grey is-size-7 is-block is-uppercase" datetime="${post.createTime!}">${post.createTime?string["yyyy-MM-dd EE"]}</time>
|
||||||
<time class="has-text-grey is-size-7 is-block is-uppercase" datetime="${post.createTime!}">${post.createTime?string["yyyy-MM-dd EE"]}</time>
|
<a href="${post.fullPath!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
|
||||||
<a href="${context!}/archives/${post.url!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</div>
|
||||||
</#list>
|
</article>
|
||||||
</div>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</#list>
|
</div>
|
||||||
</@postTag>
|
</#list>
|
||||||
|
<#if posts.getTotalPages() gt 0>
|
||||||
|
<div class="card card-transparent">
|
||||||
|
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||||
|
<@paginationTag method="archives" page="${posts.number}" total="${posts.totalPages}" display="3">
|
||||||
|
<div class="pagination-previous<#if pagination.hasPrev><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.prevPageFullPath!}">上一页</a>
|
||||||
|
</div>
|
||||||
|
<div class="pagination-next<#if pagination.hasNext><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.nextPageFullPath!}">下一页</a>
|
||||||
|
</div>
|
||||||
|
<ul class="pagination-list is-hidden-mobile">
|
||||||
|
<#list pagination.rainbowPages as number>
|
||||||
|
<#if number.isCurrent>
|
||||||
|
<li><a class="pagination-link is-current" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
|
<#else>
|
||||||
|
<li><a class="pagination-link has-text-black-ter" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
</ul>
|
||||||
|
</@paginationTag>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
</@layout>
|
</@layout>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="分类 - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/categories">
|
<@layout title="分类 - ${blog_title!}" canonical="${categories_url!}">
|
||||||
<#include "layout/categories.ftl">
|
<#include "layout/categories.ftl">
|
||||||
</@layout>
|
</@layout>
|
|
@ -1,5 +1,5 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="分类:${category.name!} - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/categories/${category.slugName!}">
|
<@layout title="分类:${category.name!} - ${blog_title!}" canonical="${category.fullPath!}">
|
||||||
<#include "layout/category.ftl">
|
<#include "layout/category.ftl">
|
||||||
</@layout>
|
</@layout>
|
||||||
|
|
38
index.ftl
38
index.ftl
|
@ -1,6 +1,6 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}">
|
<@layout title="${blog_title!}" canonical="${blog_url!}">
|
||||||
<#list posts.content as post>
|
<#list posts.content as post>
|
||||||
<#if post.topPriority != 1>
|
<#if post.topPriority != 1>
|
||||||
<@article post,'index','null',true />
|
<@article post,'index','null',true />
|
||||||
|
@ -9,25 +9,23 @@
|
||||||
<#if posts.getTotalPages() gt 0>
|
<#if posts.getTotalPages() gt 0>
|
||||||
<div class="card card-transparent">
|
<div class="card card-transparent">
|
||||||
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||||
<div class="pagination-previous<#if posts.number gt 0><#else > is-invisible is-hidden-mobile</#if>">
|
<@paginationTag method="index" page="${posts.number}" total="${posts.totalPages}" display="3">
|
||||||
<#if posts.number == 1>
|
<div class="pagination-previous<#if pagination.hasPrev><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
<a class="is-flex-grow has-text-black-ter" href="${context!}">上一页</a>
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.prevPageFullPath!}">上一页</a>
|
||||||
<#else>
|
</div>
|
||||||
<a class="is-flex-grow has-text-black-ter" href="${context!}/page/${posts.number}">上一页</a>
|
<div class="pagination-next<#if pagination.hasNext><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
</#if>
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.nextPageFullPath!}">下一页</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="pagination-next<#if posts.getTotalPages() gt posts.number+1><#else > is-invisible is-hidden-mobile</#if>">
|
<ul class="pagination-list is-hidden-mobile">
|
||||||
<a class="is-flex-grow has-text-black-ter" href="${context!}/page/${posts.number+2}">下一页</a>
|
<#list pagination.rainbowPages as number>
|
||||||
</div>
|
<#if number.isCurrent>
|
||||||
<ul class="pagination-list is-hidden-mobile">
|
<li><a class="pagination-link is-current" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
<#list rainbow as r>
|
<#else>
|
||||||
<#if r == posts.number+1>
|
<li><a class="pagination-link" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
<li><a class="pagination-link is-current" href="${context!}/page/${posts.number+1}">${posts.number+1}</a></li>
|
</#if>
|
||||||
<#else>
|
</#list>
|
||||||
<li><a class="pagination-link" href="${context!}/page/${r}">${r}</a></li>
|
</ul>
|
||||||
</#if>
|
</@paginationTag>
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="耳语 - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options
|
<@layout title="耳语 - ${blog_title!}" canonical="${journals_url!}">
|
||||||
.seo_description!}" canonical="${context!}/journals">
|
|
||||||
<div class="journals">
|
<div class="journals">
|
||||||
<#include "layout/journals/journals.ftl"/>
|
<#include "layout/journals/journals.ftl"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<@categoryTag method="list">
|
<@categoryTag method="list">
|
||||||
<#list categories as category>
|
<#list categories as category>
|
||||||
<li>
|
<li>
|
||||||
<a class="level is-marginless" href="${context!}/categories/${category.slugName!}">
|
<a class="level is-marginless" href="${category.fullPath!}">
|
||||||
<span class="level-start">
|
<span class="level-start">
|
||||||
<span class="level-item">${category.name}</span>
|
<span class="level-item">${category.name}</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<nav class="breadcrumb" aria-label="breadcrumbs">
|
<nav class="breadcrumb" aria-label="breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="${context!}/categories">分类></a></li>
|
<li><a href="${categories_url!}">分类></a></li>
|
||||||
<li class="is-active"><a href="#" aria-current="page">${category.name}</a></li>
|
<li class="is-active"><a href="#" aria-current="page">${category.name}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -17,31 +17,23 @@
|
||||||
<#if posts.getTotalPages() gt 0>
|
<#if posts.getTotalPages() gt 0>
|
||||||
<div class="card card-transparent">
|
<div class="card card-transparent">
|
||||||
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||||
<div class="pagination-previous<#if posts.number gt 0><#else > is-invisible is-hidden-mobile</#if>">
|
<@paginationTag method="categoryPosts" page="${posts.number}" total="${posts.totalPages}" display="3" slug="${category.slug!}">
|
||||||
<#if posts.number == 1>
|
<div class="pagination-previous<#if pagination.hasPrev><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
<a class="is-flex-grow has-text-black-ter"
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.prevPageFullPath!}">上一页</a>
|
||||||
href="${context!}/categories/${category.slugName!}">上一页</a>
|
</div>
|
||||||
<#else>
|
<div class="pagination-next<#if pagination.hasNext><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
<a class="is-flex-grow has-text-black-ter"
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.nextPageFullPath!}">下一页</a>
|
||||||
href="${context!}/categories/${category.slugName!}/page/${posts.number}">上一页</a>
|
</div>
|
||||||
</#if>
|
<ul class="pagination-list is-hidden-mobile">
|
||||||
</div>
|
<#list pagination.rainbowPages as number>
|
||||||
<div class="pagination-next<#if posts.getTotalPages() gt posts.number+1><#else > is-invisible is-hidden-mobile</#if>">
|
<#if number.isCurrent>
|
||||||
<a class="is-flex-grow has-text-black-ter"
|
<li><a class="pagination-link is-current" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
href="${context!}/categories/${category.slugName!}/page/${posts.number+2}">下一页</a>
|
<#else>
|
||||||
</div>
|
<li><a class="pagination-link has-text-black-ter" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
<ul class="pagination-list is-hidden-mobile">
|
</#if>
|
||||||
<#list rainbow as r>
|
</#list>
|
||||||
<#if r == posts.number+1>
|
</ul>
|
||||||
<li><a class="pagination-link is-current"
|
</@paginationTag>
|
||||||
href="${context!}/categories/${category.slugName!}/page/${posts.number+1}">${posts.number+1}</a>
|
|
||||||
</li>
|
|
||||||
<#else>
|
|
||||||
<li><a class="pagination-link has-text-black-ter"
|
|
||||||
href="${context!}/categories/${category.slugName!}/page/${r}">${r}</a></li>
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
<div class="card" <#if is_post??>style="display: block"</#if> >
|
<div class="card" <#if is_post??>style="display: block"</#if> >
|
||||||
<#if is_post?? || is_page?? || is_sheet??>
|
<#if is_post?? || is_page?? || is_sheet??>
|
||||||
<#else >
|
<#else >
|
||||||
<#if post.thumbnail?? && post.thumbnail!=''>
|
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
|
||||||
<div class="card-image">
|
<div class="card-image">
|
||||||
<#if index>
|
<#if index>
|
||||||
<a href="${context!}/archives/${post.url!}">
|
<a href="${post.fullPath!}">
|
||||||
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
|
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
|
||||||
</a>
|
</a>
|
||||||
<#else>
|
<#else>
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<#list post.categories as category>
|
<#list post.categories as category>
|
||||||
<a class="has-link-grey -link"
|
<a class="has-link-grey -link"
|
||||||
href="${context!}/categories/${category.slugName!}">${category.name!}</a>
|
href="${category.fullPath!}">${category.name!}</a>
|
||||||
</#list>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<#list categories as category>
|
<#list categories as category>
|
||||||
<a class="has-link-grey -link"
|
<a class="has-link-grey -link"
|
||||||
href="${context!}/categories/${category.slugName!}">${category.name!}</a>
|
href="${category.fullPath!}">${category.name!}</a>
|
||||||
</#list>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
<#if is_post??>
|
<#if is_post??>
|
||||||
<h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
|
<h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
|
||||||
<#if index>
|
<#if index>
|
||||||
<a class="has-link-black-ter" href="${context!}/archives/${post.url!}">${post.title!}</a>
|
<a class="has-link-black-ter" href="${post.fullPath!}">${post.title!}</a>
|
||||||
<#else>
|
<#else>
|
||||||
${post.title!}
|
${post.title!}
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
<#else>
|
<#else>
|
||||||
<h1 class="title is-size-5 is-size-5-mobile has-text-weight-normal">
|
<h1 class="title is-size-5 is-size-5-mobile has-text-weight-normal">
|
||||||
<#if index>
|
<#if index>
|
||||||
<a class="has-link-black-ter" href="${context!}/archives/${post.url!}">${post.title!}</a>
|
<a class="has-link-black-ter" href="${post.fullPath!}">${post.title!}</a>
|
||||||
<#else>
|
<#else>
|
||||||
${post.title!}
|
${post.title!}
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<span class="is-size-6 has-text-grey has-mr-7">#</span>
|
<span class="is-size-6 has-text-grey has-mr-7">#</span>
|
||||||
<#list tags as tag>
|
<#list tags as tag>
|
||||||
<a class="has-link-grey -link" style="margin-left: 10px;" href="${context!}/tags/${tag.slugName!}">${tag.name!}</a>
|
<a class="has-link-grey -link" style="margin-left: 10px;" href="${tag.fullPath!}">${tag.name!}</a>
|
||||||
</#list>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -101,7 +101,7 @@
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<span class="is-size-6 has-text-grey has-mr-7">#</span>
|
<span class="is-size-6 has-text-grey has-mr-7">#</span>
|
||||||
<#list post.tags as tag>
|
<#list post.tags as tag>
|
||||||
<a class="has-link-grey -link" style="margin-left: 10px;" href="${context!}/tags/${tag.slugName!}">${tag.name!}</a>
|
<a class="has-link-grey -link" style="margin-left: 10px;" href="${tag.fullPath!}">${tag.name!}</a>
|
||||||
</#list>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
<#if post.summary?? && post.summary!=''>
|
<#if post.summary?? && post.summary!=''>
|
||||||
<div class="level-end">
|
<div class="level-end">
|
||||||
<div class="level-item">
|
<div class="level-item">
|
||||||
<a class="button is-size-7 is-light" target="_blank" href="${context!}/archives/${post.url!}#more">阅读更多</a>
|
<a class="button is-size-7 is-light" target="_blank" href="${post.fullPath!}#more">阅读更多</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -124,7 +124,7 @@
|
||||||
本文由 <a target="_blank" href="${context!}">${user.nickname!}</a> 创作,如果您觉得本文不错,请随意赞赏<br>
|
本文由 <a target="_blank" href="${context!}">${user.nickname!}</a> 创作,如果您觉得本文不错,请随意赞赏<br>
|
||||||
采用 <a target="_blank" href="https://creativecommons.org/licenses/by/4.0/" rel="external nofollow">知识共享署名4.0</a> 国际许可协议进行许可<br>
|
采用 <a target="_blank" href="https://creativecommons.org/licenses/by/4.0/" rel="external nofollow">知识共享署名4.0</a> 国际许可协议进行许可<br>
|
||||||
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名<br>
|
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名<br>
|
||||||
原文链接:<a target="_blank" href="${context!}/archives/${post.url!}">${context!}/archives/${post.url!}</a><br>
|
原文链接:<a target="_blank" href="${post.fullPath!}">${post.fullPath!}</a><br>
|
||||||
最后更新:${post.editTime?string('yyyy-MM-dd HH:mm:ss')}
|
最后更新:${post.editTime?string('yyyy-MM-dd HH:mm:ss')}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -149,14 +149,14 @@
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if !index && (nextPost?? || prePost??)>
|
<#if !index && (nextPost?? || prevPost??)>
|
||||||
<div class="card card-transparent">
|
<div class="card card-transparent">
|
||||||
<div class="level post-navigation is-flex-wrap is-mobile">
|
<div class="level post-navigation is-flex-wrap is-mobile">
|
||||||
<div class="level-start">
|
<div class="level-start">
|
||||||
<#if prePost??>
|
<#if prevPost??>
|
||||||
<a class="level level-item has-link-grey article-nav-prev" href="${context!}/archives/${prePost.url!}">
|
<a class="level level-item has-link-grey article-nav-prev" href="${prevPost.fullPath!}">
|
||||||
<i class="level-item fas fa-chevron-left"></i>
|
<i class="level-item fas fa-chevron-left"></i>
|
||||||
<span class="level-item">${prePost.title!}</span>
|
<span class="level-item">${prevPost.title!}</span>
|
||||||
</a>
|
</a>
|
||||||
<#else>
|
<#else>
|
||||||
<a class="level level-item has-link-grey article-nav-prev" href="${context!}/">
|
<a class="level level-item has-link-grey article-nav-prev" href="${context!}/">
|
||||||
|
@ -167,7 +167,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="level-end">
|
<div class="level-end">
|
||||||
<#if nextPost??>
|
<#if nextPost??>
|
||||||
<a class="level level-item has-link-grey article-nav-next" href="${context!}/archives/${nextPost.url!}">
|
<a class="level level-item has-link-grey article-nav-next" href="${nextPost.fullPath!}">
|
||||||
<span class="level-item">${nextPost.title!}</span>
|
<span class="level-item">${nextPost.title!}</span>
|
||||||
<i class="level-item fas fa-chevron-right"></i>
|
<i class="level-item fas fa-chevron-right"></i>
|
||||||
</a>
|
</a>
|
||||||
|
@ -182,7 +182,7 @@
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if !index>
|
<#if !index && settings.comment_enable?? && settings.comment_enable>
|
||||||
<div class="card" id="comment-wrapper">
|
<div class="card" id="comment-wrapper">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<h3 class="title is-5 has-text-weight-normal">评论</h3>
|
<h3 class="title is-5 has-text-weight-normal">评论</h3>
|
||||||
|
|
|
@ -53,11 +53,11 @@
|
||||||
</#if>
|
</#if>
|
||||||
<#if settings.social_free?? && settings.social_free!=''>
|
<#if settings.social_free?? && settings.social_free!=''>
|
||||||
<p style="text-align: left; line-height: 20px; margin: 0">
|
<p style="text-align: left; line-height: 20px; margin: 0">
|
||||||
© ${.now?string('yyyy')} ${user.nickname!} ${settings.social_free!}
|
© ${.now?string('yyyy')} ${user.nickname!} ${settings.social_free!} v${version!}
|
||||||
</p>
|
</p>
|
||||||
</#if>
|
</#if>
|
||||||
<#if settings.caidai!true>
|
<#if settings.caidai!true>
|
||||||
<script src="${static!}/source/lib/caidai.js"></script>
|
<script src="${theme_base!}/source/lib/caidai.js"></script>
|
||||||
</#if>
|
</#if>
|
||||||
<#if settings.xiantiao!true>
|
<#if settings.xiantiao!true>
|
||||||
<script type="text/javascript"
|
<script type="text/javascript"
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
</script>
|
</script>
|
||||||
</#if>
|
</#if>
|
||||||
<#if settings.dianji!true>
|
<#if settings.dianji!true>
|
||||||
<script src="${static!}/source/lib/dianji.js"></script>
|
<script src="${theme_base!}/source/lib/dianji.js"></script>
|
||||||
</#if>
|
</#if>
|
||||||
<@global.footer />
|
<@global.footer />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -15,15 +15,15 @@
|
||||||
<#if post.topPriority == 1>
|
<#if post.topPriority == 1>
|
||||||
<div class="blog-slider__item swiper-slide">
|
<div class="blog-slider__item swiper-slide">
|
||||||
<div class="blog-slider__img">
|
<div class="blog-slider__img">
|
||||||
<a href="${context!}/archives/${post.url!}">
|
<a href="${post.fullPath!}">
|
||||||
<img src="${post.thumbnail!}" alt="${post.title!}">
|
<img src="${post.thumbnail!}" alt="${post.title!}">
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="blog-slider__content">
|
<div class="blog-slider__content">
|
||||||
<span class="blog-slider__code">${post.createTime?string["yyyy-MM-dd EE"]}</span>
|
<span class="blog-slider__code">${post.createTime?string["yyyy-MM-dd EE"]}</span>
|
||||||
<div class="blog-slider__title "><a class="title is-5" href="${context!}/archives/${post.url!}">${post.title!}</a></div>
|
<div class="blog-slider__title "><a class="title is-5" href="${post.fullPath!}">${post.title!}</a></div>
|
||||||
<div class="blog-slider__text" content="">${post.summary!}</div>
|
<div class="blog-slider__text" content="">${post.summary!}</div>
|
||||||
<a href="${context!}/archives/${post.url!}" target="_blank" class="blog-slider__button">阅读更多</a>
|
<a href="${post.fullPath!}" target="_blank" class="blog-slider__button">阅读更多</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
<div class="container ">
|
<div class="container ">
|
||||||
<div class="navbar-brand transparent">
|
<div class="navbar-brand transparent">
|
||||||
<a class="navbar-item navbar-logo" href="${context!}">
|
<a class="navbar-item navbar-logo" href="${context!}">
|
||||||
<#if options.blog_logo?? && options.blog_logo!=''>
|
<#if blog_logo?? && blog_logo!=''>
|
||||||
<img src="${options.blog_logo!}" alt="${options.blog_title!}" height="28">
|
<img src="${blog_logo!}" alt="${blog_title!}" height="28">
|
||||||
<#else>
|
<#else>
|
||||||
${options.blog_title!}
|
${blog_title!}
|
||||||
</#if>
|
</#if>
|
||||||
</a>
|
</a>
|
||||||
<span class="navbar-burger burger" data-target="navMenu">
|
<span class="navbar-burger burger" data-target="navMenu">
|
||||||
|
|
|
@ -4,12 +4,12 @@
|
||||||
<#include "../plugin/mathjax.ftl">
|
<#include "../plugin/mathjax.ftl">
|
||||||
<#include "../plugin/back-to-top.ftl">
|
<#include "../plugin/back-to-top.ftl">
|
||||||
|
|
||||||
<script src="${static!}/source/js/bundle.js"></script>
|
<script src="${theme_base!}/source/js/bundle.js"></script>
|
||||||
<#if is_index??>
|
<#if is_index??>
|
||||||
<script src="${static!}/source/js/widget_pin.js"></script>
|
<script src="${theme_base!}/source/js/widget_pin.js"></script>
|
||||||
</#if>
|
</#if>
|
||||||
<#if is_post??>
|
<#if is_post??>
|
||||||
<script src="${static!}/source/lib/toc/toc.min.js"></script>
|
<script src="${theme_base!}/source/lib/toc/toc.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
new Toc({
|
new Toc({
|
||||||
wrapperId: 'post-article',
|
wrapperId: 'post-article',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<#macro layout title,keywords,description,canonical>
|
<#macro layout title,canonical>
|
||||||
<#include "common/navbar.ftl">
|
<#include "common/navbar.ftl">
|
||||||
<#include "common/widget.ftl">
|
<#include "common/widget.ftl">
|
||||||
<#include "common/module.ftl">
|
<#include "common/module.ftl">
|
||||||
|
@ -9,23 +9,23 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
|
||||||
<title>${title!}</title>
|
<title>${title!}</title>
|
||||||
|
|
||||||
<meta name="keywords" content="${keywords!}"/>
|
<meta name="keywords" content="${meta_keywords!}"/>
|
||||||
<meta name="description" content="${description!}">
|
<meta name="description" content="${meta_description!}">
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:title" content="${title!}">
|
<meta property="og:title" content="${title!}">
|
||||||
<meta property="og:url" content="${canonical}">
|
<meta property="og:url" content="${canonical}">
|
||||||
<meta property="og:site_name" content="${title!}">
|
<meta property="og:site_name" content="${title!}">
|
||||||
<meta property="og:description" content="${description!}">
|
<meta property="og:description" content="${meta_description!}">
|
||||||
<meta property="og:locale" content="zh">
|
<meta property="og:locale" content="zh">
|
||||||
<meta property="og:image" content="${user.avatar!}">
|
<meta property="og:image" content="${user.avatar!}">
|
||||||
<meta name="twitter:card" content="summary">
|
<meta name="twitter:card" content="summary">
|
||||||
<meta name="twitter:title" content="${title!}">
|
<meta name="twitter:title" content="${title!}">
|
||||||
<meta name="twitter:description" content="${description!}">
|
<meta name="twitter:description" content="${meta_description!}">
|
||||||
<meta name="twitter:image" content="${user.avatar!}">
|
<meta name="twitter:image" content="${user.avatar!}">
|
||||||
|
|
||||||
<link rel="canonical" href="${canonical!}"/>
|
<link rel="canonical" href="${canonical!}"/>
|
||||||
|
|
||||||
<link rel="alternative" href="${context!}/atom" title="${options.blog_title!}" type="application/atom+xml">
|
<link rel="alternative" href="${atom_url!}" title="${blog_title!}" type="application/atom+xml">
|
||||||
|
|
||||||
<@global.head />
|
<@global.head />
|
||||||
|
|
||||||
|
@ -71,16 +71,16 @@
|
||||||
<link rel="stylesheet" href="${settings.cdn_outdatedbrowser_css!}">
|
<link rel="stylesheet" href="${settings.cdn_outdatedbrowser_css!}">
|
||||||
<script src="${settings.cdn_pace_js!}"></script>
|
<script src="${settings.cdn_pace_js!}"></script>
|
||||||
|
|
||||||
<link rel="stylesheet" href="${static!}/source/css/style.css">
|
<link rel="stylesheet" href="${theme_base!}/source/css/style.css">
|
||||||
<link rel="stylesheet" href="${static!}/source/css/bundle.css">
|
<link rel="stylesheet" href="${theme_base!}/source/css/bundle.css">
|
||||||
<link rel="stylesheet" href="${static!}/source/css/back-to-top.css">
|
<link rel="stylesheet" href="${theme_base!}/source/css/back-to-top.css">
|
||||||
<#include "./plugin/style.theme.ftl">
|
<#include "./plugin/style.theme.ftl">
|
||||||
<#if post?? || journals??>
|
<#if post?? || journals??>
|
||||||
<link rel="stylesheet" type="text/css" href="${static!}/source/lib/prism/css/prism-${settings.code_pretty!'Default'}.css"/>
|
<link rel="stylesheet" type="text/css" href="${theme_base!}/source/lib/prism/css/prism-${settings.code_pretty!'Default'}.css"/>
|
||||||
<script type="text/javascript" src="${static!}/source/lib/prism/js/prism.js"></script>
|
<script type="text/javascript" src="${theme_base!}/source/lib/prism/js/prism.js"></script>
|
||||||
</#if>
|
</#if>
|
||||||
<#if is_index??>
|
<#if is_index??>
|
||||||
<link rel="stylesheet" href="${static!}/source/css/widget_pin.css">
|
<link rel="stylesheet" href="${theme_base!}/source/css/widget_pin.css">
|
||||||
<link rel="stylesheet" href="${settings.cdn_swiper_css!}">
|
<link rel="stylesheet" href="${settings.cdn_swiper_css!}">
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
@ -137,8 +137,8 @@
|
||||||
<#list categories as category>
|
<#list categories as category>
|
||||||
<#if category_index <= 4>
|
<#if category_index <= 4>
|
||||||
<li>
|
<li>
|
||||||
<a href="${context!}/categories/${category.slugName!}"
|
<a href="${category.fullPath!}"
|
||||||
style="text-transform:capitalize">${category.name}</a>
|
style="text-transform:capitalize">${category.name!}</a>
|
||||||
</li>
|
</li>
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
<script src="${static!}/source/js/animation.js"></script>
|
<script src="${theme_base!}/source/js/animation.js"></script>
|
|
@ -12,7 +12,7 @@
|
||||||
<#-- <header class="ins-section-header">最新文章</header>-->
|
<#-- <header class="ins-section-header">最新文章</header>-->
|
||||||
<#-- <@postTag method="latest" top="5">-->
|
<#-- <@postTag method="latest" top="5">-->
|
||||||
<#-- <#list posts as post>-->
|
<#-- <#list posts as post>-->
|
||||||
<#-- <a href="${context!}/archives/${post.url!}">-->
|
<#-- <a href="${post.fullPath!}">-->
|
||||||
<#-- <div class="ins-selectable ins-search-item">-->
|
<#-- <div class="ins-selectable ins-search-item">-->
|
||||||
<#-- <header><i class="fa fa-file"></i><span class="ins-title">${post.title!}</span>-->
|
<#-- <header><i class="fa fa-file"></i><span class="ins-title">${post.title!}</span>-->
|
||||||
<#-- </header>-->
|
<#-- </header>-->
|
||||||
|
@ -28,13 +28,13 @@
|
||||||
<div class="columns is-multiline" style="padding: 1.5em 2em">
|
<div class="columns is-multiline" style="padding: 1.5em 2em">
|
||||||
<@categoryTag method="list">
|
<@categoryTag method="list">
|
||||||
<#list categories as category>
|
<#list categories as category>
|
||||||
<a href="${context!}/categories/${category.slugName!}">
|
<a href="${category.fullPath!}">
|
||||||
<div class="ant-tag ant-tag-purple is-primary is-focused" style="margin-bottom: 8px;"> ${category.name!}</div>
|
<div class="ant-tag ant-tag-purple is-primary is-focused" style="margin-bottom: 8px;"> ${category.name!}</div>
|
||||||
<#-- <div class="ins-selectable ins-search-item">-->
|
<#-- <div class="ins-selectable ins-search-item">-->
|
||||||
<#-- <header>-->
|
<#-- <header>-->
|
||||||
<#-- <i class="fa fa-folder"></i>-->
|
<#-- <i class="fa fa-folder"></i>-->
|
||||||
<#-- <span class="ins-title">${category.name!}</span>-->
|
<#-- <span class="ins-title">${category.name!}</span>-->
|
||||||
<#-- <span class="ins-slug">${category.slugName!}</span>-->
|
<#-- <span class="ins-slug">${category.slug!}</span>-->
|
||||||
<#-- </header>-->
|
<#-- </header>-->
|
||||||
<#-- </div>-->
|
<#-- </div>-->
|
||||||
</a>
|
</a>
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
<div class="columns is-multiline" style="padding: 1.5em 2em">
|
<div class="columns is-multiline" style="padding: 1.5em 2em">
|
||||||
<@tagTag method="list">
|
<@tagTag method="list">
|
||||||
<#list tags as tag>
|
<#list tags as tag>
|
||||||
<a href="${context!}/tags/${tag.slugName!}">
|
<a href="${tag.fullPath!}">
|
||||||
<div class="ant-tag ant-tag-green" style="margin-bottom: 8px;"> ${tag.name!}</div>
|
<div class="ant-tag ant-tag-green" style="margin-bottom: 8px;"> ${tag.name!}</div>
|
||||||
|
|
||||||
<#-- <div class="ins-selectable ins-search-item">-->
|
<#-- <div class="ins-selectable ins-search-item">-->
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<nav class="breadcrumb" aria-label="breadcrumbs">
|
<nav class="breadcrumb" aria-label="breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="${context!}/tags">标签</a></li>
|
<li><a href="${tags_url!}">标签</a></li>
|
||||||
<li class="is-active"><a href="#" aria-current="page">${tag.name}</a></li>
|
<li class="is-active"><a href="#" aria-current="page">${tag.name!}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
@ -18,30 +18,23 @@
|
||||||
<#if posts.getTotalPages() gt 0>
|
<#if posts.getTotalPages() gt 0>
|
||||||
<div class="card card-transparent">
|
<div class="card card-transparent">
|
||||||
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||||
<div class="pagination-previous<#if posts.number gt 0><#else > is-invisible is-hidden-mobile</#if>">
|
<@paginationTag method="tagPosts" page="${posts.number}" total="${posts.totalPages}" display="3" slug="${tag.slug!}">
|
||||||
<#if posts.number == 1>
|
<div class="pagination-previous<#if pagination.hasPrev><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
<a class="is-flex-grow has-text-black-ter" href="${context!}/tags/${tag.slugName!}">上一页</a>
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.prevPageFullPath!}">上一页</a>
|
||||||
<#else>
|
</div>
|
||||||
<a class="is-flex-grow has-text-black-ter"
|
<div class="pagination-next<#if pagination.hasNext><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
href="${context!}/tags/${tag.slugName!}/page/${posts.number}">上一页</a>
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.nextPageFullPath!}">下一页</a>
|
||||||
</#if>
|
</div>
|
||||||
</div>
|
<ul class="pagination-list is-hidden-mobile">
|
||||||
<div class="pagination-next<#if posts.getTotalPages() gt posts.number+1><#else > is-invisible is-hidden-mobile</#if>">
|
<#list pagination.rainbowPages as number>
|
||||||
<a class="is-flex-grow has-text-black-ter"
|
<#if number.isCurrent>
|
||||||
href="${context!}/tags/${tag.slugName!}/page/${posts.number+2}">下一页</a>
|
<li><a class="pagination-link is-current" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
</div>
|
<#else>
|
||||||
<ul class="pagination-list is-hidden-mobile">
|
<li><a class="pagination-link has-text-black-ter" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
<#list rainbow as r>
|
</#if>
|
||||||
<#if r == posts.number+1>
|
</#list>
|
||||||
<li><a class="pagination-link is-current"
|
</ul>
|
||||||
href="${context!}/tags/${tag.slugName!}/page/${posts.number+1}">${posts.number+1}</a>
|
</@paginationTag>
|
||||||
</li>
|
|
||||||
<#else>
|
|
||||||
<li><a class="pagination-link has-text-black-ter"
|
|
||||||
href="${context!}/tags/${tag.slugName!}/page/${r}">${r}</a></li>
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<@tagTag method="list">
|
<@tagTag method="list">
|
||||||
<#list tags as tag>
|
<#list tags as tag>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<a class="tags has-addons" href="${context!}/tags/${tag.slugName!}">
|
<a class="tags has-addons" href="${tag.fullPath!}">
|
||||||
<span class="tag">${tag.name}</span>
|
<span class="tag">${tag.name}</span>
|
||||||
<span class="tag is-grey">${tag.postCount!}</span>
|
<span class="tag is-grey">${tag.postCount!}</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
<#list posts as post>
|
<#list posts as post>
|
||||||
<#if post_index lt 3>
|
<#if post_index lt 3>
|
||||||
<article class="media">
|
<article class="media">
|
||||||
<#if post.thumbnail?? && post.thumbnail!=''>
|
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
|
||||||
<a href="${context!}/archives/${post.url!}" class="media-left">
|
<a href="${post.fullPath!}" class="media-left">
|
||||||
<p class="image is-64x64">
|
<p class="image is-64x64">
|
||||||
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
|
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
|
||||||
</p>
|
</p>
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
<div class="media-content">
|
<div class="media-content">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div><time class="has-text-grey is-size-7 is-uppercase" datetime="${post.createTime!}">${post.createTime?string["yyyy-MM-dd EE"]}</time></div>
|
<div><time class="has-text-grey is-size-7 is-uppercase" datetime="${post.createTime!}">${post.createTime?string["yyyy-MM-dd EE"]}</time></div>
|
||||||
<a href="${context!}/archives/${post.url!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
|
<a href="${post.fullPath!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
|
@ -113,7 +113,7 @@ box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1);">
|
||||||
<i class="fab fa-telegram"></i>
|
<i class="fab fa-telegram"></i>
|
||||||
</a>
|
</a>
|
||||||
</#if>
|
</#if>
|
||||||
<a class="level-item button is-marginless" target="_blank" title="RSS" href="${context!}/atom">
|
<a class="level-item button is-marginless" target="_blank" title="RSS" href="${atom_url!}">
|
||||||
<i class="fas fa-rss"></i>
|
<i class="fas fa-rss"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<div class="media-content">
|
<div class="media-content">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div><time class="has-text-grey is-size-7 is-uppercase" datetime="${comment.createTime!}">${comment.createTime?string('yyyy-MM-dd')}</time></div>
|
<div><time class="has-text-grey is-size-7 is-uppercase" datetime="${comment.createTime!}">${comment.createTime?string('yyyy-MM-dd')}</time></div>
|
||||||
${comment.author!} : <a href="${context!}/archives/${comment.post.url!}#comment-wrapper" class="title has-link-black-ter is-size-6 has-text-weight-normal">${comment.content!}</a>
|
${comment.author!} : <a href="${comment.post.fullPath!}#comment-wrapper" class="title has-link-black-ter is-size-6 has-text-weight-normal">${comment.content!}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
<@postTag method="latest" top="5">
|
<@postTag method="latest" top="5">
|
||||||
<#list posts as post>
|
<#list posts as post>
|
||||||
<article class="media">
|
<article class="media">
|
||||||
<#if post.thumbnail?? && post.thumbnail!=''>
|
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
|
||||||
<a href="${context!}/archives/${post.url!}" class="media-left">
|
<a href="${post.fullPath!}" class="media-left">
|
||||||
<p class="image is-64x64">
|
<p class="image is-64x64">
|
||||||
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
|
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
|
||||||
</p>
|
</p>
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
<div style="padding-top: 10px;">
|
<div style="padding-top: 10px;">
|
||||||
<time class="has-text-grey is-size-7 is-uppercase" datetime="${post.createTime!}">${post.createTime?string["yyyy-MM-dd EE"]}</time>
|
<time class="has-text-grey is-size-7 is-uppercase" datetime="${post.createTime!}">${post.createTime?string["yyyy-MM-dd EE"]}</time>
|
||||||
</div>
|
</div>
|
||||||
<a href="${context!}/archives/${post.url!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
|
<a href="${post.fullPath!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
<#list posts as post>
|
<#list posts as post>
|
||||||
<#if post_index lt 3>
|
<#if post_index lt 3>
|
||||||
<article class="media">
|
<article class="media">
|
||||||
<#if post.thumbnail?? && post.thumbnail!=''>
|
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
|
||||||
<a href="${context!}/archives/${post.url!}" class="media-left">
|
<a href="${post.fullPath!}" class="media-left">
|
||||||
<p class="image is-64x64">
|
<p class="image is-64x64">
|
||||||
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
|
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
|
||||||
</p>
|
</p>
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
<div class="media-content">
|
<div class="media-content">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div><time class="has-text-grey is-size-7 is-uppercase" datetime="${post.createTime!}">${post.createTime?string["yyyy-MM-dd EE"]}</time></div>
|
<div><time class="has-text-grey is-size-7 is-uppercase" datetime="${post.createTime!}">${post.createTime?string["yyyy-MM-dd EE"]}</time></div>
|
||||||
<a href="${context!}/archives/${post.url!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
|
<a href="${post.fullPath!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
标签云
|
标签云
|
||||||
</h3>
|
</h3>
|
||||||
<#list tags as tag>
|
<#list tags as tag>
|
||||||
<a href="${context!}/tags/${tag.slugName!}" style="font-size:<#if tag.name?length gt 7> ${tag.postCount+(tag.name?length)}<#else>${tag.postCount+(tag.name?length)*2}</#if>px">${tag.name!}</a>
|
<a href="${tag.fullPath!}" style="font-size:<#if tag.name?length gt 7> ${tag.postCount+(tag.name?length)}<#else>${tag.postCount+(tag.name?length)*2}</#if>px">${tag.name!}</a>
|
||||||
</#list>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<#include "layout/comment/comment.ftl">
|
<#include "layout/comment/comment.ftl">
|
||||||
<@layout title="链接 - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/links">
|
<@layout title="链接 - ${blog_title!}" canonical="${links_url!}">
|
||||||
|
|
||||||
<#include "layout/widget/links.ftl">
|
<#include "layout/widget/links.ftl">
|
||||||
<div class="card widget">
|
<div class="card widget">
|
||||||
|
|
24
photos.ftl
24
photos.ftl
|
@ -6,22 +6,22 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
|
||||||
<title>${title!}</title>
|
<title>${title!}</title>
|
||||||
|
|
||||||
<meta name="keywords" content="${keywords!}"/>
|
<meta name="keywords" content="${meta_keywords!}"/>
|
||||||
<meta name="description" content="${description!}">
|
<meta name="description" content="${meta_description!}">
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:title" content="${title!}">
|
<meta property="og:title" content="${title!}">
|
||||||
<meta property="og:site_name" content="${title!}">
|
<meta property="og:site_name" content="${title!}">
|
||||||
<meta property="og:description" content="${description!}">
|
<meta property="og:description" content="${meta_description!}">
|
||||||
<meta property="og:locale" content="zh">
|
<meta property="og:locale" content="zh">
|
||||||
<meta property="og:image" content="${user.avatar!}">
|
<meta property="og:image" content="${user.avatar!}">
|
||||||
<meta name="twitter:card" content="summary">
|
<meta name="twitter:card" content="summary">
|
||||||
<meta name="twitter:title" content="${title!}">
|
<meta name="twitter:title" content="${title!}">
|
||||||
<meta name="twitter:description" content="${description!}">
|
<meta name="twitter:description" content="${meta_description!}">
|
||||||
<meta name="twitter:image" content="${user.avatar!}">
|
<meta name="twitter:image" content="${user.avatar!}">
|
||||||
|
|
||||||
<link rel="canonical" href="${canonical!}"/>
|
<link rel="canonical" href="${canonical!}"/>
|
||||||
|
|
||||||
<link rel="alternative" href="${context!}/atom" title="${options.blog_title!}" type="application/atom+xml">
|
<link rel="alternative" href="${atom_url!}" title="${blog_title!}" type="application/atom+xml">
|
||||||
|
|
||||||
<@global.head />
|
<@global.head />
|
||||||
|
|
||||||
|
@ -33,10 +33,10 @@
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
href="${settings.cdn_outdatedbrowser_css!}">
|
href="${settings.cdn_outdatedbrowser_css!}">
|
||||||
|
|
||||||
<link rel="stylesheet" href="${static!}/source/css/style.css">
|
<link rel="stylesheet" href="${theme_base!}/source/css/style.css">
|
||||||
<link rel="stylesheet" href="${static!}/source/css/bundle.css">
|
<link rel="stylesheet" href="${theme_base!}/source/css/bundle.css">
|
||||||
<link rel="stylesheet" href="${static!}/source/css/back-to-top.css">
|
<link rel="stylesheet" href="${theme_base!}/source/css/back-to-top.css">
|
||||||
<link rel="stylesheet" href="${static!}/source/lib/lg/css/lightgallery.css">
|
<link rel="stylesheet" href="${theme_base!}/source/lib/lg/css/lightgallery.css">
|
||||||
</head>
|
</head>
|
||||||
<body class="is-3-column">
|
<body class="is-3-column">
|
||||||
<@navbar 'page' />
|
<@navbar 'page' />
|
||||||
|
@ -77,9 +77,9 @@
|
||||||
<#include "./layout/plugin/back-to-top.ftl">
|
<#include "./layout/plugin/back-to-top.ftl">
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
<script src="${static!}/source/lib/lg/js/lightgallery.min.js"></script>
|
<script src="${theme_base!}/source/lib/lg/js/lightgallery.min.js"></script>
|
||||||
<script src="${static!}/source/lib/lg/js/lg-thumbnail.min.js"></script>
|
<script src="${theme_base!}/source/lib/lg/js/lg-thumbnail.min.js"></script>
|
||||||
<script src="${static!}/source/lib/lg/js/lg-fullscreen.min.js"></script>
|
<script src="${theme_base!}/source/lib/lg/js/lg-fullscreen.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var views = []
|
var views = []
|
||||||
<@photoTag method="listTeams">
|
<@photoTag method="listTeams">
|
||||||
|
|
2
post.ftl
2
post.ftl
|
@ -1,5 +1,5 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="${post.title!} - ${options.blog_title!}" keywords="${options.seo_keywords!},${tagWords!}" description="${post.summary!}" canonical="${context!}/archives/${post.url!}">
|
<@layout title="${post.title!} - ${blog_title!}" canonical="${post.fullPath!}">
|
||||||
<@article post,'page',"post",false />
|
<@article post,'page',"post",false />
|
||||||
</@layout>
|
</@layout>
|
38
search.ftl
38
search.ftl
|
@ -1,31 +1,29 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="搜索:${keyword} - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/search?keyword=${keyword}">
|
<@layout title="搜索:${keyword!} - ${blog_title!}" canonical="${context!}/search?keyword=${keyword!}">
|
||||||
<#list posts.content as post>
|
<#list posts.content as post>
|
||||||
<@article post,'index','null',true />
|
<@article post,'index','null',true />
|
||||||
</#list>
|
</#list>
|
||||||
<#if posts.getTotalPages() gt 0>
|
<#if posts.getTotalPages() gt 0>
|
||||||
<div class="card card-transparent">
|
<div class="card card-transparent">
|
||||||
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
|
||||||
<div class="pagination-previous<#if posts.number gt 0><#else > is-invisible is-hidden-mobile</#if>">
|
<@paginationTag method="search" page="${posts.number}" total="${posts.totalPages}" display="3" keyword="${keyword!}">
|
||||||
<#if posts.number == 1>
|
<div class="pagination-previous<#if pagination.hasPrev><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
<a class="is-flex-grow has-text-black-ter" href="${context!}/search?keyword=${keyword}">上一页</a>
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.prevPageFullPath!}">上一页</a>
|
||||||
<#else>
|
</div>
|
||||||
<a class="is-flex-grow has-text-black-ter" href="${context!}/search/page/${posts.number}?keyword=${keyword}">上一页</a>
|
<div class="pagination-next<#if pagination.hasNext><#else > is-invisible is-hidden-mobile</#if>">
|
||||||
</#if>
|
<a class="is-flex-grow has-text-black-ter" href="${pagination.nextPageFullPath!}">下一页</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="pagination-next<#if posts.getTotalPages() gt posts.number+1><#else > is-invisible is-hidden-mobile</#if>">
|
<ul class="pagination-list is-hidden-mobile">
|
||||||
<a class="is-flex-grow has-text-black-ter" href="${context!}/search/page/${posts.number+2}?keyword=${keyword}">下一页</a>
|
<#list pagination.rainbowPages as number>
|
||||||
</div>
|
<#if number.isCurrent>
|
||||||
<ul class="pagination-list is-hidden-mobile">
|
<li><a class="pagination-link is-current" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
<#list rainbow as r>
|
<#else>
|
||||||
<#if r == posts.number+1>
|
<li><a class="pagination-link has-text-black-ter" href="${number.fullPath!}">${number.page!}</a></li>
|
||||||
<li><a class="pagination-link is-current" href="${context!}/search/page/${posts.number+1}?keyword=${keyword}">${posts.number+1}</a></li>
|
</#if>
|
||||||
<#else>
|
</#list>
|
||||||
<li><a class="pagination-link " href="${context!}/search/page/${r}?keyword=${keyword}">${r}</a></li>
|
</ul>
|
||||||
</#if>
|
</@paginationTag>
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
<#else>
|
<#else>
|
||||||
|
|
|
@ -195,6 +195,28 @@ post:
|
||||||
# label: dark
|
# label: dark
|
||||||
# - value: light
|
# - value: light
|
||||||
# label: light
|
# label: light
|
||||||
|
comment_enable:
|
||||||
|
name: comment_enable
|
||||||
|
label: 显示评论
|
||||||
|
type: radio
|
||||||
|
data-type: bool
|
||||||
|
default: true
|
||||||
|
options:
|
||||||
|
- value: true
|
||||||
|
label: 开启
|
||||||
|
- value: false
|
||||||
|
label: 关闭
|
||||||
|
post_thumbnail_enable:
|
||||||
|
name: post_thumbnail_enable
|
||||||
|
label: 显示文章封面图
|
||||||
|
type: radio
|
||||||
|
data-type: bool
|
||||||
|
default: true
|
||||||
|
options:
|
||||||
|
- value: true
|
||||||
|
label: 开启
|
||||||
|
- value: false
|
||||||
|
label: 关闭
|
||||||
social:
|
social:
|
||||||
label: 博客信息
|
label: 博客信息
|
||||||
items:
|
items:
|
||||||
|
@ -242,11 +264,7 @@ social:
|
||||||
name: social_free
|
name: social_free
|
||||||
label: 底部自定义
|
label: 底部自定义
|
||||||
type: textarea
|
type: textarea
|
||||||
default: '<p style="text-align: center; line-height: 20px;margin: 0px 0px">
|
default: ',Powered by <a href="https://github.com/halo-dev/halo" target="_blank">Halo</a> & <a href="https://github.com/jinqilin721/halo-theme-fantastic" target="_blank">xinac-fantastic</a>'
|
||||||
Thanks for <a href="https://halo.run/" target="_blank" rel="nofollow">Halo</a> & <a
|
|
||||||
href="//www.upyun.com" target="_blank" rel="nofollow"><img
|
|
||||||
src="//www.upyun.com/static/90X45.png" width="56" height="28" style="margin: -5px 0px"></a>
|
|
||||||
</p>'
|
|
||||||
|
|
||||||
plugins:
|
plugins:
|
||||||
label: 插件
|
label: 插件
|
||||||
|
@ -266,7 +284,7 @@ plugins:
|
||||||
name: music_id
|
name: music_id
|
||||||
label: 外链音乐Id (如果已开启音乐播放器, 此项必填)
|
label: 外链音乐Id (如果已开启音乐播放器, 此项必填)
|
||||||
type: text
|
type: text
|
||||||
default: ''
|
default: '379014204'
|
||||||
placeholder: '外链音乐Id'
|
placeholder: '外链音乐Id'
|
||||||
kanbanniang:
|
kanbanniang:
|
||||||
name: kanbanniang
|
name: kanbanniang
|
||||||
|
@ -305,7 +323,7 @@ plugins:
|
||||||
name: time_start
|
name: time_start
|
||||||
label: 开始时间 (如果已开启博客计时, 此项必填)
|
label: 开始时间 (如果已开启博客计时, 此项必填)
|
||||||
type: text
|
type: text
|
||||||
default: ''
|
default: '2020-01-01 00:00:00'
|
||||||
placeholder: '形如2019-08-10 00:00:00格式'
|
placeholder: '形如2019-08-10 00:00:00格式'
|
||||||
caidai:
|
caidai:
|
||||||
name: caidai
|
name: caidai
|
||||||
|
@ -348,9 +366,7 @@ custom_links:
|
||||||
name: links_top
|
name: links_top
|
||||||
label: 顶部链接
|
label: 顶部链接
|
||||||
type: textarea
|
type: textarea
|
||||||
default: '<a class="navbar-item" target="_blank" title="Download on GitHub" href="https://github.com/halo-dev/halo-theme-icarus">
|
default: ''
|
||||||
<i class="fab fa-github"></i>
|
|
||||||
</a>'
|
|
||||||
links_footer:
|
links_footer:
|
||||||
name: links_footer
|
name: links_footer
|
||||||
label: 底部链接
|
label: 底部链接
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="${sheet.title} - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/s/${sheet.url!}">
|
<@layout title="${sheet.title!} - ${blog_title!}" canonical="${sheet.fullPath!}">
|
||||||
<@article sheet,'page',"sheet",false />
|
<@article sheet,'page',"sheet",false />
|
||||||
</@layout>
|
</@layout>
|
2
tag.ftl
2
tag.ftl
|
@ -1,5 +1,5 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="标签:${tag.name!} - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/tags/${tag.slugName!}">
|
<@layout title="标签:${tag.name!} - ${blog_title!}" canonical="${tag.fullPath!}">
|
||||||
<#include "layout/tag.ftl">
|
<#include "layout/tag.ftl">
|
||||||
</@layout>
|
</@layout>
|
2
tags.ftl
2
tags.ftl
|
@ -1,5 +1,5 @@
|
||||||
<#include "layout/layout.ftl">
|
<#include "layout/layout.ftl">
|
||||||
<#include "layout/common/article.ftl">
|
<#include "layout/common/article.ftl">
|
||||||
<@layout title="标签 - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/tags">
|
<@layout title="标签 - ${blog_title!}" canonical="${tags_url!}">
|
||||||
<#include "layout/tags.ftl">
|
<#include "layout/tags.ftl">
|
||||||
</@layout>
|
</@layout>
|
19
theme.yaml
19
theme.yaml
|
@ -1,10 +1,11 @@
|
||||||
id: lwj-fantastic
|
id: xinac-fantastic
|
||||||
name: Fantastic
|
name: Xinac-Fantastic
|
||||||
author:
|
author:
|
||||||
name: Quinn
|
name: 新逸Cary
|
||||||
website: https://github.com/imkundev
|
website: https://blog.xinac.cn
|
||||||
description:
|
description: 本主题fork自 Bursteretion ,原作者 imkundev,当前版本v1.3.0:https://github.com/jinqilin721/halo-theme-fantastic
|
||||||
logo: https://www.lwjppz.cn/avatar
|
logo: https://blog.xinac.cn/avatar
|
||||||
website: https://www.lwjppz.cn
|
website: https://github.com/jinqilin721/halo-theme-fantastic
|
||||||
repo: https://github.com/Bursteretion/halo-theme-fantastic
|
repo: https://github.com/jinqilin721/halo-theme-fantastic
|
||||||
version: 1.2
|
version: 1.3.0
|
||||||
|
require: 1.3.0
|
||||||
|
|
Loading…
Reference in New Issue