Compare commits
15 Commits
00de847f2c
...
d64d359ae9
Author | SHA1 | Date |
---|---|---|
julylies | d64d359ae9 | |
julylies | 70894d8d2b | |
julylies | 9ed73a84a9 | |
julylies | 55ff980c13 | |
julylies | 354f998c86 | |
julylies | 4319fb3c1a | |
julylies | 388181756b | |
julylies | ce1fe8a77f | |
julylies | 4fe9ac8fab | |
julylies | 14bbd3e15f | |
julylies | fef94434f1 | |
julylies | 5aeb2e03e9 | |
julylies | a0a632cff7 | |
julylies | 815826f6b4 | |
july | 313dd0a78e |
6
400.ftl
6
400.ftl
|
@ -1,11 +1,11 @@
|
|||
<#include "header.ftl" />
|
||||
<@head title="400-${blog_title!}"/>
|
||||
<@head title="400-${blog_title!}" />
|
||||
<main>
|
||||
<div class="wrap">
|
||||
<div class="error-page">
|
||||
<h1>400</h1>
|
||||
<p>找不到页面啦</p>
|
||||
<img src="${theme_base!}/source/images/404.png"/>
|
||||
<p>嘤嘤嘤,找不到页面啦</p>
|
||||
<img src="${theme_base!}/source/images/404.png" />
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
6
404.ftl
6
404.ftl
|
@ -1,11 +1,11 @@
|
|||
<#include "header.ftl" />
|
||||
<@head title="404 - ${blog_title!}"/>
|
||||
<@head title="404 - ${blog_title!}" />
|
||||
<main>
|
||||
<div class="wrap">
|
||||
<div class="error-page">
|
||||
<h1>404</h1>
|
||||
<p>找不到页面啦</p>
|
||||
<img src="${theme_base!}/source/images/404.png"/>
|
||||
<p>嘤嘤嘤,找不到页面啦</p>
|
||||
<img src="${theme_base!}/source/images/404.png" />
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
2
500.ftl
2
500.ftl
|
@ -4,7 +4,7 @@
|
|||
<div class="wrap">
|
||||
<div class="error-page">
|
||||
<h1>500</h1>
|
||||
<p>出错了</p>
|
||||
<p>嘤嘤嘤,出错了</p>
|
||||
<img src="${theme_base!}/source/images/404.png"/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
42
archives.ftl
42
archives.ftl
|
@ -5,46 +5,6 @@
|
|||
<section class="home-title">
|
||||
<h1>归档</h1>
|
||||
</section>
|
||||
<#--<@categoryTag method="list">
|
||||
<#list categories as category>
|
||||
<span><a href="${category.fullPath!}">${category.name!}(${category.postCount!})</a></span>
|
||||
</#list>
|
||||
</@categoryTag>
|
||||
</section>
|
||||
<section class="home-posts">
|
||||
<@postTag method="archive" type="month">
|
||||
<div class="post-item">
|
||||
<#list archives as archive>
|
||||
<h2>${archive.year?c}-${archive.month?c}</h2>
|
||||
<ul>
|
||||
<#list archive.posts?sort_by("createTime")?reverse as post>
|
||||
<li>
|
||||
<a href="${post.fullPath!}">${post.title!}</a>
|
||||
<div class="post-meta">
|
||||
<time class="date">${post.createTime?string('yyyy-MM-dd')}</time>
|
||||
<span class="category">
|
||||
<#list post.categories as category>
|
||||
<a href="${category.fullPath!}" >
|
||||
${category.name!}
|
||||
</a>
|
||||
</#list>
|
||||
</span>
|
||||
<span class="tags">
|
||||
<#list post.tags as tag>
|
||||
<a href="${tag.fullPath}" class="tag">
|
||||
${tag.name}
|
||||
</a>
|
||||
</#list>
|
||||
</span>
|
||||
<span class="comments">${post.commentCount!}°C</span>
|
||||
</div>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</#list>
|
||||
</div>
|
||||
</@postTag>
|
||||
</section>-->
|
||||
<section class="home-posts">
|
||||
<@postTag method="archive" type="month">
|
||||
<div class="post-item">
|
||||
|
@ -63,4 +23,4 @@
|
|||
</section>
|
||||
</div>
|
||||
</main>
|
||||
<#include "footer.ftl">
|
||||
<#include "footer.ftl">
|
|
@ -1,5 +1,11 @@
|
|||
<#include "header.ftl">
|
||||
<@head title="分类:${category.name} - ${blog_title!}" />
|
||||
<#include "module/module_pageNav.ftl">
|
||||
<h1>分类:${category.name}</h1>
|
||||
<#include "module/post-module.ftl">
|
||||
<main>
|
||||
<div class="wrap min">
|
||||
<#include "module/module_post.ftl">
|
||||
<@pageNav method="categoryPosts" />
|
||||
</div>
|
||||
<main>
|
||||
<#include "footer.ftl">
|
||||
|
|
10
footer.ftl
10
footer.ftl
|
@ -78,12 +78,6 @@
|
|||
</div>
|
||||
</footer>
|
||||
<@global.footer />
|
||||
<script type='text/javascript' src="${theme_base!}/source/js/kico.js"></script>
|
||||
<script type='text/javascript' src="${theme_base!}/source/js/single.js"></script>
|
||||
<#if is_post??|| is_journals??>
|
||||
<script type='text/javascript' src="${theme_base!}/source/plugins/prism/prism.min.js"></script>
|
||||
</#if>
|
||||
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
|
||||
<script>var single = new Paul_Single({copyright: <#if settings.copy_notice!true>true<#else>false</#if>, night: <#if settings.night_mode=='1'>true<#else>false</#if>});</script>
|
||||
<#include "module/module_js.ftl"/>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
38
header.ftl
38
header.ftl
|
@ -27,11 +27,14 @@
|
|||
<meta name="site" content="${blog_url!}">
|
||||
<meta property="twitter:partner" content="ogwp">
|
||||
<link rel="canonical" href="${blog_url!}">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="${options.blog_favicon!}">
|
||||
<#if !(options.blog_favicon?? && options.blog_favicon!='')>
|
||||
<link rel="apple-touch-icon" type="images/x-icon" href="${theme_base!}/source/images/icon.png" sizes="180x180"/>
|
||||
</#if>
|
||||
<link rel="alternate" type="application/rss+xml" title="atom 1.0" href="${atom_url!}">
|
||||
<link href="${theme_base!}/source/css/kico.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="${theme_base!}/source/css/single.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="${theme_base!}/source/css/font-awesome-animation.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="${theme_base!}/source/plugins/prism/katex.min.css" rel="stylesheet" type="text/css"/>
|
||||
<#--<link href="https://fastly.jsdelivr.net/gh/FortAwesome/Font-Awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>-->
|
||||
<link href="https://fastly.jsdelivr.net/gh/FortAwesome/Font-Awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link rel="preload stylesheet" as="style" href="${theme_base!}/source/plugins/prism/themes/prism-${settings.Code_highlighting!}.css">
|
||||
|
@ -73,38 +76,7 @@
|
|||
<input class="text" type="search" name="keyword" placeholder="搜索什么呢つ﹏⊂" required>
|
||||
</form>
|
||||
<nav class="head-menu">
|
||||
<@menuTag method="tree">
|
||||
<#list menus?sort_by('priority') as menu>
|
||||
<#if menu.children?? && menu.children?size gt 0>
|
||||
<div class="has-child">
|
||||
</#if >
|
||||
<a <#if menu.url?? && menu.url?trim?length gt 0> href="${menu.url!}" target="${menu.target!}" </#if>>
|
||||
<span class="faa-parent animated-hover">
|
||||
<#if menu.icon?? && menu.icon?trim?length gt 0>
|
||||
<i class="${menu.icon}" aria-hidden="true"></i>
|
||||
</#if>${menu.name}
|
||||
</span>
|
||||
</a>
|
||||
<#if menu.children?? && menu.children?size gt 0>
|
||||
<div class="sub-menu">
|
||||
<#list menu.children?sort_by('priority') as child>
|
||||
<a href="${child.url!}" target="${child.target!}">
|
||||
<span class="faa-parent animated-hover">
|
||||
<#if child.icon?? && child.icon?trim?length gt 1>
|
||||
<i class="${child.icon}" aria-hidden="true"></i>
|
||||
</#if>${child.name}
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</#list>
|
||||
</div >
|
||||
</#if>
|
||||
<#if menu.children?? && menu.children?size gt 0>
|
||||
</div >
|
||||
</#if >
|
||||
</#list>
|
||||
</@menuTag>
|
||||
<#include "module/module_menu.ftl">
|
||||
</nav>
|
||||
</header>
|
||||
</#macro>
|
||||
|
||||
|
|
10
index.ftl
10
index.ftl
|
@ -1,4 +1,10 @@
|
|||
<#include "header.ftl">
|
||||
<@head title="${blog_title!}"/>
|
||||
<#include "module/post-module.ftl">
|
||||
<@head title="${blog_title!}" />
|
||||
<#include "module/module_pageNav.ftl">
|
||||
<main>
|
||||
<div class="wrap min">
|
||||
<#include "module/module_post.ftl">
|
||||
<@pageNav method="index" />
|
||||
</div>
|
||||
<main>
|
||||
<#include "footer.ftl">
|
|
@ -1,4 +1,4 @@
|
|||
<#include "header.ftl">
|
||||
<@head title="友情链接 -${blog_title!}" />
|
||||
<#include "module/links-module.ftl">
|
||||
<#include "module/module_links.ftl">
|
||||
<#include "footer.ftl">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<#macro comment target,type>
|
||||
<#if !post.disallowComment!false>
|
||||
<script src="//cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.min.js"></script>
|
||||
- <script src="${options.comment_internal_plugin_js!'//cdn.jsdelivr.net/gh/halo-dev/halo-comment@latest/dist/halo-comment.min.js'}"></script>
|
||||
- <halo-comment id="${post.id?c}" type="${type}"/>
|
||||
<script src="//cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.min.js"></script>
|
||||
<script src="${options.comment_internal_plugin_js!'//cdn.jsdelivr.net/gh/halo-dev/halo-comment@latest/dist/halo-comment.min.js'}"></script>
|
||||
<halo-comment id="${post.id?c}" type="${type}"/>
|
||||
</#if>
|
||||
</#macro>
|
|
@ -1,27 +0,0 @@
|
|||
<div class="wrap min">
|
||||
<h1>友情链接</h1>
|
||||
<article>
|
||||
<div class="links">
|
||||
<@linkTag method="listTeams">
|
||||
<#list teams as item>
|
||||
<#--><@global.comment target=sheet type="sheet" />-->
|
||||
<h3 class="link-title">
|
||||
<span class="fake-title">${((item.team!'')?length>0)?string((item.team!''), '小伙伴们')}</span>
|
||||
</h3>
|
||||
<ul class="link-items fontSmooth">
|
||||
<#list item.links?sort_by('priority')?reverse as link>
|
||||
<li class="link-item">
|
||||
<a class="link-item-inner effect-apollo" href="${link.url!}" title="${link.name!}" target="_blank">
|
||||
<img class="lazyload" src="${link.logo!}" >
|
||||
<#--<img class="lazyload" data-src="${link.logo!}" src="${theme_base!}/source/images/svg/loader/trans.ajax-spinner-preloader.svg" onerror="imgError(this)">-->
|
||||
<span class="sitename">${link.name!}</span>
|
||||
<div class="linkdes">${link.description!}</div>
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</#list>
|
||||
</@linkTag>
|
||||
</div>
|
||||
</article>
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<@menuTag method="list">
|
||||
<#--
|
||||
?sort_by('priority'):根据菜单的排序编号排序
|
||||
-->
|
||||
<#list menus?sort_by('priority') as menu>
|
||||
<li>
|
||||
<a href="${menu.url}" target="${menu.target!}">
|
||||
<#if menu.icon?? && menu.icon?trim?length gt 0>
|
||||
<i class="${menu.icon}" aria-hidden="true">
|
||||
</i>
|
||||
</#if>
|
||||
${menu.name}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</@menuTag>
|
|
@ -0,0 +1,103 @@
|
|||
<#--判断主页显示社交链接-->
|
||||
<#if is_index??>
|
||||
<section class="home-title">
|
||||
<h1>${blog_title!}</h1>
|
||||
<span>${user.description!}</span>
|
||||
<div class="home-social">
|
||||
<#--微信-->
|
||||
<#if settings.wechat?? && settings.wechat !=''>
|
||||
<a rel="nofollow" title="微信" target="_blank" href="javascript:void(0)" onMouseOut="hideImg()" onmouseover="showImg()">
|
||||
<i class="fa fa-weixin"></i>
|
||||
<div id="wxImg" style="display:none;height:50px;back-ground:#f00;position:absolute;">
|
||||
<img src="${settings.wechat!}">
|
||||
</div>
|
||||
</a>
|
||||
</#if>
|
||||
<#--新浪微博-->
|
||||
<#if settings.sina?? && settings.sina !=''>
|
||||
<a rel="nofollow" title="新浪微博" href="${settings.sina!}" target="_blank">
|
||||
<i class="fa fa-weibo"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--QQ-->
|
||||
<#if settings.qq?? && settings.qq !=''>
|
||||
<a rel="nofollow" title="QQ" href="${settings.qq!}" target="_blank">
|
||||
<i class="fa fa-qq"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--Github-->
|
||||
<#if settings.github?? && settings.github !=''>
|
||||
<a rel="nofollow" title="Github" href="${settings.github!}" target="_blank">
|
||||
<i class="fa fa-github"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--BiliBili-->
|
||||
<#if settings.bili?? && settings.bili !=''>
|
||||
<a rel="nofollow" title="BiliBili" href="${settings.bili!}" target="_blank">
|
||||
<i class="fa fa-bilibili"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--网易云音乐-->
|
||||
<#if settings.wangyiyun?? && settings.wangyiyun !=''>
|
||||
<a rel="nofollow" title="网易云音乐" href="${settings.wangyiyun!}" target="_blank">
|
||||
<i class="fa fa-music"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--Twitter-->
|
||||
<#if settings.twitter?? && settings.twitter !=''>
|
||||
${settings.home_social!}
|
||||
<a rel="nofollow" title="Twitter" href="${settings.twitter!}" target="_blank">
|
||||
<i class="fa fa-twitter"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--Facebook-->
|
||||
<#if settings.facebook?? && settings.facebook !=''>
|
||||
<a rel="nofollow" title="Facebook" href="${settings.Facebook!}" target="_blank">
|
||||
<i class="fa fa-facebook"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--简书-->
|
||||
<#-- <#if settings.jianshu?? && settings.jianshu !=''>
|
||||
${settings.home_social!}
|
||||
<a rel="nofollow" title="微信" href="http://weibo.com/234891753" target="_blank">
|
||||
<i class="fa fa-weibo"></i>
|
||||
</a>
|
||||
</#if>-->
|
||||
<#--CSDN-->
|
||||
<#--<#if settings.csdn?? && settings.csdn !=''>
|
||||
${settings.home_social!}
|
||||
<a rel="nofollow" title="微信" href="http://weibo.com/234891753" target="_blank">
|
||||
<i class="fa fa-weibo"></i>
|
||||
</a>
|
||||
</#if>-->
|
||||
<#--知乎-->
|
||||
<#if settings.zhihu?? && settings.zhihu !=''>
|
||||
<a rel="nofollow" title="知乎" href="${settings.zhihu!}" target="_blank">
|
||||
<i class="fa fa-zhihu"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--Telegram-->
|
||||
<#if settings.telegram?? && settings.telegram !=''>
|
||||
<a rel="nofollow" title="Telegram" href="${settings.telegram!}" target="_blank">
|
||||
<i class="fa fa-telegram"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--邮箱-->
|
||||
<#if settings.email?? && settings.email !=''>
|
||||
<a rel="nofollow" title="邮箱" href="${settings.email!}" target="_blank">
|
||||
<i class="fa fa-envelope" aria-hidden="true"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--Stack Overflow-->
|
||||
<#if settings.stackoverflow?? && settings.stackoverflow !=''>
|
||||
<a rel="nofollow" title="Stack Overflow" href="${settings.stackoverflow!}" target="_blank">
|
||||
<i class="fa fa-stack-overflow"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#--自定义-->
|
||||
<#if settings.customize_homeSocial?? && settings.customize_homeSocial != ''>
|
||||
${settings.customize_homeSocial!}
|
||||
</#if>
|
||||
</div>
|
||||
</section>
|
||||
</#if>
|
|
@ -0,0 +1,12 @@
|
|||
<script type='text/javascript' src="${theme_base!}/source/js/kico.js"></script>
|
||||
<script type='text/javascript' src="${theme_base!}/source/js/single.js"></script>
|
||||
<#if is_index??>
|
||||
<script type='text/javascript' src="${theme_base!}/source/js/july.js"></script>
|
||||
</#if>
|
||||
<script type='text/javascript' src="${theme_base!}/source/plugins/prism/katex.min.js"></script>
|
||||
<script type='text/javascript' src="${theme_base!}/source/plugins/prism/mhchemParser.js"></script>
|
||||
<#if is_post??|| is_journals??>
|
||||
<script type='text/javascript' src="${theme_base!}/source/plugins/prism/prism.js"></script>
|
||||
</#if>
|
||||
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
|
||||
<script>var single = new Paul_Single({copyright: <#if settings.copy_notice!true>true<#else>false</#if>, night: <#if settings.night_mode=='1'>true<#else>false</#if>});</script>
|
|
@ -0,0 +1,23 @@
|
|||
<h1>友情链接</h1>
|
||||
<article>
|
||||
<div class="links">
|
||||
<@linkTag method="listTeams">
|
||||
<#list teams as item>
|
||||
<h3 class="link-title">
|
||||
<span class="fake-title">${((item.team!'')?length>0)?string((item.team!''), '小伙伴们')}</span>
|
||||
</h3>
|
||||
<ul class="link-items fontSmooth">
|
||||
<#list item.links?sort_by('priority')?reverse as link>
|
||||
<li class="link-item">
|
||||
<a class="link-item-inner effect-apollo" href="${link.url!}" title="${link.name!}" target="_blank">
|
||||
<img class="lazyload" data-src="${theme_base!}/source/images/svg/loader/trans.ajax-spinner-preloader.svg" src="${link.logo!}" onerror="imgError(this)">
|
||||
<span class="sitename">${link.name!}</span>
|
||||
<div class="linkdes">${link.description!}</div>
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</#list>
|
||||
</@linkTag>
|
||||
</div>
|
||||
</article>
|
|
@ -0,0 +1,31 @@
|
|||
<@menuTag method="tree">
|
||||
<#list menus?sort_by('priority') as menu>
|
||||
<#if menu.children?? && menu.children?size gt 0>
|
||||
<div class="has-child">
|
||||
</#if>
|
||||
<a <#if menu.url?? && menu.url?trim?length gt 0> href="${menu.url!}" target="${menu.target!}" </#if>>
|
||||
<span class="faa-parent animated-hover">
|
||||
<#if menu.icon?? && menu.icon?trim?length gt 0>
|
||||
<i class="${menu.icon}" aria-hidden="true"></i>
|
||||
</#if>${menu.name}
|
||||
</span>
|
||||
</a>
|
||||
<#if menu.children?? && menu.children?size gt 0>
|
||||
<div class="sub-menu">
|
||||
<#list menu.children?sort_by('priority') as child>
|
||||
<a href="${child.url!}" target="${child.target!}">
|
||||
<span class="faa-parent animated-hover">
|
||||
<#if child.icon?? && child.icon?trim?length gt 1>
|
||||
<i class="${child.icon}" aria-hidden="true"></i>
|
||||
</#if>${child.name}
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</#list>
|
||||
</div>
|
||||
</#if>
|
||||
<#if menu.children?? && menu.children?size gt 0>
|
||||
</div>
|
||||
</#if>
|
||||
</#list>
|
||||
</@menuTag>
|
|
@ -0,0 +1,28 @@
|
|||
<#macro pageNav method keyword="">
|
||||
<section class="page-navigator">
|
||||
<@paginationTag method="${method}" slug="${slug!}" page="${posts.number}" total="${posts.totalPages}"
|
||||
keyword="${keyword}" display="3">
|
||||
<#if pagination.hasPrev>
|
||||
<span class="prev">
|
||||
<a href="${pagination.prevPageFullPath!}" title="上一页">«</a>
|
||||
</span>
|
||||
</#if>
|
||||
<#list pagination.rainbowPages as number>
|
||||
<#if number.isCurrent>
|
||||
<span class="current">
|
||||
<a href="${number.fullPath!}">${number.page!}</a>
|
||||
</span>
|
||||
<#else>
|
||||
<span>
|
||||
<a href="${number.fullPath!}">${number.page!}</a>
|
||||
</span>
|
||||
</#if>
|
||||
</#list>
|
||||
<#if pagination.hasNext>
|
||||
<span class="next">
|
||||
<a href="${pagination.nextPageFullPath!}" title="下一页">»</a>
|
||||
</span>
|
||||
</#if>
|
||||
</@paginationTag>
|
||||
</section>
|
||||
</#macro>
|
|
@ -0,0 +1,53 @@
|
|||
<#include "module_homeSocial.ftl" />
|
||||
<#--判断页面显示标题-->
|
||||
<#if is_tag??>
|
||||
<section class="home-title">
|
||||
<h1>包含“${tag.name}”标签的文章</h1>
|
||||
</section>
|
||||
</#if>
|
||||
<#if is_category??>
|
||||
<section class="home-title">
|
||||
<h1>“${category.name}”分类下的文章</h1>
|
||||
</section>
|
||||
</#if>
|
||||
<#if is_search??>
|
||||
<section class="home-title">
|
||||
<h1>包含“${keyword!}”关键字的文章</h1>
|
||||
</section>
|
||||
</#if>
|
||||
<#--显示文章-->
|
||||
<section class="home-posts">
|
||||
<#list posts.content as post>
|
||||
<div class="post-item">
|
||||
<h2>
|
||||
<a href="${post.fullPath!}">${post.title!}</a>
|
||||
</h2>
|
||||
<#--显示文章简介-->
|
||||
<p>${post.summary!}</p>
|
||||
<#--文章标签等-->
|
||||
<div class="post-meta">
|
||||
<time class="date">
|
||||
${post.createTime?string('yyyy-MM-dd')!}
|
||||
</time>
|
||||
<span class="category">
|
||||
<#list post.categories as category>
|
||||
<a href="${category.fullPath!}">
|
||||
${category.name!}
|
||||
</a>
|
||||
</#list>
|
||||
</span>
|
||||
<span class="tags">
|
||||
<#list post.tags as tag>
|
||||
<a href="${tag.fullPath}" class="tag">${tag.name}</a>
|
||||
</#list>
|
||||
</span>
|
||||
<span class="comments">
|
||||
${post.commentCount!}°C
|
||||
</span>
|
||||
<span class="visits">
|
||||
${post.visits!}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</#list>
|
||||
</section>
|
|
@ -1,28 +0,0 @@
|
|||
<#macro pagination method='index' slug="" display = "3">
|
||||
<section class="page-navigator">
|
||||
<#-- <@paginationTag method="index" slug="${slug!}" page="${posts.number}" total="${posts.totalPages}" display="3">-->
|
||||
<@paginationTag method="${method!}" slug="${slug!}" page="${posts.number}" total="${posts.totalPages}" display="3">
|
||||
<#if pagination.hasPrev>
|
||||
<span class="prev">
|
||||
<a href="${pagination.prevPageFullPath!}" title="上一页">«</a>
|
||||
</span>
|
||||
</#if>
|
||||
<#list pagination.rainbowPages as number>
|
||||
<#if number.isCurrent>
|
||||
<span class="current">
|
||||
<a href="${number.fullPath!}">${number.page!}</a>
|
||||
</span>
|
||||
<#else>
|
||||
<span>
|
||||
<a href="${number.fullPath!}">${number.page!}</a>
|
||||
</span>
|
||||
</#if>
|
||||
</#list>
|
||||
<#if pagination.hasNext>
|
||||
<span class="next">
|
||||
<a href="${pagination.nextPageFullPath!}" title="下一页">»</a>
|
||||
</span>
|
||||
</#if>
|
||||
</@paginationTag>
|
||||
</section>
|
||||
</#macro>
|
|
@ -1,89 +0,0 @@
|
|||
<main>
|
||||
<div class="wrap min">
|
||||
<#if is_index??>
|
||||
<section class="home-title">
|
||||
<h1>${blog_title!}</h1>
|
||||
<span>${user.description!}</span>
|
||||
<div class="home-social">
|
||||
<#if settings.home_social?? && settings.home_social != ''>
|
||||
${settings.home_social!}
|
||||
</#if>
|
||||
</div>
|
||||
</section>
|
||||
</#if>
|
||||
<#if is_tag??>
|
||||
<section class="home-title">
|
||||
<h1>包含“${tag.name}”标签的文章</h1>
|
||||
</section>
|
||||
</#if>
|
||||
<#if is_category??>
|
||||
<section class="home-title">
|
||||
<h1>“${category.name}”分类下的文章</h1>
|
||||
</section>
|
||||
</#if>
|
||||
<#if is_search??>
|
||||
<section class="home-title">
|
||||
<h1>包含“${keyword!}”关键字的文章</h1>
|
||||
</section>
|
||||
</#if>
|
||||
<section class="home-posts">
|
||||
<#list posts.content as post>
|
||||
<div class="post-item">
|
||||
<h2>
|
||||
<a href="${post.fullPath!}">${post.title!}</a>
|
||||
</h2>
|
||||
<p>${post.summary!}</p>
|
||||
<div class="post-meta">
|
||||
<time class="date">
|
||||
${post.createTime?string('yyyy-MM-dd')!}
|
||||
</time>
|
||||
<span class="category">
|
||||
<#list post.categories as category>
|
||||
<a href="${category.fullPath!}" >
|
||||
${category.name!}
|
||||
</a>
|
||||
</#list>
|
||||
</span>
|
||||
<span class="tags">
|
||||
<#list post.tags as tag>
|
||||
<a href="${tag.fullPath}" class="tag">${tag.name}</a>
|
||||
</#list>
|
||||
</span>
|
||||
<span class="comments">
|
||||
${post.commentCount!}°C
|
||||
</span>
|
||||
<span class="visits">
|
||||
${post.visits!}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</#list>
|
||||
</section>
|
||||
<section class="page-navigator">
|
||||
<@paginationTag method="index" slug="${slug!}" page="${posts.number}" total="${posts.totalPages}" display="3">
|
||||
<#-- <@paginationTag method="${method!}" slug="${slug!}" page="${posts.number}" total="${posts.totalPages}" display="3">-->
|
||||
<#if pagination.hasPrev>
|
||||
<span class="prev">
|
||||
<a href="${pagination.prevPageFullPath!}" title="上一页">«</a>
|
||||
</span>
|
||||
</#if>
|
||||
<#list pagination.rainbowPages as number>
|
||||
<#if number.isCurrent>
|
||||
<span class="current">
|
||||
<a href="${number.fullPath!}">${number.page!}</a>
|
||||
</span>
|
||||
<#else>
|
||||
<span>
|
||||
<a href="${number.fullPath!}">${number.page!}</a>
|
||||
</span>
|
||||
</#if>
|
||||
</#list>
|
||||
<#if pagination.hasNext>
|
||||
<span class="next">
|
||||
<a href="${pagination.nextPageFullPath!}" title="下一页">»</a>
|
||||
</span>
|
||||
</#if>
|
||||
</@paginationTag>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
8
page.ftl
8
page.ftl
|
@ -1,4 +1,10 @@
|
|||
<#include "header.ftl">
|
||||
<@head title="page -${blog_title!}" />
|
||||
<#include "module/post-module.ftl">
|
||||
<#include "module/module_pageNav.ftl">
|
||||
<main>
|
||||
<div class="wrap min">
|
||||
<#include "module/module_post.ftl">
|
||||
<@pageNav method="page" />
|
||||
</div>
|
||||
<main>
|
||||
<#include "footer.ftl">
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
<#include "header.ftl">
|
||||
<@head title="搜索结果:${keyword!} - ${blog_title!}"/>
|
||||
<#include "module/post-module.ftl">
|
||||
<#include "module/module_pageNav.ftl">
|
||||
<main>
|
||||
<div class="wrap min">
|
||||
<#include "module/module_post.ftl">
|
||||
<@pageNav method="search" />
|
||||
</div>
|
||||
<main>
|
||||
<#include "footer.ftl">
|
|
@ -5,7 +5,7 @@ general:
|
|||
name: favicon
|
||||
label: 站点图标
|
||||
type: attachment
|
||||
default: 'https://api.lixingyong.com/api/images'
|
||||
default: ''
|
||||
description: '在这里填入一张 png 图片地址(<a>192x192px</a>),不填则使用默认图标'
|
||||
background:
|
||||
name: background
|
||||
|
@ -160,18 +160,18 @@ home_social:
|
|||
name: qq
|
||||
label: 腾讯QQ
|
||||
type: text
|
||||
qzone:
|
||||
name: qzone
|
||||
label: QQ空间
|
||||
type: text
|
||||
#qzone:
|
||||
# name: qzone
|
||||
# label: QQ空间
|
||||
# type: text
|
||||
github:
|
||||
name: github
|
||||
label: Github
|
||||
type: text
|
||||
lofter:
|
||||
name: lofter
|
||||
label: Lofter
|
||||
type: text
|
||||
#lofter:
|
||||
# name: lofter
|
||||
# label: Lofter
|
||||
# type: text
|
||||
bili:
|
||||
name: bili
|
||||
label: BiliBili
|
||||
|
@ -188,18 +188,18 @@ home_social:
|
|||
name: facebook
|
||||
label: Facebook
|
||||
type: text
|
||||
googleplus:
|
||||
name: googleplus
|
||||
label: Google+
|
||||
type: text
|
||||
jianshu:
|
||||
name: jianshu
|
||||
label: 简书
|
||||
type: text
|
||||
csdn:
|
||||
name: csdn
|
||||
label: CSDN
|
||||
type: text
|
||||
# googleplus:
|
||||
# name: googleplus
|
||||
# label: Google+
|
||||
# type: text
|
||||
# jianshu:
|
||||
# name: jianshu
|
||||
# label: 简书
|
||||
# type: text
|
||||
# csdn:
|
||||
# name: csdn
|
||||
# label: CSDN
|
||||
# type: text
|
||||
zhihu:
|
||||
name: zhihu
|
||||
label: 知乎
|
||||
|
@ -216,20 +216,20 @@ home_social:
|
|||
name: stackoverflow
|
||||
label: Stack Overflow
|
||||
type: text
|
||||
customize_icon:
|
||||
name: customize_icon
|
||||
label: 自定义社交图标
|
||||
type: text
|
||||
customize_title:
|
||||
name: customize_title
|
||||
label: 自定义社交标题
|
||||
type: text
|
||||
customize_link:
|
||||
name: customize_link
|
||||
label: 自定义社交链接
|
||||
type: text
|
||||
home_social:
|
||||
name: home_social
|
||||
# customize_icon:
|
||||
# name: customize_icon
|
||||
# label: 自定义社交图标
|
||||
# type: text
|
||||
# customize_title:
|
||||
# name: customize_title
|
||||
# label: 自定义社交标题
|
||||
# type: text
|
||||
# customize_link:
|
||||
# name: customize_link
|
||||
# label: 自定义社交链接
|
||||
# type: text
|
||||
customize_homeSocial:
|
||||
name: customize_homeSocial
|
||||
label: 社交链接
|
||||
type: textarea
|
||||
placeholder: ''
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<#include "header.ftl">
|
||||
<@head title="${sheet.title!} - ${blog_title!}"/>
|
||||
<div class="wrap min">
|
||||
<section class="post-title">
|
||||
<div class="wrap min">
|
||||
<section class="post-title">
|
||||
<h2>${sheet.title!}</h2>
|
||||
</section>
|
||||
<article class="post-content">
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<@head title="${sheet.title!} - ${blog_title!}" />
|
||||
<div class="wrap min">
|
||||
<main>
|
||||
<#include "module/post-module.ftl">
|
||||
<#include "module/module_post.ftl">
|
||||
</main>
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
<@head title="${sheet.title!} - ${blog_title!}" />
|
||||
<div class="wrap min">
|
||||
<main>
|
||||
<#include "module/links-module.ftl">
|
||||
${sheet.formatContent!}
|
||||
<#include "module/module_links.ftl">
|
||||
</main>
|
||||
<@global.comment target=sheet type="sheet" />
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
function showImg(){
|
||||
document.getElementById("wxImg").style.display='block';
|
||||
}
|
||||
function hideImg(){
|
||||
document.getElementById("wxImg").style.display='none';
|
||||
}
|
|
@ -9,7 +9,6 @@
|
|||
本代码为奇趣保罗原创,并遵守 MIT 开源协议。欢迎访问我的博客:https://paugram.com
|
||||
|
||||
---- */
|
||||
|
||||
Array.prototype.remove = function (value) {
|
||||
var index = this.indexOf(value);
|
||||
if(index > -1) this.splice(index, 1);
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,262 @@
|
|||
/* PrismJS 1.25.0
|
||||
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+aspnet+bash+basic+batch+c+csharp+cpp+dart+django+docker+ejs+ftl+git+glsl+go+graphql+groovy+haml+haskell+http+java+jq+js-extras+json+kotlin+latex+less+lua+makefile+markup-templating+matlab+mermaid+mongodb+nginx+objectivec+php+powershell+pug+python+r+jsx+tsx+regex+ruby+rust+sass+scss+sql+stylus+swift+typescript+typoscript+unrealscript+vim+visual-basic+wasm+yaml&plugins=line-numbers+show-language+toolbar+copy-to-clipboard */
|
||||
/**
|
||||
* prism.js default theme for JavaScript, CSS and HTML
|
||||
* Based on dabblet (http://dabblet.com)
|
||||
* @author Lea Verou
|
||||
*/
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: black;
|
||||
background: none;
|
||||
/* text-shadow: 0 1px white; */
|
||||
/* font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; */
|
||||
font-size: 1em;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
pre code {
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
padding: 12px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
|
||||
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
|
||||
code[class*="language-"]::selection, code[class*="language-"] ::selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
@media print {
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre) > code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #f5f2f0;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre) > code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: slategray;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.token.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.tag,
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #905;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #690;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.entity,
|
||||
.token.url,
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #9a6e3a;
|
||||
/* This background color was intended by the author of this theme. */
|
||||
background: hsla(0, 0%, 100%, .5);
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.keyword {
|
||||
color: #07a;
|
||||
}
|
||||
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #DD4A68;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important,
|
||||
.token.variable {
|
||||
color: #e90;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
pre[class*="language-"].line-numbers {
|
||||
position: relative;
|
||||
padding-left: 3.8em;
|
||||
counter-reset: linenumber;
|
||||
}
|
||||
|
||||
pre[class*="language-"].line-numbers > code {
|
||||
position: relative;
|
||||
white-space: inherit;
|
||||
}
|
||||
|
||||
.line-numbers .line-numbers-rows {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
top: 0;
|
||||
font-size: 100%;
|
||||
left: -3.8em;
|
||||
width: 3em; /* works for line-numbers below 1000 lines */
|
||||
letter-spacing: -1px;
|
||||
border-right: 1px solid #999;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
}
|
||||
|
||||
.line-numbers-rows > span {
|
||||
display: block;
|
||||
counter-increment: linenumber;
|
||||
}
|
||||
|
||||
.line-numbers-rows > span:before {
|
||||
content: counter(linenumber);
|
||||
color: #999;
|
||||
display: block;
|
||||
/* padding-right: 0.8em; */
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.code-toolbar {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div.code-toolbar > .toolbar {
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
top: .3em;
|
||||
right: .2em;
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
div.code-toolbar:hover > .toolbar {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Separate line b/c rules are thrown out if selector is invalid.
|
||||
IE11 and old Edge versions don't support :focus-within. */
|
||||
div.code-toolbar:focus-within > .toolbar {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
div.code-toolbar > .toolbar > .toolbar-item {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
div.code-toolbar > .toolbar > .toolbar-item:first-child span::before {
|
||||
content: attr(data-rel);
|
||||
}
|
||||
|
||||
div.code-toolbar > .toolbar > .toolbar-item > a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.code-toolbar > .toolbar > .toolbar-item > button {
|
||||
background: none;
|
||||
border: 0;
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
line-height: normal;
|
||||
overflow: visible;
|
||||
padding: 0;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
div.code-toolbar > .toolbar > .toolbar-item > a,
|
||||
div.code-toolbar > .toolbar > .toolbar-item > button,
|
||||
div.code-toolbar > .toolbar > .toolbar-item > span {
|
||||
color: #bbb;
|
||||
font-size: .8em;
|
||||
padding: 0 .5em;
|
||||
background: #f5f2f0;
|
||||
background: rgba(224, 224, 224, 0.2);
|
||||
box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
|
||||
border-radius: .5em;
|
||||
}
|
||||
|
||||
div.code-toolbar > .toolbar > .toolbar-item > a:hover,
|
||||
div.code-toolbar > .toolbar > .toolbar-item > a:focus,
|
||||
div.code-toolbar > .toolbar > .toolbar-item > button:hover,
|
||||
div.code-toolbar > .toolbar > .toolbar-item > button:focus,
|
||||
div.code-toolbar > .toolbar > .toolbar-item > span:hover,
|
||||
div.code-toolbar > .toolbar > .toolbar-item > span:focus {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
8
tag.ftl
8
tag.ftl
|
@ -1,4 +1,10 @@
|
|||
<#include "header.ftl">
|
||||
<@head title="标签:${tag.name} - ${blog_title!}" />
|
||||
<#include "module/post-module.ftl">
|
||||
<#include "module/module_pageNav.ftl">
|
||||
<main>
|
||||
<div class="wrap min">
|
||||
<#include "module/module_post.ftl">
|
||||
<@pageNav method="tagPosts" />
|
||||
</div>
|
||||
<main>
|
||||
<#include "footer.ftl">
|
|
@ -2,10 +2,10 @@ id: julylies_Single
|
|||
name: Single
|
||||
author:
|
||||
name: julylies
|
||||
website: https://blog.huangdf.xyz
|
||||
website: https://www.huangdf.xyz
|
||||
description: 一个简洁大气,含夜间模式的Halo博客主题。
|
||||
logo: https://avatars.githubusercontent.com/u/48195280?s=200&v=4
|
||||
website: https://git.huangdf.xyz/july/halo-theme-Single
|
||||
repo: https://git.huangdf.xyz/july/halo-theme-Single
|
||||
version: 1.0.0
|
||||
version: 1.0.2
|
||||
require: 1.4.2
|
||||
|
|
Loading…
Reference in New Issue