Skip to content

Instantly share code, notes, and snippets.

@Sharparam
Created August 18, 2026 11:20
Show Gist options
  • Select an option

  • Save Sharparam/8a7a345e37f9e09ef8c5711de387d4ba to your computer and use it in GitHub Desktop.

Select an option

Save Sharparam/8a7a345e37f9e09ef8c5711de387d4ba to your computer and use it in GitHub Desktop.
Humble Bundle reddit table generator
(function() {
const slides = $$('div.tier-item-details-collection-view .slick-slide .tier-item-details-view');
const entries = slides.map((slide) => {
const name = slide.querySelector('h2.heading-medium').textContent;
const tier = slide.querySelector('.tier-price').textContent.match(/Pay at least (€\d+(\.\d+)?)/)[1];
const sort = Number(tier.match(/\d+/)[0]);
const pubdevs = Array.from(slide.querySelectorAll('.publishers-and-developers')).map(e => {
const m = e.textContent.match(/(\w+):\s*([^\n]+)/);
return [m[1], m[2]];
});
const pdmap = Object.fromEntries(pubdevs);
return { sort, name, tier, dev: pdmap.Developer || 'N/A', pub: pdmap.Publisher || 'N/A' };
});
entries.sort((a, b) => {
if (a.sort == b.sort) {
if (a.name < b.name) {
return -1;
} else if (a.name > b.name) {
return 1;
}
return 0;
}
return a.sort - b.sort;
});
let table = [
'|TITLE | DEVELOPER | PUBLISHER | TIER|',
'|-|-|-|-|'
];
for (const entry of entries) {
table.push(`| ${entry.name} | ${entry.dev} | ${entry.pub} | ${entry.tier} |`)
}
return table.join("\n");
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment