11ty 사이트의 RSS 피드
데이브 루퍼트
@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일에 확인함↩︎
Reference
이 문제에 관하여(11ty 사이트의 RSS 피드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/conr/rss-feed-in-a-11ty-site-3ilc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)