<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://wiki.coderdojocomo.it/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-course.js</id>
	<title>MediaWiki:Gadget-course.js - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.coderdojocomo.it/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-course.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;action=history"/>
	<updated>2026-08-03T01:23:29Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;diff=288&amp;oldid=prev</id>
		<title>Mattia.sala il 13:57, 2 ago 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;diff=288&amp;oldid=prev"/>
		<updated>2026-08-02T13:57:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 13:57, 2 ago 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Riga 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  math:       &amp;quot;#9400d3&amp;quot;, // Matematica&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  math:       &amp;quot;#9400d3&amp;quot;, // Matematica&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  game:       &amp;quot;#007a4b&amp;quot;, // Gioco&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  game:       &amp;quot;#007a4b&amp;quot;, // Gioco&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pins&lt;/del&gt;:       &quot;#b22222&quot;, // Pin&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pin&lt;/ins&gt;:       &quot;#b22222&quot;, // Pin&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  images:     &amp;quot;#b8860b&amp;quot;, // Immagini&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  images:     &amp;quot;#b8860b&amp;quot;, // Immagini&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  text:       &amp;quot;#b8860b&amp;quot;, // Testo (stringhe)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		  text:       &amp;quot;#b8860b&amp;quot;, // Testo (stringhe)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mattia.sala</name></author>
	</entry>
	<entry>
		<id>https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;diff=287&amp;oldid=prev</id>
		<title>Mattia.sala il 13:53, 2 ago 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;diff=287&amp;oldid=prev"/>
		<updated>2026-08-02T13:53:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 13:53, 2 ago 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Riga 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   var PALETTES = {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   var PALETTES = {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     microbit: {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     microbit: {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      &lt;/del&gt;basic: &quot;#1e90ff&quot;, input: &quot;#d400d4&quot;, music: &quot;#e63022&quot;, led: &quot;#5c2d91&quot;,  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  &lt;/ins&gt;basic: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&quot;#1e90ff&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Base&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      &lt;/del&gt;radio: &quot;#e3008c&quot;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;loop&lt;/del&gt;: &quot;#00aa00&quot;, logic: &quot;#00a4a6&quot;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;var&lt;/del&gt;: &quot;#dc143c&quot;, math: &quot;#9400d3&quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  &lt;/ins&gt;input: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&quot;#d400d4&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Input&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      &lt;/del&gt;game: &quot;#007a4b&quot;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pin&lt;/del&gt;: &quot;#b22222&quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  &lt;/ins&gt;music: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&quot;#e63022&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Musica&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  &lt;/ins&gt;led: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;       &lt;/ins&gt;&quot;#5c2d91&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Led&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  &lt;/ins&gt;radio: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&quot;#e3008c&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Radio&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  loops&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&quot;#00aa00&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Cicli&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  &lt;/ins&gt;logic: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&quot;#00a4a6&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Logica&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  variables&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&quot;#dc143c&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Variabili&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  &lt;/ins&gt;math: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      &lt;/ins&gt;&quot;#9400d3&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Matematica&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  &lt;/ins&gt;game: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      &lt;/ins&gt;&quot;#007a4b&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Gioco&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  pins&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      &lt;/ins&gt;&quot;#b22222&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, // Pin&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  images:     &quot;#b8860b&quot;, // Immagini&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  text:       &quot;#b8860b&quot;, // Testo (stringhe)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  serial:     &quot;#002050&quot;, // Seriale&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  control:    &quot;#333333&quot;, // Controllo&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  functions:  &quot;#3455db&quot;, // Funzioni&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  arrays: &lt;/ins&gt;    &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;#e65722&quot;, // Array (elenchi)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		  bluetooth:  &quot;#0082fb&quot;  // Bluetooth (non fornito, valore indicativo)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		&lt;/ins&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   };&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   };&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mattia.sala</name></author>
	</entry>
	<entry>
		<id>https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;diff=286&amp;oldid=prev</id>
		<title>Mattia.sala il 10:52, 2 ago 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;diff=286&amp;oldid=prev"/>
		<updated>2026-08-02T10:52:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 10:52, 2 ago 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Riga 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   var PALETTES = {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   var PALETTES = {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     microbit: {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     microbit: {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       basic: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0E6BB0&lt;/del&gt;&quot;, input: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1E9E46&lt;/del&gt;&quot;, music: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;D96716&lt;/del&gt;&quot;, led: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2E2C9C&lt;/del&gt;&quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       basic: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1e90ff&lt;/ins&gt;&quot;, input: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;d400d4&lt;/ins&gt;&quot;, music: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;e63022&lt;/ins&gt;&quot;, led: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5c2d91&lt;/ins&gt;&quot;,  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;var&lt;/del&gt;: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;E0621F&lt;/del&gt;&quot;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;logic&lt;/del&gt;: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;00A3A6&lt;/del&gt;&quot;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;loop&lt;/del&gt;: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0077B6&lt;/del&gt;&quot;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math&lt;/del&gt;: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C4314B&lt;/del&gt;&quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;radio&lt;/ins&gt;: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;e3008c&lt;/ins&gt;&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;loop&lt;/ins&gt;: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;00aa00&lt;/ins&gt;&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;logic&lt;/ins&gt;: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;00a4a6&lt;/ins&gt;&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;var&lt;/ins&gt;: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dc143c&lt;/ins&gt;&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math&lt;/ins&gt;: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;9400d3&lt;/ins&gt;&quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      radio&lt;/del&gt;: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;7C3C98&lt;/del&gt;&quot;, game: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C24B99&lt;/del&gt;&quot;, pin: &quot;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0F8A5F&lt;/del&gt;&quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      &lt;/ins&gt;game: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;007a4b&lt;/ins&gt;&quot;, pin: &quot;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;b22222&lt;/ins&gt;&quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   };&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   };&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mattia.sala</name></author>
	</entry>
	<entry>
		<id>https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;diff=231&amp;oldid=prev</id>
		<title>Admin: Creata pagina con &quot;/* Gadget &quot;course&quot;: rende interattivi blocchi MakeCode, quiz e griglie LED.    Port di assets/blocks.js + assets/quiz.js + assets/led-grid.js    per MediaWiki. Scoped: agisce...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.coderdojocomo.it/index.php?title=MediaWiki:Gadget-course.js&amp;diff=231&amp;oldid=prev"/>
		<updated>2026-08-01T10:59:46Z</updated>

		<summary type="html">&lt;p&gt;Creata pagina con &amp;quot;/* Gadget &amp;quot;course&amp;quot;: rende interattivi blocchi MakeCode, quiz e griglie LED.    Port di assets/blocks.js + assets/quiz.js + assets/led-grid.js    per MediaWiki. Scoped: agisce...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* Gadget &amp;quot;course&amp;quot;: rende interattivi blocchi MakeCode, quiz e griglie LED.&lt;br /&gt;
   Port di assets/blocks.js + assets/quiz.js + assets/led-grid.js&lt;br /&gt;
   per MediaWiki. Scoped: agisce solo sugli elementi con le classi attese.&lt;br /&gt;
   Tecnologia: legge la classe blk-&amp;lt;tech&amp;gt; sul blocco per scegliere la palette;&lt;br /&gt;
   fallback: classe course-&amp;lt;tech&amp;gt; sul wrapper. */&lt;br /&gt;
(function () {&lt;br /&gt;
  &amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  var PALETTES = {&lt;br /&gt;
    microbit: {&lt;br /&gt;
      basic: &amp;quot;#0E6BB0&amp;quot;, input: &amp;quot;#1E9E46&amp;quot;, music: &amp;quot;#D96716&amp;quot;, led: &amp;quot;#2E2C9C&amp;quot;,&lt;br /&gt;
      var: &amp;quot;#E0621F&amp;quot;, logic: &amp;quot;#00A3A6&amp;quot;, loop: &amp;quot;#0077B6&amp;quot;, math: &amp;quot;#C4314B&amp;quot;,&lt;br /&gt;
      radio: &amp;quot;#7C3C98&amp;quot;, game: &amp;quot;#C24B99&amp;quot;, pin: &amp;quot;#0F8A5F&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  var FONT = &amp;quot;700 13px -apple-system, BlinkMacSystemFont, &amp;#039;Segoe UI&amp;#039;, Roboto, sans-serif&amp;quot;;&lt;br /&gt;
  var H = 26, PAD = 9, uid = 0;&lt;br /&gt;
&lt;br /&gt;
  function measure(text) {&lt;br /&gt;
    try {&lt;br /&gt;
      var c = document.createElement(&amp;quot;canvas&amp;quot;);&lt;br /&gt;
      var ctx = c.getContext(&amp;quot;2d&amp;quot;);&lt;br /&gt;
      if (!ctx) throw new Error(&amp;quot;no canvas&amp;quot;);&lt;br /&gt;
      ctx.font = FONT;&lt;br /&gt;
      return ctx.measureText(text).width;&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
      return text.length * 7.5;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function escapeHtml(s) {&lt;br /&gt;
    return s.replace(/&amp;amp;/g, &amp;quot;&amp;amp;amp;&amp;quot;).replace(/&amp;lt;/g, &amp;quot;&amp;amp;lt;&amp;quot;).replace(/&amp;gt;/g, &amp;quot;&amp;amp;gt;&amp;quot;).replace(/&amp;quot;/g, &amp;quot;&amp;amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function classList(el) {&lt;br /&gt;
    return (el.className || &amp;quot;&amp;quot;).split(/\s+/).filter(Boolean);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function kindOf(el) {&lt;br /&gt;
    var c = classList(el);&lt;br /&gt;
    if (c.indexOf(&amp;quot;blk-hat&amp;quot;) &amp;gt;= 0) return &amp;quot;hat&amp;quot;;&lt;br /&gt;
    if (c.indexOf(&amp;quot;blk-val&amp;quot;) &amp;gt;= 0) return &amp;quot;val&amp;quot;;&lt;br /&gt;
    if (c.indexOf(&amp;quot;blk-bool&amp;quot;) &amp;gt;= 0) return &amp;quot;bool&amp;quot;;&lt;br /&gt;
    return &amp;quot;stmt&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function techOf(el, root) {&lt;br /&gt;
    var c = classList(el);&lt;br /&gt;
    var tech = null;&lt;br /&gt;
    for (var key in PALETTES) {&lt;br /&gt;
      if (c.indexOf(&amp;quot;blk-&amp;quot; + key) &amp;gt;= 0) tech = key;&lt;br /&gt;
    }&lt;br /&gt;
    if (!tech) {&lt;br /&gt;
      var w = root &amp;amp;&amp;amp; root.className || document.body.className || &amp;quot;&amp;quot;;&lt;br /&gt;
      for (var k2 in PALETTES) {&lt;br /&gt;
        if (w.indexOf(&amp;quot;course-&amp;quot; + k2) &amp;gt;= 0) tech = k2;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return tech || Object.keys(PALETTES)[0];&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function colorOf(el, root) {&lt;br /&gt;
    var palette = PALETTES[techOf(el, root)];&lt;br /&gt;
    var c = classList(el);&lt;br /&gt;
    for (var key in palette) {&lt;br /&gt;
      if (c.indexOf(&amp;quot;blk-&amp;quot; + key) &amp;gt;= 0) return palette[key];&lt;br /&gt;
    }&lt;br /&gt;
    return palette.basic;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function build(text, kind, color) {&lt;br /&gt;
    var tw = measure(text);&lt;br /&gt;
    var W = Math.round(tw + PAD * 2);&lt;br /&gt;
    var id = &amp;quot;blksvg&amp;quot; + (++uid);&lt;br /&gt;
    var br = 5, nr = 5, vbX = 0, vbY = -br, vbW = W, vbH = H + br;&lt;br /&gt;
    var shape = &amp;quot;&amp;quot;, maskCircle = &amp;quot;&amp;quot;;&lt;br /&gt;
    if (kind === &amp;quot;stmt&amp;quot;) {&lt;br /&gt;
      shape = &amp;#039;&amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;&amp;#039; + W + &amp;#039;&amp;quot; height=&amp;quot;&amp;#039; + H + &amp;#039;&amp;quot; rx=&amp;quot;4&amp;quot; fill=&amp;quot;&amp;#039; + color + &amp;#039;&amp;quot;/&amp;gt;&amp;#039; +&lt;br /&gt;
        &amp;#039;&amp;lt;circle cx=&amp;quot;8&amp;quot; cy=&amp;quot;0&amp;quot; r=&amp;quot;&amp;#039; + br + &amp;#039;&amp;quot; fill=&amp;quot;&amp;#039; + color + &amp;#039;&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
      maskCircle = &amp;#039;&amp;lt;circle cx=&amp;quot;8&amp;quot; cy=&amp;quot;&amp;#039; + H + &amp;#039;&amp;quot; r=&amp;quot;&amp;#039; + nr + &amp;#039;&amp;quot; fill=&amp;quot;#000&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
    } else if (kind === &amp;quot;hat&amp;quot;) {&lt;br /&gt;
      vbY = 0; vbH = H + 6;&lt;br /&gt;
      shape = &amp;#039;&amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;&amp;#039; + W + &amp;#039;&amp;quot; height=&amp;quot;&amp;#039; + H + &amp;#039;&amp;quot; rx=&amp;quot;8&amp;quot; fill=&amp;quot;&amp;#039; + color + &amp;#039;&amp;quot;/&amp;gt;&amp;#039; +&lt;br /&gt;
        &amp;#039;&amp;lt;circle cx=&amp;quot;8&amp;quot; cy=&amp;quot;0&amp;quot; r=&amp;quot;&amp;#039; + br + &amp;#039;&amp;quot; fill=&amp;quot;&amp;#039; + color + &amp;#039;&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
      maskCircle = &amp;#039;&amp;lt;circle cx=&amp;quot;8&amp;quot; cy=&amp;quot;&amp;#039; + H + &amp;#039;&amp;quot; r=&amp;quot;&amp;#039; + nr + &amp;#039;&amp;quot; fill=&amp;quot;#000&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
    } else if (kind === &amp;quot;val&amp;quot;) {&lt;br /&gt;
      vbX = -6; vbW = W + 6;&lt;br /&gt;
      shape = &amp;#039;&amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;&amp;#039; + W + &amp;#039;&amp;quot; height=&amp;quot;&amp;#039; + H + &amp;#039;&amp;quot; rx=&amp;quot;&amp;#039; + H / 2 + &amp;#039;&amp;quot; fill=&amp;quot;&amp;#039; + color + &amp;#039;&amp;quot;/&amp;gt;&amp;#039; +&lt;br /&gt;
        &amp;#039;&amp;lt;circle cx=&amp;quot;0&amp;quot; cy=&amp;quot;&amp;#039; + H / 2 + &amp;#039;&amp;quot; r=&amp;quot;6&amp;quot; fill=&amp;quot;&amp;#039; + color + &amp;#039;&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
      maskCircle = &amp;#039;&amp;lt;circle cx=&amp;quot;&amp;#039; + W + &amp;#039;&amp;quot; cy=&amp;quot;&amp;#039; + H / 2 + &amp;#039;&amp;quot; r=&amp;quot;6&amp;quot; fill=&amp;quot;#000&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
    } else {&lt;br /&gt;
      vbX = -6; vbW = W + 12;&lt;br /&gt;
      shape = &amp;#039;&amp;lt;path d=&amp;quot;M0 &amp;#039; + H / 2 + &amp;#039; L8 0 L&amp;#039; + (W - 8) + &amp;#039; 0 L&amp;#039; + W + &amp;#039; &amp;#039; + H / 2 +&lt;br /&gt;
        &amp;#039; L&amp;#039; + (W - 8) + &amp;#039; &amp;#039; + H + &amp;#039; L8 &amp;#039; + H + &amp;#039; Z&amp;quot; fill=&amp;quot;&amp;#039; + color + &amp;#039;&amp;quot;/&amp;gt;&amp;#039; +&lt;br /&gt;
        &amp;#039;&amp;lt;circle cx=&amp;quot;0&amp;quot; cy=&amp;quot;&amp;#039; + H / 2 + &amp;#039;&amp;quot; r=&amp;quot;5&amp;quot; fill=&amp;quot;&amp;#039; + color + &amp;#039;&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
      maskCircle = &amp;#039;&amp;lt;circle cx=&amp;quot;&amp;#039; + W + &amp;#039;&amp;quot; cy=&amp;quot;&amp;#039; + H / 2 + &amp;#039;&amp;quot; r=&amp;quot;5&amp;quot; fill=&amp;quot;#000&amp;quot;/&amp;gt;&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
    return &amp;#039;&amp;lt;svg class=&amp;quot;blk-svg&amp;quot; viewBox=&amp;quot;&amp;#039; + vbX + &amp;quot; &amp;quot; + vbY + &amp;quot; &amp;quot; + vbW + &amp;quot; &amp;quot; + vbH +&lt;br /&gt;
      &amp;#039;&amp;quot; width=&amp;quot;&amp;#039; + vbW + &amp;#039;&amp;quot; height=&amp;quot;&amp;#039; + vbH + &amp;#039;&amp;quot; role=&amp;quot;img&amp;quot; aria-label=&amp;quot;&amp;#039; + escapeHtml(text) + &amp;#039;&amp;quot;&amp;gt;&amp;#039; +&lt;br /&gt;
      &amp;#039;&amp;lt;defs&amp;gt;&amp;lt;mask id=&amp;quot;&amp;#039; + id + &amp;#039;&amp;quot;&amp;gt;&amp;#039; +&lt;br /&gt;
      &amp;#039;&amp;lt;rect x=&amp;quot;-8&amp;quot; y=&amp;quot;-8&amp;quot; width=&amp;quot;&amp;#039; + (vbW + 16) + &amp;#039;&amp;quot; height=&amp;quot;&amp;#039; + (vbH + 16) + &amp;#039;&amp;quot; fill=&amp;quot;#fff&amp;quot;/&amp;gt;&amp;#039; +&lt;br /&gt;
      maskCircle + &amp;quot;&amp;lt;/mask&amp;gt;&amp;lt;/defs&amp;gt;&amp;quot; +&lt;br /&gt;
      &amp;#039;&amp;lt;g mask=&amp;quot;url(#&amp;#039; + id + &amp;#039;)&amp;quot;&amp;gt;&amp;#039; + shape + &amp;quot;&amp;lt;/g&amp;gt;&amp;quot; +&lt;br /&gt;
      &amp;#039;&amp;lt;text x=&amp;quot;&amp;#039; + W / 2 + &amp;#039;&amp;quot; y=&amp;quot;&amp;#039; + H / 2 + &amp;#039;&amp;quot; dominant-baseline=&amp;quot;central&amp;quot; text-anchor=&amp;quot;middle&amp;quot; &amp;#039; +&lt;br /&gt;
      &amp;#039;fill=&amp;quot;#fff&amp;quot; font-family=&amp;quot;-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif&amp;quot; &amp;#039; +&lt;br /&gt;
      &amp;#039;font-size=&amp;quot;13&amp;quot; font-weight=&amp;quot;700&amp;quot;&amp;gt;&amp;#039; + escapeHtml(text) + &amp;quot;&amp;lt;/text&amp;gt;&amp;lt;/svg&amp;gt;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function upgradeBlks(root) {&lt;br /&gt;
    root.querySelectorAll(&amp;quot;.blk&amp;quot;).forEach(function (el) {&lt;br /&gt;
      if (el.querySelector(&amp;quot;svg&amp;quot;)) return;&lt;br /&gt;
      var text = (el.textContent || &amp;quot;&amp;quot;).replace(/\s+/g, &amp;quot; &amp;quot;).trim();&lt;br /&gt;
      if (!text) return;&lt;br /&gt;
      var svg = build(text, kindOf(el), colorOf(el, root));&lt;br /&gt;
      el.innerHTML = svg;&lt;br /&gt;
      el.classList.add(&amp;quot;blk-upgraded&amp;quot;);&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function wireQuiz(root) {&lt;br /&gt;
    root.querySelectorAll(&amp;quot;.quiz-q&amp;quot;).forEach(function (q) {&lt;br /&gt;
      if (q.getAttribute(&amp;quot;data-bound&amp;quot;)) return;&lt;br /&gt;
      q.setAttribute(&amp;quot;data-bound&amp;quot;, &amp;quot;1&amp;quot;);&lt;br /&gt;
      var answer = q.getAttribute(&amp;quot;data-answer&amp;quot;);&lt;br /&gt;
      var okMsg = q.getAttribute(&amp;quot;data-ok&amp;quot;) || &amp;quot;Sì! Esatto. 👏&amp;quot;;&lt;br /&gt;
      var retryMsg = q.getAttribute(&amp;quot;data-retry&amp;quot;) || &amp;quot;Non ancora, riprova!&amp;quot;;&lt;br /&gt;
      var feedback = q.querySelector(&amp;quot;.quiz-feedback&amp;quot;);&lt;br /&gt;
      function answerPick(btn) {&lt;br /&gt;
        var correct = btn.getAttribute(&amp;quot;data-opt&amp;quot;) === answer;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        if (correct) {&lt;br /&gt;
          btn.classList.add(&amp;quot;correct&amp;quot;);&lt;br /&gt;
          q.querySelectorAll(&amp;quot;.quiz-btn&amp;quot;).forEach(function (b) { b.disabled = true; });&lt;br /&gt;
          q.classList.add(&amp;quot;answered&amp;quot;);&lt;br /&gt;
          if (feedback) { feedback.textContent = okMsg; feedback.className = &amp;quot;quiz-feedback ok&amp;quot;; }&lt;br /&gt;
        } else {&lt;br /&gt;
          btn.classList.add(&amp;quot;wrong&amp;quot;);&lt;br /&gt;
          if (feedback) { feedback.textContent = retryMsg; feedback.className = &amp;quot;quiz-feedback no&amp;quot;; }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      q.querySelectorAll(&amp;quot;.quiz-btn&amp;quot;).forEach(function (btn) {&lt;br /&gt;
        btn.addEventListener(&amp;quot;click&amp;quot;, function () { answerPick(btn); });&lt;br /&gt;
        btn.addEventListener(&amp;quot;keydown&amp;quot;, function (e) {&lt;br /&gt;
          if (e.key === &amp;quot;Enter&amp;quot; || e.key === &amp;quot; &amp;quot;) { e.preventDefault(); answerPick(btn); }&lt;br /&gt;
        });&lt;br /&gt;
      });&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function renderGrids(root) {&lt;br /&gt;
    root.querySelectorAll(&amp;quot;.ledgrid[data-leds]&amp;quot;).forEach(function (grid) {&lt;br /&gt;
      if (grid.querySelector(&amp;quot;.led&amp;quot;)) return;&lt;br /&gt;
      var pattern = (grid.getAttribute(&amp;quot;data-leds&amp;quot;) || &amp;quot;&amp;quot;).replace(/[\/\s]+/g, &amp;quot;&amp;quot;);&lt;br /&gt;
      for (var i = 0; i &amp;lt; 25; i++) {&lt;br /&gt;
        var led = document.createElement(&amp;quot;span&amp;quot;);&lt;br /&gt;
        led.className = &amp;quot;led&amp;quot; + (pattern[i] === &amp;quot;#&amp;quot; ? &amp;quot; on&amp;quot; : &amp;quot;&amp;quot;);&lt;br /&gt;
        grid.appendChild(led);&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function init(root) {&lt;br /&gt;
    var target = root || document;&lt;br /&gt;
    upgradeBlks(target);&lt;br /&gt;
    wireQuiz(target);&lt;br /&gt;
    renderGrids(target);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  window.course = { init: init };&lt;br /&gt;
&lt;br /&gt;
  if (typeof mw !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; mw.hook) {&lt;br /&gt;
    mw.hook(&amp;quot;wikipage.content&amp;quot;).add(function ($content) {&lt;br /&gt;
      init(($content &amp;amp;&amp;amp; $content[0]) || document);&lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    if (document.readyState === &amp;quot;loading&amp;quot;) {&lt;br /&gt;
      document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, function () { init(document); });&lt;br /&gt;
    } else {&lt;br /&gt;
      init(document);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>