diff --git a/frontend/src/components/Members.vue b/frontend/src/components/Members.vue index ecf99aa7..796ac38e 100644 --- a/frontend/src/components/Members.vue +++ b/frontend/src/components/Members.vue @@ -36,7 +36,7 @@ diff --git a/frontend/src/pages/LessonForm.vue b/frontend/src/pages/LessonForm.vue index bca46d2f..b318d4f0 100644 --- a/frontend/src/pages/LessonForm.vue +++ b/frontend/src/pages/LessonForm.vue @@ -139,7 +139,7 @@ const renderEditor = (holder) => { const lesson = reactive({ title: '', include_in_preview: false, - body: 'Test', + body: '', instructor_notes: '', content: '', }) @@ -294,7 +294,7 @@ const convertToJSON = (lessonData) => { type: 'upload', data: { file_url: video, - file_type: 'video', + file_type: video.split('.').pop(), }, }) } else if (block.includes('{{ Audio')) { @@ -303,7 +303,7 @@ const convertToJSON = (lessonData) => { type: 'upload', data: { file_url: audio, - file_type: 'audio', + file_type: audio.split('.').pop(), }, }) } else if (block.includes('{{ PDF')) { diff --git a/frontend/src/utils/markdownParser.js b/frontend/src/utils/markdownParser.js index db47283c..613465a5 100644 --- a/frontend/src/utils/markdownParser.js +++ b/frontend/src/utils/markdownParser.js @@ -50,10 +50,18 @@ export class Markdown { this.wrapper.innerHTML = this.text this.wrapper.addEventListener('keydown', (event) => { - const value = event.target.textContent + let value = event.target.textContent if (event.keyCode === 32 && value.startsWith('#')) { this.convertToHeader(event, value) - } else if (event.keyCode === 13) { + } else if (event.keyCode == 189) { + this.convertBlock('list', { + style: 'unordered', + }) + } else if (/^[a-zA-Z]/.test(event.key)) { + this.convertBlock('paragraph', { + text: value, + }) + } else if (event.keyCode === 13 || event.keyCode === 190) { this.parseContent(event) } }) @@ -75,7 +83,11 @@ export class Markdown { parseContent(event) { event.preventDefault() - const previousLine = this.wrapper.textContent + let previousLine = this.wrapper.textContent + if (event.keyCode === 190) { + previousLine = previousLine + '.' + } + if (previousLine && this.hasImage(previousLine)) { this.wrapper.textContent = '' this.convertBlock('image') @@ -94,12 +106,12 @@ export class Markdown { }, ], }) - } else if (previousLine && previousLine.startsWith('1. ')) { + } else if (previousLine && previousLine.startsWith('1.')) { this.convertBlock('list', { style: 'ordered', items: [ { - content: previousLine.replace('1. ', ''), + content: previousLine.replace('1.', ''), }, ], }) @@ -108,6 +120,10 @@ export class Markdown { this.convertBlock('embed', { source: previousLine, }) + } else { + this.convertBlock('paragraph', { + text: previousLine, + }) } }