本文旨在分享使用Typora做笔记的一些心得

一、介绍

  1. 为什么要用Typora

    • 作为一个程序员,在学习过程中打交道的不单单是文字,还有各种语言的代码块和公式,以及一些简单的流程图和思维导图(就目前而言),就其内容的复杂性而言,远远不是一个word文档就可以解决的.此外,更重要的是,我们往往还需要对笔记进行编辑以发布到个人的博客上(这样有助于在需要时查阅).可以看到,在许多博客都提供了md(Markdown语言)以方便我们进行编辑.然而,纵观大部分的网页版md编辑器,编辑与视图都是分离的——即需要在编辑完之后切换窗口以进行查看语法是否有误(这种情况在编辑公式时更是尤为明显).
    • 而typora则稍不同,作为一款支持实时预览的Markdown文本编辑器,则近乎完全避免了因为频繁切屏或语法错误造成的时间效率的影响.同时它还支持图片的上传(这有一点我们将在之后着重提及)以及格式的转换(将在之后提及),可以将.md后缀的文件转换为pdf,docx等格式的文档.更重要的是,它是完全免费的!
  2. 上传博客

    由于使用Typora本身写下的便是md格式的文本,在上传博客时我们只需要直接复制内容粘贴到博客上的即可(Typora会默认粘贴md格式的原文),或者进入源码模式再粘贴也可.这里需要注意的是图片的处理——由于md语法中记录的是图片的位置,这样一来在博客上的图片显然是无效的,以下是三种解决方法:

    • 选择图片手动上传
    • 将需要上传的图片截图,然后复制到对应的位置
    • 图床:以上两种都需要对每张图片进行单独的操作,而图床只需要一次操作即可,在后面我们会讲解操作

    注:合理地切换Typora的源码模式可能会给我们的排版带来一些出其不意的效果

二、MarkDown语法

这里主要介绍一些Typora中常规易用的md语法

  1. 表意语法

    • #:一级标题
    • ######:六级标题
    • 1.: 有序列表
    • *:无序列表

    注:

    • 标记必须相对顶格(标记前没有字符),后面必须接一个空格

    • 在列表的头部键入Backspace即可删除前置的标记

    • 在列表的结束键入Enter即可添加下一个阶段的标记

      如:有了1开头的列表,回车即可获得2开头的列表(无序列表则生成与上一阶段相同的标记)

    • 在使用以上语法时,熟悉EnterBackspace键可以给你带来极大的方便

  2. 字体语法

    • *斜体*:斜体
    • **加粗**:加粗
    • ~~删除线~~:删除线
    • [链接](www.baidu.com):链接

    在这里使用快捷键可以在一定程度上提高效率:

    • ctrl + k:先复制一个链接,然后选中要放上链接的文字或者图片然后使用快捷键
    • ctrl + b:选中文字,使用快捷键
  3. 引用及代码块添加

    • > 引用:

      引用 (需顶格)

    • `行内代码块`:行内代码块(sadly,这边的演示无法再直接用"`"包裹)

    • ```java

      代码块

      ```

      代码块

      注: 代码块是可以选择相应的语言的

  4. 其它

    之所以要分出其它一类在于我认为某些情况下使用md语法是费力不讨好的事,这样的事应该大多交给Typora的快捷来完成

    • 表格:表格的排版是比较麻烦的,这里建议直接使用Typora的工具生成和调整

      1 1 1
      1 1 1
      1 1 1
      1 1 1
    • 图片:使用截图后粘贴或者直接将图片导入

注:以上的内容稍微参考了一下简书里的一篇文章

四、LateX公式

查阅了一定的资料,发现LateX也是一种标记语言,但更多地应用于论文的编排.这里我们主要介绍在Typora中如何使用LateX的公式(或者说是md中整合的LateX公式的基本用法),介绍的重点在于上标,下标以及一些特殊表达式的使用

  1. 准备工作

    打开Typoa和LateX公式相关的设置,进入File -> Preference -> MarkDown,勾选以下内容:

    • Inline Math:行内数学公式
    • Subscript:下标
    • Superscript:上标
  2. Typora中公式引入的两种方式

    • 行内公式:$公式$

    • 块级公式:

      $$
      公式
      $$
  3. 下标

    • 单下标

      $a_1$:\(a_1\)

    • 多下标:使用{}包裹即可

      $a_{b1}$:\(a_{b1}\)

  4. 上标

    • 单上标

      $a^1$:\(a^1\)

    • 多上标:使用{}包裹即可

      $a^{b1}$:\(a^{b1}\)

  5. 特殊表达式

    LateX对于公式的支持是比较完整的,既包括了加减乘除,分数开根等一些简单的运算公式,也包括了积分,向量,求极限等复杂的运算公式.这里主要介绍一些常用的函数以及符号标记,如果要查阅更完整的内容可以参考网上的相关博客

    • 常用表达式

      表达式 显示
      \frac{分子}{分母} \(\frac{分子}{分母}\)
      \sum_{下标}^{上标}{表达式} \(\sum_{下标}^{上标}{表达式}\)
      \prod_{下标}^{上标}{表达式} \(\prod_{下标}^{上标}{表达式}\)
    • 特殊字母

      表达式 显示
      \alpha \(\alpha\)
      \beta \(\beta\)
      \mu \(\mu\)
      \pi \(\pi\)
      \varphi \(\varphi\)
    • 通过对以上内容的拼接,即可完成一些基本的表达式的书写,https://www.acwing.com/blog/content/1727/

