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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
11 changes: 0 additions & 11 deletions .github/workflows/api_refs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,17 +58,6 @@ jobs:
php tools/raml2html/raml2html.php build --non-standard-http-methods=COPY,MOVE,PUBLISH,SWAP -t default -o docs/api/rest_api/rest_api_reference/ docs/api/rest_api/rest_api_reference/input/ibexa.raml
fi

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install Python dependencies
run: pip install -r requirements.txt

- name: Extract shared navigation from PHP API Reference
run: python tools/api_refs/extract_navigation.py docs/api/php_api/php_api_reference

- name: Commit
env:
BASE_BRANCH: ${{ steps.version_and_branches.outputs.base_branch }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,84 +119,63 @@
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="main_nav" id="nav-container">

<div class="main_nav" id="nav-container">
<div class="nav-loading-wrapper" style="padding: 2rem; text-align: center; color: #666;">
<p>Loading navigation...</p>
</div>
</div>

<script>
(function() {
var navPath = '../shared-navigation.html';
var navPath = document.baseURI + '/index.html';
var cached = sessionStorage.getItem('phpdoc-nav');
var navContainer = document.getElementById('nav-container');

function loadNav(html) {
// Use innerHTML to replace content while keeping the nav-container div
navContainer.innerHTML = html;

// Restore scroll position if saved
var scrollWrap = navContainer.querySelector('.md-sidebar__scrollwrap');
if (scrollWrap) {
var scrollPos = sessionStorage.getItem('nav-scroll');
if (scrollPos) {
scrollWrap.scrollTop = parseInt(scrollPos, 10);
}

// Save scroll position on scroll
scrollWrap.addEventListener('scroll', function() {
sessionStorage.setItem('nav-scroll', scrollWrap.scrollTop);
});
}

// Highlight current page in navigation
var currentPath = window.location.pathname;
var links = navContainer.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
if (links[i].href && links[i].getAttribute('href') &&
currentPath.endsWith(links[i].getAttribute('href'))) {
links[i].classList.add('current-page');
links[i].style.fontWeight = 'bold';
}
}
}

function handleError(err) {
console.error('Navigation load failed:', err);
navContainer.innerHTML = '<div class="main_nav_content"><div style="padding: 1rem; color: #c00;">Navigation failed to load. <a href="index.html">Go to index</a></div></div><div class="main_nav__resize-handler"></div>';
activeMenu(window, window.document);
}

if (cached) {
// Use cached navigation
loadNav(cached);
} else {
// Fetch navigation
if (window.fetch) {
fetch(navPath)
.then(function(r) {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.text();
})
.then(function(html) {
sessionStorage.setItem('phpdoc-nav', html);
loadNav(html);
})
.catch(handleError);
} else {
// Fallback for older browsers
var xhr = new XMLHttpRequest();
xhr.open('GET', navPath, true);
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
sessionStorage.setItem('phpdoc-nav', xhr.responseText);
loadNav(xhr.responseText);
} else {
handleError(new Error('HTTP ' + xhr.status));
}
};
xhr.onerror = handleError;
xhr.send();
}
fetch(navPath)
.then(function(r) {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.text();
})
.then(function(html) {
parser = new DOMParser();
doc = parser.parseFromString(html, 'text/html');
nav = doc.querySelector('.main_nav_content');
sessionStorage.setItem('phpdoc-nav', nav.outerHTML);
loadNav(nav.outerHTML);
})
.catch(function(err) {
console.error('Navigation load failed:', err);
navContainer.innerHTML = '<div class="main_nav_content"><div style="padding: 1rem; color: #c00;">Navigation failed to load. <a href="index.html">Go to index</a></div></div><div class="main_nav__resize-handler"></div>';
})
;
}
})();
</script>
Expand All @@ -209,13 +188,14 @@
</div>
<div style="padding: 1rem; background: #ffe; border: 1px solid #cc0;">
<p><strong>JavaScript is disabled.</strong></p>
<p>Navigation requires JavaScript. Please enable it or go to <a href="namespaces/ibexa-contracts.html"><code>Ibexa\Contracts</code></a> to navigate.</p>
<p>Navigation requires JavaScript. Please enable it or go to <a href="namespaces/ibexa-contracts.html"><code>Ibexa\\Contracts</code></a> to navigate.</p>
</div>
</div>
<div class="main_nav__resize-handler"></div>
</div>
</noscript>


