DataTalksClub / DataTalksClub/datatalksclub.github.io
Reusable CTA banners
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 381
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
Define a reusable include with variants (banner / sidebar / inline), pull content from either
(a) a named CTA in _data/ctas.yml
b) page-level overrides in front matter.
Then drop the include where you want it (top, sidebar, inline). This gives you global control + page-specific flexibility.
Steps:
1) Create a CTA catalog
_data/ctas.yml: reusable, named CTAs you can reference across pages.
data_engineering_zoomcamp:
title_text: "Start Data Engineering Zoomcamp"
description: Want to learn data engineering? DE Zoomcamp ...
cta_text: "Register now"
url: "/zoomcamp/"
target: "_self"
2) A single include that supports variants + overrides
_includes/cta.html
3) Minimal styles (three variants)
Add to your CSS:
/* Banner (top) */
/* Sidebar (card-like) */
/* Inline (within article body) */
4) How to place CTAs
5) Per-page overrides (front matter)
If a page needs a unique CTA without inventing a new catalog entry:
---
title: "ML Zoomcamp: Module 5"
cta:
---
6) Define which pages should have which CTAs
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the requested _data/ctas.yml and _includes/cta.html paths, then locate the site's CSS and the pages that should receive CTAs. Done means the catalog, banner/sidebar/inline variants, page-level overrides, and page placement rules described in the issue are defined and usable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css, html, jekyll, yaml
- Domain
- content, web-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100