Fix process documentation navigation

This commit is contained in:
AzureAD\SylvainDUVERNAY
2026-05-30 14:13:12 +02:00
parent 34b221deae
commit f71ad2ac69
2 changed files with 27 additions and 6 deletions

View File

@@ -104,9 +104,10 @@ def _inline(markdown, current_file):
else:
parts.append(label)
elif resolved.endswith('.md'):
parts.append('<a href="#%s">%s</a>' % (
html.escape(_anchor(resolved), quote=True), label))
elif resolved.startswith(('#', 'http://', 'https://', 'mailto:')):
parts.append(_internal_link(_anchor(resolved), label))
elif resolved.startswith('#'):
parts.append(_internal_link(resolved.lstrip('#'), label))
elif resolved.startswith(('http://', 'https://', 'mailto:')):
parts.append('<a href="%s">%s</a>' % (
html.escape(resolved, quote=True), label))
else:
@@ -167,10 +168,16 @@ def _markdown_to_html(markdown, current_file):
if current_file != 'README.md':
body.insert(
0, '<p><a href="#doc-README-md">Back to index</a></p>')
0, '<p>%s</p>' % _internal_link('doc-README-md', 'Back to index'))
return '\n'.join(body)
def _internal_link(anchor, label):
anchor = html.escape(anchor, quote=True)
return '<a href="#%s" data-doc-target="%s">%s</a>' % (
anchor, anchor, label)
def _render_table(lines, current_file):
rows = [
[cell.strip() for cell in line.strip('|').split('|')]
@@ -242,6 +249,20 @@ HTML_TEMPLATE = '''<!DOCTYPE html>
</head>
<body>
<main>%(content)s</main>
<script>
document.addEventListener('click', function(event) {
var link = event.target.closest('a[data-doc-target]');
if (!link) {
return;
}
var target = document.getElementById(link.dataset.docTarget);
if (!target) {
return;
}
event.preventDefault();
target.scrollIntoView({block: 'start'});
});
</script>
</body>
</html>
'''

View File

@@ -45,9 +45,9 @@ this repository contains the full copyright notices and license terms. -->
<menuitem
name="ITSA Operations Workflow"
parent="menu_tradon_processes"
parent="menu_help_processes"
action="act_itsa_operations_workflow"
sequence="10"
sequence="20"
id="menu_itsa_operations_workflow"/>
<record model="ir.model.access" id="access_process_documentation">