GithubHelp home page GithubHelp logo

kilian / fromscratch Goto Github PK

View Code? Open in Web Editor NEW
710.0 19.0 66.0 4.89 MB

Autosaving Scratchpad. A simple but smart note-taking app

Home Page: https://fromscratch.rocks

License: MIT License

HTML 2.35% CSS 17.35% JavaScript 80.30%
fromscratch macos linux electron desktop windows

fromscratch's Introduction

Other projects:

  • ๐Ÿ’ป Polypane - Develop responsive websites and apps twice as fast on multiple screens at once
  • ๐Ÿ–Œ๏ธ Superposition - Kickstart your design system by extracting design tokens from your website

FromScratch

A simple but smart note-taking app

FromScratch is a little app that you can use as a quick note taking or todo app.

  • Small and simple, the only UI is the text you type
  • Saves on-the-fly, no need to manually save
  • Automatic indenting
  • Note-folding
  • Use checkboxes to keep track of your TODO's
  • Powerful keyboard control
  • Replaces common syntax with symbols, such as arrows
  • Dark and Light theme
  • Portable mode support
  • Free

Shortcuts

  • f1 - show/hide shortcut overview
  • cmd/ctrl+up - move current line up
  • cmd/ctrl+down - move current line down
  • cmd/ctrl+d - delete current line
  • cmd/ctrl+w/q - close application
  • cmd/ctrl +/= - zoom text in
  • cmd/ctrl - - zoom text out
  • cmd/ctrl+0 - reset text size
  • cmd/ctrl+]/[/k - fold note collapsing
  • cmd/ctrl+f - search (you can also use regular expressions, by starting and ending with a /)
  • shift+cmd/ctrl+f - replace
  • shift+cmd/ctrl+r - replace all
  • cmd/ctrl+g - jump to line (you can also use : notation, or go relative lines with + and -)
  • cmd/ctrl+/ or cmd/ctrl+l - Add or toggle a checkbox
  • f11 - Toggle fullscreen
  • cmd/ctrl+i - Toggle between light and dark theme
  • alt - show or hide menu (Windows only)
  • cmd/ctrl+s - ...this does nothing.

Download

Recent downloads for macOS, Windows and Linux available on https://fromscratch.rocks

For Arch users, FromScratch is available on AUR

For macOS, you can also install FromScratch via Homebrew: $ brew cask install fromscratch

Installation

# Download from git
git clone https://github.com/kilian/fromscratch.git

# Install dependencies
cd fromscratch && npm install

# build and run
npm start

# or run dev version
npm run dev

Command Line Arguments

Portable Mode --portable

Lets you store all the files FromScratch generates in a specified location, such as a USB-stick or other portable storage device. In this mode both the configuration files as well as your text content will be stored in a "userdata" directory alongside the FromScratch executable, or when given a directory as an argument, will store the files there.

You can also use this to store the FromScratch configuration files, and the text content, in a synced cloud storage folder.

# run FromScratch in portable mode, saving data in application directory.
fromscratch --portable
# run FromScratch in portable mode, saving data in custom directory.
fromscratch --portable ~/fromscratch_data

help -h, --help

Prints help information

FAQ

Where is my data saved?

Your data is saved in a plain text file content.txt. On Mac and Linux, this file is saved in ~/.fromscratch. On Windows this file is saved in a directory called ".fromscratch" in your userprofile directory.

Can my data be saved in an alternate directory?

Yes! See the portable mode section under the Command Line Arguments heading above.

Credits

FromScratch is built upon these open source projects: Electron, React, Fira Code, CodeMirror and Electron-react-boilerplate.

Thanks to @bittersweet for helping me set up IPC to work around a particularly nasty bug, @chentsulin for the electron-react-boilerplate, and @ctrauma for the portable bits.

fromscratch's People

Contributors

bittersweet avatar dependabot[bot] avatar entozoon avatar isghe avatar kilian avatar msjyoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fromscratch's Issues

[Q]moving nodes

is there a shortcut for moving nodes (with all containing indented lines) up/down?

Download links not working

Download links on fromscratch.rocks are not working. They all just give a 404 error.

It's probably because they link to a releases folder in this repo, and there's no such folder.

A JavaScript error occurred in the main process: QUOTA_EXCEEDED_ERR

OS: Linux Mint Cinnamon 17.3

When starting the application the following stacktrace is thrown:

A JavaScript error occurred in the main process

Uncaught Exception:
QUOTA_EXCEEDED_ERR: Unknown error.
    at JSONStorage.LocalStorage.setItem (/opt/FromScratch-linux-x64/resources/app.asar/node_modules/node-localstorage/LocalStorage.js:153:15)
    at JSONStorage.setItem (/opt/FromScratch-linux-x64/resources/app.asar/node_modules/node-localstorage/LocalStorage.js:266:44)
    at storeWindowState (/opt/FromScratch-linux-x64/resources/app.asar/main.js:92:24)
    at BrowserWindow.<anonymous> (/opt/FromScratch-linux-x64/resources/app.asar/main.js:97:7)
    at emitOne (events.js:77:13)
    at BrowserWindow.emit (events.js:169:7)

Main application window is black, no text is shown. After confirming the error message with the OK button, the application starts up and functions normally.

Allow changing of current doc

While I know the idea is a simplistic single pad for the thoughts... it would be nice to be able to simply change pages or note pads. Have one for work, and one for home. Looking at your structure this seems to be easy enough by swapping out the file loaded/written to. I have forked and will attempt this if no one else gets to it sooner.

Uncaught exception when moving FromScratch Window on the desktop

Hi,

I get the following pop up error when I move the FromScratch window around on the desktop (Windows 7/10 x64). It doesn't crash the application, and works fine otherwise.

[Window Title]
Error

[Main Instruction]
A JavaScript error occurred in the main process

[Content]
Uncaught Exception:
Error: EPERM: operation not permitted, rename 'C:\Users\xxxx\.fromscratch\windowstate.2676887468' -> 'C:\Users\xxxx\.fromscratch\windowstate'
    at Error (native)
    at Object.fs.renameSync (fs.js:809:18)
    at writeFileSync (C:\Util\FromScratch\resources\app.asar\node_modules\write-file-atomic\index.js:81:8)
    at JSONStorage.LocalStorage.setItem (C:\Util\FromScratch\resources\app.asar\node_modules\node-localstorage\LocalStorage.js:177:7)
    at JSONStorage.setItem (C:\Util\FromScratch\resources\app.asar\node_modules\node-localstorage\LocalStorage.js:289:44)
    at storeWindowState (C:\Util\FromScratch\resources\app.asar\main.js:129:24)
    at BrowserWindow.mainWindow.on (C:\Util\FromScratch\resources\app.asar\main.js:134:7)
    at emitOne (events.js:96:13)
    at BrowserWindow.emit (events.js:188:7)

[OK]

Feature request: Find/Search

Hey there! Thanks for this app, it beats my habit of opening TextEdit and ending up with dozens of files on my desktop by far.

That said, one feature that would totally rock serious ass for me is some sort of "Find" feature.

I can imagine the possibly-infinitely-long-page being tough to sift through, but a simple control+F to find a word you remembered typing would be dope.

Thanks! :-D

Add support for markdown "checkboxes"

When submitting an issue here on github, I am able to make lists with "checkboxes" which can be checked/unchecked.

For example, using:

- [ ] an example issue
- [x] a completed issue

will output:

  • an example issue
  • a completed issue

Can a similar feature be added (without the fancy rendering)?
Where one can insert a "checkbox" using a keyboard shortcut, and then check/uncheck it using another?


Example screenshot:

screen shot 2016-11-01 at 15 53 45

Sign macOS Version

On macOS users expect all apps to be signed. If possible, please sign the app bundle.

Communicating shortcuts

To improve discoverability, it would be great to add every one of the shortcuts as a menu entry including its Shortcut listed in the menu.

[Feature request] Supporting multiple contexts

I know that you want to keep the app simple and that is great. However having different tabs would be extremely cool. Then you can do different TODO list without a lot of scrolling.

To get an idea of a possible look, here is a screenshot from the scratch text editor on elementary os:
screenshot from 2016-02-11 20 27 57

Cmd+A closes the window instead of normal behaviour

Pretty cool project man :)

I tried doing a quick and instinctive Cmd+A and backspace on MacOS to quickly clean the scratch and it closed the app. Unexpected behavior !

You think that could be corrected ?

Greetings from Paris ^^

[Feature Request] Line seperators / task headers?

Hi,

It would be nice to have a command shortcut to add in page headers / line based separators as shown below. Can be done manually, but a modifier for the line to turn it into a header would be useful!

Stuff to do in the afternoon

[ ] Send a feature request about line seperators
[ ] Make Coffee
[ ] Walk the Dog

Stuff to do at night

[ ] Sleep

[linux] Installation

Is there a way to install the app properly into the right directories with desktop shortcut and such things?
It would also be nice if you can pack up a debian package if possible. That'd be super cool!

Feature Request: Indent nodes in/out as a whole

I'm thinking the ability to maybe cmd/ctrl-left and cmd/ctrl-right a parent node, and have it's children indent further also. This would make adding a grandparent node much easier.

Thanks!

unistall

Hi,

What would it be the right way to uninstall from scratch?

[enhancement request] Floating window + shortcut

It would be nice if there was an option to enable fromscratch to be a floating window and also trigger it by using a shortcut, I think this really makes sense in a scratchpad app, since normally you will need to open it quickly in your current workspace to write something and then hide it and continue doing you previous task.

