Typora中的根目录设定
在Hexo写作中, 文章目录_posts
和图片目录images
是平级的关系, 有如下的文件树结构:
|
|
生成网页时图片的路径是 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/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
总结
子source文件夹下创建images.public
和images.private
两个文件夹, 同时在_posts文件夹下创建两个对应的软链接.设置typora图片路径为:
typora-copy-images-to: ../images.public or private
typora-root-url: ../
更新: 不知为啥, 好像 _posts
文件夹不能有软链接, 还是用最开始的方案吧 ( ・᷄ὢ・᷅ )