Coder Social home page Coder Social logo

briskine / briskine Goto Github PK

View Code? Open in Web Editor NEW
105.0 105.0 22.0 67.32 MB

Write faster with templates and keyboard shortcuts.

Home Page: https://www.briskine.com/

License: GNU General Public License v3.0

JavaScript 80.73% CSS 6.60% HTML 3.56% Swift 1.48% TypeScript 7.62%
briskine chrome-extension edge-extension extension firefox-addon gmail gorgias-templates linkedin opera-extension outlook safari-extension templates text-expander

briskine's Introduction

Briskine Browser Extension

Text expander for the web

Write emails faster. Create text templates and insert them with shortcuts on any website.

Visit the Briskine website.

Development

  • Install Node.js and npm.
  • Run npm install to install all dependencies.

The following commands are available:

  • npm start

Development mode. Creates development manifest, watches files and recompiles them automatically. The build is placed in /ext.

  • npm run build

Build extension and compress it as a zip file. The built extension is in /ext, and the zip file is in /build.

  • Append -- safari to any command to build the Safari version. (eg. npm run build -- safari).
  • Append -- manifest=2 to any command to build the Manifest v2 version. (eg. npm run build -- manifest=2).

Help Center

Visit our Help Center for more details about templates, variables, and more.

License

The Briskine browser extension is licensed under the GPL-3.0 license.

briskine's People

Contributors

akshaycj avatar bumbu avatar clay-reed-a avatar dreamkyr avatar ghinda avatar hadrienlamotte avatar humanfromearth avatar kalkut avatar martinlatrille avatar ritoon avatar romainlapeyre avatar sprankhub avatar ticruz38 avatar xarg avatar yann-pravo 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

briskine's Issues

More Than One Newline Ignored

I use the following quicktext body (mind the two newlines!):

Hello,


If I use the shortcut, the text which is inserted is only (mind the one newline):

Hello,

In general, you can add as much newlines as you want - only one newline will be inserted.

Gmail quicktext synchronization across computers

Hello, does quicktext for gmail allow synchronizing of quicktexts across different instances of chrome? (ie, different machines, same google user).

When I click on "synchronize" is toggles start/stop but doesn't seem to accomplish the sync. When I try to go to "manage sharing settings," it takes me to a login/register page and when i try to register with google it gives me a 502 bad gateway error.

Thanks in advance.

P.S.: this is extension is EXACTLY what I need if I can just get the sync to work across multiple computers... thanks for the awesome utility extension.

Failed test: background suite should delete the new quicktext

