主题支持 Halo v1.3.0版本

pull/5/head
jinqilin721 2020-03-27 18:31:36 +08:00
parent c38dd6ed4d
commit 3230022571
32 changed files with 239 additions and 221 deletions

View File

@ -1,34 +1,55 @@
<#include "layout/layout.ftl">
<#include "layout/common/article.ftl">
<@layout title="归档 - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/archives">
<@postTag method="archiveYear">
<#list archives as archive>
<div class="card widget">
<div class="card-content">
<h3 class="tag is-link">
${archive.year?c}
</h3>
<div class="timeline">
<#list archive.posts as post>
<article class="media">
<#if post.thumbnail?? && post.thumbnail!=''>
<a href="${post.thumbnail}" class="media-left">
<p class="image is-64x64">
<img class="thumbnail" src="${context!}/archives/${post.url!}" alt="${post.title!}">
</p>
</a>
</#if>
<div class="media-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>
<a href="${context!}/archives/${post.url!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
</div>
<@layout title="归档 - ${blog_title!}" canonical="${archives_url!}">
<#list archives as archive>
<div class="card widget">
<div class="card-content">
<h3 class="tag is-link">
${archive.year?c}
</h3>
<div class="timeline">
<#list archive.posts as post>
<article class="media">
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
<a href="${post.thumbnail}" class="media-left">
<p class="image is-64x64">
<img class="thumbnail" src="${post.fullPath!}" alt="${post.title!}">
</p>
</a>
</#if>
<div class="media-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>
<a href="${post.fullPath!}" class="title has-link-black-ter is-size-6 has-text-weight-normal">${post.title!}</a>
</div>
</article>
</#list>
</div>
</div>
</article>
</#list>
</div>
</div>
</#list>
</@postTag>
</div>
</#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>

View File

@ -1,5 +1,5 @@
<#include "layout/layout.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">
</@layout>

View File

@ -1,5 +1,5 @@
<#include "layout/layout.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">
</@layout>

View File

@ -1,6 +1,6 @@
<#include "layout/layout.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>
<#if post.topPriority != 1>
<@article post,'index','null',true />
@ -9,25 +9,23 @@
<#if posts.getTotalPages() gt 0>
<div class="card card-transparent">
<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>">
<#if posts.number == 1>
<a class="is-flex-grow has-text-black-ter" href="${context!}">上一页</a>
<#else>
<a class="is-flex-grow has-text-black-ter" href="${context!}/page/${posts.number}">上一页</a>
</#if>
</div>
<div class="pagination-next<#if posts.getTotalPages() gt posts.number+1><#else > is-invisible is-hidden-mobile</#if>">
<a class="is-flex-grow has-text-black-ter" href="${context!}/page/${posts.number+2}">下一页</a>
</div>
<ul class="pagination-list is-hidden-mobile">
<#list rainbow as r>
<#if r == posts.number+1>
<li><a class="pagination-link is-current" href="${context!}/page/${posts.number+1}">${posts.number+1}</a></li>
<#else>
<li><a class="pagination-link" href="${context!}/page/${r}">${r}</a></li>
</#if>
</#list>
</ul>
<@paginationTag method="index" 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" href="${number.fullPath!}">${number.page!}</a></li>
</#if>
</#list>
</ul>
</@paginationTag>
</nav>
</div>
</#if>

View File

@ -1,7 +1,6 @@
<#include "layout/layout.ftl">
<#include "layout/common/article.ftl">
<@layout title="耳语 - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options
.seo_description!}" canonical="${context!}/journals">
<@layout title="耳语 - ${blog_title!}" canonical="${journals_url!}">
<div class="journals">
<#include "layout/journals/journals.ftl"/>
</div>

View File

@ -8,7 +8,7 @@
<@categoryTag method="list">
<#list categories as category>
<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-item">${category.name}</span>
</span>

View File

@ -3,7 +3,7 @@
<div class="card-content">
<nav class="breadcrumb" aria-label="breadcrumbs">
<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>
</ul>
</nav>
@ -17,31 +17,23 @@
<#if posts.getTotalPages() gt 0>
<div class="card card-transparent">
<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>">
<#if posts.number == 1>
<a class="is-flex-grow has-text-black-ter"
href="${context!}/categories/${category.slugName!}">上一页</a>
<#else>
<a class="is-flex-grow has-text-black-ter"
href="${context!}/categories/${category.slugName!}/page/${posts.number}">上一页</a>
</#if>
</div>
<div class="pagination-next<#if posts.getTotalPages() gt posts.number+1><#else > is-invisible is-hidden-mobile</#if>">
<a class="is-flex-grow has-text-black-ter"
href="${context!}/categories/${category.slugName!}/page/${posts.number+2}">下一页</a>
</div>
<ul class="pagination-list is-hidden-mobile">
<#list rainbow as r>
<#if r == posts.number+1>
<li><a class="pagination-link is-current"
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>
<@paginationTag method="categoryPosts" page="${posts.number}" total="${posts.totalPages}" display="3" slug="${category.slug!}">
<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>

View File

@ -4,10 +4,10 @@
<div class="card" <#if is_post??>style="display: block"</#if> >
<#if is_post?? || is_page?? || is_sheet??>
<#else >
<#if post.thumbnail?? && post.thumbnail!=''>
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
<div class="card-image">
<#if index>
<a href="${context!}/archives/${post.url!}">
<a href="${post.fullPath!}">
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
</a>
<#else>
@ -28,7 +28,7 @@
<div class="level-item">
<#list post.categories as category>
<a class="has-link-grey -link"
href="${context!}/categories/${category.slugName!}">${category.name!}</a>&nbsp;
href="${category.fullPath!}">${category.name!}</a>&nbsp;
</#list>
</div>
</#if>
@ -37,7 +37,7 @@
<div class="level-item">
<#list categories as category>
<a class="has-link-grey -link"
href="${context!}/categories/${category.slugName!}">${category.name!}</a>&nbsp;
href="${category.fullPath!}">${category.name!}</a>&nbsp;
</#list>
</div>
</#if>
@ -53,7 +53,7 @@
<#if is_post??>
<h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
<#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>
${post.title!}
</#if>
@ -61,7 +61,7 @@
<#else>
<h1 class="title is-size-5 is-size-5-mobile has-text-weight-normal">
<#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>
${post.title!}
</#if>
@ -82,7 +82,7 @@
<div class="level-item">
<span class="is-size-6 has-text-grey has-mr-7">#</span>
<#list tags as tag>
<a class="has-link-grey -link" style="margin-left: 10px;" href="${context!}/tags/${tag.slugName!}">${tag.name!}</a>&nbsp;
<a class="has-link-grey -link" style="margin-left: 10px;" href="${tag.fullPath!}">${tag.name!}</a>&nbsp;
</#list>
</div>
</#if>
@ -101,7 +101,7 @@
<div class="level-item">
<span class="is-size-6 has-text-grey has-mr-7">#</span>
<#list post.tags as tag>
<a class="has-link-grey -link" style="margin-left: 10px;" href="${context!}/tags/${tag.slugName!}">${tag.name!}</a>&nbsp;
<a class="has-link-grey -link" style="margin-left: 10px;" href="${tag.fullPath!}">${tag.name!}</a>&nbsp;
</#list>
</div>
</#if>
@ -109,7 +109,7 @@
<#if post.summary?? && post.summary!=''>
<div class="level-end">
<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>
</#if>
@ -124,7 +124,7 @@
本文由 <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>
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名<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')}
</p>
</div>
@ -149,14 +149,14 @@
</#if>
</#if>
<#if !index && (nextPost?? || prePost??)>
<#if !index && (nextPost?? || prevPost??)>
<div class="card card-transparent">
<div class="level post-navigation is-flex-wrap is-mobile">
<div class="level-start">
<#if prePost??>
<a class="level level-item has-link-grey article-nav-prev" href="${context!}/archives/${prePost.url!}">
<#if prevPost??>
<a class="level level-item has-link-grey article-nav-prev" href="${prevPost.fullPath!}">
<i class="level-item fas fa-chevron-left"></i>
<span class="level-item">${prePost.title!}</span>
<span class="level-item">${prevPost.title!}</span>
</a>
<#else>
<a class="level level-item has-link-grey article-nav-prev" href="${context!}/">
@ -167,7 +167,7 @@
</div>
<div class="level-end">
<#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>
<i class="level-item fas fa-chevron-right"></i>
</a>
@ -182,7 +182,7 @@
</div>
</#if>
<#if !index>
<#if !index && settings.comment_enable?? && settings.comment_enable>
<div class="card" id="comment-wrapper">
<div class="card-content">
<h3 class="title is-5 has-text-weight-normal">评论</h3>

View File

@ -53,11 +53,11 @@
</#if>
<#if settings.social_free?? && settings.social_free!=''>
<p style="text-align: left; line-height: 20px; margin: 0">
&copy; ${.now?string('yyyy')} ${user.nickname!}&nbsp;${settings.social_free!}
&copy; ${.now?string('yyyy')} ${user.nickname!}&nbsp;${settings.social_free!}&nbsp;&nbsp;v${version!}
</p>
</#if>
<#if settings.caidai!true>
<script src="${static!}/source/lib/caidai.js"></script>
<script src="${theme_base!}/source/lib/caidai.js"></script>
</#if>
<#if settings.xiantiao!true>
<script type="text/javascript"
@ -66,7 +66,7 @@
</script>
</#if>
<#if settings.dianji!true>
<script src="${static!}/source/lib/dianji.js"></script>
<script src="${theme_base!}/source/lib/dianji.js"></script>
</#if>
<@global.footer />
</div>

View File

@ -15,15 +15,15 @@
<#if post.topPriority == 1>
<div class="blog-slider__item swiper-slide">
<div class="blog-slider__img">
<a href="${context!}/archives/${post.url!}">
<a href="${post.fullPath!}">
<img src="${post.thumbnail!}" alt="${post.title!}">
</a>
</div>
<div class="blog-slider__content">
<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>
<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>
</#if>

View File

@ -3,10 +3,10 @@
<div class="container ">
<div class="navbar-brand transparent">
<a class="navbar-item navbar-logo" href="${context!}">
<#if options.blog_logo?? && options.blog_logo!=''>
<img src="${options.blog_logo!}" alt="${options.blog_title!}" height="28">
<#if blog_logo?? && blog_logo!=''>
<img src="${blog_logo!}" alt="${blog_title!}" height="28">
<#else>
${options.blog_title!}
${blog_title!}
</#if>
</a>
<span class="navbar-burger burger" data-target="navMenu">

View File

