mirror of
https://github.com/ethanolivertroy/obsidian-markitdown.git
synced 2026-07-22 05:41:54 +00:00
feat: upgrade ribbon icon to dropdown menu with all conversion options
Replace single-action ribbon icon with a native Menu dropdown providing: - Convert file to Markdown - Convert folder to Markdown - Convert URL to Markdown - View conversion history All existing entry points (command palette, context menu, drag-and-drop) remain unchanged. Build passes, all 30 tests pass. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
48cf0c1147
commit
b9a64f42fd
2 changed files with 38 additions and 6 deletions
40
main.ts
40
main.ts
|
|
@ -1,4 +1,4 @@
|
|||
import { Notice, Plugin, TFile, MarkdownView, MarkdownFileInfo, Editor } from 'obsidian';
|
||||
import { Notice, Plugin, TFile, MarkdownView, MarkdownFileInfo, Editor, Menu } from 'obsidian';
|
||||
import * as path from 'path';
|
||||
import * as fs from 'fs';
|
||||
import {
|
||||
|
|
@ -63,9 +63,41 @@ export default class MarkitdownPlugin extends Plugin {
|
|||
this._resolvedPythonPath = depCheck.resolvedPythonPath;
|
||||
this.converter = new MarkitdownConverter(this.resolvedPythonPath, pluginDir);
|
||||
|
||||
// Ribbon icon
|
||||
this.addRibbonIcon('file-text', 'Convert to Markdown', () => {
|
||||
this.openConvertModal();
|
||||
// Ribbon icon with dropdown menu
|
||||
this.addRibbonIcon('file-text', 'Markitdown: Convert files and URLs', (evt: MouseEvent) => {
|
||||
const menu = new Menu();
|
||||
|
||||
menu.addItem((item) =>
|
||||
item
|
||||
.setTitle('Convert file to Markdown')
|
||||
.setIcon('file-text')
|
||||
.onClick(() => this.openConvertModal())
|
||||
);
|
||||
|
||||
menu.addItem((item) =>
|
||||
item
|
||||
.setTitle('Convert folder to Markdown')
|
||||
.setIcon('folder')
|
||||
.onClick(() => this.openFolderModal())
|
||||
);
|
||||
|
||||
menu.addItem((item) =>
|
||||
item
|
||||
.setTitle('Convert URL to Markdown')
|
||||
.setIcon('link')
|
||||
.onClick(() => this.openUrlModal())
|
||||
);
|
||||
|
||||
menu.addSeparator();
|
||||
|
||||
menu.addItem((item) =>
|
||||
item
|
||||
.setTitle('View conversion history')
|
||||
.setIcon('clock')
|
||||
.onClick(() => new HistoryModal(this.app, this).open())
|
||||
);
|
||||
|
||||
menu.showAtMouseEvent(evt);
|
||||
});
|
||||
|
||||
// Commands
|
||||
|
|
|
|||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "obsidian-markitdown",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "obsidian-markitdown",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/jest": "^30.0.0",
|
||||
|
|
|
|||
Loading…
Reference in a new issue