首页 > 其他分享 >Typora实现Markdown标题自动编号

Typora实现Markdown标题自动编号

时间:2023-07-03 18:00:20浏览次数:68  
标签:Markdown section counter h5 write markdown 编号 Typora before

1、背景

Typora编写Markdown时,各级标题需要手动维护编号,如果标题顺序有调整,需要依次手工重新修改编号,特别是多级标题都要调整的话,更是异常麻烦!昨天在网上看到一个通过修改Typora风格主题的css文件实现自动编号的方法,试用之后感觉非常nice,再也不用管编号了,简直不要太爽!

2、原文在此

网址在这里:https://www.jianshu.com/p/c7dd68f0c1c4

3、我的做法

原文是将如下代码加入每个css文件中

#write h1,
.markdown-section h1 {
    counter-reset: h2;
}

#write h2,
.markdown-section h2 {
    counter-reset: h3;
}

#write h3,
.markdown-section h3 {
    counter-reset: h4;
}

#write h4,
.markdown-section h4 {
    counter-reset: h5;
}

#write h5,
.markdown-section h5 {
    counter-reset: h6;
}

#write h2::before,
.markdown-section h2::before {
    counter-increment: h2;
    content: counter(h2) ". ";
}

#write h3::before,
.markdown-section h3::before {
    counter-increment: h3;
    content: counter(h2) "."counter(h3) " ";
}

#write h4::before,
.markdown-section h4::before {
    counter-increment: h4;
    content: counter(h2) "."counter(h3) "."counter(h4) " ";
}

#write h5::before,
.markdown-section h5::before {
    counter-increment: h5;
    content: none;
}

#write h6::before,
.markdown-section h6::before {
    counter-increment: h6;
    content: none;
}

我是将上述代码写入C:\Users\Administrator\AppData\Roaming\Typora\themes\目录的AutoNumber.css文件,然后在每个主题的css文件第一行加入一句

@import "AutoNumber.css";

然后重启Typora,使配置生效。

4、实际效果

编写的md时,在标题行使用快捷键Ctrl+数字键可以设置对应的标题级别,比如一级标题按Ctrl+1键,二级按Ctrl+1键,依次类推,可以支持5级标题。作者只设置了4级标题的自动编号,我还是觉得不够用,依葫芦画瓢把第5级的css修改了一下:

#write h5::before,
.markdown-section h5::before {
    counter-increment: h5;
    content: none;
}

改为

#write h5::before,
.markdown-section h5::before {
    counter-increment: h5;
    content: counter(h2) "."counter(h3) "."counter(h4) "."counter(h5) " ";
}

最终效果:

标签:Markdown,section,counter,h5,write,markdown,编号,Typora,before
From: https://www.cnblogs.com/bytefish/p/17523560.html

相关文章

  • Markdown语法学习
    Markdown语法标题+空格为一级标题,#数量随级数递增最高六级字体Hello,World!粗体(两个*)Hello,World!斜体(一个*)Hello,World!斜体加粗(三个*)Hello,World!横线(两个~)引用(一个>+空格)分割线(三个-)(三个*)图片!+[图片名字]+(图片的路径/可以是本地地址/也可以是网络地址)超链......
  • 【技术积累】编程技术项目报告【编号:网页01号】
    工程计划  这个项目旨在通过开发一份WEB开发项目,本项目旨在通过使用主流的Web开发技术,如SpringBoot、Mybatis、Vue和Mysql等,来提升开发者的技术水平并实践所学知识。项目目标熟悉并掌握SpringBoot框架,了解其在Web开发中的应用;掌握Mybatis作为ORM工具的使用,实现与数据库的......
  • # Day01 Markdown学习 ##
    Day01Markdown学习标题对应于Ctrl+1234,或者对应数量的#+""+标题名字体哈哈哈哈哈哈用对应数量的*Ctrl+u=下划线+b=粗体+i=斜体哈哈~~表示划线引用不乱于心,不困于情。不畏将来,不念过往。如此,安好。用>+""+话语 分割线用三个-或者三个*图片用英文的!......
  • 小工具 | cnblogs自动上传图片并生成markdown
    博客文章在本地都是用typora写的,文本可以直接复制上去,图片一个个上传太麻烦,这里推荐一个dotnet工具,给一个本地的typora文档,它会自动读取图片,上传到cnblogs,并替换掉原文档里的图片链接很方便,mark一下,工具地址为链接......
  • Markdown操作方式
    Markdown操作方式标题​ 一共分为六级书写方式:​ #(个数不同级数不同)+空格+编写内容引用​ 书写方式:>(个数不同效果不同)+空格字体​ 加粗:****在中间写文字​ 斜体:**在中间写文字​ 删除线:~~~~在中间写文字​ 高亮:====在中间写文字​ 上标:^^在中间写文字......
  • markdown终极指南
    markdown是我一直在用的一种语法,本文想把他的各个方面的特性系统的介绍一下,方便去做一些查阅和学习。介绍Markdown易于阅读,方便创作web文档,利于各平台无缝分发。Markdown语法灵感最大的来源还是纯文本email的格式,完全由标点符号标签组成的纯文本。Markdown文件应该......
  • Markdown 使用diff高亮代码区某行数据
    使用diff标明代码区即可如:```difffunmain(){+say("")return""}funmain(){-say("")return""}效果:funmain(){+say("")return""}funmain(){-say("&quo......
  • Markdown学习
    Markdown学习标题(#标题名字(#后加空格)(#一级标题(##二级标题(###三级标题三级标题(####四级标题四级标题(#####五级标题五级标题(######六级标题六级标题字体(内容前后*不加空格)**粗体**Hello,World!*斜体*Hello,World!***斜体加粗***Hello,World!~~删除......
  • Typora语法
    MarkDown基本语法正式开始语法部分~标题 #标题名字(井号的个数代表标题的级数) #一级标题 ##二级标题 ###三级标题 ####四级标题 #####五级标题 ######六级标题 #######最多支持六级标题段落段落没有特殊的格式,直接用一个空行来表示重新开始一个段落。文字斜......
  • Markdown 用法总结
    1.插入图片Markdown中插入图片的语法为:方法1:![图片说明](图片路径)方法2:<imgsrc="图片路径"width="300"height="200">1)主要分为网络图片和本地图片其中网络图片可以直接写入网址即可,而插入本地图片可以分为绝对路径和相对路径,由于绝对路径在不同的环境下容易无法......