Spaces:
Sleeping
Sleeping
File size: 4,564 Bytes
7d0c16f b079b54 0324409 7d0c16f 0324409 398b123 0324409 7d0c16f 0324409 7d0c16f 0324409 398b123 0324409 398b123 0324409 7d0c16f 0324409 7d0c16f 398b123 7d0c16f 398b123 0324409 7d0c16f 0324409 7d0c16f 398b123 7d0c16f 0324409 7d0c16f 398b123 7d0c16f 0324409 7d0c16f 0324409 7d0c16f 398b123 7d0c16f 0324409 7d0c16f 0324409 7d0c16f 0324409 7d0c16f 0324409 b079b54 0324409 b079b54 0324409 b079b54 0324409 b079b54 0324409 b079b54 0324409 b079b54 0324409 7d0c16f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | <!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
{% set job_id = (doc.content.project if doc and doc.content and doc.content.project is defined else "") %}
{% set entries = (doc.content.index_entries if doc and doc.content and doc.content.index_entries is defined else []) %}
<title>脥ndice de Documentaci贸n 路 {{ job_id or "Job" }}</title>
<!-- Fuente corporativa (Inter) -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
rel="stylesheet"
/>
<style>
@page {
size: A4;
margin: 20mm;
}
body {
font-family: "Inter", -apple-system, BlinkMacSystemFont, "Noto Sans",
system-ui, sans-serif;
color: #0f172a;
margin: 0;
font-size: 11px;
line-height: 1.5;
background: #ffffff;
padding: 0 0 6mm 0;
}
.page {
padding: 0;
margin: 0;
}
h1 {
font-size: 16px;
text-transform: uppercase;
letter-spacing: 0.05em;
margin: 0 0 4px 0;
}
h2 {
color: #475569;
font-size: 12px;
margin: 0 0 12px 0;
}
table {
width: 100%;
border-collapse: collapse;
font-size: 10px;
}
thead {
display: table-header-group; /* repite encabezado en cada p谩gina */
}
tbody tr {
page-break-inside: avoid;
}
th,
td {
border: 1px solid #e2e8f0;
padding: 6px 8px;
text-align: left;
vertical-align: top;
}
th {
text-transform: uppercase;
letter-spacing: 0.06em;
font-size: 9px;
background: #f1f5f9;
}
tbody tr:nth-child(odd) {
background: #f8fafc;
}
.muted {
color: #94a3b8;
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-top: 24px;
text-align: right;
}
</style>
</head>
<body>
<div class="page">
<h1>脥ndice de Documentaci贸n</h1>
<h2>
Job {{ job_id or "-" }} 路
{{ entries is iterable and entries|length or 0 }}
documentos
</h2>
{% if entries and entries is iterable %}
{% set has_pages = entries|selectattr('page_start', 'defined')|list|length > 0 %}
<table>
<thead>
<tr>
<th>#</th>
<th>Archivo</th>
<th>T铆tulo</th>
<th>Tipo</th>
{% if has_pages %}
<th>P谩ginas</th>
{% else %}
<th>Descripci贸n</th>
<th>SuiteScript</th>
{% endif %}
</tr>
</thead>
<tbody>
{% for entry in entries %}
{# Si entry es mapping (dict), usamos sus campos. Si no, lo mostramos crudo. #}
{% if entry is mapping %}
<tr>
<td>{{ loop.index }}</td>
<td>{{ entry.path | default("-") }}</td>
<td>{{ entry.title | default("-") }}</td>
<td>{{ entry.script_type | default("-") }}</td>
{% if has_pages %}
<td>
{% if entry.page_start is defined and entry.page_end is defined %}
{{ entry.page_start }}-{{ entry.page_end }}
{% elif entry.page_start is defined %}
{{ entry.page_start }}
{% else %}
-
{% endif %}
</td>
{% else %}
<td>{{ entry.description | default("Sin descripci贸n") }}</td>
<td>{{ entry.api_version | default("-") }}</td>
{% endif %}
</tr>
{% else %}
<tr>
<td>{{ loop.index }}</td>
<td colspan="{{ 4 + (1 if has_pages else 2) }}">
{{ entry }}
</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% else %}
<p>No se encontraron documentos para este job.</p>
{% endif %}
<p class="muted">Generado autom谩ticamente {{ generated_at }}</p>
</div>
</body>
</html>
|