From 58adfa83d7df0d34e309f555793d4d6ced807ab8 Mon Sep 17 00:00:00 2001 From: Michael Ciniawsky Date: Wed, 10 Feb 2016 21:19:01 +0100 Subject: [PATCH] first release, add test/example --- README.md | 9 +++++--- index.js | 29 ++++++++++++------------ package.json | 2 +- test/.editorconfig | 15 +++++++++++++ test/.gitattributes | 1 + test/.gitignore | 11 +++++++++ test/LICENSE | 21 ++++++++++++++++++ test/README.md | 23 +++++++++++++++++++ test/client/gir.jpg | Bin 0 -> 14035 bytes test/client/include/section.html | 5 +++++ test/client/index.css | 28 +++++++++++++++++++++++ test/client/index.html | 24 ++++++++++++++++++++ test/client/index.js | 30 +++++++++++++++++++++++++ test/index.js | 34 ++++++++++++++++++++++++++++ test/package.json | 37 +++++++++++++++++++++++++++++++ 15 files changed, 251 insertions(+), 18 deletions(-) create mode 100644 test/.editorconfig create mode 100644 test/.gitattributes create mode 100644 test/.gitignore create mode 100644 test/LICENSE create mode 100644 test/README.md create mode 100644 test/client/gir.jpg create mode 100644 test/client/include/section.html create mode 100644 test/client/index.css create mode 100644 test/client/index.html create mode 100644 test/client/index.js create mode 100644 test/index.js create mode 100644 test/package.json diff --git a/README.md b/README.md index 9ddc7fd..61aaf1f 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,16 @@ File Interceptor for [Electron](electron.atom.io) ```javascript var app = require('electron').app -var posthtml = require('electron-posthtml')([/* PostHTML Plugins */]) - var BrowserWindow = require('electron').BrowserWindow -app.on('ready', function () { +var posthtml = require('electron-posthtml')([/* PostHTML Plugins */]) + +app.on('ready', () => { view = new BrowserWindow({ width: 800, height: 600 }) view.loadUrl('file://' + __dirname + '/index.html') }) ``` + +# Example +[Test](https://github.com/michael-ciniawsky/electron-posthtml//tree/master/test) diff --git a/index.js b/index.js index 96cec87..669f642 100644 --- a/index.js +++ b/index.js @@ -13,8 +13,8 @@ var getPath = function (url) { var parsed = require('url').parse(url) var result = parsed.pathname - // Local files in windows start with slash if no host is given - // file:///c:/file.html + // Local files in windows start with a slash if no host is given + // file:///C:/file.html if (process.platform === 'win32' && !parsed.host.trim()) { result = result.substr(1) } @@ -23,26 +23,27 @@ var getPath = function (url) { } module.exports = function (plugins) { + plugins = plugins || [] + app.on('ready', function () { - var protocol = require('electron').protocol - var plugins = plugins || [] + const protocol = require('electron').protocol - protocol.interceptBufferProtocol('file', (request, callback) => { + protocol.interceptBufferProtocol('file', function (request, callback) { var file = getPath(request.url) - var content = null + var source = null - // See if file actually exists + // Check if file exists try { - content = fs.readFileSync(file) + source = fs.readFileSync(file) var ext = path.extname(file) if (ext === '.html') { - var compiled = posthtml(plugins).process(file).then(result => result.html) - - return callback({data: new Buffer(compiled), mimeType:'text/html'}) + posthtml(plugins) + .process(source) + .then(result => callback({data: new Buffer(result.html), mimeType: 'text/html'})) } else { - return callback({data: content, mimeType: mime.lookup(ext)}) + return callback({data: source, mimeType: mime.lookup(ext)}) } } catch (e) { // See here for error numbers: @@ -58,9 +59,9 @@ module.exports = function (plugins) { } }, (error, scheme) => { if (!error) { - console.log('PostHTML interceptor success') + console.log('PostHTML loaded') } else { - console.error('PostHTML interceptor error:', error) + console.error('PostHTML error:', error) } }) }) diff --git a/package.json b/package.json index 6127c51..a5f6daa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "electron-posthtml", - "version": "0.0.3", + "version": "0.8.0", "description": "PostHTML file interceptor for Electron", "main": "index.js", "dependencies": { diff --git a/test/.editorconfig b/test/.editorconfig new file mode 100644 index 0000000..8f9d77e --- /dev/null +++ b/test/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[{package.json,*.yml}] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/test/.gitattributes b/test/.gitattributes new file mode 100644 index 0000000..176a458 --- /dev/null +++ b/test/.gitattributes @@ -0,0 +1 @@ +* text=auto diff --git a/test/.gitignore b/test/.gitignore new file mode 100644 index 0000000..3e1514d --- /dev/null +++ b/test/.gitignore @@ -0,0 +1,11 @@ +# OS + +._* +.DS_Store + +# NodeJS + +npm-debug.log + +node_modules +bower_components diff --git a/test/LICENSE b/test/LICENSE new file mode 100644 index 0000000..c1776e3 --- /dev/null +++ b/test/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Michael Ciniawsky (http://michael-ciniawsky.de) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/test/README.md b/test/README.md new file mode 100644 index 0000000..83670cd --- /dev/null +++ b/test/README.md @@ -0,0 +1,23 @@ +# PostHTML Electron +## Install + +``` +$ sudo npm i +``` + +## Start + +``` +$ npm start +``` + +## Build + +``` +$ npm run build +``` + +Builds the app for OS X, Linux, and Windows, using [electron-packager](https://github.com/maxogden/electron-packager). + +## License +MIT © [Michael Ciniawsky](http://michael-ciniawsky.de) diff --git a/test/client/gir.jpg b/test/client/gir.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16ce1b9e4159a4337fdf94787a570e3104c63f8a GIT binary patch literal 14035 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 mxlf)rP;qKTui9nk@&EeBByfBp_5KP)HUF#r) +

