Loading resources/javascript/xml_2_html.js +53 −2 Original line number Diff line number Diff line Loading @@ -60,6 +60,18 @@ const dict = { 'ai-policy': 'Usage par les IA', 'ai-policy-in': 'Autorisé', 'ai-policy-out': 'Interdit', 'pbd': ' (directeur de la publication)', 'aut rcp': ' (auteur correspondant)', 'edt': ' (éditeur scientifique)', 'trl': ' (traducteur)', 'pht': ' (photographe)', 'ill': ' (illustrateur)', 'drm': ' (dessinateur)', 'fld': ' (directeur d’opération)', 'ctb': ' (contributeur)', 'ann': ' (annotateur)', 'com': ' (compilateur)', 'ctg': ' (cartographe)', }, en: { Loading Loading @@ -123,6 +135,18 @@ const dict = { 'ai-policy': 'AI Policy', 'ai-policy-in': 'Use by AI permitted', 'ai-policy-out': 'Use by AI prohibited', 'pbd': ' (publishing director)', 'aut rcp': ' (corresponding author)', 'edt': ' (editor)', 'trl': ' (translator)', 'pht': ' (photographer)', 'ill': ' (illustrator)', 'drm': ' (draftsman)', 'fld': ' (field director)', 'ctb': ' (contributor)', 'ann': ' (annotateur)', 'com': ' (compiler)', 'ctg': ' (cartographer)', }, es: { Loading Loading @@ -186,6 +210,18 @@ const dict = { 'ai-policy': 'Política de IA', 'ai-policy-in': 'Uso autorizado por parte de la IA', 'ai-policy-out': 'Uso prohibido por parte de la IA', 'pbd': ' (director de publicación)', 'aut rcp': ' (autor para la correspondencia)', 'edt': ' (editor científico)', 'trl': ' (traductor)', 'pht': ' (fotógrafo)', 'ill': ' (illustrador)', 'drm': ' (dibujante)', 'fld': ' (director de excavación)', 'ctb': ' (contribuidor)', 'ann': ' (autor de anotación)', 'com': ' (compilador)', 'ctg': ' (cartógrafo)', } } Loading Loading @@ -290,14 +326,17 @@ function darkMode(bool) { function bindFootnotesAndImages() { let figAppels = document.getElementsByClassName('fig-call'); let notesAppels = document.getElementsByClassName('xref-call'); let bibRefAppels = document.getElementsByClassName('bib-ref-call'); // fusionne les deux tableaux ('arrays') dans un 3e : let tousLesAppels = [...figAppels, ...notesAppels]; let tousLesAppels = [...figAppels, ...notesAppels, ...bibRefAppels]; for (let i=0 ; i < tousLesAppels.length ; i++) { let focusTarget = document.getElementById(tousLesAppels[i].dataset.target); tousLesAppels[i].addEventListener('click', () => { if(tousLesAppels[i].classList.contains('fn-call')) { openTab('footnotes'); } else if (tousLesAppels[i].classList.contains('bib-ref-call')) { openTab('refs'); } else if (tousLesAppels[i].classList.contains('fig-call')){ let cible = tousLesAppels[i].getAttribute('data-target'); openTab('figures'); Loading @@ -310,7 +349,7 @@ function bindFootnotesAndImages() { block: 'center', behavior: "smooth" }); document.querySelectorAll('.footnote, .ref').forEach( document.querySelectorAll('.footnote, .ref, .bibl').forEach( (fn) => fn.classList.remove('focus') ); focusTarget.classList.add('focus'); Loading @@ -329,6 +368,18 @@ function bindFootnotesAndImages() { ); focusTarget.classList.add('focus'); }) } else if (tousLesAppels[i].classList.contains('bib-ref-call')) { let bibRefLabel = focusTarget.querySelector('span.bibRef'); bibRefLabel.addEventListener('click', () => { tousLesAppels[i].scrollIntoView({ block: 'start', behavior: "smooth" }); document.querySelectorAll('.bibl').forEach( (fn) => fn.classList.remove('focus') ); focusTarget.classList.add('focus'); }) } } Loading resources/styles/xml_2_html.css +18 −5 Original line number Diff line number Diff line Loading @@ -870,11 +870,20 @@ bodyInclusion p.firstPara:not(div.boxed-text *) { } .right-contents #refs li { margin-left: 1.5em; margin-left: 0.1em; text-indent: -1.5em; margin-bottom: var(--spacing-md); font-size: 0.9375rem; margin-bottom: 0.2rem; line-height: 1.6; padding-left: 2.8em; padding-right: var(--spacing-md); padding-top: 0.6rem; padding-bottom: 0.6rem; background-color: #fafaf9; border-left: 3px solid transparent; border-radius: 8px; transition: all var(--transition-base); box-sizing: border-box; } .right-contents #refs h3 { Loading Loading @@ -995,7 +1004,8 @@ sub { font-size: .60em; } span[class*="fn-call"] { span[class*="fn-call"], span[class*="bib-ref-call"] { color: var(--primary-color); cursor: pointer; transition: color var(--transition-fast); Loading Loading @@ -1049,13 +1059,16 @@ body.dark div[id^="footnotes"] li { background-color: var(--dark-bg-secondary); } div[id^="footnotes"] li.focus, #refs .ref.focus { div[id^="footnotes"] li.focus, .right-contents #refs li.focus, #refs .ref.focus { border-left-color: var(--primary-color); background-color: rgba(26, 84, 144, 0.05); border-right: 5px solid var(--third-color); } body.dark div[id^="footnotes"] li.focus { body.dark div[id^="footnotes"] li.focus, body.dark div[id^="refs"] li.focus { border-left-color: var(--accent-color); background-color: rgba(14, 165, 233, 0.08); } Loading xsl/jats/jats2html.xsl +27 −5 Original line number Diff line number Diff line Loading @@ -173,7 +173,12 @@ <ul> <xsl:for-each select="../back/ref-list[1]/ref/mixed-citation"> <li class="bibl"> <xsl:attribute name='id'> <xsl:value-of select="parent::ref/@id"/> </xsl:attribute> <span class='bibRef'> <xsl:apply-templates/> </span> </li> </xsl:for-each> </ul> Loading @@ -184,8 +189,13 @@ <xsl:apply-templates select="title/node()"/> </h3> <xsl:for-each select="ref/mixed-citation"> <xsl:attribute name='id'> <xsl:value-of select="parent::ref/@id"/> </xsl:attribute> <li class="bibl"> <span class='bibRef'> <xsl:apply-templates select="node()"/> </span> </li> </xsl:for-each> Loading @@ -197,8 +207,13 @@ <xsl:apply-templates select="title/node()"/> </h4> <xsl:for-each select="ref/mixed-citation"> <xsl:attribute name='id'> <xsl:value-of select="parent::ref/@id"/> </xsl:attribute> <li class="bibl"> <span class='bibRef'> <xsl:apply-templates select="node()"/> </span> </li> </xsl:for-each> </ul> Loading Loading @@ -389,7 +404,7 @@ <!-- bibr --> <xsl:template match="xref[@ref-type='bibr']"> <span class="xref-call bibr-call"> <span class="bib-ref-call"> <xsl:attribute name="data-target"> <xsl:value-of select="@rid"/> </xsl:attribute> Loading Loading @@ -942,6 +957,13 @@ <span class="given-names"> <xsl:value-of select="name/given-names"/> </span> <xsl:if test="role != 'aut' and @contrib-type != 'editorial-manager'"> <span class="idno trans"> <xsl:attribute name="data-key"> <xsl:value-of select="role"/> </xsl:attribute> </span> </xsl:if> <xsl:if test="child::contrib-id[@contrib-id-type]"> <div class="idno"> Loading Loading @@ -985,7 +1007,7 @@ </xsl:if> <xsl:if test="role and @contrib-type='editorial-manager'"> <br/><span class="role'"><xsl:apply-templates select="role"/></span> <xsl:text> (</xsl:text><span class="role'"><xsl:apply-templates select="role"/></span><xsl:text>)</xsl:text> </xsl:if> </div> Loading xsl/tei/03-tei2html_core.xsl +26 −3 Original line number Diff line number Diff line Loading @@ -173,7 +173,12 @@ <ul> <xsl:for-each select="../tei:back//tei:bibl [not(ancestor::tei:listBibl) and not(ancestor::tei:div[@type='appendix'])]"> <li class="bibl"> <xsl:attribute name="id"> <xsl:value-of select="@xml:id"/> </xsl:attribute> <span class='bibRef'> <xsl:apply-templates/> </span> </li> </xsl:for-each> </ul> Loading @@ -187,6 +192,9 @@ <h3 class="right-panel-appendix">Annexe</h3> <ul> <xsl:for-each select="../tei:back//tei:bibl [not(ancestor::tei:listBibl) and ancestor::tei:div[@type='appendix']]"> <xsl:attribute name="id"> <xsl:value-of select="@xml:id"/> </xsl:attribute> <li class="bibl"> <xsl:apply-templates/> </li> Loading Loading @@ -546,6 +554,14 @@ <xsl:number/> </a> </span> </xsl:when> <xsl:when test="@type='bibl'"> <span class="bib-ref-call"> <xsl:attribute name="data-target"> <xsl:value-of select="substring-after(@target, '#')"/> </xsl:attribute> <xsl:apply-templates/> </span> </xsl:when> <xsl:otherwise> <a href="{@target}"> Loading Loading @@ -818,6 +834,13 @@ <xsl:template match="tei:persName[ancestor::tei:titleStmt or ancestor::tei:monogr]"> <p class="{local-name(parent::tei:*)}"> <xsl:apply-templates/> <xsl:if test="parent::tei:author[not(@role = 'aut')] or parent::tei:editor[not(@role = 'aut')]"> <span class="idno trans"> <xsl:attribute name="data-key"> <xsl:value-of select="parent::tei:author/@role | parent::tei:editor/@role"/> </xsl:attribute> </span> </xsl:if> </p> </xsl:template> Loading Loading @@ -1133,8 +1156,8 @@ <xsl:template match="//tei:monogr//tei:respStmt"> <div class="editorial-manager- meta-field"> <xsl:apply-templates select="tei:name"/><span class="lb"></span> <xsl:apply-templates select="tei:resp"/> <xsl:apply-templates select="tei:name"/> <xsl:text> (</xsl:text><span class="role'"><xsl:apply-templates select="tei:resp"/></span><xsl:text>)</xsl:text> </div> </xsl:template> Loading Loading
resources/javascript/xml_2_html.js +53 −2 Original line number Diff line number Diff line Loading @@ -60,6 +60,18 @@ const dict = { 'ai-policy': 'Usage par les IA', 'ai-policy-in': 'Autorisé', 'ai-policy-out': 'Interdit', 'pbd': ' (directeur de la publication)', 'aut rcp': ' (auteur correspondant)', 'edt': ' (éditeur scientifique)', 'trl': ' (traducteur)', 'pht': ' (photographe)', 'ill': ' (illustrateur)', 'drm': ' (dessinateur)', 'fld': ' (directeur d’opération)', 'ctb': ' (contributeur)', 'ann': ' (annotateur)', 'com': ' (compilateur)', 'ctg': ' (cartographe)', }, en: { Loading Loading @@ -123,6 +135,18 @@ const dict = { 'ai-policy': 'AI Policy', 'ai-policy-in': 'Use by AI permitted', 'ai-policy-out': 'Use by AI prohibited', 'pbd': ' (publishing director)', 'aut rcp': ' (corresponding author)', 'edt': ' (editor)', 'trl': ' (translator)', 'pht': ' (photographer)', 'ill': ' (illustrator)', 'drm': ' (draftsman)', 'fld': ' (field director)', 'ctb': ' (contributor)', 'ann': ' (annotateur)', 'com': ' (compiler)', 'ctg': ' (cartographer)', }, es: { Loading Loading @@ -186,6 +210,18 @@ const dict = { 'ai-policy': 'Política de IA', 'ai-policy-in': 'Uso autorizado por parte de la IA', 'ai-policy-out': 'Uso prohibido por parte de la IA', 'pbd': ' (director de publicación)', 'aut rcp': ' (autor para la correspondencia)', 'edt': ' (editor científico)', 'trl': ' (traductor)', 'pht': ' (fotógrafo)', 'ill': ' (illustrador)', 'drm': ' (dibujante)', 'fld': ' (director de excavación)', 'ctb': ' (contribuidor)', 'ann': ' (autor de anotación)', 'com': ' (compilador)', 'ctg': ' (cartógrafo)', } } Loading Loading @@ -290,14 +326,17 @@ function darkMode(bool) { function bindFootnotesAndImages() { let figAppels = document.getElementsByClassName('fig-call'); let notesAppels = document.getElementsByClassName('xref-call'); let bibRefAppels = document.getElementsByClassName('bib-ref-call'); // fusionne les deux tableaux ('arrays') dans un 3e : let tousLesAppels = [...figAppels, ...notesAppels]; let tousLesAppels = [...figAppels, ...notesAppels, ...bibRefAppels]; for (let i=0 ; i < tousLesAppels.length ; i++) { let focusTarget = document.getElementById(tousLesAppels[i].dataset.target); tousLesAppels[i].addEventListener('click', () => { if(tousLesAppels[i].classList.contains('fn-call')) { openTab('footnotes'); } else if (tousLesAppels[i].classList.contains('bib-ref-call')) { openTab('refs'); } else if (tousLesAppels[i].classList.contains('fig-call')){ let cible = tousLesAppels[i].getAttribute('data-target'); openTab('figures'); Loading @@ -310,7 +349,7 @@ function bindFootnotesAndImages() { block: 'center', behavior: "smooth" }); document.querySelectorAll('.footnote, .ref').forEach( document.querySelectorAll('.footnote, .ref, .bibl').forEach( (fn) => fn.classList.remove('focus') ); focusTarget.classList.add('focus'); Loading @@ -329,6 +368,18 @@ function bindFootnotesAndImages() { ); focusTarget.classList.add('focus'); }) } else if (tousLesAppels[i].classList.contains('bib-ref-call')) { let bibRefLabel = focusTarget.querySelector('span.bibRef'); bibRefLabel.addEventListener('click', () => { tousLesAppels[i].scrollIntoView({ block: 'start', behavior: "smooth" }); document.querySelectorAll('.bibl').forEach( (fn) => fn.classList.remove('focus') ); focusTarget.classList.add('focus'); }) } } Loading
resources/styles/xml_2_html.css +18 −5 Original line number Diff line number Diff line Loading @@ -870,11 +870,20 @@ bodyInclusion p.firstPara:not(div.boxed-text *) { } .right-contents #refs li { margin-left: 1.5em; margin-left: 0.1em; text-indent: -1.5em; margin-bottom: var(--spacing-md); font-size: 0.9375rem; margin-bottom: 0.2rem; line-height: 1.6; padding-left: 2.8em; padding-right: var(--spacing-md); padding-top: 0.6rem; padding-bottom: 0.6rem; background-color: #fafaf9; border-left: 3px solid transparent; border-radius: 8px; transition: all var(--transition-base); box-sizing: border-box; } .right-contents #refs h3 { Loading Loading @@ -995,7 +1004,8 @@ sub { font-size: .60em; } span[class*="fn-call"] { span[class*="fn-call"], span[class*="bib-ref-call"] { color: var(--primary-color); cursor: pointer; transition: color var(--transition-fast); Loading Loading @@ -1049,13 +1059,16 @@ body.dark div[id^="footnotes"] li { background-color: var(--dark-bg-secondary); } div[id^="footnotes"] li.focus, #refs .ref.focus { div[id^="footnotes"] li.focus, .right-contents #refs li.focus, #refs .ref.focus { border-left-color: var(--primary-color); background-color: rgba(26, 84, 144, 0.05); border-right: 5px solid var(--third-color); } body.dark div[id^="footnotes"] li.focus { body.dark div[id^="footnotes"] li.focus, body.dark div[id^="refs"] li.focus { border-left-color: var(--accent-color); background-color: rgba(14, 165, 233, 0.08); } Loading
xsl/jats/jats2html.xsl +27 −5 Original line number Diff line number Diff line Loading @@ -173,7 +173,12 @@ <ul> <xsl:for-each select="../back/ref-list[1]/ref/mixed-citation"> <li class="bibl"> <xsl:attribute name='id'> <xsl:value-of select="parent::ref/@id"/> </xsl:attribute> <span class='bibRef'> <xsl:apply-templates/> </span> </li> </xsl:for-each> </ul> Loading @@ -184,8 +189,13 @@ <xsl:apply-templates select="title/node()"/> </h3> <xsl:for-each select="ref/mixed-citation"> <xsl:attribute name='id'> <xsl:value-of select="parent::ref/@id"/> </xsl:attribute> <li class="bibl"> <span class='bibRef'> <xsl:apply-templates select="node()"/> </span> </li> </xsl:for-each> Loading @@ -197,8 +207,13 @@ <xsl:apply-templates select="title/node()"/> </h4> <xsl:for-each select="ref/mixed-citation"> <xsl:attribute name='id'> <xsl:value-of select="parent::ref/@id"/> </xsl:attribute> <li class="bibl"> <span class='bibRef'> <xsl:apply-templates select="node()"/> </span> </li> </xsl:for-each> </ul> Loading Loading @@ -389,7 +404,7 @@ <!-- bibr --> <xsl:template match="xref[@ref-type='bibr']"> <span class="xref-call bibr-call"> <span class="bib-ref-call"> <xsl:attribute name="data-target"> <xsl:value-of select="@rid"/> </xsl:attribute> Loading Loading @@ -942,6 +957,13 @@ <span class="given-names"> <xsl:value-of select="name/given-names"/> </span> <xsl:if test="role != 'aut' and @contrib-type != 'editorial-manager'"> <span class="idno trans"> <xsl:attribute name="data-key"> <xsl:value-of select="role"/> </xsl:attribute> </span> </xsl:if> <xsl:if test="child::contrib-id[@contrib-id-type]"> <div class="idno"> Loading Loading @@ -985,7 +1007,7 @@ </xsl:if> <xsl:if test="role and @contrib-type='editorial-manager'"> <br/><span class="role'"><xsl:apply-templates select="role"/></span> <xsl:text> (</xsl:text><span class="role'"><xsl:apply-templates select="role"/></span><xsl:text>)</xsl:text> </xsl:if> </div> Loading
xsl/tei/03-tei2html_core.xsl +26 −3 Original line number Diff line number Diff line Loading @@ -173,7 +173,12 @@ <ul> <xsl:for-each select="../tei:back//tei:bibl [not(ancestor::tei:listBibl) and not(ancestor::tei:div[@type='appendix'])]"> <li class="bibl"> <xsl:attribute name="id"> <xsl:value-of select="@xml:id"/> </xsl:attribute> <span class='bibRef'> <xsl:apply-templates/> </span> </li> </xsl:for-each> </ul> Loading @@ -187,6 +192,9 @@ <h3 class="right-panel-appendix">Annexe</h3> <ul> <xsl:for-each select="../tei:back//tei:bibl [not(ancestor::tei:listBibl) and ancestor::tei:div[@type='appendix']]"> <xsl:attribute name="id"> <xsl:value-of select="@xml:id"/> </xsl:attribute> <li class="bibl"> <xsl:apply-templates/> </li> Loading Loading @@ -546,6 +554,14 @@ <xsl:number/> </a> </span> </xsl:when> <xsl:when test="@type='bibl'"> <span class="bib-ref-call"> <xsl:attribute name="data-target"> <xsl:value-of select="substring-after(@target, '#')"/> </xsl:attribute> <xsl:apply-templates/> </span> </xsl:when> <xsl:otherwise> <a href="{@target}"> Loading Loading @@ -818,6 +834,13 @@ <xsl:template match="tei:persName[ancestor::tei:titleStmt or ancestor::tei:monogr]"> <p class="{local-name(parent::tei:*)}"> <xsl:apply-templates/> <xsl:if test="parent::tei:author[not(@role = 'aut')] or parent::tei:editor[not(@role = 'aut')]"> <span class="idno trans"> <xsl:attribute name="data-key"> <xsl:value-of select="parent::tei:author/@role | parent::tei:editor/@role"/> </xsl:attribute> </span> </xsl:if> </p> </xsl:template> Loading Loading @@ -1133,8 +1156,8 @@ <xsl:template match="//tei:monogr//tei:respStmt"> <div class="editorial-manager- meta-field"> <xsl:apply-templates select="tei:name"/><span class="lb"></span> <xsl:apply-templates select="tei:resp"/> <xsl:apply-templates select="tei:name"/> <xsl:text> (</xsl:text><span class="role'"><xsl:apply-templates select="tei:resp"/></span><xsl:text>)</xsl:text> </div> </xsl:template> Loading