Skip to content

Commit

Permalink
refactor(v2): add rss html tag and custom component support
Browse files Browse the repository at this point in the history
  • Loading branch information
moonrailgun committed Mar 5, 2021
1 parent b6b2d24 commit 2c40c8b
Show file tree
Hide file tree
Showing 9 changed files with 114 additions and 72 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import React from 'react';

export const Typography: React.FC = (props) => {
return <p>{props.children}</p>
}
Typography.displayName = 'Typography'
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Full Blog Sample
date: 2021-03-05
---

<h1>HTML Heading 1</h1>
<h2>HTML Heading 2</h2>
<p>HTML Paragraph</p>

import Typography from '../../component/Typography'

<Typography>Import DOM</Typography>

# Heading 1

## Heading 2

### Heading 3

#### Heading 4

##### Heading 5

- list1
- list2
- list3


* list1
* list2
* list3

Normal Text *Italics Text* **Bold Text**

[link](https://v2.docusaurus.io/)
![image](https://v2.docusaurus.io/)

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,60 +19,44 @@ exports[`blogFeed atom shows feed item for each post 1`] = `
<feed xmlns=\\"http://www.w3.org/2005/Atom\\">
<id>https://docusaurus.io/blog</id>
<title>Hello Blog</title>
<updated>2021-02-25T00:00:00.000Z</updated>
<updated>2021-03-05T00:00:00.000Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<link rel=\\"alternate\\" href=\\"https://docusaurus.io/blog\\"/>
<subtitle>Hello Blog</subtitle>
<icon>https://docusaurus.io/image/favicon.ico</icon>
<rights>Copyright</rights>
<entry>
<title type=\\"html\\"><![CDATA[Long Text]]></title>
<id>Long Text</id>
<link href=\\"https://docusaurus.io/blog/long-text-r\\"/>
<updated>2021-02-25T00:00:00.000Z</updated>
<summary type=\\"html\\"><![CDATA[Elit irure et ullamco est reprehenderit sint labore incididunt officia voluptate adipisicing occaecat sit. Id aliqua pariatur Lorem nulla dolor ad non nostrud excepteur sint anim officia minim. Aliqua elit est occaecat et ut sit minim. Laboris cupidatat anim ea ipsum esse pariatur. Consequat anim fugiat voluptate laboris elit mollit in dolor laborum.]]></summary>
<content type=\\"html\\"><![CDATA[
Elit irure et ullamco est reprehenderit sint labore incididunt officia voluptate adipisicing occaecat sit. Id aliqua pariatur Lorem nulla dolor ad non nostrud excepteur sint anim officia minim. Aliqua elit est occaecat et ut sit minim. Laboris cupidatat anim ea ipsum esse pariatur. Consequat anim fugiat voluptate laboris elit mollit in dolor laborum.
Commodo laborum aliquip eu id aute occaecat adipisicing nisi incididunt officia sit est. Enim sit exercitation laboris deserunt sunt dolore aliquip laboris anim quis pariatur ipsum. Aute duis eiusmod id occaecat.
Anim do qui ut cillum reprehenderit veniam irure nisi duis voluptate. Esse amet non sint magna consectetur duis veniam incididunt reprehenderit. Amet do tempor mollit laboris nulla. Commodo excepteur dolor consectetur quis consectetur aute excepteur occaecat minim mollit.
Occaecat id ad proident velit magna elit incididunt adipisicing sunt reprehenderit exercitation reprehenderit. Dolor occaecat cillum consectetur veniam enim Lorem magna tempor sunt. Cupidatat duis aliqua adipisicing nulla voluptate dolore in labore proident esse excepteur culpa. Ullamco qui incididunt reprehenderit Lorem. Incididunt ipsum incididunt aliquip sunt sint eiusmod nisi Lorem. Esse est eu consectetur ex enim proident est cupidatat.
In anim mollit fugiat aliqua est. Consectetur labore voluptate reprehenderit ea. Consequat consectetur dolore aute id fugiat. Ex nisi nulla quis ex sit adipisicing et non aliquip cupidatat incididunt amet. Do nostrud cupidatat mollit minim labore nostrud amet. Cillum proident laborum dolor irure ut eiusmod deserunt minim.
Eiusmod occaecat consectetur dolore tempor officia nisi veniam incididunt ex eiusmod mollit excepteur aliquip incididunt. Occaecat consequat velit esse enim aute in. Minim culpa aliqua tempor incididunt sint amet excepteur quis deserunt. Laborum pariatur non labore enim dolor. Occaecat deserunt ullamco do labore nostrud consequat.
Ex nisi nostrud dolor esse cillum sunt do amet excepteur quis. Commodo tempor eu Lorem adipisicing laborum in anim do ut. Et ad duis proident do deserunt duis do eu enim nostrud fugiat veniam nostrud. Excepteur officia pariatur nostrud magna enim quis proident nisi minim cillum. Elit adipisicing voluptate excepteur esse consequat sunt nulla nostrud ut consectetur. Anim non consequat voluptate ipsum mollit veniam aliqua mollit anim. Aute ad aliquip veniam dolor duis veniam nostrud.
Veniam fugiat aliquip dolor id esse ad reprehenderit sint irure sit sint esse. Aute proident magna ipsum duis ullamco aute enim veniam tempor officia cupidatat aliqua. Pariatur aliqua proident sit in non non cupidatat excepteur amet ea anim sit do pariatur. Eiusmod in nisi consequat velit dolore. Reprehenderit mollit est in consectetur consectetur dolor id labore laborum sunt ullamco minim ullamco. Pariatur eiusmod consequat pariatur culpa occaecat deserunt irure.
Non fugiat pariatur ad sint mollit. In nulla est irure anim ea laborum irure incididunt. Laborum do culpa cupidatat do anim dolore. Non laborum ipsum et proident id non nostrud consectetur reprehenderit proident dolore nulla eiusmod quis.
Irure ea excepteur labore quis esse cillum officia cupidatat cupidatat. Aute amet exercitation aute ullamco culpa dolor labore anim aliqua incididunt cupidatat elit anim. Incididunt consectetur id nulla incididunt dolore cupidatat non cillum magna in sit veniam. In labore adipisicing labore est aute culpa nostrud consectetur ut sint consectetur esse commodo. Sint proident reprehenderit aliquip Lorem laboris ipsum laborum duis irure non sint. Esse dolor dolore non nostrud consequat aute culpa cillum consectetur ipsum. Qui fugiat amet commodo proident id ea ad pariatur dolor qui in.
]]></content>
<title type=\\"html\\"><![CDATA[Full Blog Sample]]></title>
<id>Full Blog Sample</id>
<link href=\\"https://docusaurus.io/blog/full-r\\"/>
<updated>2021-03-05T00:00:00.000Z</updated>
<summary type=\\"html\\"><![CDATA[HTML Heading 1]]></summary>
<content type=\\"html\\"><![CDATA[<h1>HTML Heading 1</h1><h2>HTML Heading 2</h2><p>HTML Paragraph</p><div>Import DOM</div><h1>Heading 1</h1><h2>Heading 2</h2><h3>Heading 3</h3><h4>Heading 4</h4><h5>Heading 5</h5><ul><li>list1</li><li>list2</li><li>list3</li></ul><ul><li>list1</li><li>list2</li><li>list3</li></ul><p>Normal Text <em>Italics Text</em> <strong>Bold Text</strong></p><p><a href=\\"https://v2.docusaurus.io/\\">link</a>
<img src=\\"https://v2.docusaurus.io/\\" alt=\\"image\\"/></p>]]></content>
</entry>
<entry>
<title type=\\"html\\"><![CDATA[draft]]></title>
<id>draft</id>
<link href=\\"https://docusaurus.io/blog/draft\\"/>
<updated>2020-02-27T00:00:00.000Z</updated>
<summary type=\\"html\\"><![CDATA[this post should not be published yet]]></summary>
<content type=\\"html\\"><![CDATA[
this post should not be published yet
]]></content>
<content type=\\"html\\"><![CDATA[<p>this post should not be published yet</p>]]></content>
</entry>
<entry>
<title type=\\"html\\"><![CDATA[date-matter]]></title>
<id>date-matter</id>
<link href=\\"https://docusaurus.io/blog/date-matter\\"/>
<updated>2019-01-01T00:00:00.000Z</updated>
<summary type=\\"html\\"><![CDATA[date inside front matter]]></summary>
<content type=\\"html\\"><![CDATA[
date inside front matter
]]></content>
<content type=\\"html\\"><![CDATA[<p>date inside front matter</p>]]></content>
</entry>
<entry>
<title type=\\"html\\"><![CDATA[Happy 1st Birthday Slash! (translated)]]></title>
<id>Happy 1st Birthday Slash! (translated)</id>
<link href=\\"https://docusaurus.io/blog/2018/12/14/Happy-First-Birthday-Slash\\"/>
<updated>2018-12-14T00:00:00.000Z</updated>
<summary type=\\"html\\"><![CDATA[Happy birthday! (translated)]]></summary>
<content type=\\"html\\"><![CDATA[
Happy birthday! (translated)
]]></content>
<content type=\\"html\\"><![CDATA[<p>Happy birthday! (translated)</p>]]></content>
</entry>
</feed>"
`;
Expand All @@ -99,58 +83,42 @@ exports[`blogFeed rss shows feed item for each post 1`] = `
<title>Hello Blog</title>
<link>https://docusaurus.io/blog</link>
<description>Hello Blog</description>
<lastBuildDate>Thu, 25 Feb 2021 00:00:00 GMT</lastBuildDate>
<lastBuildDate>Fri, 05 Mar 2021 00:00:00 GMT</lastBuildDate>
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
<generator>https://github.com/jpmonette/feed</generator>
<copyright>Copyright</copyright>
<item>
<title><![CDATA[Long Text]]></title>
<link>https://docusaurus.io/blog/long-text-r</link>
<guid>Long Text</guid>
<pubDate>Thu, 25 Feb 2021 00:00:00 GMT</pubDate>
<description><![CDATA[Elit irure et ullamco est reprehenderit sint labore incididunt officia voluptate adipisicing occaecat sit. Id aliqua pariatur Lorem nulla dolor ad non nostrud excepteur sint anim officia minim. Aliqua elit est occaecat et ut sit minim. Laboris cupidatat anim ea ipsum esse pariatur. Consequat anim fugiat voluptate laboris elit mollit in dolor laborum.]]></description>
<content:encoded><![CDATA[
Elit irure et ullamco est reprehenderit sint labore incididunt officia voluptate adipisicing occaecat sit. Id aliqua pariatur Lorem nulla dolor ad non nostrud excepteur sint anim officia minim. Aliqua elit est occaecat et ut sit minim. Laboris cupidatat anim ea ipsum esse pariatur. Consequat anim fugiat voluptate laboris elit mollit in dolor laborum.
Commodo laborum aliquip eu id aute occaecat adipisicing nisi incididunt officia sit est. Enim sit exercitation laboris deserunt sunt dolore aliquip laboris anim quis pariatur ipsum. Aute duis eiusmod id occaecat.
Anim do qui ut cillum reprehenderit veniam irure nisi duis voluptate. Esse amet non sint magna consectetur duis veniam incididunt reprehenderit. Amet do tempor mollit laboris nulla. Commodo excepteur dolor consectetur quis consectetur aute excepteur occaecat minim mollit.
Occaecat id ad proident velit magna elit incididunt adipisicing sunt reprehenderit exercitation reprehenderit. Dolor occaecat cillum consectetur veniam enim Lorem magna tempor sunt. Cupidatat duis aliqua adipisicing nulla voluptate dolore in labore proident esse excepteur culpa. Ullamco qui incididunt reprehenderit Lorem. Incididunt ipsum incididunt aliquip sunt sint eiusmod nisi Lorem. Esse est eu consectetur ex enim proident est cupidatat.
In anim mollit fugiat aliqua est. Consectetur labore voluptate reprehenderit ea. Consequat consectetur dolore aute id fugiat. Ex nisi nulla quis ex sit adipisicing et non aliquip cupidatat incididunt amet. Do nostrud cupidatat mollit minim labore nostrud amet. Cillum proident laborum dolor irure ut eiusmod deserunt minim.
Eiusmod occaecat consectetur dolore tempor officia nisi veniam incididunt ex eiusmod mollit excepteur aliquip incididunt. Occaecat consequat velit esse enim aute in. Minim culpa aliqua tempor incididunt sint amet excepteur quis deserunt. Laborum pariatur non labore enim dolor. Occaecat deserunt ullamco do labore nostrud consequat.
Ex nisi nostrud dolor esse cillum sunt do amet excepteur quis. Commodo tempor eu Lorem adipisicing laborum in anim do ut. Et ad duis proident do deserunt duis do eu enim nostrud fugiat veniam nostrud. Excepteur officia pariatur nostrud magna enim quis proident nisi minim cillum. Elit adipisicing voluptate excepteur esse consequat sunt nulla nostrud ut consectetur. Anim non consequat voluptate ipsum mollit veniam aliqua mollit anim. Aute ad aliquip veniam dolor duis veniam nostrud.
Veniam fugiat aliquip dolor id esse ad reprehenderit sint irure sit sint esse. Aute proident magna ipsum duis ullamco aute enim veniam tempor officia cupidatat aliqua. Pariatur aliqua proident sit in non non cupidatat excepteur amet ea anim sit do pariatur. Eiusmod in nisi consequat velit dolore. Reprehenderit mollit est in consectetur consectetur dolor id labore laborum sunt ullamco minim ullamco. Pariatur eiusmod consequat pariatur culpa occaecat deserunt irure.
Non fugiat pariatur ad sint mollit. In nulla est irure anim ea laborum irure incididunt. Laborum do culpa cupidatat do anim dolore. Non laborum ipsum et proident id non nostrud consectetur reprehenderit proident dolore nulla eiusmod quis.
Irure ea excepteur labore quis esse cillum officia cupidatat cupidatat. Aute amet exercitation aute ullamco culpa dolor labore anim aliqua incididunt cupidatat elit anim. Incididunt consectetur id nulla incididunt dolore cupidatat non cillum magna in sit veniam. In labore adipisicing labore est aute culpa nostrud consectetur ut sint consectetur esse commodo. Sint proident reprehenderit aliquip Lorem laboris ipsum laborum duis irure non sint. Esse dolor dolore non nostrud consequat aute culpa cillum consectetur ipsum. Qui fugiat amet commodo proident id ea ad pariatur dolor qui in.
]]></content:encoded>
<title><![CDATA[Full Blog Sample]]></title>
<link>https://docusaurus.io/blog/full-r</link>
<guid>Full Blog Sample</guid>
<pubDate>Fri, 05 Mar 2021 00:00:00 GMT</pubDate>
<description><![CDATA[HTML Heading 1]]></description>
<content:encoded><![CDATA[<h1>HTML Heading 1</h1><h2>HTML Heading 2</h2><p>HTML Paragraph</p><div>Import DOM</div><h1>Heading 1</h1><h2>Heading 2</h2><h3>Heading 3</h3><h4>Heading 4</h4><h5>Heading 5</h5><ul><li>list1</li><li>list2</li><li>list3</li></ul><ul><li>list1</li><li>list2</li><li>list3</li></ul><p>Normal Text <em>Italics Text</em> <strong>Bold Text</strong></p><p><a href=\\"https://v2.docusaurus.io/\\">link</a>
<img src=\\"https://v2.docusaurus.io/\\" alt=\\"image\\"/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[draft]]></title>
<link>https://docusaurus.io/blog/draft</link>
<guid>draft</guid>
<pubDate>Thu, 27 Feb 2020 00:00:00 GMT</pubDate>
<description><![CDATA[this post should not be published yet]]></description>
<content:encoded><![CDATA[
this post should not be published yet
]]></content:encoded>
<content:encoded><![CDATA[<p>this post should not be published yet</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[date-matter]]></title>
<link>https://docusaurus.io/blog/date-matter</link>
<guid>date-matter</guid>
<pubDate>Tue, 01 Jan 2019 00:00:00 GMT</pubDate>
<description><![CDATA[date inside front matter]]></description>
<content:encoded><![CDATA[
date inside front matter
]]></content:encoded>
<content:encoded><![CDATA[<p>date inside front matter</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Happy 1st Birthday Slash! (translated)]]></title>
<link>https://docusaurus.io/blog/2018/12/14/Happy-First-Birthday-Slash</link>
<guid>Happy 1st Birthday Slash! (translated)</guid>
<pubDate>Fri, 14 Dec 2018 00:00:00 GMT</pubDate>
<description><![CDATA[Happy birthday! (translated)]]></description>
<content:encoded><![CDATA[
Happy birthday! (translated)
]]></content:encoded>
<content:encoded><![CDATA[<p>Happy birthday! (translated)</p>]]></content:encoded>
</item>
</channel>
</rss>"
Expand Down
7 changes: 4 additions & 3 deletions packages/docusaurus-plugin-content-blog/src/blogUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import {
getFolderContainingFile,
posixPath,
getDateTimeFormat,
mdxToHtml,
} from '@docusaurus/utils';
import {LoadContext} from '@docusaurus/types';
import {keyBy} from 'lodash';
Expand Down Expand Up @@ -82,7 +83,7 @@ export async function generateBlogFeed(
copyright: feedOptions.copyright,
});

blogPosts.forEach((post) => {
for (const post of blogPosts) {
const {
id,
metadata: {title: metadataTitle, permalink, date, description},
Expand All @@ -93,9 +94,9 @@ export async function generateBlogFeed(
link: normalizeUrl([siteUrl, permalink]),
date,
description,
content: post.content
content: mdxToHtml(post.content),
});
});
}

return feed;
}
Expand Down
9 changes: 9 additions & 0 deletions packages/docusaurus-utils/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

declare module '@mdx-js/runtime';
declare module 'remark-mdx-remove-imports';
Loading

0 comments on commit 2c40c8b

Please sign in to comment.