Skip to content

1liza/1liza.github.io

Repository files navigation

首先非常感谢baiying的博客搭建教程,我参考了他的教程搭建了基于Github和Jekyll的个人博客。但是个人博客还是有很多需求要改,我参考了jekyll官网教程,做了一些修改,搭建了我的博客。这里想跟大家补充一下你可能想要修改的基础内容。


我的博客内容主要分为《JavaScript高级教程程序设计》笔记总结、百度前端学院笔记总结 和 网页搭建 三部分。

我的工作主要是解决了不同板块内容侧边栏分类、文档排序

不想看原理的同学可以直接看“文档归类”和“文档排序”


文档归类

<!-- 导航 -->
<hr>
<h5>主题导航</h5>
{% for post in site.posts %}
{% assign currenttitle = post.subtitle %} 
{% if currenttitle != subtitle %}
{% unless forloop.first %}</ul>{% endunless %}
<h3 id="y{{post.subtitle}}">{{ currenttitle }}</h3>
<ul>
{% assign subtitle = currenttitle %}
{% endif %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% if forloop.last %}</ul>{% endif %}
{% endfor %} 

上面的代码是我加在_layout文件夹中page.html中<!-- Friends Blog -->代码块后面的。

{% assign currenttitle = post.subtitle %} 可以看出归类是按照subtitle生成的。那么在哪里设置subtitle呢?在每一篇博客(_posts文件夹中.md文件)yaml 头文件中。

---
layout:     post
title:      第28天 给爱的人发个邮件吧
subtitle:   百度前端学院
date:       2020-05-08 17:00:00
author:     lixiaoguai
header-img: img/post-bg-js-version.jpg
catalog: 	 true
tags:
    - ECMAScript
    - JavaScrip
    - script
    - JavaScript高级程序设计
---

上面是我的头文件,可以看到这篇文章被归类到“百度前端学院”类别中。效果如下图所示。

img

这里也有按照年或者月归类的方法

文档排序

文档排序默认是按照yaml 头文件中的date排序,格式是YYYY-MM-DD HH:MM:SS或者YYYY-MM-DD HH:MM:SS +/-TTTT。如果你在一天之内写了多篇博客的话,可以采用YYYY-MM-DD HH:MM:SS格式具体到小时来帮助排序。如果一天只有一篇的话,date可以不用具体到小时,直接YYYY-MM-DD就可以,但是月份和日期一定要是两位数。

博客设置

  • 根目录下面index.html设置了主页面布局:paginator属性设置分页;post in paginator.posts设置了每一个博客条目的内容显示和设置。可以看到index.html的yaml 头文件layout: page也就是采用了_layouts文件夹中page.html的布局,所以侧边栏设置可以在page.html文件中找到
  • _layouts文件夹主要用来存放页面布局。可以看到文件夹里面有四个html文件,分别设置了page,post,keynote的页面布局,而这三个布局都继承了default.html的布局。default.html是jekyll自动生成的。
  • 找到设置布局位置之后,就需要修改liquid语句了。这里可参考官网给的语法介绍varibles把常用的变量都列举出来了,这里面没有的变量你也可以自己添加在相应的yaml 头文件中,以备调用。include可以让你调用_include文件夹中的内容。

如果你实在找不到某个布局设置的位置,可以直接搜索这个布局下的文字,投机取巧

Git

  • 如果文件夹中内容全部是新建的,不必一个一个文件git add XXX.md,可以直接git add .将整个文件夹add进去,之后继续git commit -m "update" git push。如果对本地项目中文件进行删除,想要同步到github也可以采用git add .
  • 如果一直需要邮箱验证,可以把personal setting里的email里的keep my email address private前面对勾去掉。
  • 如果git 推送更新出现错误: Updates were rejected because the remote contains work that you do是因为本地仓库与线上仓库的内容不匹配,或者说本地相对于远程不是最新,先pull更新本地,再把自己的push上去。但是本地确认无误的话可以直接git push -f强行上传。
  • 对fork来的repo进行commit 是不会计算在你自己的Contribution中,格子是不会变绿的,除非pull request并被原作者接受(但是别人为什么要接受你自己的博客呢)