RSS для статического сайта - PullRequest
       4

RSS для статического сайта

5 голосов
/ 13 сентября 2011

У меня есть сайт deanvmc.me, который я использую для обучения HTML, CSS и JavaScript. Сайт нарочито статичен, чтобы лишить меня знаний до костей (лучший способ научиться чувствовать). Я использую github в качестве хоста для дальнейшей блокировки статически сгенерированного контента.

Я хотел бы разместить несколько статей и учебных пособий на этом сайте и чувствую, что было бы неплохо предложить RSS-канал для обоих. Каталоги / Articles и / Tutorials будут использоваться для отображения содержимого с реальными публикациями в виде / Articles / и / Tutorials / соответственно.

Я осмотрелся, но любое учебное пособие, которое я нашел, опирается на меня, используя один из основных механизмов CMS, который я не знаю, что делать.

Насколько я понимаю, RSS существует дольше, чем движки CMS, поэтому мой вопрос: можно ли синдицировать мой статический сайт?

Ответы [ 4 ]

8 голосов
/ 12 апреля 2012

Я использую генератор статического сайта для своего блога ( alexanderle.com ) и столкнулся с этой проблемой.

Я решил создать канал RSS с нуля, и он отлично работает!Довольно легко автоматизировать, если у вас есть доступ к системе шаблонов или базе данных.Редактировать XML совсем не сложно - если вы можете написать простой HTML, вы можете отредактировать XML-файл RSS.

Ознакомьтесь с руководством на https://alexanderle.com/create-an-rss-feed-from-scratch!

6 голосов
/ 13 сентября 2011

Получить статическую информацию для RSS-канала немного сложнее, потому что вы можете в конечном итоге дублировать контент, если не готовы добавить другой инструмент для создания своего сайта или немного программировать (и, возможно, на языке).отличается от тех, которые вы используете в настоящее время.)

Как уже упоминал @Simone, RSS - это простой формат, который легко написать.Но если вы просто напишите RSS-ленту поверх того, что вы делаете сейчас, вы, очевидно, будете дублировать часть или весь контент сайта, что не идеально.

Итак, я быпредположить, что вам нужен способ взять ваш контент и преобразовать его в RSS-канал - или наоборот.

Когда я создавал сайт со статическим контентом с RSS-каналом, то, как я это делал, было начать с RSS-канала.Затем я написал код, который будет принимать RSS-канал и создавать из него мои статьи HTML - в моем случае я использовал XSLT для преобразования RSS в серию файлов HTML, но вы можете использовать любую технологию, какую пожелаете.

Затем, когда бы я ни захотел добавить статью на свой статический сайт, я бы отредактировал RSS-канал, просто чтобы добавить к нему новую статью с новой датой и т. Д. (И есть инструменты для различных платформ для создания RSS).вручную, вот так.) Затем я запускаю свой код, который «сжигает» мои HTML-статьи, поэтому я всегда получаю статические статьи и RSS-канал в соответствии друг с другом, и только одну «исходную» копиюсодержания.

Существуют также инструменты для различных платформ, которые могут автоматизировать или полуавтоматизировать создание RSS-канала из множества материалов на диске, что является способом решения проблемы с другой стороны.

Поэтому мой ответ таков: если вы не готовы добавить другой язык или инструмент, кроме CSS, HTML и Javascript, в свой реперКроме того, не существует удовлетворительного способа добавить RSS-канал на статический сайт.Если вы просто добавите его как статический файл, сгенерированный вручную, то вам придется обновлять содержимое в двух местах, например, если вы редактируете статью.

Вы также можете многому научиться, взглянув на то, каксовременный набор удобных для создания статических сайтов RSS-инструментов - например, Jekyll или его более умное производное Octopress .

3 голосов
/ 13 сентября 2011

RSS - это всего лишь XML-файл, который следует определенным соглашениям. Вы можете написать XML вручную, но задача утомительна, особенно если ваш сайт публикует много изменений каждый день. Это причина, почему файл RSS обычно генерируется вашей CMS.

Здесь вы можете найти спецификацию RSS 2.0.

Вот очень простой файл RSS.

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
  <title>RSS Title</title>
  <description>This is an example of an RSS feed</description>
  <link>http://www.someexamplerssdomain.com/main.html</link>
  <lastBuildDate>Mon, 06 Sep 2010 00:01:00 +0000 </lastBuildDate>
  <pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate>

  <item>
    <title>Example entry</title>
    <description>Here is some text containing an interesting description.</description>
    <link>http://www.wikipedia.org/</link>
    <guid>unique string per item</guid>
    <pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate>
  </item>
</channel>
</rss>

Каждый items соответствует записи в ленте.

2 голосов
/ 13 сентября 2011

Да, у вас может быть лента RSS для любого сайта, но желательно для того, который вы время от времени добавляете или меняете.

Просто напишите файл XML, например, используя RSS 2.0 и загрузите его.

Добавьте метатег в заголовок вашей веб-страницы.

<link rel="alternate" type="application/rss+xml" title="My Test Feed" href="http://www.mysite.com/rss.xml" />
...