๐Ÿ’Œ mailgo, a new concept of mailto and tel links

Overview

๐Ÿ’Œ mailgo

a new concept of mailto and tel links https://mailgo.dev

Transform all your mailto and tel link in a beautiful modal with more possibilities! Open directly Gmail, Outlook and Yahoo for emails; Telegram, WhatsApp or Skype for phone numbers.

mailgo screencast

also available for

Wordpress

https://wordpress.org/plugins/mailgo/

Magento 2

https://marketplace.magento.com/manzinello-mailgo.html

Gatsby

https://www.gatsbyjs.com/plugins/gatsby-plugin-mailgo/

Chrome (browser extension)

https://chrome.google.com/webstore/detail/mailgo/kljnooagpdphdgjnmjhenkganebccejm

Firefox (browser extension)

https://addons.mozilla.org/it/firefox/addon/mailgo/

thanks



Comments
  • Custom action displayed even with `actions.custom` set to false.

    Custom action displayed even with `actions.custom` set to false.

    Testing the new custom actions @gianantoniopini wrote (thanks again!)

    but with this config:

    {
        "dark": false,
        "mailto": true,
        "tel": true,
        "office365": true,
        "showFooter": true,
        "actions": {
            "custom": false
        }
    }
    

    I'm still getting a custom link being rendered:

    image

    bug 
    opened by homotechsual 24
  • Question: hide body and subject in modal

    Question: hide body and subject in modal

    Hi Matteo,

    Thanks for the direct render functionality. I just tested it and it works as I had hoped!

    I've got one unrelated question. What would be the best way to hide the subject and body in the modal? In my case they are both quite lengthy and therefore it does not make sense to display them.

    Thanks,

    Yoav

    enhancement 
    opened by yoavaviram 14
  • Using Mailgo Dynamically

    Using Mailgo Dynamically

    How should I go about calling mailgo with a mailto link i'm generating dynamically?

    Here's the code: https://github.com/your-digital-rights/yourdigitalrights.org/blob/2d3cdffb3d76de478a83634124572f4e667489d8/src/components/PersonalInfoForm/index.js#L94

    enhancement 
    opened by yoavaviram 14
  • Outlook link not working correctly

    Outlook link not working correctly

    If i click on the outlook link the browser opens this link https://outlook.live.com/owa/?path=/mail/action/compose&to=example%40example.com but i land on the outlook homepage. I can then login, but then i don't get any compose window.

    If on the other hand i change the url to https://outlook.office365.com/owa/?path=/mail/action/compose&to=example%40example.com (Note the other domain name) i do get a compose window.

    I'm not sure if it is platform dependent but I've noticed this issue on MacOs in Firefox with MailGo 0.9.16

    bug 
    opened by vanaf1979 9
  • Add unit tests

    Add unit tests

    It would be good to start adding some unit tests to this useful library.

    I would be willing to work on this and submit a PR. For example I could start writing some unit tests for the mailgoDirectRender and mailgoValidateEmail functions, using Typescript and the React Testing Library.

    Would this be a welcome addition?

    opened by gianantoniopini 8
  • Dark theme is not supported with direct render.

    Dark theme is not supported with direct render.

    I am the following configuration:

    var window.mailgoConfig = {
      dark: true,
      details: {
        subject: false,
        body: false,
        to: false,
        cc: false,
        bcc: false,
      },
    };
    

    However the dark theme option has no affect.

    opened by yoavaviram 8
  • Add support for custom action

    Add support for custom action

    Fixes #104 :

    • added new "custom" action
    • added support for new data-custom-action-text and data-custom-action-url attributes, which can be specified in the mailto: links
    • added unit tests for this new "custom action" functionality
    • this new "custom" action will only work when mailgo is used with mailto: links. So it is not supported, at least for now, with tel: or callto: links and with mailgo direct render

    Other:

    • Also added some basic unit tests for already existing functionality (usage with mailto and tel)
    opened by gianantoniopini 7
  • Export of validateEmail function

    Export of validateEmail function

    It would be useful to be able to validate the To email using the same validation function used internally by mailgo.

    As a consumer of the mailgo library, I would like to have the ability to validate the To email address using exactly the same validation function (i.e. same RegEx) that is used internally by mailgo. This is so that the user can be notified of an invalid To email address before the mailgoDirectRender function is called. In this way the validation of the To email address will be done in the same way by the consumer and mailgo.

    Therefore it could be useful to export the mailgo validateEmail function, so that consumers of the library can use it if needed.

    I would be willing to submit a PR for this.

    opened by gianantoniopini 7
  • Custom actions?

    Custom actions?

    Is it possible for us to pass a link to MailGo as an option and have it rendered as a custom action?

    For example, in the CiviCRM integration it would be beneficial if we could replicate a core function when we override email links. That core function lets us create a CRM "activity" when clicking on an email. If we could add an "Open activity" action - we'd replicate the current status quo and add the amazing additional options provided by MailGo :-)

    enhancement 
    opened by homotechsual 7
  • Load CSS separately

    Load CSS separately

    We implemented a drupal-module for this library. We'd like to allow users not to load module CSS, but also use their own styles. That would be great if your library loaded CSS separately from JavaScript. Thanks.

    enhancement help wanted 
    opened by granik 5
  • How to add to Hugo site?

    How to add to Hugo site?

    Hi, I'm currently building a static site with Hugo and would like to add mailgo to my site. However, I've been unable to get it functioning. I've followed the examples on the mailgo pages by linking to the script in the head and body, even by downloading the script itself, but nothing seems to work. Has anyone tried this with a Hugo site yet? Am I missing something?

    opened by aormsby 5
  • Set Tel Title

    Set Tel Title

    It would be nice to use the TEXT as the Tel title by default.

    <a href="tel:123456789">+39 123456789</a>
    

    https://cln.sh/Z7Fe83 instead of https://cln.sh/hLM5z9

    <strong id="m-tel-title" class="m-title">+39 123456789</strong>
    
    <strong id="m-tel-title" class="m-title">123456789</strong>
    

    It would be really nice to be able to explicitly set the title on the Tel modal.

    <a href="tel:123456789" data-title="Call Us">+39 123456789</a>
    
    enhancement 
    opened by butchewing 1
  • Custom Actions with Tel Not Displayed

    Custom Actions with Tel Not Displayed

    I am wanting to add a custom action for a tel link. It does not display on Tel links but does on Mailto links.

    This works

    <a href="mailto:[email protected]" data-custom-action-text="Open Docs" data-custom-action-url="https://mailgo.dev/docs/">[email protected]</a>
    

    This does not

    <a href="tel:+1234567890" data-custom-action-text="Open Docs" data-custom-action-url="https://mailgo.dev/docs/">[email protected]</a>
    
    bug help wanted 
    opened by butchewing 1
  • Error when using mailgoDirectRender

    Error when using mailgoDirectRender

    I have initialized mailgo with all the config. But the mailgoDirectRender function is broken.

    Uncaught TypeError: Cannot read properties of undefined (reading 'classList') at mailgoPreRender (mailgo.js?0de6:892) at mailgoDirectRender (mailgo.js?0de6:917)

    The issue is with this line here:

         if ((_config9 = config) !== null && _config9 !== void 0 && _config9.dark || mailgoElement.classList.contains("dark")) {
    ...
    

    I guess since i am directly calling the mailgo render via the mailgoDirectRender method, the mailgoElement is not defined and there is no null check present.

    bug help wanted 
    opened by adityaekbote 2
  • Does not work with empty recipient field

    Does not work with empty recipient field

    This does not work:

    <a href="mailto:?subject=hello&body=how are you?">[email protected]</a>

    (when no recipient of the mail is specified)

    bug help wanted 
    opened by patricijab 1
  • Passing a dictionary with configuration options to the direct renderer had no affect when using direct render.

    Passing a dictionary with configuration options to the direct renderer had no affect when using direct render.

    This does not work:

    var mailgoConfig = {
      dark: true,
      details: {
        subject: false,
        body: false,
        to: false,
        cc: false,
        bcc: false,
      },
    };
    mailgoDirectRender(mailgoConfig, email);
    

    While this does:

    window.mailgoConfig = {
      dark: true,
      details: {
        subject: false,
        body: false,
        to: false,
        cc: false,
        bcc: false,
      },
    };
    mailgoDirectRender(email);
    
    bug help wanted 
    opened by yoavaviram 3
Releases(v0.12.2)
Owner
Matteo Manzinello
a 28-year-old, a creative, a computer engineer, a freelance developer
Matteo Manzinello
Embedded JS template engine for Node, Deno, and the browser. Lighweight, fast, and pluggable. Written in TypeScript

eta (ฮท) Documentation - Chat - RunKit Demo - Playground Summary Eta is a lightweight and blazing fast embedded JS templating engine that works inside

Eta 682 Dec 29, 2022
This is a simple ticket system bot using discord.js v13 and node.js v17. It works with buttons and slashcommands.

Ticket-bot This is an simple ticket system bot using discord.js v13. If you find an error or need support, go to my discord server and open a ticket >

Cristhian 14 Jan 2, 2023
Asynchronous Javascript templating for the browser and server

Dust.js Asynchronous Javascript templating for the browser and server. This fork is maintained by LinkedIn. Install NPM Important: We recommend that y

LinkedIn 2.9k Dec 31, 2022
1KB lightweight, fast & powerful JavaScript templating engine with zero dependencies. Compatible with server-side environments like node.js, module loaders like RequireJS and all web browsers.

JavaScript Templates Contents Demo Description Usage Client-side Server-side Requirements API tmpl() function Templates cache Output encoding Local he

Sebastian Tschan 1.7k Jan 3, 2023
eXtensible Template Engine lib for node and the browser

xtemplate High Speed, eXtensible Template Engine lib on browser and nodejs. support async control, inheritance, include, logic expression, custom func

xtemplate 553 Nov 21, 2022
A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired)

