Änderungen von Dokument Get Started

Zuletzt geändert von Veronika Kocher am Freitag, 04 Sep. 2026 14:45

Von Version 2.4
bearbeitet von Veronika Kocher
am Mittwoch, 02 Sep. 2026 9:43
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 2.5
bearbeitet von Veronika Kocher
am Donnerstag, 03 Sep. 2026 9:18
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -386,3 +386,238 @@
386 386   </div>
387 387  </div>
388 388  {{/html}}
389 +
390 +{{html clean="false"}}
391 +<!-- SN_HORIZONTAL_BOX_HARMONIZER_START -->
392 +<style data-sn-horizontal-box-harmonizer="1">
393 +[data-sn-equal-height-managed="1"]{box-sizing:border-box}
394 +@media(max-width:767px){
395 + [data-sn-equal-height-managed="1"]{min-height:0!important}
396 +}
397 +</style>
398 +<script data-sn-horizontal-box-harmonizer="1">
399 +(function(){
400 + "use strict";
401 +
402 + var MOBILE_MAX=767;
403 + var ROW_TOLERANCE=4;
404 + var MIN_W=150;
405 + var MIN_H=36;
406 +
407 + var root=
408 + document.getElementById("xwikicontent")||
409 + document.querySelector(".xwiki-rendering-content")||
410 + document.querySelector("main")||
411 + document.body;
412 +
413 + if(!root)return;
414 +
415 + var managed=new Set();
416 + var raf=0;
417 +
418 + function num(v){
419 + var n=parseFloat(v);
420 + return Number.isFinite(n)?n:0;
421 + }
422 +
423 + function visible(el){
424 + if(!el||el.nodeType!==1)return false;
425 + var s=getComputedStyle(el);
426 + if(s.display==="none"||s.visibility==="hidden"||Number(s.opacity)===0)return false;
427 + var r=el.getBoundingClientRect();
428 + return r.width>=MIN_W&&r.height>=MIN_H;
429 + }
430 +
431 + function excluded(el){
432 + return !el.matches||el.matches(
433 + "button,input,select,textarea,option,label,img,svg,canvas,table,thead,tbody,tfoot,tr,td,th,summary,script,style,noscript,template,.btn,.chip,[role=button]"
434 + );
435 + }
436 +
437 + function namedLikeBox(el){
438 + var c=typeof el.className==="string"?el.className:"";
439 + return /(^|[\s_-])(box|card|tile|panel|role|check|service|source|call|area|detail|resource|topic|warn|info)([\s_-]|$)/i.test(c);
440 + }
441 +
442 + function boxLike(el){
443 + if(!visible(el)||excluded(el))return false;
444 + var s=getComputedStyle(el);
445 + var r=el.getBoundingClientRect();
446 + var border=
447 + num(s.borderTopWidth)+num(s.borderRightWidth)+
448 + num(s.borderBottomWidth)+num(s.borderLeftWidth);
449 + var radius=Math.max(
450 + num(s.borderTopLeftRadius),num(s.borderTopRightRadius),
451 + num(s.borderBottomLeftRadius),num(s.borderBottomRightRadius)
452 + );
453 + var bg=s.backgroundColor&&s.backgroundColor!=="rgba(0, 0, 0, 0)"&&s.backgroundColor!=="transparent";
454 + var shadow=s.boxShadow&&s.boxShadow!=="none";
455 + return namedLikeBox(el)||border>=1||(bg&&radius>=3)||(shadow&&r.width>=180);
456 + }
457 +
458 + function pickTarget(child){
459 + if(!visible(child))return null;
460 + if(boxLike(child))return child;
461 +
462 + var cr=child.getBoundingClientRect();
463 + var q=[];
464 + Array.from(child.children||[]).forEach(function(el){
465 + q.push({el:el,depth:1});
466 + });
467 +
468 + var best=null,bestScore=-1;
469 +
470 + while(q.length){
471 + var item=q.shift();
472 + var el=item.el;
473 + if(!visible(el))continue;
474 +
475 + var r=el.getBoundingClientRect();
476 +
477 + if(r.width>=cr.width*.72&&boxLike(el)){
478 + var widthFit=1-Math.min(1,Math.abs(cr.width-r.width)/Math.max(1,cr.width));
479 + var topFit=1-Math.min(1,Math.abs(cr.top-r.top)/80);
480 + var score=widthFit*5+topFit*2+Math.min(r.height,600)/600;
481 + if(score>bestScore){
482 + best=el;
483 + bestScore=score;
484 + }
485 + }
486 +
487 + if(item.depth<3){
488 + Array.from(el.children||[]).forEach(function(next){
489 + q.push({el:next,depth:item.depth+1});
490 + });
491 + }
492 + }
493 +
494 + return best;
495 + }
496 +
497 + function reset(){
498 + managed.forEach(function(el){
499 + el.style.removeProperty("min-height");
500 + el.removeAttribute("data-sn-equal-height-managed");
501 + });
502 + managed.clear();
503 + }
504 +
505 + function horizontalLayout(parent){
506 + if(!visible(parent))return false;
507 + var s=getComputedStyle(parent);
508 + if(s.display==="grid"||s.display==="inline-grid")return true;
509 + if(s.display==="flex"||s.display==="inline-flex"){
510 + return s.flexDirection==="row"||s.flexDirection==="row-reverse";
511 + }
512 + return false;
513 + }
514 +
515 + function rowGroups(entries){
516 + var groups=[];
517 + entries.slice().sort(function(a,b){
518 + return a.rect.top-b.rect.top||a.rect.left-b.rect.left;
519 + }).forEach(function(entry){
520 + var group=null;
521 + for(var i=0;i<groups.length;i++){
522 + if(Math.abs(groups[i].top-entry.rect.top)<=ROW_TOLERANCE){
523 + group=groups[i];
524 + break;
525 + }
526 + }
527 + if(!group){
528 + group={top:entry.rect.top,entries:[]};
529 + groups.push(group);
530 + }
531 + group.entries.push(entry);
532 + });
533 + return groups;
534 + }
535 +
536 + function run(){
537 + reset();
538 +
539 + if(window.innerWidth<=MOBILE_MAX)return;
540 +
541 + var parents=Array.from(root.querySelectorAll("*")).filter(function(el){
542 + return el.children&&el.children.length>=2&&horizontalLayout(el);
543 + });
544 +
545 + parents.forEach(function(parent){
546 + var entries=[];
547 +
548 + Array.from(parent.children).forEach(function(child){
549 + if(!visible(child))return;
550 + var target=pickTarget(child);
551 + if(!target)return;
552 + entries.push({
553 + target:target,
554 + rect:target.getBoundingClientRect()
555 + });
556 + });
557 +
558 + if(entries.length<2)return;
559 +
560 + rowGroups(entries).forEach(function(group){
561 + if(group.entries.length<2)return;
562 +
563 + var lefts=group.entries.map(function(e){return e.rect.left;}).sort(function(a,b){return a-b;});
564 + if(lefts[lefts.length-1]-lefts[0]<80)return;
565 +
566 + var targets=[];
567 + var seen=new Set();
568 +
569 + group.entries.forEach(function(e){
570 + if(!seen.has(e.target)){
571 + seen.add(e.target);
572 + targets.push(e.target);
573 + }
574 + });
575 +
576 + if(targets.length<2)return;
577 +
578 + var max=0;
579 + targets.forEach(function(el){
580 + max=Math.max(max,el.getBoundingClientRect().height);
581 + });
582 +
583 + max=Math.ceil(max);
584 + if(max<MIN_H)return;
585 +
586 + targets.forEach(function(el){
587 + el.style.setProperty("min-height",max+"px");
588 + el.setAttribute("data-sn-equal-height-managed","1");
589 + managed.add(el);
590 + });
591 + });
592 + });
593 + }
594 +
595 + function schedule(){
596 + if(raf)cancelAnimationFrame(raf);
597 + raf=requestAnimationFrame(function(){
598 + raf=requestAnimationFrame(function(){
599 + raf=0;
600 + run();
601 + });
602 + });
603 + }
604 +
605 + addEventListener("resize",schedule,{passive:true});
606 + addEventListener("load",schedule,{once:true});
607 +
608 + root.addEventListener("click",function(){
609 + setTimeout(schedule,0);
610 + },true);
611 +
612 + if(document.fonts&&document.fonts.ready){
613 + document.fonts.ready.then(schedule);
614 + }
615 +
616 + schedule();
617 + setTimeout(schedule,250);
618 + setTimeout(schedule,900);
619 +})();
620 +</script>
621 +<!-- SN_HORIZONTAL_BOX_HARMONIZER_END -->
622 +{{/html}}
623 +