hexo-tag-share-post

Hexo tag plugin for embedding share links into the post body

Usage no npm install needed!

<script type="module">
  import hexoTagSharePost from 'https://cdn.skypack.dev/hexo-tag-share-post';
</script>

README

hexo-tag-share-post

npm version Build Status Coverage Status

A small and dependency-free Hexo plugin that adds share_post tag and helper for adding text link to share blog post in social media. (Twitter, Facebook, and LinkedIn.)

Installation

npm install hexo-tag-share-post --save

Usage

You can use this plugin to add text social media share links either in blog post (e.g., .md files) or in your blog template (e.g., .ejs files).

Markdown

Here is how you can add share links inside your blog post body. Below example uses Markdown file.

Share this blog post on {% share_post twitter %}, {% share_post facebook %}, and {% share_post linkedin %}

Result:

Share this blog post on Twitter, Facebook, and Linkedin

You can also change the default label by passing the second argument to share_post tag.

{% share_post twitter "Share on Twitter now!" %} |
{% share_post facebook "Share on Facebook now!" %} |
{% share_post linkedin "Share on Linkedin now!" %}

Result:

Share on Twitter now! | Share on Facebook now! | Share on Linkedin now!

EJS (or any other template format)

Here is how you can insert share blog post links in the template source file. Below examples uses EJS template file.

<%- share_post("facebook") %>

Result:

Facebook

<%- share_post("facebook", "Share on Facebook now!") %>

Result:

Share on Facebook now!

Configuration

You can configure the plugin in _config.yml file.

share_post:
  facebook:
    url: 'https://www.facebook.com/sharer/sharer.php'
    query: 'u=%link&t=%title'
    text: 'Facebook'

  twitter:
    url: 'https://twitter.com/intent/tweet'
    message: '"%title" %link via @%handle'
    query: 'text=%message'
    text: 'Twitter'
    handle: 'hexojs'

  linkedin:
    url: 'https://www.linkedin.com/sharing/share-offsite/'
    query: 'url=%link&title=%title'
    text: 'LinkedIn'

Setting the default Twitter handle

share_post:
  twitter:
    handle: 'wololock'

Changing default Twitter message

By default, the posted message uses the following format:

"%title" %link via @%handle

You can change it using the following configuration:

share_post:
  twitter:
    message: 'READ THIS: %title - %link (via @%handle)'

The new format produces message like this one:

READ THIS: "Lorem ipsum" - https://example.com/lorem-ipsum (via @wololock)

Changing the default links text

share_post:
  facebook:
    text: 'Share on Facebook'

  twitter:
    text: 'Share on Twitter'

  linkedin:
    text: 'Share on LinkedIn'