
The Roadmap Template is designed to help you present any roadmap — whether it’s for a product, blog, course, or content strategy — in a way that is both professional and easy to follow.
It comes with built-in features like a related roadmaps section and a dedicated card with a call-to-action for promoting additional content or products. It’s fully responsive out of the box and easy to adapt to your unique style and branding.
Whether you’re publishing a learning path, showcasing a product roadmap, or guiding readers through step-by-step content, this template gives you everything you need to deliver a clear and conversion-focused experience.
Easy to Setup
---import Roadmap from '@templates/Roadmap.astro'
const layout = { seo: { ... } // Your SEO configuration menu: { ... } // Menu configuration footer: { ... } // Footer configuration}---
<Roadmap layout={layout} title="Learning Astro" {/* h1 title of your page */} subTitle="A step-by-step journey..." {/* An optional subtitle */} badge={{ ... }} {/* Badge for further context displayed under the titles */} topics={{ ... }} {/* A list of topics rendered with icons */} roadmap={{ ... }} {/* The data for the main roadmap */} relatedRoadmaps={{ ... }} {/* Related roadmaps under the main roadmap */} cardWithCta={{ ... }} {/* Card with call to action */} recommended={{ ... }} {/* A list of recommended content */}> <Fragment slot="right-sidebar"> <h2>About This Roadmap</h2> ... </Fragment></Roadmap>
---import Roadmap from '@templates/Roadmap.astro'
// Your layout with SEO, including menu and footerconst layout = { seo: { title: 'Roadmap Template - Webcore', url: 'https://webcoreui.dev/', description: 'Step-by-step roadmaps for guides, blogs, or products.', faviconUrl: '/logo.svg', canonical: 'https://webcoreui.dev/', prefetchGTAG: true, prefetchGA: true, meta: [{ name: 'keywords', content: 'roadmap' }] }, menu: { logo: { html: logo }, items: [ { name: 'Templates', href: '/templates' } ] }, footer: { logo: { html: logo }, columns: [ { title: 'Sitemap', items: [ { name: 'Home', href: '/' }, { name: 'Roadmaps', href: '/roadmaps' } ] } ], subText: `© ${new Date().getFullYear()} Webcore. All Rights Reserved.` }}
// Title and optional subtitle for the pageconst title = 'Learning Astro'const subTitle = 'A step-by-step journey to mastering modern web development with Astro.'
// Badge shown under the title and subtitleconst badge = { text: '📚 21 lessons - Beginner to Pro', theme: 'outline'}
// A list of topics, displayed under the children. Defaults to two columns with check iconsconst topics = { title: 'What is covered?', items: [ { text: 'Astro fundamentals: islands and components' }, { text: 'Styling with CSS, Sass, and frameworks' } ]}
// The main roadmap itemsconst roadmap = { items: [{ img: { src: '/img/astro-basics.png', alt: 'Astro basics illustration', width: 150, height: 150 }, title: 'Getting Started with Astro', subTitle: 'Kick off your journey', meta: '5 min read', text: 'Learn how to set up your Astro project.', href: '/basics' }]}
// A list of related roadmaps, displayed right under the main roadmapconst relatedRoadmaps = { title: 'Related Roadmaps', showPosition: false, items: [{ img: { src: '/img/react-roadmap.png', alt: 'React roadmap', width: 200, height: 200, lazy: true }, ribbon: { text: 'New', theme: 'alert' }, title: 'Learning React', subTitle: 'From basics to advanced hooks', text: 'A structured path to building strong foundations in React.', href: '/related-roadmaps' }]}
// A card with a call to actionconst cardWithCta = { title: 'Take Your Astro Skills to the Next Level', children: 'After completing this roadmap, dive deeper into advanced topics.', secondary: true, img: { src: '/img/astro-next.png', alt: 'Astro Next Level', width: 500, height: 150, lazy: true }, button: { text: 'Explore Advanced Guides ->', href: '/explore' }}
// A 3 column layout of recommended cardsconst recommended = { title: 'Recommended Resources', items: [{ img: { src: '/img/astro-vs-next.png', alt: 'Astro vs Next.js blog post', width: 250, height: 150, lazy: true }, title: 'Astro vs Next.js', text: 'Which one should you pick?', href: '/astro-vs-next' }]}---
<Roadmap layout={layout} title={title} subTitle={subTitle} badge={badge} topics={topics} roadmap={roadmap} relatedRoadmaps={relatedRoadmaps} cardWithCta={cardWithCta} recommended={recommended}/>
type RoadmapProps = { layout: LayoutProps title: string subTitle?: string badge?: { text: string icon?: IconProps['type'] | string } & BadgeProps topics?: { title?: string items: (Omit<IconListProps['items'][number], 'icon'> & { icon?: IconListProps['items'][number]['icon'] })[] } & Pick<IconListProps, 'color' | 'columns'> roadmap: ToplistProps relatedRoadmaps?: { title?: string } & ToplistProps cardWithCta?: { children: string } & CardWithCtaProps recommended?: { title?: string items: BlogCardProps[] } [key: string]: any}
Key Features
- Structured roadmap with sticky sidebar: Present your roadmap in a clear, easy-to-follow layout with an optional sticky sidebar for extra context or resources.
- Flexible for guides, courses, or product updates: Ideal for step-by-step learning paths, content roadmaps, or ongoing product development updates.
- Built-in related roadmap section: Promote additional content, related courses, or upcoming updates to keep readers engaged.
- Integrated call-to-action block: Highlight next steps, premium content, or upsell opportunities with a dedicated CTA card.
- Customizable to fit your brand and needs: Easily adjust styling, content, and layout to match your unique publishing goals.
- Responsive and publishing-ready: Optimized for all devices so your roadmap looks great on desktop, tablet, and mobile.
Documentation
We've collected the following documentations for you that can help you get the most out of this template: