23 lines
712 B
Ruby
23 lines
712 B
Ruby
|
# frozen_string_literal: true
|
||
|
class TweetEmbedGenerator < Jekyll::Generator
|
||
|
def generate(site)
|
||
|
return if !site.config["embed_tweets"]
|
||
|
|
||
|
all_notes = site.collections['notes'].docs
|
||
|
all_pages = site.pages
|
||
|
all_docs = all_notes + all_pages
|
||
|
|
||
|
all_docs.each do |current_note|
|
||
|
current_note.content.gsub!(
|
||
|
/^https?:\/\/twitter\.com\/(?:#!\/)?(\w+)\/status(es)?\/(\d+)$/i,
|
||
|
<<~HTML
|
||
|
<blockquote class="twitter-tweet">
|
||
|
This tweet could not be embedded. <a href="#{'\0'}">View it on Twitter instead.</a>
|
||
|
</blockquote>
|
||
|
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||
|
HTML
|
||
|
)
|
||
|
end
|
||
|
end
|
||
|
end
|