mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-16 11:47:54 +01:00
initial commit
This commit is contained in:
1
packages/editor/.gitignore
vendored
Normal file
1
packages/editor/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules/
|
||||
1
packages/editor/README.md
Normal file
1
packages/editor/README.md
Normal file
@@ -0,0 +1 @@
|
||||
# notesnook-editor
|
||||
24
packages/editor/hooks/useTiptap.ts
Normal file
24
packages/editor/hooks/useTiptap.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import CharacterCount from "@tiptap/extension-character-count";
|
||||
import Placeholder from "@tiptap/extension-placeholder";
|
||||
import { EditorOptions, useEditor } from "@tiptap/react";
|
||||
import StarterKit from "@tiptap/starter-kit";
|
||||
|
||||
export const useTiptap = (options: Partial<EditorOptions> = {}, deps?: any) => {
|
||||
let defaultOptions: Partial<EditorOptions> = {
|
||||
extensions: [
|
||||
StarterKit,
|
||||
CharacterCount,
|
||||
Placeholder.configure({
|
||||
placeholder: "Start writing your note...",
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
const editor = useEditor({ ...defaultOptions, ...options }, deps);
|
||||
|
||||
/**
|
||||
* Add editor to global for use in React Native.
|
||||
*/
|
||||
global.editor = editor;
|
||||
return editor;
|
||||
};
|
||||
41562
packages/editor/package-lock.json
generated
Normal file
41562
packages/editor/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
26
packages/editor/package.json
Normal file
26
packages/editor/package.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "notesnook-editor",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"main": "./",
|
||||
"dependencies": {
|
||||
"@tiptap/extension-history": "^2.0.0-beta.21",
|
||||
"@tiptap/extension-character-count": "^2.0.0-beta.24",
|
||||
"@tiptap/extension-placeholder": "^2.0.0-beta.45",
|
||||
"@tiptap/react": "^2.0.0-beta.98",
|
||||
"@tiptap/starter-kit": "^2.0.0-beta.150"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^16.11.11",
|
||||
"@types/react": "^17.0.37",
|
||||
"@types/react-dom": "^17.0.11",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-scripts": "4.0.3",
|
||||
"typescript": "^4.5.2",
|
||||
"web-vitals": "^1.1.2"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "react-scripts build"
|
||||
}
|
||||
}
|
||||
14
packages/editor/todo
Normal file
14
packages/editor/todo
Normal file
@@ -0,0 +1,14 @@
|
||||
1. Editor
|
||||
a. Wrap Tiptap in useTiptap hook -> done
|
||||
b. Create useEditorController hook -> done
|
||||
c. Expose required events to app via post -> done
|
||||
|
||||
2. App
|
||||
a. Refactor Functions.js to a hook or a class possibly.
|
||||
b. Implement basic editing
|
||||
1. Save & load content
|
||||
2. Save & load title
|
||||
3. Update status bar in Editor
|
||||
4. Attach toolbar commands & events
|
||||
5. Show selected text formats in toolbar
|
||||
|
||||
23
packages/editor/tsconfig.json
Normal file
23
packages/editor/tsconfig.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/tsconfig",
|
||||
"display": "tiptap editor",
|
||||
"compilerOptions": {
|
||||
"lib": ["dom", "dom.iterable", "esnext"],
|
||||
"module": "esnext",
|
||||
"target": "es5",
|
||||
"allowJs": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "react-jsx",
|
||||
"moduleResolution": "node",
|
||||
"noEmit": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"resolveJsonModule": true,
|
||||
"skipLibCheck": true,
|
||||
"strict": true,
|
||||
"outDir": "dist"
|
||||
},
|
||||
"include": ["src", "hooks", "utils"]
|
||||
}
|
||||
8
packages/editor/utils/index.ts
Normal file
8
packages/editor/utils/index.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { Editor } from "@tiptap/react";
|
||||
|
||||
declare global {
|
||||
/**
|
||||
* Current tiptap instance
|
||||
*/
|
||||
var editor: Editor | null;
|
||||
}
|
||||
Reference in New Issue
Block a user