index.html (6774B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <link href="https://finwo.nl/assets/style/global.css" rel="stylesheet" type="text/css"> 5 <meta name="viewport" content="width=device-width, maximum-scale=1, minimum-scale=1" /> 6 <title>Specifications</title> 7 8 <link href="https://cdn.jsdelivr.net/npm/simple-datatables@latest/dist/style.css" rel="stylesheet" type="text/css"> 9 <script src="https://cdn.jsdelivr.net/npm/simple-datatables@latest" type="text/javascript"></script> 10 </head> 11 <body> 12 13 <!-- Octo banner --> 14 <a href="https://github.com/finwo/specifications" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:var(--bg-secondary); color:var(--fg-secondary); position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style> 15 16 <main> 17 18 <h1>Specifications</h1> 19 20 <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. 21 22 <hr /> 23 24 <p> 25 This repository contains specification and standards documents 26 drafted by finwo to enhance the quality of it's own produce, 27 including, but not limited to, code, documents, workflows and 28 products. 29 </p> 30 31 <p> 32 Third parties are allowed to apply any of these specifications based on 33 their own requirements. 34 </p> 35 36 <hr /> 37 38 <h3>Table of contents</h3> 39 40 <table id=specTable> 41 <thead> 42 <tr> 43 <th>SPEC</th> 44 <th>Title</th> 45 <th>Published</th> 46 <th>Obsoleted by</th> 47 <th>License</th> 48 </tr> 49 </thead> 50 <tbody> 51 <tr href="spec/0000.pdf"> 52 <td>0000</td> 53 <td>Specification Format</td> 54 <td>August 2018</td> 55 <td href='#q=0003'>0003</td> 56 <td href="license/CC-by-4.0.txt">CC-by-4.0</td> 57 </tr> 58 <tr href="spec/0001.pdf"> 59 <td>0001</td> 60 <td>JavaScript Styling</td> 61 <td>August 2018</td> 62 <td href='#q='></td> 63 <td href="license/CC-by-4.0.txt">CC-by-4.0</td> 64 </tr> 65 <tr href="spec/0002.pdf"> 66 <td>0002</td> 67 <td>Ratus Unilicense 1.0</td> 68 <td>September 19, 2018</td> 69 <td href='#q='></td> 70 <td href="license/CC-by-4.0.txt">CC-by-4.0</td> 71 </tr> 72 <tr href="spec/0003.pdf"> 73 <td>0003</td> 74 <td>Specification Style Guide</td> 75 <td>June 2020</td> 76 <td href='#q='></td> 77 <td href="license/CC-by-4.0.txt">CC-by-4.0</td> 78 </tr> 79 <tr href="spec/0004.pdf"> 80 <td>0004</td> 81 <td>Finwo General Purpose License</td> 82 <td>tbd</td> 83 <td href='#q='></td> 84 <td href="license/CC-by-4.0.txt">CC-by-4.0</td> 85 </tr> 86 </tbody> 87 </table> 88 </main> 89 90 <script> 91 92 // Query String handler 93 const qs = { 94 parse(str) { 95 let output = {}; 96 str.split('&').forEach(param => { 97 let [key, value] = param.split('='); 98 output[decodeURIComponent(key)] = decodeURIComponent(value); 99 }); 100 return output; 101 }, 102 }; 103 104 // Make the table nice and searchable 105 const datatable = new simpleDatatables.DataTable('#specTable', { 106 searchable: true 107 }); 108 109 // Make all elements act as anchors when [href] is present 110 Array.from(document.querySelectorAll('[href]')).forEach(node => { 111 node.style.cursor = 'pointer'; 112 node.addEventListener('click', ev => { 113 ev.preventDefault(); 114 let elem = ev.target; 115 while(!elem.attributes.href) 116 elem = elem.parentNode; 117 document.location.href = elem.attributes.href.value; 118 }); 119 }); 120 121 // Hardwired data binding 122 function onHashChange() { 123 let q = qs.parse(document.location.hash.substr(1)); 124 if (q.q == datatable.input.value) return; 125 datatable.input.value = q.q || ''; 126 datatable.search(q.q || ''); 127 }; 128 window.addEventListener('hashchange', onHashChange, false); 129 datatable.on('datatable.search', query => { 130 document.location.hash = '#q=' + query; 131 }); 132 onHashChange(); 133 134 </script> 135 </body> 136 </html>