Nunjucks Nunjucks is a full featured templating engine for javascript. It is heavily inspired by jinja2. View the docs here. Installation npm install

Mozilla 8k Dec 30, 2022
Asynchronous Javascript templating for the browser and server

Dust.js Asynchronous Javascript templating for the browser and server. This fork is maintained by LinkedIn. Install NPM Important: We recommend that y

LinkedIn 2.9k Dec 31, 2022
Semi-embedded JS template engine that supports helpers, filters, partials, and template inheritance. 4KB minzipped, written in TypeScript โ›บ

squirrelly Documentation - Chat - RunKit Demo - Playground Summary Squirrelly is a modern, configurable, and blazing fast template engine implemented

Squirrelly 451 Jan 2, 2023
Highly opinionated project template for Serverless Framework that follows and applies hexagonal architecture principle to serverless world. Prepared with easy testing in mind.

serverless-hexagonal-template Highly opinionated project template for Serverless Framework that applies hexagonal architecture principles to the serve

Paweล‚ Zubkiewicz 126 Dec 26, 2022
A helper to send whatsapp without scheduling a contact, the project developed using TDD with Jest, Javascript classes, BotstrapVue and SweetAlert.

Project setup npm install Compiles and hot-reloads for development npm run serve Compiles and minifies for production npm run build Lints and fixes

