Wijzigen voor document Huisstijl
Laatst gewijzigd door Jeeves de Butler op 07-10-2026 01:56
Van versie 3.1
gewijzigd door Jeeves de Butler
op 05-10-2026 01:21
op 05-10-2026 01:21
Opmerking bij wijziging:
Er is geen opmerking bij deze versie
Naar versie 8.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
Samenvatting
-
Paginaeigenschappen (1 gewijzigd, 0 toegevoegd, 0 verwijderd)
-
Objecten (1 gewijzigd, 3 toegevoegd, 0 verwijderd)
Details
- Paginaeigenschappen
-
- Inhoud
-
... ... @@ -1,4 +1,4 @@ 1 -Huisstijl van de Wardenburg Kennisbank. Het object //StyleSheetExtension// op deze pagina word top elke pagina geladen.1 +Huisstijl van de Wardenburg Kennisbank. Het object //StyleSheetExtension// op deze pagina (de opmaak) en het object //JavaScriptExtension// (kaartenraster voor tegeltabellen, alleen presentatie) worden op elke pagina geladen. 2 2 3 3 Kleuren en lettertypen staan in het kleurthema [[Wardenburg>>doc:FlamingoThemes.Wardenburg]]. Zie het [[register van eigen aanpassingen>>doc:Wardenburg.Code.WebHome]]. 4 4
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -686,6 +686,141 @@ 686 686 } 687 687 } 688 688 689 +/* ---------- Paginakop: titel en knoppen naast elkaar ---------- */ 690 + 691 +@media (min-width: 992px) { 692 + #mainContentArea > .document-header { 693 + display: flex; 694 + align-items: flex-start; 695 + gap: 16px; 696 + } 697 + #mainContentArea > .document-header::before, 698 + #mainContentArea > .document-header::after { 699 + content: none; 700 + } 701 + #mainContentArea > .document-header > .document-info { 702 + flex: 1 1 auto; 703 + width: auto; 704 + min-width: 0; 705 + } 706 + #mainContentArea > .document-header > .document-menu { 707 + flex: 0 0 auto; 708 + width: auto; 709 + } 710 + #mainContentArea > .document-header #contentmenu { 711 + float: none; 712 + display: flex; 713 + flex-wrap: nowrap; 714 + } 715 +} 716 + 717 +/* ---------- Tegels (vgmtabel) als kaarten ---------- */ 718 + 719 +/* Het script huisstijl.js zet een tegeltabel om in een kaartenraster en verbergt de tabel. */ 720 +#xwikicontent table.vgmtabel.wb-vervangen { 721 + display: none !important; 722 +} 723 +.wb-kaarten { 724 + display: grid; 725 + grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); 726 + gap: 18px; 727 + margin: 14px 0 30px; 728 + clear: none; 729 +} 730 +#body #xwikicontent a.wb-kaart, 731 +.wb-kaart { 732 + display: flex; 733 + flex-direction: column; 734 + overflow: hidden; 735 + border: 1px solid #e8eaed; 736 + border-radius: 12px; 737 + background: #ffffff; 738 + color: #202124; 739 + text-decoration: none; 740 + transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; 741 +} 742 +#body #xwikicontent a.wb-kaart:hover, 743 +#body #xwikicontent a.wb-kaart:focus { 744 + border-color: #ffb447; 745 + box-shadow: 0 4px 14px rgba(31, 35, 40, .10); 746 + transform: translateY(-2px); 747 + color: #202124; 748 +} 749 +.wb-kaart-beeld { 750 + display: block; 751 + position: relative; 752 + aspect-ratio: 16 / 10; 753 + overflow: hidden; 754 + background: #f1f3f4; 755 +} 756 +.wb-kaart-beeld img { 757 + display: block; 758 + width: 100% !important; 759 + height: 100% !important; 760 + max-width: none; 761 + object-fit: cover; 762 + transition: transform .25s ease; 763 +} 764 +.wb-kaart:hover .wb-kaart-beeld img { 765 + transform: scale(1.03); 766 +} 767 +.wb-kaart-geenbeeld::before { 768 + content: "02d"; 769 + position: absolute; 770 + top: 50%; 771 + left: 50%; 772 + transform: translate(-50%, -50%); 773 + font-family: FontAwesome; 774 + font-size: 34px; 775 + color: #b86e00; 776 + opacity: .5; 777 +} 778 +.wb-kaart-titel { 779 + padding: 10px 14px 12px; 780 + font-size: 15px; 781 + font-weight: 500; 782 + line-height: 1.35; 783 +} 784 + 785 +/* Zonder script: de tabel past in elk geval binnen het scherm */ 786 +#xwikicontent table.vgmtabel { 787 + width: 100% !important; 788 + max-width: 100%; 789 + table-layout: fixed; 790 +} 791 +#xwikicontent table.vgmtabel th, 792 +#xwikicontent table.vgmtabel td { 793 + width: auto !important; 794 + position: static !important; 795 + top: auto !important; 796 + padding: 6px; 797 +} 798 +#xwikicontent table.vgmtabel img { 799 + width: 100% !important; 800 + height: auto !important; 801 + aspect-ratio: 16 / 10; 802 + object-fit: cover; 803 + border-radius: 10px; 804 +} 805 + 806 +/* ---------- Handboeken: geplakte Word-opmaak volgt de huisstijl ---------- */ 807 + 808 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent [style*="font-family"] { 809 + font-family: inherit !important; 810 +} 811 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent [style*="font-size"] { 812 + font-size: inherit !important; 813 +} 814 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent [style*="line-height"] { 815 + line-height: inherit !important; 816 +} 817 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent table:not(.vgmtabel) { 818 + font-size: 14px; 819 +} 820 +html[data-xwiki-space^="Main.Handboeken"] #xwikicontent table [style*="text-indent"] { 821 + text-indent: 0 !important; 822 +} 823 + 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 } 851 + .wb-kaarten { 852 + grid-template-columns: repeat(2, minmax(0, 1fr)); 853 + gap: 10px; 854 + } 855 + .wb-kaart-titel { 856 + padding: 8px 10px 10px; 857 + font-size: 13.5px; 858 + } 716 716 #xwikicontent #actionBox ul { 717 717 flex-wrap: nowrap; 718 718 overflow-x: auto;
- XWiki.JavaScriptExtension[0]
-
- cache
-
... ... @@ -1,0 +1,1 @@ 1 +long - code
-
... ... @@ -1,0 +1,130 @@ 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 + function maakKaart(k) { 45 + var kaart = document.createElement(k.link ? 'a' : 'div'); 46 + kaart.className = 'wb-kaart'; 47 + if (k.link) { 48 + kaart.setAttribute('href', k.link.getAttribute('href')); 49 + if (k.link.getAttribute('target')) { 50 + kaart.setAttribute('target', k.link.getAttribute('target')); 51 + kaart.setAttribute('rel', 'noopener'); 52 + } 53 + } 54 + var beeld = document.createElement('span'); 55 + beeld.className = 'wb-kaart-beeld'; 56 + if (k.img) { 57 + var img = document.createElement('img'); 58 + img.src = k.img.currentSrc || k.img.src; 59 + img.alt = ''; 60 + img.loading = 'lazy'; 61 + img.decoding = 'async'; 62 + var geenBeeld = function () { 63 + beeld.classList.add('wb-kaart-geenbeeld'); 64 + img.remove(); 65 + }; 66 + img.addEventListener('error', geenBeeld); 67 + // Sommige externe sites geven bij een verdwenen afbeelding een leeg plaatje in plaats van een fout. 68 + img.addEventListener('load', function () { 69 + if (!img.naturalWidth || img.naturalWidth < 4) { 70 + geenBeeld(); 71 + } 72 + }); 73 + beeld.appendChild(img); 74 + } else { 75 + beeld.classList.add('wb-kaart-geenbeeld'); 76 + } 77 + var titel = document.createElement('span'); 78 + titel.className = 'wb-kaart-titel'; 79 + titel.textContent = k.titel; 80 + kaart.appendChild(beeld); 81 + kaart.appendChild(titel); 82 + return kaart; 83 + } 84 + 85 + function verwerk(tabel) { 86 + if (tabel.classList.contains('wb-vervangen')) { 87 + return; 88 + } 89 + var kaarten = kaartenUitTabel(tabel); 90 + if (!kaarten.length) { 91 + return; 92 + } 93 + var raster = document.createElement('div'); 94 + raster.className = 'wb-kaarten'; 95 + kaarten.forEach(function (k) { raster.appendChild(maakKaart(k)); }); 96 + tabel.parentNode.insertBefore(raster, tabel.nextSibling); 97 + tabel.classList.add('wb-vervangen'); 98 + } 99 + 100 + function start() { 101 + var actie = (window.XWiki && window.XWiki.contextaction) || 'view'; 102 + if (actie !== 'view') { 103 + return; 104 + } 105 + var tabellen = document.querySelectorAll('#xwikicontent table.vgmtabel'); 106 + Array.prototype.forEach.call(tabellen, function (tabel) { 107 + try { verwerk(tabel); } catch (e) { /* bij een fout blijft de tabel gewoon zichtbaar */ } 108 + }); 109 + } 110 + 111 + // Bij wijzigen op de pagina zelf: eerst de oorspronkelijke tabel terug, zodat de editor nooit de kaarten ziet. 112 + function herstel() { 113 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent .wb-kaarten'), function (r) { r.remove(); }); 114 + Array.prototype.forEach.call(document.querySelectorAll('#xwikicontent table.wb-vervangen'), function (t) { t.classList.remove('wb-vervangen'); }); 115 + } 116 + 117 + if (typeof window.require === 'function') { 118 + window.require(['jquery'], function ($) { 119 + $(document).on('xwiki:actions:edit', herstel); 120 + $(document).on('xwiki:actions:view', function () { setTimeout(start, 0); }); 121 + }); 122 + } 123 + 124 + if (document.readyState === 'loading') { 125 + document.addEventListener('DOMContentLoaded', start); 126 + } else { 127 + start(); 128 + } 129 +})(); 130 + - name
-
... ... @@ -1,0 +1,1 @@ 1 +Wardenburg tegels als kaarten - parse
-
... ... @@ -1,0 +1,1 @@ 1 +Nee - use
-
... ... @@ -1,0 +1,1 @@ 1 +always
- XWiki.XWikiRights[1]
-
- allow
-
... ... @@ -1,0 +1,1 @@ 1 +Sta toe - groups
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiAllGroup - levels
-
... ... @@ -1,0 +1,1 @@ 1 +view
- XWiki.XWikiRights[2]
-
- allow
-
... ... @@ -1,0 +1,1 @@ 1 +Sta toe - groups
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiAdminGroup - levels
-
... ... @@ -1,0 +1,1 @@ 1 +view,edit,comment,script