diff --git a/docs/KEYBINDINGS_LINUX.md b/docs/KEYBINDINGS_LINUX.md
index b9341958..67d70110 100644
--- a/docs/KEYBINDINGS_LINUX.md
+++ b/docs/KEYBINDINGS_LINUX.md
@@ -6,21 +6,22 @@ MarkText key bindings for Linux. Please see [general key bindings](KEYBINDINGS.m
#### File menu
-| Id | Default | Description |
-|:------------------- | --------------------------------------------- | ------------------------------------- |
-| `file.new-window` | Ctrl+N | New window |
-| `file.new-tab` | Ctrl+T | New tab |
-| `file.open-file` | Ctrl+O | Open markdown file |
-| `file.open-folder` | Ctrl+Shift+O | Open folder |
-| `file.save` | Ctrl+S | Save |
-| `file.save-as` | Ctrl+Shift+S | Save as... |
-| `file.move-file` | - | Move current file to another location |
-| `file.rename-file` | - | Rename current file |
-| `file.print` | - | Print current tab |
-| `file.preferences` | Ctrl+, | Open settings window |
-| `file.close-tab` | Ctrl+W | Close tab |
-| `file.close-window` | Ctrl+Shift+W | Close window |
-| `file.quit` | Ctrl+Q | Quit MarkText |
+| Id | Default | Description |
+|:---------------------- | --------------------------------------------- | ------------------------------------- |
+| `file.new-window` | Ctrl+N | New window |
+| `file.new-tab` | Ctrl+T | New tab |
+| `file.open-file` | Ctrl+O | Open markdown file |
+| `file.open-folder` | Ctrl+Shift+O | Open folder |
+| `file.save` | Ctrl+S | Save |
+| `file.save-as` | Ctrl+Shift+S | Save as... |
+| `file.export-file.pdf` | Ctrl+Alt+E | Export file as PDF |
+| `file.move-file` | - | Move current file to another location |
+| `file.rename-file` | - | Rename current file |
+| `file.print` | - | Print current tab |
+| `file.preferences` | Ctrl+, | Open settings window |
+| `file.close-tab` | Ctrl+W | Close tab |
+| `file.close-window` | Ctrl+Shift+W | Close window |
+| `file.quit` | Ctrl+Q | Quit MarkText |
#### Edit menu
diff --git a/docs/KEYBINDINGS_OSX.md b/docs/KEYBINDINGS_OSX.md
index b26c4e5d..d18ed2d3 100644
--- a/docs/KEYBINDINGS_OSX.md
+++ b/docs/KEYBINDINGS_OSX.md
@@ -15,19 +15,20 @@ MarkText key bindings for macOS. Please see [general key bindings](KEYBINDINGS.m
#### File menu
-| Id | Default | Description |
-|:------------------- | ------------------------------------------------ | ------------------------------------- |
-| `file.new-window` | Command+N | New window |
-| `file.new-tab` | Command+T | New tab |
-| `file.open-file` | Command+O | Open markdown file |
-| `file.open-folder` | Command+Shift+O | Open folder |
-| `file.save` | Command+S | Save |
-| `file.save-as` | Command+Shift+S | Save as... |
-| `file.move-file` | - | Move current file to another location |
-| `file.rename-file` | - | Rename current file |
-| `file.print` | - | Print current tab |
-| `file.close-tab` | Command+W | Close tab |
-| `file.close-window` | Command+Shift+W | Close window |
+| Id | Default | Description |
+|:---------------------- | ------------------------------------------------ | ------------------------------------- |
+| `file.new-window` | Command+N | New window |
+| `file.new-tab` | Command+T | New tab |
+| `file.open-file` | Command+O | Open markdown file |
+| `file.open-folder` | Command+Shift+O | Open folder |
+| `file.save` | Command+S | Save |
+| `file.save-as` | Command+Shift+S | Save as... |
+| `file.export-file.pdf` | Ctrl+Alt+E | Export file as PDF |
+| `file.move-file` | - | Move current file to another location |
+| `file.rename-file` | - | Rename current file |
+| `file.print` | - | Print current tab |
+| `file.close-tab` | Command+W | Close tab |
+| `file.close-window` | Command+Shift+W | Close window |
#### Edit menu
diff --git a/docs/KEYBINDINGS_WINDOWS.md b/docs/KEYBINDINGS_WINDOWS.md
index c639686c..2d230544 100644
--- a/docs/KEYBINDINGS_WINDOWS.md
+++ b/docs/KEYBINDINGS_WINDOWS.md
@@ -6,21 +6,22 @@ MarkText key bindings for Windows. Please see [general key bindings](KEYBINDINGS
#### File menu
-| Id | Default | Description |
-|:------------------- | --------------------------------------------- | ------------------------------------- |
-| `file.new-window` | Ctrl+N | New window |
-| `file.new-tab` | Ctrl+T | New tab |
-| `file.open-file` | Ctrl+O | Open markdown file |
-| `file.open-folder` | Ctrl+Shift+O | Open folder |
-| `file.save` | Ctrl+S | Save |
-| `file.save-as` | Ctrl+Shift+S | Save as... |
-| `file.move-file` | - | Move current file to another location |
-| `file.rename-file` | - | Rename current file |
-| `file.print` | - | Print current tab |
-| `file.preferences` | Ctrl+, | Open settings window |
-| `file.close-tab` | Ctrl+W | Close tab |
-| `file.close-window` | Ctrl+Shift+W | Close window |
-| `file.quit` | Ctrl+Q | Quit MarkText |
+| Id | Default | Description |
+|:---------------------- | --------------------------------------------- | ------------------------------------- |
+| `file.new-window` | Ctrl+N | New window |
+| `file.new-tab` | Ctrl+T | New tab |
+| `file.open-file` | Ctrl+O | Open markdown file |
+| `file.open-folder` | Ctrl+Shift+O | Open folder |
+| `file.save` | Ctrl+S | Save |
+| `file.save-as` | Ctrl+Shift+S | Save as... |
+| `file.export-file.pdf` | Ctrl+Alt+E | Export file as PDF |
+| `file.move-file` | - | Move current file to another location |
+| `file.rename-file` | - | Rename current file |
+| `file.print` | - | Print current tab |
+| `file.preferences` | Ctrl+, | Open settings window |
+| `file.close-tab` | Ctrl+W | Close tab |
+| `file.close-window` | Ctrl+Shift+W | Close window |
+| `file.quit` | Ctrl+Q | Quit MarkText |
#### Edit menu
diff --git a/src/common/commands/constants.js b/src/common/commands/constants.js
index aa869497..67b8117f 100644
--- a/src/common/commands/constants.js
+++ b/src/common/commands/constants.js
@@ -35,6 +35,7 @@ const COMMANDS = Object.freeze({
FILE_RENAME_FILE: 'file.rename-file',
FILE_SAVE: 'file.save',
FILE_SAVE_AS: 'file.save-as',
+ FILE_EXPORT_FILE_PDF: 'file.export-file.pdf',
// FILE_TOGGLE_AUTO_SAVE: 'file.toggle-auto-save',
FORMAT_CLEAR_FORMAT: 'format.clear-format',
diff --git a/src/main/keyboard/keybindingsDarwin.js b/src/main/keyboard/keybindingsDarwin.js
index 03963aa8..d8c11e1b 100644
--- a/src/main/keyboard/keybindingsDarwin.js
+++ b/src/main/keyboard/keybindingsDarwin.js
@@ -23,6 +23,9 @@ export default new Map([
['file.close-window', 'Command+Shift+W'],
['file.quit', 'Command+Q'],
+ // File > Export submenu
+ ['file.export-file.pdf', 'Ctrl+Alt+E'],
+
// Edit menu
['edit.undo', 'Command+Z'],
['edit.redo', 'Command+Shift+Z'],
diff --git a/src/main/keyboard/keybindingsLinux.js b/src/main/keyboard/keybindingsLinux.js
index 6329b2f8..bafb7cdd 100644
--- a/src/main/keyboard/keybindingsLinux.js
+++ b/src/main/keyboard/keybindingsLinux.js
@@ -27,6 +27,9 @@ export default new Map([
['file.close-window', 'Ctrl+Shift+W'],
['file.quit', 'Ctrl+Q'],
+ // File > Export submenu
+ ['file.export-file.pdf', 'Ctrl+Alt+E'],
+
// Edit menu
['edit.undo', 'Ctrl+Z'],
['edit.redo', 'Ctrl+Shift+Z'],
diff --git a/src/main/keyboard/keybindingsWindows.js b/src/main/keyboard/keybindingsWindows.js
index eaada384..e98fa6e6 100644
--- a/src/main/keyboard/keybindingsWindows.js
+++ b/src/main/keyboard/keybindingsWindows.js
@@ -24,6 +24,9 @@ export default new Map([
['file.close-window', 'Ctrl+Shift+W'],
['file.quit', 'Ctrl+Q'],
+ // File > Export submenu
+ ['file.export-file.pdf', 'Ctrl+Alt+E'],
+
// Edit menu
['edit.undo', 'Ctrl+Z'],
['edit.redo', 'Ctrl+Shift+Z'],
diff --git a/src/main/menu/actions/file.js b/src/main/menu/actions/file.js
index b743735a..070a0697 100644
--- a/src/main/menu/actions/file.js
+++ b/src/main/menu/actions/file.js
@@ -580,6 +580,12 @@ export const saveAs = win => {
}
}
+export const exportPDF = win => {
+ if (win && win.webContents) {
+ exportFile(win, 'pdf')
+ }
+}
+
export const autoSave = (menuItem, browserWindow) => {
const { checked } = menuItem
ipcMain.emit('set-user-preference', { autoSave: checked })
@@ -620,4 +626,5 @@ export const loadFileCommands = commandManager => {
commandManager.add(COMMANDS.FILE_RENAME_FILE, rename)
commandManager.add(COMMANDS.FILE_SAVE, save)
commandManager.add(COMMANDS.FILE_SAVE_AS, saveAs)
+ commandManager.add(COMMANDS.FILE_EXPORT_FILE_PDF, exportPDF)
}
diff --git a/src/main/menu/templates/file.js b/src/main/menu/templates/file.js
index b62ac0c3..d1864559 100755
--- a/src/main/menu/templates/file.js
+++ b/src/main/menu/templates/file.js
@@ -126,6 +126,7 @@ export default function (keybindings, userPreference, recentlyUsedFiles) {
}
}, {
label: 'PDF',
+ accelerator: keybindings.getAccelerator('file.export-file.pdf'),
click (menuItem, browserWindow) {
actions.exportFile(browserWindow, 'pdf')
}
diff --git a/src/renderer/commands/descriptions.js b/src/renderer/commands/descriptions.js
index 4a58e0d3..3a0baba6 100644
--- a/src/renderer/commands/descriptions.js
+++ b/src/renderer/commands/descriptions.js
@@ -111,6 +111,7 @@ const commandDescriptions = Object.freeze({
'file.toggle-auto-save': 'File: Toggle Auto Save',
'file.import-file': 'File: Import...',
'file.export-file': 'File: Export...',
+ 'file.export-file.pdf': 'File: Export as PDF...',
'file.zoom': 'Window: Zoom...',
'file.check-update': 'MarkText: Check for Updates...',
'paragraph.reset-paragraph': 'Paragraph: Transform into Paragraph',