rotion 3.0.0-rc.3 → 3.0.1

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 CHANGED
@@ -176,6 +176,69 @@ const db = await FetchDatabase({ database_id: 'YOUR_DATABASE_ID' })
176
176
  - `Checkbox` - チェックボックスの表示
177
177
  - `createClientLink` - Next.js App Router用ヘルパー(v2.0.1以降)
178
178
 
179
+ サンプル
180
+ --
181
+
182
+ `examples/` ディレクトリには、Notionデータベース連携を実演する完全なサンプルが含まれています。
183
+
184
+ ### データベースのセットアップ
185
+
186
+ すべてのサンプルは、以下のプロパティを持つNotionデータベースが必要です:
187
+
188
+ | プロパティ名 | プロパティ型 |
189
+ |------------|-------------|
190
+ | Title | `title` |
191
+ | Tags | `multi_select`|
192
+ | Date | `date` |
193
+
194
+ ### [nextjs-approuter](./examples/nextjs-approuter)
195
+ データベース対応のNext.js App Routerサンプル:
196
+ - インデックスページにデータベーステーブルビュー
197
+ - 個別記事用の動的 `[id]` ルート
198
+ - `generateStaticParams` を使ったServer Components
199
+ - CSS Modulesによるスタイリング
200
+
201
+ ```bash
202
+ cd examples/nextjs-approuter
203
+ cp .env.example .env.local
204
+ # NOTION_TOKENとNOTION_DATABASE_IDを設定
205
+ npm install
206
+ npm run dev
207
+ ```
208
+
209
+ ### [nextjs-pagerouter](./examples/nextjs-pagerouter)
210
+ データベース対応のNext.js Pages Routerサンプル:
211
+ - `getStaticProps` を使ったデータベーステーブルビュー
212
+ - `getStaticPaths` による動的 `[id]` ルート
213
+ - 従来のSSGワークフロー
214
+
215
+ ```bash
216
+ cd examples/nextjs-pagerouter
217
+ cp .env.example .env.local
218
+ # NOTION_TOKENとNOTION_DATABASE_IDを設定
219
+ npm install
220
+ npm run dev
221
+ ```
222
+
223
+ ### [astro](./examples/astro)
224
+ データベース対応のAstroサンプル:
225
+ - `.astro` ファイルでのデータベーステーブルビュー
226
+ - `getStaticPaths` による動的ルート
227
+ - `client:load` によるReactコンポーネント
228
+
229
+ ```bash
230
+ cd examples/astro
231
+ cp .env.example .env
232
+ # NOTION_TOKENとNOTION_DATABASE_IDを設定
233
+ npm install
234
+ npm run dev
235
+ ```
236
+
237
+ 各サンプルのデモ内容:
238
+ - 3つのプロパティすべてを表示するデータベーステーブルビュー
239
+ - 完全なコンテンツを持つ個別記事ページ
240
+ - データベースと記事ビュー間のナビゲーション
241
+
179
242
  スクリプト
180
243
  --
181
244
 
package/README.md CHANGED
@@ -175,6 +175,69 @@ Main Exports
175
175
  - `Checkbox` – Renders checkboxes
176
176
  - `createClientLink` – Helper for Next.js App Router (v2.0.1+)
177
177
 
