V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
amiwrong123
V2EX  ›  程序员

Typora 通过文件夹管理 md 文件时,本地图片该怎么链接?

  •  
  •   amiwrong123 · 12 天前 · 1468 次点击

    https://www.zhihu.com/question/277620295

    有点类似于知乎这个问题。

    本来 md 文件们和 asserts 文件夹是同一级的,但是由于 md 文件慢慢增多,所以需要增加文件夹来管理这些 md 文件,这样才能看起来更加清晰。

    • 原来本地图片是这样的:![image-20241105172924298](asserts/image-20241105172924298.png)
    • 但如果我现在创建了一个文件夹 info ,想把以前的一个 md 文件移动到 info 文件夹,那么这个本地图片就应该改成![image-20241105172924298](../asserts/image-20241105172924298.png)
    • 这样,每一次移动一个 md 文件,我就得做一次这样的全文替换。
    • 并且,对于这个移动过的 md 文件,如果再次移动,那我还得做一次全文替换。

    目前想了一个解决方案(如上图),虽然我感觉还是不够优雅:

    • 让 md 文件里的本地图片,使用绝对路径,即所有的本地图片都使用这种![image-20241118195746315](D:\Markdown\Typora\asserts\image-20241118195746315.png),这样,不管我怎么移动 md 文件,这些图片都可以正常显示。而且每次移动后,我都不需要做全文替换。

    ps:不考虑图床。

    15 条回复    2024-11-21 10:39:16 +08:00
    thedog
        1
    thedog  
       12 天前
    我的方案是:全上传到图床,没有本地图片。配个 picgo 之类的软件,图片粘贴到 typora 中自动上传,几乎无感。体验还可以。
    importmeta
        2
    importmeta  
       12 天前
    同问, 我也讨厌这个, 但我现在写博客了, 用 MDX 了 , 配置个别名之后直接用 @/images/ 引入就行了, Astro 之类的框架就有, 然后就没这个问题了.
    renmu
        3
    renmu  
       12 天前 via Android
    绝对路径的问题就是几乎和同步绝缘了
    layden
        4
    layden  
       12 天前
    图片如果是相对路径好像没办法吧,不移动图片位置那只能改图片路径。

    个人的做法是:./images/${filename}.images ,这样所有 md 文件都拥有对应的图片目录。这样移动 md 文件的时候,只需要移动对应的图片目录,不需要改文件内的图片路径。
    eryajf
        5
    eryajf  
       12 天前   ❤️ 1
    绝对路径就是最好的解决方案。
    我曾写过总结: https://wiki.eryajf.net/pages/2921.html
    shintendo
        6
    shintendo  
       12 天前
    Base64 一把梭!
    shintendo
        7
    shintendo  
       12 天前
    图片目录下起一个 http server 常驻,链接用 localhost/xxx.jpg
    话说楼主你 assets 拼错了
    dcsuibian
        8
    dcsuibian  
       12 天前
    你的 asserts 拼错了
    而且,我认为.md 文件应该和同级目录下的 assets 文件夹视作一个整体来对待,不应该出现你一个移了另一个没移的情况
    https://imgur.com/a/BQLuum3
    SenLief
        9
    SenLief  
       12 天前
    每一个文件夹下面都有一个 assets
    doraemonki
        10
    doraemonki  
       12 天前
    ./images/${filename}.images 不方便 md 文件改名字;多个 md 文件使用同级目录下的 assets 文件夹不能随便移动文件;每个 md 文件都放在单独文件夹对应单独的 ./assets 文件夹可以但是有点太丑了(能接受就是最优解了)。综合考虑我是全部使用绝对路径。
    amiwrong123
        11
    amiwrong123  
    OP
       12 天前 via Android
    @eryajf
    @doraemonki
    看来我只能使用绝对路径了。

    要是支持一个变量${mypath}(这个变量设置成我的绝对地址),然后 md 文档里就写成![image-20241105172924298](${mypath}/image-20241105172924298.png),然后靠 typora 软件自己去动态解析这个变量,就应该是最优雅的解法了。
    ChenSino
        12
    ChenSino  
       12 天前
    博客还是搞个图床吧,以后部署到服务器也方便
    dwSun
        13
    dwSun  
       11 天前
    你需要 obsidian
    kingpo
        14
    kingpo  
       10 天前
    @thedog #1 你图片是自建的还是用第三方的,第三方总觉的有一天 跑路了就全都丢了
    thedog
        15
    thedog  
       10 天前
    @kingpo github
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 06:42 · PVG 14:42 · LAX 22:42 · JFK 01:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.