specifications

Specification and standard documents
git clone git://git.finwo.net/misc/specifications
Log | Files | Refs | README | LICENSE

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>