Änderungen von Dokument Sandbox
Zuletzt geändert von Holger Engels am 2024/01/26 15:58
Von Version 4.1
bearbeitet von Holger Engels
am 2023/10/17 13:07
am 2023/10/17 13:07
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 9.2
bearbeitet von Holger Engels
am 2023/11/08 08:38
am 2023/11/08 08:38
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -103,35 +103,64 @@ 103 103 104 104 Makros bieten die Möglichkeit, das Aussehen von Wiki-Seiten zu verbessern und stellen zusätzliche Funktionalitäten in der Seite zur Verfügung. Hier sind zwei Beispiele, wie Makros die Inhalte verbessern können: 105 105 106 -== Makro: Warnmeldung == 106 +{{velocity filter="none"}} 107 +{{html clean="false" wiki="true"}} 108 +#set ($query = "where (doc.parent is null or doc.parent='') and doc.fullName != 'Main.WebHome' order by doc.name asc") 107 107 108 -Dieses Makro bietet die Möglichkeit, die Aufmerksamkeit der Leser auf einen bestimmten Text zu lenken: 110 +|=Page Name|=Author|=date 111 +|#foreach ($item in $xwiki.searchDocuments($query)) 112 + #if ($xwiki.hasAccessLevel('view', $xcontext.user, "${xcontext.database}:${item}")) 113 + #set ($bentrydoc = $xwiki.getDocument($item)) 114 + [[${bentrydoc.fullName}]]|$xwiki.getUserName($bentrydoc.author)|$xwiki.formatDate($bentrydoc.date) 115 +|#end 116 +#end 109 109 110 -{{warning}} 111 -Dies ist ein wichtiger Hinweis! 112 -{{/warning}} 118 +{{/html}} 119 +{{/velocity}} 113 113 114 -== Inhaltsverzeichnis == 115 115 116 -Dieses Makro erzeugt ein Inhaltsverzeichnis basierend auf den Überschriften in der Seite: 122 +{{html clean="false"}} 123 +<script> 124 + customElements.define("star-rating", class extends HTMLElement { 125 + set rating(rate) { 126 + if (!String(rate).includes("%")) rate = Number(rate) / this.stars * 100 + "%"; 127 + this.querySelector(":nth-child(2)").setAttribute("width", rate); //2nd rect 128 + } 129 + set value(v) { 130 + this.setAttribute("rating", v); 131 + } 132 + connectedCallback() { 133 + let {bgcolor,stars,nocolor,color,rating} = this.attributes; 134 + let repeat = (count, func) => Array(count).fill().map(func); 135 + this.stars = ~~stars.value || 5; 136 + this.innerHTML = `<svg viewBox="0 0 ${this.stars*100} 100" style=cursor:pointer>` + 137 + `<rect height=100 fill=${nocolor.value} width=100% />` + 138 + `<rect height=100 fill=${color.value} />` + 139 + repeat(this.stars , (i, n) => `<path fill=${bgcolor.value} d="m${ n*100 } 0h102v100h-102v-100m91 42a6 6 90 00-4-10l-22-1a1 1 90 01-1 0l-8-21a6 6 90 00-11 0l-8 21a1 1 90 01-1 1l-22 1a6 6 90 00-4 10l18 14a1 1 90 010 1l-6 22a6 6 90 008 6l19-13a1 1 90 011 0l19 13a6 6 90 006 0a6 6 90 002-6l-6-22a1 1 90 010-1z"/>`) + 140 + repeat(this.stars * 2, (i, n) => `<rect x=${ n*50 } n=${n} opacity=0 width=50 height=100 ` + 141 + ` onclick="this.closest('star-rating').value=${(n+1)/2}; this.closest('star-rating').dispatchEvent(new Event('click'))" ` + 142 + ` onmouseover="this.closest('star-rating').rating=${(n+1)/2}"/>`) + 143 + "</svg>"; 144 + this.rating = rating.value; 145 + this.addEventListener('mouseleave', (e) => { 146 + if (e.target.tagName === 'STAR-RATING') { 147 + e.target.rating = e.target.getAttribute("rating") 148 + } 149 + }) 150 + } 151 + }); 152 +</script> 153 +{{/html}} 117 117 118 -{{toc/}} 155 +{{velocity}} 156 +$doc.space 157 +#set ($lala = $services.ratings.exercise.setRating($doc.space + 'lala', 1)) 119 119 120 -=== Ausrichten am === 159 +{{html clean="false" wiki="true"}} 160 +<style> 161 +star-rating { display: inline-block; width: 120px } 162 +</style> 163 +<star-rating stars=5 rating="$services.ratings.pagereflection.getAverageRating($doc.space + 'lala').get().averageVote" bgcolor="white" nocolor="lightgrey" color="gold"></star-rating> 164 +{{/html}} 165 +{{/velocity}} 121 121 122 - ~=== 123 - 124 -{{formula}} 125 -\begin{align*} 126 -4x - 10y &= 16 \\ 127 -3x + 9y &= -12 128 -\end{align*} 129 -{{/formula}} 130 - 131 -{{formula}} 132 -\begin{aligned} 133 -a_{ijk} &= \frac {Pr(M_{I} =2 \& M_J=1 \& M_K =1 | I=i , J=j , K=k)}{Pr (M_I =1 \& M_J =1 \& M_K=1 | I=i , J=j)}\\ 134 - &= \frac {\mu_{ijk211}}{\mu_{ijk111}}\\ 135 -\Rightarrow lala = 5 136 -\end{aligned} 137 -{{/formula}}