Sha256: f42c6b8b307c25d11c63bfa3b5413eaa7edc4e39f79a38ebe0463009405d9cf4
Contents?: true
Size: 963 Bytes
Versions: 3
Compression:
Stored size: 963 Bytes
Contents
# frozen_string_literal: true module BridgetownObsidian class Builder < Bridgetown::Builder REGEX_WIKILINK = /(?<!!)\[\[([^\]]+?)(?:\|([^\]]+))?\]\]/ REGEX_IMAGES = /!\[\[(.+?)\]\]/ def build generator :wikilinks generator :images end def wikilinks resources.each do |post| post.content.gsub!(REGEX_WIKILINK) do |match| wikilink = Regexp.last_match(1) wikilink_title = Regexp.last_match(2) || wikilink "[#{wikilink_title}](#{url_for("_posts/#{wikilink}.md")})" end end end def images resources.each do |post| post.content.gsub!(REGEX_IMAGES) do |match| image = Regexp.last_match(1) "![](/#{image})" end end end private def resources site.collections.posts.resources end def url_for(url) Bridgetown::RubyTemplateView::Helpers.new(resource, site).url_for(url) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bridgetown_obsidian-0.1.2 | lib/bridgetown_obsidian/builder.rb |
bridgetown_obsidian-0.1.1 | lib/bridgetown_obsidian/builder.rb |
bridgetown_obsidian-0.1.0 | lib/bridgetown_obsidian/builder.rb |