五、Typora

聊完了md,lateX公式等前置的信息,我们可以正式开始聊聊Typora了

  1. 下载

    官网:https://www.typora.io/

    价格:免费

    支持平台:windows,linux,os

    注:由于服务器在境外,下载比较慢,这里提供一个百度云的下载链接,提取码:3399,于2020.7下载,如果官网下载不了的朋友可以自行下载领取.

  2. 定制Typora

    下载好Typora,熟悉了md语法以及Latex公式,您应该能够初步地使用这个程序了.但是为了更好地使用它,对它进行定制,我们还应该稍微了解一下它的实现原理

    • 倘若你有一定的前端开发经验,那么当你打开视图的开发者工具(事实上,许多人看到这个词估计心里就有数了),可能会惊讶地发现Typora原来是个浏览器!而且根据这个调试工具的风格还能更近一步地猜想到是基于Chrome的浏览器内核开发的.

    • 事实上,也的确是如此的.Typora正是使用了electron框架进行开发的.而electron是一个基于Chromium 和 Node.js,帮助我们使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序(也就是我们下载的桌面应用,如Typora)的框架.

    • 既然Typora可以看做是浏览器,那么可以想见Typora实际所做的工作也就是将我们写下的内容翻译成html+css,然后用浏览器将其渲染出来.那么我们要如何定制自己的Typora呢?答案不言而喻,只需修改一下对应的css即可.打开偏好设置->外观->打开主题文件夹,在主题文件夹下有多个css文件,查看Typora上方的主题栏便可知晓当前使用的主题(默认为github).

      (1).查看原文件:(这里以一个5级标题为例)

      h5 {
      font-size: 1em;
      }

      (2).尝试修改文件:

      h5 {
      font-size: 2em;
      }

      (3).重启,可以看到对应的标题字体的确变大了

      有喜欢整一些花里胡哨东西的朋友可以开始搞起来了!

    • 补充:这样的css调整不仅能在本地使用,还可以将对应的css放到博客上设置使用

    • 相关文档:https://support.typora.io/About-Themes/

六、图床

  1. 当我们在本地使用图片时,实际上对应的是该图片在本地的地址(如果是截图,在复制过后会自动在本地产生一个地址).这种情况在本地使用是无妨的,但是当我们想要将对应的md原码直接放到bolg上就出现问题了,因为赋值过去的图片链接是错误,为此我们需要对每张图片一一进行操作,显然这就带来极大的不便.

  2. 解决的方法之一便是图床.所谓图床就是储存图片的服务器.具体工作原理见下图,相信大家可以很容易地理解其工作原理,而在Typora内部也有与之相对应的设置.

    图床使用方法贴知乎链接:https://zhuanlan.zhihu.com/p/137310314 (具体的操作在评论区的置顶)

    注:如果大家使用的是阿里云的图床,最后即使有报错可能也不影响实际的使用,但需要在服务器的文件夹中确认相关的图片已经上传了

七、转换文本格式

虽然有许多网站支持.md文件,如简书,博客,github等,但大多局限于程序员的圈子,如果要对外发布通常还需要转换为PDF或者word等格式.为此,我们在选择文件 -> 导出 ->PDF时只需要依照提示安装一下Pandoc工具即可非常便捷地完成格式转换

注:PDF格式与css相关,.docx格式与css无关

八、使用ProcessOn进行绘图

也许你会感到很神奇:md语言是可以绘图的!但就个人而言我无法想象复杂的流程图的绘制要如何通过md语言完成.为此,在这里我推荐使用免费的ProcessOn网站进行流程图,思维导图的绘制(就如以上完成的两张图),之后截图,复制即可.

以上,如有问题,欢迎大家留言讨论

