Find my latest work at delger.vercel.app Contact me at delger.bayanmunkh6@gmail.com ā Letās build something š ļø
Ā
Managing your own static personal portfolio website codebase is an extra hassle. Therefore, I have been thinking of managing my showcase on notion and publishing it to the web.
Notionās use case for this cause is great but there are some cons to this raw solution:
1. You donāt have your own domain.
2. Your website personalization is limited to notionās capabilities. However, notion is pretty much capable of everything there are still some cases for developers like us.
I have found this great repository by Travis Fischer which is deploy ready codebase with single file configuration.
Aims of this post
- To have a personal website deployed on vercel
- Manage the website content from Notion.
Prepare the public Notion page
- I recommend you to duplicate the template suggested by the template maintainer. Because the react renderer of notion blocks is slightly different from notion itself you might see some glitches in custom pages.
- Make the duplicated notion page public by clicking the share button on the right top side of viewport.
- Copy the id of the notion page.
By seeing the browser url you should see the page id concatenated afterwards. Like the red highlighted section below.
https://www.notion.so/delgerskhn/Build-with-Deegii-a6bbe299ad9345a7b7bf536ecd1a6b6c
- The notion part is done. Letās setup the website now.
Setting up the project repository
- Clone the repository to your local machine
- You can see the site.config.ts file in root directory. Make changes in this file according to your preferences and replace rootNotionPageId value to the notion page id copied from previous section.
//site.config.ts import { siteConfig } from './lib/site-config' export default siteConfig({ // the site's root Notion page (required) rootNotionPageId: 'a6bbe299ad9345a7b7bf536ecd1a6b6c', // if you want to restrict pages to a single notion workspace (optional) // (this should be a Notion ID; see the docs for how to extract this) rootNotionSpaceId: null, // basic site info (required) name: 'Build with Deegii š ļø', domain: 'delger.vercel.app', author: 'Delgersaikhan Bayanmunkh', // open graph metadata (optional) description: 'Journey of software creation with Deegii šŖ', // social usernames (optional) twitter: undefined, github: 'delgerskhn', linkedin: 'delgersaikhan-bayanmunkh', // mastodon: '#', // optional mastodon profile URL, provides link verification // newsletter: '#', // optional newsletter URL // youtube: '#', // optional youtube channel name or `channel/UCGbXXXXXXXXXXXXXXXXXXXXXX` // default notion icon and cover images for site-wide consistency (optional) // page-specific values will override these site-wide defaults defaultPageIcon: null, defaultPageCover: null, defaultPageCoverPosition: 0.5, // whether or not to enable support for LQIP preview images (optional) isPreviewImageSupportEnabled: true, // whether or not redis is enabled for caching generated preview images (optional) // NOTE: if you enable redis, you need to set the `REDIS_HOST` and `REDIS_PASSWORD` // environment variables. see the readme for more info isRedisEnabled: false, // map of notion page IDs to URL paths (optional) // any pages defined here will override their default URL paths // example: // // pageUrlOverrides: { // '/foo': '067dd719a912471ea9a3ac10710e7fdf', // '/bar': '0be6efce9daf42688f65c76b89f8eb27' // } pageUrlOverrides: null, // whether to use the default notion navigation style or a custom one with links to // important pages. To use `navigationLinks`, set `navigationStyle` to `custom`. navigationStyle: 'default' // navigationStyle: 'custom', // navigationLinks: [ // { // title: 'About', // pageId: 'f1199d37579b41cbabfc0b5174f4256a' // }, // { // title: 'Contact', // pageId: '6a29ebcb935a4f0689fe661ab5f3b8d1' // } // ] })
- Also, consider changing the favicon.ico image file in public directory for changing the site header icon in browser.
And you are good to deploy your website.
Ā
Deploy to vercel
Having the website configs complete, you are now ready to deploy it to vercel. You can deploy it either using vercel cli or github actions. Letās go with github integration this time.
- You should push the repository to github.
- Create new project by clicking on Add new.. button.
- Search for your github repository in import git repository section.
- Just continue with default configs, click on deploy button.
Ā
Congrats š„³. You now have your own personal website.
Blog Posts
Went on business trip to China
A Note on a business trip to China. Meeting several Chinese biggest refrigerator, freezer manufacturing companies
Jan 18, 2025
Business
Trip
Startups
Career
Projects
Thought Experiments
Tech
Creating a Barcode Detector Using the Browser BarcodeDetector API
In this tutorial, we'll create a simple barcode detector web application using the Browser BarcodeDetector API. The app will access the user's webcam, display the video stream, and detect barcodes in real-time.
Jun 17, 2024
Javascript
Computer Science
Video
Web Dev
Software Development
App Dev
Thought Experiments
Tech
Coding
Programming
26. Remove Duplicates from Sorted Array
Solving leetcode problem 26. Remove duplicates from sorted array using two pointer approach.
Apr 8, 2024
C#
Leetcode
Coding
Competitive programming
Problem solving
27. Remove Element
Leetcode (Remove Element) problem solution using two pointers.
Apr 8, 2024
Leetcode
Coding
Problem solving
Competitive programming
C#
Computer Science
45. Jump Game II
Solve leetcode 45. Jump Game II using greedy approach.
Apr 15, 2024
C#
Leetcode
Coding
Programming
Problem solving
Competitive programming
Greedy Algorithm
122. Best Time to Buy and Sell Stock II
Solve leetcode 122. Best Time to Buy and Sell Stock II using greedy algorithm
Apr 10, 2024
C#
Leetcode
Coding
Programming
Problem solving
Competitive programming
121. Best Time to Buy and Sell Stock
Solve leetcode 121. Best Time to Buy and Sell Stock using simple greedy algorithm.
Apr 9, 2024
C#
Leetcode
Coding
Programming
Problem solving
Competitive programming
169. Majority Element
Solve leetcode 169. Majority Element with sorting method.
Apr 9, 2024
C#
Leetcode
Coding
Programming
Problem solving
Competitive programming
80. Remove Duplicates from Sorted Array II
Intuition and algorithm to solve 80. Remove Duplicates from Sorted Array II
Apr 3, 2024
Leetcode
Coding
Problem solving
C#
1768. Merge strings Alternately (Beats 96.66%)
2 pointer approach for solving a problem that merges two strings alternately.
Mar 29, 2024
C#
Leetcode
Computer Science
Coding
Programming
Problem solving
Empowering legacy KonvaJS in React projects
Building visual editor tools with Konva and React.
Coding
Problem solving
Creativity
Library
Node.js
React.js
Konva.js
Ā