27 lines
1.2 KiB
Ruby
27 lines
1.2 KiB
Ruby
module Jekyll
|
|
module BugFilter
|
|
def bugify(input)
|
|
upstream_map = {
|
|
"Bootstrap" => "https://github.com/twbs/bootstrap/issues/",
|
|
"Edge" => ["https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/", "Edge issue"],
|
|
"UserVoice" => ["https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/", "Edge UserVoice idea"],
|
|
"Mozilla" => ["https://bugzilla.mozilla.org/show_bug.cgi?id=", "Mozilla bug"],
|
|
"Chromium" => ["https://bugs.chromium.org/p/chromium/issues/detail?id=", "Chromium issue"],
|
|
"WebKit" => ["https://bugs.webkit.org/show_bug.cgi?id=", "WebKit bug"],
|
|
"Safari" => ["https://openradar.appspot.com/", "Apple Safari Radar"],
|
|
"Normalize" => ["https://github.com/necolas/normalize.css/issues/", "Normalize"]
|
|
}
|
|
|
|
upstream_map.each do |key, data|
|
|
url = data.is_a?(Array) ? data[0] : data
|
|
label = data.is_a?(Array) ? "#{data[1]} " : ""
|
|
input = input.gsub(/#{key}#(\d+)/, "<a href=\"#{url}\\1#{key === 'Edge' ? '/' : ''}\">#{label}#\\1</a>")
|
|
end
|
|
|
|
return input
|
|
end
|
|
end
|
|
end
|
|
|
|
Liquid::Template.register_filter(Jekyll::BugFilter)
|