关于主页模板挂载方式与格式微调的说明文档,便于他人复现以及起备忘作用
Published on November 17, 2023 by balmung08
index Memo illuminating document
7 min READ
原模板来自[https://github.com/thedevslot/WhatATheme]
<section class="hero is-halfheight has-text-centered has-background-white-ter" id="about">
就是这一框架的典型语句,可以调整is-halfheight为is-fullheight改变section的高度,也可以更改后面的参数调整section的位置和背景颜色;
其v5格式为<i class="fas fa-tags"></i>
,其中fas,fab用于显示不同种类的图标,但是实际上统一使用fa即可显示;fa-tags是图标名,可以换成其他图标,关于可选图标可见https://fontawesome.com.cn/v5#google_vignette。另外,Font Awesome Web在v6版中加入了新的图标,可见https://fontawesome.com/icons,但是使用的fa-brands等标签无法正确被浏览器解析导致无法显示。但是该网站提供了SVG向量图的显示方式,可以替代原本的<i>
标签进行显示
<i>
和SVG显示同一个图标的时候,SVG会稍微偏上一点,为了保证标签的整齐尽量统一选择,而SVG可以使用最新版图标,推荐选择SVG进行显示project.md用于输入project每张卡片的属性与文字;project.md对应的layout是project.html,在其中包含了include中的project-card.html文件,project-card.html会遍历project.md的所有卡片属性,生成卡片嵌入project.html中,三者高度嵌合,为了尽量少的改参数,最好直接把这三个全部新建以防止参数互相干扰
number_of_words
函数无法正确统计中文字数阅读时间是词数整除180,而此函数的原理是根据单词之间的空格来计算词数;对中文来说非常不合理,导致很长的文章仍旧显示0分钟即可阅读完成,故需要替换统计方法。[巡音儿力]的知乎专栏提供了三种不同的解决方法,本人最后采用了覆盖主题文件的方法,目前阅读时间已经可以正常计算了
比较方便使用的评论插件有Disqus,只需要简单的注册账号,创建网站短域名,在模板中把短域名改成和自己创建的相同并把代码内嵌到博客网页的最后即可完成评论区绑定
<scripts>
/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
/*
var disqus_config = function () {
this.page.url = PAGE_URL; Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = PAGE_IDENTIFIER; Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
*/
(function () { /* DON'T EDIT BELOW THIS LINE */
var d = document,
s = d.createElement('script');
s.src = 'https://balmung08.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</scripts>
另外要特意注意代码嵌入,必须在md中顶格写,不然缩放时滚动条会有问题!另外主文件中不支持< >标签,网页会自动把< >转义掉,而code页面中又不会进行转义
navbar.html是页面顶端的分类栏,首先要在其中加入需要的blog栏的名字;dropout.html中设置了分类栏的排列规则:除了预设好的几种以外全部排到others中,因此还需要在此页面中更改dropout规则;随后在layout中新建new_blog.html,直接复制以前blog的内容,但是要将其中遍历生成blogcard的代码中的文件位置改成新建的文件夹,即”_newposts”,名字可以任意但是下划线是必要的。完成以后在_config.yml中把新建文件需要遍历打开,输入:
collections:
postsc:
output: true
此时新文件夹里的md就会被post渲染了。最后在主文件夹下新建new_blog.md,里边写好title和新设置的layout名称,就可以完成新的博客分栏了。
也许可行的解决方法有更换搜索插件,或者对标题采用jieba.js进行中文分词,又或者自行修正simple-jekyll-search的搜索逻辑等,比较这个插件已经是三四年前就close的老东西了