如何写作

文章的格式、仓库、生成呈现

格式

文章还是以之前大家熟知 markdown 形式来下,多数语法格式都是相同的。主要不同的地方就是要在文章的开头加一个 Front-matter.

Front-matter 是文件最上方以 — 分隔的区域,用于指定个别文件的变量,目前用到的形式多数如下所示:

---
title: 如何写作
permalink: permalink/how-to-writting/
author: PC组
top: 9998
categories:
  - [使用/写作说明]
  - [暂未归类]
tags:
  - 无
date: 2023-07-29 10:41:26
---

上面的内容可以自动生成(方法见后文),也可以直接从现有文件拷一份过来修改。
title: 即文章标题
permalink: 固定链接地址,多数文章并不需固定链接地址使用 enlink 即可(自动模版生成的就是 enlink)
author: 文章作者
top: 文章排序,一般用来置顶文章,数字越大排的越前面。多数情况不需要这个字段,使用默认排序即可(按文章时间倒序排列)
categories: 文章分类,详见后文说明
tags: 文章标签,可不指定,也可指定多个,可用于搜索,祥见后文说明
date: 文章创建时间

仓库

https://gl.eeo.im/pcclient 下创建了 HexoHexo-themePCdoc 这3个仓库。

Hexo库:该库为主库,用来存储 hexo 引擎本身的内容和配置,Hexo-themePCdoc为其子模块。
Hexo-theme库:该库为网页主题及其配置。
PCdoc库:该库为文档库,大家写的文章(markdown)就存在这里。多数情况下只需要往这个 git 库中提交即可。

分3个库的原因主要有:

  • 便于 hexo本身 和 主题单独升级与配置,以及切换别的主题(有必要的话)
  • 文档依然独立成库,不管以后是否还使用网页浏览,其markdown本身也是可浏览的,以及资料存档。

问题: 是否没必要给所有人都有提交到 HexoHexo-theme库的权限 ?

生成呈现

上面提到的三个库中有任何一个库有提交时,均会自动触发由 markdown 生成网页,并部署到网页服务器。目前只能在公司内网访问到这些网页。

正文写作说明

Front-matter 更多说明

tags 的用法(指定文章标签)

tags 用来为文章指定一个或多个标签,该字段不是必须的。 下面两种用法完全等效:

# 写法一
tags:
  - 标签1
  - 标签2

# 写法二, 如果只有一个标签可以省略[]
tags: [标签1, 标签2]

categories 的用法(指定文章目录)

## 指定一个顶层目录:写法1 & 写法2
# 写法1
categories: 顶层目录123

# 写法2
categories: 
  - 顶层目录123

# 指定到 顶层目录123/子目录456:写法3 & 写法4
# 写法3
categories: [顶层目录123, 子目录456]

# 写法4
categories:
   - 顶层目录123
   - 子目录456

# 指定多个目录
# 写法5
categories:
   - [顶层目录123]
   - [顶层目录456]
   - [顶层目录123, 子目录456]

这部分内容后续根据情况持续更新补充,直接按常规 markdown 书写,有问题和需求可以提出来,有有意思的发现也可以补充到这里面来。

管理与维护

首页与其它非文章页面

首页同其它文章不一样,并没有保存在 PCdoc库中,而是 Hexo-theme库下 layout/indexs.md,相对主库 Hexo 的路径为 themes/3-hexo/layout/indexs.md。 需要修改主页内容修改该文件即可。

其它非文章页面暂时没有,后续有需要可以按需创建。

常用链接维护

可以将一些常用链接收入进来,免得大家互相问。

修改 themes/3-hexo/_config.yml 文件,照着下面代码增删即可:

# 常用链接
friends:
  源码仓库(gl.eeo.im): https://gl.eeo.im/
  ClassIn 打包: https://jks-pc-classin.eeo-inc.com/
  ClassInX 打包: https://jks-pc-classin-dev.eeo-inc.com/
  跳板机: https://js-lab.eeo-inc.com/

文章分类,分类排序

配置在 themes/3-hexo/_config.yml 文件中,大致如下所示。

# 文章分类设置
category:
  num: true # 分类显示文章数
  sub: true # 开启多级分类
  sort:
    - 暂未归类
    - 编译构建
    - 系统/适配
    - 脚本/工具
    - 分享/团建
    - 使用/写作说明
  width:
    lg: 180 # 1468px<屏幕宽度 左侧分类宽度
    md: 160 # 1024px<屏幕宽度<=1468px 左侧分类宽度
    sm: 140 # 426px<屏幕宽度<=1024px 左侧分类宽度(ipad)
# 多级分类说明:
# 比如在文章中设置多个菜单,则默认为多级菜单,即:工具>hexo
# categories:
#   - 工具
#   - hexo

num: 是否显示对应类别下面的文章数量
sub: 是否开启多级分类
sort: 显示排序。注意这里出现的分类名只决定了排序,文章具体的分类是由 Front-matter 中的 categories 字段决定的,即是这里并没有也可以使用。 排序规则是如果该分类在sort字段定义了,则按定义顺序排(没有文章的分类不显示),然后再排其它分类。

问题:是否要开启多级分类? 分类如何(控制)管理?感觉任由大家自由分类也不太好

文章署名

已在 themes/3-hexo/_config.yml 开启了多作者模式(对应的是单作者的个人模式),已经把咋们组人员都加进去了。不愿署名或者不好署名的可以直接用 PC组。搜索是直接按作者搜索的。Front-matter 中的 author 字段,暂时还没测试是否和 categories 字段一样,是否不提前预定义也是可以用的。(猜测是不能的,后面验证)

##########多作者模式############
author:
  on: true
  authors:
    author1: PC组
    author2: 陈建华
    author3: 杜敏松
    author4: 董致宏
    author5: 窦忠强
    author6: 甘松林
    author7: 焦文标
    author8: 刘欢
    author9: 李威
    author10: 李雪刚
    author11: 马驰
    author12: 聂智仁
    author13: 宋保库
    author14: 朱林青
    author15: 吴沛霖
    author16: 辛海峰
    author17: 于杰
    author18: 颜敏炜
    author19: 张虎

未完待续,欢迎大家先试用


本文档为公司资源,请勿随意转发到外网。欢迎指出文章中的观点、引用来源的疑议以及任何有错误或不够清晰的表达。可以在下面评论区(暂未开放)评论或工作群里讨论。