0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【经验分享】如何使用Markdown编写技术文档?

嵌入式物联网开发 来源:嵌入式物联网开发 作者:嵌入式物联网开发 2022-08-20 14:55 次阅读

1 概述

Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。

由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。 如GitHub、Reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge、简书等,甚至还能被使用来撰写电子书。

2 几种支持Markdown语法的工具、软件介绍

2.1 Typroa

Typroa 是我常用的编辑器,熟悉了Markdown语法了,你会用起来非常顺手。它的设计与别人编辑器最大的区别是,它支持 “所见即所得”,一边编写,立马就预览,效率高,也很流畅。

特色功能:可以支持外部图床设置,直接把截图贴上来,立马可以上传到图床,生成访问链接,这个功能非常暂。

2.2 sublime插件

可以参考这个 链接 尝试安装看看,不过我试了,效果并不理想。

2.3 Cmd Markdown

这个有点特别,它既支持 在线网页编辑器,也支持本地化的编辑器。采用的是左编辑、右预览的设计。新手可以考虑使用下。

2.4 在线云笔记之类的平台

有道云笔记:使用了,不太符合我的习惯;不过作为在线笔记倒是可以考虑。

语雀笔记:没使用过,感兴趣可以尝试下。

印象笔记: 没有使用过,感兴趣可以尝试下。

还有其他。。。

2.5 技术博客平台的编辑器

常见的技术博客平台,比如CSDN、简书、博客园、oschina.net等都支持Markdown版本的编辑器。

2.6 总结

萝卜青菜,各有所爱!选择一款适合自己的,多使用,孰能生巧

3 常用语法

3.1 目录相关

1 这是1级目录

1.1 这是2级目录

1.1.1 这是3级目录

1.1.1.1 这是4级目录

1.1.1.1.1 这是5级目录

1.1.1.1.1.1 这是6级目录

注意,一般最大支持 6 级目录,这样满足我们的日常写作需求了。

3.2 文本相关

这个是加粗! 这个是斜体! 这个是斜体加粗! ~~这个是字体删除!~~这个是文字加底色 (实则是代码的写法,下面会讲)

3.3 列表相关

gg

gg

gg

ggg

gg

ggg

fff

有序列表4(加粗)

有序列表3

有序列表2

有序列表1 a. 有序列表 b. 有序列表

(数字 加 . 加 空格;支持多级嵌套)

无序列表

无序列表

哈哈哈

无序列表

无序列表

(-或*或+ 加 空格;支持多级嵌套)

3.4 代码相关

这是单行代码:printf("hello world!\r\n");

int main(void)

{

printf("hello world!\r\n");

return 0;

}

3.5 图片相关

poYBAGMAhV2ABdFeAABGT5Pgq7c127.png

语法规则:

3.6 超链接相关

这里是百度的超链接描述

语法规则: 描述

3.7 文字引用

这是一段引用文字

引用可以嵌套

引用可以嵌套 这是一段引用文字

3.8 水平分隔线

【三个横杆或三个星号或三个下划线,+ 回车】

3.9 表格相关

(左对齐)表头1 (居中)表头2 (右对齐)表头3 默认表头
内容1 内容2 内容3 内容4
~~内容1~~ 内容2 内容3 内容4

4 高阶功能

4.1 to-do-list

[x] done-list-3

[x] done-list-2

[x] done-list-1

[ ] to-do-list-3

[ ] to-do-list-2

[ ] to-do-list-1

4.2 流程图

st=>start: Start

op=>operation: Your Operation

cond=>condition: Yes or No?

e=>end

st->op->cond

cond(yes)->e

cond(no)->op

st=>start: 开始框

op=>operation: 处理框

cond=>condition: 判断框(是或否?)

sub1=>subroutine: 子流程

io=>inputoutput: 输入输出框

e=>end: 结束框

st(right)->op(right)->cond

cond(yes)->io(bottom)->e

cond(no)->sub1(right)->op

st=>start: 开始框

op=>operation: 处理框

cond=>condition: 判断框(是或否?)

sub1=>subroutine: 子流程

io=>inputoutput: 输入输出框

e=>end: 结束框

st->op->cond

