π» π The Text Editor for all aspiring masters.
ππ¨ Strip away all those extra features so it's just you and the code!
β¨ Get Motivational Quotes from the master Bruce Lee himself sent to you as desktop push notifications! β¨
βItβs not the daily increase but daily decrease. Hack away at the unessential.β β Bruce Lee
-
Native Desktop App
-
Basic text-editor functionality
-
drag-and-drop to open files
-
Javascript Playground Open the devtools console with
CMND + OPTION + I
(on Mac) and test/run your javascript code right in the console same as you would in a normal google chrome browser -
Node.js Playground You can even run node.js code in the console too! check it out; try running:
const fs = require('fs')
,const os = require('os')
followed byconsole.log(fs)
,console.log(os)
,os
andfs.readdirSync(os.homedir())
in the console. Now you have access to the fs and os objects! - And your using it to read the homedir of the operating system! Question: "But what does this MEAN???" Answer: "The sky is the limit"
"To hell with circumstances; I create opportunities." β Bruce Lee
-
javacript/node.js
-
electron: creates desktop app
-
electron-packager: creates release-builds for Mac, Linux and Windows systems
-
Monaco-loader: the base monaco editor the core text-editor used to build Microsoft's awesome VScode
-
first clone this repo
-
Then run
npm install
-
Then you need to build/bundle the app for your system. I've already made some build scripts and saved them in the
package.json
. Select the appropriate script based on your systemnpm run package-mac
(for Mac),npm run package-win
(for Windows),npm run package-linux
(for Linux). -
Navigate to the newly created app in the
release-builds/
folder and open it and/or move it to your applications folder -
Enjoy!
-
follow steps 1. and 2. from above section
-
Make changes to code
-
Run
npm start
to test local changes (icon won't work unless you run build) -
Before making a PR make sure to run the build steps 3. and 4. from above section and ensure that all changes are correctly showing.
-
Implement electron-notifications package
-
look at push.js vs. node-notifier vs. use native electron API here
-
build electron menu, make a "change language tab/button", "connect to github remote repo and sync/push", "save local to disk", "open multiple files in same browserWindow using tabs", "snippet manager", showMeRandom function opening one from repo
-
try finding 'vs-dark' theme for monaco backgroundColor hex, loadDifferent themes for monaco editor (dracula), create own theme
-
loading screen icon image animation with fade to main using this and maybe this
-
implement a way to open a new window in menu when window open or auto close application on close of browserWindow bug: have to quit with command q and relaunch every time
-
checkout this repo for ideas for features and code examples for saving files, etc (check branches)
-
update project repo to use electron-forge cli tool (yes it'll replace your custom packager scripts but the benefits of electron-compile will be worth it)
-
electron-prbuilt-compile for ESnext
-
cool electron stock price tracker: https://www.youtube.com/watch?v=6_V85t64OSI
Auto Updater
Dialogs
Push Notifications
ES2015
Async/Await
Mac App Store
Clipboard
Menubar Apps
Global Shortcuts
Windows App Store
Installer Generation
Shell Operations
WebViews
Desktop Capturing
DevTools
Webcam
Microphone
WebRTCP2P
window.fetch()
CSS custom properties
Native Notifications
Custom Protocols
Power Save Blocking
Multi Processes
Tray Icons
Dock Icons
Chromium Feature Flags
CrashReporter
App Menus
Context Menus
Screen Apis
[...1323 Electron npm modules]
WebTorrent
Special thanks to @felixrieseberg for his great presentation at infoShare 2017, which gave me both the inspiration and the starting point for this app. You can watch his talk here