feat(template): better addressing of section (adding support for exporter-level linking and clipboarding)

This commit is contained in:
Samuel Berthe 2021-05-01 22:30:07 +02:00
parent e044fddd11
commit 2c62d2cd6e
No known key found for this signature in database
GPG key ID: 64863511FFBD0E3C

View file

@ -28,14 +28,16 @@
{% assign groupIndex = forloop.index %} {% assign groupIndex = forloop.index %}
{% for service in group.services %} {% for service in group.services %}
{% assign serviceIndex = forloop.index %} {% assign serviceIndex = forloop.index %}
{% assign nbrExporters = service.exporters | size %}
{% for exporter in service.exporters %} {% for exporter in service.exporters %}
{% assign exporterIndex = forloop.index %}
{% assign nbrRules = exporter.rules | size %} {% assign nbrRules = exporter.rules | size %}
<li> <li>
{% assign serviceId = service.name | replace: " ", "-" | downcase %} {% assign serviceId = service.name | replace: " ", "-" | downcase %}
<h2 id="{{ serviceId }}"> <h2 id="{{ serviceId }}">
<a class="anchor" href="#{{ serviceId }}">#</a> <span id="{{ serviceId }}-{{ exporterIndex }}"></span>
{{ groupIndex }}. <a class="anchor" href="#{{ serviceId }}-{{ exporterIndex }}">#</a>
{{ serviceIndex }}. {{ groupIndex }}.{{ serviceIndex }}.{% if nbrExporters > 1 %}{{ exporterIndex }}.{% endif %}
{{ service.name }} {{ service.name }}
{% if exporter.name %}: {% if exporter.name %}:
{% if exporter.doc_url %} {% if exporter.doc_url %}
@ -51,7 +53,7 @@
<small style="font-size: 60%; vertical-align: middle; margin-left: 10px;"> <small style="font-size: 60%; vertical-align: middle; margin-left: 10px;">
({{ nbrRules }} rules) ({{ nbrRules }} rules)
</small> </small>
<span class="clipboard-multiple" data-clipboard-target-id="group-{{ groupIndex }}-service-{{ serviceIndex }}">[copy section]</span> <span class="clipboard-multiple" data-clipboard-target-id="group-{{ groupIndex }}-service-{{ serviceIndex }}-exporter-{{ exporterIndex }}">[copy section]</span>
{% endif %} {% endif %}
</h2> </h2>
@ -66,16 +68,17 @@
{% assign ruleIndex = forloop.index %} {% assign ruleIndex = forloop.index %}
{% assign comments = rule.comments | strip | newline_to_br | split: '<br />' %} {% assign comments = rule.comments | strip | newline_to_br | split: '<br />' %}
<li> <li>
<h4 id="rule-{{ serviceId }}-{{ ruleIndex }}"> <h4 id="rule-{{ serviceId }}-{{ exporterIndex }}-{{ ruleIndex }}">
<a class="anchor" href="#rule-{{ serviceId }}-{{ ruleIndex }}">#</a> <span id="rule-{{ serviceId }}-{{ ruleIndex }}"></span><!-- @deprecated -->
{{ groupIndex}}.{{ serviceIndex }}.{{ ruleIndex }}. <a class="anchor" href="#rule-{{ serviceId }}-{{ exporterIndex }}-{{ ruleIndex }}">#</a>
{{ groupIndex}}.{{ serviceIndex }}.{% if nbrExporters > 1 %}{{ exporterIndex }}.{% endif %}{{ ruleIndex }}.
{{ rule.name }} {{ rule.name }}
</h4> </h4>
<summary> <summary>
{{ rule.description }} {{ rule.description }}
<span class="clipboard-single" data-clipboard-target-id="group-{{ groupIndex }}-service-{{ serviceIndex }}-rule-{{ ruleIndex }}" onclick="event.preventDefault();">[copy]</span> <span class="clipboard-single" data-clipboard-target-id="group-{{ groupIndex }}-service-{{ serviceIndex }}-exporter-{{ exporterIndex }}-rule-{{ ruleIndex }}" onclick="event.preventDefault();">[copy]</span>
</summary> </summary>
<div id="group-{{ groupIndex }}-service-{{ serviceIndex }}-rule-{{ ruleIndex }}"> <div id="group-{{ groupIndex }}-service-{{ serviceIndex }}-exporter-{{ exporterIndex }}-rule-{{ ruleIndex }}">
{% assign ruleName = rule.name | split: ' ' %} {% assign ruleName = rule.name | split: ' ' %}
{% capture ruleNameCamelcase %}{% for word in ruleName %}{{ word | capitalize }} {% endfor %}{% endcapture %} {% capture ruleNameCamelcase %}{% for word in ruleName %}{{ word | capitalize }} {% endfor %}{% endcapture %}
@ -116,7 +119,6 @@
<h4>{{ group.name }}</h4> <h4>{{ group.name }}</h4>
<ul> <ul>
{% for service in group.services %} {% for service in group.services %}
{% assign serviceId = service.name | replace: " ", "-" | downcase %}
<li> <li>
<a href="#{{ service.name | replace: " ", "-" | downcase }}"> <a href="#{{ service.name | replace: " ", "-" | downcase }}">
👉 {{ service.name }} 👉 {{ service.name }}