美化你的Typora —— 关于MarkDown文档和newsprint.css的一点折腾

2023-11-19

这篇文章起源于我想美化一下Markdown样式,我在Typora官方的newsprint风格的基础上对其css进行了一系列的微调,提升了美观度和易用性,解决了如图像缩放分辨率降低、中英文字体设置等问题。

之前一直在纠结使用何种文档的记录方式,尝试了使用VSCode配合MarkDown的模式,但是VSCode的预览始终让我不满意。

最后在Typora中找到了一个比较满意的主题:NewsPrint

然而还是有部分地方不是很满意,需要在newsprint.css中自己定义css。

0. 美化前后效果对比

美化前

image-20211120164308611

美化后

image-20211120163445262

1. 代码块背景颜色与代码块布局

在NewsPrint的基础上进行了一点css的微调,优化了代码的背景颜色,得到了比较满意的样式。

在newsprint.css文件中修改.md-fences的background-color属性。

code,
.md-fences {
	background-color: #dadada1c; /* 自定义 */
}

还优化了代码块的布局。

在newsprint.css文件中修改.md-fences的布局属性。

.md-fences {  /* 自定义 */
	margin-left: 0em;
	margin-bottom: 1em;
	padding-left: 1ch;
	padding-right: 1ch;
}

2. 关于图片缩放

发现一个与图片缩放有关的问题,在Typora中,图片一般会模糊化,这与CSS有关,具体原因不是很清楚,可能是采用了一些不能保证清晰度的图片缩放算法。

解决方案:在newprint.css中为img标签添加一个样式,作用是在缩放图片时使用最邻近算法,提升缩放图片的清晰度

img {
    image-rendering: -webkit-optimize-contrast; /* 自定义 */
}

3. 关于字体

newprint.css中的字体设置如下

html, body {
    font-family: "PT Serif", 'Times New Roman', Times, serif;
}

个人推荐将PT Serif作为英文字体,Serif是衬线的意思,微软雅黑(Microsoft YaHei)作为中文字体。

新的样式配置如下,将"PT Serif"放在'Microsoft YaHei'的前面,因为'Microsoft YaHei'也包含英文和数字字符,放在前面会覆盖掉"PT Serif"字体。

html, body {
    font-family: "PT Serif", 'Microsoft YaHei'; /* 自定义 */
}

代码快则使用默认的经典consoles字体

4. 关于更新时产生的样式覆盖

根据官方的说明,每次更新Typora时样式文件会被覆盖。但实际上在\AppData\Roaming\Typora\themes\old-themes路径下会保存一份旧版本的样式,使用old-themes文件夹下的newsprint.css替换父目录的newsprint.css,可以快速还原旧的自定义样式。

image-20211120163157185

5. 在VSCode中自定义样式

