diff --git a/_plugins/open_external_links_in_new_tab.rb b/_plugins/open_external_links_in_new_tab.rb index 847687b..fc00afe 100644 --- a/_plugins/open_external_links_in_new_tab.rb +++ b/_plugins/open_external_links_in_new_tab.rb @@ -1,9 +1,21 @@ +# If the configuration sets `open_external_links_in_new_tab` to a truthy value, +# add 'target=_blank' to anchor tags that don't have `internal-link` class + # frozen_string_literal: true require 'nokogiri' -# If the configuration sets `open_external_links_in_new_tab` to a truthy value, -# add 'target=_blank' to anchor tags that don't have `internal-link` class -Jekyll::Hooks.register [:pages, :notes], :post_convert do |doc| +Jekyll::Hooks.register [:notes], :post_convert do |doc| + convert_links(doc) +end + +Jekyll::Hooks.register [:pages], :post_convert do |doc| + # jekyll considers anything at the root as a page, + # we only want to consider actual pages + next unless doc.path.start_with?('_pages/') + convert_links(doc) +end + +def convert_links(doc) open_external_links_in_new_tab = !!doc.site.config["open_external_links_in_new_tab"] if open_external_links_in_new_tab