<?xml version="1.0" encoding="UTF-8"?>
<hml xmlns="https://heuristnetwork.org" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://heuristref.net/scheme_hml.xsd">
<database id="0">MBH_backup_29nov22</database>
<query w="a" db="MBH_backup_29nov22" q="ids:1408"/>
<dateStamp>2026-05-13T19:38:51+02:00</dateStamp>
<resultCount>1</resultCount>
<records>
<record visibility="public" visnote="no login required" selected="no" depth="0">
<id>1408</id>
<type id="51" conceptID="99-51">CMS_Home</type>
<citeAs>https://heurist.huma-num.fr/heurist/?recID=1408&amp;db=MBH_backup_29nov22</citeAs>
<title>&lt;i&gt;WEBSITE&lt;/i&gt; &lt;b&gt;MBH&lt;/b&gt; [ Menus: Le projet &gt;, Explore, Resources &gt;, Humanités Numériques &gt;, Actualités ]</title>
<added>2022-03-03 01:47:43</added>
<modified>2022-11-28 06:14:42</modified>
<workgroup id="1">Database Managers</workgroup>
<detail conceptID="2-1">MBH</detail>
<detail conceptID="2-3">MBH – Manuscripta Bibliae Hebraicae. Hebrew Bible manuscripts in Western Europe in the 12th and 13th centuries: A material, cultural and social approach.</detail>
<detail conceptID="2-23">elodie.attia@univ-amu.fr</detail>
<detail conceptID="2-36">2-190</detail>
<detail conceptID="2-38">
<file>
<id>36</id>
<nonce>dada5f621fea794510e1abf27f8799783f1a1684</nonce>
<origName>MBH-RVB-texte-blanc.svg</origName>
<mimeType>image/svg+xml</mimeType>
<fileSize units="kB">3</fileSize>
<date>2022-03-07 05:56:09</date>
<url>https://heurist.huma-num.fr/heurist/?db=MBH_backup_29nov22&amp;file=dada5f621fea794510e1abf27f8799783f1a1684</url>
</file>
</detail>
<detail conceptID="2-39">
<file>
<id>14</id>
<nonce>b4a88ccd6dc93d6899d2ff2f0bac3a6eac3df1a7</nonce>
<origName>mbh_icon.png</origName>
<mimeType>image/png</mimeType>
<fileSize units="kB">6</fileSize>
<date>2022-03-03 23:15:02</date>
<url>https://heurist.huma-num.fr/heurist/?db=MBH_backup_29nov22&amp;file=b4a88ccd6dc93d6899d2ff2f0bac3a6eac3df1a7</url>
</file>
</detail>
<detail conceptID="99-742" isRecordPointer="true">4</detail>
<detail conceptID="99-742" isRecordPointer="true">12378</detail>
<detail conceptID="99-742" isRecordPointer="true">7</detail>
<detail conceptID="99-742" isRecordPointer="true">15</detail>
<detail conceptID="99-742" isRecordPointer="true">8</detail>
<detail conceptID="99-948">Book History, History of Judaism, Digital Humanities, Heurist, Research, Database, Open Data</detail>
<detail conceptID="99-946">.full-height {
    height: calc(100vh - 120px)!important;
}</detail>
<detail conceptID="99-952" termConceptID="2-532">Yes</detail>
<detail conceptID="2-922">cmsTemplate_ManuscriptaBibliaeHebraicae.php</detail>
<detail conceptID="2-923" termConceptID="2-6251">Top of page, horizontal</detail>
<detail conceptID="2-927">// COLLAPSE HEADER ON SCROLL

const mainHeader = $(&quot;#main-header&quot;);

// The collapsing behaviour of the main-header and page-header are managed by the
// '.affix' (collapsed) and '.affix-top' (uncollapsed) classes
const toggleAffix = () =&gt; {
    let affixElems = $(&quot;.affix, .affix-top&quot;);
    affixElems.toggleClass(&quot;affix&quot;);
    affixElems.toggleClass(&quot;affix-top&quot;);
}

// Pad the #main-content when the #page-header shrinks – otherwise there is a sudden jump
// when the #page-header becomes absolutely positioned and ceases to affect the flow of the
// other elements.
const padContent = (containerElem, pad) =&gt; {
    if (pad == true) {
        let pageHeaderOffset = $(&quot;#page-header&quot;).offset() ? $(&quot;#page-header&quot;).offset().top : 0;
        let pageHeaderHeight = $(&quot;#page-header&quot;).outerHeight() ? $(&quot;#page-header&quot;).outerHeight() : 50;
        let bodyPad = pageHeaderHeight;
        $(containerElem).css(&quot;padding-top&quot;, bodyPad);
    } else {
        $(containerElem).css(&quot;padding-top&quot;, &quot;&quot;)
    }
}

// Add scroll event listener to main-content container (not triggered if child is scrolled)
const addScrollListener = () =&gt; {

    var lastScrollTop = 0;
    $(&quot;#main-content-container&quot;).on(&quot;scroll&quot;, function () {

        if ($(this).prop('scrollHeight') &gt; window.innerHeight - 10) {

            let scrollTop = $(this).scrollTop();
            let scrollDelta = scrollTop &lt; lastScrollTop ? &quot;down&quot; : &quot;up&quot;;
            let collapsed = mainHeader.hasClass(&quot;affix&quot;);
            let collapseThreshold = $(&quot;#page-header&quot;).height() - 30;
            let bodyPad = parseInt($(this).css(&quot;padding-top&quot;));
            let expandThreshold = 150;
            let noPageHeader = document.getElementById(&quot;page-header&quot;) == null;

            if (!collapsed &amp; scrollDelta == &quot;up&quot; &amp; scrollTop &gt;= collapseThreshold) {
                padContent(this, true);
                toggleAffix();
            } else if (collapsed &amp; scrollDelta == &quot;down&quot;) {
                if (bodyPad - scrollTop &gt; expandThreshold) {
                    padContent(this, false);
                    toggleAffix();
                } else if (noPageHeader &amp; scrollTop &lt; 100) {
                    padContent(this, false);
                    toggleAffix();
                }
            }
            lastScrollTop = scrollTop;
        }

    })
}

// Callback function for mainContentObserver.
// When a new page is loaded, reset the main-header and page-header to uncollapsed state, and scroll
// to the top of the page.
function formatPageHeader(mutationList, observer) {

    let collapsed = mainHeader.hasClass(&quot;affix&quot;);
    let mainContainer = $(&quot;#main-content-container&quot;);

    if (collapsed) {
        mutationList.forEach((mutation) =&gt; {
            switch (mutation.type) {
                case 'childList':
                    $(&quot;#main-header&quot;).removeClass(&quot;affix&quot;).addClass(&quot;affix-top&quot;);
                    $(&quot;#page-header&quot;).removeClass(&quot;affix&quot;).addClass(&quot;affix-top&quot;);
                    padContent($(&quot;#main-content&quot;), false);
                    mainContainer.scrollTop(0);
                    break;
            }
        });
    }


}

// Call key functions
const mainContentObserver = new MutationObserver(formatPageHeader);
const mainContentNode = document.querySelector(&quot;#main-content&quot;);
const observerOptions = {
    childList: true
};
mainContentObserver.observe(mainContentNode, observerOptions);
addScrollListener();

// RESIZE EMBEDDED CUSTOM REPORTS BASED ON CONTENT

function resizeIframe(elem) {
    $(elem).css(&quot;height&quot;, elem.contentWindow.document.body.scrollHeight);
}

function attachCustomReportListeners() {
    // Find embedded custom reports in new page
    let customReports = $(&quot;.embedded-custom-report&quot;);

    // Attach onload and resize listeners to each one to resize
    if (customReports.length &gt; 0) {
        customReports.each((idx, elem) =&gt; {
            $(elem).on(&quot;load&quot;, () =&gt; {
                resizeIframe(elem);
            });
            $(elem).on(&quot;resize&quot;, () =&gt; {
                resizeIframe(elem);
            })
        });
    }
}

function refreshIframeResize(mutationList, observer) {
    mutationList.forEach((mutation) =&gt; {
        switch (mutation.type) {
            case 'childList':
                attachCustomReportListeners();
        }
    });
}

// reapply custom report resizer each time new page is loaded
const customReportObserver = new MutationObserver(refreshIframeResize);
customReportObserver.observe(mainContentNode, observerOptions);
attachCustomReportListeners();</detail>
<detail conceptID="2-938" termConceptID="2-531">No</detail>
<detail conceptID="2-939">&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;</detail>
<detail conceptID="2-939">&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;</detail>
<detail conceptID="2-939">&lt;link href=&quot;https://fonts.googleapis.com/css2?family=EB+Garamond&amp;family=Open+Sans:wght@300;400;700&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;</detail>
<detail conceptID="2-939">&lt;link href=&quot;/heurist/?db=MBH_Manuscripta_Bibliae_Hebraicae&amp;file=730b8e1c793648cb335861d0d993e0061509054d&quot; rel=&quot;stylesheet&quot;&gt;</detail>
<detail conceptID="2-941" termConceptID="2-532">Yes</detail>
</record>
</records>
<recordCount>1</recordCount>
</hml>
