How to start a contribution?
The section blog theme comes under an open-source license. Before starting the contribution, first read our Code of Conduct guidelines.
Clone Repository
First, clone the section blog theme repository from GitHub.
git clone https://github.com/frontendweb3/section-blog-theme.git
# or
gh repo clone frontendweb3/section-blog-theme
Install-Package
Install the NPM package with pnpm.
cd section-blog-theme && pnpm install
Structure
Our repository is part of a Monorepo structure, it is managed with Turbo.
Folder :
Docs
The Docs folder contains the documentation, the documentation site is built with the nextra and nextra docs theme.
Packages
The packages folder contains the actual code of the section blog theme.
Examples
The examples folder contains a demo site built or used with a section blog theme.
Start local development server
- Section blog theme server
- Documentation server
- Building
Section blog theme server
You can start the local development server with the following command.
pnpm dev
Documentation server
Start your documentation server with the following command.
pnpm dev:docs
Building
Building theme for production.
pnpm build:core # buiding only code of section-blog-theme
# and
pnpm build # buiding section-blog-theme, and demo-section-blog package
# or
pnpm build:all # buiding section-blog-theme, demo-section-blog and docs
Where do we find reactjs components?
- Article component located at:
components/Article/Article.tsx
. - Banner component located at:
components/banner/Banner.tsx
. - Card component located at:
components/Card/Card.tsx
. - Command component located at:
components/Command/Command.tsx
. - Footer component located at:
components/Footer/Footer.tsx
. - Header component located at:
components/Header/Header.tsx
. - Theme Toggle component located at:
components/Header/ThemeToggle.tsx
. - Layouts component located at:
components/Layouts
. - 404 component located at:
components/Layouts/404.tsx
. - 505 component located at:
components/Layouts/500.tsx
. - Posts component located at:
components/Layouts/BlogLayout.tsx
. - Home component located at:
components/Layouts/HomePage.tsx
. - Main component located at:
components/Layouts/index.tsx
. - Page component located at:
components/Layouts/Page.tsx
. - Posts component located at:
components/Layouts/Posts.tsx
. - Read component located at:
components/Layouts/Read.tsx
. - Tag component located at:
components/Layouts/Tag.tsx
. - ListItem component located at:
components/Navigation/ListItem.tsx
. - NavgationItem component located at:
components/Navigation/NavgationItem.tsx
. - NavigationItems component located at:
components/Navigation/NavigationItems.tsx
. - SEO component located at:
components/Seo/Seo.tsx
. - DynmicIcon component located at:
components/SocialLink/DynmicIcon.tsx
. - SocialLink component located at:
components/SocialLink/SocialLink.tsx
. - Shadcn UI component located at:
components/ui/*
- Shadcn UI components located at:
components.json
- Main component located at:
src/index.tsx
- Tag component located at:
src/tag.tsx
- Section blog theme type located at:
src/types.ts
- Tailwind CSS file located at:
styles/globals.css
- Tsup Config file located at:
tsup.config.ts
- Check development or production locat at:
utility/NextURL.ts
- Command component located at:
utility/slugify.ts
- Hook return posts located at:
utility/useContent.ts
- Hook return tag-related posts located at:
utility/useTagContent.ts
- Hook return all tags based on posts located at:
utility/useTags.ts
- Used by shadcn UI and tailwind CSS components located at:
utility/utils.ts
- Public folder located at:
public/
- Testing folder located at:
__TEST__/
- Typescript config located at:
tsconfig.json