@ -4,12 +4,12 @@
<#include "../plugin/mathjax.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??>
<script src="${static!}/source/js/widget_pin.js"></script>
<script src="${theme_base!}/source/js/widget_pin.js"></script>
</#if>
<#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>
new Toc({
wrapperId: 'post-article',

View File

@ -1,4 +1,4 @@
<#macro layout title,keywords,description,canonical>
<#macro layout title,canonical>
<#include "common/navbar.ftl">
<#include "common/widget.ftl">
<#include "common/module.ftl">
@ -9,23 +9,23 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<title>${title!}</title>
<meta name="keywords" content="${keywords!}"/>
<meta name="description" content="${description!}">
<meta name="keywords" content="${meta_keywords!}"/>
<meta name="description" content="${meta_description!}">
<meta property="og:type" content="website">
<meta property="og:title" content="${title!}">
<meta property="og:url" content="${canonical}">
<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:image" content="${user.avatar!}">
<meta name="twitter:card" content="summary">
<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!}">
<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 />
@ -71,16 +71,16 @@
<link rel="stylesheet" href="${settings.cdn_outdatedbrowser_css!}">
<script src="${settings.cdn_pace_js!}"></script>
<link rel="stylesheet" href="${static!}/source/css/style.css">
<link rel="stylesheet" href="${static!}/source/css/bundle.css">
<link rel="stylesheet" href="${static!}/source/css/back-to-top.css">
<link rel="stylesheet" href="${theme_base!}/source/css/style.css">
<link rel="stylesheet" href="${theme_base!}/source/css/bundle.css">
<link rel="stylesheet" href="${theme_base!}/source/css/back-to-top.css">
<#include "./plugin/style.theme.ftl">
<#if post?? || journals??>
<link rel="stylesheet" type="text/css" href="${static!}/source/lib/prism/css/prism-${settings.code_pretty!'Default'}.css"/>
<script type="text/javascript" src="${static!}/source/lib/prism/js/prism.js"></script>
<link rel="stylesheet" type="text/css" href="${theme_base!}/source/lib/prism/css/prism-${settings.code_pretty!'Default'}.css"/>
<script type="text/javascript" src="${theme_base!}/source/lib/prism/js/prism.js"></script>
</#if>
<#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!}">
</#if>
@ -137,8 +137,8 @@
<#list categories as category>
<#if category_index <= 4>
<li>
<a href="${context!}/categories/${category.slugName!}"
style="text-transform:capitalize">${category.name}</a>
<a href="${category.fullPath!}"
style="text-transform:capitalize">${category.name!}</a>
</li>
</#if>
</#list>

View File

@ -1 +1 @@
<script src="${static!}/source/js/animation.js"></script>
<script src="${theme_base!}/source/js/animation.js"></script>

View File

@ -12,7 +12,7 @@
<#-- <header class="ins-section-header">最新文章</header>-->
<#-- <@postTag method="latest" top="5">-->
<#-- <#list posts as post>-->
<#-- <a href="${context!}/archives/${post.url!}">-->
<#-- <a href="${post.fullPath!}">-->
<#-- <div class="ins-selectable ins-search-item">-->
<#-- <header><i class="fa fa-file"></i><span class="ins-title">${post.title!}</span>-->
<#-- </header>-->
@ -28,13 +28,13 @@
<div class="columns is-multiline" style="padding: 1.5em 2em">
<@categoryTag method="list">
<#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="ins-selectable ins-search-item">-->
<#-- <header>-->
<#-- <i class="fa fa-folder"></i>-->
<#-- <span class="ins-title">${category.name!}</span>-->
<#-- <span class="ins-slug">${category.slugName!}</span>-->
<#-- <span class="ins-slug">${category.slug!}</span>-->
<#-- </header>-->
<#-- </div>-->
</a>
@ -50,7 +50,7 @@
<div class="columns is-multiline" style="padding: 1.5em 2em">
<@tagTag method="list">
<#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="ins-selectable ins-search-item">-->

View File

@ -4,8 +4,8 @@
<div class="card-content">
<nav class="breadcrumb" aria-label="breadcrumbs">
<ul>
<li><a href="${context!}/tags">标签</a></li>
<li class="is-active"><a href="#" aria-current="page">${tag.name}</a></li>
<li><a href="${tags_url!}">标签</a></li>
<li class="is-active"><a href="#" aria-current="page">${tag.name!}</a></li>
</ul>
</nav>
</div>
@ -18,30 +18,23 @@
<#if posts.getTotalPages() gt 0>
<div class="card card-transparent">
<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>">
<#if posts.number == 1>
<a class="is-flex-grow has-text-black-ter" href="${context!}/tags/${tag.slugName!}">上一页</a>
<#else>
<a class="is-flex-grow has-text-black-ter"
href="${context!}/tags/${tag.slugName!}/page/${posts.number}">上一页</a>
</#if>
</div>
<div class="pagination-next<#if posts.getTotalPages() gt posts.number+1><#else > is-invisible is-hidden-mobile</#if>">
<a class="is-flex-grow has-text-black-ter"
href="${context!}/tags/${tag.slugName!}/page/${posts.number+2}">下一页</a>
</div>
<ul class="pagination-list is-hidden-mobile">
<#list rainbow as r>
<#if r == posts.number+1>
<li><a class="pagination-link is-current"
href="${context!}/tags/${tag.slugName!}/page/${posts.number+1}">${posts.number+1}</a>
</li>
<#else>
<li><a class="pagination-link has-text-black-ter"
href="${context!}/tags/${tag.slugName!}/page/${r}">${r}</a></li>
</#if>
</#list>
</ul>
<@paginationTag method="tagPosts" page="${posts.number}" total="${posts.totalPages}" display="3" slug="${tag.slug!}">
<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>

View File

@ -8,7 +8,7 @@
<@tagTag method="list">
<#list tags as tag>
<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 is-grey">${tag.postCount!}</span>
</a>

View File

@ -8,8 +8,8 @@
<#list posts as post>
<#if post_index lt 3>
<article class="media">
<#if post.thumbnail?? && post.thumbnail!=''>
<a href="${context!}/archives/${post.url!}" class="media-left">
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
<a href="${post.fullPath!}" class="media-left">
<p class="image is-64x64">
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
</p>
@ -18,7 +18,7 @@
<div class="media-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>
<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>
</article>

View File

@ -113,7 +113,7 @@ box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1);">
<i class="fab fa-telegram"></i>
</a>
</#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>
</a>
</div>