This functionality I'm describing is the same as in Numi: https://numi.io

Feature request: Theming/colors

FromScratch is a lovely piece of work. Thank you!

I'd find it more useful if text & background colors were user-definable. As is, I find the text harder to use than, say, black-on-white.

Problem with running FromScratch on Windows 10 x64

Hello. I have a problem with running FromScratch in Windows 10 x64. Previously it was ok, but after using CCleaner app can't start. After downloading latest version of FromScratch again and replacing all files in the folder error still exists.

It would be great to catch such errors and gently restore app to the working state if it is possible.

11

Multiple processes in Windows

I'm using v0.36.0 on Windows 7 64 bit machine. Whenever I launch the application, there are always two processes FromScratch.exe running (can be seen in Task Manager). Is this normal?

PS - Application is cool :)

some functions not working

Thank you for a clean note book app!

Unfortunately I'm having trouble with some of the cmd/ctrl-functions.
First of I can't close the application with ctrl+w/q, I'm assuming that's meaning ctrl+w or ctrl+q though I also tried ctrl+w+q On the other hand, why would I want to close it :)
Then it is the "zoom in" that isn't working while the "zoom out" is working. Thankfully there is a "reset text size" that is working.
(btw there is a typo in the line about zoom; you've typed crl instead of ctrl)

I'm running the app on Linux 3.13.0-77-generic x86_64 Xubuntu 14.04.3

Add a CHANGELOG.md

I've found it helpful when projects keep a changelog and have taken to following the Keep a Changelog approach myself. Even if it rarely gets used, it makes following changes through versions easy when needed.

If this seems desirable, I'd be happy to submit a PR with the file skeleton and whatever information is available on the Releases page.

Feature Request: Export to file

Would be nice to be able to at the very least be able to export/dump the current stuff I wrote to a txt file so I can use later.

indented word wrap

It would be great if the automatic indenting would also wrap lines accordingly:

screenshot_173

Thanks,
Kilian

Multiple project support

Hi, your app is a lifesaver, I tried Boostnote and some other alternatives but for day-to-day coding or other tasks FromScratch it the best!

What I miss though, it's that there's only one 'workspace' (one 'place' where I can save my notes) and I need as many of them as tasks/tickets/projects I'm working on.

Sure, I could use some .txt placeholders (copy text from/to FromScratch to/from a .txt files) as I change the currently worked on project.
In fact I've written a bash script which is a wrapper that implements this functionality in a limited way:
https://gitlab.com/Brachacz/MultiScratch

I wish that there would be some other builtin way to do that, ideally in form of scrolled sidebar with different projects that you could switch between.
If this could have some folder-like hierarchy which you could manipulate (something like sidebar in sublime text), I'd be willing to pay for it ;)

Misleading intro

Kilian, you must be crazy calling this app little as its Winx64 version requires 141 MiB of space.
Evaluate Writemonkey for comparison at least, which brings similar and other features for 28 MiB.

Ubuntu packages

Hi. This looks great. I'm hoping for a .deb soon (and preferably a PPA too, to keep it up to date automatically). Thanks!

[Feature Request] Sync with Evernote or Simplenote

This would be amazing if I could have it sync with a service like Evernote/Simplenote that way I can have the same Scratchpad on all my devices and be able to see it on the web if needed.

Doesn't have to be Evernote or Simplenote, anything would do.

Shortcut helper..

Hi, I love this tool but I am really hoping for one feature in specific. I can't really remember the shortcut commands, It would be really awesome if a helper could be made just like the "Already saved" dialog/message that when CMD or CTRL is pressed would show with a small list of the shortcuts combos.
For example + | - zoom in/out. I would be willing to help implement this. The other feature I would like to request would be a way of changing between files or notepads of some sort. At the very least it would be nice to be able to "bookmark" a vertical position in the text as a separate note that could later be used to navigate between notes or see a list of notes.

Thanks!

Add Alt menu toggle to shortcut list

I was about to post an issue about not being able to figure out what version number I was running, so as to tell if I was up to date. After looking around in other tickets I found that the menu can be toggled by pressing Alt. It would be helpful to have this documented more visible. Maybe I just missed it.

Cheers!

Won't start on file windowstate corrupted

I received a strange error message when starting FromScratch today, from the stacktrace i could guess that it must have sth to do with saved state.

Found out that file 'windowstate' in user data directory (~/.fromscratch in my case) was empty. Deleted the file, then application started up again.

OS is Linux Mint 17.3, used 64 bit version.

Margin control

The margins seem kind of large and it would be nice if the user had some control over them. I see in other issues (#6) you mentioned that don't want to deal with preferences. If there is an editable file that would be fine with me.

Copy & Paste

No copy and paste functionality severely limits the use of this app.

Shift+Tab doesn't outdent on Windows

Hi,
I'm running FromScratch on a number of Windows 7 boxes. It works great and is a nice notepad for taking notes in meetings.

The app does indenting perfectly, where the 2nd line after an indent will line up with the previous lines indent. However, when I go to outdent (shift-Tab), it doesn't do anything, and I have to backspace 4 times instead.

It would be great if you could add the Shift-Tab to outdent the current indentation level.

Thanks!

Windows app

For windows, make frame:false in the browserWindow in main.js. Optionally include window controls within the app window, or just use keyboard shortcuts. Make window always on top, and reduced opacity when not in focus. Because there is no frame, you may want to assign an element a draggable property. Love FromScratch, keep up the good work!

Recompilation fails

I currently try to recompile the source on elementary os (based on ubuntu 14.04) but I got hte following error when executing npm install:

npm http GET https://registry.npmjs.org/color-convert
npm http 304 https://registry.npmjs.org/q
npm http 304 https://registry.npmjs.org/color-convert
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /fromscratch/npm-debug.log
npm ERR! not ok code 0

The contents of this log:

17369 error Error: ENOENT, lstat '/home/username/tmp/npm-5439-idPGn6uE/1456081387672-0.06401455239392817/package/html/doc/api/npm-search.html'
17370 error If you need help, you may report this log at:
17370 error     <http://github.com/isaacs/npm/issues>
17370 error or email it to:
17370 error     <[email protected]>
17371 error System Linux 3.16.0-60-generic
17372 error command "/usr/bin/nodejs" "/usr/bin/npm" "install"
17373 error cwd /home/username/Documents/hackallthethings/fromscratch
17374 error node -v v0.10.25
17375 error npm -v 1.3.10
17376 error path /home/username/tmp/npm-5439-idPGn6uE/1456081387672-0.06401455239392817/package/html/doc/api/npm-search.html
17377 error fstream_path /home/username/tmp/npm-5439-idPGn6uE/1456081387672-0.06401455239392817/package/html/doc/api/npm-search.html
17378 error fstream_type File
17379 error fstream_class FileWriter
17380 error code ENOENT
17381 error errno 34
17382 error fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
17382 error fstream_stack Object.oncomplete (fs.js:107:15)
17383 verbose exit [ 34, true ]

Make it portable and self contained!

On startup it should check if there is a ".fromscratch" folder next to the executable and use it instead of the one in the user profile. This way users will be able to use FromScratch with an USB drive regardless of the host pc.


Also consider the possibility of using the exe name to define the folder name.

Configurable save location

It would be nice if I could configure where my notes get saved, so I could save them to DropBox (for example) to access my notes on multiple computers.

Support for alternative keyboard layouts

It would be nice to be able to undo / redo modifications.

I tried to use cmd+z to undo my last modification but it closed the app.
I'm using an azerty keyboard so there might be an issue there (cmd+w == cmd+z).

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.