prohibido
[mirrors/Designs.git] / tools / din_rail_module_label_generator.html
index 3abc953f7d764739805d06ea80150599d5d6dab4..45a26e76276628ce08dc733c04502619fa60f38c 100644 (file)
+<!DOCTYPE html>
 <html>
 <head>
-<title>DIN Module label generator</title>
+<title>&#x26A1; Distribution Board Label Generator for DIN Rail Modules</title>
 <style>
-* { font-family: sans-serif; font-weight: normal; font-size: 98%; }
+/* DIN Rail Modules are 17.5mm wide, but mounted with 18mm pitch to accomodate differences */
+
+/* fonts */
+table,h1 { font-family: sans-serif; font-weight: normal; font-size: 3.8mm; line-height: 5.2mm; }
+small { font-size: 2.5mm; line-height: 2.5mm; }
+small small { font-size: 2mm; line-height: 1.9mm; }
+a { color: dark-grey; text-decoration: none; }
+
+/* table */
+table { border-spacing:0px; border-collapse: collapse; }
+tr { margin-bottom: 10mm; }
+td * { display: block; }
 td {
-       border: 1px solid black; width: 17.5mm; height: 17.5mm; 
+       border: 1px solid black; width: 18mm; height: 16mm; 
        text-align: center; padding: 0; overflow: hidden;
-       display: flex; float: left; margin-bottom: 10mm; box-sizing: border-box;
+       display: flex-wrap; float: left; margin-bottom: 5mm; box-sizing: border-box;
        justify-content: center; /* align-items: center; */
+       white-space: pre-line;
+       position: relative;
 }
 td:not(:last-child) { border-right: 0px solid red; }
-td[colspan="3"] { width: calc(3 * 17.5mm); }
-tr { margin-bottom: 10mm; }
-table { border-spacing:0px; border-collapse: collapse; }
+
+/* wide modules */
+td[colspan="2" ] { width: calc(2  * 18mm); counter-increment: module_counter 2;  }
+td[colspan="3" ] { width: calc(3  * 18mm); counter-increment: module_counter 3;  }
+td[colspan="4" ] { width: calc(4  * 18mm); counter-increment: module_counter 4;  }
+td[colspan="5" ] { width: calc(5  * 18mm); counter-increment: module_counter 5;  }
+td[colspan="6" ] { width: calc(6  * 18mm); counter-increment: module_counter 6;  }
+td[colspan="7" ] { width: calc(7  * 18mm); counter-increment: module_counter 7;  }
+td[colspan="8" ] { width: calc(8  * 18mm); counter-increment: module_counter 8;  }
+td[colspan="9" ] { width: calc(9  * 18mm); counter-increment: module_counter 9;  }
+td[colspan="10"] { width: calc(10 * 18mm); counter-increment: module_counter 10; }
+td[colspan="11"] { width: calc(11 * 18mm); counter-increment: module_counter 11; }
+td[colspan="12"] { width: calc(12 * 18mm); counter-increment: module_counter 12; }
+td[colspan="13"] { width: calc(13 * 18mm); counter-increment: module_counter 13; }
+td[colspan="14"] { width: calc(14 * 18mm); counter-increment: module_counter 14; }
+td[colspan="15"] { width: calc(15 * 18mm); counter-increment: module_counter 15; }
+td[colspan="16"] { width: calc(16 * 18mm); counter-increment: module_counter 16; }
+
+/* indexing */
+tr { counter-reset: module_counter; }
+td { counter-increment: module_counter 1; }
+table.indexed * td::after {
+       content: counter(module_counter);
+       font-size: 1.8mm; line-height: 1.9mm;
+       top: 0px;
+       right: 0px;
+       position: absolute;
+
+       padding: 0px 1px 2px 1px;
+}
+table.fancyindex * td::after {
+       background-color: black; color: white;
+       width: 1.2em;
+       border-bottom-left-radius: 5px;
+}
+
+/* print layout */
+@media print {
+       * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
+       .noprint, .noprint * { display: none; }
+       @page { size: landscape; }
+}
+
 </style>
 </head>
 <body>
