如何写一篇博文
引入
写文章之前
获取库以及目录解析
文章命名规范
写文章
文章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,博客的管理员可以看到,如果审核通过之后,可以合并并且公开。
管理员可以在自己的界面看到这里:
等待博客管理员同意。
是不是很简单。
当然本博客并不是十分开放,不是所有人提交都会合入的,哼。