Skip to content

Instantly share code, notes, and snippets.

@jonathanlurie
Last active February 6, 2019 08:05
Show Gist options
  • Save jonathanlurie/f9450aacad12932b4339f7f096def059 to your computer and use it in GitHub Desktop.
Save jonathanlurie/f9450aacad12932b4339f7f096def059 to your computer and use it in GitHub Desktop.
In a Markdown file, all images paths not starting with 'http' will be prepended with some sufix
let lorem = `
Lorem ipsum dolor sit amet, ![ ghj78 ](consectetur) adipiscing elit. Praesent rhoncus neque vel justo ![foo](http://kdjkasdjkajs.com/asdasd.png), at imperdiet massa porta. In eget risus ac tortor tristique congue. Quisque hendrerit a ante sed vehicula. Vivamus vitae libero magna. Donec nec orci maximus felis blandit tristique eget vitae sapien. Vestibulum vitae tortor ![foo bar](consectetur) ultrices, convallis orci vitae, convallis lacus. Aenean accumsan egestas nibh, eu convallis nibh feugiat id. Mauris libero ligula, mattis quis sem at, tempus rhoncus ipsum.
Curabitur vitae ipsum ut arcu congue placerat vitae ut dolor. Vestibulum dolor ligula, ultricies et orci a, ornare porta sem. Morbi eget tellus scelerisque, vehicula metus id, aliquam ex. Pellentesque eget bibendum sem. Suspendisse commodo, neque et cursus varius, metus justo convallis lacus, ac mattis nisi leo a urna. Phasellus iaculis enim sed diam fermentum ![bar](consectetur). Integer sed bibendum nulla. Duis dignissim eleifend urna, id convallis sem gravida vel. Aliquam rutrum porttitor ullamcorper. Nulla eget lacus tellus.
`.trim()
let prefix = 'mysubfolder/thing/'
let replaced = lorem.replace(/\!\[[a-zA-Z0-9 ]*\]\(\s*(\S*)\s*\)/gm, function(correspondance, p1){
if (p1.startsWith('http')) {
return correspondance
} else {
return correspondance.replace(p1, `${prefix}${p1}`)
}
})
console.log(replaced)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment