关于『进击的Markdown』:第二弹

2023-05-09,

关于『进击Markdown』:第二弹

建议缩放90%食用

众里寻他千百度,蓦然回首,Markdown却在灯火灿烂处
MarkdownYYDS!

各位早上好!

 我果然鸽稿了 

Markdown 语法真香
(继续安利)

( 进击吧!Markdown!)

Markdown进阶系列向你开炮,请注意接收

废话,终究还是结束了

  又叒要为大家带来 (正当时的) Markdown了呢~  


正文,总是要开始的(格局要大)

注:编者用的CSDN-markdown编辑器是其衍生版本,扩展了Markdown的功能,所以有些写法浏览器不支持,请见谅(之后会尽量更换编辑器哒)

甘特图语法

甘特图是一种条状图
其通过条状图来显示项目、进度和其他时间相关的系统进展的内在关系随着时间进展的情况
直观表明计划何时进行,进展与要求的对比,便于管理者弄清项目的剩余任务,评估工作进度 (原来是为打工人发明的)

一.注意事项

甘特图将每个计划任务记录为一个从左向右延伸的连续条
x 轴代表时间,y 轴记录不同的任务及其完成的顺序
当特定于任务的日期、日期或日期集合被“排除”时,甘特图将通过向右扩展相同的天数来适应这些更改,而不是通过在内部创建间隙任务
但是,如果排除的日期在两个设置为连续开始的任务之间,则排除的日期将被图形跳过并留空,并且在排除的日期结束后将开始下一个任务


二. 标题

title 是显示在甘特图的顶部来描述图表的整个字符串(俗称标题)


三. 设置日期

dateFormat定义甘特图元素的日期输入格式。这些日期在呈现的图表输出中的表示方式由 定义axisFormat

(一). 输入日期格式

默认输出日期格式为 YYYY-MM-DD
允许自定义 dateFormat.

格式:

dateFormat YYYY-MM-DD

支持以下格式化选项:

分类 代码 示例 说明
Y -817 带有任意数量的数字和符号的年份(1970~10001)
  YY 21 两位数年份(70,71~29,30)
  YYYY 2021 四位数年份(1970~2030)
  YYYYYY 273790 扩展年份,涵盖从1970 年 向前或向后约 273,790 年的完整时间值范围)
季度 Q 1~4 一个季度,将月份设置为季度中的第一个月
  Qo 1st 2nd 3rd 4th 带序号的一个季度,将月份设置为季度中的第一个月
月份 M 1~12 月份
  MM 1st~12th 带序号的月份
  MMM Jan~Dec 月份名称(简写)
  MMMM January~December 月份名称
每月中的天数 D 1~31 每月中的日期(数字)
  Do 1st~31st 带序号的每月中的日期
  DD 01~31 有前缀零的每月中的日期
每年中的天数 DDD 1~365 一年中的某天
  DDDo 1st~365th 带序号的一年中的某天
  DDDD 001~365 有前缀零的一年中的某天
每周中的天数 d 0~6 一周中的某天
  do 0th~6th 带序号的一周中的某天
  dd Su~Sa 一周中的某天(最简写)
  ddd Sun~Sat 一周中的某天(简写)
  dddd Sunday~Saturday 一周中的某天
每周中的天数(Locale) e 0~6 一周中的某天(地域性,以星期日为开始)
每周中的天数(ISO) E 1~7 一周中的某天(标准化)
每年中的周数 w 1~53 一年中的周数
  wo 1st~53rd 带序号的一年中的周数
  ww 01~53 有前缀零的一年中的周数
每年中的周数(ISO) W 1~53 一年中的周数(标准化)
  Wo 1st~53rd 带序号的一年中的周数(标准化)
  WW 01~53 有前缀零的的一年中的周数(标准化)
时代 y 1~…… 公元后的年份(即公元1年以后)
  N or NN or NNN BC(公元前) / AD(公元后) 缩写时代名称
  NNNN 公元前(基督前) / 公元后(主生年) 全时代名称
  NNNNN BC / AD 狭义时代名
周年(ISO) GG 70~30 两位数周年
  GGGG 1970~2030 四位数周年
上午/下午 A AM / PM 上午或下午(大写)
  a am / pm 上午或下午(小写)
小时 H 0~23 24小时制
  HH 00~23 有前缀零的24小时制
  h 1~12 12小时制(前要加am或pm,即和a或A一起使用)
  hh 01~12 有前缀零的12小时制(前要加am或pm,即和a或A一起使用)
分钟 m 0~59 分钟
  mm 00~59 有前缀零的分钟
s 0~59
  ss 00~59 有前缀零的秒
小数秒S 0~9 十分之一秒
  SS 00~99 百分之一秒
  SSS 000~999 千分之一秒
  SSS…SSS(长n) 00…000~999…999

1

0

n

10^{n}

10n分之一秒

时区 z or zz EST~PST 注意:从1.6.0 开始,z/zz 格式标记已从普通矩对象中弃用但是,如果您使用带有 moment-timezone 插件的特定时区,它们 确实 工作
  Z -07:00~+07:00
  ZZ -0700~+0700
Unix 时间戳 X 1410715640.579 Unix 时间戳(注:unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒)
Unix 毫秒时间戳x 1410715640579 Unix 毫秒时间戳
时间 LT 8:30 PM 时间(不含秒)
以秒计的时间 LTS 8:30:00 PM 时间(以秒计)
月份数字、月份中的日期、年份 L 09/11/2008 有前缀零的月份数字、月份中的日期、年份
  I 9/11/2008 月份数字、月份中的日期、年份
