{"version":3,"sources":["jsdelivr-header.js","/npm/electron-markdownify@1.2.1/main.js"],"names":[],"mappings":"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","file":"/npm/electron-markdownify@1.2.1/main.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/electron-markdownify@1.2.1/main.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\r\n\r\nconst {app, Menu, dialog, shell, BrowserWindow} = require('electron');\r\n\r\nconst ipcMain = require('electron').ipcMain;\r\n\r\nconst ipc = app.ipcMain;\r\nconst fs = require('fs')\r\nconst os = require('os')\r\nconst path = require('path')\r\n\r\nconst mainPage = 'file://' + __dirname + '/index.html';\r\n\r\nconst tray = require('./tray');\r\nconst Config = require('./package.json');\r\nvar localShortcut = require('electron-localshortcut');\r\n\r\n// Keep a global reference of the window object, if you don't, the window will\r\n// be closed automatically when the JavaScript object is garbage collected.\r\nlet mainWindow;\r\nlet isQuitting = false;\r\n\r\nvar createWindow = () => {\r\n  // Create the browser window.\r\n  mainWindow = new BrowserWindow({width: 1400, height: 800, icon: __dirname+'/img/favicon.ico'});\r\n\r\n  // and load the index.html of the app.\r\n  mainWindow.loadURL(mainPage);\r\n\r\n  // Open the DevTools.\r\n  //mainWindow.webContents.openDevTools();\r\n\r\n  // Emitted when the window is closed.\r\n  mainWindow.on('closed', () => {\r\n    // Dereference the window object, usually you would store windows\r\n    // in an array if your app supports multi windows, this is the time\r\n    // when you should delete the corresponding element.\r\n    mainWindow = null;\r\n  });\r\n\r\n  mainWindow.on('close', e => {\r\n    if (!isQuitting) {\r\n      e.preventDefault();\r\n      if (process.platform === 'darwin') {\r\n        app.hide();\r\n      } else {\r\n        mainWindow.hide();\r\n      }\r\n    }\r\n  });\r\n\r\n  //Open anchor links in browser\r\n  mainWindow.webContents.on('will-navigate', (e, url) => {\r\n    e.preventDefault();\r\n    shell.openExternal(url);\r\n  });\r\n\r\n  //Set native menubar\r\n  var template = [\r\n    {\r\n      label: \"&File\",\r\n      submenu: [\r\n        {label: \"New\", accelerator: \"CmdOrCtrl+N\", click: () => {\r\n          var focusedWindow = BrowserWindow.getFocusedWindow();\r\n          focusedWindow.webContents.send('file-new');\r\n        }},\r\n        {label: \"Open\", accelerator: \"CmdOrCtrl+O\", click: () => {\r\n          let focusedWindow = BrowserWindow.getFocusedWindow();\r\n          focusedWindow.webContents.send('file-open');\r\n        }},\r\n        {label: \"Save\", accelerator: \"CmdOrCtrl+S\", click: () => {\r\n          let focusedWindow = BrowserWindow.getFocusedWindow();\r\n          focusedWindow.webContents.send('file-save');\r\n        }},\r\n        {label: \"Save As\", accelerator: \"CmdOrCtrl+Shift+S\", click: () => {\r\n          var focusedWindow = BrowserWindow.getFocusedWindow();\r\n          focusedWindow.webContents.send('file-save-as');\r\n        }},\r\n        {label: \"Save As PDF\", accelerator: \"CmdOrCtrl+Shift+P\", click: () => {\r\n          focusedWindow.webContents.send('file-pdf');\r\n        }},\r\n        {label: \"Quit\", accelerator: \"Command+Q\", click: app.quit}\r\n      ]\r\n    },\r\n    {\r\n      label: \"&Edit\",\r\n      submenu: [\r\n        {label: \"Undo\", accelerator: \"CmdOrCtrl+Z\", role: \"undo\"},\r\n        {label: \"Redo\", accelerator: \"Shift+CmdOrCtrl+Z\", role: \"redo\"},\r\n        {type: \"separator\"},\r\n        {label: \"Cut\", accelerator: \"CmdOrCtrl+X\", role: \"cut\"},\r\n        {label: \"Copy\", accelerator: \"CmdOrCtrl+C\", role: \"copy\"},\r\n        {label: \"Paste\", accelerator: \"CmdOrCtrl+V\", role: \"paste\"},\r\n        {label: \"Select All\", accelerator: \"CmdOrCtrl+A\", role: 'selectall'},\r\n        {type: \"separator\"},\r\n        {label: \"Search\", accelerator: \"CmdOrCtrl+F\", click: () => {\r\n          let focusedWindow = BrowserWindow.getFocusedWindow();\r\n          focusedWindow.webContents.send('ctrl+f');\r\n        }},\r\n        {label: \"Replace\", accelerator: \"CmdOrCtrl+Shift+F\", click: () => {\r\n          let focusedWindow = BrowserWindow.getFocusedWindow();\r\n          focusedWindow.webContents.send('ctrl+shift+f');\r\n        }}\r\n      ]\r\n    },\r\n    {\r\n      label: \"&View\",\r\n      submenu: [\r\n        {label: \"Toggle Full Screen\", accelerator:\"F11\", click: () => {\r\n          let focusedWindow = BrowserWindow.getFocusedWindow();\r\n          let isFullScreen = focusedWindow.isFullScreen();\r\n          focusedWindow.setFullScreen(!isFullScreen);\r\n        }}\r\n      ]\r\n    },\r\n    {\r\n      label: \"&Help\",\r\n      submenu: [\r\n        {label: \"Documentation\", click:  () => {\r\n          shell.openExternal(Config.repository.docs);\r\n        }},\r\n        {label: \"Report Issue\", click: () => {\r\n          shell.openExternal(Config.bugs.url);\r\n        }},\r\n        {label: \"About Markdownify\", click: () => {\r\n          dialog.showMessageBox({title: \"About Markdownify\", type:\"info\", message: \"A minimal Markdown Editor desktop app. \\nMIT Copyright (c) 2016 Amit Merchant <bullredeyes@gmail.com>\", buttons: [\"Close\"] });\r\n        }}\r\n      ]\r\n    }\r\n  ];\r\n\r\n  ipcMain.on('print-to-pdf', (event, filePath) => {\r\n\r\n    const win = BrowserWindow.fromWebContents(event.sender)\r\n    // Use default printing options\r\n    win.webContents.printToPDF({pageSize: 'A4'}, (error, data) => {\r\n      if (error) throw error\r\n      fs.writeFile(filePath, data, (error) => {\r\n        if (error) {\r\n          throw error\r\n        }\r\n      })\r\n    })\r\n\r\n  });\r\n\r\n  Menu.setApplicationMenu(Menu.buildFromTemplate(template));\r\n\r\n  // Registering shortcuts for formatting markdown\r\n  var focusedWindow = BrowserWindow.getFocusedWindow();\r\n  localShortcut.register('CmdOrCtrl+b', () => {\r\n      focusedWindow.webContents.send('ctrl+b');\r\n  });\r\n\r\n  localShortcut.register('CmdOrCtrl+i', () => {\r\n      focusedWindow.webContents.send('ctrl+i');\r\n  });\r\n\r\n  localShortcut.register('CmdOrCtrl+/', () => {\r\n      focusedWindow.webContents.send('ctrl+/');\r\n  });\r\n\r\n  localShortcut.register('CmdOrCtrl+l', () => {\r\n      focusedWindow.webContents.send('ctrl+l');\r\n  });\r\n\r\n  localShortcut.register('CmdOrCtrl+h', () => {\r\n      focusedWindow.webContents.send('ctrl+h');\r\n  });\r\n\r\n  localShortcut.register('CmdOrCtrl+Alt+i', () => {\r\n      focusedWindow.webContents.send('ctrl+alt+i');\r\n  });\r\n\r\n  localShortcut.register('CmdOrCtrl+Shift+t', () => {\r\n      focusedWindow.webContents.send('ctrl+shift+t');\r\n  });\r\n\r\n  tray.create(mainWindow);\r\n}\r\n\r\n// This method will be called when Electron has finished\r\n// initialization and is ready to create browser windows.\r\napp.on('ready', createWindow);\r\n\r\n// Quit when all windows are closed.\r\napp.on('window-all-closed', () => {\r\n  // On OS X it is common for applications and their menu bar\r\n  // to stay active until the user quits explicitly with Cmd + Q\r\n  if (process.platform !== 'darwin') {\r\n    app.quit();\r\n  }\r\n});\r\n\r\napp.on('activate', () => {\r\n  // On OS X it's common to re-create a window in the app when the\r\n  // dock icon is clicked and there are no other windows open.\r\n  if (mainWindow === null) {\r\n    createWindow();\r\n  }\r\n});\r\n\r\napp.on('before-quit', () => {\r\n  isQuitting = true;\r\n});\r\n"]}