diff --git a/docs/css/pills.css b/docs/css/pills.css
index e8286967ee..527a9596ca 100644
--- a/docs/css/pills.css
+++ b/docs/css/pills.css
@@ -42,12 +42,12 @@
.pill--new-feature::after {
content: "New feature";
}
-.pill--first-release {
+.pill--feature-launch {
color: #2C9445;
border-color: #2C9445;
}
-.pill--first-release::after {
- content: "First release";
+.pill--feature-launch::after {
+ content: "Feature launch";
}
.pill--inline:first-of-type {
margin-left: 8px;
diff --git a/docs/release_notes/ibexa_dxp_v4.6.md b/docs/release_notes/ibexa_dxp_v4.6.md
index e96dd515c4..46a90b20b9 100644
--- a/docs/release_notes/ibexa_dxp_v4.6.md
+++ b/docs/release_notes/ibexa_dxp_v4.6.md
@@ -6,7 +6,7 @@ month_change: true
-[[= release_notes_filters('Ibexa DXP v4.6 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_notes_filters('Ibexa DXP v4.6 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
@@ -133,7 +133,7 @@ The PHP API has been enhanced with the following classes and interfaces:
[[% set version = 'v4.6.26' %]]
-[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
Integrated help, a new [LTS Update](https://doc.ibexa.co/en/4.6/ibexa_products/editions/#lts-updates), brings contextual documentation, guidance, and partner-specific resources right into the user interface of [[= product_name =]].
It helps editors, store managers, and developers to quickly access relevant content, training and resources without leaving the UI, narrowing the gap between product and documentation.
@@ -265,7 +265,7 @@ To learn more, see the [corresponding security advisory](https://developers.ibex
[[% set version = 'v4.6.24' %]]
-[[= release_note_entry_begin("Collaboration " + version, '2025-09-09', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Collaboration " + version, '2025-09-09', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
#### Collaboration
@@ -392,7 +392,7 @@ The Product Picker tool that, for example, lets you [select products eligible fo
[[% set version = 'v4.6.22' %]]
-[[= release_note_entry_begin("Symbol attribute " + version, '2025-08-05', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Symbol attribute " + version, '2025-08-05', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
The Symbol attribute allows you to store standardized identifiers of your products in the [Product Information Management](https://doc.ibexa.co/en/4.6/pim/pim_guide/) system.
@@ -592,7 +592,7 @@ The PHP API has been enhanced with the following new classes:
[[% set version = 'v4.6.19' %]]
-[[= release_note_entry_begin("Discounts " + version, '2025-04-09', ['Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Discounts " + version, '2025-04-09', ['Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
With the Discounts LTS Update, you can temporarily or permanently reduce prices on specific products or categories, making deals more attractive to potential buyers.
@@ -685,7 +685,7 @@ The PHP API has been enhanced with the following new classes:
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("Date and time attribute " + version, '2025-03-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Date and time attribute " + version, '2025-03-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
The Date and time attributes allow you to represent date and time values as part of the product specification in the [Product Information Management](https://doc.ibexa.co/en/4.6/pim/pim_guide/) system.
@@ -935,7 +935,7 @@ The PHP API has been enhanced with the following new classes and interfaces:
[[% set version = 'v4.6.12' %]]
-[[= release_note_entry_begin("AI Actions " + version, '2024-10-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("AI Actions " + version, '2024-10-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
The AI Actions LTS update enhances the usability and flexibility of [[=product_name=]] v4.6 LTS by harnessing the potential of artificial intelligence to automate time-consuming editorial tasks.
By default, the AI Actions feature can help users with their work in following scenarios:
@@ -1145,7 +1145,7 @@ To learn more, see the [corresponding security advisory](https://developers.ibex
[[% set version = 'v4.6.0' %]]
-[[= release_note_entry_begin("Ibexa DXP " + version, '2024-02-13', ['Headless', 'Experience', 'Commerce', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Ibexa DXP " + version, '2024-02-13', ['Headless', 'Experience', 'Commerce', 'New feature', 'Feature launch']) =]]
### Notable changes
diff --git a/docs/release_notes/ibexa_dxp_v5.0.md b/docs/release_notes/ibexa_dxp_v5.0.md
index 0812d3e479..7aef2dc8ab 100644
--- a/docs/release_notes/ibexa_dxp_v5.0.md
+++ b/docs/release_notes/ibexa_dxp_v5.0.md
@@ -6,7 +6,7 @@ month_change: true
-[[= release_notes_filters('Ibexa DXP v5.0 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_notes_filters('Ibexa DXP v5.0 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
@@ -167,7 +167,7 @@ The [Collaborative editing](https://doc.ibexa.co/en/5.0/content_management/colla
[[% set version = 'v5.0.4' %]]
-[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
Integrated help brings contextual documentation, guidance, and partner-specific resources right into the user interface of [[= product_name =]].
It helps editors, store managers, and developers to quickly access relevant content, training and resources without leaving the UI, narrowing the gap between product and documentation.
@@ -180,7 +180,7 @@ For more information, see [Integrated help](https://doc.ibexa.co/en/5.0/administ
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("Anthropic connector " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Anthropic connector " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']) =]]
This release introduces a new AI connector that allows you to integrate [AI Actions](https://doc.ibexa.co/en/5.0/ai_actions/ai_actions/) with [Anthropic Claude](https://claude.com/product/overview).
@@ -526,7 +526,7 @@ This release brings additional minor improvements to the developer's experience
[[% set version = 'v5.0.0' %]]
-[[= release_note_entry_begin("Ibexa DXP " + version, '2025-07-22', ['Headless', 'Experience', 'Commerce', 'New feature', 'First release']) =]]
+[[= release_note_entry_begin("Ibexa DXP " + version, '2025-07-22', ['Headless', 'Experience', 'Commerce', 'New feature', 'Feature launch']) =]]
### Notable changes
diff --git a/main.py b/main.py
index af2a37be87..8e4da6101c 100644
--- a/main.py
+++ b/main.py
@@ -64,78 +64,59 @@ def cards(pages, columns=1, style="cards", force_version=False):
page = page_data
custom_title = None
custom_description = None
-
- path, hash = page.split("#") if "#" in page else (page, "")
- if hash:
- hash = '#' + hash
-
- if re.search("^https://[^@/]+.ibexa.co", path):
- html = True
- content = urllib.request.urlopen(path).read().decode('utf-8')
- elif re.search(".html$", path):
- html = True
- content = open("docs/%s" % path, "r").read()
- page = '/'.join((
- '/',
- site,
- language,
- version,
- page
- ))
- else:
- html = False
- path = path.rstrip('/')
- content = open("docs/%s.md" % path, "r").read()
- page = '/'.join((
- '/',
- site,
- language,
- version,
- path,
- hash
- ))
-
- if html:
- match = re.search("(.*)", content, re.MULTILINE)
+ match = re.search("https://[^@/]+.ibexa.co", page)
+ if match:
+ with urllib.request.urlopen(page) as file:
+ content = file.read().decode('utf-8')
+ match = re.search("(.*)", content, re.MULTILINE)
+ if match:
+ title = match.groups()[0]
+ else:
+ title = ""
+ match = re.search(" str:
return text.lower().replace(' ', '-')
def validate_categories(categories: List[str]) -> None:
- available_categories = ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']
+ available_categories = ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'Feature launch']
for category in categories:
if category not in available_categories:
diff --git a/scss/_variables.scss b/scss/_variables.scss
index d13111283b..6be780ff19 100644
--- a/scss/_variables.scss
+++ b/scss/_variables.scss
@@ -27,6 +27,6 @@ $color-experience: #D3822B;
$color-commerce: #A32768;
$color-lts-update: #5DA7C0;
$color-new-feature: #2C9445;
-$color-first-release: #2C9445;
+$color-feature-launch: #2C9445;
$color-new-doc: #3562A0;
diff --git a/scss/pills.scss b/scss/pills.scss
index e94a4c0a1a..71e448c462 100644
--- a/scss/pills.scss
+++ b/scss/pills.scss
@@ -16,7 +16,7 @@
"commerce": (variables.$color-commerce, "Commerce"),
"lts-update": (variables.$color-lts-update, "LTS Update"),
"new-feature": (variables.$color-new-feature, "New feature"),
- "first-release": (variables.$color-first-release, "First release")
+ "feature-launch": (variables.$color-feature-launch, "Feature launch")
);
@each $name, $values in $types {