Ich habe einen Blog in Ruby auf Schienen gemacht und es hat nur wenige Artikel. Artikel werden in der Datenbank gespeichert. Um den Inhalt zu schreiben benutze ich Tinymce gem. Der rss arbeitete an Feedly und ich möchte die Artikel auf FB Instant Artikeln zeigen. Ich folgte der Dokumentation auf FB Seiten: https://developers.facebook.com/docs/instant-articles/publishing/setup-rss-feedWie benutzt man FB Instant-Artikel mit Rubin auf Schienen?
und versuchte, sie mit Informationen über die beiden Links gefunden funktioniert: https://www.codingfish.com/blog/129-how-to-create-rss-feed-rails-4-3-steps
und
http://apidock.com/rails/Builder/XmlMarkup
Manchmal FB die Artikel geladen hatte aber der Stil fehlte, es konnte keinen Inhalt finden, konnte keine Artikel finden, dann bekam ich den "etwas schief gelaufen ..." Fehler und musste einige Zeit warten und so weiter. Ich weiß nicht, was ich tun soll. Dies ist die letzte Version von feed.rss.builder und der FB kann nichts sehen (Sie haben noch keine Instant-Artikel erstellt).
#encoding: UTF-8
xml.instruct! :xml, :version => "1.0"
xml.rss :version => "2.0" do
xml.channel do
xml.title "Blog"
xml.author "Blog"
xml.description "Web Development"
xml.link "http://myblog.dev.eu/"
xml.language "en"
for article in @blog_articles
xml.item do
if article.title
xml.title article.title
else
xml.title ""
end
xml.link("href" => "http://myblog.dev.eu/blog_posts/"+article.slug.to_s)
xml.guid article.id
xml.pubDate article.created_at.to_s(:rfc822)
xml.author article.author_name
xml.description article.short_description
xml.html do
xml.head do
xml.link("rel" => "stylesheet", "title" => "default", "href" => "#")
xml.title(article.title)
xml.meta("property" => "fb:article_style", "content" => "bam")
xml.link("rel" => "canonical", "href" => "http://myblog.dev.eu/blog_posts/"+article.slug.to_s)
end
xml.body do
xml.header do
xml.image "http://myblog.dev.eu/" + article.picture_url.to_s
end
xml.article(article.content)
end
end
end
end
end
end
Bitte helfen Sie mir, diesen Code zu beheben! Ich möchte es zur Überprüfung einreichen und den Code in feed.rss.builder nicht mehr berühren. Vielen Dank!
Edit:
ich einige Dinge im Code geändert haben und jetzt sieht es so:
#encoding: UTF-8
xml.instruct! :xml, :version => "1.0"
xml.rss :version => "2.0", "xmlns:content"=>"http://purl.org/rss/1.0/modules/content/" do
xml.channel do
xml.title "MyBlog"
xml.link "http://myblog/"
xml.description "Web Development, Digital Marketing, Education"
xml.language "en-us"
xml.lastBuildDate Time.new.strftime("%Y-%-m-%dT%H:%M").to_s
for article in @blog_articles
xml.item do
xml.title article.title
xml.link "http://myblog.eu/"+article.slug.to_s
xml.guid article.id
xml.pubDate article.created_at.strftime("%Y-%-m-%dT%H:%M").to_s
xml.author article.author_name
xml.description article.short_description
xml.content:encoded do
xml.tag!("!doctype html")
xml.html("lang"=>"en", "prefix"=>"op:http://media.facebook.com/op#") do
xml.head do
xml.meta("charset"=>"utf-8")
xml.link("rel" => "stylesheet", "title" => "default", "href" => "#")
xml.title(article.title)
xml.link("rel" => "canonical", "href" => "http://myblog.eu/blog_posts/"+article.slug.to_s)
xml.meta("property" => "fb:article_style", "content" => "bam")
end
xml.body do
xml.article do
xml.header do
xml.figure("data-mode" => "aspect-fit") do
xml.img("src"=>"http://myblog.eu/blog_posts/#{article.picture.url}")
end
xml.h1 article.title
xml.h2 article.short_description
xml.h3("Introduction" , "class"=>"op-kicker")
xml.address "myadr"
xml.time(article.created_at.strftime("%B %dth %Y, %l:%M %p").to_s, "class" => "op-published", "dateTime" => article.created_at.strftime("%Y-%-m-%dT%H:%M").to_s)
xml.time(article.created_at.strftime("%B %dth %Y, %l:%M %p").to_s, "class" => "op-modified", "dateTime" => article.updated_at.strftime("%Y-%-m-%dT%H:%M").to_s)
end
xml.p article.content
xml.figure("data-feedback"=>"fb:likes, fb:comments") do
xml.img("src"=>"http://myblog.eu/blog_posts/#{article.picture.url}")
xml.figcaption do
xml.h1 "descript"
xml.cite "text"
end
end
xml.footer do
xml.small "Lab"
end
end
end
end
end
end
end
end
end
Jetzt FB Artikel erkennt aber immer noch habe ich den Fehler: "Missing-Logo". Ich habe das Logo in FB Stilen und es kann auf Linie zu finden:
xml.meta("property" => "fb:article_style", "content" => "bam")
Wenn ich öffne einen Artikel in FB-Editor der gesamte Inhalt vor Header-Tag in dem Artikel Tag hinzugefügt wird. Es sieht in etwa so aus:
<html>
<body><article><p>!doctype html/>
...Content...
</p>
<header><time class="op-modified" datetime="2016-01-19T10:38:00-08:00">2016-01-19T10:38:00-08:00</time><time datetime="2016-01-19T10:38:00-08:00" class="op-published"></time><h1>Title</h1></header><footer></footer></article></body>
<head><link rel="canonical" href="http:///myblog.eu/article.title"></head>
</html>
Und es ist nicht bereit für die Überprüfung. Irgendwelche Ideen?