mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-23 05:57:05 +02:00
feat(v2): implement blog (#1062)
* feat(v2): implement blog * expect flat blog structure * \n * blogpage can import many posts
This commit is contained in:
parent
a2d3f26722
commit
12fd204840
22 changed files with 736 additions and 16 deletions
39
v2/lib/theme/BlogPage/index.js
Normal file
39
v2/lib/theme/BlogPage/index.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
/* eslint-disable */
|
||||
import React from 'react';
|
||||
import {Link} from 'react-router-dom';
|
||||
import Helmet from 'react-helmet';
|
||||
import Loadable from 'react-loadable';
|
||||
import Layout from '@theme/Layout'; // eslint-disable-line
|
||||
import BlogPost from '@theme/BlogPost'; // eslint-disable-line
|
||||
import Loading from '@theme/Loading';
|
||||
|
||||
export default class BlogPage extends React.Component {
|
||||
render() {
|
||||
const {
|
||||
metadata,
|
||||
blogMetadatas,
|
||||
language,
|
||||
children,
|
||||
siteConfig,
|
||||
} = this.props;
|
||||
const {posts} = metadata;
|
||||
return (
|
||||
<Layout {...this.props}>
|
||||
<Helmet defaultTitle={siteConfig.title}>
|
||||
{language && <html lang={language} />}
|
||||
{language && <meta name="docsearch:language" content={language} />}
|
||||
</Helmet>
|
||||
<div>
|
||||
<ul>
|
||||
{blogMetadatas.map(metadata => (
|
||||
<li key={metadata.permalink}>
|
||||
<Link to={metadata.permalink}>{metadata.permalink}</Link>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
{children}
|
||||
</div>
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue