mlewand / capture-it Goto Github PK
View Code? Open in Web Editor NEWA simple app to instantly add notes to your todo list
Home Page: https://capture-it.org
A simple app to instantly add notes to your todo list
Home Page: https://capture-it.org
Currently the app is asking to log in for adding each and every workspace.
That's a bit frustrating so it should ask only once.
It's important that the sign in button is still there in case user wants to share new dbs or add dbs from a different account/user.
The hotkey used for app invocation should be customizable.
It would be nice to autocomplete valid tags.
It would be beneficial to add a quick way to set a remind date (&time) for added note.
It could be implemented that alt (option + R) would show additional dropdown field with date (that if clicked shows handy calendar).
Based on notion: this would add a @remind <date>
"paragraph" into created note.
Would be great if date could be clumsy typed, some example resolutions I'd expect:
Default hour (9am set when you do just "tomorrow") could be customizable in the configuration file.
I want to add a workspace that will add entries to my common todo-list but with a predefined tag. This will make item to appear in proper views.
My example is adding standup todo note. Example config could look like this:
{
"workspaces": [
{
"name": "๐๏ธ Standup",
"dataBaseId": "abcdef",
"notionToken": "token_abcdef",
"default": {
"tags": [ "standup" ]
},
"tags": {
"@captureit": "project:capture-it"
}
}
],
"tags": {
}
}
There should be success / progress / error notification for dispatched queries.
At first it's ok for it to be basic.
OK, I'm slowly getting out of the PoC stage - it's about time to start adding test coverage so that there are no bugs creeping like crash when the config is missing.
Currently it's possible to run more than 1 instance of an app (at least on Windows).
Let's be gentle with notifying the fact that the app is already running. Rather than showing an error and screaming at the user it should simply bring up the main Capture It window.
Wonder how should external apps do an intent of triggering note quick add? Thinking about some use cases:
It would be nice to share URL visited in the browser with a single click.
I could make an extension that would add a button that would automatically get a link based on browser's active tab URL.
Assuming you want to save https://reddit.com, it could request note-quick-add://new-todo?input=https%3A%2F%2Freddit.com
.
This in turn would bring up adder, with the text prefilled.
In future it could take more parameters.
This could be done cheaply, the idea is to show tags somewhere on the bottom of screen as a reminder what are the valid tags for current input.
I often use shortcut tags and tend to forget them. Seeing them in background that would be nice.
Instead it should use a jar icon consistently.
Add a feature that will allow running app on system startup/user login.
It would be nice to reflect any config JSON file changes instantly after they're made.
Currently it's Notion focused. But maybe it could work with some Notion alternatives?
E.g. OneNote? EverNote?
AFAIR adding to db that doesn't have fields for tags will crash.
Surely "Tags" field must not be present if there are no tags at all added.
If tags are given and there's no "Tags" field let's do whatever is the simplest for now.
Say I have a tag @home defined in my private workspace. However, I'm adding a note to the "work" workspace.
Currently what happens I'll get an entry with unprocessed tag, like Buy some groceries @home
which is not what I want.
I can see two solutions:
Note it's important that if adding something that looks like a tag, but is not registered anywhere else, should proceed as it is today.
When the app is running and I'll attempt to shutdown the system it hangs on the Capture It for closing.
Notion is bad in picking an icon for an article.
Often times it's possible to pick pretty decent icon based on:
There are some drawbacks though:
Thus the ROI is meh.
Chrome window should be focused again.
No app is focused.
Reproduced on Win 10.
There's actually a simple API to control that in Electron.
See win.setContentProtection(enable).
It would be ok to make it configurable (opt-out) in case someone wants others to see it for demo purpose
Would be nice to bring it for mobile.
Ideally I'd like to have
I believe widget is not doable with Electron-based app. If that's really the case maybe it's possible to display some sort of a popup window that would render electron content inside?
It would be also great to have text-to-speech implemented (#12).
By default Capture it assumes that tags are stored in Tags
field.
However, it's likely that end user may customize it. It should be possible to customize this name. For example:
{
"workspaces": [
{
"name": "Private",
"tagFieldName": "alt tagzzz",
"dataBaseId": "...",
"notionToken": "secret_...",
"tags": {
"@test": [ "foo", "bar" ]
}
},
...
It would be a good idea to add a hotkey for configruation.
On mac that could be: cmd + ,
.
I suppose a ctrl
equivalent could be used for win/linux.
The cmd+q hotkey is vital on mac.
Recently to fix a case that it wasn't handled properly on mac I moved cmd+q listener from renderer process (was listening to keyup event on document) to main process (hooked as a global hotkey).
It turns out that because of that other apps can't use cmd+q hotkey.
This task could be understood as a part of #14:
The app could be used to facilitate adding issues to GH:
As a result it would open you a page with the issue title prefilled, say https://github.com/mlewand/note-quick-add/issues/new?title=My%20new%20issue
*by making a target to GH I mean that it could be determined by some dropdown value, workspace etc. The target repo should also be somehow adjustable (maybe by a tag?).
The spinner that is visible next to processed todo note (while sending it to backend) is no longer visible.
I it could have something to do with the spinner I added in the view of authentication.
Should be a very simple fix.
Currently there's only one hardcoded pro tip. It make sense to add more.
It would be nice to be able to dictate the task to be inserted.
I'm unsure about the UX part of it though for now.
Definitely this would be very helpful for mobile.
Similar to Notion, there should be handling for multiple workspaces for quick add.
It's best fitting to also use alt+shift+[number] hotkey to match Notion's keys.
Few ideas:
It would be great to support adding media (most importantly images).
E.g. I'm making a database entry and I paste several images while composing entry title.
Once first media gets pasted it should add a thumbnail row below the title input field. Each thumbnail should have a cross allowing to cancel it.
Naturally the (up)loading should happen only after the operation is committed.
The styling is still a bit rough. The layout is good in most cases, but styling itself is lacking.
Some ideas to be considered:
Implement dark mode.
It should be enabled if system has dark mode too.
There should be an option to add special tags that would be translated to tags in Notion.
e.g. I have field "tags" that is multi dropdown and can get values such as "car", "ecommerce", "learning", "family" etc.
Would be nice to be able to type anywhere in the text
@car
and have corresponding option added to the created page (but removed from the content).
Sometimes you just want to enter task and minimize to go back what you were doing without waiting for item to be captured.
What if error happens? User might not notice. It would be nice to show that though the application icon.
It could just show a cross if operation fails. It would be nice to show a bubble with some text saying what task failed to add.
This is especially useful when on mobile internet.
Currently I handle entire process in the app, thus it won't benefit if the user is already signed in on his/hers browser.
For fetching OAuth2 token I'm using a proxy to avoid exposing NOTION_AUTH_CLIENT_SECRET
which would otherwise needed to be shared on the client side code.
Currently it uses https://capture-it-notion-token.smietniczek.workers.dev/
domain.
Would be nicer to do a (sub)domain like notion-token.capture-it.org
.
The feature comes to a place where it makes sense to publish it. First I need to register Notion integration so that anyone can use it.
Currently the handling of a missing file is rather harsh:
Instead it could be improved with a rather low cost:
If config file is missing, the error message (in main app window) should feature a link/button that if clicked:
config.json
file based on the template.As an extra point I could add a tray option to edit the config file.
There should be an option to open created page in a new tab.
alt
key as a modifier seems to be a good idea (I want to reserve shift
for multiline input).
@
character.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.