Transform Mardown to Vimwiki format with sed
--------------------------------------------

  Last edited: $Date: 2020/09/05 11:27:23 $

 ## Vimwiki backlist function not working in Markdown
 
 I started with a first try-out to create a Zettelkasten
 with Vimwiki. For this I use a Vimwiki in Markdown
 format.
 
 Unfortunately, the `:VWB` function, which creates a
 list of backlinks, works only in the original Vimwiki
 format.
 
 ## Transformation to Vimwiki format
 
 This is my first try-out for a Zettelkasten, so I
 don't have many files in it. Therefor, the easiest
 solution seems to be to a conversion of the current Vimwiki
 Zettelkasten to the original Vimwiki format.
 
 This turned out to be much simpler than it sounds :)
 
 I do use only some simple formatting:
 
     # Top level header
     ## Second level header
     ### Second level header
     [description](filename)
     [description](url)
    
 These formats has to be transformed to the original Vimwiki 
 format:
 
     = Top level header =
     == Second level header =
     === Third level header ===
     [[filename|description]]
     [[url|description]]
 
 ## sed script to do the transformation
 
 As this is not very complicated, I tried to do this
 with sed.
 
 This is what does the trick:
 
     s/\[\(.*\)\](\(.*\))/[[\2|\1]]/
     s/\(^###\) \(.*\)/=== \2 ===/
     s/\(^##\) \(.*\)/== \2 ==/
     s/\(^#\) \(.*\)/= \2 =/
 
 People with more sed-fui than I have will probably do
 it more efficient, but it works :)
 
 Put this lines in a file, I called it `conversion.sed`
 and run this with some shell script to convert all 
 the files with it to the new format, in a different
 directory. Also, the files have to be renamed from
 `filename.md` to `filename.wiki`.
 
 I used this as a shell script:
 
     #!/bin/sh
 
     for file in $(ls 0??.md)
     do
     nieuw="../zettelkasten2/${file%\.md}.wiki"
     echo $file $nieuw
     cat $file | sed -f conversion.sed > $nieuw
     done
 
 My Vimwiki Zettelkasten try-out uses base-36 encoded
 filenames, like `00a.md`, `01n.md`, and so on. 
 So far I have about 75 files in it. That is why in the
 script above I use `ls 0??.md`.
 
 My Vimwiki runs in a FreeBSD jail, so this used the
 FreeBSD versions of sed and of the shell.
 
 Have fun!