引入

写文章之前

获取库以及目录解析

文章命名规范

写文章

文章meta信息

Read All

上传图片

外部图床方案

内部图床方案

找一个好的markdown编辑器

预览

提交并且发布

引入

这里主要看如何写一篇博文,主要是基于这个博客去实际的看如何写博文。

写文章之前

获取库以及目录解析

首先需要对github的库进行folk。folk之后,应该可以看到自己的github有这个库。如下图

folk之后,项目就完全的拷贝了一份到你自己的git仓库中。可以检出来了。

检出之后,可以看到目录如下,这是一个标准的 jekyll博客 格式:

├── LICENSE

├── README.md

├── _config.yml

├── _includes

│ ├── ...

│ └── a.html

├── _layouts

│ ├── ...

│ └── post.html

├── _posts

│ ├── 2019-07-15-article1.md

│ └── 2019-07-16-article1.md

├── _sass

│ ├── ...

│ ├── _scrollbar.scss

│ └── _syntax-highlighting.scss

├── css

│ └── main.scss

├── favicon.ico

├── feed.xml

├── index.html

├── js

│ ├── ...

│ └── waterfall.js

└── page

└── ├── ...

└── about.md

目录中,_posts 文件夹是存放文章的地方,文章同一采用md格式来编写。

文章命名规范

文章的命名规范如下:

yyyy-MM-dd-{name}.md

注意,这里的name可以使用可读性良好的英文字符来命名,不要使用驼峰和下划线,而是使用连字符,比如这篇文章,名字叫做

2019-07-15-how-to-write-an-article.md,jeykll会自动转化为:

/2019/07/15/how-to-write-an-article/

当然这个规则可以转化,在jekyll中都可以配置。

ps:文章的名称可以直接带空格,jekyll会自动转化为连字符,但是,这种路径在操作系统中不是很友好,mac和windows都不友好,尤其是在命令行下。

写文章

每一篇文章,都是一个markdown结构的文件,至于支持的内容特性,可以参见上一篇博文。

这里说一些博客定制的东西。

文章meta信息

每篇文章的title,都有一个这样的栏,这也是jekyll的规范。主要用来存储一些文章的meta信息,比如分类,标签啥的。

内容详细说明

---

layout: post # 标识这是一篇文章,同类型的还有pages等

title: "如何写一篇博文" # 标题,务必用双引号标注

categories: tech # 目录

tags: writing # 标签

author: j56 # 作者

comments: false # 是否开启评论

mathjax: true # 是否开启数学公式渲染

---

categories的作用:可以标识和检索,每篇文章最好只有一个categories。

ps:是不是有多个categories,我其实不知道。

tags:主要标识文章的内容,同类文章越多,标签就会越大。每篇文章可以有多个tag。

Read All

一篇文章如果字数很长,那么在首页以及列表中可以截断展示,后续部分通过点击Read All进入详情查看。

实际的编写中,只要空出三个空行,空行之前的内容会展示在首页,空行之后的内容则会隐藏不展示。

上传图片

一张合适的好图,胜过千言万语,所以这个博客中,一定需要有一些展示良好的图片。

关于图片的展示,在markdown中其实很好做,方法有两种

使用外部图床,比如7牛、阿里云等外部图床;

直接把图片存储在boke路径之下。

两种方案各有各的好处,下面详细说下实现方案

外部图床方案

看下地址哦

我这里找的是7牛云的图床,这个图床的好处就在于图片完全与博客分离。坏处也是这里,后续如果云服务中断,会造成图片没办法访问。

如果使用mac+alfred,那么有个十分 爽快的方案。

拿走不谢。

内部图床方案

看下地址哦(这是蓝猫,明明英短更可爱的。。。)

内部图床一般就是截图,然后保存成本地文件,然后一起提交。

具体可以参考下 知乎的回答。

找一个好的markdown编辑器

mac中最好的markdown编辑器,鄙人觉得叫做 Typora。其它的都不如这个好用。

预览

对于已经写好的文章,肯定在本地发布并且预览是最好的,否则上了服务器看费力不讨好。重新提交又不是很方便。

由于jekyll本身是ruby实现的,当前的mac又都带了ruby的基本环境。搭建一套环境也很是方便。

百度一搜一大把,大家自行参考这篇文章吧。

提交并且发布

注意1:之所以使用这样的提交策略,就是要让大家注意,别把你们项目中的隐私也一并提交,首先自己要保证一次,其次,博主也会有对应的审查。

注意2:写文章请原创,如果不是原创,请标明转载或或者征得作者同意再转载,如果有被侵权的朋友,也可以通过邮件反馈。

dulittlebylittle@yeah.net

对于已经写好的文章,如何提交到本博客中呢?由于已经首先folk了,这里的提交其实就是pull request了。简要的操作流程如下,我一步一步截图看下:

提交到自己的github中,并且push。

发起pull request。

首先是点击提交,本质这就是一个merge的过程,首先要更新到最新版本,然后增加一个新的提交。

提交之后是这个样子的。可以看到有一个open的request,博客的管理员可以看到,如果审核通过之后,可以合并并且公开。

管理员可以在自己的界面看到这里:

等待博客管理员同意。

是不是很简单。

当然本博客并不是十分开放,不是所有人提交都会合入的,哼。