Implement task list rendering in preview mode
- Enabled GitHub Flavored Markdown (GFM) in marked.js for task list support - Added custom CSS styling for task lists: - Hide bullet points, show only checkboxes - Increased checkbox size to 20px for better visibility - Green accent color for checked items - Flexbox layout for proper multi-line text alignment - Task lists render as read-only checkboxes in preview mode
This commit is contained in:
@@ -24,6 +24,12 @@ interface NoteEditorProps {
|
|||||||
|
|
||||||
const imageCache = new Map<string, string>();
|
const imageCache = new Map<string, string>();
|
||||||
|
|
||||||
|
// Configure marked to support task lists
|
||||||
|
marked.use({
|
||||||
|
gfm: true,
|
||||||
|
breaks: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
export function NoteEditor({ note, onUpdateNote, onToggleFavorite, onUnsavedChanges, categories, isFocusMode, onToggleFocusMode, editorFont = 'Source Code Pro', editorFontSize = 14, previewFont = 'Merriweather', previewFontSize = 16, api }: NoteEditorProps) {
|
export function NoteEditor({ note, onUpdateNote, onToggleFavorite, onUnsavedChanges, categories, isFocusMode, onToggleFocusMode, editorFont = 'Source Code Pro', editorFontSize = 14, previewFont = 'Merriweather', previewFontSize = 16, api }: NoteEditorProps) {
|
||||||
const [localContent, setLocalContent] = useState('');
|
const [localContent, setLocalContent] = useState('');
|
||||||
|
|||||||
@@ -213,3 +213,29 @@ code {
|
|||||||
.dark .ProseMirror hr {
|
.dark .ProseMirror hr {
|
||||||
border-top-color: #374151;
|
border-top-color: #374151;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Task list styling for preview mode */
|
||||||
|
.prose ul li:has(> input[type="checkbox"]) {
|
||||||
|
list-style: none;
|
||||||
|
margin-left: -1.5em;
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prose ul:has(li > input[type="checkbox"]) {
|
||||||
|
list-style: none;
|
||||||
|
padding-left: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prose input[type="checkbox"] {
|
||||||
|
width: 1.25rem;
|
||||||
|
height: 1.25rem;
|
||||||
|
margin-right: 0.75rem;
|
||||||
|
margin-top: 0.32rem;
|
||||||
|
cursor: default;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prose input[type="checkbox"]:checked {
|
||||||
|
accent-color: #16a34a;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user