Showing preview only (561K chars total). Download the full file or copy to clipboard to get everything.
Repository: transitive-bullshit/nextjs-notion-starter-kit
Branch: main
Commit: 379c735bc3b4
Files: 79
Total size: 536.4 KB
Directory structure:
gitextract_oo5den9b/
├── .editorconfig
├── .eslintrc.json
├── .github/
│ ├── funding.yml
│ ├── issue_template.md
│ ├── pull_request_template.md
│ └── workflows/
│ └── build.yml
├── .gitignore
├── .prettierignore
├── .vscode/
│ ├── launch.json
│ └── settings.json
├── components/
│ ├── ErrorPage.tsx
│ ├── Footer.tsx
│ ├── GitHubShareButton.tsx
│ ├── Loading.tsx
│ ├── LoadingIcon.tsx
│ ├── NotionPage.tsx
│ ├── NotionPageHeader.tsx
│ ├── Page404.tsx
│ ├── PageActions.tsx
│ ├── PageAside.tsx
│ ├── PageHead.tsx
│ ├── PageSocial.module.css
│ ├── PageSocial.tsx
│ └── styles.module.css
├── contributing.md
├── eslint.config.js
├── lib/
│ ├── acl.ts
│ ├── bootstrap-client.ts
│ ├── config.ts
│ ├── db.ts
│ ├── fonts/
│ │ └── inter-semibold.ts
│ ├── get-canonical-page-id.ts
│ ├── get-config-value.ts
│ ├── get-page-tweet.ts
│ ├── get-site-map.ts
│ ├── get-social-image-url.ts
│ ├── get-tweets.ts
│ ├── icons/
│ │ ├── github.tsx
│ │ ├── like.tsx
│ │ ├── linkedin.tsx
│ │ ├── moon.tsx
│ │ ├── retweet.tsx
│ │ ├── sun.tsx
│ │ └── twitter.tsx
│ ├── map-image-url.ts
│ ├── map-page-url.ts
│ ├── notion-api.ts
│ ├── notion.ts
│ ├── oembed.ts
│ ├── preview-images.ts
│ ├── reset.d.ts
│ ├── resolve-notion-page.ts
│ ├── search-notion.ts
│ ├── site-config.ts
│ ├── types.ts
│ └── use-dark-mode.ts
├── license
├── next-env.d.ts
├── next.config.js
├── package.json
├── pages/
│ ├── 404.tsx
│ ├── [pageId].tsx
│ ├── _app.tsx
│ ├── _document.tsx
│ ├── _error.tsx
│ ├── api/
│ │ ├── search-notion.ts
│ │ └── social-image.tsx
│ ├── feed.tsx
│ ├── index.tsx
│ ├── robots.txt.tsx
│ └── sitemap.xml.tsx
├── pnpm-workspace.yaml
├── public/
│ └── manifest.json
├── readme.md
├── site.config.ts
├── styles/
│ ├── global.css
│ ├── notion.css
│ └── prism-theme.css
└── tsconfig.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
================================================
FILE: .eslintrc.json
================================================
{
"root": true,
"extends": ["@fisch0920/eslint-config"],
"rules": {
"react/prop-types": "off",
"unicorn/no-array-reduce": "off",
"unicorn/filename-case": "off",
"no-process-env": "off",
"array-callback-return": "off",
"jsx-a11y/click-events-have-key-events": "off",
"jsx-a11y/no-static-element-interactions": "off",
"jsx-a11y/media-has-caption": "off",
"jsx-a11y/interactive-supports-focus": "off",
"jsx-a11y/anchor-is-valid": "off",
"@typescript-eslint/naming-convention": "off"
}
}
================================================
FILE: .github/funding.yml
================================================
github: [transitive-bullshit]
================================================
FILE: .github/issue_template.md
================================================
#### Description
<!--
Please include as detailed of a description as possible, including screenshots if applicable.
-->
#### Notion Test Page ID
<!--
Please include the ID of at least one publicly accessible Notion page related to your issue.
This is extremely helpful for us to debug and fix issues.
Thanks!
-->
================================================
FILE: .github/pull_request_template.md
================================================
#### Description
<!--
Please include as detailed of a description as possible, including screenshots if applicable.
-->
#### Notion Test Page ID
<!--
Please include the ID of at least one publicly accessible Notion page related to your PR.
This is extremely helpful for us to debug and fix issues.
Thanks!
-->
================================================
FILE: .github/workflows/build.yml
================================================
name: CI
on: [push]
jobs:
test:
name: Test Node.js ${{ matrix.node-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
node-version:
- 20
- 22
- 24
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- run: pnpm install --frozen-lockfile --strict-peer-dependencies
- run: pnpm test
# TODO Enable those lines below if you use a Redis cache, you'll also need to configure GitHub Repository Secrets
# env:
# REDIS_HOST: ${{ secrets.REDIS_HOST }}
# REDIS_PASSWORD: ${{ secrets.REDIS_PASSWORD }}
# - name: Build
# run: pnpm build
================================================
FILE: .gitignore
================================================
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# next.js
/.next/
/out/
# production
/build
# misc
.DS_Store
*.pem
# ide
.idea
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# local env files
.env
.env.local
.env.build
.env.development.local
.env.test.local
.env.production.local
# vercel
.vercel
================================================
FILE: .prettierignore
================================================
.snapshots/
build/
dist/
node_modules/
.next/
.vercel/
next-env.d.ts
================================================
FILE: .vscode/launch.json
================================================
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "next dev",
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/next",
"runtimeArgs": ["dev"],
"cwd": "${workspaceFolder}",
"smartStep": true,
"console": "integratedTerminal",
"skipFiles": ["<node_internals>/**"],
"env": {
"NODE_OPTIONS": "--inspect"
}
},
{
"type": "node",
"request": "attach",
"name": "Next.js App",
"skipFiles": ["<node_internals>/**"],
"port": 9229
}
]
}
================================================
FILE: .vscode/settings.json
================================================
{
"typescript.tsdk": "./node_modules/typescript/lib",
"files.exclude": {
"**/logs": true,
"**/*.log": true,
"**/npm-debug.log*": true,
"**/yarn-debug.log*": true,
"**/yarn-error.log*": true,
"**/pids": true,
"**/*.pid": true,
"**/*.seed": true,
"**/*.pid.lock": true,
"**/.dummy": true,
"**/lib-cov": true,
"**/coverage": true,
"**/.nyc_output": true,
"**/.grunt": true,
"**/.snapshots/": true,
"**/bower_components": true,
"**/.lock-wscript": true,
"build/Release": true,
"**/node_modules/": true,
"**/jspm_packages/": true,
"**/typings/": true,
"**/.npm": true,
"**/.eslintcache": true,
"**/.node_repl_history": true,
"**/*.tgz": true,
"**/.yarn-integrity": true,
"**/.next/": true,
"**/dist/": true,
"**/build/": true,
"**/.now/": true,
"**/.vercel/": true,
"**/.google.json": true
}
}
================================================
FILE: components/ErrorPage.tsx
================================================
import { PageHead } from './PageHead'
import styles from './styles.module.css'
export function ErrorPage({ statusCode }: { statusCode: number }) {
const title = 'Error'
return (
<>
<PageHead title={title} />
<div className={styles.container}>
<main className={styles.main}>
<h1>Error Loading Page</h1>
{statusCode && <p>Error code: {statusCode}</p>}
<img src='/error.png' alt='Error' className={styles.errorImage} />
</main>
</div>
</>
)
}
================================================
FILE: components/Footer.tsx
================================================
import * as React from 'react'
import * as config from '@/lib/config'
import { GitHubIcon } from '@/lib/icons/github'
import { LinkedInIcon } from '@/lib/icons/linkedin'
import { MoonIcon } from '@/lib/icons/moon'
import { SunIcon } from '@/lib/icons/sun'
import { TwitterIcon } from '@/lib/icons/twitter'
import { useDarkMode } from '@/lib/use-dark-mode'
import styles from './styles.module.css'
export function FooterImpl() {
const [hasMounted, setHasMounted] = React.useState(false)
const { isDarkMode, toggleDarkMode } = useDarkMode()
const currentYear = new Date().getFullYear()
const onToggleDarkMode = React.useCallback(
(e: any) => {
e.preventDefault()
toggleDarkMode()
},
[toggleDarkMode]
)
React.useEffect(() => {
setHasMounted(true)
}, [])
return (
<footer className={styles.footer}>
<div className={styles.copyright}>
Copyright {currentYear} {config.author}
</div>
<div className={styles.settings}>
{hasMounted && (
<a
className={styles.toggleDarkMode}
href='#'
role='button'
onClick={onToggleDarkMode}
title='Toggle dark mode'
>
{isDarkMode ? <MoonIcon /> : <SunIcon />}
</a>
)}
</div>
<div className={styles.social}>
{config.twitter && (
<a
className={styles.twitter}
href={`https://x.com/${config.twitter}`}
title={`X @${config.twitter}`}
target='_blank'
rel='noopener noreferrer'
>
<TwitterIcon />
</a>
)}
{config.github && (
<a
className={styles.github}
href={`https://github.com/${config.github}`}
title={`GitHub @${config.github}`}
target='_blank'
rel='noopener noreferrer'
>
<GitHubIcon />
</a>
)}
{config.linkedin && (
<a
className={styles.linkedin}
href={`https://www.linkedin.com/in/${config.linkedin}`}
title={`LinkedIn ${config.author}`}
target='_blank'
rel='noopener noreferrer'
>
<LinkedInIcon />
</a>
)}
</div>
</footer>
)
}
export const Footer = React.memo(FooterImpl)
================================================
FILE: components/GitHubShareButton.tsx
================================================
import styles from './styles.module.css'
export function GitHubShareButton() {
return (
<a
href='https://github.com/transitive-bullshit/nextjs-notion-starter-kit'
target='_blank'
rel='noopener noreferrer'
className={styles.githubCorner}
aria-label='View source on GitHub'
>
<svg
width='80'
height='80'
viewBox='0 0 250 250'
style={{
fill: '#70B7FD',
color: '#fff',
position: 'absolute',
zIndex: 1001,
top: 0,
right: 0,
border: 0,
transform: 'scale(1, 1)'
}}
aria-hidden='true'
>
<path d='M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z' />
<path
d='M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2'
fill='currentColor'
style={{
transformOrigin: '130px 106px'
}}
className={styles.octoArm}
/>
<path
d='M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z'
fill='currentColor'
className={styles.octoBody}
/>
</svg>
</a>
)
}
================================================
FILE: components/Loading.tsx
================================================
import { LoadingIcon } from './LoadingIcon'
import styles from './styles.module.css'
export function Loading() {
return (
<div className={styles.container}>
<LoadingIcon />
</div>
)
}
================================================
FILE: components/LoadingIcon.tsx
================================================
import cs from 'classnames'
import styles from './styles.module.css'
export function LoadingIcon(props: any) {
const { className, ...rest } = props
return (
<svg
className={cs(styles.loadingIcon, className)}
{...rest}
viewBox='0 0 24 24'
>
<defs>
<linearGradient
x1='28.1542969%'
y1='63.7402344%'
x2='74.6289062%'
y2='17.7832031%'
id='linearGradient-1'
>
<stop stopColor='rgba(164, 164, 164, 1)' offset='0%' />
<stop
stopColor='rgba(164, 164, 164, 0)'
stopOpacity='0'
offset='100%'
/>
</linearGradient>
</defs>
<g id='Page-1' stroke='none' strokeWidth='1' fill='none'>
<g transform='translate(-236.000000, -286.000000)'>
<g transform='translate(238.000000, 286.000000)'>
<circle
id='Oval-2'
stroke='url(#linearGradient-1)'
strokeWidth='4'
cx='10'
cy='12'
r='10'
/>
<path
d='M10,2 C4.4771525,2 0,6.4771525 0,12'
id='Oval-2'
stroke='rgba(164, 164, 164, 1)'
strokeWidth='4'
/>
<rect
id='Rectangle-1'
fill='rgba(164, 164, 164, 1)'
x='8'
y='0'
width='4'
height='4'
rx='8'
/>
</g>
</g>
</g>
</svg>
)
}
================================================
FILE: components/NotionPage.tsx
================================================
import cs from 'classnames'
import dynamic from 'next/dynamic'
import Image from 'next/legacy/image'
import Link from 'next/link'
import { useRouter } from 'next/router'
import { type PageBlock } from 'notion-types'
import {
formatDate,
getBlockTitle,
getBlockValue,
getPageProperty
} from 'notion-utils'
import * as React from 'react'
import BodyClassName from 'react-body-classname'
import {
type NotionComponents,
NotionRenderer,
useNotionContext
} from 'react-notion-x'
import { EmbeddedTweet, TweetNotFound, TweetSkeleton } from 'react-tweet'
import { useSearchParam } from 'react-use'
import type * as types from '@/lib/types'
import * as config from '@/lib/config'
import { mapImageUrl } from '@/lib/map-image-url'
import { getCanonicalPageUrl, mapPageUrl } from '@/lib/map-page-url'
import { searchNotion } from '@/lib/search-notion'
import { useDarkMode } from '@/lib/use-dark-mode'
import { Footer } from './Footer'
import { GitHubShareButton } from './GitHubShareButton'
import { Loading } from './Loading'
import { NotionPageHeader } from './NotionPageHeader'
import { Page404 } from './Page404'
import { PageAside } from './PageAside'
import { PageHead } from './PageHead'
import styles from './styles.module.css'
// -----------------------------------------------------------------------------
// dynamic imports for optional components
// -----------------------------------------------------------------------------
const Code = dynamic(() =>
import('react-notion-x/third-party/code').then(async (m) => {
// add / remove any prism syntaxes here
await Promise.allSettled([
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-markup-templating.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-markup.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-bash.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-c.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-cpp.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-csharp.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-docker.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-java.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-js-templates.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-coffeescript.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-diff.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-git.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-go.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-graphql.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-handlebars.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-less.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-makefile.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-markdown.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-objectivec.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-ocaml.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-python.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-reason.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-rust.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-sass.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-scss.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-solidity.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-sql.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-stylus.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-swift.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-wasm.js'),
// @ts-expect-error Ignore prisma types
import('prismjs/components/prism-yaml.js')
])
return m.Code
})
)
const Collection = dynamic(() =>
import('react-notion-x/third-party/collection').then((m) => m.Collection)
)
const Equation = dynamic(() =>
import('react-notion-x/third-party/equation').then((m) => m.Equation)
)
const Pdf = dynamic(
() => import('react-notion-x/third-party/pdf').then((m) => m.Pdf),
{
ssr: false
}
)
const Modal = dynamic(
() =>
import('react-notion-x/third-party/modal').then((m) => {
m.Modal.setAppElement('.notion-viewport')
return m.Modal
}),
{
ssr: false
}
)
function Tweet({ id }: { id: string }) {
const { recordMap } = useNotionContext()
const tweet = (recordMap as types.ExtendedTweetRecordMap)?.tweets?.[id]
return (
<React.Suspense fallback={<TweetSkeleton />}>
{tweet ? <EmbeddedTweet tweet={tweet} /> : <TweetNotFound />}
</React.Suspense>
)
}
const propertyLastEditedTimeValue = (
{ block, pageHeader }: any,
defaultFn: () => React.ReactNode
) => {
if (pageHeader && block?.last_edited_time) {
return `Last updated ${formatDate(block?.last_edited_time, {
month: 'long'
})}`
}
return defaultFn()
}
const propertyDateValue = (
{ data, schema, pageHeader }: any,
defaultFn: () => React.ReactNode
) => {
if (pageHeader && schema?.name?.toLowerCase() === 'published') {
const publishDate = data?.[0]?.[1]?.[0]?.[1]?.start_date
if (publishDate) {
return `${formatDate(publishDate, {
month: 'long'
})}`
}
}
return defaultFn()
}
const propertyTextValue = (
{ schema, pageHeader }: any,
defaultFn: () => React.ReactNode
) => {
if (pageHeader && schema?.name?.toLowerCase() === 'author') {
return <b>{defaultFn()}</b>
}
return defaultFn()
}
const notionRendererComponents: Partial<NotionComponents> = {
nextLegacyImage: Image,
nextLink: Link,
Code,
Collection,
Equation,
Pdf,
Modal,
Tweet,
Header: NotionPageHeader,
propertyLastEditedTimeValue,
propertyTextValue,
propertyDateValue
}
export function NotionPage({
site,
recordMap,
error,
pageId
}: types.PageProps) {
const router = useRouter()
const lite = useSearchParam('lite')
// lite mode is for oembed
const isLiteMode = lite === 'true'
const { isDarkMode } = useDarkMode()
const siteMapPageUrl = React.useMemo(() => {
const params: any = {}
if (lite) params.lite = lite
const searchParams = new URLSearchParams(params)
return site ? mapPageUrl(site, recordMap!, searchParams) : undefined
}, [site, recordMap, lite])
const keys = Object.keys(recordMap?.block || {})
const block = getBlockValue(recordMap?.block?.[keys[0]!])
// const isRootPage =
// parsePageId(block?.id) === parsePageId(site?.rootNotionPageId)
const isBlogPost =
block?.type === 'page' && block?.parent_table === 'collection'
const showTableOfContents = !!isBlogPost
const minTableOfContentsItems = 3
const pageAside = React.useMemo(
() => (
<PageAside
block={block!}
recordMap={recordMap!}
isBlogPost={isBlogPost}
/>
),
[block, recordMap, isBlogPost]
)
if (router.isFallback) {
return <Loading />
}
if (error || !site || !block || !recordMap) {
return <Page404 site={site} pageId={pageId} error={error} />
}
const title = getBlockTitle(block, recordMap) || site.name
console.log('notion page', {
isDev: config.isDev,
title,
pageId,
rootNotionPageId: site.rootNotionPageId,
recordMap
})
if (!config.isServer) {
// add important objects to the window global for easy debugging
const g = window as any
g.pageId = pageId
g.recordMap = recordMap
g.block = block
}
const canonicalPageUrl = config.isDev
? undefined
: getCanonicalPageUrl(site, recordMap)(pageId)
const socialImage = mapImageUrl(
getPageProperty<string>('Social Image', block, recordMap) ||
(block as PageBlock).format?.page_cover ||
config.defaultPageCover,
block
)
const socialDescription =
getPageProperty<string>('Description', block, recordMap) ||
config.description
return (
<>
<PageHead
pageId={pageId}
site={site}
title={title}
description={socialDescription}
image={socialImage}
url={canonicalPageUrl}
isBlogPost={isBlogPost}
/>
{isLiteMode && <BodyClassName className='notion-lite' />}
{isDarkMode && <BodyClassName className='dark-mode' />}
<NotionRenderer
bodyClassName={cs(
styles.notion,
pageId === site.rootNotionPageId && 'index-page'
)}
darkMode={isDarkMode}
components={notionRendererComponents}
recordMap={recordMap}
rootPageId={site.rootNotionPageId}
rootDomain={site.domain}
fullPage={!isLiteMode}
previewImages={!!recordMap.preview_images}
showCollectionViewDropdown={false}
showTableOfContents={showTableOfContents}
minTableOfContentsItems={minTableOfContentsItems}
defaultPageIcon={config.defaultPageIcon}
defaultPageCover={config.defaultPageCover}
defaultPageCoverPosition={config.defaultPageCoverPosition}
mapPageUrl={siteMapPageUrl}
mapImageUrl={mapImageUrl}
searchNotion={config.isSearchEnabled ? searchNotion : undefined}
pageAside={pageAside}
footer={<Footer />}
/>
<GitHubShareButton />
</>
)
}
================================================
FILE: components/NotionPageHeader.tsx
================================================
import type * as types from 'notion-types'
import cs from 'classnames'
import * as React from 'react'
import { Breadcrumbs, Header, Search, useNotionContext } from 'react-notion-x'
import { isSearchEnabled, navigationLinks, navigationStyle } from '@/lib/config'
import { MoonIcon } from '@/lib/icons/moon'
import { SunIcon } from '@/lib/icons/sun'
import { useDarkMode } from '@/lib/use-dark-mode'
import styles from './styles.module.css'
function ToggleThemeButton() {
const [hasMounted, setHasMounted] = React.useState(false)
const { isDarkMode, toggleDarkMode } = useDarkMode()
React.useEffect(() => {
setHasMounted(true)
}, [])
const onToggleTheme = React.useCallback(() => {
toggleDarkMode()
}, [toggleDarkMode])
return (
<div
className={cs('breadcrumb', 'button', !hasMounted && styles.hidden)}
onClick={onToggleTheme}
>
{hasMounted && isDarkMode ? <MoonIcon /> : <SunIcon />}
</div>
)
}
export function NotionPageHeader({
block
}: {
block: types.CollectionViewPageBlock | types.PageBlock
}) {
const { components, mapPageUrl } = useNotionContext()
if (navigationStyle === 'default') {
return <Header block={block} />
}
return (
<header className='notion-header'>
<div className='notion-nav-header'>
<Breadcrumbs block={block} rootOnly={true} />
<div className='notion-nav-header-rhs breadcrumbs'>
{navigationLinks
?.map((link, index) => {
if (!link?.pageId && !link?.url) {
return null
}
if (link.pageId) {
return (
<components.PageLink
href={mapPageUrl(link.pageId)}
key={index}
className={cs(styles.navLink, 'breadcrumb', 'button')}
>
{link.title}
</components.PageLink>
)
} else {
return (
<components.Link
href={link.url}
key={index}
className={cs(styles.navLink, 'breadcrumb', 'button')}
>
{link.title}
</components.Link>
)
}
})
.filter(Boolean)}
<ToggleThemeButton />
{isSearchEnabled && <Search block={block} title={null} />}
</div>
</div>
</header>
)
}
================================================
FILE: components/Page404.tsx
================================================
import type * as types from '@/lib/types'
import { PageHead } from './PageHead'
import styles from './styles.module.css'
export function Page404({ site, pageId, error }: types.PageProps) {
const title = site?.name || 'Notion Page Not Found'
return (
<>
<PageHead site={site} title={title} />
<div className={styles.container}>
<main className={styles.main}>
<h1>Notion Page Not Found</h1>
{error ? (
<p>{error.message}</p>
) : (
pageId && (
<p>
Make sure that Notion page "{pageId}" is publicly
accessible.
</p>
)
)}
<img
src='/404.png'
alt='404 Not Found'
className={styles.errorImage}
/>
</main>
</div>
</>
)
}
================================================
FILE: components/PageActions.tsx
================================================
import { LikeIcon } from '@/lib/icons/like'
import { RetweetIcon } from '@/lib/icons/retweet'
import styles from './styles.module.css'
/**
* @see https://developer.twitter.com/en/docs/twitter-for-websites/web-intents/overview
*/
export function PageActions({ tweet }: { tweet: string }) {
return (
<div className={styles.pageActions}>
<a
className={styles.likeTweet}
href={`https://x.com/intent/like?tweet_id=${tweet}`}
target='_blank'
rel='noopener noreferrer'
title='Like this post on Twitter'
>
<LikeIcon />
</a>
<a
className={styles.retweet}
href={`https://x.com/intent/retweet?tweet_id=${tweet}`}
target='_blank'
rel='noopener noreferrer'
title='Retweet this post on Twitter'
>
<RetweetIcon />
</a>
</div>
)
}
================================================
FILE: components/PageAside.tsx
================================================
import { type Block, type ExtendedRecordMap } from 'notion-types'
import { getPageTweet } from '@/lib/get-page-tweet'
import { PageActions } from './PageActions'
import { PageSocial } from './PageSocial'
export function PageAside({
block,
recordMap,
isBlogPost
}: {
block: Block
recordMap: ExtendedRecordMap
isBlogPost: boolean
}) {
if (!block) {
return null
}
// only display comments and page actions on blog post pages
if (isBlogPost) {
const tweet = getPageTweet(block, recordMap)
if (!tweet) {
return null
}
return <PageActions tweet={tweet} />
}
return <PageSocial />
}
================================================
FILE: components/PageHead.tsx
================================================
import Head from 'next/head'
import type * as types from '@/lib/types'
import * as config from '@/lib/config'
import { getSocialImageUrl } from '@/lib/get-social-image-url'
export function PageHead({
site,
title,
description,
pageId,
image,
url,
isBlogPost
}: types.PageProps & {
title?: string
description?: string
image?: string
url?: string
isBlogPost?: boolean
}) {
const rssFeedUrl = `${config.host}/feed`
title = title ?? site?.name
description = description ?? site?.description
const socialImageUrl = getSocialImageUrl(pageId) || image
return (
<Head>
<meta charSet='utf-8' />
<meta httpEquiv='Content-Type' content='text/html; charset=utf-8' />
<meta
name='viewport'
content='width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover'
/>
<meta name='mobile-web-app-capable' content='yes' />
<meta name='apple-mobile-web-app-status-bar-style' content='black' />
<meta
name='theme-color'
media='(prefers-color-scheme: light)'
content='#fefffe'
key='theme-color-light'
/>
<meta
name='theme-color'
media='(prefers-color-scheme: dark)'
content='#2d3439'
key='theme-color-dark'
/>
<meta name='robots' content='index,follow' />
<meta property='og:type' content='website' />
{site && (
<>
<meta property='og:site_name' content={site.name} />
<meta property='twitter:domain' content={site.domain} />
</>
)}
{config.twitter && (
<meta name='twitter:creator' content={`@${config.twitter}`} />
)}
{description && (
<>
<meta name='description' content={description} />
<meta property='og:description' content={description} />
<meta name='twitter:description' content={description} />
</>
)}
{socialImageUrl ? (
<>
<meta name='twitter:card' content='summary_large_image' />
<meta name='twitter:image' content={socialImageUrl} />
<meta property='og:image' content={socialImageUrl} />
</>
) : (
<meta name='twitter:card' content='summary' />
)}
{url && (
<>
<link rel='canonical' href={url} />
<meta property='og:url' content={url} />
<meta property='twitter:url' content={url} />
</>
)}
<link
rel='alternate'
type='application/rss+xml'
href={rssFeedUrl}
title={site?.name}
/>
<meta property='og:title' content={title} />
<meta name='twitter:title' content={title} />
<title>{title}</title>
{/* Better SEO for the blog posts */}
{isBlogPost && (
<script type='application/ld+json'>
{JSON.stringify({
'@context': 'https://schema.org',
'@type': 'BlogPosting',
'@id': `${url}#BlogPosting`,
mainEntityOfPage: url,
url,
headline: title,
name: title,
description,
author: {
'@type': 'Person',
name: config.author
},
image: socialImageUrl
})}
</script>
)}
</Head>
)
}
================================================
FILE: components/PageSocial.module.css
================================================
.pageSocial {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
color: var(--fg-color);
}
.action {
position: relative;
border-radius: 50%;
border: 2px solid var(--fg-color-6);
transition: all 300ms ease-out;
width: 3.5em;
height: 3.5em;
margin: 0 0 1em;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-decoration: none !important;
user-select: none;
cursor: pointer;
}
.action:last-child {
margin-bottom: 0;
}
.actionBg {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.actionBg svg {
width: 50%;
height: 50%;
fill: var(--fg-color-6);
}
.actionBgPane {
transition: all 300ms ease-out;
border-radius: 50%;
width: 0;
height: 0;
}
.action:hover {
transition: all 100ms ease-out;
}
.action:hover .actionBgPane {
width: 100%;
height: 100%;
transition: all 100ms ease-out;
}
.action:hover svg {
transition: fill 100ms ease-out;
fill: var(--bg-color);
}
:global(.dark-mode) .action:hover svg {
fill: var(--fg-color);
}
.facebook .actionBgPane {
background: #3b5998;
}
.facebook:hover {
border-color: #3b5998;
}
.twitter .actionBgPane {
background: #2795e9;
}
.twitter:hover {
border-color: #2795e9;
}
.linkedin .actionBgPane {
background: #0077b5;
}
.linkedin:hover {
border-color: #0077b5;
}
.github .actionBgPane {
background: #c9510c;
}
.github:hover {
border-color: #c9510c;
}
.youtube .actionBgPane {
background: #ff0000;
}
.youtube:hover {
border-color: #ff0000;
}
.medium .actionBgPane {
background: #00ab6c;
}
.medium:hover {
border-color: #00ab6c;
}
.newsletter .actionBgPane {
background: #777777;
}
.newsletter:hover {
border-color: #777777;
}
.email .actionBgPane {
background: #777;
}
.email:hover {
border-color: #777;
}
@media only screen and (max-width: 768px) {
.links {
position: relative;
left: 0.5em;
flex-wrap: wrap;
}
.action:last-child {
margin-right: 1em;
}
}
================================================
FILE: components/PageSocial.tsx
================================================
import type * as React from 'react'
import cs from 'classnames'
import * as config from '@/lib/config'
import styles from './PageSocial.module.css'
interface SocialLink {
name: string
title: string
icon: React.ReactNode
href?: string
}
const socialLinks: SocialLink[] = [
config.twitter && {
name: 'twitter',
href: `https://x.com/${config.twitter}`,
title: `X @${config.twitter}`,
icon: (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>
<path d='M23.44 4.83c-.8.37-1.5.38-2.22.02.93-.56.98-.96 1.32-2.02-.88.52-1.86.9-2.9 1.1-.82-.88-2-1.43-3.3-1.43-2.5 0-4.55 2.04-4.55 4.54 0 .36.03.7.1 1.04-3.77-.2-7.12-2-9.36-4.75-.4.67-.6 1.45-.6 2.3 0 1.56.8 2.95 2 3.77-.74-.03-1.44-.23-2.05-.57v.06c0 2.2 1.56 4.03 3.64 4.44-.67.2-1.37.2-2.06.08.58 1.8 2.26 3.12 4.25 3.16C5.78 18.1 3.37 18.74 1 18.46c2 1.3 4.4 2.04 6.97 2.04 8.35 0 12.92-6.92 12.92-12.93 0-.2 0-.4-.02-.6.9-.63 1.96-1.22 2.56-2.14z' />
</svg>
)
},
config.github && {
name: 'github',
href: `https://github.com/${config.github}`,
title: `GitHub @${config.github}`,
icon: (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>
<path d='M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22'></path>
</svg>
)
},
config.linkedin && {
name: 'linkedin',
href: `https://www.linkedin.com/in/${config.linkedin}`,
title: `LinkedIn ${config.author}`,
icon: (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>
<path d='M6.5 21.5h-5v-13h5v13zM4 6.5C2.5 6.5 1.5 5.3 1.5 4s1-2.4 2.5-2.4c1.6 0 2.5 1 2.6 2.5 0 1.4-1 2.5-2.6 2.5zm11.5 6c-1 0-2 1-2 2v7h-5v-13h5V10s1.6-1.5 4-1.5c3 0 5 2.2 5 6.3v6.7h-5v-7c0-1-1-2-2-2z' />
</svg>
)
},
config.newsletter && {
name: 'newsletter',
href: `${config.newsletter}`,
title: `Newsletter ${config.author}`,
icon: (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>
<path d='M12 .64L8.23 3H5V5L2.97 6.29C2.39 6.64 2 7.27 2 8V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8C22 7.27 21.61 6.64 21.03 6.29L19 5V3H15.77M7 5H17V9.88L12 13L7 9.88M8 6V7.5H16V6M5 7.38V8.63L4 8M19 7.38L20 8L19 8.63M8 8.5V10H16V8.5Z' />
</svg>
)
},
config.youtube && {
name: 'youtube',
href: `https://www.youtube.com/${config.youtube}`,
title: `YouTube ${config.youtube}`,
icon: (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>
<path d='M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z' />
</svg>
)
}
].filter(Boolean)
export function PageSocial() {
return (
<div className={styles.pageSocial}>
{socialLinks.map((action) => (
<a
className={cs(styles.action, styles[action.name])}
href={action.href}
key={action.name}
title={action.title}
target='_blank'
rel='noopener noreferrer'
>
<div className={styles.actionBg}>
<div className={styles.actionBgPane} />
</div>
<div className={styles.actionBg}>{action.icon}</div>
</a>
))}
</div>
)
}
================================================
FILE: components/styles.module.css
================================================
@keyframes spinner {
to {
transform: rotate(360deg);
}
}
.container {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
padding: 2vmin;
font-size: 16px;
line-height: 1.5;
color: rgb(55, 53, 47);
caret-color: rgb(55, 53, 47);
font-family:
-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica,
'Apple Color Emoji', Arial, sans-serif, 'Segoe UI Emoji', 'Segoe UI Symbol';
background-color: var(--bg-color);
}
.loadingIcon {
animation: spinner 0.6s linear infinite;
display: block;
width: 24px;
height: 24px;
color: rgba(55, 53, 47, 0.4);
}
.main {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.errorImage {
max-width: 100%;
width: 640px;
}
.footer {
width: 100%;
max-width: 1100px;
margin: auto auto 0;
padding: 8px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.copyright {
font-size: 80%;
padding: 0.5em;
}
.settings,
.social {
user-select: none;
}
.social,
.settings {
display: flex;
flex-direction: row;
align-items: center;
gap: 0.25em;
}
.settings a,
.social a {
cursor: pointer;
font-size: 2em;
display: inline-flex;
padding: 0.25em;
transition: color 250ms ease-out;
}
.settings a:hover,
.social a:hover {
transition: color 50ms ease-out;
}
.toggleDarkMode:hover {
color: #2795e9;
}
.twitter:hover {
color: #2795e9;
}
.mastodon:hover {
color: #5a4be1;
}
.zhihu:hover {
color: #0066ff;
}
.github:hover {
color: #c9510c;
}
.youtube:hover {
color: #ff0000;
}
.linkedin:hover {
color: #0077b5;
}
.newsletter:hover {
color: #777777;
}
.comments {
width: 100%;
margin-top: 2em;
border-top: 1px solid var(--fg-color-0);
}
@media only screen and (max-width: 566px) {
.footer {
flex-direction: column;
}
.footer > div {
margin-top: 1em;
}
.footer .settings {
order: 1;
}
.footer .social {
order: 2;
}
.footer .copyright {
order: 3;
}
}
.pageActions {
display: flex;
flex-direction: row;
justify-content: center;
padding: 6px 12px 12px;
}
.pageActions a {
cursor: pointer;
font-size: 24px;
display: inline-flex;
padding: 12px;
margin-right: 1vw;
border-radius: 50%;
background: transparent;
transition: all 250ms ease-out;
}
.pageActions a:last-of-type {
margin-right: 0;
}
.pageActions a:hover {
transition: all 50ms ease-out;
}
.likeTweet:hover {
background: #f6e3e8;
color: #e0265e;
}
.retweet:hover {
color: #19bf64;
background: #e5f2e8;
}
@media (max-width: 1360px) {
.githubCorner {
display: none;
}
}
.githubCorner:hover .octoArm {
animation: octocat-wave 560ms ease-in-out;
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
}
20%,
60% {
transform: rotate(-25deg);
}
40%,
80% {
transform: rotate(10deg);
}
}
@media (max-width: 500px) {
.githubCorner:hover .octoArm {
animation: none;
}
.githubCorner .octoArm {
animation: octocat-wave 560ms ease-in-out;
}
}
.hidden {
visibility: hidden;
}
================================================
FILE: contributing.md
================================================
# Contributing
Suggestions and pull requests are highly encouraged. Have a look at the [open issues](https://github.com/NotionX/react-notion-x/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+sort%3Areactions-%2B1-desc), especially [the easy ones](https://github.com/NotionX/react-notion-x/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22+sort%3Areactions-%2B1-desc).
## Development
To develop the project locally, you'll need a recent version of Node.js and `pnpm` installed globally.
To get started, clone the repo and run `pnpm` from the root directory:
```bash
git clone https://github.com/transitive-bullshit/nextjs-notion-starter-kit
cd nextjs-notion-starter-kit
pnpm
```
Now that your dependencies are installed, you can run the local Next.js dev server:
```bash
pnpm dev
```
You should now be able to open `http://localhost:3000` to view the webapp.
## Production
To build for production, you can run:
```bash
pnpm build
```
Which just runs `next build` under the hood.
### Local-linked react-notion-x
If you are making changes to `react-notion-x` and want to test them out with `nextjs-notion-starter-kit`, you'll first need to [set up and build `react-notion-x` locally](https://github.com/NotionX/react-notion-x/blob/master/contributing.md).
Once you have `react-notion-x` set up and built locally, you can link these local deps into `nextjs-notion-starter-kit`:
```bash
pnpm deps:link
```
With this setup, in one tab, you can run `pnpm dev` to keep `react-notion-x` up-to-date, and in another tab, you can run `pnpm dev` to keep `nextjs-notion-starter-kit` up-to-date.
### Gotchas
Whenever you make a change to one of the `react-notion-x` packages, it will automatically be recompiled into its respective `build` folder, and the `pnpm dev` from `nextjs-notion-starter-kit` should hot-reload it in the browser.
Sometimes, this process gets a little out of whack, and if you're not sure what's going on, I usually just quit one or both of the `pnpm dev` commands and restart them.
If you're seeing something unexpected while debugging with Next.js, try running `rm -rf .next` to refresh the Next.js cache before running `pnpm dev` again.
================================================
FILE: eslint.config.js
================================================
import { config } from '@fisch0920/config/eslint'
export default [
...config,
{
files: ['**/*.ts', '**/*.tsx'],
rules: {
'react/prop-types': 'off',
'unicorn/no-array-reduce': 'off',
'unicorn/filename-case': 'off',
'unicorn/prefer-global-this': 'off',
'no-process-env': 'off',
'array-callback-return': 'off',
'jsx-a11y/click-events-have-key-events': 'off',
'jsx-a11y/no-static-element-interactions': 'off',
'jsx-a11y/media-has-caption': 'off',
'jsx-a11y/interactive-supports-focus': 'off',
'jsx-a11y/anchor-is-valid': 'off',
'@typescript-eslint/naming-convention': 'off'
}
}
]
================================================
FILE: lib/acl.ts
================================================
import { getBlockValue } from 'notion-utils'
import type { PageProps } from './types'
export async function pageAcl({
site,
recordMap,
pageId
}: PageProps): Promise<PageProps | undefined> {
if (!site) {
return {
error: {
statusCode: 404,
message: 'Unable to resolve notion site'
}
}
}
if (!recordMap) {
return {
error: {
statusCode: 404,
message: `Unable to resolve page for domain "${site.domain}". Notion page "${pageId}" not found.`
}
}
}
const keys = Object.keys(recordMap.block)
const rootKey = keys[0]
if (!rootKey) {
return {
error: {
statusCode: 404,
message: `Unable to resolve page for domain "${site.domain}". Notion page "${pageId}" invalid data.`
}
}
}
const rootValue = getBlockValue(recordMap.block[rootKey])
const rootSpaceId = rootValue?.space_id
if (
rootSpaceId &&
site.rootNotionSpaceId &&
rootSpaceId !== site.rootNotionSpaceId
) {
if (process.env.NODE_ENV) {
return {
error: {
statusCode: 404,
message: `Notion page "${pageId}" doesn't belong to the Notion workspace owned by "${site.domain}".`
}
}
}
}
}
================================================
FILE: lib/bootstrap-client.ts
================================================
export function bootstrap() {
console.log(`
████████╗██████╗ █████╗ ███╗ ██╗███████╗██╗████████╗██╗██╗ ██╗███████╗ ██████╗ ███████╗
╚══██╔══╝██╔══██╗██╔══██╗████╗ ██║██╔════╝██║╚══██╔══╝██║██║ ██║██╔════╝ ██╔══██╗██╔════╝
██║ ██████╔╝███████║██╔██╗ ██║███████╗██║ ██║ ██║██║ ██║█████╗ ██████╔╝███████╗
██║ ██╔══██╗██╔══██║██║╚██╗██║╚════██║██║ ██║ ██║╚██╗ ██╔╝██╔══╝ ██╔══██╗╚════██║
██║ ██║ ██║██║ ██║██║ ╚████║███████║██║ ██║ ██║ ╚████╔╝ ███████╗ ██████╔╝███████║
╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚══════╝
This site is built using Notion, Next.js, and https://github.com/NotionX/react-notion-x.
`)
}
================================================
FILE: lib/config.ts
================================================
/**
* Site-wide app configuration.
*
* This file pulls from the root "site.config.ts" as well as environment variables
* for optional depenencies.
*/
import { parsePageId } from 'notion-utils'
import { type PostHogConfig } from 'posthog-js'
import {
getEnv,
getRequiredSiteConfig,
getSiteConfig
} from './get-config-value'
import { type NavigationLink } from './site-config'
import {
type NavigationStyle,
type PageUrlOverridesInverseMap,
type PageUrlOverridesMap,
type Site
} from './types'
export const rootNotionPageId: string = parsePageId(
getSiteConfig('rootNotionPageId'),
{ uuid: false }
)!
if (!rootNotionPageId) {
throw new Error('Config error invalid "rootNotionPageId"')
}
// if you want to restrict pages to a single notion workspace (optional)
export const rootNotionSpaceId: string | null =
parsePageId(getSiteConfig('rootNotionSpaceId'), { uuid: true }) ?? null
export const pageUrlOverrides = cleanPageUrlMap(
getSiteConfig('pageUrlOverrides', {}) || {},
{ label: 'pageUrlOverrides' }
)
export const pageUrlAdditions = cleanPageUrlMap(
getSiteConfig('pageUrlAdditions', {}) || {},
{ label: 'pageUrlAdditions' }
)
export const inversePageUrlOverrides = invertPageUrlOverrides(pageUrlOverrides)
export const environment = process.env.NODE_ENV || 'development'
export const isDev = environment === 'development'
// general site config
export const name: string = getRequiredSiteConfig('name')
export const author: string = getRequiredSiteConfig('author')
export const domain: string = getRequiredSiteConfig('domain')
export const description: string = getSiteConfig('description', 'Notion Blog')
export const language: string = getSiteConfig('language', 'en')
// social accounts
export const twitter: string | undefined = getSiteConfig('twitter')
export const mastodon: string | undefined = getSiteConfig('mastodon')
export const github: string | undefined = getSiteConfig('github')
export const youtube: string | undefined = getSiteConfig('youtube')
export const linkedin: string | undefined = getSiteConfig('linkedin')
export const newsletter: string | undefined = getSiteConfig('newsletter')
export const zhihu: string | undefined = getSiteConfig('zhihu')
export const getMastodonHandle = (): string | undefined => {
if (!mastodon) {
return
}
// Since Mastodon is decentralized, handles include the instance domain name.
// e.g. @example@mastodon.social
const url = new URL(mastodon)
return `${url.pathname.slice(1)}@${url.hostname}`
}
// default notion values for site-wide consistency (optional; may be overridden on a per-page basis)
export const defaultPageIcon: string | undefined =
getSiteConfig('defaultPageIcon')
export const defaultPageCover: string | undefined =
getSiteConfig('defaultPageCover')
export const defaultPageCoverPosition: number = getSiteConfig(
'defaultPageCoverPosition',
0.5
)
// Optional whether or not to enable support for LQIP preview images
export const isPreviewImageSupportEnabled: boolean = getSiteConfig(
'isPreviewImageSupportEnabled',
false
)
// Optional whether or not to include the Notion ID in page URLs or just use slugs
export const includeNotionIdInUrls: boolean = getSiteConfig(
'includeNotionIdInUrls',
!!isDev
)
export const navigationStyle: NavigationStyle = getSiteConfig(
'navigationStyle',
'default'
)
export const navigationLinks: Array<NavigationLink | undefined> = getSiteConfig(
'navigationLinks',
null
)
// Optional site search
export const isSearchEnabled: boolean = getSiteConfig('isSearchEnabled', true)
// ----------------------------------------------------------------------------
// Optional redis instance for persisting preview images
export const isRedisEnabled: boolean =
getSiteConfig('isRedisEnabled', false) || !!getEnv('REDIS_ENABLED', null)
// (if you want to enable redis, only REDIS_HOST and REDIS_PASSWORD are required)
// we recommend that you store these in a local `.env` file
export const redisHost = getEnv('REDIS_HOST', isRedisEnabled ? undefined : null)
export const redisPassword = getEnv(
'REDIS_PASSWORD',
isRedisEnabled ? undefined : null
)
export const redisUser: string = getEnv('REDIS_USER', 'default')
export const redisUrl = getEnv(
'REDIS_URL',
isRedisEnabled ? `redis://${redisUser}:${redisPassword}@${redisHost}` : null
)
export const redisNamespace = getEnv('REDIS_NAMESPACE', 'preview-images')
// ----------------------------------------------------------------------------
export const isServer = typeof window === 'undefined'
export const port = getEnv('PORT', '3000')
export const host = isDev ? `http://localhost:${port}` : `https://${domain}`
export const apiHost = isDev
? host
: `https://${process.env.VERCEL_URL || domain}`
export const apiBaseUrl = `/api`
export const api = {
searchNotion: `${apiBaseUrl}/search-notion`,
getNotionPageInfo: `${apiBaseUrl}/notion-page-info`,
getSocialImage: `${apiBaseUrl}/social-image`
}
// ----------------------------------------------------------------------------
export const site: Site = {
domain,
name,
rootNotionPageId,
rootNotionSpaceId,
description
}
export const fathomId = isDev ? undefined : process.env.NEXT_PUBLIC_FATHOM_ID
export const fathomConfig = fathomId
? {
excludedDomains: ['localhost', 'localhost:3000']
}
: undefined
export const posthogId = process.env.NEXT_PUBLIC_POSTHOG_ID
export const posthogConfig: Partial<PostHogConfig> = {
api_host: 'https://app.posthog.com'
}
function cleanPageUrlMap(
pageUrlMap: PageUrlOverridesMap,
{
label
}: {
label: string
}
): PageUrlOverridesMap {
return Object.keys(pageUrlMap).reduce((acc, uri) => {
const pageId = pageUrlMap[uri]
const uuid = parsePageId(pageId, { uuid: false })
if (!uuid) {
throw new Error(`Invalid ${label} page id "${pageId}"`)
}
if (!uri) {
throw new Error(`Missing ${label} value for page "${pageId}"`)
}
if (!uri.startsWith('/')) {
throw new Error(
`Invalid ${label} value for page "${pageId}": value "${uri}" should be a relative URI that starts with "/"`
)
}
const path = uri.slice(1)
return {
...acc,
[path]: uuid
}
}, {})
}
function invertPageUrlOverrides(
pageUrlOverrides: PageUrlOverridesMap
): PageUrlOverridesInverseMap {
return Object.keys(pageUrlOverrides).reduce((acc, uri) => {
const pageId = pageUrlOverrides[uri]!
return {
...acc,
[pageId]: uri
}
}, {})
}
================================================
FILE: lib/db.ts
================================================
import Keyv from '@keyvhq/core'
import KeyvRedis from '@keyvhq/redis'
import { isRedisEnabled, redisNamespace, redisUrl } from './config'
let db: Keyv
if (isRedisEnabled) {
const keyvRedis = new KeyvRedis(redisUrl!)
db = new Keyv({ store: keyvRedis, namespace: redisNamespace || undefined })
} else {
db = new Keyv()
}
export { db }
================================================
FILE: lib/fonts/inter-semibold.ts
================================================
export default Buffer.from(
'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0QYmAMUAAAAHCAgDnAAA////ogAAA2EIAAYmAMUAAAAHB/7+6QAd////wP3pA8IIAAYmAMUAAAAHBpAFIQAA////zQAAAj0KkwYmAMUAAAAHBmb+MgIA//8AygAAAzsKkwYmAMUAAAAHBmT+2wIA////fAAAA4wKdgYmAMUAAAAHBmr+oQIA//8AdgAABHcKRwQnAMUA8gAAAAcGa/+2AgD///+jAAADZQoABiYAxQAAAAcGbf6fAgD///+xAAADWQoQBiYAxQAAAAcGbv7tAgD//wA0/boCWwgABiYAxQAAAAYGdroA//8AsgAAAlYKYwYmAMUAAAAHBnAAAgIA////fAAAA4wKdgYmAMUAAAAHBnP+oQIA///+3gAAAv0KkwYmAMUAAAAHBnsEWAIA////rQAAA1YKigYmAMUAAAAHBn8E5AK2//8AygAAAuMLCQYmAMUAAAAHBoAFBAIS//8Asf3XAlQIAAYmAMUAAAAHBosEnAAA//8Auv/wAy4IAAYGAuIAAP//AMoAAAI9CAAGBgDFAAD//wAKAAADKgiNBCcAxQDtAAAABwZn/vgAAP///5cAAANxClsGBgDGAAD//wCtAAAD3ggABCcAxQGiAAAABghOFPj//wCzAAADvwgABCcAxQGCAAAABgmiwgD//wCyAAAF5QgFBCcAxQOoAAAABgmO0wD//wCuAAAFiwgABCcAxQNOAAAABgmV6wD//wC1AAAFlwgABCcAxQNaAAAABgmQsgD//wCzAAAFwQgABCcAxQOEAAAABgmXwQD//wCuAAAE4QlPBCcAxQKkAAAABgmSKTD//wCuAAAE/glPBCcAxQLCAAAABgmZKTD///+xAAADWQoQBiYAxQAAAAcGbv7tAgD///+jAAADZQoABiYAxQAAAAcGbf6fAgD//wCyAAAEOQgABCcAxQH8AAAABgme9gD//wDwAAAECQiUBCcAxQHMAAAABgmgxgD//wDKAAACPQgABgYAxQAA////lwAAA3EKWwYmAMUAAAAHBmj+eQIAAAMAcAAABLUIAAADAAcACwAAUxEhEQERIREBESERcARF+7sERf6X/o0GyQE3/sn5NwE3/skIAPgACAD//wBwAAAEtQpbBiYA6QAAAAYGaYgg//8AcAAABLUL0QYmAOkAAAAHCAgEqwAA//8AcAAABLUIAAYmAOkAAAAG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A+wBKP7YAAMBFgD2CfQIAAACAAYACgAAZQEBAxEhESERIREDqP1uApLQBxb+4QEl9gKKAor84gEo/tgFFPrsAAMBGAD2CfYIAAACAAYACgAAZREBBREhESERIREHZAKS9yIBJf7hBxb2BRT9dpQFFPrsASj+2AADARYAAAn0CEAAAgAGAAoAAEEBAQMRIREBESERA6j9bgKS0AcW/uEBJQMsAooCivziASj+2PreBkr5tgADARgAAAn2CEAAAgAGAAoAAEERAQERIREBESERB2QCkvciASX+4QcWAywFFP12+koGSvm2BSIBKP7YAAMBGP/gCJAIAQACAAYACgAARQEhBQMhEQERIREGBv12BRT84gIBKvp+BYIgApPRBln5pwU6ASX+2wADAQABdgptBooAAgAGAAoAAEEJAhEhEQERIREFgf1uApL7fwElAmYF4gF2AooCivruBRD68AH0ASj+2AADAQABdgptBooAAgAGAAoAAEERAQURIREBESERBewCkviCBeICZgElAXYFFP12lAEo/tj+DAUQ+vAABADmAAAF+ghSAAIABgAKAA4AAFMJAhEhEQERIREBESER5gKKAor7owOn/ZgBKP2ZA6cFwAKS/W777QEQ/vD+Uwar+VUDjAEQ/vAABADm/8IF+ggUAAIABgAKAA4AAEUBIQERIREBESERAREhEQNw/XYFFPujA6f9mAEo/ZkDpz4CkgEkARD+8P3xBqv5VQPuARD+8P//ACD8fA8oC4QEBwcGA9kAAP//AGT8wA7kC0AEBwcHA9kAAAAC/Ef8fAtPC4QAFwAvAABBICQAAAIREBIAACQhIAQAABIREAIAAAQBICQAABIREAIAACQhIAQAAAIREBIAAAQDy/7B/b/+H/6fwsIBYQHhAkEBPwE/AkEB4QFhwsL+n/4f/b/+wQETAfEBngEwp6f+0P5i/g/+7f7t/hD+Yf7Qp6cBMAGfAfD8fMIBYQHhAkEBPwE/AkEB4QFhwsL+n/4f/b/+wf7B/b/+H/6fwgELqAEwAZ4B8QESARMB8QGeATCnp/7Q/mL+D/7t/u7+D/5i/tCoAAL8i/zACwsLQAAPAB8AAEEiJjURNDYzITIWFREUBiMBITI2NRE0JiMhIgYVERQW/eOosLCoC9CosLCo9BkL/xgdHRj0ARgeHvzAsKgL0KiwsKj0MKiwAQse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
gitextract_oo5den9b/ ├── .editorconfig ├── .eslintrc.json ├── .github/ │ ├── funding.yml │ ├── issue_template.md │ ├── pull_request_template.md │ └── workflows/ │ └── build.yml ├── .gitignore ├── .prettierignore ├── .vscode/ │ ├── launch.json │ └── settings.json ├── components/ │ ├── ErrorPage.tsx │ ├── Footer.tsx │ ├── GitHubShareButton.tsx │ ├── Loading.tsx │ ├── LoadingIcon.tsx │ ├── NotionPage.tsx │ ├── NotionPageHeader.tsx │ ├── Page404.tsx │ ├── PageActions.tsx │ ├── PageAside.tsx │ ├── PageHead.tsx │ ├── PageSocial.module.css │ ├── PageSocial.tsx │ └── styles.module.css ├── contributing.md ├── eslint.config.js ├── lib/ │ ├── acl.ts │ ├── bootstrap-client.ts │ ├── config.ts │ ├── db.ts │ ├── fonts/ │ │ └── inter-semibold.ts │ ├── get-canonical-page-id.ts │ ├── get-config-value.ts │ ├── get-page-tweet.ts │ ├── get-site-map.ts │ ├── get-social-image-url.ts │ ├── get-tweets.ts │ ├── icons/ │ │ ├── github.tsx │ │ ├── like.tsx │ │ ├── linkedin.tsx │ │ ├── moon.tsx │ │ ├── retweet.tsx │ │ ├── sun.tsx │ │ └── twitter.tsx │ ├── map-image-url.ts │ ├── map-page-url.ts │ ├── notion-api.ts │ ├── notion.ts │ ├── oembed.ts │ ├── preview-images.ts │ ├── reset.d.ts │ ├── resolve-notion-page.ts │ ├── search-notion.ts │ ├── site-config.ts │ ├── types.ts │ └── use-dark-mode.ts ├── license ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages/ │ ├── 404.tsx │ ├── [pageId].tsx │ ├── _app.tsx │ ├── _document.tsx │ ├── _error.tsx │ ├── api/ │ │ ├── search-notion.ts │ │ └── social-image.tsx │ ├── feed.tsx │ ├── index.tsx │ ├── robots.txt.tsx │ └── sitemap.xml.tsx ├── pnpm-workspace.yaml ├── public/ │ └── manifest.json ├── readme.md ├── site.config.ts ├── styles/ │ ├── global.css │ ├── notion.css │ └── prism-theme.css └── tsconfig.json
SYMBOL INDEX (71 symbols across 45 files)
FILE: components/ErrorPage.tsx
function ErrorPage (line 4) | function ErrorPage({ statusCode }: { statusCode: number }) {
FILE: components/Footer.tsx
function FooterImpl (line 13) | function FooterImpl() {
FILE: components/GitHubShareButton.tsx
function GitHubShareButton (line 3) | function GitHubShareButton() {
FILE: components/Loading.tsx
function Loading (line 4) | function Loading() {
FILE: components/LoadingIcon.tsx
function LoadingIcon (line 5) | function LoadingIcon(props: any) {
FILE: components/NotionPage.tsx
function Tweet (line 137) | function Tweet({ id }: { id: string }) {
function NotionPage (line 204) | function NotionPage({
FILE: components/NotionPageHeader.tsx
function ToggleThemeButton (line 13) | function ToggleThemeButton() {
function NotionPageHeader (line 35) | function NotionPageHeader({
FILE: components/Page404.tsx
function Page404 (line 6) | function Page404({ site, pageId, error }: types.PageProps) {
FILE: components/PageActions.tsx
function PageActions (line 9) | function PageActions({ tweet }: { tweet: string }) {
FILE: components/PageAside.tsx
function PageAside (line 8) | function PageAside({
FILE: components/PageHead.tsx
function PageHead (line 7) | function PageHead({
FILE: components/PageSocial.tsx
type SocialLink (line 8) | interface SocialLink {
function PageSocial (line 72) | function PageSocial() {
FILE: lib/acl.ts
function pageAcl (line 5) | async function pageAcl({
FILE: lib/bootstrap-client.ts
function bootstrap (line 1) | function bootstrap() {
FILE: lib/config.ts
function cleanPageUrlMap (line 173) | function cleanPageUrlMap(
function invertPageUrlOverrides (line 208) | function invertPageUrlOverrides(
FILE: lib/get-canonical-page-id.ts
function getCanonicalPageId (line 9) | function getCanonicalPageId(
FILE: lib/get-config-value.ts
function getSiteConfig (line 27) | function getSiteConfig<T, TDefault>(
function getRequiredSiteConfig (line 40) | function getRequiredSiteConfig<T>(key: string): T {
function getEnv (line 52) | function getEnv<T>(
FILE: lib/get-page-tweet.ts
function getPageTweet (line 5) | function getPageTweet(
FILE: lib/get-site-map.ts
function getSiteMap (line 17) | async function getSiteMap(): Promise<types.SiteMap> {
function getAllPagesImpl (line 43) | async function getAllPagesImpl(
FILE: lib/get-social-image-url.ts
function getSocialImageUrl (line 3) | function getSocialImageUrl(pageId: string | undefined) {
FILE: lib/get-tweets.ts
function getTweetsMap (line 10) | async function getTweetsMap(
function getTweetImpl (line 30) | async function getTweetImpl(tweetId: string): Promise<Tweet | null> {
FILE: lib/icons/github.tsx
function GitHubIcon (line 1) | function GitHubIcon() {
FILE: lib/icons/like.tsx
function LikeIcon (line 1) | function LikeIcon() {
FILE: lib/icons/linkedin.tsx
function LinkedInIcon (line 1) | function LinkedInIcon() {
FILE: lib/icons/moon.tsx
function MoonIcon (line 1) | function MoonIcon() {
FILE: lib/icons/retweet.tsx
function RetweetIcon (line 1) | function RetweetIcon() {
FILE: lib/icons/sun.tsx
function SunIcon (line 1) | function SunIcon() {
FILE: lib/icons/twitter.tsx
function TwitterIcon (line 1) | function TwitterIcon() {
FILE: lib/map-page-url.ts
function createUrl (line 41) | function createUrl(path: string, searchParams: URLSearchParams) {
FILE: lib/notion.ts
function getPage (line 45) | async function getPage(pageId: string): Promise<ExtendedRecordMap> {
function search (line 73) | async function search(params: SearchParams): Promise<SearchResults> {
FILE: lib/preview-images.ts
function getPreviewImageMap (line 16) | async function getPreviewImageMap(
function createPreviewImage (line 41) | async function createPreviewImage(
FILE: lib/resolve-notion-page.ts
function resolveNotionPage (line 11) | async function resolveNotionPage(
FILE: lib/search-notion.ts
function searchNotionImpl (line 12) | async function searchNotionImpl(
FILE: lib/site-config.ts
type SiteConfig (line 3) | interface SiteConfig {
type NavigationLink (line 38) | interface NavigationLink {
FILE: lib/types.ts
type NavigationStyle (line 7) | type NavigationStyle = 'default' | 'custom'
type PageError (line 9) | interface PageError {
type PageProps (line 14) | interface PageProps {
type ExtendedTweetRecordMap (line 21) | interface ExtendedTweetRecordMap extends ExtendedRecordMap {
type Params (line 25) | interface Params extends ParsedUrlQuery {
type Site (line 29) | interface Site {
type SiteMap (line 47) | interface SiteMap {
type CanonicalPageMap (line 53) | interface CanonicalPageMap {
type PageUrlOverridesMap (line 57) | interface PageUrlOverridesMap {
type PageUrlOverridesInverseMap (line 63) | interface PageUrlOverridesInverseMap {
type NotionPageInfo (line 69) | interface NotionPageInfo {
FILE: lib/use-dark-mode.ts
function useDarkMode (line 3) | function useDarkMode() {
FILE: pages/[pageId].tsx
function getStaticPaths (line 27) | async function getStaticPaths() {
function NotionDomainDynamicPage (line 55) | function NotionDomainDynamicPage(props: PageProps) {
FILE: pages/_app.tsx
function App (line 35) | function App({ Component, pageProps }: AppProps) {
FILE: pages/_document.tsx
class MyDocument (line 3) | class MyDocument extends Document {
method render (line 4) | override render() {
FILE: pages/api/search-notion.ts
function searchNotion (line 6) | async function searchNotion(
FILE: pages/api/social-image.tsx
function OGImage (line 22) | async function OGImage(
function getNotionPageInfo (line 167) | async function getNotionPageInfo({
function isUrlReachable (line 272) | async function isUrlReachable(
function getCompatibleImageUrl (line 287) | async function getCompatibleImageUrl(
FILE: pages/feed.tsx
function noop (line 101) | function noop() {
FILE: pages/index.tsx
function NotionDomainPage (line 20) | function NotionDomainPage(props: PageProps) {
FILE: pages/robots.txt.tsx
function noop (line 45) | function noop() {
FILE: pages/sitemap.xml.tsx
function noop (line 57) | function noop() {
Condensed preview — 79 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (558K chars).
[
{
"path": ".editorconfig",
"chars": 134,
"preview": "[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whit"
},
{
"path": ".eslintrc.json",
"chars": 536,
"preview": "{\n \"root\": true,\n \"extends\": [\"@fisch0920/eslint-config\"],\n \"rules\": {\n \"react/prop-types\": \"off\",\n \"unicorn/no"
},
{
"path": ".github/funding.yml",
"chars": 30,
"preview": "github: [transitive-bullshit]\n"
},
{
"path": ".github/issue_template.md",
"chars": 318,
"preview": "#### Description\n\n<!--\nPlease include as detailed of a description as possible, including screenshots if applicable.\n-->"
},
{
"path": ".github/pull_request_template.md",
"chars": 315,
"preview": "#### Description\n\n<!--\nPlease include as detailed of a description as possible, including screenshots if applicable.\n-->"
},
{
"path": ".github/workflows/build.yml",
"chars": 818,
"preview": "name: CI\n\non: [push]\n\njobs:\n test:\n name: Test Node.js ${{ matrix.node-version }}\n runs-on: ubuntu-latest\n\n st"
},
{
"path": ".gitignore",
"chars": 415,
"preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pn"
},
{
"path": ".prettierignore",
"chars": 69,
"preview": ".snapshots/\nbuild/\ndist/\nnode_modules/\n.next/\n.vercel/\nnext-env.d.ts\n"
},
{
"path": ".vscode/launch.json",
"chars": 597,
"preview": "{\n \"version\": \"0.2.0\",\n \"configurations\": [\n {\n \"type\": \"node\",\n \"request\": \"launch\",\n \"name\": \"next"
},
{
"path": ".vscode/settings.json",
"chars": 923,
"preview": "{\n \"typescript.tsdk\": \"./node_modules/typescript/lib\",\n \"files.exclude\": {\n \"**/logs\": true,\n \"**/*.log\": true,\n"
},
{
"path": "components/ErrorPage.tsx",
"chars": 523,
"preview": "import { PageHead } from './PageHead'\nimport styles from './styles.module.css'\n\nexport function ErrorPage({ statusCode }"
},
{
"path": "components/Footer.tsx",
"chars": 2379,
"preview": "import * as React from 'react'\n\nimport * as config from '@/lib/config'\nimport { GitHubIcon } from '@/lib/icons/github'\ni"
},
{
"path": "components/GitHubShareButton.tsx",
"chars": 1765,
"preview": "import styles from './styles.module.css'\n\nexport function GitHubShareButton() {\n return (\n <a\n href='https://gi"
},
{
"path": "components/Loading.tsx",
"chars": 203,
"preview": "import { LoadingIcon } from './LoadingIcon'\nimport styles from './styles.module.css'\n\nexport function Loading() {\n retu"
},
{
"path": "components/LoadingIcon.tsx",
"chars": 1545,
"preview": "import cs from 'classnames'\n\nimport styles from './styles.module.css'\n\nexport function LoadingIcon(props: any) {\n const"
},
{
"path": "components/NotionPage.tsx",
"chars": 10126,
"preview": "import cs from 'classnames'\nimport dynamic from 'next/dynamic'\nimport Image from 'next/legacy/image'\nimport Link from 'n"
},
{
"path": "components/NotionPageHeader.tsx",
"chars": 2480,
"preview": "import type * as types from 'notion-types'\nimport cs from 'classnames'\nimport * as React from 'react'\nimport { Breadcrum"
},
{
"path": "components/Page404.tsx",
"chars": 869,
"preview": "import type * as types from '@/lib/types'\n\nimport { PageHead } from './PageHead'\nimport styles from './styles.module.css"
},
{
"path": "components/PageActions.tsx",
"chars": 864,
"preview": "import { LikeIcon } from '@/lib/icons/like'\nimport { RetweetIcon } from '@/lib/icons/retweet'\n\nimport styles from './sty"
},
{
"path": "components/PageAside.tsx",
"chars": 632,
"preview": "import { type Block, type ExtendedRecordMap } from 'notion-types'\n\nimport { getPageTweet } from '@/lib/get-page-tweet'\n\n"
},
{
"path": "components/PageHead.tsx",
"chars": 3314,
"preview": "import Head from 'next/head'\n\nimport type * as types from '@/lib/types'\nimport * as config from '@/lib/config'\nimport { "
},
{
"path": "components/PageSocial.module.css",
"chars": 2110,
"preview": ".pageSocial {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n color: var(--fg-"
},
{
"path": "components/PageSocial.tsx",
"chars": 3899,
"preview": "import type * as React from 'react'\nimport cs from 'classnames'\n\nimport * as config from '@/lib/config'\n\nimport styles f"
},
{
"path": "components/styles.module.css",
"chars": 3166,
"preview": "@keyframes spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n.container {\n position: absolute;\n top: 0;\n left: 0"
},
{
"path": "contributing.md",
"chars": 2188,
"preview": "# Contributing\n\nSuggestions and pull requests are highly encouraged. Have a look at the [open issues](https://github.com"
},
{
"path": "eslint.config.js",
"chars": 667,
"preview": "import { config } from '@fisch0920/config/eslint'\n\nexport default [\n ...config,\n {\n files: ['**/*.ts', '**/*.tsx'],"
},
{
"path": "lib/acl.ts",
"chars": 1242,
"preview": "import { getBlockValue } from 'notion-utils'\n\nimport type { PageProps } from './types'\n\nexport async function pageAcl({\n"
},
{
"path": "lib/bootstrap-client.ts",
"chars": 721,
"preview": "export function bootstrap() {\n console.log(`\n\n████████╗██████╗ █████╗ ███╗ ██╗███████╗██╗████████╗██╗██╗ ██╗██████"
},
{
"path": "lib/config.ts",
"chars": 6513,
"preview": "/**\n * Site-wide app configuration.\n *\n * This file pulls from the root \"site.config.ts\" as well as environment variable"
},
{
"path": "lib/db.ts",
"chars": 342,
"preview": "import Keyv from '@keyvhq/core'\nimport KeyvRedis from '@keyvhq/redis'\n\nimport { isRedisEnabled, redisNamespace, redisUrl"
},
{
"path": "lib/fonts/inter-semibold.ts",
"chars": 421055,
"preview": "export default Buffer.from(\n 'AAEAAAAQAQAABAAAR0RFRjHLMRwAA0l8AAAEEkdQT1M1FB07AANNkAABLh5HU1VChIX6cQAEe7AAAFV4T1MvMiNfb"
},
{
"path": "lib/get-canonical-page-id.ts",
"chars": 665,
"preview": "import { type ExtendedRecordMap } from 'notion-types'\nimport {\n getCanonicalPageId as getCanonicalPageIdImpl,\n parsePa"
},
{
"path": "lib/get-config-value.ts",
"chars": 1641,
"preview": "import rawSiteConfig from '../site.config'\nimport { type SiteConfig } from './site-config'\n\nif (!rawSiteConfig) {\n thro"
},
{
"path": "lib/get-page-tweet.ts",
"chars": 249,
"preview": "import { getPageProperty } from 'notion-utils'\n\nimport type * as types from './types'\n\nexport function getPageTweet(\n b"
},
{
"path": "lib/get-site-map.ts",
"chars": 2358,
"preview": "import {\n getAllPagesInSpace,\n getBlockValue,\n getPageProperty,\n uuidToId\n} from 'notion-utils'\nimport pMemoize from"
},
{
"path": "lib/get-social-image-url.ts",
"chars": 370,
"preview": "import { api, host } from './config'\n\nexport function getSocialImageUrl(pageId: string | undefined) {\n try {\n const "
},
{
"path": "lib/get-tweets.ts",
"chars": 1552,
"preview": "import { type ExtendedRecordMap } from 'notion-types'\nimport { getPageTweetIds } from 'notion-utils'\nimport pMap from 'p"
},
{
"path": "lib/icons/github.tsx",
"chars": 515,
"preview": "export function GitHubIcon() {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 24 24'\n "
},
{
"path": "lib/icons/like.tsx",
"chars": 1007,
"preview": "export function LikeIcon() {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n fill='currentColor'\n "
},
{
"path": "lib/icons/linkedin.tsx",
"chars": 702,
"preview": "export function LinkedInIcon() {\n return (\n <svg\n stroke='currentColor'\n fill='currentColor'\n strokeW"
},
{
"path": "lib/icons/moon.tsx",
"chars": 465,
"preview": "export function MoonIcon() {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n fill='currentColor'\n "
},
{
"path": "lib/icons/retweet.tsx",
"chars": 941,
"preview": "export function RetweetIcon() {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n fill='currentColor'\n "
},
{
"path": "lib/icons/sun.tsx",
"chars": 696,
"preview": "export function SunIcon() {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n fill='currentColor'\n "
},
{
"path": "lib/icons/twitter.tsx",
"chars": 526,
"preview": "export function TwitterIcon() {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n fill='currentColor'\n "
},
{
"path": "lib/map-image-url.ts",
"chars": 350,
"preview": "import { type Block } from 'notion-types'\nimport { defaultMapImageUrl } from 'notion-utils'\n\nimport { defaultPageCover, "
},
{
"path": "lib/map-page-url.ts",
"chars": 1369,
"preview": "import { type ExtendedRecordMap } from 'notion-types'\nimport { parsePageId, uuidToId } from 'notion-utils'\n\nimport { inc"
},
{
"path": "lib/notion-api.ts",
"chars": 130,
"preview": "import { NotionAPI } from 'notion-client'\n\nexport const notion = new NotionAPI({\n apiBaseUrl: process.env.NOTION_API_BA"
},
{
"path": "lib/notion.ts",
"chars": 2059,
"preview": "import {\n type ExtendedRecordMap,\n type SearchParams,\n type SearchResults\n} from 'notion-types'\nimport { mergeRecordM"
},
{
"path": "lib/oembed.ts",
"chars": 1756,
"preview": "import { getBlockValue, getPageTitle, parsePageId } from 'notion-utils'\n\nimport * as config from './config'\nimport { get"
},
{
"path": "lib/preview-images.ts",
"chars": 2079,
"preview": "import ky from 'ky'\nimport lqip from 'lqip-modern'\nimport {\n type ExtendedRecordMap,\n type PreviewImage,\n type Previe"
},
{
"path": "lib/reset.d.ts",
"chars": 36,
"preview": "import '@fisch0920/config/ts-reset'\n"
},
{
"path": "lib/resolve-notion-page.ts",
"chars": 2990,
"preview": "import { type ExtendedRecordMap } from 'notion-types'\nimport { parsePageId } from 'notion-utils'\n\nimport type { PageProp"
},
{
"path": "lib/search-notion.ts",
"chars": 906,
"preview": "import ExpiryMap from 'expiry-map'\nimport pMemoize from 'p-memoize'\n\nimport type * as types from './types'\nimport { api "
},
{
"path": "lib/site-config.ts",
"chars": 1009,
"preview": "import type * as types from './types'\n\nexport interface SiteConfig {\n rootNotionPageId: string\n rootNotionSpaceId?: st"
},
{
"path": "lib/types.ts",
"chars": 1649,
"preview": "import { type ParsedUrlQuery } from 'node:querystring'\n\nimport { type ExtendedRecordMap, type PageMap } from 'notion-typ"
},
{
"path": "lib/use-dark-mode.ts",
"chars": 248,
"preview": "import useDarkModeImpl from '@fisch0920/use-dark-mode'\n\nexport function useDarkMode() {\n const darkMode = useDarkModeIm"
},
{
"path": "license",
"chars": 1071,
"preview": "MIT License\n\nCopyright (c) 2024 Travis Fischer\n\nPermission is hereby granted, free of charge, to any person obtaining a "
},
{
"path": "next-env.d.ts",
"chars": 249,
"preview": "/// <reference types=\"next\" />\n/// <reference types=\"next/image-types/global\" />\nimport \"./.next/types/routes.d.ts\";\n\n//"
},
{
"path": "next.config.js",
"chars": 1312,
"preview": "// import path from 'node:path'\n// import { fileURLToPath } from 'node:url'\n\nexport default {\n staticPageGenerationTime"
},
{
"path": "package.json",
"chars": 2784,
"preview": "{\n \"name\": \"nextjs-notion-starter-kit\",\n \"version\": \"2.0.0\",\n \"private\": true,\n \"description\": \"The perfect starter "
},
{
"path": "pages/404.tsx",
"chars": 58,
"preview": "export { Page404 as default } from '@/components/Page404'\n"
},
{
"path": "pages/[pageId].tsx",
"chars": 1528,
"preview": "import { type GetStaticProps } from 'next'\n\nimport { NotionPage } from '@/components/NotionPage'\nimport { domain, isDev,"
},
{
"path": "pages/_app.tsx",
"chars": 1605,
"preview": "// used for rendering equations (optional)\nimport 'katex/dist/katex.min.css'\n// used for code syntax highlighting (optio"
},
{
"path": "pages/_document.tsx",
"chars": 1930,
"preview": "import Document, { Head, Html, Main, NextScript } from 'next/document'\n\nexport default class MyDocument extends Document"
},
{
"path": "pages/_error.tsx",
"chars": 62,
"preview": "export { ErrorPage as default } from '@/components/ErrorPage'\n"
},
{
"path": "pages/api/search-notion.ts",
"chars": 697,
"preview": "import { type NextApiRequest, type NextApiResponse } from 'next'\n\nimport type * as types from '../../lib/types'\nimport {"
},
{
"path": "pages/api/social-image.tsx",
"chars": 7919,
"preview": "import ky from 'ky'\nimport { type NextApiRequest, type NextApiResponse } from 'next'\nimport { ImageResponse } from 'next"
},
{
"path": "pages/feed.tsx",
"chars": 2849,
"preview": "import type { GetServerSideProps } from 'next'\nimport { type ExtendedRecordMap } from 'notion-types'\nimport {\n getBlock"
},
{
"path": "pages/index.tsx",
"chars": 652,
"preview": "import type { PageProps } from '@/lib/types'\nimport { NotionPage } from '@/components/NotionPage'\nimport { domain } from"
},
{
"path": "pages/robots.txt.tsx",
"chars": 971,
"preview": "import type { GetServerSideProps } from 'next'\n\nimport { host } from '@/lib/config'\n\nexport const getServerSideProps: Ge"
},
{
"path": "pages/sitemap.xml.tsx",
"chars": 1297,
"preview": "import type { GetServerSideProps } from 'next'\n\nimport type { SiteMap } from '@/lib/types'\nimport { host } from '@/lib/c"
},
{
"path": "pnpm-workspace.yaml",
"chars": 257,
"preview": "onlyBuiltDependencies:\n - sharp\n - simple-git-hooks\n\nenablePrePostScripts: true\n\nminimumReleaseAge: 1440\nminimumReleas"
},
{
"path": "public/manifest.json",
"chars": 475,
"preview": "{\n \"name\": \"Next.js Notion Starter Kit\",\n \"short_name\": \"Starter Kit\",\n \"icons\": [\n {\n \"src\": \"/favicon.png\","
},
{
"path": "readme.md",
"chars": 12514,
"preview": "<p align=\"center\">\n <a href=\"https://transitivebullsh.it/nextjs-notion-starter-kit\">\n <img alt=\"Example article page"
},
{
"path": "site.config.ts",
"chars": 2293,
"preview": "import { siteConfig } from './lib/site-config'\n\nexport default siteConfig({\n // the site's root Notion page (required)\n"
},
{
"path": "styles/global.css",
"chars": 1149,
"preview": "* {\n box-sizing: border-box;\n}\n\na {\n color: inherit;\n text-decoration: none;\n}\n\nbody,\nhtml {\n padding: 0;\n margin: "
},
{
"path": "styles/notion.css",
"chars": 7799,
"preview": "/**\n * This file contains site-specifc style overrides for Notion elements from\n * react-notion-x.\n *\n * react-notion-x'"
},
{
"path": "styles/prism-theme.css",
"chars": 2402,
"preview": "/* prism theme adjustments */\n\n.notion-code {\n background-color: rgba(249, 250, 251, 1);\n border: 1px solid rgba(229, "
},
{
"path": "tsconfig.json",
"chars": 325,
"preview": "{\n \"extends\": \"@fisch0920/config/tsconfig-react\",\n \"compilerOptions\": {\n \"baseUrl\": \".\",\n \"paths\": {\n \"@/co"
}
]
About this extraction
This page contains the full source code of the transitive-bullshit/nextjs-notion-starter-kit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 79 files (536.4 KB), approximately 294.3k tokens, and a symbol index with 71 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.