尝试将VSCode中的样式改为NewsPrint,VSCode中的相关设置为MarkDown.Styles,可以指定一个文件路径或者一个url,在当前版本中,只有放在工作目录下的css文件才能成功加载,而不能使用其他目录下的绝对路径。(文件路径的协议写法为:file:///c:/user/…, 当前工作目录下的相对路径写法为:./newsprint.css)

image-20211102171751291

6. css样式下载与安装

自定义newprint.css文件从下面的连接中获取

链接:https://pan.baidu.com/s/1VBbEEiFU-_e4n1RbgppC_Q
提取码:9c08

替换前请注意备份原文件!

用自定义的newprint.css替换掉 \AppData\Roaming\Typora\themes路径下的原newprint.css样式文件,重启Typora,大功告成!

在版本更新后,从\AppData\Roaming\Typora\themes\old-themes路径下将newprint.css复制到 \AppData\Roaming\Typora\themes下,替换newprint.css文件。

7. 其他

7.1. 关于添加代码块快捷键

添加代码块的默认快捷键"Ctrl+Shift+K",添加代码片段高亮的快捷键"Ctrl+Shift+"`

该快捷键可能与其他软件的快捷键冲突(例如搜狗输入法的软键盘),可以换成其他快捷键或者关闭其他软件的快捷键。

如果想自定义快捷键,可以在偏好设置中打开高级设置,通过文本你编辑器打开conf.user.json文件,在"keyBinding"下面添加新的快捷键。例如将添加代码块的快捷键设置为"Ctrl+Alt+Z"

  "keyBinding": {
    // for example: 
    // "Always on Top": "Ctrl+Shift+P"
    // All other options are the menu items 'text label' displayed from each typora menu
    "Code Fences": "Ctrl+Alt+Z"
  },

7.2.图片的自动上传

使用图床解决图片上传的问题(我使用的是PicGo教程),这样可以无感地将MarkDown发布为博客

如果这篇文章对你有用,可以点个赞再走哦~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

美化你的Typora —— 关于MarkDown文档和newsprint.css的一点折腾 的相关文章

  • Wordpress Divi 主题 - 锚链接打开选项卡切换

    我正在尝试获取锚链接以打开特定页面上的选项卡 当我位于选项卡所在的页面上并单击锚链接时 它会正确滚动到选项卡并打开它 但是 如果我位于与选项卡所在的页面不同的页面上 则锚链接只会进入该页面 不会打开选项卡 URL http elkodown
  • 如何在 Bootstrap v4 中实现导航栏下拉悬停?

    我对新的 bootstrap 版本有点困惑 因为他们将下拉菜单更改为 div
  • Django base.html扩展为homepage.html,出现静态图像,但home.css不起作用

    Problem 正如标题所示 我正在构建一个 django 项目 base html 扩展为 homepage html 并且工作正常 出现静态图像 但 home css 在任何地方都不起作用 Update 我已经切换了base html
  • 当您点击外部时,Bootstrap 3 Mobile 导航不会崩溃

    当我单击 触摸菜单外部时 我的 Bootstrap 3 移动菜单确实会折叠 我可以想出一个解决问题的方法 document on touchstart click html not nav function navbar collapse
  • Jquery toggle() 函数无法与hoverwords() 滑动字母扩展一起使用

    我有 2 个 div 每 3 秒切换一次 现在 对于 div 中的文本 我使用一个名为 滑动字母 的扩展 正如您在此处提供的演示中看到的那样 http tympanus net Development SlidingLetters http
  • 下拉菜单将导航栏向下推。如何避免呢?

    我是引导程序和网络开发的新手 我想构建一个具有两个导航栏的网页 并且根据屏幕尺寸 仅显示一个导航栏 对于屏幕尺寸 gt 768px 一切工作正常 至少看起来 对于较低的分辨率 下拉菜单将导航栏向下推到内容上方 如何避免这种情况 任何形式的帮
  • 有没有带有保存和语法突出显示功能的 HTML、CSS 在线文本编辑器?

    我想让 css 文件可以从任何地方 家庭 办公室等 访问并准备好编辑 并保存 我将进行手工编码 只想语法突出显示并保存在网络设施上 我尝试了谷歌文档 这很好 因为我可以在线保存 而且它也有修订历史记录功能 这很有用 但它没有语法突出显示 也
  • 如何使子元素被访问/活动时父元素的颜色发生变化

    我有一个下拉导航 我想要做的是 当我单击任何子菜单链接时 我希望父按钮的颜色在链接处于活动状态时保持更改 这是代码的小提琴链接 https jsfiddle net v28ydshL https jsfiddle net v28ydshL
  • CSS 3 nth 类型仅限于类 [重复]

    这个问题在这里已经有答案了 有没有办法限制 CSS 3nth of type去上课 我有一个动态数量section具有不同类别的元素指定其布局需求 我想抓住三分之一 module 但似乎nth of type查找类元素类型 然后计算类型 相
  • 打开我网站上的链接不起作用

    在我的网站上 我有一个我正在尝试获取工作的链接 我有一个遵循正常格式的链接 即 href 以 www youtube com 作为目标链接 并在末尾添加 target blank 当我单击该链接时 托管我的网站的网站会显示一条错误消息 当我
  • 如何正确使用 z-index?

    请在此处查看此页面 http www blakearchive org blake public exhibits canterburySpecial html http www blakearchive org blake public
  • 为什么table-layout:fixed会影响父元素的宽度?

    有人可以解释为什么我的div with table layout fixed正在改变其父元素的宽度 body在本例中 使其在不应该是 100 的情况下达到 100 因为它已经定位了 body border 2px solid red hei
  • 裁剪响应式全宽图像

    我必须剪辑跨越整个宽度的图像 以下事情对我不起作用 剪辑 这需要绝对位置 因此块元素不会堆叠在下面 背景位置 缩放时无法正确剪辑 放大时剪辑的部分会增加 反之亦然 包装器 包装器高度取决于浏览器宽度 因此其值应该是动态的 我使用了 seti
  • 设置绝对仓位和保证金

    我想设置一个元素的position to absolute并有一个margin bottom 但似乎margin bottom没有效果 HTML div div CSS container border 1px solid red posi
  • Zurb 基金会粘性页脚

    我想使用 Foundation 4 拥有粘性页脚 并且我想使用 HTML5
  • 移动设备上的剩余悬停效果

    我一整天都在努力做这个JSFiddle http jsfiddle net gsamaras q2w4jjyt 4 也适用于手机 但我所有的尝试都没有效果 在桌面上 当用户将鼠标悬停在箭头上时 它会变成红色 在移动设备上 当用户触摸 为了单
  • 角度材质表-表内边框

    I am using Angular material table and I want to set border inside the table Using CSS I was able to set border Normal ca
  • Ace Editor 自动完成和多种语言

    如何为 Ace 编辑器创建自动完成功能以及如何突出显示 php 中的 html javascript 和 csshttp ace ajax org http ace ajax org
  • 等高列并将最后一项与底部对齐

    我有一个列表 其中每个li有嵌套容器 我尝试为所有列表项保留相同的高度 并将最后一个 div 推到底部 我将如何使用 flex 来做到这一点 ul list container display inline flex justify con
  • Firefox -moz-border-radius 不会裁剪图像?

    如果设置了图像的边框半径 有谁知道如何让 Firefox 裁剪角 它包含的元素可以正常工作 但我会发现丑陋的角落伸出来 有什么方法可以解决此问题 而无需将图像设置为背景图像或在将其放在网站上之前对其进行处理吗 解决方法 将图像设置为容器元素

随机推荐

  • 对象锁和类锁的个人理解

    一 对象锁 1 解释 对象锁 顾名思义锁的是对象实例 但程序中同一个类可以有多个实例化对象 所以对象锁只能锁住同一个实例化对象 再两个或多个实例化对象之间不起作用 2 使用方法 1 锁住实体里的非静态变量 synchronized 变量名
  • Error Domain=NSCocoaErrorDomain Code=3840 “Invalid value around character 4104.

    使用Alamofire发了一个GET请求 出现了如下错误 responseSerializationFailed reason Alamofire AFError ResponseSerializationFailureReason jso
  • 专科程序员与本科程序员的区别大吗?

    不管专科还是本科 我们先说说校园内现状 老师自己的水平是否足够 首先就是老师是否达到了一定的水平 其次就是老师是否有更多的精力教学生 水平好的老师忙着接项目发表论文 有没有更多的时间放在学生身上 再说学生 真正学习的时间有多少 参加学生会
  • 边坡安全监测系统的主要内容

    边坡安全监测系统是边坡安全掌握及其支护结构维护决策系统的支撑条件之一 建立结构健康监测系统的目的在于确定边坡结构的安全性 监测支护结构的承载能力 运营状态和耐久性能等 对边坡稳定性进行有效监控 修正在施工过程中各种影响支护结构的参数误差对支
  • Unet实现眼底图像血管分割(三)

    1 retinaNN training py 模型Model的compile方法 model compile self optimizer loss metrics None loss weights None sample weight
  • 如何在Excel中制作曲线图

    When you create a line graph in Excel the lines are angled and have hard edges by default You can easily change this to
  • 电脑上安装多个JDK版本时如何自由切换

    文章目录 前言 一 安装JDK 二 设置系统变量 2 1 设置JAVA HOME 2 1 1 添加JAVA HOME VERSION 2 2 设置Path 2 2 1 添加Path 三 验证结果 前言 使用java的过程中 难免会遇上JDK
  • JAVA中APIcalendar的用法,Java Calendar日历类原理及使用方法

    这篇文章主要介绍了Java Calendar日历类原理及使用方法 文中通过示例代码介绍的非常详细 对大家的学习或者工作具有一定的参考学习价值 需要的朋友可以参考下 java util Calendar 是日历类 在Date后出现 替换掉了许
  • 常用头文件

    常用头文件 cstring cstring对应char 类 1 strlen char a 作用是获得字符串长度 不包括串尾符 比如 abc 0 的长度就是3 2 strcmp char a char b 就是比较两个字符串的字典序 小于返
  • Window.devicePixelRatio(设备像素比)

    Window 接口的devicePixelRatio返回当前显示设备的物理像素分辨率与CSS像素分辨率之比 此值也可以解释为像素大小的比率 一个CSS像素的大小与一个物理像素的大小 简单来说 它告诉浏览器应使用多少屏幕实际像素来绘制单个CS
  • Leetcode646. 最长数对链

    Every day a Leetcode 题目来源 646 最长数对链 解法1 动态规划 定义 dp i 为以 pairs i 为结尾的最长数对链的长度 初始化时 dp 数组需要全部赋值为 1 计算 dp i 时 可以先找出所有的满足 pa
  • 阿里云 linux 的nginx 配置uni-app的H5前端项目vue,后端接口阿里云。

    背景 vue项目调用接口是阿里云的 H5网站也要部署到阿里云 2个不同的服务器 需要做nginx部署与api代理 1 端口配置 首先当然是买个阿里云服务器 这里是配置是linux系统 配置访问的域名 再接着 给网站配置需要的端口 如下 配置
  • Git工具使用全解

    Git工具使用全解 文章目录 Git工具使用全解 1 企业开发中的版本控制器 2 Git工具的使用场景 3 Git工具操作流程 三板斧操作 4 Git工具的安装与常用命令 4 1 Git的安装 4 2 Git基本操作指令 5 Git工具常见
  • 2023/2/14 大数据实习日志

    今日学习内容 一 VMware虚拟机安装部署CentOS7 链接 VMware虚拟机安装部署CentOS7 Moba远程连接 克隆 步骤 二 Docker入门 第一章内容 什么是docker 为什么使用docker docker与虚拟化 牛
  • python: SHA256算法的实现和消息的哈希散列值计算

    目录 1 SHA256 2 实现原理 2 1 消息预处理 2 2 使用的常量和循环移位函数 2 3 主循环 3 结果 4 对中文编码 1 SHA256 SHA256是SHA 2下的一个子算法 与之类似的还有SHA224 SHA384 SHA
  • ChatGPT爆火,对制造业销售增长的AI建议

    北京时间2023年2月8日 微软宣布推出由ChatGPT支持的最新版本人工智能搜索引擎Bing 必应 和Edge浏览器 ChatGPT的问世再次掀起AI热潮 接下来让我们一起试试与ChatGPT对话 看看传说中上知天文下知地理的他是如何回答
  • ChatGPT驱动下,网站AI客服该如何进步和创新

    在ChatGPT这个AI智能的驱动下 网站AI客服在进步和创新方面有很多潜力 由于GPT模型的强大语言处理能力和智能对话技巧 使得网站AI客服能够更准确和流畅地与用户交互 looklook今天总结了一些网站AI客服智能的进步和创新方向 以供
  • PLSQL安装步骤

    1 安装 下载PLSQL安装包 解压 默认安装 选择自己需要的版本安装 一路默认即可 2 添加客户端路径 解压instantclient 11 2 rar 放到自定义目录下 我是放在D盘下的Tools目录 没有配置客户端 是无法登陆的 所以
  • 什么是LLM大语言模型?

    什么是LLM大语言模型 大语言模型 英文 Large Language Model 缩写LLM 也称大型语言模型 是一种人工智能模型 旨在理解和生成人类语言 它们在大量的文本数据上进行训练 可以执行广泛的任务 包括文本总结 翻译 情感分析等
  • 美化你的Typora —— 关于MarkDown文档和newsprint.css的一点折腾

    这篇文章起源于我想美化一下Markdown样式 我在Typora官方的newsprint风格的基础上对其css进行了一系列的微调 提升了美观度和易用性 解决了如图像缩放分辨率降低 中英文字体设置等问题 文章目录 0 美化前后效果对比 1 代