2015-01-07 2 views

ответ

4

Да. Вы либо хотите создать плагин для извлечения и анализа внешних фидов во время jekyll build, либо, планируя B, вы всегда можете получить и проанализировать каналы на стороне клиента с помощью AJAX. Так как вы просили ответ Джекил, вот грубое приближение первого подхода:

# Runs during jekyll build 
class RssFeedCollector < Generator 
    safe true 
    priority :high 
    def generate(site) 

     # TODO: Insert code here to fetch RSS feeds 
     rss_item_coll = null; 

     # Create a new on-the-fly Jekyll collection called "external_feed" 
     jekyll_coll = Jekyll::Collection.new(site, 'external_feed') 
     site.collections['external_feed'] = jekyll_coll 

     # Add fake virtual documents to the collection 
     rss_item_coll.each do |item| 
     title = item[:title] 
     content = item[:content] 
     guid = item[:guid] 
     path = "_rss/" + guid + ".md" 
     path = site.in_source_dir(path) 
     doc = Jekyll::Document.new(path, { :site => site, :collection => jekyll_coll }) 
     doc.data['title'] = title; 
     doc.data['feed_content'] = content; 
     jekyll_coll.docs << doc 
     end 
    end 
end 

Вы можете получить доступ к коллекции в шаблоне, как так:

{% for item in site.collections['external_feed'].docs %} 
<h2>{{ item.title }}</h2> 
<p>{{ item.feed_content }}</p> 
{% endfor %} 

Есть много возможных вариантов на тему, но это идея.

+0

Прежде всего, спасибо, что помогли мне. Можете ли вы указать мне сайт, где я могу больше узнать о ** TODO ** - получение RSS с рубином. Я знаю только маленький рубин. – Phlow

+1

Я бы начал с примеров в [Net :: HTTP] (http://ruby-doc.org/stdlib-2.2.0/libdoc/net/http/rdoc/Net/HTTP.html) или для более простого подхода , проверьте этот вопрос, который использует [OpenURI] (http://stackoverflow.com/questions/1854207/getting-webpage-content-with-ruby-im-having-troubles). –

-1

Ну, я не думаю, что Jekyll сам может это сделать ... потому что Jekyll - это больше CMS. Тем не менее, Jekyll написан на Ruby, я могу поверить, что вы можете легко запускать задачи ruby ​​/ rake с Jekyll (это даже возможно, что используется при создании сайта Jekyll), поэтому я считаю, что вы, вероятно, должны сделать это как рубиновый скрипт.

Смежные вопросы