Changes for page Get Started
Last modified by Veronika Kocher on Friday, 04 Sep 2026 15:32
From version 5.2
edited by Veronika Kocher
on Tuesday, 01 Sep 2026 10:49
on Tuesday, 01 Sep 2026 10:49
Change comment:
Update property defaultLocale
To version 8.4
edited by Veronika Kocher
on Thursday, 03 Sep 2026 9:18
on Thursday, 03 Sep 2026 9:18
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -434,3 +434,238 @@ 434 434 435 435 </div> 436 436 {{/html}} 437 + 438 +{{html clean="false"}} 439 +<!-- SN_HORIZONTAL_BOX_HARMONIZER_START --> 440 +<style data-sn-horizontal-box-harmonizer="1"> 441 +[data-sn-equal-height-managed="1"]{box-sizing:border-box} 442 +@media(max-width:767px){ 443 + [data-sn-equal-height-managed="1"]{min-height:0!important} 444 +} 445 +</style> 446 +<script data-sn-horizontal-box-harmonizer="1"> 447 +(function(){ 448 + "use strict"; 449 + 450 + var MOBILE_MAX=767; 451 + var ROW_TOLERANCE=4; 452 + var MIN_W=150; 453 + var MIN_H=36; 454 + 455 + var root= 456 + document.getElementById("xwikicontent")|| 457 + document.querySelector(".xwiki-rendering-content")|| 458 + document.querySelector("main")|| 459 + document.body; 460 + 461 + if(!root)return; 462 + 463 + var managed=new Set(); 464 + var raf=0; 465 + 466 + function num(v){ 467 + var n=parseFloat(v); 468 + return Number.isFinite(n)?n:0; 469 + } 470 + 471 + function visible(el){ 472 + if(!el||el.nodeType!==1)return false; 473 + var s=getComputedStyle(el); 474 + if(s.display==="none"||s.visibility==="hidden"||Number(s.opacity)===0)return false; 475 + var r=el.getBoundingClientRect(); 476 + return r.width>=MIN_W&&r.height>=MIN_H; 477 + } 478 + 479 + function excluded(el){ 480 + return !el.matches||el.matches( 481 + "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]" 482 + ); 483 + } 484 + 485 + function namedLikeBox(el){ 486 + var c=typeof el.className==="string"?el.className:""; 487 + return /(^|[\s_-])(box|card|tile|panel|role|check|service|source|call|area|detail|resource|topic|warn|info)([\s_-]|$)/i.test(c); 488 + } 489 + 490 + function boxLike(el){ 491 + if(!visible(el)||excluded(el))return false; 492 + var s=getComputedStyle(el); 493 + var r=el.getBoundingClientRect(); 494 + var border= 495 + num(s.borderTopWidth)+num(s.borderRightWidth)+ 496 + num(s.borderBottomWidth)+num(s.borderLeftWidth); 497 + var radius=Math.max( 498 + num(s.borderTopLeftRadius),num(s.borderTopRightRadius), 499 + num(s.borderBottomLeftRadius),num(s.borderBottomRightRadius) 500 + ); 501 + var bg=s.backgroundColor&&s.backgroundColor!=="rgba(0, 0, 0, 0)"&&s.backgroundColor!=="transparent"; 502 + var shadow=s.boxShadow&&s.boxShadow!=="none"; 503 + return namedLikeBox(el)||border>=1||(bg&&radius>=3)||(shadow&&r.width>=180); 504 + } 505 + 506 + function pickTarget(child){ 507 + if(!visible(child))return null; 508 + if(boxLike(child))return child; 509 + 510 + var cr=child.getBoundingClientRect(); 511 + var q=[]; 512 + Array.from(child.children||[]).forEach(function(el){ 513 + q.push({el:el,depth:1}); 514 + }); 515 + 516 + var best=null,bestScore=-1; 517 + 518 + while(q.length){ 519 + var item=q.shift(); 520 + var el=item.el; 521 + if(!visible(el))continue; 522 + 523 + var r=el.getBoundingClientRect(); 524 + 525 + if(r.width>=cr.width*.72&&boxLike(el)){ 526 + var widthFit=1-Math.min(1,Math.abs(cr.width-r.width)/Math.max(1,cr.width)); 527 + var topFit=1-Math.min(1,Math.abs(cr.top-r.top)/80); 528 + var score=widthFit*5+topFit*2+Math.min(r.height,600)/600; 529 + if(score>bestScore){ 530 + best=el; 531 + bestScore=score; 532 + } 533 + } 534 + 535 + if(item.depth<3){ 536 + Array.from(el.children||[]).forEach(function(next){ 537 + q.push({el:next,depth:item.depth+1}); 538 + }); 539 + } 540 + } 541 + 542 + return best; 543 + } 544 + 545 + function reset(){ 546 + managed.forEach(function(el){ 547 + el.style.removeProperty("min-height"); 548 + el.removeAttribute("data-sn-equal-height-managed"); 549 + }); 550 + managed.clear(); 551 + } 552 + 553 + function horizontalLayout(parent){ 554 + if(!visible(parent))return false; 555 + var s=getComputedStyle(parent); 556 + if(s.display==="grid"||s.display==="inline-grid")return true; 557 + if(s.display==="flex"||s.display==="inline-flex"){ 558 + return s.flexDirection==="row"||s.flexDirection==="row-reverse"; 559 + } 560 + return false; 561 + } 562 + 563 + function rowGroups(entries){ 564 + var groups=[]; 565 + entries.slice().sort(function(a,b){ 566 + return a.rect.top-b.rect.top||a.rect.left-b.rect.left; 567 + }).forEach(function(entry){ 568 + var group=null; 569 + for(var i=0;i<groups.length;i++){ 570 + if(Math.abs(groups[i].top-entry.rect.top)<=ROW_TOLERANCE){ 571 + group=groups[i]; 572 + break; 573 + } 574 + } 575 + if(!group){ 576 + group={top:entry.rect.top,entries:[]}; 577 + groups.push(group); 578 + } 579 + group.entries.push(entry); 580 + }); 581 + return groups; 582 + } 583 + 584 + function run(){ 585 + reset(); 586 + 587 + if(window.innerWidth<=MOBILE_MAX)return; 588 + 589 + var parents=Array.from(root.querySelectorAll("*")).filter(function(el){ 590 + return el.children&&el.children.length>=2&&horizontalLayout(el); 591 + }); 592 + 593 + parents.forEach(function(parent){ 594 + var entries=[]; 595 + 596 + Array.from(parent.children).forEach(function(child){ 597 + if(!visible(child))return; 598 + var target=pickTarget(child); 599 + if(!target)return; 600 + entries.push({ 601 + target:target, 602 + rect:target.getBoundingClientRect() 603 + }); 604 + }); 605 + 606 + if(entries.length<2)return; 607 + 608 + rowGroups(entries).forEach(function(group){ 609 + if(group.entries.length<2)return; 610 + 611 + var lefts=group.entries.map(function(e){return e.rect.left;}).sort(function(a,b){return a-b;}); 612 + if(lefts[lefts.length-1]-lefts[0]<80)return; 613 + 614 + var targets=[]; 615 + var seen=new Set(); 616 + 617 + group.entries.forEach(function(e){ 618 + if(!seen.has(e.target)){ 619 + seen.add(e.target); 620 + targets.push(e.target); 621 + } 622 + }); 623 + 624 + if(targets.length<2)return; 625 + 626 + var max=0; 627 + targets.forEach(function(el){ 628 + max=Math.max(max,el.getBoundingClientRect().height); 629 + }); 630 + 631 + max=Math.ceil(max); 632 + if(max<MIN_H)return; 633 + 634 + targets.forEach(function(el){ 635 + el.style.setProperty("min-height",max+"px"); 636 + el.setAttribute("data-sn-equal-height-managed","1"); 637 + managed.add(el); 638 + }); 639 + }); 640 + }); 641 + } 642 + 643 + function schedule(){ 644 + if(raf)cancelAnimationFrame(raf); 645 + raf=requestAnimationFrame(function(){ 646 + raf=requestAnimationFrame(function(){ 647 + raf=0; 648 + run(); 649 + }); 650 + }); 651 + } 652 + 653 + addEventListener("resize",schedule,{passive:true}); 654 + addEventListener("load",schedule,{once:true}); 655 + 656 + root.addEventListener("click",function(){ 657 + setTimeout(schedule,0); 658 + },true); 659 + 660 + if(document.fonts&&document.fonts.ready){ 661 + document.fonts.ready.then(schedule); 662 + } 663 + 664 + schedule(); 665 + setTimeout(schedule,250); 666 + setTimeout(schedule,900); 667 +})(); 668 +</script> 669 +<!-- SN_HORIZONTAL_BOX_HARMONIZER_END --> 670 +{{/html}} 671 +