Nicolas Goaziou <m...@nicolasgoaziou.fr> writes:
> Hello, > > stardiviner <numbch...@gmail.com> writes: > >> Hi, @Nicolas, will you release a method to update all existing Org >> file links? > > This is not limited to file links. > > There is no method that can, with certainty, convert old syntax into the > new one. More accurately, it is possible to convert them with: > > (org-link-escape (org-link-decode URI)) > > but in some cases, it may be difficult to tell when the URI should be > decoded in the first place. > > I suggest to first try the linter on a document. Once we know it detects > with a good ratio links to convert, we can write a wrapper to also > convert them. I agree, but I have so many Org files. #+begin_src sh :async find ~/Org/ -iname "*.org" -print | wc -l #+end_src #+RESULTS[<2019-03-16 16:34:21> d5afbee25c7529c23db70bb758b4bb1e7bdad9a3]: : 9872 So I have to consider a safer and larger method to upgrade link. I can't manually open every Org files and run linter on them. (Maybe linter can run on Org files automatically in programtically way?) Seems I can wait for better solution now. > >> I don't know which special escaped characters need to be converted. > > %20, %25, %5B and %5D. This is helpful, I will try to use external command-line tools to search and replace them. Like ripgrep.el wapper, etc. Then use wgrep mode to query-replace. This might be more safely. I'm wandering whether is it possible to extract my Org links out for testing before I really apply upgrade solution on my mess Org files. Because once I applied method, I will lose original data. Of course I can backup all files. I did backup them regularly about 1 week repeatedly. Also this upgrade experience can help Org Mode figure out a flow about how to do backward compatibility broken steps. That will reduce other user's damage. :) Seems this will keep me spin on before new link syntax commit for a while. I always catch up the latest Org Mode code as I like it so much. > > Regards, Thanks for your working :) -- [ stardiviner ] I try to make every word tell the meaning what I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3