Skip to content

Enhancement: Add Hugo / Jekyll Integration β€” demo page section and CDN usage guideΒ #51

@coderabbitai

Description

@coderabbitai

🎯 Direction

SocialShareButton is a lightweight, zero-dependency, framework-agnostic social sharing component. Hugo and Jekyll are the most widely used static site generators for open-source project sites, documentation, and blogs β€” exactly the type of pages where a social share button adds the most value. No wrapper file is needed; integration is entirely CDN-based and dropped into the site's base layout template.

πŸ“Ή See the button in action: https://youtu.be/cLJaT-8rEvQ?si=CLipA0Db4WL0EqKM


πŸ“ Files to Create / Modify

ℹ️ No New Wrapper File Needed

Hugo and Jekyll generate static HTML β€” integration is done via CDN <script> and <link> tags placed in the base layout template. No JavaScript framework wrapper is required.


βœ… Existing File: index.html β€” Add Hugo / Jekyll Integration Section

Add a new section with:

  • Section heading: πŸ“„ Hugo / Jekyll Integration
  • Step 1: Add CDN links to the base layout template
  • Step 2: Add the container element and initialization script to the layout or a shortcode/include

Hugo (layouts/_default/baseof.html):

<!-- In <head> -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/social-share-button/dist/social-share-button.css">

<!-- Before </body> -->
<script src="https://cdn.jsdelivr.net/npm/social-share-button/dist/social-share-button.js"></script>
<div id="share-button"></div>
<script>
  new SocialShareButton({
    container: '#share-button',
    url: window.location.href,
    title: document.title,
    description: '{{ .Description }}',
    theme: 'dark',
    buttonText: 'Share'
  });
</script>

Jekyll (_layouts/default.html):

<!-- In <head> -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/social-share-button/dist/social-share-button.css">

<!-- Before </body> -->
<script src="https://cdn.jsdelivr.net/npm/social-share-button/dist/social-share-button.js"></script>
<div id="share-button"></div>
<script>
  new SocialShareButton({
    container: '#share-button',
    url: window.location.href,
    title: document.title,
    description: '{{ page.description }}',
    theme: 'dark',
    buttonText: 'Share'
  });
</script>

βœ… Acceptance Criteria

  • No new wrapper file required β€” integration is HTML/CDN only
  • index.html updated with a Hugo / Jekyll section containing separate code snippets for both generators
  • Copy-to-clipboard button present on new code blocks in index.html
  • README updated to list Hugo and Jekyll as supported integration patterns

⚠️ Planned β€” Not Final
This issue represents a planned enhancement and is not guaranteed to be implemented. It may be dropped if it does not align with the repository's direction. Before opening a pull request, please discuss with the maintainers in this issue thread.

Metadata

Metadata

Assignees

No one assigned

    Labels

    plannedPlanned feature - not final, may be dropped based on repo direction

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions