Skip to content
Snippets Groups Projects
Select Git revision
  • a898f9332e4a4ee0155d519c5af340bf231ccea8
  • master default protected
  • upgrade-polkadot-v1.19.1
  • 311_gtest_fixes
  • set_UniversalDividendApi_in_RuntimeApiCollection
  • tuxmain/fix-change-owner-key
  • network/gtest-1000 protected
  • upgradable-multisig
  • runtime/gtest-1000
  • network/gdev-800 protected
  • cgeek/issue-297-cpu
  • gdev-800-tests
  • update-docker-compose-rpc-squid-names
  • fix-252
  • 1000i100-test
  • hugo/tmp-0.9.1
  • network/gdev-803 protected
  • hugo/endpoint-gossip
  • network/gdev-802 protected
  • hugo/distance-precompute
  • network/gdev-900 protected
  • gtest-1000-0.11.1 protected
  • gtest-1000-0.11.0 protected
  • gtest-1000 protected
  • gdev-900-0.10.1 protected
  • gdev-900-0.10.0 protected
  • gdev-900-0.9.2 protected
  • gdev-800-0.8.0 protected
  • gdev-900-0.9.1 protected
  • gdev-900-0.9.0 protected
  • gdev-803 protected
  • gdev-802 protected
  • runtime-801 protected
  • gdev-800 protected
  • runtime-800-bis protected
  • runtime-800 protected
  • runtime-800-backup protected
  • runtime-701 protected
  • runtime-700 protected
  • runtime-600 protected
  • runtime-500 protected
41 results

check_labels.sh

Blame
  • build.index.js 2.60 KiB
    const fs = require("fs");
    const jsdom = require("jsdom");
    const { JSDOM } = jsdom;
    
    const fullSiteStr = fs.readFileSync(`generated.public/index.html`,"utf8");
    const dom = new JSDOM(fullSiteStr,"utf8");
    dom.window.document.querySelectorAll('[id^="session_"]').forEach((n,k,all)=>{
    
      let nav = '';
      if(k>0) {
        const prev = JSON.parse(all[k-1].querySelector('script').innerHTML)['@graph'][0];
        nav += `<a class="nav previous" href="./${all[k-1].id}.html" title="Session précédente : ${prev.name}"><img src="img/picto/previous.svg" alt="&lt;-"/></a>`;
      }
      if(k<all.length-1) {
        const next = JSON.parse(all[k+1].querySelector('script').innerHTML)['@graph'][0];
        nav += `<a class="nav next" href="./${all[k+1].id}.html" title="Session suivante : ${next.name}"><img src="img/picto/next.svg" alt="-&gt;"/></a>`;
      }
      const domToInsert = (new JSDOM(nav,"utf8")).window.document.body.children;
      tab(domToInsert).forEach(part=>n.insertBefore(part,n.firstChild));
    });
    fs.writeFileSync(`generated.public/full_site.html`,dom.serialize(),"utf8");
    
    const mainSections = dom.window.document.querySelectorAll("body>*");
    tab(mainSections).filter(n=>n.id!=="espace-accueil" && n.tagName.toLowerCase()!=="header").forEach(n=>n.remove());
    dom.window.document.body.appendChild(
    	(new JSDOM(`<div>
    <noscript>
    	Sans JavaScript ? &gt;&gt; <a href="./full_site.html">Site Complet</a>
    </noscript>
    <script>
    async function loadFullPage(){
    	const page = await(await fetch('./full_site.html')).text();
    	page.replace(new RegExp("<body>([^]+)</body>"),(fullBody,innerBody)=>document.body.innerHTML=innerBody);
    	window.runJS();
    }
    async function swInit(){
      if ('serviceWorker' in navigator) {
        navigator.serviceWorker.register('service_worker.js').then(
          (reg)=>{
           console.log('Service worker accepté', reg);
           navigator.serviceWorker.ready.then(loadFullPage);
          }, (err)=>{
            console.log('Service worker refusé', err);
            loadFullPage()
          });
      } else {
        console.log('Service workers are not supported.');
        loadFullPage();
      }
    }
    swInit();
    </script></div>
    `)).window.document.body.querySelector('div'));
    
    let pageStr = dom.serialize();
    const pageParts = pageStr.split(' id="');
    const part0 = pageParts.shift();
    const part1 = pageParts.shift();
    let otherParts = pageParts.join(' id="');
    otherParts = otherParts.replace(/<script type="application\/ld\+json">((?!<\/script>)[^])*<\/script>/g,'');
    if(otherParts) pageStr=`${part0} id="${part1} id="${otherParts}`;
    else pageStr=`${part0} id="${part1}`;
    
    
    fs.writeFileSync(`generated.public/index.html`,pageStr,"utf8");
    
    function tab(obj){
      return Object.keys(obj).map(k=>obj[k])
    }