V1.0

最终修改于2016/10/19

概述

软件工程中,一份优雅的文档不仅能降低团队成员之间的沟通难度,而且能给之后的开发者提供一个非常有效的引导。本团队为了规范整个项目中文档的格式,便于统一管理与清晰的阅读,特制订以下格式规范。

为了方便博客端和Github端的文档统一编写,统一风格,因此选用Markdown语法作为文档编写的格式。但是由于Markdown为纯文本格式,对图片、颜色、表格等元素的支持非常困难,因此在编写图片表格较多的博客时,允许使用Microsoft Office Word中的博客功能进行编辑,本团队cnblogs博客中已经对于htmlMarkdown格式进行了统一的CSS样式处理,可以得到统一的样式风格。但是由于目前还不能将Word样式的表格转换为Markdown格式保存在Github中,因此在编写表格和图片不多的文档时还是应该尽量使用Markdown,方便同时上传至博客和Github中。

格式规范

不论是在Markdown还是在Word中,为了应用博客和Github中预设好的CSS样式,需要将文档的的格式规范化。本文将格式大致分为三个部分标题文本样式文本组织

标题

标题是文档的逻辑组织结构最重要的标识。建议将文本分成清晰的树状逻辑结构,并用标题加以标识和区分。html中一共提供了6级标题,但是我们只使用其中的三个:标题1、标题2、标题3。分别代表了三个从高到低的逻辑层次,样式如下

标题1示例

标题2示例

标题3示例

如果标题之间逻辑层次较强,或者标题较多,可以对标题进行编号,统一使用标题1序号.标题2序号.标题3序号的形式,序号均为阿拉伯数字,序号和标题之间有一个空格。样式示例如下

1 这是标题1

1.1 这是标题2

1.1.1 这是标题3

文本样式

加粗

对于需要强调的文本部分,应给予加粗,示例如下

这是无关紧要的这是重要的这也是无关紧要的

行内代码

对于某些专业名词,或者其他需要用这个样式强调的部分应标记为行内代码,示例如下

我正在使用Markdown

文本组织

列表

对于某些并列关系强的文本,且每段文本长度并不是很长(一行左右),应采用列表方式呈现,一般来说不建议使用带有序号的列表,且最好不要列表下嵌套列表。示例如下

  • 我今天要吃饭
  • 明天也要吃饭
  • 后天就撑死了

引用

对于某些其他文章的摘抄或者转述,或者因为格式需要需要开辟一小块类似文本框的区域时,应采用引用(其实每一个之前的示例都是写在引用里面的)。示例如下

床前明月光

疑是地上霜

举头望明月

低头思故乡

代码

所有语言的代码,应写在代码框中,而不是直接截图,方便他人直接拷贝和阅读(因为有不同语法成分高亮的功能),示例如下

int main()
{
printf("this is a test.");
}

Markdown语法

在介绍Markdown的语法之前,首先推荐一款Markdown编辑器。虽然有很多在线的编辑器,但是经我试用以后体验都不是很好,而且需要网络的支持,有着很多的局限性。在试用了很多软件之后,我发现Typora 这款软件比较适合在PC端进行Markdown的编写。这款软件能实时渲染最终效果,而不是像其他软件那样一边是代码一边是预览,而是所见即所得,直接在一个窗口内编辑且直接看到最终的效果。

这是下载地址Typora

下面继续将从 标题文本样式文本组织三个方面来介绍Markdown的语法

标题

Markdown中,标题的输入方式是在标题前加入#(没有空格),根据#数量的不同,分别表示1级~6级标题

比如#+这是一个一级标题##+这是一个二级标题,显示效果是这样的

这是一个一级标题

这是一个二级标题

在我们的文档规范中,标题只使用1~3级。

文本样式

加粗

Markdown中加粗一段文本可以用在文本前后各加入两个*来实现

比如**+这是一段加粗文本+**,显示效果是这样的

这是一段加粗文本

而在Typora 中,要输入加粗文本有一个快捷键ctrl+B,程序会自动打出前后各两个*并将光标移到其中,可以直接输入加粗文本的内容。