<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,84 +119,63 @@
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="main_nav" id="nav-container">

<div class="main_nav" id="nav-container">
<div class="nav-loading-wrapper" style="padding: 2rem; text-align: center; color: #666;">
<p>Loading navigation...</p>
</div>
</div>

<script>
(function() {
var navPath = '../shared-navigation.html';
var navPath = document.baseURI + '/index.html';
var cached = sessionStorage.getItem('phpdoc-nav');
var navContainer = document.getElementById('nav-container');

function loadNav(html) {
// Use innerHTML to replace content while keeping the nav-container div
navContainer.innerHTML = html;

// Restore scroll position if saved
var scrollWrap = navContainer.querySelector('.md-sidebar__scrollwrap');
if (scrollWrap) {
var scrollPos = sessionStorage.getItem('nav-scroll');
if (scrollPos) {
scrollWrap.scrollTop = parseInt(scrollPos, 10);
}

// Save scroll position on scroll
scrollWrap.addEventListener('scroll', function() {
sessionStorage.setItem('nav-scroll', scrollWrap.scrollTop);
});
}

// Highlight current page in navigation
var currentPath = window.location.pathname;
var links = navContainer.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
if (links[i].href && links[i].getAttribute('href') &&
currentPath.endsWith(links[i].getAttribute('href'))) {
links[i].classList.add('current-page');
links[i].style.fontWeight = 'bold';
}
}
}

function handleError(err) {
console.error('Navigation load failed:', err);
navContainer.innerHTML = '<div class="main_nav_content"><div style="padding: 1rem; color: #c00;">Navigation failed to load. <a href="index.html">Go to index</a></div></div><div class="main_nav__resize-handler"></div>';
activeMenu(window, window.document);
}

if (cached) {
// Use cached navigation
loadNav(cached);
} else {
// Fetch navigation
if (window.fetch) {
fetch(navPath)
.then(function(r) {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.text();
})
.then(function(html) {
sessionStorage.setItem('phpdoc-nav', html);
loadNav(html);
})
.catch(handleError);
} else {
// Fallback for older browsers
var xhr = new XMLHttpRequest();
xhr.open('GET', navPath, true);
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
sessionStorage.setItem('phpdoc-nav', xhr.responseText);
loadNav(xhr.responseText);
} else {
handleError(new Error('HTTP ' + xhr.status));
}
};
xhr.onerror = handleError;
xhr.send();
}
fetch(navPath)
.then(function(r) {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.text();
})
.then(function(html) {
parser = new DOMParser();
doc = parser.parseFromString(html, 'text/html');
nav = doc.querySelector('.main_nav_content');
sessionStorage.setItem('phpdoc-nav', nav.outerHTML);
loadNav(nav.outerHTML);
})
.catch(function(err) {
console.error('Navigation load failed:', err);
navContainer.innerHTML = '<div class="main_nav_content"><div style="padding: 1rem; color: #c00;">Navigation failed to load. <a href="index.html">Go to index</a></div></div><div class="main_nav__resize-handler"></div>';
})
;
}
})();
</script>
Expand All @@ -209,13 +188,14 @@
</div>
<div style="padding: 1rem; background: #ffe; border: 1px solid #cc0;">
<p><strong>JavaScript is disabled.</strong></p>
<p>Navigation requires JavaScript. Please enable it or go to <a href="namespaces/ibexa-contracts.html"><code>Ibexa\Contracts</code></a> to navigate.</p>
<p>Navigation requires JavaScript. Please enable it or go to <a href="namespaces/ibexa-contracts.html"><code>Ibexa\\Contracts</code></a> to navigate.</p>
</div>
</div>
<div class="main_nav__resize-handler"></div>
</div>
</noscript>


