How Can You Add Disqus Comments and Newsletter Signup to Mediumish on GitHub Pages
Why Add Interactivity to a Static Jekyll Blog
Jekyll is a static site generator by nature, which means it doesn’t support dynamic server-side features out of the box. However, you can still enable powerful interactivity on your GitHub Pages blog by integrating third-party services like Disqus for comments, Mailchimp or Buttondown for newsletters, and share buttons from AddThis or ShareThis.
These features not only improve user engagement but also help grow your audience and build a sense of community on an otherwise static blog.
How Do You Enable Disqus Comments on Mediumish
Disqus is one of the most popular commenting platforms for blogs, and Mediumish comes with optional support for it. Here's how to enable it:
Step 1: Create a Disqus Account and Site
- Go to disqus.com and sign up.
- Create a new "site" and pick a shortname (e.g.,
mytechblog). - Copy that shortname — you'll need it for your Jekyll configuration.
Step 2: Edit _config.yml
disqus:
shortname: mytechblog
Step 3: Ensure Disqus Code is in Your Post Layout
Open _layouts/post.html and look for the Disqus include. If it's not there, add:
{% raw %}{% if site.disqus.shortname %}
{% include disqus_comments.html %}
{% endif %}{% endraw %}
Step 4: Include the Disqus Partial
Make sure your theme includes a file at _includes/disqus_comments.html. If not, create it with the following content:
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = '{{ page.url | absolute_url }}';
this.page.identifier = '{{ page.url }}';
};
(function() {
var d = document, s = d.createElement('script');
s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
How to Add a Newsletter Signup Form
Collecting email subscribers is one of the most effective ways to retain readers and grow a loyal audience. You can add newsletter signup forms to your Jekyll blog using services like:
- Mailchimp – powerful but can be complex
- Buttondown – minimalist and made for developers
- ConvertKit – more advanced targeting and automations
Option 1: Buttondown Integration (Simple and Privacy-Friendly)
Step 1: Sign Up at Buttondown
Go to buttondown.email and create an account.
Step 2: Copy Embed Code
Navigate to your account settings → integrations → embed form. You’ll get code like this:
<form action="https://buttondown.email/api/emails/embed-subscribe/YOURUSERNAME" method="post" target="popupwindow" onsubmit="window.open('https://buttondown.email/YOURUSERNAME', 'popupwindow')" class="embeddable-buttondown-form">
<label for="bd-email">Subscribe for updates</label>
<input type="email" name="email" id="bd-email" />
<input type="submit" value="Subscribe" />
</form>
Step 3: Paste It in a Sidebar or Footer
Edit _includes/sidebar.html or _includes/footer.html and paste the embed code where you want the form to appear.
Option 2: Mailchimp Integration (Feature-Rich)
Step 1: Log in to Mailchimp and Create a List
Create a list (audience) in your account dashboard.
Step 2: Design a Signup Form
Use the form builder to generate an HTML form embed.
Step 3: Paste the Embed Code in Your Layout
Just like with Buttondown, paste the form where appropriate.
Privacy Notice
Always include a privacy notice or link to your privacy policy page to remain GDPR-compliant.
How to Add Social Share Buttons
Allowing users to share your posts increases reach and encourages social distribution. There are two main ways to add share buttons:
Method 1: Use ShareThis or AddThis
These platforms offer JavaScript-based share bars.
Step 1: Sign Up and Customize
Go to sharethis.com or addthis.com, create an account, and design your share buttons.
Step 2: Get the Embed Script
Copy the script snippet provided by the platform.
Step 3: Paste in _includes/head.html or Before </body>
<script type="text/javascript" src="https://platform-api.sharethis.com/js/sharethis.js#property=XXXXXXX&product=inline-share-buttons" async="async"></script>
Method 2: Use Custom HTML Share Links
<script type="text/javascript" src="https://platform-api.sharethis.com/js/sharethis.js#property=XXXXXXX&product=inline-share-buttons" async="async"></script>Use platform URLs with your post data to create manual buttons.
Example
<a href="https://twitter.com/share?url={{ page.url | absolute_url }}&text={{ page.title }}" target="_blank">Tweet</a>
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url }}" target="_blank">Share</a>
<a href="https://www.linkedin.com/shareArticle?url={{ page.url | absolute_url }}" target="_blank">LinkedIn</a>
These can be styled with FontAwesome icons or custom CSS.
How to Add a Feedback Widget (Optional)
If you want quick feedback (like thumbs up/down), consider using tools like:
For example, a simple feedback block:
<div class="feedback-box">
<p>Was this article helpful?</p>
<button>👍 Yes</button>
<button>👎 No</button>
</div>
This won't store responses unless connected to a backend, but it's good for perceived interaction.
Can You Track Interactions from These Features
Yes. Tools like Google Analytics and Plausible Analytics allow you to track form submissions, Disqus activity, and social share clicks by setting up event tracking.
Example: Track Buttondown Form Submission
<form onsubmit="gtag('event', 'subscribe_click', { 'event_category': 'Newsletter', 'event_label': 'Buttondown' });">
Conclusion
Adding interactivity to your Mediumish blog on GitHub Pages transforms it from a static reading experience into an engaging platform. With Disqus, readers can comment and join discussions. With newsletter forms, you can build a loyal audience. And with social sharing, your content travels far beyond your domain.
In the next article, we’ll explore how to optimize your Mediumish theme for speed and SEO — ensuring it loads fast and ranks well in search engines while remaining lightweight and reader-focused.
