Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 92 additions & 1 deletion docs/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ body {
}

.md-typeset h1 {
margin: 0 0 1rem;
margin: 0 0 0.5rem;
font-size: 24px;
line-height: 34px;
}
Expand Down Expand Up @@ -649,3 +649,94 @@ div.path {
[hidden] {
display: none !important;
}

.page-actions {
display: none;
gap: 0;
margin: 12px 0 0 0;
padding-bottom: 6px;
border-bottom: 1px solid #e3e8ee;
}

.page-action-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 4px 12px;
background: transparent;
border: none;
text-decoration: none;
color: #425466;
font-size: 13px;
font-weight: 500;
cursor: pointer;
transition: color 0.15s ease;
white-space: nowrap;
position: relative;
}

.page-action-btn:hover {
background: transparent;
text-decoration: none;
color: #0a2540;
}

.page-action-btn:active {
color: #0a2540;
}

.page-action-btn:link,
.page-action-btn:visited {
color: #425466;
text-decoration: none;
}

.page-action-btn:hover:link,
.page-action-btn:hover:visited {
color: #0a2540;
}

.page-action-btn+.page-action-btn::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
height: 16px;
width: 1px;
background: #e3e8ee;
}

.page-action-btn svg {
width: 14px;
height: 14px;
fill: currentColor;
flex-shrink: 0;
}

.page-action-btn.external::after,
.page-action-btn[rel="nofollow"]::after {
display: none !important;
}

@media (max-width: 768px) {
.page-actions {
gap: 0;
}
}

.page-actions--visible {
display: flex;
}

.page-action-btn--success {
background: #d4edda !important;
border-color: #c3e6cb !important;
color: #155724 !important;
}

.page-action-btn--info {
background: #d1ecf1 !important;
border-color: #bee5eb !important;
color: #0c5460 !important;
}
1 change: 1 addition & 0 deletions docs/personalization/api_reference/api_reference.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: Explore Personalization API sets that let you manage item data, track events, combine tracking data with users and render recommendations.
page_type: landing_page
exclude_from_llmstxt: true
---

# Personalization API
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/api_reference/content_api.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Personalization server can use external information about the items. Use HTTP methods to create, update or get items from the data store.
exclude_from_llmstxt: true
---

# Content API
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/api_reference/recommendation_api.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: Use HTTP GET request method to render recommendations.
month_change: false
exclude_from_llmstxt: true
---

# Recommendation API
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/api_reference/tracking_api.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Allows to track items based on an ID. It covers many content types with the same ID configured for tracking.
exclude_from_llmstxt: true
---

# Tracking API
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/api_reference/user_api.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Use HTTP methods to correlate metadata with user data and combine users into clusters of certain type.
exclude_from_llmstxt: true
---

# User API
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/attribute_search_in_elasticsearch.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Attribute search uses Elasticsearch database to display dynamically taken values in scenario and model previews.
exclude_from_llmstxt: true
---

# Attribute search in Elasticsearch database
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/enable_personalization.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: Configure your project files to enable Personalization and set up items you want to track.
month_change: false
exclude_from_llmstxt: true
---

# Enable Personalization
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/how_it_works.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Integrate recommendation service into your website.
exclude_from_llmstxt: true
---

# How Personalization works
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Use historical user tracking data to build user profiles and generate better recommendations.
exclude_from_llmstxt: true
---

# Importing historical user tracking data
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/integrate_recommendation_service.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: Integrate recommendation service into your website.
month_change: false
exclude_from_llmstxt: true
---

# Integrate recommendation service
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/legacy_recommendation_api.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: An old method of fetching recommendations from the system using recommendation requests.
exclude_from_llmstxt: true
---

# Legacy Recommendation API
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/personalization.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: Personalization tracks consumed content and suggests targeted content to your website visitors.
page_type: landing_page
exclude_from_llmstxt: true
---

# Personalization
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/personalization_guide.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Discover Personalization - a cloud-based service that tracks and analyzes customer behaviors.
exclude_from_llmstxt: true
---

# Personalization product guide
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/recommendation_integration.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Methods for REST call with Personalization server.
exclude_from_llmstxt: true
---

# Recommendation integration
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/tracking_integration.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: See the methods of event tracking integration using tracking from server or from client-side.
month_change: false
exclude_from_llmstxt: true
---

# Tracking integration
Expand Down
1 change: 1 addition & 0 deletions docs/personalization/tracking_with_ibexa-tracker.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: Integrate tracking with a Google-style JavaScript.
month_change: false
exclude_from_llmstxt: true
---

# Track events with ibexa-tracker.js
Expand Down
33 changes: 33 additions & 0 deletions hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
"""
MkDocs hooks for Ibexa developer documentation.

Automatically keeps the llmstxt plugin's ``sections`` config in sync with the ``nav`` defined in ``mkdocs.yml``
"""

from __future__ import annotations

from typing import TYPE_CHECKING

if TYPE_CHECKING:
from mkdocs.config.defaults import MkDocsConfig


def on_config(config: "MkDocsConfig") -> None:
"""Populate llmstxt sections from nav before the build starts.

The llmstxt plugin reads ``config.sections`` in its ``on_files`` event,
which fires after ``on_config``, so injecting here is the right place.
"""
nav = config.get("nav")
if not nav:
return

llmstxt = config["plugins"].get("llmstxt")
if llmstxt is None:
return

from pathlib import Path
from update_llmstxt_config import convert_nav_to_llmstxt_sections

docs_dir = Path(config["docs_dir"])
llmstxt.config.sections = convert_nav_to_llmstxt_sections(nav, docs_dir)
Loading
Loading