Changes for page Get Started

Last modified by Veronika Kocher on Friday, 04 Sep 2026 15:32

From version 8.4
edited by Veronika Kocher
on Thursday, 03 Sep 2026 9:18
Change comment: There is no comment for this version
To version 5.2
edited by Veronika Kocher
on Tuesday, 01 Sep 2026 10:49
Change comment: Update property defaultLocale

Summary

Details

Page properties
Content
... ... @@ -434,238 +434,3 @@
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 -