Typora中的路径设置

Typora中的根目录设定

在Hexo写作中, 文章目录_posts 和图片目录images 是平级的关系, 有如下的文件树结构:

1
2
3
4
5
6
7
.
├── _posts
│   ├── 1.md
│   ├── 2.md
│   └── 3.md
├── images
└── others

生成网页时图片的路径是 images/pic.jpg, 然而在写作中如果使用该路径, 则实际引用的文件是_posts/images/pic.jpg, 显然路径是不正确的. 此时我们需要将Typora的根目录设定为../,

这样就有_posts/../images = images . 问题解决. 同时我们也需要设定图片拷贝路径为../images, 这样图片就能复制到正确的路径了.

当文章目录有层级结构时

当然, 问题并没有结束, 我们一般都会把文章进行分类, 放入不同文件夹中, 这时又该如何设定呢?

此时的目录结构如下:

.
├── _posts
│   ├── folder1
│   │   ├── post1.md
│   │   └── post2.md
│   └── folder2
└──  images
└── others

我们的第一感觉是可以直接把根目录设为.../. 然而Typora似乎不能把...识别为上上层目录, 而是认为有一个文件夹, 它的名字是...! 所以正确的方法是使用../../.

所以, 现在问题解决了吗? 差不多是解决了, 但每次移动文件到不同层次的目录, 都要修改一次根目录, 就觉得很麻烦. 有没有方法可以不用修改就能正确识别呢? 这时就要用到软链接啦.

使用软链接

.
├── _posts
│   ├── folder1
│   │   ├── post1.md
│   │   └── post2.md
│   ├── folder1
│   └── images --> ../images
└──  images
└── others

我们可以在_posts 下面创建一个指向上级图片目录的软链接 也就是 images --> ../images.

这样, _posts/folder1/../images就是 _posts/images, 而 我们有让_posts/images指向了 images, 这样问题就解决啦.

但还有一个问题, _posts/images会被Typora当成一个没有后缀的文件显示在文件树中. 如果想让它不显示的话必须加上后缀, 这时又该怎么办呢?

那就加上后缀咯, 下面开始套娃. 创建如下软链接:

 /images.link --> /images; 
 _posts/images.link  --> ../images.link

同时设定根目录和图片拷贝路径如下:

typora-copy-images-to: ../images.link
typora-root-url: ../

下面我们分析一下当插入图片时, 背后实际发生的过程:

情况1: 文件路径是 _posts/folder1/post1.md

此时, 复制文件时, 图片路径为_posts/folder1/../images.link ---> _posts/images.link --> images.link --> /images.

不对, 这样子的话, 路径就变成了 images.link... 网页显示不出来... 变成image的话 那我们要image.link干嘛?

所以只好把image变成 ima.ge? image.public可还行.

用image.public 区分私密和非私密的... 嗯 good

总结

  1. 子source文件夹下创建images.publicimages.private两个文件夹, 同时在_posts文件夹下创建两个对应的软链接.
  2. 设置typora图片路径为:
typora-copy-images-to: ../images.public or private
typora-root-url: ../

更新: 不知为啥, 好像 _posts 文件夹不能有软链接, 还是用最开始的方案吧 ( ・᷄ὢ・᷅ )

updatedupdated2023-06-052023-06-05
Update https-ca.md