add web demo
This commit is contained in:
33
README.md
33
README.md
@@ -31,6 +31,39 @@ pnpm build
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
Then, you can use it in your code like this:
|
||||
|
||||
```jsx
|
||||
import { Editor } from "inke";
|
||||
|
||||
export default function App() {
|
||||
return <Editor />;
|
||||
}
|
||||
```
|
||||
|
||||
The `Editor` is a React component that takes in the following props:
|
||||
|
||||
| Prop | Type | Description | Default |
|
||||
| --------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `completionApi` | `string` | The API route to use for the OpenAI completion API. | `/api/generate` |
|
||||
| `className` | `string` | Editor container classname. | `"relative min-h-[500px] w-full max-w-screen-lg border-stone-200 bg-white sm:mb-[calc(20vh)] sm:rounded-lg sm:border sm:shadow-lg"` |
|
||||
| `defaultValue` | `JSONContent` or `string` | The default value to use for the editor. | [`defaultEditorContent`](https://github.com/steven-tey/novel/blob/main/packages/core/src/ui/editor/default-content.tsx) |
|
||||
| `extensions` | `Extension[]` | A list of extensions to use for the editor, in addition to the [default Novel extensions](https://github.com/steven-tey/novel/blob/main/packages/core/src/ui/editor/extensions/index.tsx). | `[]` |
|
||||
| `editorProps` | `EditorProps` | Props to pass to the underlying Tiptap editor, in addition to the [default Novel editor props](https://github.com/steven-tey/novel/blob/main/packages/core/src/ui/editor/props.ts). | `{}` |
|
||||
| `onUpdate` | `(editor?: Editor) => void` | A callback function that is called whenever the editor is updated. | `() => {}` |
|
||||
| `onDebouncedUpdate` | `(editor?: Editor) => void` | A callback function that is called whenever the editor is updated, but only after the defined debounce duration. | `() => {}` |
|
||||
| `debounceDuration` | `number` | The duration (in milliseconds) to debounce the `onDebouncedUpdate` callback. | `750` |
|
||||
| `storageKey` | `string` | The key to use for storing the editor's value in local storage. | `novel__content` |
|
||||
| `disableLocalStorage` | `boolean` | Enabling this option will prevent read/write content from/to local storage. | `false` |
|
||||
|
||||
> **Note**: Make sure to define an API endpoint that matches the `completionApi` prop (default is `/api/generate`). This is needed for the AI autocompletions to work. Here's an example: https://github.com/yesmore/inke/blob/main/apps/web/app/api/generate/route.ts
|
||||
|
||||
## Deploy Your Own
|
||||
|
||||
You can deploy your own version of Novel to Vercel with one click:
|
||||
|
||||
[]()
|
||||
|
||||
## Tech Stack
|
||||
|
||||
Inke is built on the following stack:
|
||||
|
Reference in New Issue
Block a user