-<h2>DIN Module label generator</h2>
-github.com/harvie
-<br /><br />
+<h1>Distribution Box Label Generator for DIN Rail Circuit Breaker Modules ( <a href="https://github.com/harvie">github.com/harvie</a> )</h1>
+<div class="noprint">Copy-paste these icons:</div>
+<!-- Power     --> &#x1F50C; &#x26A1; &#x1f4a1; &#x1F50B; &#x1F525; &#x1F4A7;
+<!-- Telco     --> &#x1F4E1; &#x1F310; &#x1F4FA; &#x1F4DE; &#x1F514; &#x1F4F1; &#x1F50A; &#x260E;&#xFE0F;
+<!-- Danger    --> &#x26A0; &#x26A0;&#xFE0F; &#x1F6A8; &#x1F480; &#x2620;&#xFE0F; &#x2620; &#x1F6AB;
+<!-- Home      --> &#x1F37D;&#xFE0F; &#x1F374; &#x1F6CF;&#xFE0F; &#x1F6C0; &#x1F6BD; &#x1F3E0; &#x1F697;
+<br />
+<!-- Work      --> &#x1F527; &#x1f6e0;&#xFE0F; &#x2699;&#xFE0F; &#x1F916; &#x1F6D7; &#x1F5A5;&#xFE0F; &#x1FA9B;
+<!-- Elements  --> &#x1F321;&#xFE0F; &#x1F552; &#x23F0; &#x1F4A8; &#x2600;&#xFE0F; &#x1F312; &#x1F319; &#x1F506; &#x1F31E; &#x23F3; &#x2B50; &#x2728; &#x1F4AB; &#x2744;&#xFE0F;
+<!-- Security  --> &#x1F511; &#x1F512; &#x1F510; &#x1F6E1;&#xFE0F; &#x2694;&#xFE0F;
+<!-- Multimedia --> &#x1F4F9; &#x1F4FD;&#xFE0F; &#x1F3A5;
+<!-- Geometry  --> &#x25A0; &#x25B2; &#x25CF; &#x25C6;
+<br />
+<div class="noprint">
+<textarea id="labeltext" style="width:100%; height: 20em;" oninput="document.getElementById('labeltable').innerHTML=document.getElementById('labeltext').value;"></textarea>
+Use CTRL+S to save whole tool including your changes to your computer. CTRL+P to print.<br />
+<button onclick="document.getElementById('labeltable').innerHTML=document.getElementById('labeltext').value;">Generate</button>
+<button onclick="window.print();return false;">Print</button>
+</div>
+<br />
+
+<div id="labeltable">
+<table class="">
 
-<table><tr>
+<tr>
+<td></td>
+<td>&#x1F50C;<br />Living Room</td>
+<td>&#x1F50C;<br />Bedroom</td>
+<td>&#x1F4A7;<br />Washing Machine</td>
+<td>&#x1f4a1;<br />Hall Lights</td>
+<td>&#x1F4A7;<br />Kitchen Counter</td>
+<td>&#x1F4A7;<br />Dish Washer</td>
+<td colspan=3>&#x1F525;<br />Kitchen Oven</td>
+<td colspan=3>&#x26A1;<br />Surge Protector</td>
+<td></td>
+</tr>
+
+<tr>
 <td></td>
 <td>&#x1F50C;<br />Obývák</td>
-<td>&#x1F50C;<br />Pokoje 1+2</td>
+<td>&#x1F50C;<br />Pokoje</td>
 <td>&#x1F4A7;<br />Koupelna Pračka</td>
 <td></td>
-<td>&#x1F4A7;<br />Kuchyň Linka</td>
-<td>&#x1F4A7;<br />Myčka</td>
-<td colspan=3>&#x1F525;<br />Sporák</td>
-<td colspan=3>&#x26A1;<br />Přepěťovka</td>
+<td>&#x1F4A7;<br />Kuchy Linka</td>
+<td>&#x1F4A7;<br />Kuchyně Myčka</td>
+<td colspan=3>&#x1F525;<br />Kuchyně Sporák</td>
+<td colspan=3>&#x26A1;<br />Svodič přepětí</td>
 <td></td>
 </tr>
 
-<tr></tr>
-
 <tr>
 <td></td>
 <td></td>
 <td>&#x1F50C;<br />Vchod</td>
 <td>&#x1F50C;<br />Předsíň</td>
-<td>&#x1F527;<br /></td>
-<td>&#x1f4a1; Sv. Kuchyň</td>
-<td>&#x1f4a1; Sv. Koupel</td>
-<td>&#x1f4a1; Sv. Obývák</td>
-<td>&#x1f4a1; Sv. Pokoje</td>
-<td>&#x1f4a1; Sv. Předsíň</td>
-<td colspan=3>&#x1f4a1; Sv.<br /> RF příjmač  předsíň</td>
+<td>&#x1f6e0;&#xFE0F;<br />Režie</td>
+<td>&#x1f4a1;<br />Světla Kuchyně</td>
+<td>&#x1f4a1;<br />Světla Koupelna</td>
+<td>&#x1f4a1;<br />Světla Obývák</td>
+<td>&#x1f4a1;<br />Světla Pokoje</td>
+<td>&#x1f4a1;<br />Světla Předsíň</td>
+<td colspan=3>&#x1f4a1;<br />Světla Předsíň<br />Bezdrátové Relé</td>
 <td></td>
 </tr>
 
+</table>
+
+
+
+<table class="indexed">
+
 <tr>
+<td><small>Very long and tiny text that is really important to have on your breaker box!</small></td>
+<td>Warning!<small><small>Very long and tiny text that is really important to have on your breaker box!</small></small></td>
+<td><b>Bold</b> <i>Italic</i> <u>Under</u></td>
 <td></td>
 <td></td>
 <td></td>
 <td></td>
+<td colspan="6">&#x26A0;&#xFE0F;<br />Colspan is not breaking the numbering scheme</td>
 <td></td>
+</tr>
+
+<tr>
 <td></td>
 <td></td>
 <td></td>
@@ -65,8 +163,40 @@ github.com/harvie
 <td></td>
 <td></td>
 <td></td>
-</tr></table>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+
+</table>
+
+
+
+<table class="indexed fancyindex">
+
+<tr>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+
+</table>
+</div>
 
+<script>document.getElementById('labeltext').value=document.getElementById('labeltable').innerHTML.replace(/<.?tbody>/g, "").trim();</script>
 
 </body>
 </html>
This page took 0.224082 seconds and 4 git commands to generate.