Obsidian美化教程

9,363 阅读5分钟

前言

自从 typora 收费后就不香了,急需一个替代品,然后就入坑 Obsidian 了,由于有插件机制,功能比 typora 多,真香。接下来我们来讲讲如何美化 Obsidian,本文主要内容分为两部分:

  1. 修改主题;
  2. 自定义文件目录图标。

先来张展示图,美化前:

SMMS

美化后:

SMMS

修改主题

修改主题比较简单,科学上网之后,在主题库选就行了,具体操作流程:

  1. 打开设置里面的外观,点击管理:

    SMMS

  2. 点击管理后,就能看到各种各样的主题,挑一个自己喜欢的安装就行了(PS:我现在使用的主题是Everforest):

    SMMS

    SMMS

  3. 然后选择下载好的主题即可:

    SMMS

修改文件目录图标

修改文件夹图标有两个方案,优缺点各不一样,这里比较推荐方案 2。

方案 1

使用Obsidian Icon Folder插件修改图标。

  • 优点:修改方便,无需改代码。
  • 缺点:每建一个新的文件夹或文件都要手动改一次图标。 步骤:
  1. 关闭第三方插件的安全模式,默认是开启状态的,如果没有关闭过就关一下: SMMS

  2. 安装插件,步骤和安装主题差不多:

    SMMS

    SMMS

  3. 开启插件,这里的开关默认是关闭的,点击打开:

    SMMS

  4. 进去插件设置页面,点右边的插件名称或者点设置按钮都行:

    SMMS

  5. 下载图标,选择想要的图标库,会自动下载好:

    SMMS

    SMMS

  6. 使用图标,右键文件或文件夹点击 Change Icon 切换自己想要的图标即可:

    SMMS

    SMMS

方案 2

自定义 css 样式。Obsidian 是用 Electron 开发的,所以可以通过修改 css 样式来修改外观。Obsidian 本身也支持功能。

  • 优点:设置一次即可在所有文件夹和文件上生效。
  • 缺点:需要懂一点 css 代码(不懂也可以照着后面的步骤抄)。 步骤:
  1. 获取图标 svg 代码,打开Remix Icon - Open source icon library,选择自己喜欢的图标,可以设置颜色和大小,然后点击复制 Copy SVG。

    SMMS

  2. 将 SVG 转换成 css 代码,打开URL-encoder for SVG,复制刚刚的代码到 1 的位置,然后位置 2 的代码会自动生产,再复制 2 的代码。

    SMMS

  3. 建立 css 样式表,点击“打开代码段文件夹”,进入文件夹,创建一个名为custom-icons-files-and-folders.css的文件,叫其他名字也行,不过这样比较规范。

    SMMS

  4. 创建完成后,会发现 css 代码片段会有刚刚创建的文件,点击启用。

    SMMS

  5. 编辑custom-icons-files-and-folders.css,复制下面代码进去:

/* 文件样式 */
.nav-folder-children .nav-file-title-content:first-child::before {
  content: "";
  margin-right: 5px;
  width: 18px;
  height: 18px;
  /* 把这里替换成步骤2复制的内容 */
}

/* 文件夹打开样式 */
.nav-folder .nav-folder-title-content::before {
  content: "";
  margin-right: 5px;
  width: 18px;
  height: 18px;
  /* 把这里替换成步骤2复制的内容 */
}

/* 文件夹关闭样式 */
.nav-folder.is-collapsed .nav-folder-title-content::before {
  content: "";
  margin-right: 5px;
  width: 18px;
  height: 18px;
  /* 把这里替换成步骤2复制的内容 */
}

/* 父类样式 */
.nav-file-title-content,
.nav-folder-title-content {
  display: flex;
  align-items: center;
  overflow: visible;
}

然后将步骤 2 复制的内容粘贴进来就行。如果想偷懒,省掉第 1、2 步,直接用我写好的也行:

/* 文件样式 */
.nav-folder-children .nav-file-title-content:first-child::before {
  content: "";
  margin-right: 5px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4 12.5v-4l2 2 2-2v4h2v-7h-2l-2 2-2-2H5v7h2zm11-3v-4h-2v4h-2l3 3 3-3h-2z' fill='rgba(25,188,155,1)'/%3E%3C/svg%3E");
}

/* 文件夹打开样式 */
.nav-folder .nav-folder-title-content::before {
  content: "";
  margin-right: 5px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M3 21a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H20a1 1 0 0 1 1 1v3H4v9.996L6 11h16.5l-2.31 9.243a1 1 0 0 1-.97.757H3z' fill='rgba(241,196,14,1)'/%3E%3C/svg%3E");
}

/* 文件夹关闭样式 */
.nav-folder.is-collapsed .nav-folder-title-content::before {
  content: "";
  margin-right: 5px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2z' fill='rgba(241,196,14,1)'/%3E%3C/svg%3E");
}

/* 父类样式 */
.nav-file-title-content,
.nav-folder-title-content {
  display: flex;
  align-items: center;
  overflow: visible;
}

进阶

不懂 css 的可以跳过。 由于 Obsidian 是用 Electron 开发的,所以可以打开调试工具(快捷键:cmd + option + I)查看布局。 SMMS

能看到 html 就好办了,上面的教程只是修改了文件夹和文件的图标,这里你可以更细化的定制,比如通过属性选择器,给不同类型的文件提供不同类型的图标,例如:

/* md文件图标 */
.nav-folder-children
  .nav-file-title[data-path$=".md"]
  .nav-file-title-content:first-child::before {
  content: "";
  margin-right: 5px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4 12.5v-4l2 2 2-2v4h2v-7h-2l-2 2-2-2H5v7h2zm11-3v-4h-2v4h-2l3 3 3-3h-2z' fill='rgba(25,188,155,1)'/%3E%3C/svg%3E");
}

/* excalidraw文件图标 */
.nav-folder-children
  .nav-file-title[data-path$=".excalidraw.md"]
  .nav-file-title-content:first-child::before {
  content: "";
  margin-right: 5px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'%3E%3Cpath fill='none' d='M0 0H24V24H0z'/%3E%3Cpath d='M20 3c.552 0 1 .448 1 1v1.757l-2 2V5H5v8.1l4-4 4.328 4.329-1.327 1.327-.006 4.239 4.246.006 1.33-1.33L18.899 19H19v-2.758l2-2V20c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zm1.778 4.808l1.414 1.414L15.414 17l-1.416-.002.002-1.412 7.778-7.778zM15.5 7c.828 0 1.5.672 1.5 1.5s-.672 1.5-1.5 1.5S14 9.328 14 8.5 14.672 7 15.5 7z' fill='rgba(50,152,219,1)'/%3E%3C/svg%3E");
}

然后就能看到这样的效果:

SMMS

不光是图标,主题也可以随便改,打开主题文件夹,会发现里面只是一个配置文件manifest.json和样式文件theme.css。想改别人的主题,只要修改里面的theme.css即可。

SMMS

SMMS

❤️ 支持

如果本文对你有帮助,点赞 👍 支持下我吧,你的「赞」是我创作的动力。