Your HubSpot site needs a resource hub. A place where visitors can browse your ebooks, case studies, webinars, templates, and guides in one spot and filter by category or type. Marketing uses it to gate lead magnets. Sales links prospects to relevant case studies. SEO wants one indexable page with all your content assets instead of ten scattered landing pages. Every B2B site needs one. HubSpot has no native way to build it.
Your options today are not great. Build it in HubDB, which means a database table, a custom listing template, a detail template, and three weeks of developer time. Build it in a blog and use tags as categories, which breaks when you want non-blog content like videos or downloadable PDFs. Buy a $50 per month headless CMS and iframe it in, which loads slowly and tanks your Core Web Vitals. Or paste fifteen cards into a rich text block and call it a day, which works until you hit sixteen resources and the page becomes unmaintainable.
Resource Library Pro is a HubSpot CMS module that turns any page into a filterable, searchable resource hub. Add resources as repeater items from the page editor, set a category and type for each, and the module renders a responsive grid with live search, auto-generated category filters, grid and list view toggle, and a slide-in detail drawer. No HubDB. No custom template. Works on CMS Starter.
Every resource is a repeater item you edit directly from the page editor. No database, no separate content type, no second CMS to learn. Click the plus button, fill in the fields, save the page. Done.
Each resource has a title, short description, thumbnail image, resource type, category, URL, gated flag, custom CTA text, optional author, optional date, optional file info (like "PDF, 48 pages"), and an optional rich text drawer description. Every field except the title is optional, so you can start with a minimal card and add more detail only where it matters.
Ten resource types are built in: whitepaper, ebook, case study, webinar, template, guide, report, video, toolkit, and checklist. Each renders as a small type badge on the card. The type is also searchable, so if a visitor types "webinar" in the search box, every webinar in your library surfaces.
The maximum is 100 resources per module instance. That is enough for almost any real resource hub. If you have more than 100 assets, you can add a second Resource Library Pro module on a separate page (for example, split by department or product line) or request a higher limit by contacting us.
Category filters generate automatically from your resource data. Set a category on each resource ("Marketing", "Sales", "Brand Strategy", "Web Design", whatever makes sense for your library), and the module renders a horizontal row of filter pills at the top of the grid. Click a pill to show only resources in that category. Click the "All" pill to clear the filter.
You do not create the filter list manually. You do not maintain it in a separate field. If you add a new resource with a category that does not exist yet, a new filter pill appears automatically. If you delete every resource in a category, that filter pill disappears. The filter list always stays in sync with the content.
This matters when a marketing team owns the content. They add, edit, and remove resources without touching any configuration. The filter UI adapts to whatever they publish.
The search bar at the top of the module filters resources in real time as you type. It matches against the title, description, and resource type simultaneously. Type "brand" and every resource with "brand" in the title or description appears, plus every resource of type "brand" if you had one. Type "webinar" and every webinar surfaces regardless of its title.
Search combines with category filters. Select the "Marketing" category and then type "email" in the search box, and you get only the marketing resources with "email" in them. Clear either one and the other stays active.
Every label in the toolbar is editable from the module fields. Search placeholder text, "All" button label, "no results" message, gated badge, free badge, CTA text — everything. So the module works in any language without code changes. Change the search placeholder to "Recherche de ressources..." and it is a French resource library. No localization files, no theme editing.
What should happen when a visitor clicks a resource card? The answer depends on your content strategy, so the module supports three modes.
Drawer mode (default). Clicking a card opens a slide-in detail panel on the right side of the screen with the full description, thumbnail, metadata grid (author, date, file info, type, category), gated or free badge, and a CTA button that links to the resource URL. The drawer supports rich text, so the long description can include headings, bullet lists, bolded key points, and inline links to related content. This is the best mode for gated content where you want the visitor to preview what is inside before clicking through to a landing page with a form.
Direct link mode. Clicking a card skips the drawer and goes straight to the resource URL. Use this when every resource is a free download or external video and there is no need for an intermediate step. The cards become regular links.
No action mode. Cards are non-clickable. Only the CTA button on each card is clickable. Use this when you want the CTA to be the one and only call to action and the rest of the card to be display-only. Good for layouts where the card itself is visual decoration around a single download button.
Visitors can switch between a card grid layout and a horizontal list layout with a view toggle button in the toolbar. The grid shows a configurable number of columns (default is three on desktop) with thumbnail on top, content below. The list shows each resource as a horizontal row with thumbnail on the left and content on the right, similar to a search result layout.
List view is useful for libraries with long titles and descriptions that get truncated in a card grid. It is also more scannable on larger screens because visitors can read multiple descriptions at a glance without hovering. You can set the default view from the module settings and hide the toggle entirely if you only want one layout.
The grid is fully responsive with configurable breakpoints. Set the desktop column count (any number from two to six), and the module automatically collapses to two columns on tablet (below 768px by default) and one column on mobile (below 480px by default). Both breakpoints are configurable from the style tab, so you can match your theme exactly.
The toolbar wraps on smaller screens so the search bar, filters, and view toggle stack vertically when they do not fit on one line. The detail drawer becomes a bottom sheet on mobile instead of a side panel, which is the standard mobile pattern for this kind of content. Every interaction works with touch, keyboard, and mouse.
The module is keyboard accessible. Tab through cards to focus each one with a visible focus ring. Press enter to activate the click action. Arrow keys navigate between filter pills. The search input has proper label and placeholder semantics for screen readers. The drawer has ARIA role and label attributes so assistive technology announces it correctly when it opens.
Focus trapping keeps keyboard users inside the drawer while it is open, and pressing escape closes the drawer and returns focus to the card that triggered it. These are the details most HubSpot modules skip, and they are the reason this one passes WCAG 2.1 AA audits without additional work.
The style tab has more than 70 fields covering every visual detail. Container max width, horizontal padding, section background, heading color and font size, eyebrow color, subtitle color, card background, card border color, card hover border color, card title color, card description color, type badge background and text, gated badge colors, free badge colors, search bar background, border, focus state, and text colors, filter pill background, text, active background, active text, border colors, CTA color, shadow color, and so on for every element in the module.
Two font pickers let you pick the heading font and the body font independently. Both inherit from the theme's primary and body font settings by default, so the module matches your site out of the box. Override either one if you want a specific font for the resource library that differs from the rest of the site.
Card padding, border radius, border width, shadow presets (none, small, medium, large), hover shadow, thumbnail height, thumbnail radius, gap between cards, CTA button padding, badge padding, and title font weight are all controlled from fields. No CSS edits needed.
A marketing resource hub. Ebooks, whitepapers, case studies, webinars, and templates organized by topic. Drawer mode with rich long descriptions that preview what is inside each download. Gated resources link to a HubSpot landing page with a form. Free resources link directly to the PDF.
A sales enablement library. Internal-facing page (password-protected with HubSpot's access rules) with sales decks, battlecards, competitor comparisons, and case studies organized by industry and product. Direct link mode for instant access. List view for fast scanning.
A customer success knowledge base. Product guides, setup tutorials, best practice documents, and video walkthroughs organized by feature area. Drawer mode shows full descriptions so customers can preview before downloading. Search makes it fast to find a specific topic.
A partner portal. Logos, brand guidelines, product specs, co-marketing assets. Gated versus free badges show which assets require approval. Author and date fields show who maintains each asset and when it was last updated.
An investor and press kit page. Annual reports, press releases, logo assets, executive bios, fact sheets. Categories separate investor content from media content. Direct link mode for fast access to downloadable PDFs.
An event resource archive. After a conference or webinar series, upload the recordings, slide decks, and related reading as separate resources. Category by session track. Visitors who missed the live event can browse everything in one place.
Resource Library Pro is a standalone module. It works on any HubSpot CMS template regardless of theme. Drop it on a page, fill in the fields, and it matches your site's theme colors and fonts through inheritance. No theme installation required. No new templates to upload. No HubDB tables to create.
It works on HubSpot CMS Starter, which is the lowest CMS tier and does not include HubDB. Every other resource library solution for HubSpot requires CMS Professional or Enterprise because of the HubDB dependency. This module removes that barrier.
Resource Library Pro is available on the HubSpot Marketplace for $9.99. One-time purchase, no subscription, no external dependencies. Works on every HubSpot CMS tier including Starter.
If your site needs a filterable resource hub and you don't want to build one from scratch in HubDB or pay for a headless CMS, this is the module.