<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,84 +119,63 @@
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="main_nav" id="nav-container">

<div class="main_nav" id="nav-container">
<div class="nav-loading-wrapper" style="padding: 2rem; text-align: center; color: #666;">
<p>Loading navigation...</p>
</div>
</div>

<script>
(function() {
var navPath = '../shared-navigation.html';
var navPath = document.baseURI + '/index.html';
var cached = sessionStorage.getItem('phpdoc-nav');
var navContainer = document.getElementById('nav-container');

function loadNav(html) {
// Use innerHTML to replace content while keeping the nav-container div
navContainer.innerHTML = html;

// Restore scroll position if saved
var scrollWrap = navContainer.querySelector('.md-sidebar__scrollwrap');
if (scrollWrap) {
var scrollPos = sessionStorage.getItem('nav-scroll');
if (scrollPos) {
scrollWrap.scrollTop = parseInt(scrollPos, 10);
}

// Save scroll position on scroll
scrollWrap.addEventListener('scroll', function() {
sessionStorage.setItem('nav-scroll', scrollWrap.scrollTop);
});
}

// Highlight current page in navigation
var currentPath = window.location.pathname;
var links = navContainer.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
if (links[i].href && links[i].getAttribute('href') &&
currentPath.endsWith(links[i].getAttribute('href'))) {
links[i].classList.add('current-page');
links[i].style.fontWeight = 'bold';
}
}
}

function handleError(err) {
console.error('Navigation load failed:', err);
navContainer.innerHTML = '<div class="main_nav_content"><div style="padding: 1rem; color: #c00;">Navigation failed to load. <a href="index.html">Go to index</a></div></div><div class="main_nav__resize-handler"></div>';
activeMenu(window, window.document);
}

if (cached) {
// Use cached navigation
loadNav(cached);
} else {
// Fetch navigation
if (window.fetch) {
fetch(navPath)
.then(function(r) {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.text();
})
.then(function(html) {
sessionStorage.setItem('phpdoc-nav', html);
loadNav(html);
})
.catch(handleError);
} else {
// Fallback for older browsers
var xhr = new XMLHttpRequest();
xhr.open('GET', navPath, true);
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
sessionStorage.setItem('phpdoc-nav', xhr.responseText);
loadNav(xhr.responseText);
} else {
handleError(new Error('HTTP ' + xhr.status));
}
};
xhr.onerror = handleError;
xhr.send();
}
fetch(navPath)
.then(function(r) {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.text();
})
.then(function(html) {
parser = new DOMParser();
doc = parser.parseFromString(html, 'text/html');
nav = doc.querySelector('.main_nav_content');
sessionStorage.setItem('phpdoc-nav', nav.outerHTML);
loadNav(nav.outerHTML);
})
.catch(function(err) {
console.error('Navigation load failed:', err);
navContainer.innerHTML = '<div class="main_nav_content"><div style="padding: 1rem; color: #c00;">Navigation failed to load. <a href="index.html">Go to index</a></div></div><div class="main_nav__resize-handler"></div>';
})
;
}
})();
</script>
Expand All @@ -209,13 +188,14 @@
</div>
<div style="padding: 1rem; background: #ffe; border: 1px solid #cc0;">
<p><strong>JavaScript is disabled.</strong></p>
<p>Navigation requires JavaScript. Please enable it or go to <a href="namespaces/ibexa-contracts.html"><code>Ibexa\Contracts</code></a> to navigate.</p>
<p>Navigation requires JavaScript. Please enable it or go to <a href="namespaces/ibexa-contracts.html"><code>Ibexa\\Contracts</code></a> to navigate.</p>
</div>
</div>
<div class="main_nav__resize-handler"></div>
</div>
</noscript>


<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<div>
Expand Down
Loading
Loading