View File

@ -10,7 +10,7 @@
<div class="media-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>
${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>

View File

@ -6,8 +6,8 @@
<@postTag method="latest" top="5">
<#list posts as post>
<article class="media">
<#if post.thumbnail?? && post.thumbnail!=''>
<a href="${context!}/archives/${post.url!}" class="media-left">
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
<a href="${post.fullPath!}" class="media-left">
<p class="image is-64x64">
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
</p>
@ -18,7 +18,7 @@
<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>
</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>
</article>

View File

@ -8,8 +8,8 @@
<#list posts as post>
<#if post_index lt 3>
<article class="media">
<#if post.thumbnail?? && post.thumbnail!=''>
<a href="${context!}/archives/${post.url!}" class="media-left">
<#if post.thumbnail?? && post.thumbnail!='' && (settings.post_thumbnail_enable?? && settings.post_thumbnail_enable)>
<a href="${post.fullPath!}" class="media-left">
<p class="image is-64x64">
<img class="thumbnail" src="${post.thumbnail!}" alt="${post.title!}">
</p>
@ -18,7 +18,7 @@
<div class="media-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>
<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>
</article>

View File

@ -6,7 +6,7 @@
标签云
</h3>
<#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>
</div>
</div>

View File

@ -1,7 +1,7 @@
<#include "layout/layout.ftl">
<#include "layout/common/article.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">
<div class="card widget">

View File

@ -6,22 +6,22 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<title>${title!}</title>
<meta name="keywords" content="${keywords!}"/>
<meta name="description" content="${description!}">
<meta name="keywords" content="${meta_keywords!}"/>
<meta name="description" content="${meta_description!}">
<meta property="og:type" content="website">
<meta property="og:title" 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:image" content="${user.avatar!}">
<meta name="twitter:card" content="summary">
<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!}">
<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 />
@ -33,10 +33,10 @@
<link rel="stylesheet"
href="${settings.cdn_outdatedbrowser_css!}">
<link rel="stylesheet" href="${static!}/source/css/style.css">
<link rel="stylesheet" href="${static!}/source/css/bundle.css">
<link rel="stylesheet" href="${static!}/source/css/back-to-top.css">
<link rel="stylesheet" href="${static!}/source/lib/lg/css/lightgallery.css">
<link rel="stylesheet" href="${theme_base!}/source/css/style.css">
<link rel="stylesheet" href="${theme_base!}/source/css/bundle.css">
<link rel="stylesheet" href="${theme_base!}/source/css/back-to-top.css">
<link rel="stylesheet" href="${theme_base!}/source/lib/lg/css/lightgallery.css">
</head>
<body class="is-3-column">
<@navbar 'page' />
@ -77,9 +77,9 @@
<#include "./layout/plugin/back-to-top.ftl">
</body>
<script src="${static!}/source/lib/lg/js/lightgallery.min.js"></script>
<script src="${static!}/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/lightgallery.min.js"></script>
<script src="${theme_base!}/source/lib/lg/js/lg-thumbnail.min.js"></script>
<script src="${theme_base!}/source/lib/lg/js/lg-fullscreen.min.js"></script>
<script>
var views = []
<@photoTag method="listTeams">

