Skip to content

A quick attempt at recreating the Gumroad overlay, made in vanilla Javascript and available to be imported as a one-line script tag via UNPKG.

Notifications You must be signed in to change notification settings

s-munro/gumroad-overlay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gumroad-overlay

Screen Shot 2021-04-16 at 1 56 45 AM


Hello and thank you for reviewing. In the following README I've documented the functionalities of my demo, as well as how you can try it out locally. Please read on for information and instructions!

How to Demo
Features and Limitations

Demo

Apr-17-2021.17-41-41.mp4

How to Demo

Best method (one-line script tag)

To simulate something as close as possible to the authentic Gumroad overlay, this project was set up so that a user could import one line of code into their site for functionality:

<script src="https://unpkg.com/[email protected]/dist/script.js"></script>

From there, they will only have to create a gumroad button:

<a class="samroad-button" href="https:/gum.co/peVsK" data-show="true">Buy my product</a>

Please note that changing data-show to false will remove the button. This was done as a demonstration for Sahil's request: "Read data-attrs of the anchor tags to show a button or not, make it embed or not, etc."

Ultimately, to use simply import these two lines of code into your website

<a class="samroad-button" href="https:/gum.co/peVsK" data-show="true">Buy my product</a>
<script src="https://unpkg.com/[email protected]/dist/script.js"></script>

Alternatively (cloning this repo)

For convenience, I've included an index.html file in this with everything already set-up. To run, simply clone this repository and run the index.html file in your browser. Please note: codepen and jsfiddle seem to modify iframe href attributes, so testing out my script imports in jsfiddle or codepen will not work. I haven't tested this in codesandbox yet.

Screen Shot 2021-04-16 at 1 57 58 AM

Features and Limitations

A mock-up of the Gumroad Overlay, done as a coding challenge for Gumroad. In addition to utilizing an iframe to access a gumroad product page, this script does the following:

  • Can be implemented as a single javascript file or `script tag` (see below)
  • Supports custom subdomains for creators (e.g. sahil.gumroad.com/pencil). Currently Non-gumroad domains are unsupported, but I would like to add in this functionality.
  • Early loads pages on hover
  • Has a specified `data-attr` to modify the button

I came across certain iframe-related CORS restrictions while trying to replicate/implement certain functionalities and styles, so I'm intrigued by how Gumroad worked around this. Specifically, it seems that the actual Gumroad overlay may not be an iframe (I investigated via inspect tool). Nevertheless, I stuck with iframes to follow along with the challenge's instructions.

Screen Shot 2021-04-16 at 1 56 09 AM

About

A quick attempt at recreating the Gumroad overlay, made in vanilla Javascript and available to be imported as a one-line script tag via UNPKG.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published