/notionfolio

Make your own portfolio + Notion-powered blog in minutes with Next.js and Vercel.

Primary LanguageTypeScriptMIT LicenseMIT

StargazersForksContributorsMIT LicenseIssues


Logo

Notionfolio

Make your own portfolio + Notion-powered blog in minutes with Next.js and Vercel.

View Demo ยท Report Bug ยท Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Sites using notionfol.io
  5. Contributing
  6. License
  7. Contributors

About The Project

This repo is what I use to power my personal blog and portfolio site mehdibha.com.

Screenshot

Features

  • ๐Ÿ“’ Writing posts using Notion as CMS
  • ๐Ÿ‘€ Pretty URLs & SEO friendly
  • ๐Ÿค– Entirely customisable through one config file
  • ๐Ÿš€ Fast page views
  • ๐ŸŒ“ Dark and light mode
  • ๐Ÿ“ฑ Responsive
  • โ™ป๏ธ Incremental static regeneration (Every x minutes re-update website content so no need to redeploy)
  • ๐Ÿš€ Deploy on Vercel in minutes
  • ๐Ÿ” Search
  • ๐Ÿ“ฐ RSS feed (coming soon)

Built with

  • Next.js (v13 with app dir) and React
  • Typescript
  • Tailwind CSS
  • Shadcn-ui as starter components
  • React-notion-x

Getting Started

If you want to clone the project and make you personal notionfolio

Configuratuion

  • Star the repo
  • Duplicate this Notion template, and share it to the public
  • Fork this project
  • Customize /src/config/site.ts
  • Replace favicons and images /public
  • Add NOTION_PAGE_ID as an env variable (see .env.exemple)
  • Deploy on Vercel (do not forget to add env variables)
  • Run script to update website for new features (yarn run update-template) (it syncs with this repo without changing config file and /public)

Roadmap

  • Make the website responsive
  • Projects archive page
  • Missing cover image in blog posts
  • Fix display date in posts
  • Infinite scroll in blog page
  • Make config more optionnal (config/site.ts)
  • Switch from react-notion-x to a custom component
  • CI / pre-commit hooks
  • Fix all linting and type errors
  • Generate a sitemap
  • Implement RSS feed
  • Implement analytics
  • Auth + comments
  • Collect emails to continue reading an article
  • Introduce courses feature
  • Introduce tools feature
  • Automatically generate a resume on build (using LaTeX and maybe with different variants)
  • PWA
  • Add themes and variants for components
  • implement i18n
  • Make a website to generate notionfolios from it directly

Sites using notionfol.io

We will be happy to mention you here, just make a pull request and we will add you

Contributing

See the contribution guide and join our amazing list of contributors!

License

Distributed under the MIT License. See LICENSE for more information.

Contributors

Mehdi BHA
Mehdi BHA