行内代码

Markdown中将一段文本设置成行内代码可以用在文本前后各加入一个`来实现

由于`不能嵌套,这里不能演示示例

Typora 中,行内代码同样有一个快捷键ctrl+`,程序会自动补全并将光标移到其中,可以直接输入行内代码的内容。

文本组织

列表

Markdown中将一段文本设置为无序列表可以用在其之前加入*+或者-来实现,注意中间需要有一个空格,如

*+ Space+第一项内容

*+ Space+第二项内容

显示效果如下

  • 第一项内容
  • 第二项内容

而在Typora 中,如果输入了第一个列表项,按下Enter后,将会自动生成下一个列表项,如果已经输入结束,可以连续打两个Enter来退出列表项的编辑。

顺便一说,加入1.+Space可以生成有序列表项,但是格式规范并不推荐这样做。

引用

Markdown中将一段文本设置为引用可以用在其之前加入>来实现

例如>+这是一段引用

这是一段引用

Typora中插入引用的快捷键是Ctrl+Shift+Q

代码

Markdown中将一段文本设置为代码可以利用Typora中的快捷键Alt+Ctrl+F来实现

在代码块中可以选择程序语言,以便提供不同的高亮展示,例如

int main()
{
printf("this is a test.");
}

其他

超链接

可以利用Typora中的快捷键Ctrl+K来实现

按下快捷键后,程序会自动补全[](),前者是超链接显示的文本,后者是超链接的链接地址

表格

Typora中按下快捷键Ctrl+T可以方便的插入表格,可以选择行列数,替代了原生Markdown语法反人类的表格编辑方式。

更多

这里只介绍了一部分Markdown的语法,关于全面的语法介绍,可以参考这个网址Markdown语法说明(中文版)

Word博客写作规范

由于Markdown是纯文本模式,对于某些表格和图片较多的博客,如Scrum Meeting总结这样有大量图片和表格的博客内容支持并不是很好(或者说是虽然支持但是不是很美观和易用)。考虑到这些富图片和表格的博客多为记录,并不需要同步发布在Github中,所以这些博客仍然使用Word博客功能进行编写。

关于Scrum Meeting博客,现在已经有了一套模板Docx文件,今后可以直接在这上边修改发布。如果需要有其他的博客需要利用Word进行编写,在下面介绍一些编写规范。

整体格式规范

  • 所有文本都不应设置自定义的字体,应保持默认状态。这样做的目的是为了不覆盖博客中的CSS模板设置的字体
  • 所有文本都不应该设置自定义字号,保持默认状态,原因同上
  • 所有大小标题使用Word自带的标题1标题2等进行设置
  • 如需要引用,可以直接使用Word中自带的引用,可以在博客中被自定义样式识别并适配
  • 可以直接加粗文本
  • 可以直接使用Word自带的列表

一些特例

  • 如需要行内代码,请将文本标为斜体
  • 如需要使用代码块功能,请先发表后在博客园的编辑器中进行插入
  • 如需要使用超链接功能,请先发表后在博客园的编辑器中进行插入

OverWatch团队文档格式规范的更多相关文章

  1. Atitit usrQBK1600 技术文档的规范标准化解决方案

    Atitit usrQBK1600 技术文档的规范标准化解决方案 1.1. Keyword关键词..展关键词,横向拓展比较,纵向抽象细化拓展知识点1 1.2. 标题必须有高大上词汇,参考文章排行榜,1 ...

  2. 【好文翻译】一步一步教你使用Spire.Doc转换Word文档格式

    背景: 年11月,微软宣布作为ECMA国际主要合作伙伴,将其开发的基于XML的文件格式标准化,称之为"Office Open XML" .Open XML的引进使office文档结 ...

  3. 【itext】7步制作兼容各种文档格式的Itext5页眉页脚 实现page x pf y

    itext5页眉页脚工具类,实现page x of y 完美兼容各种格式大小文档A4/B5/B3,兼容各种文档格式自动计算页脚XY轴坐标 鉴于没人做的这么细致,自己就写了一个itext5页眉页脚工具类 ...

  4. C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化

    转:http://www.cnblogs.com/lantionzy/archive/2009/10/23/1588511.html 1.新建Word文档 #region 新建Word文档/// &l ...

  5. Java导出freemarker实现下载word文档格式功能

    首先呢,先说一下制作freemarker模板步骤, 1. 在WPS上写出所要的下载的word格式当做模板 2. 把模板内不固定的内容(例:从数据库读取的信息)写成123或者好代替的文字标注 3. 把固 ...

  6. wordxml文档格式说明

    近期需要对word xml文档进行各种操作,需要熟悉 wordxml 文档格式,搜索了一番后发现 open xml sdk 官网的文档最好.就按照官网说明来记录一番 1 word xml 文档基本格式 ...

  7. windwos文档格式转换成unix格式

    在工作学习中我们避免不了需要将一些脚本和命令记录在笔记里面,我使用的是有道云笔记,每当我将上次记录在有道云的脚本复制出来进行使用的时候,总会报一些奇怪的错误,要么是包含换行符,要么就是格式不对,但是我 ...

  8. 导出WPS office文档格式的说明

     针对microsoft office的文档格式,WPS office分别提供wps对应doc,et对应xls两种格式,word和excel是办公系统使用的普及度最广的文件格式,而国内的政府行政单 ...

  9. Java利用jacob实现文档格式转换

    实现文档格式之间的转换,我使用的是jacob-1.7版本,需要jacob.jar来调用activex控件,本机需安装WPS/office,还需要jacob.jar以及jacob.dll 其中:    ...

随机推荐

  1. VS2015 Git使用教程——优化项目编辑日志

    一.前言 公司项目中,修改日志管理是一件很繁琐的事情,而且项目维护时间长了,会遗留下各种有用或无用的日志,对于有代码洁癖的人来说,无疑是一种灾难. 1.公司日志记录结构: 2.Git日志记录结构: 二 ...

  2. ubuntu系统安装软件方法

    ubuntu系统安装软件方法 ubuntu下安装软件有三种方式,分别为在线安装apt-get方式,软件商店安装方式和 1. 软件商店安装方式 这种方式对经常使用windows系统的同学来说最为简单,因 ...

  3. Linux IPC socket 广播,组播

    getsockopt()/setsockopt() //获得sockfd指向的socket的属性 int getsockopt(int sockfd, int level, int optname, ...

  4. KVM 存储虚拟化 - 每天5分钟玩转 OpenStack(7)

    KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,后面会详细讨论.Volume 是 ...

  5. 动手实践虚拟网络 - 每天5分钟玩转 OpenStack(10)

    本节将演示如何在实验环境中实现下图所示的虚拟网络 配置 Linux Bridge br0 编辑 /etc/network/interfaces,配置 br0. 下面用 vimdiff 展示了对 /et ...

  6. 教你看懂 OpenStack 日志 - 每天5分钟玩转 OpenStack(29)

    instance 从创建到删除的整个生命周期都是由 Nova 管理的. 后面各小节我们以 instance 生命周期中的不同操作场景为例,详细分析 Nova 不同组件如何协调工作,并通过日志分析加深大 ...

  7. 手动使用sql*plus创建Oracle数据库

    下面是创建数据库必须执行的步骤: 1 )设置OS变量 2)配置初始化文件 3)创建必须的目录 4)创建数据库 5)创建数据目录 下面详细介绍这些步骤: 1 设置os变量 export ORACLE_H ...

  8. java反射 cglib asm相关资料

    有篇文章对java反射的调用的效率做了测试,写的比较好.猛击下面地址 http://www.blogjava.net/stone2083/archive/2010/09/15/332065.html ...

  9. 解惑spring嵌套事物

    工作中一直对spring中的事物管理都是最简单的配置 但是spring中的事物传播性配置 还有很多种,有时候经常疑惑service调用service的问题,今天的论坛上看到一篇写的非常详细的文字.记录 ...

  10. 如何在Oracle中复制表结构和表数据

    1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table ta ...