Skip to content

Commit 8d01e11

Browse files
committedSep 12, 2022
avatar
1 parent d940e85 commit 8d01e11

11 files changed

+172
-279
lines changed
 

‎README.md

+28-39
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,11 @@
11
# Matthew Oldfield's Portfolio and Blog
22

3-
## Features
4-
5-
- Easy styling customization with [Tailwind 3.0](https://tailwindcss.com/blog/tailwindcss-v3) and primary color attribute
6-
- Near perfect lighthouse score - [Lighthouse report](https://www.webpagetest.org/result/210111_DiC1_08f3670c3430bf4a9b76fc3b927716c5/)
7-
- Lightweight, 45kB first load JS, uses Preact in production build
8-
- Mobile-friendly view
9-
- Light and dark theme
10-
- Self-hosted font with [Fontsource](https://fontsource.org/)
11-
- Supports [plausible](https://plausible.io/), [simple analytics](https://simpleanalytics.com/) and google analytics
12-
- [MDX - write JSX in markdown documents!](https://mdxjs.com/)
13-
- Server-side syntax highlighting with line numbers and line highlighting via [rehype-prism-plus](https://github.com/timlrx/rehype-prism-plus)
14-
- Math display supported via [KaTeX](https://katex.org/)
15-
- Citation and bibliography support via [rehype-citation](https://github.com/timlrx/rehype-citation)
16-
- Automatic image optimization via [next/image](https://nextjs.org/docs/basic-features/image-optimization)
17-
- Flexible data retrieval with [mdx-bundler](https://github.com/kentcdodds/mdx-bundler)
18-
- Support for tags - each unique tag will be its own page
19-
- Support for multiple authors
20-
- Blog templates
21-
- TOC component
22-
- Support for nested routing of blog posts
23-
- Newsletter component with support for mailchimp, buttondown, convertkit and klaviyo
24-
- Supports [giscus](https://github.com/laymonage/giscus), [utterances](https://github.com/utterance/utterances) or disqus
25-
- Projects page
26-
- Preconfigured security headers
27-
- SEO friendly with RSS feed, sitemaps and more!
28-
293
## Installation
304

315
```bash
326
npm install
337
```
34-
8+
359
## Development
3610

3711
First, run the development server:
@@ -40,13 +14,15 @@ First, run the development server:
4014
npm run dev
4115
```
4216

43-
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
17+
Open [http://localhost:3000](http://localhost:3000)
4418

4519
## Extend / Customize
4620

47-
`data/siteMetadata.js` - contains most of the site related information which should be modified for a user's need.
21+
`data/siteMetadata.js` - contains most of the site related information which should be modified for
22+
a user's need.
4823

49-
`data/authors/default.md` - default author information (required). Additional authors can be added as files in `data/authors`.
24+
`data/authors/default.md` - default author information (required). Additional authors can be added
25+
as files in `data/authors`.
5026

5127
`data/projectsData.js` - data used to generate styled card on the projects page.
5228

@@ -58,19 +34,27 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the
5834

5935
`public/static` - store assets such as images and favicons.
6036

61-
`tailwind.config.js` and `css/tailwind.css` - contain the tailwind stylesheet which can be modified to change the overall look and feel of the site.
37+
`tailwind.config.js` and `css/tailwind.css` - contain the tailwind stylesheet which can be modified
38+
to change the overall look and feel of the site.
6239

63-
`css/prism.css` - controls the styles associated with the code blocks. Feel free to customize it and use your preferred prismjs theme e.g. [prism themes](https://github.com/PrismJS/prism-themes).
40+
`css/prism.css` - controls the styles associated with the code blocks. Feel free to customize it and
41+
use your preferred prismjs theme e.g. [prism themes](https://github.com/PrismJS/prism-themes).
6442

65-
`components/social-icons` - to add other icons, simply copy an svg file from [Simple Icons](https://simpleicons.org/) and map them in `index.js`. Other icons use [heroicons](https://heroicons.com/).
43+
`components/social-icons` - to add other icons, simply copy an svg file from
44+
[Simple Icons](https://simpleicons.org/) and map them in `index.js`. Other icons use
45+
[heroicons](https://heroicons.com/).
6646

67-
`components/MDXComponents.js` - pass your own JSX code or React component by specifying it over here. You can then call them directly in the `.mdx` or `.md` file. By default, a custom link and image component is passed.
47+
`components/MDXComponents.js` - pass your own JSX code or React component by specifying it over
48+
here. You can then call them directly in the `.mdx` or `.md` file. By default, a custom link and
49+
image component is passed.
6850

6951
`layouts` - main templates used in pages.
7052

71-
`pages` - pages to route to. Read the [Next.js documentation](https://nextjs.org/docs) for more information.
53+
`pages` - pages to route to. Read the [Next.js documentation](https://nextjs.org/docs) for more
54+
information.
7255

73-
`next.config.js` - configuration related to Next.js. You need to adapt the Content Security Policy if you want to load scripts, images etc. from other domains.
56+
`next.config.js` - configuration related to Next.js. You need to adapt the Content Security Policy
57+
if you want to load scripts, images etc. from other domains.
7458

7559
## Post
7660

@@ -119,10 +103,15 @@ Follow the interactive prompt to generate a post with pre-filled front matter.
119103
## Deploy
120104

121105
**Vercel**
122-
Check out the [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
106+
Check out the [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more
107+
details.
123108

124-
The API routes used in the newsletter component cannot be used in a static site export. You will need to use a form API endpoint provider and substitute the route in the newsletter component accordingly. Other hosting platforms such as Netlify also offer alternative solutions - please refer to their docs for more information.
109+
The API routes used in the newsletter component cannot be used in a static site export. You will
110+
need to use a form API endpoint provider and substitute the route in the newsletter component
111+
accordingly. Other hosting platforms such as Netlify also offer alternative solutions - please refer
112+
to their docs for more information.
125113

126114
## Licence
127115

128-
[MIT](https://github.com/timlrx/tailwind-nextjs-starter-blog/blob/master/LICENSE) © [Timothy Lin](https://www.timrlx.com)
116+
[MIT](https://github.com/timlrx/tailwind-nextjs-starter-blog/blob/master/LICENSE) ©
117+
[Timothy Lin](https://www.timrlx.com)

0 commit comments

Comments
 (0)
Please sign in to comment.