diff --git a/package-lock.json b/package-lock.json
index 147bbd0..23ad93c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -84,6 +84,7 @@
"remirror": "^1.0.77",
"secp256k1": "^4.0.3",
"serverless-http": "^3.0.1",
+ "turndown": "^7.1.1",
"typescript": "^4.6.3",
"web-vitals": "^2.1.4",
"webln": "^0.3.0",
diff --git a/package.json b/package.json
index 82024c7..be89451 100644
--- a/package.json
+++ b/package.json
@@ -79,6 +79,7 @@
"remirror": "^1.0.77",
"secp256k1": "^4.0.3",
"serverless-http": "^3.0.1",
+ "turndown": "^7.1.1",
"typescript": "^4.6.3",
"web-vitals": "^2.1.4",
"webln": "^0.3.0",
diff --git a/src/Components/Inputs/TextEditor/SaveModule.tsx b/src/Components/Inputs/TextEditor/SaveModule.tsx
index 6ba3f11..76b910f 100644
--- a/src/Components/Inputs/TextEditor/SaveModule.tsx
+++ b/src/Components/Inputs/TextEditor/SaveModule.tsx
@@ -19,8 +19,6 @@ export default function SaveModule(props: Props) {
const changeCallback = useDebouncedCallback(ctx => {
const { state } = ctx;
const md = getMarkdown(state);
- console.log(md);
-
onChange(md);
}, [], 500)
diff --git a/src/Components/Inputs/TextEditor/ToolButton/VideoToolBtn.tsx b/src/Components/Inputs/TextEditor/ToolButton/VideoToolBtn.tsx
index 96ba4e7..c91acce 100644
--- a/src/Components/Inputs/TextEditor/ToolButton/VideoToolBtn.tsx
+++ b/src/Components/Inputs/TextEditor/ToolButton/VideoToolBtn.tsx
@@ -26,10 +26,10 @@ export default function VideoToolButton({ classes }: Props) {
const onInsertVideo = useCallback(({ payload: { src } }: typeof INSERT_VIDEO_ACTION) => {
- commands.addYouTubeVideo({
- video: src,
+ commands.addYouTubeVideo({ video: src });
+ // commands.insertText(``, {
- })
+ // })
}, [commands])
useReduxEffect(onInsertVideo, INSERT_VIDEO_ACTION.type)
diff --git a/src/features/Posts/pages/CreatePostPage/Components/ContentEditor/ContentEditor.tsx b/src/features/Posts/pages/CreatePostPage/Components/ContentEditor/ContentEditor.tsx
index cccbe5d..af35f4e 100644
--- a/src/features/Posts/pages/CreatePostPage/Components/ContentEditor/ContentEditor.tsx
+++ b/src/features/Posts/pages/CreatePostPage/Components/ContentEditor/ContentEditor.tsx
@@ -1,5 +1,6 @@
import 'remirror/styles/all.css';
import styles from './styles.module.scss'
+import TurndownService from 'turndown'
import javascript from 'refractor/lang/javascript';
import typescript from 'refractor/lang/typescript';
@@ -29,6 +30,9 @@ import TextEditorComponents from 'src/Components/Inputs/TextEditor';
import Toolbar from './Toolbar';
+const turndownService = new TurndownService()
+turndownService.keep(['iframe']);
+
interface Props {
placeholder?: string;
initialContent?: string;
@@ -53,6 +57,9 @@ export default function ContentEditor({ placeholder, initialContent, name }: Pro
rel: 'noopener noreferrer'
}
}),
+ new MarkdownExtension({
+ copyAsMarkdown: true, htmlToMarkdown: (html) => turndownService.turndown(html)
+ }),
new BoldExtension(),
// new StrikeExtension(),
new UnderlineExtension(),
@@ -71,7 +78,6 @@ export default function ContentEditor({ placeholder, initialContent, name }: Pro
new IframeExtension(),
// new TrailingNodeExtension(),
// new TableExtension(),
- new MarkdownExtension({ copyAsMarkdown: true, }),
new NodeFormattingExtension(),
/**
* `HardBreakExtension` allows us to create a newline inside paragraphs.
diff --git a/src/features/Posts/pages/CreatePostPage/Components/ContentEditor/Toolbar.tsx b/src/features/Posts/pages/CreatePostPage/Components/ContentEditor/Toolbar.tsx
index 37f6de8..ef73d3d 100644
--- a/src/features/Posts/pages/CreatePostPage/Components/ContentEditor/Toolbar.tsx
+++ b/src/features/Posts/pages/CreatePostPage/Components/ContentEditor/Toolbar.tsx
@@ -22,7 +22,7 @@ export default function Toolbar() {
- {/* */}
+
diff --git a/src/features/Posts/pages/PostDetailsPage/Components/PageContent/styles.module.css b/src/features/Posts/pages/PostDetailsPage/Components/PageContent/styles.module.css
index 1afeebc..e594a0c 100644
--- a/src/features/Posts/pages/PostDetailsPage/Components/PageContent/styles.module.css
+++ b/src/features/Posts/pages/PostDetailsPage/Components/PageContent/styles.module.css
@@ -48,3 +48,9 @@
border-radius: 12px;
color: whitesmoke;
}
+
+.body iframe {
+ width: min(100%, 640px);
+ aspect-ratio: 16/9;
+ margin: 36px auto;
+}