Magascript 7 Sep 13, 2022
Combines Hardhat, TypeChain, Ethers, Waffle, Solhint, Solcover and Prettier

Solidity Template My favourite setup for writing Solidity smart contracts. Hardhat: compile and run the smart contracts on a local development network

Kenneth Luster 3 Oct 19, 2021
Examples of how to re-create the WordPress Template Hierarchy using headless clients and WPGraphQL

WPGraphQL Template Hierarchy Debugger This is a project to demonstrate how to re-create the WordPress template hierarchy with Headless WordPress using

Jason Bahl 17 Oct 29, 2022
A template to be used for creating js/scss projects and deploy them to github pages

A template to be used for creating js/scss projects and deploy them to github pages

Cariera รฎn IT 15 Oct 30, 2022
True P2P concept for your p2p powered website/app/client. MSC/MEP (Multiple Strategy Concept/Multiple Entry Points)

TRUE P2P CONCEPT - Lets redecentralize the web This repo is just conceptual. Active development of the endproduct (TRUE P2P) happens here https://gith

Bo 6 Mar 29, 2022
A phone input component that uses intl-tel-input for Laravel Filament

Filament Phone Input This package provides a phone input component for Laravel Filament. It uses International Telephone Input to provide a dropdown o

Yusuf Kaya 24 Nov 29, 2022
Avgrund is jQuery plugin with new modal concept for popups

Avgrund Avgrund is a jQuery plugin for your modal boxes and popups. It uses new concept showing depth between popup and page. It works in all modern b

Dmitri Voronianski 1.8k Dec 14, 2022
Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.

This project isnโ€™t maintained anymore Please check out this fork. wysihtml5 0.3.0 wysihtml5 is an open source rich text editor based on HTML5 technolo

Christopher Blum 6.5k Jan 7, 2023
Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.

This project isnโ€™t maintained anymore Please check out this fork. wysihtml5 0.3.0 wysihtml5 is an open source rich text editor based on HTML5 technolo

Christopher Blum 6.5k Dec 30, 2022
A Web UI toolkit for creating rapid prototypes, experiments and proof of concept projects.

MinimalComps2 A Web UI tookkit for creating rapid prototypes, experiments and proof of concept projects. The site: https://www.minimalcomps2.com/ Full

Keith Peters 32 Apr 18, 2022
NFT vending machine proof of concept built on Solana Pay, Metaplex, Phantom Mobile and Next.js.

Solana NFT Vending Machine This is a proof of concept of an NFT vending machine built using Solana Pay, Metaplex, Phantom Mobile, and Next.js. This wa

Matt Rosenzweig 55 Dec 15, 2022