cond(yes)->io->e

cond(no)->sub1(right)->op

4.3 时序图

Alice->Bob: Hello Bob, how are you?

Note right of Bob: Bob thinks

Bob-->Alice: I am good thanks!

【注意:这个不是每个Markdown编辑器都支持的渲染功能】

Title: 标题:复杂使用

对象A->对象B: 对象B你好吗?(请求)

Note right of 对象B: 对象B的描述

Note left of 对象A: 对象A的描述(提示)

对象B-->对象A: 我很好(响应)

对象B->小三: 你好吗

小三-->>对象A: 对象B找我了

对象A->对象B: 你真的好吗?

Note over 小三,对象B: 我们是朋友

participant C

Note right of C: 没人陪我玩

4.4 甘特图

title 项目开发流程

section 项目确定

需求分析 :a1, 2016-06-22, 3d

可行性报告 :after a1, 5d

概念验证 : 5d

section 项目实施

概要设计 :2016-07-05 , 5d

详细设计 :2016-07-08, 10d

编码 :2016-07-15, 10d

测试 :2016-07-22, 5d

section 发布验收

发布: 2d

验收: 3d

【注意:这个不是每个Markdown编辑器都支持的渲染功能(Cmd Markdown 的 gantt语法)】

%% 语法示例

gantt

dateFormat YYYY-MM-DD

title 软件开发甘特图

section 设计

需求 :done, des1, 2014-01-06,2014-01-08

原型 :active, des2, 2014-01-09, 3d

UI设计 : des3, after des2, 5d

未来任务 : des4, after des3, 5d

section 开发

学习准备理解需求 :crit, done, 2014-01-06,24h

设计框架 :crit, done, after des2, 2d

开发 :crit, active, 3d

未来任务 :crit, 5d

耍 :2d

section 测试

功能测试 :active, a1, after des3, 3d

压力测试 :after a1 , 20h

测试报告 : 48h

【注意:这个不是每个Markdown编辑器都支持的渲染功能(Typroa 的 mermaid语法)】

4.5 数学公式

这是单行公式$E=mc^2$

$\sin(\alpha)^{\theta}=\sum_{i=0}^{n}(x^i + \cos(f))$

$$ E=mc^2 $$

$$ \sin(\alpha)^{\theta}=\sum_{i=0}^{n}(x^i + \cos(f)) $$

5 注意事项

5.1 空格问题

Markdown对空格是不敏感的,也就是说你想输入空格显示的时候,还需要特殊操作,比如首行空两个的写作场景。

  半角的空格   全角的空格

5.2 换行问题

操作方法

行尾打两个或两个以上的空格之后回车(换行后的行距较小)

打两个回车 (换行之后的行距变大)

html的
来换行 (比较兼容的写法)

这是一行
这是另一行 这是第3行

这是一行

这是另一行

这是第3行

这是一行
这是另一行
这是第3行

5.3 字符转义的问题

在 HTML 文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签,& 符号则用于标记 HTML 实体,如果你只是想要使用这些符号,你必须要使用实体的形式,像是 < 和 &。

这里举两个例子:

AT&T AT&T

4 < 5 4 < 5

5.4 内嵌 HTML 标签的问题

我也不熟,很少有,举个例子:

这是红色字体

这是绿色字体

字体大小size=1

字体大小size=3

字体大小size=5

【注意:以上html标签有些编辑器又不支持】



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式技术
    +关注

    关注

    10

    文章

    349

    浏览量

    34249
  • 编辑器
    +关注

    关注

    1

    文章

    787

    浏览量

    30115
  • MarkDown
    +关注

    关注

    0

    文章

    44

    浏览量

    228
