Skip to content
6 changes: 3 additions & 3 deletions docs/css/pills.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 8 additions & 8 deletions docs/release_notes/ibexa_dxp_v4.6.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ month_change: true

<!-- vale Ibexa.VariablesVersion = NO -->

[[= 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']) =]]

<div class="release-notes" markdown="1">

Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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.

Expand Down Expand Up @@ -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.

Expand Down Expand Up @@ -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.

Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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

Expand Down
8 changes: 4 additions & 4 deletions docs/release_notes/ibexa_dxp_v5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ month_change: true

<!-- vale VariablesVersion = NO -->

[[= 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']) =]]

<div class="release-notes" markdown="1">

Expand Down Expand Up @@ -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.
Expand All @@ -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).

Expand Down Expand Up @@ -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

Expand Down
107 changes: 44 additions & 63 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"""


def define_env(env):

Check failure on line 23 in main.py

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 67 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=ezsystems_developer-documentation&issues=AZy--km780baJcy_fKuG&open=AZy--km780baJcy_fKuG&pullRequest=3066
"""
This is the hook for defining variables, macros and filters

Expand Down Expand Up @@ -64,78 +64,59 @@
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("<meta property=\"og:title\" content=\"(.*)\"", content, re.MULTILINE)
if match:
title = match.groups()[0]
else:
match = re.search("<title>(.*)</title>", 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("<meta property=\"og:title\" content=\"(.*)\"", content, re.MULTILINE)
if match:
title = match.groups()[0]
else:
title = ""
match = re.search("<meta property=\"og:description\" content=\"(.*)\"", content, re.MULTILINE)
if match:
description = match.groups()[0]
else:
match = re.search("<meta name=\"description\" content=\"(.*)\"", content, re.MULTILINE)
match = re.search("<title>(.*)</title>", content, re.MULTILINE)
if match:
title = match.groups()[0]
else:
title = ""
match = re.search("<meta property=\"og:description\" content=\"(.*)\"", content, re.MULTILINE)
if match:
description = match.groups()[0]
else:
description = ""
href = page
match = re.search("<meta name=\"description\" content=\"(.*)\"", content, re.MULTILINE)
if match:
description = match.groups()[0]
else:
description = ""
href = page
title = custom_title if custom_title else title
title = title.replace("(Ibexa Documentation)", "").strip()
description = custom_description if custom_description else description
else:
match = re.search("^# (.*)", content, re.MULTILINE)
if match:
header = match.groups()[0]
else:
header = ""
default_meta = {
"title": header,
"short": "",
"description": ""
}
current_meta = {
**default_meta,
**meta.get_data(content)[1]
}
href = page
title = custom_title if custom_title else current_meta['short'] or current_meta['title']
description = custom_description if custom_description else current_meta['description'] or "&nbsp;"
file, _ = page.split("#") if "#" in page else (page, "")
with open("docs/%s.md" % file, "r") as doc_file:
doc = doc_file.read()
match = re.search("^# (.*)", doc, re.MULTILINE)
if match:
header = match.groups()[0]
else:
header = ""
default_meta = {
"title": header,
"short": "",
"description": ""
}
doc_meta = {
**default_meta,
**meta.get_data(doc)[1]
}
href = '/'.join((
'/',
site,
language,
version,
page
))
title = custom_title if custom_title else doc_meta['short'] or doc_meta['title']
description = custom_description if custom_description else doc_meta['description'] or "&nbsp;"

cards.append(
CARDS_TEMPLATE % (
Expand Down Expand Up @@ -227,7 +208,7 @@
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:
Expand Down
2 changes: 1 addition & 1 deletion scss/_variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -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;
2 changes: 1 addition & 1 deletion scss/pills.scss
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Loading