Ä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
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
am Donnerstag, 03 Sep. 2026 9:18
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
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 +