View File

@ -1,5 +1,5 @@
<#include "layout/layout.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 />
</@layout>

View File

@ -1,31 +1,29 @@
<#include "layout/layout.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>
<@article post,'index','null',true />
</#list>
<#if posts.getTotalPages() gt 0>
<div class="card card-transparent">
<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>">
<#if posts.number == 1>
<a class="is-flex-grow has-text-black-ter" href="${context!}/search?keyword=${keyword}">上一页</a>
<#else>
<a class="is-flex-grow has-text-black-ter" href="${context!}/search/page/${posts.number}?keyword=${keyword}">上一页</a>
</#if>
</div>
<div class="pagination-next<#if posts.getTotalPages() gt posts.number+1><#else > is-invisible is-hidden-mobile</#if>">
<a class="is-flex-grow has-text-black-ter" href="${context!}/search/page/${posts.number+2}?keyword=${keyword}">下一页</a>
</div>
<ul class="pagination-list is-hidden-mobile">
<#list rainbow as r>
<#if r == posts.number+1>
<li><a class="pagination-link is-current" href="${context!}/search/page/${posts.number+1}?keyword=${keyword}">${posts.number+1}</a></li>
<#else>
<li><a class="pagination-link " href="${context!}/search/page/${r}?keyword=${keyword}">${r}</a></li>
</#if>
</#list>
</ul>
<@paginationTag method="search" page="${posts.number}" total="${posts.totalPages}" display="3" keyword="${keyword!}">
<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>
<#else>

View File

@ -195,6 +195,28 @@ post:
# label: dark
# - value: 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:
label: 博客信息
items:
@ -242,11 +264,7 @@ social:
name: social_free
label: 底部自定义
type: textarea
default: '<p style="text-align: center; line-height: 20px;margin: 0px 0px">
Thanks for <a href="https://halo.run/" target="_blank" rel="nofollow">Halo</a>&nbsp;&nbsp;&nbsp;&&nbsp;&nbsp;&nbsp;<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>'
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>'
plugins:
label: 插件
@ -266,7 +284,7 @@ plugins:
name: music_id
label: 外链音乐Id (如果已开启音乐播放器, 此项必填)
type: text
default: ''
default: '379014204'
placeholder: '外链音乐Id'
kanbanniang:
name: kanbanniang
@ -305,7 +323,7 @@ plugins:
name: time_start
label: 开始时间 (如果已开启博客计时, 此项必填)
type: text
default: ''
default: '2020-01-01 00:00:00'
placeholder: '形如2019-08-10 00:00:00格式'
caidai:
name: caidai
@ -348,9 +366,7 @@ custom_links:
name: links_top
label: 顶部链接
type: textarea
default: '<a class="navbar-item" target="_blank" title="Download on GitHub" href="https://github.com/halo-dev/halo-theme-icarus">
<i class="fab fa-github"></i>
</a>'
default: ''
links_footer:
name: links_footer
label: 底部链接

View File

@ -1,5 +1,5 @@
<#include "layout/layout.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 />
</@layout>

View File

@ -1,5 +1,5 @@
<#include "layout/layout.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">
</@layout>

View File

@ -1,5 +1,5 @@
<#include "layout/layout.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">
</@layout>

View File

@ -1,10 +1,11 @@
id: lwj-fantastic
name: Fantastic
id: xinac-fantastic
name: Xinac-Fantastic
author:
name: Quinn
website: https://github.com/imkundev
description:
logo: https://www.lwjppz.cn/avatar
website: https://www.lwjppz.cn
repo: https://github.com/Bursteretion/halo-theme-fantastic
version: 1.2
name: 新逸Cary
website: https://blog.xinac.cn
description: 本主题fork自 Bursteretion ,原作者 imkundev当前版本v1.3.0https://github.com/jinqilin721/halo-theme-fantastic
logo: https://blog.xinac.cn/avatar
website: https://github.com/jinqilin721/halo-theme-fantastic
repo: https://github.com/jinqilin721/halo-theme-fantastic
version: 1.3.0
require: 1.3.0