Sha256: 0b21b466b34595ee82b0806e66f191cca943f2e748058cfb7eb8bcd42587ac96
Contents?: true
Size: 1.84 KB
Versions: 1
Compression:
Stored size: 1.84 KB
Contents
# ogp.rb - add Open Graph Protocol <meta> tags to header # # Copyright (c) 2011 MATSUOKA Kohei <kmachu@gmail.com> # You can redistribute it and/or modify it under GPL2. # # @conf['ogp.facebook.app_id'] - your facebook application ID. # @conf['ogp.facebook.admins'] - your facebook ID. def ogp_description(html) @conf.shorten(remove_tag(html), 200) end def ogp_image(html) images = html.scan(/<img.*?src="(.*?)"/) if !images.empty? images.first[0] else @conf.banner end end if defined? :ogp_tag && !defined? :ogp_tag_org alias :ogp_tag_org :ogp_tag end def ogp_tag ogp = ogp_tag_org || '' headers = { 'fb:app_id' => @conf['ogp.facebook.app_id'], 'fb:admins' => @conf['ogp.facebook.admins'] } if @mode == 'day' # remove original og:image generated at 00default.rb ogp.gsub!(/<meta property="og:image"[^>]+>\n/, '') diary = @diaries[@date.strftime('%Y%m%d')] if diary sections = diary.instance_variable_get(:@sections) section_index = @cgi.params['p'][0] || sections.size section = sections[section_index.to_i - 1].body_to_html section_html = apply_plugin(section) headers['og:description'] = ogp_description(section_html) headers['og:image'] = ogp_image(section_html) end end ogp + "\n" + headers.select {|key, val| val && !val.empty? }.map {|key, val| %Q|<meta property="#{key}" content="#{CGI::escapeHTML(val)}">| }.join("\n") end add_conf_proc('Open Graph Protocol', 'Open Graph Protocol') do if @mode == 'saveconf' @conf['ogp.facebook.app_id'] = @cgi.params['ogp.facebook.app_id'][0] @conf['ogp.facebook.admins'] = @cgi.params['ogp.facebook.admins'][0] end <<-HTML <h3>Facebook Application ID</h3> <p><input name="ogp.facebook.app_id" value="#{h(@conf['ogp.facebook.app_id'])}"></p> <h3>Facebook User ID</h3> <p><input name="ogp.facebook.admins" value="#{h(@conf['ogp.facebook.admins'])}"></p> HTML end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tdiary-5.0.5 | vendor/bundle/bundler/gems/tdiary-contrib-a3c5f37278c4/plugin/ogp.rb |