Повторение и тавтология

дайте сказать немому

Попробуем подключить альбом Imgur-a

| Comments

Одним из двигателей перехода сюда было упрощение публикации картинок, видео, музыки и всей остальной медии. В ЖЖ, к примеру, эта функциональность находится в каком-то грешном каменном веке. Для модного и бездумного включения превьюшек даже придумали специальный стартап, Embedly. В принципе можно жить и со встроенными плагинами для картинок и видео, не умничать. Но сейчас принято включать содержательные блоки просто по факту присутствия ссылок в тексте или с минимальной помощью в разметке, поэтому я прикрутил эту самую эмбедлю сюда.

Вот например, альбом в imgur-e.

Или музыка на SoundCloud-e. Ну и так далее, все эти радости – одной ссылкой.

Пришлось конечно немного помочь восьминожке, вот так:

  1. в _config.yml добавить параметр embedly_key: ‘xxxx’
  2. в Gemfile добавить gem embedly
  3. в каталог plugins положить файлик embedly_tag.rb следующего содержания:
(embedly_tag.rb) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Title: trivial hack to use embed.ly in octopress
# Authors: Alexander Nikolaev <variomap@gmail.com>
#
# Syntax {% embedly url %}
#

require 'embedly'

module Jekyll

  class EmbedlyTag < Liquid::Tag

    def render(context)
      @markup.strip!

      if @markup =~ /^https?:/
        embedly = Embedly::API.new :key => context.registers[:site].config['embedly_key'],
          :user_agent => 'Mozilla/5.0 (compatible; tautology2/1.0; variomap@gmail.com)'

        if res = embedly.oembed(:url => @markup)
          res[0].html.gsub(/width\s*=\s*"\d+"/, 'width="100%"')
        else
          "Error processing '#{@markup}'"
        end
      else
        @markup
      end
    end
  end
end

Liquid::Template.register_tag('embedly', Jekyll::EmbedlyTag)

Comments