Wijzigen voor document Huisstijl
Laatst gewijzigd door Jeeves de Butler op 07-10-2026 01:56
Van versie 6.1
gewijzigd door Jeeves de Butler
op 05-10-2026 02:49
op 05-10-2026 02:49
Opmerking bij wijziging:
Er is geen opmerking bij deze versie
Naar versie 19.1
gewijzigd door Jeeves de Butler
op 05-10-2026 04:11
op 05-10-2026 04:11
Opmerking bij wijziging:
Er is geen opmerking bij deze versie
Samenvatting
-
Objecten (1 gewijzigd, 1 toegevoegd, 0 verwijderd)
Details
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -249,6 +249,11 @@ 249 249 color: #80868b; 250 250 font-variant-numeric: tabular-nums; 251 251 } 252 +/* Koppen die zelf al genummerd zijn ("2.1 Mogelijkheden"): het script zet deze class, dan geen tweede nummer */ 253 +#xwikicontent ul.wikitoc.wb-toc-eigen-nummers li > .wikilink::before, 254 +#xwikicontent ul.wikitoc.wb-toc-eigen-nummers ul li > .wikilink::before { 255 + content: none; 256 +} 252 252 #xwikicontent ul.wikitoc > li:not(.nodirectchild), 253 253 #xwikicontent ul.wikitoc > li.nodirectchild > ul > li { 254 254 margin-top: 10px; ... ... @@ -686,6 +686,160 @@ 686 686 } 687 687 } 688 688 694 +/* ---------- Paginakop: titel en knoppen naast elkaar ---------- */ 695 + 696 +@media (min-width: 992px) { 697 + #mainContentArea > .document-header { 698 + display: flex; 699 + align-items: flex-start; 700 + gap: 16px; 701 + } 702 + #mainContentArea > .document-header::before, 703 + #mainContentArea > .document-header::after { 704 + content: none; 705 + } 706 + #mainContentArea > .document-header > .document-info { 707 + flex: 1 1 auto; 708 + width: auto; 709 + min-width: 0; 710 + } 711 + #mainContentArea > .document-header > .document-menu { 712 + flex: 0 0 auto; 713 + width: auto; 714 + } 715 + #mainContentArea > .document-header #contentmenu { 716 + float: none; 717 + display: flex; 718 + flex-wrap: nowrap; 719 + } 720 +} 721 + 722 +/* ---------- Tegels (vgmtabel) als kaarten ---------- */ 723 + 724 +/* Het script huisstijl.js zet een tegeltabel om in een kaartenraster en verbergt de tabel. */ 725 +#xwikicontent table.vgmtabel.wb-vervangen { 726 + display: none !important; 727 +} 728 +.wb-kaarten { 729 + display: grid; 730 + grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); 731 + gap: 18px; 732 + margin: 14px 0 30px; 733 + clear: none; 734 +} 735 +#body #xwikicontent a.wb-kaart, 736 +.wb-kaart { 737 + display: flex; 738 + flex-direction: column; 739 + overflow: hidden; 740 + border: 1px solid #e8eaed; 741 + border-radius: 12px; 742 + background: #ffffff; 743 + color: #202124; 744 + text-decoration: none; 745 + transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; 746 +} 747 +#body #xwikicontent a.wb-kaart:hover, 748 +#body #xwikicontent a.wb-kaart:focus { 749 + border-color: #ffb447; 750 + box-shadow: 0 4px 14px rgba(31, 35, 40, .10); 751 + transform: translateY(-2px); 752 + color: #202124; 753 +} 754 +.wb-kaart-beeld { 755 + display: block; 756 + position: relative; 757 + aspect-ratio: 16 / 10; 758 + overflow: hidden; 759 + background: #f1f3f4; 760 +} 761 +.wb-kaart-beeld img { 762 + display: block; 763 + width: 100% !important; 764 + height: 100% !important; 765 + max-width: none; 766 + object-fit: cover; 767 + transition: transform .25s ease; 768 +} 769 +.wb-kaart:hover .wb-kaart-beeld img { 770 + transform: scale(1.03); 771 +} 772 +/* Geen of verdwenen afbeelding: het script zet er een boekpictogram in (geen backslash-codes in deze CSS: 773 + de CSS-verkleiner van XWiki breekt die, en dan valt de rest van het bestand weg). */ 774 +.wb-kaart-icoon { 775 + position: absolute; 776 + top: 50%; 777 + left: 50%; 778 + transform: translate(-50%, -50%); 779 + font-size: 34px; 780 + color: #b86e00; 781 + opacity: .5; 782 +} 783 +.wb-kaart-titel { 784 + padding: 10px 14px 12px; 785 + font-size: 15px; 786 + font-weight: 500; 787 + line-height: 1.35; 788 +} 789 +/* Grote schermen: grote kaarten, foto's in hun oorspronkelijke 3:2-verhouding */ 790 +@media (min-width: 1200px) { 791 + .wb-kaarten { 792 + grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); 793 + gap: 26px; 794 + } 795 + .wb-kaart-beeld { 796 + aspect-ratio: 3 / 2; 797 + } 798 + .wb-kaart-titel { 799 + padding: 14px 18px 16px; 800 + font-size: 17px; 801 + } 802 +} 803 +@media (min-width: 1800px) { 804 + .wb-kaarten { 805 + grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); 806 + } 807 +} 808 + 809 +/* Zonder script: de tabel past in elk geval binnen het scherm */ 810 +#xwikicontent table.vgmtabel { 811 + width: 100% !important; 812 + max-width: 100%; 813 + table-layout: fixed; 814 +} 815 +#xwikicontent table.vgmtabel th, 816 +#xwikicontent table.vgmtabel td { 817 + width: auto !important; 818 + position: static !important; 819 + top: auto !important; 820 + padding: 6px; 821 +} 822 +#xwikicontent table.vgmtabel img { 823 + width: 100% !important; 824 + height: auto !important; 825 + aspect-ratio: 16 / 10; 826 + object-fit: cover; 827 + border-radius: 10px; 828 +} 829 + 830 +/* ---------- Handboeken: geplakte Word-opmaak volgt de huisstijl ---------- */ 831 + 832 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent [style*="font-family"] { 833 + font-family: inherit !important; 834 +} 835 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent [style*="font-size"] { 836 + font-size: inherit !important; 837 +} 838 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent [style*="line-height"] { 839 + line-height: inherit !important; 840 +} 841 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent table:not(.vgmtabel) { 842 + font-size: 14px; 843 +} 844 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent table [style*="text-indent"] { 845 + text-indent: 0 !important; 846 +} 847 + 689 689 /* ---------- Telefoon ---------- */ 690 690 691 691 @media (max-width: 767px) { ... ... @@ -713,6 +713,14 @@ 713 713 #contentmenu .btn-label { 714 714 display: none; 715 715 } 875 + .wb-kaarten { 876 + grid-template-columns: repeat(2, minmax(0, 1fr)); 877 + gap: 10px; 878 + } 879 + .wb-kaart-titel { 880 + padding: 8px 10px 10px; 881 + font-size: 13.5px; 882 + } 716 716 #xwikicontent #actionBox ul { 717 717 flex-wrap: nowrap; 718 718 overflow-x: auto; ... ... @@ -724,3 +724,35 @@ 724 724 } 725 725 } 726 726 894 +/* Overzichtstabellen (livetable): woorden heel laten, lange adressen afkappen met ...; bij aanwijzen het volledige adres */ 895 +#xwikicontent table.xwiki-livetable { 896 + font-size: 14px; 897 +} 898 +#xwikicontent .xwiki-livetable-display-header th, 899 +#xwikicontent .xwiki-livetable-display-body td { 900 + padding: 6px 7px; 901 +} 902 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td { 903 + word-break: normal; 904 + overflow-wrap: break-word; 905 + hyphens: manual; 906 +} 907 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.URL, 908 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.DOWNLOADURL { 909 + max-width: 140px; 910 + white-space: nowrap; 911 + overflow: hidden; 912 + text-overflow: ellipsis; 913 +} 914 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.URL:hover, 915 +#xwikicontent table.xwiki-livetable .xwiki-livetable-display-body td.DOWNLOADURL:hover { 916 + white-space: normal; 917 + overflow-wrap: anywhere; 918 +} 919 +/* Een brede overzichtstabel blijft binnen de pagina en schuift zo nodig opzij */ 920 +#xwikicontent table.xwiki-livetable { 921 + display: block; 922 + max-width: 100%; 923 + overflow-x: auto; 924 +} 925 +
- XWiki.JavaScriptExtension[0]
-
- cache
-
... ... @@ -1,0 +1,1 @@ 1 +long - code
-
... ... @@ -1,0 +1,170 @@ 1 +/* Wardenburg Kennisbank; presentatie van tegeltabellen (class "vgmtabel"). 2 + Een tegeltabel is een rij met titels (kopcellen) met daaronder een rij met afbeeldingen die naar een pagina linken. 3 + Dit script toont dezelfde titels, afbeeldingen en links als een rustig kaartenraster. De pagina zelf verandert niet: 4 + de tabel blijft in de pagina staan en wordt alleen verborgen. Werkt alleen in de leesweergave. */ 5 +(function () { 6 + 'use strict'; 7 + 8 + function cellen(rij) { 9 + return rij ? Array.prototype.slice.call(rij.cells) : []; 10 + } 11 + 12 + function isKopRij(rij) { 13 + var c = cellen(rij); 14 + return c.length > 0 && c.every(function (cel) { return cel.tagName === 'TH'; }); 15 + } 16 + 17 + function kaartenUitTabel(tabel) { 18 + var rijen = Array.prototype.slice.call(tabel.rows); 19 + var kaarten = []; 20 + for (var i = 0; i < rijen.length; i++) { 21 + var kop = rijen[i]; 22 + if (!isKopRij(kop)) { 23 + continue; 24 + } 25 + var beeldRij = rijen[i + 1] && !isKopRij(rijen[i + 1]) ? rijen[i + 1] : null; 26 + var beeldCellen = cellen(beeldRij); 27 + cellen(kop).forEach(function (th, j) { 28 + var td = beeldCellen[j] || null; 29 + var titel = (th.textContent || '').replace(/\s+/g, ' ').trim(); 30 + var img = (td && td.querySelector('img')) || th.querySelector('img'); 31 + var link = (td && td.querySelector('a[href]')) || th.querySelector('a[href]'); 32 + if (!titel && !img) { 33 + return; 34 + } 35 + kaarten.push({ titel: titel || (img && img.getAttribute('alt')) || '', img: img, link: link }); 36 + }); 37 + if (beeldRij) { 38 + i++; 39 + } 40 + } 41 + return kaarten; 42 + } 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 + 64 + function maakKaart(k) { 65 + var kaart = document.createElement(k.link ? 'a' : 'div'); 66 + kaart.className = 'wb-kaart'; 67 + if (k.link) { 68 + kaart.setAttribute('href', k.link.getAttribute('href')); 69 + if (k.link.getAttribute('target')) { 70 + kaart.setAttribute('target', k.link.getAttribute('target')); 71 + kaart.setAttribute('rel', 'noopener'); 72 + } 73 + } 74 + var beeld = document.createElement('span'); 75 + beeld.className = 'wb-kaart-beeld'; 76 + if (k.img) { 77 + var img = document.createElement('img'); 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); 80 + img.alt = ''; 81 + img.loading = 'lazy'; 82 + img.decoding = 'async'; 83 + var geenBeeld = function () { 84 + img.remove(); 85 + zetIcoon(beeld); 86 + }; 87 + img.addEventListener('error', geenBeeld); 88 + // Sommige externe sites geven bij een verdwenen afbeelding een leeg plaatje in plaats van een fout. 89 + img.addEventListener('load', function () { 90 + if (!img.naturalWidth || img.naturalWidth < 4) { 91 + geenBeeld(); 92 + } 93 + }); 94 + beeld.appendChild(img); 95 + } else { 96 + zetIcoon(beeld); 97 + } 98 + var titel = document.createElement('span'); 99 + titel.className = 'wb-kaart-titel'; 100 + titel.textContent = k.titel; 101 + kaart.appendChild(beeld); 102 + kaart.appendChild(titel); 103 + return kaart; 104 + } 105 + 106 + function verwerk(tabel) { 107 + if (tabel.classList.contains('wb-vervangen')) { 108 + return; 109 + } 110 + var kaarten = kaartenUitTabel(tabel); 111 + if (!kaarten.length) { 112 + return; 113 + } 114 + var raster = document.createElement('div'); 115 + raster.className = 'wb-kaarten'; 116 + kaarten.forEach(function (k) { raster.appendChild(maakKaart(k)); }); 117 + tabel.parentNode.insertBefore(raster, tabel.nextSibling); 118 + tabel.classList.add('wb-vervangen'); 119 + } 120 + 121 + function start() { 122 + var actie = (window.XWiki && window.XWiki.contextaction) || 'view'; 123 + if (actie !== 'view') { 124 + return; 125 + } 126 + var tabellen = document.querySelectorAll('#xwikicontent table.vgmtabel'); 127 + Array.prototype.forEach.call(tabellen, function (tabel) { 128 + try { verwerk(tabel); } catch (e) { /* bij een fout blijft de tabel gewoon zichtbaar */ } 129 + }); 130 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent ul.wikitoc'), eigenNummering); 131 + } 132 + 133 + // Inhoudsopgave: staan de nummers al in de koppen ("2.1 Mogelijkheden"), dan geen tweede nummering ervoor. 134 + // Beslist per inhoudsopgave, zodat die in zijn geheel genummerd of ongenummerd is. 135 + function eigenNummering(toc) { 136 + var links = toc.querySelectorAll('a'); 137 + if (!links.length) { 138 + return; 139 + } 140 + var genummerd = 0; 141 + Array.prototype.forEach.call(links, function (a) { 142 + if (/^\s*\d+(\.\d+)*\.?\s/.test(a.textContent || '')) { 143 + genummerd++; 144 + } 145 + }); 146 + if (genummerd / links.length >= 0.6) { 147 + toc.classList.add('wb-toc-eigen-nummers'); 148 + } 149 + } 150 + 151 + // Bij wijzigen op de pagina zelf: eerst de oorspronkelijke tabel terug, zodat de editor nooit de kaarten ziet. 152 + function herstel() { 153 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent .wb-kaarten'), function (r) { r.remove(); }); 154 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent table.wb-vervangen'), function (t) { t.classList.remove('wb-vervangen'); }); 155 + } 156 + 157 + if (typeof window.require === 'function') { 158 + window.require(['jquery'], function ($) { 159 + $(document).on('xwiki:actions:edit', herstel); 160 + $(document).on('xwiki:actions:view', function () { setTimeout(start, 0); }); 161 + }); 162 + } 163 + 164 + if (document.readyState === 'loading') { 165 + document.addEventListener('DOMContentLoaded', start); 166 + } else { 167 + start(); 168 + } 169 +})(); 170 + - name
-
... ... @@ -1,0 +1,1 @@ 1 +Wardenburg tegels als kaarten - parse
-
... ... @@ -1,0 +1,1 @@ 1 +Nee - use
-
... ... @@ -1,0 +1,1 @@ 1 +always