rsnext/examples/blog-starter
Abe Chen cb03a79968
fix: <title> problem in example/blog-starter (#46122)
## Bug

Relate discussions: #38256

Occur in blog starter template. 

```
Warning: A title element received an array with more than 1 element as children. In browsers title Elements can only have Text Nodes as children. If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering
    at title
    at head
    at Head (webpack-internal:///./node_modules/.pnpm/next@13.1.6_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/pages/_document.js:279:1)
    at html
    at Html (webpack-internal:///./node_modules/.pnpm/next@13.1.6_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/pages/_document.js:678:104)
    at Document
```
2023-02-19 20:20:26 +00:00
..
@types Replace JS blog-starter example with TS, deprecate blog-starter-typescript example (#38395) 2022-07-07 23:10:26 -05:00
_posts [Fix] common misspelling errors (#15288) 2020-07-19 04:38:20 +00:00
components Make cover image full width (#42916) 2022-11-14 12:48:48 -08:00
interfaces Replace JS blog-starter example with TS, deprecate blog-starter-typescript example (#38395) 2022-07-07 23:10:26 -05:00
lib Replace JS blog-starter example with TS, deprecate blog-starter-typescript example (#38395) 2022-07-07 23:10:26 -05:00
pages fix: <title> problem in example/blog-starter (#46122) 2023-02-19 20:20:26 +00:00
public Replace JS blog-starter example with TS, deprecate blog-starter-typescript example (#38395) 2022-07-07 23:10:26 -05:00
styles chore(blog-starter): update tailwindcss to v3 (#32398) 2021-12-13 15:25:45 +00:00
.gitignore Update default gitignore templates (#39051) 2022-07-26 20:08:40 -05:00
package.json Replace JS blog-starter example with TS, deprecate blog-starter-typescript example (#38395) 2022-07-07 23:10:26 -05:00
postcss.config.js Update all CMS examples dependencies. (#33580) 2022-02-04 00:07:35 +00:00
README.md Add Enterspeed blog example (#35897) 2022-09-30 01:48:00 +02:00
tailwind.config.js [Docs] Add config types to all examples (#40083) 2022-08-31 16:41:22 -05:00
tsconfig.json Replace JS blog-starter example with TS, deprecate blog-starter-typescript example (#38395) 2022-07-07 23:10:26 -05:00

A statically generated blog example using Next.js, Markdown, and TypeScript

This is the existing blog-starter plus TypeScript.

This example showcases Next.js's Static Generation feature using Markdown files as the data source.

The blog posts are stored in /_posts as Markdown files with front matter support. Adding a new Markdown file in there will create a new blog post.

To create the blog posts we use remark and remark-html to convert the Markdown files into an HTML string, and then send it down as a prop to the page. The metadata of every post is handled by gray-matter and also sent in props to the page.

Demo

https://next-blog-starter.vercel.app/

Deploy your own

Deploy the example using Vercel or preview live with StackBlitz

Deploy with Vercel

How to use

Execute create-next-app with npm, Yarn, or pnpm to bootstrap the example:

npx create-next-app --example blog-starter blog-starter-app
yarn create next-app --example blog-starter blog-starter-app
pnpm create next-app --example blog-starter blog-starter-app

Your blog should be up and running on http://localhost:3000! If it doesn't work, post on GitHub discussions.

Deploy it to the cloud with Vercel (Documentation).

Notes

blog-starter uses Tailwind CSS (v3.0).