mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 13:39:01 +01:00 
			
		
		
		
	possibility to export single code note as markdown. UI fix of disabled buttons
This commit is contained in:
		
							parent
							
								
									d6b5cd6ead
								
							
						
					
					
						commit
						568c2c997f
					
				
							
								
								
									
										8
									
								
								src/public/javascripts/services/bootstrap.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								src/public/javascripts/services/bootstrap.js
									
									
									
									
										vendored
									
									
								
							@ -103,7 +103,13 @@ if (utils.isElectron()) {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$("#export-note-to-markdown-button").click(() => exportService.exportSubtree(noteDetailService.getCurrentNoteId(), 'markdown-single'));
 | 
					$("#export-note-to-markdown-button").click(function () {
 | 
				
			||||||
 | 
					    if ($(this).hasClass("disabled")) {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    exportService.exportSubtree(noteDetailService.getCurrentNoteId(), 'markdown-single')
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
treeService.showTree();
 | 
					treeService.showTree();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -25,9 +25,21 @@ function registerEntrypoints() {
 | 
				
			|||||||
    $("#jump-to-note-dialog-button").click(jumpToNoteDialog.showDialog);
 | 
					    $("#jump-to-note-dialog-button").click(jumpToNoteDialog.showDialog);
 | 
				
			||||||
    utils.bindShortcut('ctrl+j', jumpToNoteDialog.showDialog);
 | 
					    utils.bindShortcut('ctrl+j', jumpToNoteDialog.showDialog);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $("#show-note-revisions-button").click(noteRevisionsDialog.showCurrentNoteRevisions);
 | 
					    $("#show-note-revisions-button").click(function() {
 | 
				
			||||||
 | 
					        if ($(this).hasClass("disabled")) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $("#show-source-button").click(noteSourceDialog.showDialog);
 | 
					        noteRevisionsDialog.showCurrentNoteRevisions();
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $("#show-source-button").click(function() {
 | 
				
			||||||
 | 
					        if ($(this).hasClass("disabled")) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        noteSourceDialog.showDialog();
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $("#recent-changes-button").click(recentChangesDialog.showDialog);
 | 
					    $("#recent-changes-button").click(recentChangesDialog.showDialog);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,8 +4,20 @@ const sanitize = require("sanitize-filename");
 | 
				
			|||||||
const TurndownService = require('turndown');
 | 
					const TurndownService = require('turndown');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async function exportSingleMarkdown(note, res) {
 | 
					async function exportSingleMarkdown(note, res) {
 | 
				
			||||||
 | 
					    if (note.type !== 'text' && note.type !== 'code') {
 | 
				
			||||||
 | 
					        return [400, `Note type ${note.type} cannot be exported as single markdown file.`];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let markdown;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (note.type === 'code') {
 | 
				
			||||||
 | 
					        markdown = '```\n' + note.content + "\n```";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else if (note.type === 'text') {
 | 
				
			||||||
        const turndownService = new TurndownService();
 | 
					        const turndownService = new TurndownService();
 | 
				
			||||||
    const markdown = turndownService.turndown(note.content);
 | 
					        markdown = turndownService.turndown(note.content);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const name = sanitize(note.title);
 | 
					    const name = sanitize(note.title);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res.setHeader('Content-Disposition', 'file; filename="' + name + '.md"');
 | 
					    res.setHeader('Content-Disposition', 'file; filename="' + name + '.md"');
 | 
				
			||||||
 | 
				
			|||||||
@ -159,7 +159,7 @@
 | 
				
			|||||||
                  <a class="dropdown-item show-attributes-button"><kbd>Alt+A</kbd> Attributes</a>
 | 
					                  <a class="dropdown-item show-attributes-button"><kbd>Alt+A</kbd> Attributes</a>
 | 
				
			||||||
                  <a class="dropdown-item" id="show-source-button" data-bind="css: { disabled: type() != 'text' }">HTML source</a>
 | 
					                  <a class="dropdown-item" id="show-source-button" data-bind="css: { disabled: type() != 'text' }">HTML source</a>
 | 
				
			||||||
                  <a class="dropdown-item" id="upload-file-button">Upload file</a>
 | 
					                  <a class="dropdown-item" id="upload-file-button">Upload file</a>
 | 
				
			||||||
                  <a class="dropdown-item" id="export-note-to-markdown-button" data-bind="css: { disabled: type() != 'text' }">Export as markdown</a>
 | 
					                  <a class="dropdown-item" id="export-note-to-markdown-button" data-bind="css: { disabled: type() != 'text' && type() != 'code' }">Export as markdown</a>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user