rotion 3.6.3 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +20 -12
- package/README.md +26 -17
- package/dist/exporter/api.d.ts +11 -1
- package/dist/exporter/api.js +35 -30
- package/dist/exporter/api.js.map +1 -1
- package/dist/exporter/bin.d.ts +2 -0
- package/dist/exporter/bin.js +4 -0
- package/dist/exporter/bin.js.map +1 -0
- package/dist/exporter/blocks.js +355 -322
- package/dist/exporter/blocks.js.map +1 -1
- package/dist/exporter/breadcrumbs.js +3 -3
- package/dist/exporter/breadcrumbs.js.map +1 -1
- package/dist/exporter/cli.d.ts +16 -0
- package/dist/exporter/cli.js +126 -0
- package/dist/exporter/cli.js.map +1 -0
- package/dist/exporter/database.js +82 -75
- package/dist/exporter/database.js.map +1 -1
- package/dist/exporter/dependencies.d.ts +38 -0
- package/dist/exporter/dependencies.js +102 -0
- package/dist/exporter/dependencies.js.map +1 -0
- package/dist/exporter/failures.d.ts +52 -0
- package/dist/exporter/failures.js +105 -0
- package/dist/exporter/failures.js.map +1 -0
- package/dist/exporter/files.d.ts +21 -0
- package/dist/exporter/files.js +164 -94
- package/dist/exporter/files.js.map +1 -1
- package/dist/exporter/github.d.ts +8 -0
- package/dist/exporter/github.js +22 -5
- package/dist/exporter/github.js.map +1 -1
- package/dist/exporter/index.d.ts +4 -0
- package/dist/exporter/index.js +2 -0
- package/dist/exporter/index.js.map +1 -1
- package/dist/exporter/log.d.ts +6 -0
- package/dist/exporter/log.js +15 -0
- package/dist/exporter/log.js.map +1 -0
- package/dist/exporter/mutex.js +55 -16
- package/dist/exporter/mutex.js.map +1 -1
- package/dist/exporter/page.js +51 -35
- package/dist/exporter/page.js.map +1 -1
- package/dist/exporter/prune.d.ts +27 -0
- package/dist/exporter/prune.js +95 -0
- package/dist/exporter/prune.js.map +1 -0
- package/dist/exporter/types.d.ts +13 -0
- package/dist/exporter/variables.d.ts +61 -17
- package/dist/exporter/variables.js +86 -23
- package/dist/exporter/variables.js.map +1 -1
- package/dist/ui/components/Gallery/GalleryCard/options.d.ts +11 -0
- package/dist/ui/esm/components/Gallery/GalleryCard/GalleryCard.js +2 -17
- package/dist/ui/esm/components/Gallery/GalleryCard/GalleryCard.js.map +1 -1
- package/dist/ui/esm/components/Gallery/GalleryCard/options.js +27 -0
- package/dist/ui/esm/components/Gallery/GalleryCard/options.js.map +1 -0
- package/dist/ui/esm/components/Page/CodeBlock/Code/Code.js +5 -0
- package/dist/ui/esm/components/Page/CodeBlock/Code/Code.js.map +1 -1
- package/dist/ui/index-without-dark.css +1 -1
- package/dist/ui/index.css +1 -1
- package/package.json +30 -24
package/README.ja.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="https://rotion.linyo.ws">
|
|
5
5
|
<picture>
|
|
6
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/linyows/rotion/blob/main/misc/rotion-dark
|
|
6
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/linyows/rotion/blob/main/misc/rotion-dark.svg?raw=true">
|
|
7
7
|
<img alt="Rotion" src="https://github.com/linyows/rotion/blob/main/misc/rotion.svg?raw=true" width="300">
|
|
8
8
|
</picture>
|
|
9
9
|
</a>
|
|
@@ -18,19 +18,19 @@
|
|
|
18
18
|
</a>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
|
-
**Rotion**は、Notion APIとReactを活用して、Notion
|
|
21
|
+
**Rotion**は、Notion APIとReactを活用して、Notionのデータベースやページからウェブサイトを作るためのコンポーネント&ツール群です。
|
|
22
22
|
Next.jsをはじめとしたReact系フレームワークでの利用を想定していますが、他のフレームワークでも動作します。
|
|
23
|
-
|
|
23
|
+
画像や必要なファイルはローカルに保存されるため、完全な静的サイトとして生成することも、Node.jsのサーバーで描画することもできます。
|
|
24
24
|
|
|
25
25
|
公式サイト: https://rotion.linyo.ws
|
|
26
26
|
|
|
27
27
|
主な特徴
|
|
28
28
|
--
|
|
29
29
|
|
|
30
|
-
- Notion API
|
|
30
|
+
- Notion APIからデータベース・ページを取得し、ビルド時またはリクエスト時にサイト用のデータとして変換
|
|
31
31
|
- 画像やPDFなどのファイルもローカル保存
|
|
32
32
|
- 豊富なReactコンポーネント(Gallery, Table, List, Page, 各種Blockなど)
|
|
33
|
-
- Next.js
|
|
33
|
+
- Next.jsなどで、静的サイト生成にもサーバーでの描画にも対応([サーバーでの描画](https://rotion.linyo.ws/ja/server-rendering))
|
|
34
34
|
- **Next.js App Router サポート** - `createClientLink` ヘルパー(v2.0.1以降)
|
|
35
35
|
- **Next.js Page Router サポート** - 従来のSSGワークフロー
|
|
36
36
|
- TypeScript対応
|
|
@@ -42,12 +42,6 @@ Next.jsをはじめとしたReact系フレームワークでの利用を想定
|
|
|
42
42
|
npm install rotion
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
または
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
yarn add rotion
|
|
49
|
-
```
|
|
50
|
-
|
|
51
45
|
使い方
|
|
52
46
|
--
|
|
53
47
|
|
|
@@ -246,6 +240,20 @@ npm install
|
|
|
246
240
|
npm run dev
|
|
247
241
|
```
|
|
248
242
|
|
|
243
|
+
### [nextjs-server](./examples/nextjs-server)
|
|
244
|
+
Node.jsのサーバーで描画するNext.js App Routerサンプル:
|
|
245
|
+
- リクエスト時に描画し、`revalidate` で再生成するページ
|
|
246
|
+
- ダウンロードした画像やファイルを、ルートハンドラーで `storage/` から配信
|
|
247
|
+
- インクリメンタルキャッシュにより、再ビルドなしでNotionの編集を反映
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
cd examples/nextjs-server
|
|
251
|
+
# .env.localにNOTION_TOKENとNOTION_DATABASE_IDを設定
|
|
252
|
+
npm install
|
|
253
|
+
npm run build
|
|
254
|
+
npm start
|
|
255
|
+
```
|
|
256
|
+
|
|
249
257
|
### [nextjs-pagerouter](./examples/nextjs-pagerouter)
|
|
250
258
|
データベース対応のNext.js Pages Routerサンプル:
|
|
251
259
|
- `getStaticProps` を使ったデータベーステーブルビュー
|
|
@@ -289,7 +297,7 @@ npm run dev
|
|
|
289
297
|
必要な環境
|
|
290
298
|
--
|
|
291
299
|
|
|
292
|
-
- Node.js
|
|
300
|
+
- Node.js 22.12以上
|
|
293
301
|
- React 17、18、または19
|
|
294
302
|
- Next.js 13以上(App Router機能を使う場合はNext.js 15以上推奨)
|
|
295
303
|
|
package/README.md
CHANGED
|
@@ -2,34 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="https://rotion.linyo.ws">
|
|
5
|
+
<br /><br /><br /><br /><br />
|
|
5
6
|
<picture>
|
|
6
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/linyows/rotion/blob/main/misc/rotion-dark
|
|
7
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/linyows/rotion/blob/main/misc/rotion-dark.svg?raw=true">
|
|
7
8
|
<img alt="Rotion" src="https://github.com/linyows/rotion/blob/main/misc/rotion.svg?raw=true" width="300">
|
|
8
9
|
</picture>
|
|
10
|
+
<br /><br /><br /><br /><br />
|
|
9
11
|
</a>
|
|
10
12
|
</p>
|
|
11
13
|
|
|
14
|
+
**Rotion** is a set of components and tools that utilize the Notion API and React to build a website from your Notion databases and pages.
|
|
15
|
+
It is designed primarily for use with Next.js (or other React frameworks) and stores images and other files locally, so that you can build a fully static site or render the pages on a Node.js server.
|
|
16
|
+
https://rotion.linyo.ws
|
|
17
|
+
|
|
12
18
|
<p align="center">
|
|
13
19
|
<a href="https://github.com/linyows/rotion/actions">
|
|
14
|
-
<img src="https://img.shields.io/github/actions/workflow/status/linyows/rotion/build.yml?branch=main&style=for-the-badge&labelColor=
|
|
20
|
+
<img alt="Github Workflow Status" src="https://img.shields.io/github/actions/workflow/status/linyows/rotion/build.yml?branch=main&style=for-the-badge&labelColor=666666" />
|
|
15
21
|
</a>
|
|
16
22
|
<a href="https://www.npmjs.com/package/rotion">
|
|
17
|
-
<img src="http://img.shields.io/npm/v/rotion.svg?style=for-the-badge&labelColor=
|
|
23
|
+
<img alrt="NPM" src="http://img.shields.io/npm/v/rotion.svg?style=for-the-badge&labelColor=666666&color=DDDDDD" />
|
|
18
24
|
</a>
|
|
19
25
|
</p>
|
|
20
26
|
|
|
21
|
-
**Rotion** is a set of components and tools that utilize the Notion API and React to generate a static website from your Notion databases and pages.
|
|
22
|
-
It is designed primarily for use with Next.js (or other React frameworks) and stores images and other files locally, so that you can build a fully static site.
|
|
23
|
-
|
|
24
|
-
Official site: https://rotion.linyo.ws
|
|
25
|
-
|
|
26
27
|
Features
|
|
27
28
|
--
|
|
28
29
|
|
|
29
|
-
- Fetch and convert Notion databases and pages into
|
|
30
|
+
- Fetch and convert Notion databases and pages into data for your site via the Notion API, at build time or on request.
|
|
30
31
|
- Local storage of images, PDFs, and other files.
|
|
31
32
|
- Rich React components (Gallery, Table, List, Page, and various Blocks).
|
|
32
|
-
-
|
|
33
|
+
- Works with static site generation and server rendering in frameworks such as Next.js ([Server rendering](https://rotion.linyo.ws/server-rendering)).
|
|
33
34
|
- **Next.js App Router support** with `createClientLink` helper (v2.0.1+).
|
|
34
35
|
- **Next.js Page Router support** for traditional SSG workflows.
|
|
35
36
|
- TypeScript support.
|
|
@@ -41,12 +42,6 @@ Installation
|
|
|
41
42
|
npm install rotion
|
|
42
43
|
```
|
|
43
44
|
|
|
44
|
-
or
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
yarn add rotion
|
|
48
|
-
```
|
|
49
|
-
|
|
50
45
|
Usage
|
|
51
46
|
--
|
|
52
47
|
|
|
@@ -245,6 +240,20 @@ npm install
|
|
|
245
240
|
npm run dev
|
|
246
241
|
```
|
|
247
242
|
|
|
243
|
+
### [nextjs-server](./examples/nextjs-server)
|
|
244
|
+
Next.js App Router example rendered on a Node.js server:
|
|
245
|
+
- Pages rendered on request and regenerated with `revalidate`
|
|
246
|
+
- Downloaded images and files served from `storage/` by route handlers
|
|
247
|
+
- Incremental cache, so edits in Notion appear without a rebuild
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
cd examples/nextjs-server
|
|
251
|
+
# Add your NOTION_TOKEN and NOTION_DATABASE_ID to .env.local
|
|
252
|
+
npm install
|
|
253
|
+
npm run build
|
|
254
|
+
npm start
|
|
255
|
+
```
|
|
256
|
+
|
|
248
257
|
### [nextjs-pagerouter](./examples/nextjs-pagerouter)
|
|
249
258
|
Next.js Pages Router example with database support:
|
|
250
259
|
- Database table view using `getStaticProps`
|
|
@@ -288,7 +297,7 @@ Scripts
|
|
|
288
297
|
Requirements
|
|
289
298
|
--
|
|
290
299
|
|
|
291
|
-
- Node.js
|
|
300
|
+
- Node.js 22.12 or later
|
|
292
301
|
- React 17, 18, or 19
|
|
293
302
|
- Next.js 13+ (for App Router features, Next.js 15+ recommended)
|
|
294
303
|
|
package/dist/exporter/api.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Client } from '@notionhq/client';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* notion returns the Notion client for the current settings. It is created on
|
|
4
|
+
* first use, not on import, so NOTION_TOKEN (or configure({ auth })) only has
|
|
5
|
+
* to be set before the first request, and a new token gets a new client.
|
|
6
|
+
*/
|
|
7
|
+
export declare function notion(): Client;
|
|
3
8
|
export interface reqAPIWithBackoffArgs {
|
|
4
9
|
func: Function;
|
|
5
10
|
args: unknown;
|
|
@@ -23,4 +28,9 @@ export declare function reqAPIWithBackoffAndCache<T>({ name, func, args, count }
|
|
|
23
28
|
export interface FetchOptions extends RequestInit {
|
|
24
29
|
timeout?: number;
|
|
25
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* fetchWithTimeout aborts the request when it takes longer than timeout
|
|
33
|
+
* milliseconds. The limit also covers reading the body, so a server that
|
|
34
|
+
* sends the headers and then stalls does not hold the caller forever.
|
|
35
|
+
*/
|
|
26
36
|
export declare function fetchWithTimeout(url: string | URL | Request, options?: FetchOptions): Promise<Response>;
|
package/dist/exporter/api.js
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { Client } from '@notionhq/client';
|
|
2
|
-
import { isNotionClientError,
|
|
2
|
+
import { isNotionClientError, LogLevel, } from '@notionhq/client';
|
|
3
|
+
import { transientNotionErrorCodes } from './failures.js';
|
|
4
|
+
import { warn } from './log.js';
|
|
3
5
|
import { atoh, readCache, writeCache, isAvailableCache, } from './files.js';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
import { config } from './variables.js';
|
|
7
|
+
let client;
|
|
8
|
+
/**
|
|
9
|
+
* notion returns the Notion client for the current settings. It is created on
|
|
10
|
+
* first use, not on import, so NOTION_TOKEN (or configure({ auth })) only has
|
|
11
|
+
* to be set before the first request, and a new token gets a new client.
|
|
12
|
+
*/
|
|
13
|
+
export function notion() {
|
|
14
|
+
const { auth, debug } = config();
|
|
15
|
+
if (client === undefined || client.auth !== auth || client.debug !== debug) {
|
|
16
|
+
client = { auth, debug, instance: new Client({ auth, logLevel: debug ? LogLevel.DEBUG : LogLevel.ERROR }) };
|
|
17
|
+
}
|
|
18
|
+
return client.instance;
|
|
19
|
+
}
|
|
12
20
|
const truncate = (str, max = 1000) => {
|
|
13
21
|
return str.length > max ? `${str.slice(0, max)}...` : str;
|
|
14
22
|
};
|
|
@@ -29,21 +37,22 @@ export async function reqAPIWithBackoff({ func, args, count }) {
|
|
|
29
37
|
if (count < 1) {
|
|
30
38
|
throw new Error('backoff count exceeded');
|
|
31
39
|
}
|
|
40
|
+
const { waitTime, limitedWaitTime, debug } = config();
|
|
32
41
|
let res = null;
|
|
33
42
|
try {
|
|
34
43
|
res = await func(args);
|
|
35
|
-
if (
|
|
36
|
-
await new Promise(resolve => setTimeout(resolve,
|
|
44
|
+
if (waitTime > 0) {
|
|
45
|
+
await new Promise(resolve => setTimeout(resolve, waitTime));
|
|
37
46
|
}
|
|
38
47
|
}
|
|
39
48
|
catch (error) {
|
|
40
|
-
const retryable = error && typeof error === 'object' && isNotionClientError(error) &&
|
|
49
|
+
const retryable = error && typeof error === 'object' && isNotionClientError(error) && transientNotionErrorCodes.includes(error.code);
|
|
41
50
|
if (retryable && count > 1) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
if (
|
|
46
|
-
await new Promise(resolve => setTimeout(resolve,
|
|
51
|
+
// The wait is a minute by default; say why nothing seems to happen
|
|
52
|
+
const name = func.name === '' ? 'anonymous' : func.name;
|
|
53
|
+
warn(`notion api ${name} failed with ${error.code}; retrying in ${limitedWaitTime}ms (${count - 1} attempts left)`);
|
|
54
|
+
if (limitedWaitTime > 0) {
|
|
55
|
+
await new Promise(resolve => setTimeout(resolve, limitedWaitTime));
|
|
47
56
|
}
|
|
48
57
|
return await reqAPIWithBackoff({ func, args, count: count - 1 });
|
|
49
58
|
}
|
|
@@ -59,7 +68,7 @@ export async function reqAPIWithBackoff({ func, args, count }) {
|
|
|
59
68
|
}
|
|
60
69
|
export async function reqAPIWithBackoffAndCache({ name, func, args, count }) {
|
|
61
70
|
const key = atoh(JSON.stringify({ func: func.name, args }));
|
|
62
|
-
const cacheFile = `${cacheDir}/${name}-${key}`;
|
|
71
|
+
const cacheFile = `${config().cacheDir}/${name}-${key}`;
|
|
63
72
|
try {
|
|
64
73
|
const cache = await readCache(cacheFile);
|
|
65
74
|
if (await isAvailableCache(cacheFile)) {
|
|
@@ -73,24 +82,20 @@ export async function reqAPIWithBackoffAndCache({ name, func, args, count }) {
|
|
|
73
82
|
await writeCache(cacheFile, res);
|
|
74
83
|
return res;
|
|
75
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* fetchWithTimeout aborts the request when it takes longer than timeout
|
|
87
|
+
* milliseconds. The limit also covers reading the body, so a server that
|
|
88
|
+
* sends the headers and then stalls does not hold the caller forever.
|
|
89
|
+
*/
|
|
76
90
|
// TODO: replace http(s).get functions to this
|
|
77
91
|
export async function fetchWithTimeout(url, options = {}) {
|
|
78
92
|
const { timeout = 5000, ...fetchOptions } = options;
|
|
79
|
-
const controller = new AbortController();
|
|
80
|
-
const { signal } = controller;
|
|
81
|
-
const timeoutId = setTimeout(() => {
|
|
82
|
-
controller.abort();
|
|
83
|
-
}, timeout);
|
|
84
|
-
options.signal = signal;
|
|
85
93
|
try {
|
|
86
|
-
|
|
87
|
-
clearTimeout(timeoutId);
|
|
88
|
-
return response;
|
|
94
|
+
return await fetch(url, { ...fetchOptions, signal: AbortSignal.timeout(timeout) });
|
|
89
95
|
}
|
|
90
96
|
catch (error) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
throw new Error(`Request timed out after ${timeout}ms`);
|
|
97
|
+
if (error instanceof Error && (error.name === 'TimeoutError' || error.name === 'AbortError')) {
|
|
98
|
+
throw new Error(`Request timed out after ${timeout}ms`, { cause: error });
|
|
94
99
|
}
|
|
95
100
|
throw error;
|
|
96
101
|
}
|
package/dist/exporter/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/exporter/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/exporter/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/exporter/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
|