Änderungen von Dokument Get Started
Zuletzt geändert von Veronika Kocher am Freitag, 04 Sep. 2026 14:45
Von 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
Auf 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
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -386,238 +386,3 @@ 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 -