Share and Follow buttons on FB, Twitter and Google +
Share Buttons
Adding a hashtag button for Twitter is pretty straightforward with the Hashtag button but for Facebook and Google Plus you need to get creative and use a prefill text to toss in the hashtag (In my case #FedoraAppreciationWeek2k18). Plus you need to register your application to get a client ID for both the FB and Google share buttons.
For Facebook, I was checking out the share buttons but there was no way you could prefill the text. And they have a platform policy for sharing.
Don’t prefill any content in captions, comments, messages or the user message parameter of posts unless (a) it is a single hashtag in a post shared through our Share Dialog (but not via our APIs), (b) it was created by the person using your app, or (c) it was created by a business whose employees use your app to administer the business’s presence on Facebook.
So I went with Share Dialogs which has a hashtag parameter. But before that, you need to create a new App on Facebook and then set up the Facebook SDK for Javascript. In your settings under App Domains, don't forget to add http://localhost:8000 (It doesn't accept 127.0.0.1). If you don't you might get this error “ Can’t Load URL: The domain of this URL isn’t included in the app’s domains”
To make it easier for the FB crawler to fetch the relevant content from the site (instead of trying to guess what the header and body for the post should be) we use Open graph tags.
You can even check what it might look like using the Sharing debugger.
Google +
The Share tag is the easiest way to share a link on Google Plus but again no way to prefill text. But I found an alternative, I decided to go with Interactive Posts since it allowed for prefilled text (data-prefilltext parameter). You need to register your app to get the client ID. Don't forget under Authorised JavaScript origins (in your projects credentials) you need to add http://localhost:8000 (without the / at the end)
Follow Buttons
I decided to go with a simple link to the twitter handle. But there is an official follow button available. You just can't customize it much.
There is a deprecetaed follow button. But the page plugin is the way to go. Again not a lot of options for customization.
google +
We do have a follow button for Google +. And this one does not require a client ID.