使用Typora做笔记的更多相关文章

  1. 使用ZIM桌面维基做笔记

    最近尝试了使用ZIM做笔记,感觉还不错 ubuntu下直接到软件中心即可安装,或者 sudo apt-get install zim windows下的到此下载http://www.glump.net ...

  2. PDF加密无法做笔记

    尝试打印PDF,若无法打印,可以利用PDFescape(http://www.pdfescape.com/) PDFescape是一个可以在线修改.做笔记的网站,但是在线使用有上传PDF大小限制(小于 ...

  3. Typora学习笔记

    Typora学习笔记 标题 用"#"表示 快捷键:ctrl+1,2,3,4,5 居中 居中可用center标签 强调 使用强调 加粗 使用加粗 下划线 使用u标签:下划线 有序列表 ...

  4. php面试题9(看的时候就应该随手截图做笔记的)

    php面试题9(看的时候就应该随手截图做笔记的) 一.总结 看的时候就应该随手截图做笔记的 二.php面试题9 一.选择题:1.下面哪个表达式不能将两个字符串$s1 和$s2 串联成一个单独的字符串? ...

  5. 【原创】复制知乎“禁止转载”的内容做笔记 - 基于oncopy监听器的简单解决方案

    原理:移除所有oncopy的监听器. 使用: 新建书签,地址设为: javascript: getEventListeners(document).copy.forEach(({listener}) ...

  6. markdown编辑器抉择经历(做笔记\多系统用户)

    之前一段时间,为了找到一款合适的md编辑器可谓是费尽了心思,用了我不少时间才找到一款合适的跨平台的又美观方便的编辑器----马克飞象. 感觉虽然有些编辑器功能很强大,对于使用性单一的用户,比如像我这种 ...

  7. Oracle常用命令大全(很有用,做笔记)

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  8. 今天第一次接触到typescript,看了第一个知识点就是变量的声明,来回忆回忆,做做笔记

    以前只用过JavaScript原生写网站特效,今天还是第一次听说typescript的,然后看了一下它的基本知识,感觉很像Java,真的太像了,但是又有不同点.很让我惊奇看到的第一个知识点就和以前不同 ...

  9. 初尝seajs,只提供自己学习做笔记

    (仅供自己使用,勿喷) 闲着无聊,尝试下seajs, 只是在公司项目上随便添加并测试了一下,做下记录, 方便以后自己使用更快的上手: 下载最新的sea.js, v- 3.0.0 新建seajsConf ...

随机推荐

  1. 3M 高可用架构----拓展

    3M 高可用架构 一.MMM 1. MMM的概述 MMM(Master-Master replication manager for MySQL,MySQL主主复制管理器)是一套支持双主故障切换和双主 ...

  2. shell脚本之数组基本操作及排序

    数组的基本操作及排序 1.数组定义方法: ( 6 7 9 4 3 2) 0 1 2 3 4 5 #下标号 方法一: 数组名=(value0 value1 value2 -) 方法二: 数组名=([0] ...

  3. 浅谈Java中重写与重载的区别

    重载和重写是Java中两个截然不同的概念.但是却因为名字相近导致很多人经常混淆. 下面用例子展示出他们之间的区别. 在Java中,重载(overloading) 发生在本类.方法名相同,参数列表不同, ...

  4. Python支付宝单笔转账接口

    开发信息 接口加签方式为证书模式 证书模式好处是可以使用支付宝的转账到支付宝账户,也就是提现功能,公钥模式不能实现转账到支付宝账户. 此DEMO利用单笔转账到支付宝账户接口[提现功能]用户可以通过此D ...

  5. Solution -「Gym 102759I」Query On A Tree 17

    \(\mathcal{Description}\)   Link.   给定一棵含 \(n\) 个结点的树,结点 \(1\) 为根,点 \(u\) 初始有点权 \(a_u=0\),维护 \(q\) 次 ...

  6. MySQL基本数据类型与约束条件

    昨日内容回顾 数据存储的演变 # 方向: 朝着更加统一和方便管理 数据库的发展史 # 由本地保存逐步演变为线上保存 数据库的本质 # 本质上就是一款CS架构的软件 """ ...

  7. 一文带你解读Spring5源码解析 IOC之开启Bean的加载,以及FactoryBean和BeanFactory的区别。

    前言 通过往期的文章我们已经了解了Spring对XML配置文件的解析,将分析的信息组装成BeanDefinition,并将其保存到相应的BeanDefinitionRegistry中,至此Spring ...

  8. HBase学习记录-API

    delete.addColumns()和delete.addColumn()的区别 /** * delete.addColumns(); * delete.addColumn(); * 区别: * a ...

  9. Clickhouse - Replication机制

    Clickhouse - Replication机制 1. Replication引擎族 Replication仅对于MergeTree引擎族提供支持, 两者是正交的: ReplicatedMerge ...

  10. 详解pandas的read_csv方法

    楔子 使用pandas做数据处理的第一步就是读取数据,数据源可以来自于各种地方,csv文件便是其中之一.而读取csv文件,pandas也提供了非常强力的支持,参数有四五十个.这些参数中,有的很容易被忽 ...