Giter Site home page Giter Site logo

rob-rychs / 1finger-punch Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 485 KB

Minimal Text Editor desktop app with a motivational push πŸ‘‰πŸ’¨

License: MIT License

HTML 9.11% JavaScript 86.64% CSS 4.25%
electron javascript bruce-lee text-editor motivational-quotes

1finger-punch's Introduction

1 Finger Punch Text Editor

πŸ’» πŸ“ 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! ✨

Bruce Lee

β€œIt’s not the daily increase but daily decrease. Hack away at the unessential.” β€” Bruce Lee

Features

  • 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 by console.log(fs), console.log(os), os and fs.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

Built With

  • 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

How to install locally on your computer to use

  1. first clone this repo

  2. Then run npm install

  3. 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 system npm run package-mac (for Mac), npm run package-win (for Windows), npm run package-linux (for Linux).

  4. Navigate to the newly created app in the release-builds/ folder and open it and/or move it to your applications folder

  5. Enjoy!

How to install locally on your computer to develop

  1. follow steps 1. and 2. from above section

  2. Make changes to code

  3. Run npm start to test local changes (icon won't work unless you run build)

  4. 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.

Todos

  • 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

Bunch of Awesome electron features to checkout and implement

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

Aknowledgements

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

License

MIT License

1finger-punch's People

Contributors

rob-rychs avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.