| OLD | NEW | 
|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> | 
| 2 <html> | 2 <html> | 
| 3   <head> | 3   <head> | 
| 4     <title>Docs</title> | 4     <title>Docs</title> | 
| 5     <meta charset="utf-8"> | 5     <meta charset="utf-8"> | 
| 6     <meta name="theme-color" content="#526E9C"> | 6     <meta name="theme-color" content="#526E9C"> | 
| 7     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | 7     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | 
| 8     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 8     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 
| 9     <meta name="google-site-verification" content="pwqU0tZr1xJubovbW73M6WGA2IIyg
     CYPBkB6O4kzbYI" /> | 9     <meta name="google-site-verification" content="pwqU0tZr1xJubovbW73M6WGA2IIyg
     CYPBkB6O4kzbYI" /> | 
| 10     <meta name="google-site-verification" content="pIHubYTE28EzwOWGWmHyNmxRNA6yc
     lJyxSymw6uX8b8" /> | 10     <meta name="google-site-verification" content="pIHubYTE28EzwOWGWmHyNmxRNA6yc
     lJyxSymw6uX8b8" /> | 
| 11     <script src="/res/js/core.js"></script> | 11     <script async src="/res/js/core.js"></script> | 
| 12     <link href="/res/css/docs.css" rel="stylesheet" /> | 12     <link href="/res/css/docs.css" rel="stylesheet" /> | 
| 13   </head> | 13   </head> | 
| 14   <body> | 14   <body> | 
| 15     <div id=page> | 15     <div id=page> | 
| 16       <div id=drawer drawer vertical layout> | 16       <div id=drawer drawer vertical layout> | 
| 17         <img src="/res/img/logo.png" width=204 height=91> | 17         <img src="/res/img/logo.png" width=204 height=91> | 
| 18 | 18 | 
| 19         <script> |  | 
| 20           (function() { |  | 
| 21             var cx = '009791159600898516779:8-nlv0iznho'; |  | 
| 22             var gcse = document.createElement('script'); |  | 
| 23             gcse.type = 'text/javascript'; |  | 
| 24             gcse.async = true; |  | 
| 25             gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'htt
     p:') + |  | 
| 26               '//cse.google.com/cse.js?cx=' + cx; |  | 
| 27             var s = document.getElementsByTagName('script')[0]; |  | 
| 28             s.parentNode.insertBefore(gcse, s); |  | 
| 29           })(); |  | 
| 30         </script> |  | 
| 31         <gcse:searchbox-only></gcse:searchbox-only> | 19         <gcse:searchbox-only></gcse:searchbox-only> | 
| 32 | 20 | 
| 33         {{.Nav}} | 21         {{.Nav}} | 
| 34       </div> | 22       </div> | 
| 35 | 23 | 
| 36       <div id=body main> | 24       <div id=body main> | 
| 37         <button id=menu title="Menu"> | 25         <button id=menu title="Menu"> | 
| 38            <svg viewBox="0 0 24 24" height="24px" width="24px"> | 26            <svg viewBox="0 0 24 24" height="24px" width="24px"> | 
| 39             <g> | 27             <g> | 
| 40              <path d="M3 18h18v-2h-18v2zm0-5h18v-2h-18v2zm0-7v2h18v-2h-18z"></pa
     th> | 28              <path d="M3 18h18v-2h-18v2zm0-5h18v-2h-18v2zm0-7v2h18v-2h-18z"></pa
     th> | 
| 41             </g> | 29             </g> | 
| 42           </svg> | 30           </svg> | 
| 43         </button> | 31         </button> | 
| 44         <div id=content> | 32         <div id=content> | 
| 45           {{.Body}} | 33           {{.Body}} | 
| 46         </div> | 34         </div> | 
| 47       </div> | 35       </div> | 
| 48     </div> | 36     </div> | 
| 49 |  | 
| 50     <script> |  | 
| 51       sk.DomReady.then(function() { |  | 
| 52         prettyPrint(); |  | 
| 53 |  | 
| 54         // Open the side drawer with the navigation menu. |  | 
| 55         $$$('button').addEventListener('click', function(e) { |  | 
| 56          $$$('#drawer').classList.add('opened'); |  | 
| 57          e.stopPropagation(); |  | 
| 58         }); |  | 
| 59 |  | 
| 60         // Close the side drawer. |  | 
| 61         $$$('body').addEventListener('click', function() { |  | 
| 62          $$$('#drawer').classList.remove('opened'); |  | 
| 63         }); |  | 
| 64 |  | 
| 65         // highlightNav highlights where we are in the navigation. |  | 
| 66         var highlightNav = function() { |  | 
| 67           $$('#drawer li a').forEach(function(e) { |  | 
| 68             if (e.dataset.path == window.location.pathname) { |  | 
| 69               e.classList.add('selected'); |  | 
| 70               $$$('title').innerText = e.innerText; |  | 
| 71             } else { |  | 
| 72               e.classList.remove('selected'); |  | 
| 73             } |  | 
| 74           }); |  | 
| 75         } |  | 
| 76 |  | 
| 77         // Shortcut the links and handle them via XHR, that way we only |  | 
| 78         // pay the loading time once, yet still retain full URLs. |  | 
| 79         $$('#drawer li a').forEach(function(e) { |  | 
| 80           e.addEventListener('click', function(e) { |  | 
| 81             // Preserve query parameters as we navigate. |  | 
| 82             var q = window.location.search; |  | 
| 83             var url = e.target.dataset.path; |  | 
| 84             if (q != "") { |  | 
| 85               url += q; |  | 
| 86             } |  | 
| 87             sk.get('/_'+url).then(function(content) { |  | 
| 88               window.history.pushState(null, null, url); |  | 
| 89               highlightNav(); |  | 
| 90               $$$('html #content').innerHTML = content; |  | 
| 91               $$$('html #page').scrollIntoView(); |  | 
| 92               prettyPrint(); |  | 
| 93             }); |  | 
| 94             e.preventDefault(); |  | 
| 95           }); |  | 
| 96         }); |  | 
| 97 |  | 
| 98         highlightNav(); |  | 
| 99       }); |  | 
| 100     </script> |  | 
| 101   </body> | 37   </body> | 
| 102 </html> | 38 </html> | 
| OLD | NEW | 
|---|