Wijzigen voor document Huisstijl
Laatst gewijzigd door Jeeves de Butler op 07-10-2026 01:56
Van versie 12.1
gewijzigd door Jeeves de Butler
op 05-10-2026 03:41
op 05-10-2026 03:41
Opmerking bij wijziging:
Er is geen opmerking bij deze versie
Naar versie 22.1
gewijzigd door Jeeves de Butler
op 05-10-2026 07:36
op 05-10-2026 07:36
Opmerking bij wijziging:
Er is geen opmerking bij deze versie
Samenvatting
-
Objecten (2 gewijzigd, 0 toegevoegd, 0 verwijderd)
Details
- XWiki.JavaScriptExtension[0]
-
- code
-
... ... @@ -41,6 +41,26 @@ 41 41 return kaarten; 42 42 } 43 43 44 + // Adres van de oorspronkelijke afbeelding: zonder de width- en height-parameters waarmee XWiki verkleint. 45 + function origineel(src) { 46 + try { 47 + var url = new URL(src, window.location.href); 48 + url.searchParams.delete('width'); 49 + url.searchParams.delete('height'); 50 + return url.toString(); 51 + } catch (e) { 52 + return src; 53 + } 54 + } 55 + 56 + function zetIcoon(beeld) { 57 + beeld.classList.add('wb-kaart-geenbeeld'); 58 + var icoon = document.createElement('span'); 59 + icoon.className = 'fa fa-book wb-kaart-icoon'; 60 + icoon.setAttribute('aria-hidden', 'true'); 61 + beeld.appendChild(icoon); 62 + } 63 + 44 44 function maakKaart(k) { 45 45 var kaart = document.createElement(k.link ? 'a' : 'div'); 46 46 kaart.className = 'wb-kaart'; ... ... @@ -55,13 +55,14 @@ 55 55 beeld.className = 'wb-kaart-beeld'; 56 56 if (k.img) { 57 57 var img = document.createElement('img'); 58 - img.src = k.img.currentSrc || k.img.src; 78 + // Het origineel laden in plaats van de door XWiki verkleinde versie (?width=…&height=…), zodat grote kaarten scherp zijn. 79 + img.src = origineel(k.img.currentSrc || k.img.src); 59 59 img.alt = ''; 60 60 img.loading = 'lazy'; 61 61 img.decoding = 'async'; 62 62 var geenBeeld = function () { 63 - beeld.classList.add('wb-kaart-geenbeeld'); 64 64 img.remove(); 85 + zetIcoon(beeld); 65 65 }; 66 66 img.addEventListener('error', geenBeeld); 67 67 // Sommige externe sites geven bij een verdwenen afbeelding een leeg plaatje in plaats van een fout. ... ... @@ -72,7 +72,7 @@ 72 72 }); 73 73 beeld.appendChild(img); 74 74 } else { 75 - beeld.classList.add('wb-kaart-geenbeeld');96 + zetIcoon(beeld); 76 76 } 77 77 var titel = document.createElement('span'); 78 78 titel.className = 'wb-kaart-titel'; ... ... @@ -106,12 +106,56 @@ 106 106 Array.prototype.forEach.call(tabellen, function (tabel) { 107 107 try { verwerk(tabel); } catch (e) { /* bij een fout blijft de tabel gewoon zichtbaar */ } 108 108 }); 130 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent ul.wikitoc'), eigenNummering); 131 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent .wbrb img'), scherpInfovak); 109 109 } 110 110 134 + // Infovak: het origineel tonen in plaats van de kleine XWiki-verkleining, zodat de afbeelding op een breed scherm scherp blijft. 135 + // Bij een fout terug naar de verkleining. Het oude adres blijft bewaard voor herstel(). 136 + function scherpInfovak(img) { 137 + var src = img.getAttribute('src') || ''; 138 + if (img.hasAttribute('data-wb-src') || !/[?&](width|height)=/.test(src)) { 139 + return; 140 + } 141 + var groot = origineel(src); 142 + if (groot === src) { 143 + return; 144 + } 145 + img.setAttribute('data-wb-src', src); 146 + img.addEventListener('error', function terug() { 147 + img.removeEventListener('error', terug); 148 + img.setAttribute('src', src); 149 + }); 150 + img.removeAttribute('srcset'); 151 + img.setAttribute('src', groot); 152 + } 153 + 154 + // Inhoudsopgave: staan de nummers al in de koppen ("2.1 Mogelijkheden"), dan geen tweede nummering ervoor. 155 + // Beslist per inhoudsopgave, zodat die in zijn geheel genummerd of ongenummerd is. 156 + function eigenNummering(toc) { 157 + var links = toc.querySelectorAll('a'); 158 + if (!links.length) { 159 + return; 160 + } 161 + var genummerd = 0; 162 + Array.prototype.forEach.call(links, function (a) { 163 + if (/^\s*\d+(\.\d+)*\.?\s/.test(a.textContent || '')) { 164 + genummerd++; 165 + } 166 + }); 167 + if (genummerd / links.length >= 0.6) { 168 + toc.classList.add('wb-toc-eigen-nummers'); 169 + } 170 + } 171 + 111 111 // Bij wijzigen op de pagina zelf: eerst de oorspronkelijke tabel terug, zodat de editor nooit de kaarten ziet. 112 112 function herstel() { 113 113 Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent .wb-kaarten'), function (r) { r.remove(); }); 114 114 Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent table.wb-vervangen'), function (t) { t.classList.remove('wb-vervangen'); }); 176 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent .wbrb img[data-wb-src]'), function (img) { 177 + img.setAttribute('src', img.getAttribute('data-wb-src')); 178 + img.removeAttribute('data-wb-src'); 179 + }); 115 115 } 116 116 117 117 if (typeof window.require === 'function') {
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -109,10 +109,11 @@ 109 109 110 110 /* ---------- Infovak rechts (wbrechts) ---------- */ 111 111 112 +/* Groeit mee met de inhoudskolom: op een laptop als voorheen, op brede schermen ruimer voor de afbeelding */ 112 112 .floatinginfobox.wbrechts { 113 - width: 30%;114 - min-width: 2 60px;115 - max-width: 340px;114 + width: 26%; 115 + min-width: 280px; 116 + max-width: 460px; 116 116 margin: 0 0 16px 28px; 117 117 padding: 14px; 118 118 border: 1px solid #e8eaed; ... ... @@ -128,9 +128,10 @@ 128 128 text-align: center; 129 129 margin-bottom: 12px; 130 130 } 132 +/* Nooit groter dan het origineel, zodat logo's klein en scherp blijven */ 131 131 .wbrb img { 132 132 max-width: 100%; 133 - max-height: 150px;135 + max-height: 280px; 134 134 width: auto; 135 135 height: auto; 136 136 border-radius: 10px; ... ... @@ -249,6 +249,11 @@ 249 249 color: #80868b; 250 250 font-variant-numeric: tabular-nums; 251 251 } 254 +/* Koppen die zelf al genummerd zijn ("2.1 Mogelijkheden"): het script zet deze class, dan geen tweede nummer */ 255 +#xwikicontent ul.wikitoc.wb-toc-eigen-nummers li > .wikilink::before, 256 +#xwikicontent ul.wikitoc.wb-toc-eigen-nummers ul li > .wikilink::before { 257 + content: none; 258 +} 252 252 #xwikicontent ul.wikitoc > li:not(.nodirectchild), 253 253 #xwikicontent ul.wikitoc > li.nodirectchild > ul > li { 254 254 margin-top: 10px; ... ... @@ -660,7 +660,7 @@ 660 660 min-width: 0; 661 661 margin: 0 0 20px; 662 662 display: grid; 663 - grid-template-columns: 150px minmax(0, 1fr);670 + grid-template-columns: 220px minmax(0, 1fr); 664 664 column-gap: 18px; 665 665 align-items: start; 666 666 } ... ... @@ -669,7 +669,7 @@ 669 669 margin: 0; 670 670 } 671 671 .floatinginfobox.wbrechts > .wbrb img { 672 - max-height: 1 20px;679 + max-height: 170px; 673 673 } 674 674 .floatinginfobox.wbrechts > *:not(.wbrb) { 675 675 grid-column: 2; ... ... @@ -764,13 +764,13 @@ 764 764 .wb-kaart:hover .wb-kaart-beeld img { 765 765 transform: scale(1.03); 766 766 } 767 -.wb-kaart-geenbeeld::before { 768 - content: "02d"; 774 +/* Geen of verdwenen afbeelding: het script zet er een boekpictogram in (geen backslash-codes in deze CSS: 775 + de CSS-verkleiner van XWiki breekt die, en dan valt de rest van het bestand weg). */ 776 +.wb-kaart-icoon { 769 769 position: absolute; 770 770 top: 50%; 771 771 left: 50%; 772 772 transform: translate(-50%, -50%); 773 - font-family: FontAwesome; 774 774 font-size: 34px; 775 775 color: #b86e00; 776 776 opacity: .5; ... ... @@ -840,6 +840,65 @@ 840 840 text-indent: 0 !important; 841 841 } 842 842 850 +/* ---------- Overzicht van onderliggende pagina's (startpagina van een onderdeel) ---------- */ 851 + 852 +.wb-overzicht { 853 + list-style: none; 854 + display: grid; 855 + grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); 856 + gap: 10px; 857 + margin: 14px 0 28px; 858 + padding: 0; 859 +} 860 +.wb-overzicht li { 861 + margin: 0; 862 +} 863 +#body #xwikicontent .wb-overzicht a { 864 + display: flex; 865 + align-items: center; 866 + gap: 12px; 867 + height: 100%; 868 + padding: 12px 14px; 869 + border: 1px solid #e8eaed; 870 + border-radius: 10px; 871 + background: #ffffff; 872 + color: #202124; 873 + text-decoration: none; 874 + transition: border-color .15s ease, box-shadow .15s ease; 875 +} 876 +#body #xwikicontent .wb-overzicht a:hover, 877 +#body #xwikicontent .wb-overzicht a:focus { 878 + border-color: #ffb447; 879 + box-shadow: 0 2px 10px rgba(31, 35, 40, .08); 880 +} 881 +.wb-overzicht-icoon { 882 + flex: none; 883 + width: 36px; 884 + height: 36px; 885 + display: flex; 886 + align-items: center; 887 + justify-content: center; 888 + border-radius: 50%; 889 + background: #ffefd5; 890 + color: #b86e00; 891 + font-size: 16px; 892 + text-align: center; 893 +} 894 +.wb-overzicht strong { 895 + display: block; 896 + font-weight: 500; 897 + line-height: 1.3; 898 +} 899 +.wb-overzicht small { 900 + display: block; 901 + margin-top: 2px; 902 + font-size: 13px; 903 + color: #5f6368; 904 +} 905 +.wb-overzicht-leeg { 906 + color: #5f6368; 907 +} 908 + 843 843 /* ---------- Telefoon ---------- */ 844 844 845 845 @media (max-width: 767px) { ... ... @@ -851,7 +851,7 @@ 851 851 margin: 0 0 16px; 852 852 } 853 853 .wbrb img { 854 - max-height: 110px;920 + max-height: 200px; 855 855 } 856 856 #xwikicontent table:not(.wbinfotab table) { 857 857 display: block; ... ... @@ -892,7 +892,7 @@ 892 892 } 893 893 #xwikicontent .xwiki-livetable-display-header th, 894 894 #xwikicontent .xwiki-livetable-display-body td { 895 - padding: 6px 8px;961 + padding: 6px 7px; 896 896 } 897 897 #xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td { 898 898 word-break: normal; ... ... @@ -901,7 +901,7 @@ 901 901 } 902 902 #xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.URL, 903 903 #xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.DOWNLOADURL { 904 - max-width: 1 60px;970 + max-width: 140px; 905 905 white-space: nowrap; 906 906 overflow: hidden; 907 907 text-overflow: ellipsis;