月份名称、月份中的日期、年份 LL September 4, 1986 月份名称、月份中的日期、年份
  II Sep 4, 1986 月份名称(简写)、月份中的日期、年份
月份名称、月份中的日期、年份、时间 LLL September 4, 1986 8:30 PM 月份名称、月份中的日期、年份、时间
  III Sep 4, 1986 8:30 PM 月份名称(简写)、月份中的日期、年份、时间

注:YYYY 从版本2.10.5 开始支持 2 位数年份,并将它们转换为接近 2000 的年份)

Y2.11.1中添加。它将匹配任何数字,有符号或无符号。它对于不是 4 位数或在共同纪元之前的年份很有用,它可以用于任何一年。

S提供的字符数仅在严格模式下解析时相关。在标准模式下,SSSSSSSSSS都是等价的,并解释为几分之一秒。例如,.12总是 120 毫秒,传递SS不会导致它被解释为 12 毫秒

l ll lll llll2.0.0中可用。LTS2.8.4中添加。

(二). 在轴上输出日期格式

允许自定义 axisFormat, 例如定义2020-Q1为2020 年第一季度。

格式:

axisFormat %Y-%m-%d

支持以下格式化字符串:

%a:缩写的工作日名称

%A:完整的工作日名称

%b:缩写月份名称

%B:完整的月份名称

%c:日期和时间,如“%a %b %e %H:%M:%S %Y”。

%d:以十进制数字表示的月份的零填充日 (01 日到31 日)

%e:以十进制数字(1 日到31 日)表示的月份填充日

%H:24小时制(00 时到23 时)

%I:12小时制(01 时到12 时)

%j:以十进制数字表示的一年中的日期(第 001 天至第 366 天)

%m:十进制数字形式的月份(01 月到12 月)

%M:十进制数形式的分钟(00 分至59 分)

%L:十进制数形式的毫秒(000 ms至999 ms)

%p:上午或下午

%S:十进制数形式的秒(00 秒至61 秒)

%U:十进制数形式的一年中的周数(星期日为一周的第一天)(00周至53周)

%w:以十进制数字表示的工作日(0(星期日)至6(星期六))

%W:一年中的周数(星期一为一周的第一天),作为十进制数字(00 周至53 周)

%x:日期,作为“%m/%d/%Y”

%X:时间,如“%H:%M:%S”

%y:以十进制数字表示的不带世纪的年份(00 年至99 年)

%Y:以世纪为十进制数的Y年

%Z:时区偏移,例如“-0700”

%%:%”字符


四. 节语句

section 关键字开始一行并为其命名, 可以将图表分成不同的部分(请注意,与整个图表的标题不同,此名称是必需的)
section 后每一行为一个任务, 第一个字符串为任务名称,之后以 名称: 开头,添加任务属性


五. 任务属性

(一). 任务状态

done 已完成
active 正在进行
crit 关键任务
默认任务都为待完成状态

(二). 任务描述

在des1、des2位置添加任务描述,其它任务引用时直接引用des1就可以
after:描述任务时间关系。
例如,des3, after des2 表示des3紧跟在des2之后

任务时长有三种方式:

时间范围 如:2014-01-06,2014-01-08

指定天数 如:5d

指定开始日期+天数 如:2014-01-06,5d

注:所有关键字之间用 , 分隔,关键字需要属性时用空格分隔(如:des3, after des2)。


六. 注释

可以在甘特图中输入注释,解析器将忽略该注释
注释需要在同一行上,并且必须以%%(双百分号)开头

代码:

```mermaid

gantt

title 嘿嘿

%% 小小注释

dateFormat YYYY-MM-DD

section Q

A :a1, 2014-01-01, 30d

B :after a1 , 20d

section W

C :2014-01-12 , 12d

D : 24d

```

效果:

Mon 06

Mon 13

Mon 20

Mon 27

Mon 03

Mon 10

Mon 17

A

B

C

D

Q

W

嘿嘿


七. 今天标记

可以设置或隐藏当前日期的标记
若要为其设置样式,请为todayMarker键添加一个值

todayMarker stroke-width:5px,stroke:#0f0,opacity:0.5

要隐藏标记,请设置todayMarker为off

todayMarker off


八. 实例

代码:

```mermaid //使用mermaid解析语言

gantt //指明关键字

%%笑死

dateFormat YYYY-MM-DD //指明日期的显示格式

title 102的日常

section 写作业 //定义纵向上的一个环节

刷题:active, des1, 2021-08-01,2021-09-11

section 肝稿子

Markdown系列:active, des1, 2021-08-16,2021-09-11

HTML系列:done, des4, 2021-08-12,2021-08-15

题解:crit, active, after des2, 2021-08-13,2021-09-01

section 休息

睡觉:done, a1, after des4, 10h

干饭:after a1 , 1h

发呆:3h

```

Mon 02

Mon 09

Mon 16

Mon 23

Mon 30

Mon 06

刷题

Markdown系列

HTML系列

题解

睡觉

干饭

发呆

写作业

肝稿子

休息

102的日常

第二弹也这样高能的结束了呢


关于『进击的Markdown』:第二弹完结啦 []( ̄▽ ̄)

(我估摸大家都能听懂的部分都讲了,打表好累)

恳请OJ什么时候更新一下甘特图语法的解析器吧,求求了

不愧是我

关于『进击的Markdown』:第二弹 就酱紫结束啦~ 叭叭~(′▽`~)

关于『进击的Markdown』:第二弹的相关教程结束。

《关于『进击的Markdown』:第二弹.doc》

下载本文的Word格式文档,以方便收藏与打印。