Skip to content

技术细节

Keldos edited this page Feb 15, 2023 · 3 revisions

若干事实

  • Typora 是一个专有软件。在过去的测试阶段,Typora 曾提供免费的测试版软件;但在正式版已经需要付费才能使用。
  • Typora 通过开源项目 Pandoc 将 markdown 转换为 HTML,每一个 markdown 元素都会带有特定的 HTML 标签。本主题的本质就是撰写一些 CSS 规则,从而规定超文本的样式。这意味着,本主题不但支持 Pandoc,还支持其他依赖 Pandoc 的 markdown 文本编辑器。
  • Typora 自身用户界面的样式也受本主题的影响。因此,在您阅读本项目的源代码时,需要留意,您看到的 CSS 规则不止影响了输出结果,还影响了 Typora UI。

构建过程

本项目的 Makefile 包含以下过程:

  1. 创建一个 build 目录,以存储中间结果。
  2. 将操作系统信息、主题信息和 SCSS 文件字面地拼接在一起,形成某个特定操作系统和主题的 SCSS 文件。
  3. 这些 SCSS 文件被转译为 CSS 文件,并被存储在 latex-theme/${os_name}/target 目录下。
  4. 操作系统对应的自动安装脚本被复制到 latex-theme/${os_name} 目录下。
  5. 所有 latex-theme/${os_name} 目录都会被分别打成 zip 包,包内保持原先的文件结构。

在推送到 GitHub 后,GitHub Actions 会把上述 zip 包发布。

主题文件夹

各操作系统的 Typora 主题文件夹路径如下:

操作系统 主题文件夹路径
Windows %APPDATA%\Typora\themes
macOS ~/Library/Application Support/abnerworks.Typora/themes
Linux ~/.config/Typora/themes