收藏 人收藏

    评论

    相关推荐

    广立微参与起草的《技术文档的用户体验评估规范》正式发布

    2024 年 4 月 11 日,由北大、蚂蚁和广立微等多家单位领衔起草的全球第一份专注于技术文档用户体验评估的标准正式发布。
    的头像 发表于 04-14 11:10 307次阅读
    广立微参与起草的《<b class='flag-5'>技术</b><b class='flag-5'>文档</b>的用户体验评估规范》正式发布

    非阻塞的的connect()函数如何编写

    由于网络编程涉及很多细节和技巧,一直想写篇文章来总结下这方面的心得与经验,希望对来者有一点帮助,那就善莫大焉了。 一、非阻塞的的connect()函数如何编写 我们知道用connect()函数默认
    的头像 发表于 11-11 16:23 602次阅读
    非阻塞的的connect()函数如何<b class='flag-5'>编写</b>

    #共建FPGA开发者技术社区,为FPGA生态点赞#+2023.11.8+FPGA设计的实践与经验分享

    1.对输入输出进行限制,例如可接受的输入范围和输出幅度等 2.将功能拆分为多个模块,降低设计复杂度,方便调试和维护3.添加注释和文档,方便代码理解和后期维护。 以上是FPGA设计中的一些经验和技巧分享,希望能够对大家有所帮助。当然,随着FPGA
    发表于 11-08 15:25

    ARM Neoverse™N2参考设计技术概述

    技术概述是为经验丰富的硬件和片上系统(SoC)工程师编写的,他们可能有也可能没有ARM产品的经验。 这些工程师通常在编写Verilog和执行
    发表于 08-29 07:10

    Mps3应用笔记:AN524的SSE-200子系统示例

    本应用笔记文档面向经验丰富的硬件、片上系统(SoC)和软件工程师,他们可能对ARM产品有经验,也可能没有经验。 这样的工程师通常在编写Ver
    发表于 08-28 06:06

    Arm Corstone™ SSE-310子系统技术参考手册示例

    本书面向正在设计、配置、布局、验证和验证ARM®SSE-310示例子系统的电子工程师。 假定初级读者具有较高的技术能力并具有Verilog经验。 本文档不假定有ARM设备或实施的经验
    发表于 08-18 07:41

    Multi ICE 2.2版用户指南

    文档使用ARM软件开发工具包(SDT)或ARM开发套件(ADS)开发环境为Windows或Unix平台上的多ICE用户编写。 假设您是一名对ARM架构有一定经验的软件工程师,或者是一名设计与多
    发表于 08-12 06:39

    ARAR966E-S 技术参考手册

    关于此文档 本文件是ARM966E-S的参考手册。 目标受众 本文档是为经验丰富的硬件和软件工程师编写的,他们可能有也可能没有ARM产品的经验
    发表于 08-02 14:18

    Veratile Express 配置技术参考手册

    本书适用于Versatile Express开发系统,本文档是为经验丰富的硬件和软件开发人员编写的,以帮助使用Versatile Express原型和开发系统。
    发表于 08-02 13:08

    Arm Corstone SSE-300示例子系统技术参考手册

    本书是为设计、配置、布局、验证和验证Arm®Corstone的电子工程师编写的™ SSE-300子系统示例。假设主要读者具有较高的技术能力和Verilog的经验。该文档不假设有Arm设
    发表于 08-02 09:05

    PLC编写程序编写的是什么?

    对于PLC程序的编写,一个好的plc程序一般都具有程序的具有正确性、可靠性、方便性、简洁性和可读性就是很好的程序!
    的头像 发表于 05-10 17:38 1328次阅读
    PLC<b class='flag-5'>编写</b>程序<b class='flag-5'>编写</b>的是什么?

    C#编写简易的上位机

    标题C#编写简易的上位机 代码如下:
    发表于 05-08 09:42 7次下载
    C#<b class='flag-5'>编写</b>简易的上位机

    硬件工程师招聘--清华团队

    版图,生成装配图,BOM及光绘文件。 3,设计测试流程并记录测试结果。 4,负责相关技术文档编写,如设计文档,测试文档等。 岗位要求: 1
    发表于 04-28 09:38

    有人有关于ESP8266内部ADC的不错的技术文档吗?

    这里有人有关于 ESP8266 内部 ADC 的不错的技术文档吗? 我正在运行一些用于电池电压监控的测试。看起来一点也不差,但缺乏技术文档使得任何性能测试都很难量化。
    发表于 04-27 06:45

    Applilet2公共操作编写

    Applilet2 公共操作编写
    发表于 04-26 19:33 0次下载
    Applilet2公共操作<b class='flag-5'>编写</b>