Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ng-social-links

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ng-social-links

Headless social share for Angular

  • 2.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
44
decreased by-6.38%
Maintainers
1
Weekly downloads
 
Created
Source

Description

Headless social share for Angular. Provides straightforward API for getting social share URLs which can be used in your templates.

npm version License: MIT Open Source Love

ng-social-links advantages:

  • Native to Angular.
  • Configurable - you can globally define share URL, title and email body at module import.
  • Well typed - it's clear which parameters are relevant to every social share provider.
  • Works well in SSR mode.

Usage

Install package

npm i ng-social-links

Add import to your module

import { NgSocialLinksModule } from 'ng-social-links';

@NgModule({
  imports: [
    ...
    NgSocialLinksModule.forRoot(),
    ],
  declarations: [],
  providers: []
})

Inject the service:

import { NgSocialLinksService } from 'ng-social-links';

class SomeComponent {
  constructor(private socialLinks: NgSocialLinksService) {}
}

Get the socail share links:

facebookShareLink = this.socialLinks.getShareLink('fa');

With additional parameters:

twitterShareLink = this.socialLinks.getShareLink('tw', { title: 'Visit my website!' });

Configuration

The configuration interface looks like this:

interface Config {
  url?: string;
  title?: string;
  description?: string;
}

By default document.location.href is used for url, title and description are empty.

You can define another defaults as follows:

NgSocialLinksModule.forRoot({ url: 'htts://my-website.com' })

Or

NgSocialLinksModule.forRoot({ title: 'Visit my website!', description: 'Default email body...' })

ng-social-links is headless, so you're free to use whatever you like in a template. e.g. text links, icons, buttons, you name it. For example:

<a [attr.href]="facebookShareLink">
  <fa-icon [icon]="faFacebook"></fa-icon>
</a>

Another option is to create a popup window:

const telegramLink = facebookShareLink = this.socialLinks.getShareLink('tg');


window.open(telegramLink,'SocialSharePopup','width=600,height=600');

Demo

Currently, demo is only available on localhost:

  • Clone the GitHub repo.
  • Install dependencies: npm install.
  • Run the demo website: npm start.
  • Open your browser at http://localhost:4200.

Supported providers

  • 'fb' - Facebook
  • 'tw' - Twitter
  • 'in' - LinkedIn
  • 'mail' - Mailto
  • 'vk' - Vkontakte
  • 'tg' - Telegram
  • 'pocket' - Getpocket
  • 'reddit' - Reddit
  • 'ev' - Evernote
  • 'pi' - Pinterest
  • 'sk' - Skype
  • 'wa' - Whatsapp
  • 'ok' - connect.ok
  • 'xi' - Xing

You are more than welcome to improve this library (for example, add missing social share providers) or create issues on the GitHub issue tracker.

Keywords

FAQs

Package last updated on 27 Sep 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc