mirror of
https://github.com/amitwh/markdown-converter.git
synced 2026-08-02 18:10:18 +05:30
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a44b13d2fb |
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pan-converter",
|
"name": "pan-converter",
|
||||||
"version": "1.7.2",
|
"version": "1.7.3",
|
||||||
"description": "Cross-platform Markdown editor and converter using Pandoc",
|
"description": "Cross-platform Markdown editor and converter using Pandoc",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
+8
-10
@@ -86,14 +86,8 @@ function createWindow() {
|
|||||||
// Wait for the page to fully load before sending file data
|
// Wait for the page to fully load before sending file data
|
||||||
mainWindow.webContents.on('did-finish-load', () => {
|
mainWindow.webContents.on('did-finish-load', () => {
|
||||||
console.log('Window finished loading');
|
console.log('Window finished loading');
|
||||||
// Give renderer a moment to initialize
|
// Don't open file here - wait for renderer-ready signal
|
||||||
setTimeout(() => {
|
// The renderer will send renderer-ready when TabManager is initialized
|
||||||
if (app.pendingFile && !rendererReady) {
|
|
||||||
console.log('Opening pending file after did-finish-load:', app.pendingFile);
|
|
||||||
openFileFromPath(app.pendingFile);
|
|
||||||
app.pendingFile = null;
|
|
||||||
}
|
|
||||||
}, 500); // Wait 500ms for TabManager to initialize
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -261,7 +255,11 @@ function createMenu() {
|
|||||||
{ label: 'Ayu Light', click: () => setTheme('ayu-light') },
|
{ label: 'Ayu Light', click: () => setTheme('ayu-light') },
|
||||||
{ label: 'Ayu Mirage', click: () => setTheme('ayu-mirage') },
|
{ label: 'Ayu Mirage', click: () => setTheme('ayu-mirage') },
|
||||||
{ label: 'Oceanic Next', click: () => setTheme('oceanic-next') },
|
{ label: 'Oceanic Next', click: () => setTheme('oceanic-next') },
|
||||||
{ label: 'Cobalt2', click: () => setTheme('cobalt2') }
|
{ label: 'Cobalt2', click: () => setTheme('cobalt2') },
|
||||||
|
{ type: 'separator' },
|
||||||
|
{ label: 'Concrete Dark', click: () => setTheme('concrete-dark') },
|
||||||
|
{ label: 'Concrete Light', click: () => setTheme('concrete-light') },
|
||||||
|
{ label: 'Concrete Warm', click: () => setTheme('concrete-warm') }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
@@ -412,7 +410,7 @@ function createMenu() {
|
|||||||
type: 'info',
|
type: 'info',
|
||||||
title: 'About PanConverter',
|
title: 'About PanConverter',
|
||||||
message: 'PanConverter',
|
message: 'PanConverter',
|
||||||
detail: 'A cross-platform Markdown editor and converter using Pandoc.\n\nVersion: 1.7.2\nAuthor: Amit Haridas\nEmail: amit.wh@gmail.com\nLicense: MIT\n\nFeatures:\n• Modern glassmorphism UI with gradient backgrounds\n• Comprehensive PDF Editor (merge, split, compress, rotate, watermark, encrypt)\n• Universal File Converter (LibreOffice, ImageMagick, FFmpeg, Pandoc)\n• Windows Explorer context menu integration\n• Tabbed interface for multiple files\n• Advanced markdown editing with live preview\n• Real-time preview updates while typing\n• Full toolbar markdown editing functions\n• Enhanced PDF export with built-in Electron fallback\n• File association support for .md files\n• Command-line interface for batch conversion\n• Advanced export options with templates and metadata\n• Batch file conversion with progress tracking\n• Improved preview typography and spacing\n• Adjustable font sizes via menu (Ctrl+Shift+Plus/Minus)\n• Complete theme support including Monokai fixes\n• Find & replace with match highlighting\n• Line numbers and auto-indentation\n• Export to multiple formats via Pandoc\n• PowerPoint & presentation export\n• Export tables to Excel/ODS spreadsheets\n• Document import & conversion\n• Table creation helper\n• 19 beautiful themes (including Dracula, Nord, Tokyo Night, Gruvbox, Ayu, and more)\n• Undo/redo functionality\n• Live word count and statistics',
|
detail: 'A cross-platform Markdown editor and converter using Pandoc.\n\nVersion: 1.7.3\nAuthor: Amit Haridas\nEmail: amit.wh@gmail.com\nLicense: MIT\n\nFeatures:\n• Modern glassmorphism UI with gradient backgrounds\n• Comprehensive PDF Editor (merge, split, compress, rotate, watermark, encrypt)\n• Universal File Converter (LibreOffice, ImageMagick, FFmpeg, Pandoc)\n• Windows Explorer context menu integration\n• Tabbed interface for multiple files\n• Advanced markdown editing with live preview\n• Real-time preview updates while typing\n• Full toolbar markdown editing functions\n• Enhanced PDF export with built-in Electron fallback\n• File association support for .md files\n• Command-line interface for batch conversion\n• Advanced export options with templates and metadata\n• Batch file conversion with progress tracking\n• Improved preview typography and spacing\n• Adjustable font sizes via menu (Ctrl+Shift+Plus/Minus)\n• Complete theme support including Monokai fixes\n• Find & replace with match highlighting\n• Line numbers and auto-indentation\n• Export to multiple formats via Pandoc\n• PowerPoint & presentation export\n• Export tables to Excel/ODS spreadsheets\n• Document import & conversion\n• Table creation helper\n• 22 beautiful themes (including Dracula, Nord, Tokyo Night, Gruvbox, Ayu, Concrete, and more)\n• Undo/redo functionality\n• Live word count and statistics',
|
||||||
buttons: ['OK']
|
buttons: ['OK']
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
+275
@@ -1629,6 +1629,10 @@ body.theme-dracula .editor-textarea {
|
|||||||
color: #f8f8f2;
|
color: #f8f8f2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-dracula .pane:last-child {
|
||||||
|
background: #282a36;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-dracula .preview-content {
|
body.theme-dracula .preview-content {
|
||||||
color: #f8f8f2;
|
color: #f8f8f2;
|
||||||
}
|
}
|
||||||
@@ -1698,6 +1702,10 @@ body.theme-nord .editor-textarea {
|
|||||||
color: #d8dee9;
|
color: #d8dee9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-nord .pane:last-child {
|
||||||
|
background: #2e3440;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-nord .preview-content {
|
body.theme-nord .preview-content {
|
||||||
color: #d8dee9;
|
color: #d8dee9;
|
||||||
}
|
}
|
||||||
@@ -1767,6 +1775,10 @@ body.theme-onedark .editor-textarea {
|
|||||||
color: #abb2bf;
|
color: #abb2bf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-onedark .pane:last-child {
|
||||||
|
background: #282c34;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-onedark .preview-content {
|
body.theme-onedark .preview-content {
|
||||||
color: #abb2bf;
|
color: #abb2bf;
|
||||||
}
|
}
|
||||||
@@ -1836,6 +1848,10 @@ body.theme-atomonelight .editor-textarea {
|
|||||||
color: #383a42;
|
color: #383a42;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-atomonelight .pane:last-child {
|
||||||
|
background: #fafafa;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-atomonelight .preview-content {
|
body.theme-atomonelight .preview-content {
|
||||||
color: #383a42;
|
color: #383a42;
|
||||||
}
|
}
|
||||||
@@ -1905,6 +1921,10 @@ body.theme-material .editor-textarea {
|
|||||||
color: #eeffff;
|
color: #eeffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-material .pane:last-child {
|
||||||
|
background: #263238;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-material .preview-content {
|
body.theme-material .preview-content {
|
||||||
color: #eeffff;
|
color: #eeffff;
|
||||||
}
|
}
|
||||||
@@ -1974,6 +1994,10 @@ body.theme-gruvbox-dark .editor-textarea {
|
|||||||
color: #ebdbb2;
|
color: #ebdbb2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-gruvbox-dark .pane:last-child {
|
||||||
|
background: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-gruvbox-dark .preview-content {
|
body.theme-gruvbox-dark .preview-content {
|
||||||
color: #ebdbb2;
|
color: #ebdbb2;
|
||||||
}
|
}
|
||||||
@@ -2043,6 +2067,10 @@ body.theme-gruvbox-light .editor-textarea {
|
|||||||
color: #3c3836;
|
color: #3c3836;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-gruvbox-light .pane:last-child {
|
||||||
|
background: #fbf1c7;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-gruvbox-light .preview-content {
|
body.theme-gruvbox-light .preview-content {
|
||||||
color: #3c3836;
|
color: #3c3836;
|
||||||
}
|
}
|
||||||
@@ -2112,6 +2140,10 @@ body.theme-tokyonight .editor-textarea {
|
|||||||
color: #c0caf5;
|
color: #c0caf5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-tokyonight .pane:last-child {
|
||||||
|
background: #1a1b26;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-tokyonight .preview-content {
|
body.theme-tokyonight .preview-content {
|
||||||
color: #c0caf5;
|
color: #c0caf5;
|
||||||
}
|
}
|
||||||
@@ -2181,6 +2213,10 @@ body.theme-palenight .editor-textarea {
|
|||||||
color: #a6accd;
|
color: #a6accd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-palenight .pane:last-child {
|
||||||
|
background: #292d3e;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-palenight .preview-content {
|
body.theme-palenight .preview-content {
|
||||||
color: #a6accd;
|
color: #a6accd;
|
||||||
}
|
}
|
||||||
@@ -2250,6 +2286,10 @@ body.theme-ayu-dark .editor-textarea {
|
|||||||
color: #b3b1ad;
|
color: #b3b1ad;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-ayu-dark .pane:last-child {
|
||||||
|
background: #0a0e14;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-ayu-dark .preview-content {
|
body.theme-ayu-dark .preview-content {
|
||||||
color: #b3b1ad;
|
color: #b3b1ad;
|
||||||
}
|
}
|
||||||
@@ -2319,6 +2359,10 @@ body.theme-ayu-light .editor-textarea {
|
|||||||
color: #5c6166;
|
color: #5c6166;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-ayu-light .pane:last-child {
|
||||||
|
background: #fafafa;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-ayu-light .preview-content {
|
body.theme-ayu-light .preview-content {
|
||||||
color: #5c6166;
|
color: #5c6166;
|
||||||
}
|
}
|
||||||
@@ -2388,6 +2432,10 @@ body.theme-ayu-mirage .editor-textarea {
|
|||||||
color: #cbccc6;
|
color: #cbccc6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-ayu-mirage .pane:last-child {
|
||||||
|
background: #1f2430;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-ayu-mirage .preview-content {
|
body.theme-ayu-mirage .preview-content {
|
||||||
color: #cbccc6;
|
color: #cbccc6;
|
||||||
}
|
}
|
||||||
@@ -2457,6 +2505,10 @@ body.theme-oceanic-next .editor-textarea {
|
|||||||
color: #cdd3de;
|
color: #cdd3de;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-oceanic-next .pane:last-child {
|
||||||
|
background: #1b2b34;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-oceanic-next .preview-content {
|
body.theme-oceanic-next .preview-content {
|
||||||
color: #cdd3de;
|
color: #cdd3de;
|
||||||
}
|
}
|
||||||
@@ -2526,6 +2578,10 @@ body.theme-cobalt2 .editor-textarea {
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.theme-cobalt2 .pane:last-child {
|
||||||
|
background: #193549;
|
||||||
|
}
|
||||||
|
|
||||||
body.theme-cobalt2 .preview-content {
|
body.theme-cobalt2 .preview-content {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
@@ -2552,4 +2608,223 @@ body.theme-cobalt2 .status-bar {
|
|||||||
background: #15232d;
|
background: #15232d;
|
||||||
border-top-color: #2a4a5d;
|
border-top-color: #2a4a5d;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme: Concrete Dark - ConcreteInfo branded dark theme */
|
||||||
|
body.theme-concrete-dark {
|
||||||
|
background: #0d0b09;
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .tab-bar {
|
||||||
|
background: #1a1816;
|
||||||
|
border-bottom-color: #464646;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .tab {
|
||||||
|
background: #464646;
|
||||||
|
border-color: #9a9696;
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .tab.active {
|
||||||
|
background: #0d0b09;
|
||||||
|
border-color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .toolbar {
|
||||||
|
background: #1a1816;
|
||||||
|
border-bottom-color: #464646;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .toolbar button {
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .toolbar button:hover {
|
||||||
|
background: #464646;
|
||||||
|
border-color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .editor-textarea {
|
||||||
|
background: #0d0b09;
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .pane:last-child {
|
||||||
|
background: #0d0b09;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .preview-content {
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .preview-content h1,
|
||||||
|
body.theme-concrete-dark .preview-content h2 {
|
||||||
|
border-bottom-color: #464646;
|
||||||
|
color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .preview-content code {
|
||||||
|
background-color: #464646;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .preview-content pre {
|
||||||
|
background-color: #464646;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .preview-content a {
|
||||||
|
color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-dark .status-bar {
|
||||||
|
background: #1a1816;
|
||||||
|
border-top-color: #464646;
|
||||||
|
color: #9a9696;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme: Concrete Light - ConcreteInfo branded light theme */
|
||||||
|
body.theme-concrete-light {
|
||||||
|
background: #fafafa;
|
||||||
|
color: #0d0b09;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .tab-bar {
|
||||||
|
background: #e3e3e3;
|
||||||
|
border-bottom-color: #9a9696;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .tab {
|
||||||
|
background: #e3e3e3;
|
||||||
|
border-color: #9a9696;
|
||||||
|
color: #0d0b09;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .tab.active {
|
||||||
|
background: #fafafa;
|
||||||
|
border-color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .toolbar {
|
||||||
|
background: #e3e3e3;
|
||||||
|
border-bottom-color: #9a9696;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .toolbar button {
|
||||||
|
color: #0d0b09;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .toolbar button:hover {
|
||||||
|
background: #9a9696;
|
||||||
|
border-color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .editor-textarea {
|
||||||
|
background: #fafafa;
|
||||||
|
color: #0d0b09;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .pane:last-child {
|
||||||
|
background: #fafafa;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .preview-content {
|
||||||
|
color: #0d0b09;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .preview-content h1,
|
||||||
|
body.theme-concrete-light .preview-content h2 {
|
||||||
|
border-bottom-color: #9a9696;
|
||||||
|
color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .preview-content code {
|
||||||
|
background-color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .preview-content pre {
|
||||||
|
background-color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .preview-content a {
|
||||||
|
color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-light .status-bar {
|
||||||
|
background: #e3e3e3;
|
||||||
|
border-top-color: #9a9696;
|
||||||
|
color: #464646;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme: Concrete Warm - ConcreteInfo branded warm theme */
|
||||||
|
body.theme-concrete-warm {
|
||||||
|
background: #464646;
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .tab-bar {
|
||||||
|
background: #3a3836;
|
||||||
|
border-bottom-color: #9a9696;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .tab {
|
||||||
|
background: #9a9696;
|
||||||
|
border-color: #e3e3e3;
|
||||||
|
color: #0d0b09;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .tab.active {
|
||||||
|
background: #464646;
|
||||||
|
border-color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .toolbar {
|
||||||
|
background: #3a3836;
|
||||||
|
border-bottom-color: #9a9696;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .toolbar button {
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .toolbar button:hover {
|
||||||
|
background: #9a9696;
|
||||||
|
border-color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .editor-textarea {
|
||||||
|
background: #464646;
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .pane:last-child {
|
||||||
|
background: #464646;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .preview-content {
|
||||||
|
color: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .preview-content h1,
|
||||||
|
body.theme-concrete-warm .preview-content h2 {
|
||||||
|
border-bottom-color: #9a9696;
|
||||||
|
color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .preview-content code {
|
||||||
|
background-color: #3a3836;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .preview-content pre {
|
||||||
|
background-color: #3a3836;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .preview-content a {
|
||||||
|
color: #e5461f;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.theme-concrete-warm .status-bar {
|
||||||
|
background: #3a3836;
|
||||||
|
border-top-color: #9a9696;
|
||||||
|
color: #e3e3e3;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user