npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vuepress-plugin-contact-us

v1.0.3

Published

Vuepress plugin: Contact Us Form

Downloads

10

Readme

Vuepress Plugin: Contact Us Form

This plugin will automatically put a floating button at the left-bottom corner, once it's clicked, a contact us form will be popped up for you.

  • You could set your own Email Delivery API URL
  • You could use the user's default email client to send contact-us data
  • This plugin integrated the font awesome icon into the UI
  • This plugin support English and Chinese

Demo Screenshot Demo Please refer the Options section below.

Install

Yarn (Recommanded)

yarn add vuepress-plugin-contact-us

NPM

npm install vuepress-plugin-contact-us@latest

Options

You could config this plugin with .vuepress/config.js:

module.exports = {
    plugins:[
        [
            'contact-us', // Or 'vuepress-plugin-contact-us'
            {
                /**
                 * Mandatory: the email address which the contact data will be sent
                 */
                email: '[email protected]',
                /**
                 * Optional: Language, by default is 'en' (English)
                 */
                labelLanguage: 'cn',
                /**
                 * Optional: Your custom API URL, by default: null (Use user's email client such as Outlook)
                 */
                emailSenderApi: 'https://api/your-domain.com/contact-us-handler'
            }
        ]
    ]
}

How to send email

If you have your own API to send email

Request

Once the user submits the contact form and all fields are valid, the data will be sent to the API url by POST method, with following format:

{
    "email": "[email protected]",
    "fullname": "John Doe",
    "message": "This is my message body"
}

Response

Once the HTTP request is handled, we expect the response will be returned as following format in JSON:

{
    "error_no": 100,
    "message": "Thanks, you will be in touch very soon"
}

Name | Type | Description/Meaning ---------|----------|--------- error_no | int | 100: means success; Any other value: means failed message | String | Text message you want the user to see

Example(In PHP):

// ... handle the HTTP request, send email or put into a job queue ...

if($everythingGoesWell){
    // In case of success
    $result = [
        'error_no' => 100,
        'message'  => 'Thanks, you will be in touch very soon!'
    ];
}
else{
    $result = [
        'error_no' => 99,   // Something goes wrong
        'message'  => 'Sorry we are out of service now!'
    ];
}

// Send result to server
echo json_encode($result);

If you DON'T have your own API, by default, the plugin will try to use the user's default email client such as Outlook.

Changelog

Thanks