Installation
The Installation of the section theme blog is a lot easier. You can install the section blog theme (opens in a new tab) with the following command.
npm install nextra section-blog-theme
Section blog theme work with Nextra (opens in a new tab) and MDX (opens in a new tab). Currently Nextra does not work with the nextjs app directory.
Configure the section theme with nextra
Create the following next.config.js
file in your project’s root directory:
const withNextra = require("nextra")({
theme: "section-blog-theme",
themeConfig: "./theme.config.tsx",
});
module.exports = withNextra();
Rename the _app.tsx
to _app.mdx
export default function App({ Component, pageProps }) {
return <Component {...pageProps} />
}
Import css
The next step is to import the section blog theme section-blog-theme/styles.css
file on _aap.mdx
file.
import "section-blog-theme/styles.css"
import '@/styles/globals.css' // For other CSS files go here.
export default function App({ Component, pageProps }) {
return <Component {...pageProps} />
}
Create Theme Config file
The next create a theme.config.jsx
file in your root level.
const themeConfig = {
settings: {
title: "Start your blog or portfolio using MDX, Next.Js, and Nextra.",
description: "Section blog theme is build with Nextjs and tailwind css.",
SiteURL: "https://officialrajdeepsingh.dev",
defaultSEO: {
title: "Start your blog or portfolio using MDX, Next.Js, and Nextra.",
titleTemplate: "%s | Section Blog Theme",
twitter: {
handle: "@FrontendWeb3",
site: "FrontendWeb3",
cardType: "summary_large_image",
},
},
},
bannerMessage:
"Start your markdown portfolio blog with nextjs, nextra, tailwind CSS, and Shadcn UI using <a style='margin: 0px 4px;text-decoration:underline;' target='_blank' href='https://www.npmjs.com/package/section-blog-theme'> the section blog theme. </a>",
SocialLinks: [
{
name: "twitter",
url: "https://twitter.com/FrontendWeb3",
},
{
name: "linkedin",
url: "https://www.linkedin.com/company/frontendweb",
},
{
name: "github",
url: "https://github.com/frontendweb3/section-theme-blog",
},
],
Logo: {
logo: (
<>
<svg
width="36"
height="36"
viewBox="0 0 434 420"
xmlns="http://www.w3.org/2000/svg"
>
<path
fillRule="evenodd"
clipRule="evenodd"
fill="currentColor"
d="M226.569 66.5458C222.348 59.1514 211.686 59.1514 207.464 66.5458L63.4636 318.753C59.2767 326.086 64.5719 335.207 73.0163 335.207H361.018C369.462 335.207 374.757 326.086 370.57 318.753L226.569 66.5458ZM217.017 270.333C235.355 270.333 250.221 256.557 250.221 239.563C250.221 222.57 235.355 208.793 217.017 208.793C198.679 208.793 183.813 222.57 183.813 239.563C183.813 256.557 198.679 270.333 217.017 270.333Z"
/>
</svg>
</>
),
link: "/",
target: "_blank",
},
PrimaryNavigation: [
{
href: "/",
title: "Home",
},
{
href: "/posts",
title: "Blog",
},
{
title: "Projects",
subNav: true,
subNavigation: [
{
title: "Personal Blog",
href: "https://officialrajdeepsingh.dev/",
description: "Check out my personal portfolio blog website.",
},
{
title: "Section Blog Theme",
href: "https://github.com/frontendweb3/section-blog-theme",
description: "Section blog theme is nextra based theme.",
},
{
title: "Awesome Nextjs",
href: "https://github.com/officialrajdeepsingh/awesome-nextjs",
description:
"A curated list of awesome Nextjs-based libraries that help build small and large-scale applications with next.js.",
},
],
},
{
href: "/about",
title: "About",
},
{
href: "/contact",
title: "Contact",
},
],
SecondaryNavigation: [
{
href: "/disclaimer",
title: "Disclaimer",
},
{
href: "/privacy-policy",
title: "Privacy policy",
},
{
href: "/contact",
title: "Contact",
},
],
};
export default themeConfig;
Rename your index.tsx
to index.mdx
Paste the following code into rename index.mdx
file.
---
type: home
title : Welcome to Home Page
---
## Welcome to Home Page.
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lastly run your local devlpment server with pnpm dev
or npm run dev
command and learn more about page and layout.
Update the Section theme
# npm
npm update section-blog-theme
# yarn
yarn update section-blog-theme
# pnpm
pnpm update section-blog-theme
Sometimes when we update the theme and does show a change then remove the .next
folder and restart your development server.