Failures:

  1. background suite should delete the new quicktext
    Message:
    Error: No element found using locator: by.repeater(quicktext in filteredQuicktexts").row("0")"
    Stacktrace:
    Error
    at null. (/Users/plugaru/Projects/quicktext-chrome/tests/e2e/background.spec.js:142:3)
    at Object. (/Users/plugaru/Projects/quicktext-chrome/tests/e2e/background.spec.js:4:1)
    At async task:
    Error: No element found using locator: by.repeater(quicktext in filteredQuicktexts").row("0")"
    at /usr/local/lib/node_modules/protractor/lib/protractor.js:954:17
    ==== async task ====
    WebDriver.call(function)
    at Object.findElementsOverride (/usr/local/lib/node_modules/protractor/lib/locators.js:281:25)
    at Protractor.findElementsOverrideHelper_ (/usr/local/lib/node_modules/protractor/lib/protractor.js:952:15)
    at Protractor.findElement (/usr/local/lib/node_modules/protractor/lib/protractor.js:746:18)
    at Object.elementFinder.(anonymous function) as getText
    at null. (/Users/plugaru/Projects/quicktext-chrome/tests/e2e/background.spec.js:150:75)
    ==== async task ====
    asynchronous test function

Finished in 12.595 seconds
12 tests, 16 assertions, 1 failure

[launcher] Runner Process Exited With Error Code: 1
npm ERR! Test failed. See above for more details.
npm ERR! not ok code 0

Quicktexts Autocomplete Dialog - design change

The existing Autocomplete Dialog's design is rather crude. It's not very clear what is the shortcut and what is the title. Something like Gmail's contact list layout would be much more clear and natural.

Here's a proposal. Note that the screenshot shows editing the To field - that's because I did a screenshot of the contacts dialog in Gmail (it should be active only in the Body as before):

proposal-autocomplete-dialog

I think that it's safe to say that limiting the list of matches to 5 quicktexts should be enough. However I think the user should be able to scroll to see more..

Also since the Autocomplete Dialog is going to be triggered ONLY by a keyboard shortcut and not on timeout. The timeout never worked for me and probably never will. It's just bad UX. The thing pops when you don't expect it to, etc..

And so the first line of the dialog should be a input[type=text] which would search for the quicktexts. That would reduce the need to click around in the popup dialog searching for quicktexts.

Add support for basic HTML gmail

There is basic HTML gmail for slow connections. It will be handy if plugin will work with that too.

You can switch to basic HTML while gmail is loading or probably it is at the bottom of the page.

Don't show Autocomplete Dialog when not needed.

Sometimes the Autocomplete Dialog shows when it's not needed. For example, if I use this quicktext:

kr + Tab -> completes with:

Kind regards,
Alex.[[CURSOR POSITION]]

After a second another Autocomplete Dialog pops up because I have a quicktext that simply inserts Alex. and it matches with the word Alex. from the previous Quicktext. It shouldn't show at all.

As a solution to this, after the quicktext was completed, don't show the Autocomplete Dialog again (probably using a global var that resets each time the user types something).


Another related improvement would be: Don't propose quicktexts in the autocomplete dialog that matche with the text that is under the cursor. If I have a quicktext that compiles to Text then for sure I don't need to propose a quicktext that only has Text in it...

Migrate to IndexDB

Note: Do this only if there is an impending doom of WebSQL, my guts say that it's IndexDB who's gonna die first. Death by specification it's called.

Since WebSQL is deprecated and probably completely removed from future versions of Chrome a migration to IndexDB might be in order.

Since it's API is rather ugly, there are nice libraries such as https://github.com/aaronpowell/db.js that have a much nicer API.

Provide Possibility To Donate

There may be people like me who do not need the pro version (or for whom it is too expensive), but who want to give you some money anyway. Therefore, it would be cool to have a donate option (e.g. via PayPal donate).

Add more tags

This task may stay open (or it may have subtasks).

First 2 that came in mind are isViewBasic and isViewStandard for the cases when Gmail is open as a standard or basic HTML (old legacy) application.

Cursor position

Is there a tag I can use to position the cursor in a specific part of my quicktext once I've executed it?

I'm thinking I'd like to have some email templates, and after I've auto-completed, have the cursor move to after the "Hi" field so I can just start typing rather than needing to re-position the cursor.

Error in Chromium on Ubuntu

I am using the extension in Ubuntu Chromium. Unfortunately, I get an error on the console when I open https://mail.google.com:

Uncaught TypeError: Cannot call method 'addListener' of undefined (handlers.js:1)

Additionally, if I try to use a shortcut in the compose message window, I get the following error:

Uncaught TypeError: Object #<Object> has no method 'sendMessage' (utils.js:6)

Thanks for your awesome work!

Quicktexts Are Not Saved Without Synchronization

If synchronization is not used, quicktexts are not saved. I guess it should be possible to use the extension without the synchronization feature, shouldn't it? Couldn't the quicktexts be saved in the user profile?

I am using Quicktext for Gmail 0.4.0 on Ubuntu Chromium version 25.0.1364.160-0ubuntu3.

Thanks again!

Templating language for quicktexts

Right now it is used underscore.js default _.template compilation. It has few problems and good parts:

  • - If there are errors in syntax then rendering will fail and plugin will not do its job
  • - If there are used template variables which are not defined then rendering will fail with an error
  • - Syntax is awkward (I would rather see double curly brackets syntax which is easily achievable)
  • - May get complicated
  • + Tested solution
  • + Ability to build complex logic

So there are few things here:

  • Review the template syntax
  • Decide on the keeping the ability to use a complex logic (executing functions, loops, conditions) or stick to something simpler and more restrictive (here we should take in account security)
  • Adding quicktext checking/validation on it's addition

First item in the Autocomplete dialog should not be selected by default.

When you type a text like this:

Best wishes,

and there is a quicktext that contains wishes in the title it will pop-up the dialog and when the user types enter it will autocomplete automatically which is not the correct behavior.

The user should hit the 'down' arrow in order to select the first item and then hit enter. This way it will not mess with the new lines.

Too many fields for quicktext

The field which is bothering me is Subject. It gets me confused.

Right now there are these fields available:

  • Title - denotes heading (probably we can get rid even of these one)
  • Subject - confusing
  • Shortcut - useful thing
  • Tags
  • Quicktext - useful thing

I propose first to get rid of subject.
Then there are few ways to simplify the fields:

  • Remove shortcut and search autocompletion by the title (searching matches not only at the beginning of word but in whole phrase)
  • Moving tags into title (same as #8)
  • Remove shortcut and move tags into title (join 2 previous tasks)

In a really minimalistic way we can stay only with Subject and Quicktext.

UI for the user profile

When the user is authenticated in the website it will display a small part of his user profile on the left sidebar. A little bit of cleanup (spacing, font adjustment, etc.. )of the text and the gravatar is required.

Also at the bottom of the sidebar a small well should appear displaying the last time the synchronisation was done and a small button with: "Sync now". It's still in the markup, but it's hidden at the moment.

Shift Tab To Jump Back To Subject Does Not Work

If I compose a new mail in a new tab (not a browser tab, a Gmail email tab at the bottom), my cursor is in the message field and I press Shift+TAB, I would expect that the cursor jumps back to the subject field. This is the normal behaviour which works when Quicktext is disabled. But if Quicktext is enabled, nothing happens. I would kindly ask you to fix this.

Thanks for this awesome extension!

Duplicate quicktext

When creating quicktexts, sometimes it's useful to duplicate the same quicktext.

No quicktexts returned using chrome.runtime.onMessage/chrome.runtime.sendMessage

Seems like sometimes the messaging protocol is not working correctly. I was able to reproduce this issue a few times, but I don't know the cause of it.

As a workaround I reload the extension (in development mode). In production, enabling and disabling doesn't fix the issue.

More investigation to be done.

Version of Chrome: 36.0.1985.125

Resize icons

As the documentation says the default sizes are 19px and 38px. And if the icons are not of the this size than they are resized accordingly. But resizing very often adds blur to images. So the icons may look much better (sharper) at proper sizes.

Tabbing when inside GMail compose pane non-functional

Even though I have TAB completion turned of in: "Unchecking this will disable TAB completion", it seems that when I'm in the Gmail pane and composing a mail, I can no longer hit the tab button to change the focus to the "Send" button.

Using First Name Not Possible

The default quicktext example is something like

Hello <%= to[0].first_name %>,

which should probably insert something like

Hello Firstname,

Unfortunately, it does only insert

Hello ,

The first name is not inserted probably.

Using Quicktext 0.4.1 on Chromium Version 25.0.1364.160 Ubuntu 13.04 (25.0.1364.160-0ubuntu3). There is no error message on the JS console.

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.