From 65c969a32169970fd80db5792e9da7eb96756f63 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Mon, 18 Apr 2016 04:37:00 +0900 Subject: [PATCH 001/109] move devtool to main-menu --- browser/main/index.js | 9 --------- lib/main-menu.js | 10 ++++++++++ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/browser/main/index.js b/browser/main/index.js index 96cb5edb..6b146c27 100644 --- a/browser/main/index.js +++ b/browser/main/index.js @@ -10,15 +10,6 @@ import activityRecord from 'browser/lib/activityRecord' const electron = require('electron') const ipc = electron.ipcRenderer const path = require('path') -const remote = electron.remote - -if (process.env.NODE_ENV !== 'production') { - window.addEventListener('keydown', function (e) { - if (e.keyCode === 73 && e.metaKey && e.altKey) { - remote.getCurrentWindow().toggleDevTools() - } - }) -} activityRecord.init() window.addEventListener('online', function () { diff --git a/lib/main-menu.js b/lib/main-menu.js index 678dfaa9..6accf63b 100644 --- a/lib/main-menu.js +++ b/lib/main-menu.js @@ -146,6 +146,16 @@ var view = { click: function () { BrowserWindow.getFocusedWindow().reload() } + }, + { + label: 'Toggle Developer Tools', + accelerator: (function () { + if (process.platform === 'darwin') return 'Command+Alt+I' + else return 'Ctrl+Shift+I' + })(), + click: function () { + BrowserWindow.getFocusedWindow().toggleDevTools() + } } ] } From d878028dccc28d75449e0503ae6b6da9f6557d77 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Mon, 18 Apr 2016 04:39:53 +0900 Subject: [PATCH 002/109] add season & css modules --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 8f844d8e..ffa5b826 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "markdown-it-math": "^3.0.2", "md5": "^2.0.0", "moment": "^2.10.3", + "season": "^5.3.0", "superagent": "^1.2.0", "superagent-promise": "^1.0.3" }, @@ -64,6 +65,7 @@ "history": "^1.17.0", "nib": "^1.1.0", "react": "^0.14.3", + "react-css-modules": "^3.7.6", "react-dom": "^0.14.3", "react-redux": "^4.0.6", "redux": "^3.0.5", From 948377ba9371c27e56001ede7d8896aa22b0ce94 Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Mon, 18 Apr 2016 05:47:13 +0900 Subject: [PATCH 003/109] Use browser target dist of react stuff for faster compile --- gruntfile.js | 26 ++++++++++++++++++++++++++ lib/finder.html | 4 ++++ lib/main.html | 4 ++++ package.json | 5 +++-- webpack-skeleton.js | 17 +++++++++++++++-- 5 files changed, 52 insertions(+), 4 deletions(-) diff --git a/gruntfile.js b/gruntfile.js index e4ab430f..e2cb3cfc 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -1,6 +1,8 @@ const path = require('path') const ChildProcess = require('child_process') const packager = require('electron-packager') +const fs = require('fs') +const merge = require('merge-stream') module.exports = function (grunt) { var auth_code @@ -55,6 +57,30 @@ module.exports = function (grunt) { grunt.loadNpmTasks('grunt-electron-installer') grunt.loadNpmTasks('grunt-electron-installer-debian') + grunt.registerTask('copy', function () { + var done = this.async() + var targetPaths = [ + 'node_modules/react/dist/react.min.js', + 'node_modules/react-dom/dist/react-dom.min.js', + 'node_modules/react-redux/dist/react-redux.min.js', + 'node_modules/redux/dist/redux.min.js' + ] + + var merged = merge() + targetPaths.forEach(function (targetPath) { + var read = fs + .createReadStream(path.resolve(__dirname, targetPath)) + var write = fs.createWriteStream(path.resolve(__dirname, 'compiled', path.basename(targetPath))) + read.pipe(write) + merged.add(read) + }) + + merged + .on('end', function () { + done() + }) + }) + grunt.registerTask('compile', function () { var done = this.async() var execPath = path.join('node_modules', '.bin', 'webpack') + ' --config webpack-production.config.js' diff --git a/lib/finder.html b/lib/finder.html index c802dd3d..50412a5d 100644 --- a/lib/finder.html +++ b/lib/finder.html @@ -29,6 +29,10 @@
+ + + + + + + + - - - - + + + + + + + ` + this.refs.root.contentWindow.document.body.innerHTML = markdown(value) + + Array.prototype.forEach.call(this.refs.root.contentWindow.document.querySelectorAll('a'), (el) => { + el.addEventListener('click', goExternal) }) } - removeListener () { - var anchors = ReactDOM.findDOMNode(this).querySelectorAll('a:not(.lineAnchor)') - var inputs = ReactDOM.findDOMNode(this).querySelectorAll('input') - - Array.prototype.forEach.call(anchors, anchor => { - anchor.removeEventListener('click', handleAnchorClick) - anchor.removeEventListener('mousedown', stopPropagation) - anchor.removeEventListener('mouseup', stopPropagation) - }) - Array.prototype.forEach.call(inputs, input => { - input.removeEventListener('click', stopPropagation) - }) - } - - handleClick (e) { - if (this.props.onClick) { - this.props.onClick(e) - } - } - - handleDoubleClick (e) { - if (this.props.onDoubleClick) { - this.props.onDoubleClick(e) - } - } - - handleMouseDown (e) { - if (this.props.onMouseDown) { - this.props.onMouseDown(e) - } - } - - handleMouseUp (e) { - if (this.props.onMouseUp) { - this.props.onMouseUp(e) - } - } - - handleMouseMove (e) { - if (this.props.onMouseMove) { - this.props.onMouseMove(e) - } - } - - handleConfigApply (e, config) { - this.setState({ - fontSize: config['preview-font-size'], - fontFamily: config['preview-font-family'], - lineNumber: config['preview-line-number'] - }) + focus () { + this.refs.root.focus() } render () { - let isEmpty = this.props.content.trim().length === 0 - let content = isEmpty - ? '(Empty content)' - : this.props.content - content = markdown(content) - content = sanitizeHtml(content, sanitizeOpts) - + let { className, style, tabIndex } = this.props return ( -
this.handleClick(e)} - onDoubleClick={e => this.handleDoubleClick(e)} - onMouseDown={e => this.handleMouseDown(e)} - onMouseMove={e => this.handleMouseMove(e)} - onMouseUp={e => this.handleMouseUp(e)} - dangerouslySetInnerHTML={{__html: ' ' + content}} - style={{ - fontSize: this.state.fontSize, - fontFamily: this.state.fontFamily.trim() + (OSX ? '' : ', meiryo, \'Microsoft YaHei\'') + ', helvetica, arial, sans-serif' - }} +