11ty 사이트의 RSS 피드

5026 단어 xmlrss11ty







데이브 루퍼트


@davatron5000






RSS: 트위터와 비슷하지만 좋아하는 출판물에서 선택할 수 있는 좋은 기사가 너무 많아서 스트레스가 생기고 압도적인 파멸과 바보 같은 분위기에서 덜 스트레스를 받습니다.


오후 13:54 - 2020년 9월 22일









Dave Rupert 맞습니다. Really Simple Syndication 또는 RSS은 사람들이 광고, 미끼 클릭 및 스팸의 포격을 받지 않고 자신이 선택한 RSS 리더로 자신이 좋아하는 블로그 기사를 소화할 수 있는 좋은 방법입니다. 독자들에게 호의를 베풀고 11ty 블로그에 추가하는 것은 어떻습니까?

패키지 설치 #



11ty 프로젝트 폴더에서 시작하여 이 패키지를 설치합니다.

npm install @11ty/eleventy-plugin-rss --save-dev


11ty 구성에 포함 #


.eleventy.js 파일에서 플러그인을 요구하고 보유하고 있는 다른 플러그인과 함께 module.exports 기능에 포함합니다.

const pluginRss = require("@11ty/eleventy-plugin-rss");
  module.exports = function(eleventyConfig) { eleventyConfig.addPlugin(pluginRss);
};


피드 메타데이터에 추가 #


_data/metadata.json 파일에서 피드에 대한 고유 메타데이터를 추가합니다.

{
  "feed": {
     "subtitle": "Tech posts to educate, elevate, but mostly entertain.",
     "filename": "feed.xml",
     "path": "/feed/feed.xml", 
     "url": "https://conormeagher.com/feed/feed.xml",
     "id": "https://conormeagher.com/"
  },
},


RSS 피드 만들기 #



11ty 프로젝트 폴더의 최상위 수준에서 이 템플릿 파일을 만듭니다.

touch src/feed.xml


Atom은 RSS에 비해 덜 제한적인 라이선스, IANA 등록 MIME 유형, XML 네임스페이스, URI 지원, RELAX NG 지원 등 몇 가지 장점이 있습니다. [1] 이를 알고 Atom 형식을 복사하여 붙여넣어 피드 템플릿을 생성합니다. RSS 및 JSON과 같은 다른 형식을 사용할 수 있습니다. [2]

---
# Metadata comes from _data/metadata.jsonpermalink: "{{ metadata.feed.path }}"eleventyExcludeFromCollections: true
---
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom">
<title>{{ metadata.title }}</title>
<subtitle>{{ metadata.feed.subtitle }}</subtitle>
<link href="{{ metadata.feed.url }}" rel="self"/> <link href="{{ metadata.url }}"/>
<updated>{{ collections.posts | getNewestCollectionItemDate | dateToRfc3339 }}</updated>
<id>{{ metadata.url }}</id>
<author>
  <name>{{ metadata.author.name }}</name>
  <email>{{ metadata.author.email }}</email>
</author>
{%- for post in collections.posts | reverse %}
{% set absolutePostUrl %}{{ post.url | url | absoluteUrl(metadata.url) }}{% endset %}
<entry>
  <title>{{ post.data.title }}</title>
  <link href="{{ absolutePostUrl }}"/>
  <updated>{{ post.date | dateToRfc3339 }}</updated>
  <id>{{ absolutePostUrl }}</id>
  <content type="html">{{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }}</content>
</entry>
{%- endfor %}
</feed>


중요: 이 코드는 현지 시간대가 아닌 UTC 형식으로 날짜를 저장한다고 가정합니다.

---
date: 2022-01-01T00:00:00Z
---


그게 다야. 이제 프로젝트를 제공하거나 빌드할 때 11ty 웹 사이트에 Atom v1.0 피드가 있습니다.

내 것을 확인하고 구독하십시오!
https://conormeagher.com/feed/

"RSS compared with Atom" . 2022년 6월 14일에 확인함↩︎

"Sample Feed Templates" . 2022년 7월 12일에 확인함↩︎

좋은 웹페이지 즐겨찾기