178
+ Examples
179
+ --
180
+
181
+ The `examples/` directory contains complete working examples demonstrating Notion database integration.
182
+
183
+ ### Database Setup
184
+
185
+ All examples require a Notion database with the following properties:
186
+
187
+ | Property Name | Property Type |
188
+ |--------------|---------------|
189
+ | Title | `title` |
190
+ | Tags | `multi_select`|
191
+ | Date | `date` |
192
+
193
+ ### [nextjs-approuter](./examples/nextjs-approuter)
194
+ Next.js App Router example with database support:
195
+ - Database table view on the index page
196
+ - Dynamic `[id]` routes for individual articles
197
+ - Server Components with `generateStaticParams`
198
+ - CSS Modules for styling
199
+
200
+ ```bash
201
+ cd examples/nextjs-approuter
202
+ cp .env.example .env.local
203
+ # Add your NOTION_TOKEN and NOTION_DATABASE_ID
204
+ npm install
205
+ npm run dev
206
+ ```
207
+
208
+ ### [nextjs-pagerouter](./examples/nextjs-pagerouter)
209
+ Next.js Pages Router example with database support:
210
+ - Database table view using `getStaticProps`
211
+ - Dynamic `[id]` routes with `getStaticPaths`
212
+ - Traditional SSG workflow
213
+
214
+ ```bash
215
+ cd examples/nextjs-pagerouter
216
+ cp .env.example .env.local
217
+ # Add your NOTION_TOKEN and NOTION_DATABASE_ID
218
+ npm install
219
+ npm run dev
220
+ ```
221
+
222
+ ### [astro](./examples/astro)
223
+ Astro example with database support:
224
+ - Database table view in `.astro` files
225
+ - Dynamic routes with `getStaticPaths`
226
+ - React components with `client:load`
227
+
228
+ ```bash
229
+ cd examples/astro
230
+ cp .env.example .env
231
+ # Add your NOTION_TOKEN and NOTION_DATABASE_ID
232
+ npm install
233
+ npm run dev
234
+ ```
235
+
236
+ Each example demonstrates:
237
+ - Database table view displaying all three properties
238
+ - Individual article pages with full content
239
+ - Navigation between database and article views
240
+
178
241
  Scripts
179
242
  --
180
243
 
@@ -1,10 +1,10 @@
1
1
  import { readFileSync } from 'fs';
2
2
  const pkg = JSON.parse(readFileSync('./package.json').toString());
3
3
  export const cacheDir = process.env.ROTION_CACHEDIR || '.cache';
4
- export const waitingTimeSec = (process.env.ROTION_WAITTIME || 0);
5
- export const waitTimeSecAfterLimit = (process.env.ROTION_LIMITED_WAITTIME || 60 * 1000);
4
+ export const waitingTimeSec = process.env.ROTION_WAITTIME ? parseInt(process.env.ROTION_WAITTIME) : 0;
5
+ export const waitTimeSecAfterLimit = process.env.ROTION_LIMITED_WAITTIME ? parseInt(process.env.ROTION_LIMITED_WAITTIME) : 60 * 1000;
6
6
  export const incrementalCache = process.env.ROTION_INCREMENTAL_CACHE === 'true';
7
- export const cacheAvailableDuration = (process.env.ROTION_CACHE_AVAILABLE_DURATION || 60 * 2 * 1000);
7
+ export const cacheAvailableDuration = process.env.ROTION_CACHE_AVAILABLE_DURATION ? parseInt(process.env.ROTION_CACHE_AVAILABLE_DURATION) : 60 * 2 * 1000;
8
8
  export const auth = process.env.NOTION_TOKEN;
9
9
  export const googleMapKey = process.env.GOOGLEMAP_KEY;
10
10
  export const docRoot = process.env.ROTION_DOCROOT || 'public';
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../src/exporter/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAA;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,CAAW,CAAA;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,GAAG,IAAI,CAAW,CAAA;AACjG,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAA;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAW,CAAA;AAC9G,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;AACrD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAA;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAA;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAA;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3G,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,CAAA;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7G,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAA;AAC9E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,CAAA;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO;IACP,OAAO,EAAE;QACP,YAAY,EAAE,GAAG,SAAS,EAAE;QAC5B,MAAM,EAAE,KAAK;KACd;CACF,CAAA"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../src/exporter/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAA;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrG,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAA;AACpI,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAA;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;AACzJ,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;AACrD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAA;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAA;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAA;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3G,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,CAAA;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7G,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAA;AAC9E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,CAAA;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO;IACP,OAAO,EAAE;QACP,YAAY,EAAE,GAAG,SAAS,EAAE;QAC5B,MAAM,EAAE,KAAK;KACd;CACF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rotion",
3
- "version": "3.0.0-rc.3",
3
+ "version": "3.0.1",
4
4
  "license": "MIT",
5
5
  "repository": "linyows/rotion",
6
6
  "description": "This is react components that uses the notion API to display the notion's database and page.",
@@ -80,7 +80,7 @@
80
80
  "sharp": "^0.34.5"
81
81
  },
82
82
  "devDependencies": {
83
- "@biomejs/biome": "2.3.10",
83
+ "@biomejs/biome": "2.3.11",
84
84
  "@chromatic-com/storybook": "^4.1.2",
85
85
  "@storybook/addon-docs": "^10.0.7",
86
86
  "@storybook/addon-links": "^10.0.7",