Component

+
Section
+
Section modified
+ \ No newline at end of file diff --git a/test/client/index.css b/test/client/index.css new file mode 100644 index 0000000..bbb7b32 --- /dev/null +++ b/test/client/index.css @@ -0,0 +1,28 @@ +header { + display: flex; + align-items: center; + justify-content: center + + width: 500px; + height: 250px; + + color: white + text-align: center; +} + +header h1 { + font-size: 2rem; + font-weight: 100; + font-family: 'Helvetica Neue', Helvetica, sans-serif; +} + +main { + display: flex; + align-items: center; + justify-content: center +} + +main img { + width: 200px; + height: 200px; +} diff --git a/test/client/index.html b/test/client/index.html new file mode 100644 index 0000000..12cc0c9 --- /dev/null +++ b/test/client/index.html @@ -0,0 +1,24 @@ + + + + + + Electron + + + + +
+
+

Gir's Electron Boilerplate

+
+
+ Gir + +
+
+ + + + + \ No newline at end of file diff --git a/test/client/index.js b/test/client/index.js new file mode 100644 index 0000000..3d14c90 --- /dev/null +++ b/test/client/index.js @@ -0,0 +1,30 @@ +// 'use strict' +// +// const remote = require('electron').remote +// const Menu = remote.Menu +// const MenuItem = remote.MenuItem +// +// let menu = new Menu() +// +// menu.append(new MenuItem({ +// label: 'Electron' +// })) +// menu.append(new MenuItem({ +// type: 'separator' +// })) +// menu.append(new MenuItem({ +// label: 'Menu', type: 'checkbox', checked: true +// })) +// +// window.addEventListener('contextmenu', (e) => { +// e.preventDefault() +// menu.popup(remote.getCurrentWindow()) +// }, false) +// +// let notification = new Notification('Title', { +// body: 'Lorem Ipsum Dolor Sit Amet' +// }) +// +// notification.onclick = () => { +// console.log('Notification clicked') +// } diff --git a/test/index.js b/test/index.js new file mode 100644 index 0000000..60361a8 --- /dev/null +++ b/test/index.js @@ -0,0 +1,34 @@ +'use strict' + +var app = require('electron').app + +var bem = require('posthtml-bem') +var include = require('posthtml-include') + +var posthtml = require('electron-posthtml')([include({root: './client/'}), bem()]) + +const BrowserWindow = require('electron').BrowserWindow + +// require('electron').crashReporter.start() + +app.on('ready', () => { + // Main Window + let main = new BrowserWindow({ + width: 1200, + height: 900, + position: 'center', + resizable: true, + frame: false + }) + main.loadURL(`file://${__dirname}/client/index.html`) + main.webContents.openDevTools() + main.on('closed', () => { + main = null + }) +}) + +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + app.quit() + } +}) diff --git a/test/package.json b/test/package.json new file mode 100644 index 0000000..4f42b8b --- /dev/null +++ b/test/package.json @@ -0,0 +1,37 @@ +{ + "name": "electron", + "version": "0.36.7", + "description": "Electron Boilerplate", + "license": "MIT", + "main": "index.js", + "files": [ + "client/index.js", + "client/index.html", + "client/index.css" + ], + "engines": { + "node": ">=4" + }, + "scripts": { + "start": "electron .", + "build": "electron-packager . $npm_package_productName --out=dist --ignore=dist --prune --asar --all --version=0.36.3" + }, + "dependencies": { + "electron-posthtml": "^0.8.0", + "posthtml-bem": "^0.2.2", + "posthtml-include": "^1.0.2" + }, + "devDependencies": { + "electron-debug": "^0.5.1", + "electron-packager": "^5.2.0", + "electron-prebuilt": "^0.36.7" + }, + "author": { + "name": "Michael Ciniawsky", + "email": "michael.ciniawsky@gmail.com", + "url": "michael-ciniawsky.de" + }, + "keywords": [ + "Electron" + ] +}