10.4.0 • Published 5 months ago

notionate v10.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Example

Usage

Use API calls and components together. This is database list example:

import type { GetStaticProps, NextPage } from 'next'
import Link from 'next/link'
import {
  QueryDatabaseResponseEx,
  FetchDatabase,
  QueryDatabaseParameters,
  Link as NLink,
} from 'notionate'
import { DBList } from 'notionate/dist/components'
import 'notionate/dist/styles/notionate.css'
// Import when enable dark-mode
import 'notionate/dist/styles/notionate-dark.css'

type Props = {
  db: QueryDatabaseResponseEx
}

export const getStaticProps: GetStaticProps<Props> = async (context) => {
  const db = await FetchDatabase({
    database_id: process.env.NOTION_DBID,
    filter: {
      property: 'Published',
      checkbox: {
        equals: true
      },
    },
    sorts: [
      {
        property: 'Date',
        direction: 'descending'
      },
    ]
  } as QueryDatabaseParameters)

  return {
    props: {
      db,
    }
  }
}

export default const DB: NextPage<Props> = ({ db }) => {
  return (
    <>
      <List
        keys={['Name', 'spacer', 'Tags', 'Date']}
        db={db}
        href="/database/[id]"
        link={Link as NLink} />
    </>
  )
}

This is page example:

import type { GetStaticProps, NextPage } from 'next'
import { FetchBlocks, ListBlockChildrenResponseEx } from 'notionate'
import { Blocks } from 'notionate/dist/components'
import 'notionate/dist/styles/notionate.css'
// Import when enable dark-mode
import 'notionate/dist/styles/notionate-dark.css'

type Props = {
  blocks: ListBlockChildrenResponseEx
}

export const getStaticProps: GetStaticProps<Props> = async (context) => {
  const blocks = await FetchBlocks(process.env.NOTION_PAGEID)
  return {
    props: {
      blocks,
    }
  }
}

export default const Page: NextPage<Props> = ({ blocks }) => {
  return (
    <>
      <Blocks blocks={blocks} />
    </>
  )
}

Set the notion token as environment variable:

$ cat .env
NOTION_TOKEN=secret_vHVKhIeYm95ga1sjOv*************************
NOTION_PAGEID=23740912d6ac4018ab76c64e772a342a
NOTION_DBID=81781536afc6431da21721177e7bf8e0
Env nameDescriptionDefault
NOTION_TOKENRead permission is required in notion's credentials-
NOTIONATE_CACHEDIRCache directory name.cache
NOTIONATE_DOCROOTWeb server root directorypublic
NOTIONATE_IMAGEDIRWeb server image directoryimages
NOTIONATE_INCREMENTAL_CACHEEnable incremental cachefalse
NOTIONATE_WAITTIMEmilliseconds to wait right after api request due to ratelimit0
NOTIONATE_LIMITED_WAITTIMEmilliseconds to wait before backoff after ratelimit limit60sec
NOTIONATE_WEBP_QUALITYQuality for WebP converting95

API

This is the API available:

  • FetchDatabase: Returns page list and properties in database
  • FetchPage: Returns page title and properties
  • FetchBlocks: Returns blocks that is the content of the page.

Images are saved in NOTIONATE_IMAGEDIR locally.

Components

This is the components available:

  • Page Blocks
  • Database List View
  • Database Gallery View
  • Database Table View
  • Database Calendar View
  • Database Timeline View

Author

@linyows

10.4.0

5 months ago

10.3.0

5 months ago

10.2.0

5 months ago

10.1.0

7 months ago

10.0.2

8 months ago

10.0.0

11 months ago

10.0.1

11 months ago

8.2.3

1 year ago

8.2.2

1 year ago

8.1.0

1 year ago

8.3.0

12 months ago

8.1.1

1 year ago

9.1.0

12 months ago

8.2.1

1 year ago

8.2.0

1 year ago

9.2.0

12 months ago

9.0.0

12 months ago

7.3.1

1 year ago

7.3.0

1 year ago

7.2.1

1 year ago

7.2.0

1 year ago

8.0.1

1 year ago

8.0.0

1 year ago

8.0.3

1 year ago

8.0.2

1 year ago

6.1.0

2 years ago

6.1.1

2 years ago

7.1.0

1 year ago

5.2.2

2 years ago

5.2.1

2 years ago

6.0.1

2 years ago

6.0.0

2 years ago

6.0.2

2 years ago

7.0.0

1 year ago

7.0.2

1 year ago

7.0.1

1 year ago

5.2.0

2 years ago

5.1.0

2 years ago

5.0.0

2 years ago

2.0.0

2 years ago

3.4.0

2 years ago

3.1.3

2 years ago

3.3.0

2 years ago

3.2.1

2 years ago

3.1.2

2 years ago

3.2.0

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.4.1

2 years ago

3.1.4

2 years ago

3.0.0

2 years ago

4.1.0

2 years ago

4.0.0

2 years ago

4.2.1

2 years ago

4.2.0

2 years ago

1.0.0

2 years ago

0.18.0

2 years ago

0.17.0

2 years ago

0.16.0

2 years ago

0.15.0

2 years ago

0.14.0

2 years ago

0.13.0

2 years ago

0.12.0

2 years ago

0.11.0

2 years ago

0.10.0

2 years ago

0.9.0

2 years ago

0.8.0

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago