PageSourceSearch

https://asolimini-website.netlify.app/about

html asolimini-website.netlify.app collected 2026-10-03 10:27:57 UTC 54,259 bytes, 2,126 lines download raw bytes

1<!DOCTYPE html>
2
3<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
4
5<head>
6  <meta charset="utf-8"/>
7<!-- This site is hosted on Netlify. Anyone can build and deploy a site
8     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=6528cc8d-a3b4-4a0a-a2d2-d15ce1886084
9     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
10  <meta name="viewport" content="width=device-width, initial-scale=1"/>
11  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
12  <meta name="generator" content="distill" />
13
14  <style type="text/css">
15  /* Hide doc at startup (prevent jankiness while JS renders/transforms) */
16  body {
17    visibility: hidden;
18  }
19  </style>
20
21 <!--radix_placeholder_import_source-->
22 <!--/radix_placeholder_import_source-->
23
24<style type="text/css">code{white-space: pre;}</style>
25<style type="text/css" data-origin="pandoc">
26a.sourceLine { display: inline-block; line-height: 1.25; }
27a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
28a.sourceLine:empty { height: 1.2em; }
29.sourceCode { overflow: visible; }
30code.sourceCode { white-space: pre; position: relative; }
31div.sourceCode { margin: 1em 0; }
32pre.sourceCode { margin: 0; }
33@media screen {
34div.sourceCode { overflow: auto; }
35}
36@media print {
37code.sourceCode { white-space: pre-wrap; }
38a.sourceLine { text-indent: -1em; padding-left: 1em; }
39}
40pre.numberSource a.sourceLine
41  { position: relative; left: -4em; }
42pre.numberSource a.sourceLine::before
43  { content: attr(data-line-number);
44    position: relative; left: -1em; text-align: right; vertical-align: baseline;
45    border: none; pointer-events: all; display: inline-block;
46    -webkit-touch-callout: none; -webkit-user-select: none;
47    -khtml-user-select: none; -moz-user-select: none;
48    -ms-user-select: none; user-select: none;
49    padding: 0 4px; width: 4em;
50    color: #aaaaaa;
51  }
52pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
53div.sourceCode
54  {  }
55@media screen {
56a.sourceLine::before { text-decoration: underline; }
57}
58code span.al { color: #ad0000; } /* Alert */
59code span.an { color: #5e5e5e; } /* Annotation */
60code span.at { color: #20794d; } /* Attribute */
61code span.bn { color: #ad0000; } /* BaseN */
62code span.bu { } /* BuiltIn */
63code span.cf { color: #007ba5; } /* ControlFlow */
64code span.ch { color: #20794d; } /* Char */
65code span.cn { color: #8f5902; } /* Constant */
66code span.co { color: #5e5e5e; } /* Comment */
67code span.cv { color: #5e5e5e; font-style: italic; } /* CommentVar */
68code span.do { color: #5e5e5e; font-style: italic; } /* Documentation */
69code span.dt { color: #ad0000; } /* DataType */
70code span.dv { color: #ad0000; } /* DecVal */
71code span.er { color: #ad0000; } /* Error */
72code span.ex { } /* Extension */
73code span.fl { color: #ad0000; } /* Float */
74code span.fu { color: #4758ab; } /* Function */
75code span.im { } /* Import */
76code span.in { color: #5e5e5e; } /* Information */
77code span.kw { color: #007ba5; } /* Keyword */
78code span.op { color: #5e5e5e; } /* Operator */
79code span.ot { color: #007ba5; } /* Other */
80code span.pp { color: #ad0000; } /* Preprocessor */
81code span.sc { color: #20794d; } /* SpecialChar */
82code span.ss { color: #20794d; } /* SpecialString */
83code span.st { color: #20794d; } /* String */
84code span.va { color: #111111; } /* Variable */
85code span.vs { color: #20794d; } /* VerbatimString */
86code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
87</style>
88
89  <!--radix_placeholder_meta_tags-->
90  <title>Solimini site: About this site</title>
91  
92  <meta property="description" itemprop="description" content="Some additional details"/>
93  
94  
95  
96  <!--  https://developers.facebook.com/docs/sharing/webmasters#markup -->
97  <meta property="og:title" content="Solimini site: About this site"/>
98  <meta property="og:type" content="article"/>
99  <meta property="og:description" content="Some additional details"/>
100  <meta property="og:locale" content="en_US"/>
101  <meta property="og:site_name" content="Solimini site"/>
102  
103  <!--  https://dev.twitter.com/cards/types/summary -->
104  <meta property="twitter:card" content="summary"/>
105  <meta property="twitter:title" content="Solimini site: About this site"/>
106  <meta property="twitter:description" content="Some additional details"/>
107  <meta property="twitter:site" content="@Angelo_Solimini"/>
108  
109  <!--/radix_placeholder_meta_tags-->
110  <!--radix_placeholder_rmarkdown_metadata-->
111  
112  
112<script type="text/json" id="radix-rmarkdown-metadata">
113  {"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description"]}},"value":[{"type":"character","attributes":{},"value":["About this site"]},{"type":"character","attributes":{},"value":["Some additional details"]}]}
114  </script>
114
115  <!--/radix_placeholder_rmarkdown_metadata-->
116  <!--radix_placeholder_navigation_in_header-->
117  <meta name="distill:offset" content=""/>
118  
119  
119<script type="application/javascript">
120  
121    window.headroom_prevent_pin = false;
122  
123    window.document.addEventListener("DOMContentLoaded", function (event) {
124  
125      // initialize headroom for banner
126      var header = $('header').get(0);
127      var headerHeight = header.offsetHeight;
128      var headroom = new Headroom(header, {
129        tolerance: 5,
130        onPin : function() {
131          if (window.headroom_prevent_pin) {
132            window.headroom_prevent_pin = false;
133            headroom.unpin();
134          }
135        }
136      });
137      headroom.init();
138      if(window.location.hash)
139        headroom.unpin();
140      $(header).addClass('headroom--transition');
141  
142      // offset scroll location for banner on hash change
143      // (see: https://github.com/WickyNilliams/headroom.js/issues/38)
144      window.addEventListener("hashchange", function(event) {
145        window.scrollTo(0, window.pageYOffset - (headerHeight + 25));
146      });
147  
148      // responsive menu
149      $('.distill-site-header').each(function(i, val) {
150        var topnav = $(this);
151        var toggle = topnav.find('.nav-toggle');
152        toggle.on('click', function() {
153          topnav.toggleClass('responsive');
154        });
155      });
156  
157      // nav dropdowns
158      $('.nav-dropbtn').click(function(e) {
159        $(this).next('.nav-dropdown-content').toggleClass('nav-dropdown-active');
160        $(this).parent().siblings('.nav-dropdown')
161           .children('.nav-dropdown-content').removeClass('nav-dropdown-active');
162      });
163      $("body").click(function(e){
164        $('.nav-dropdown-content').removeClass('nav-dropdown-active');
165      });
166      $(".nav-dropdown").click(function(e){
167        e.stopPropagation();
168      });
169    });
170  </script>
170
171  
172  <style type="text/css">
173  
174  /* Theme (user-documented overrideables for nav appearance) */
175  
176  .distill-site-nav {
177    color: rgba(255, 255, 255, 0.8);
178    background-color: #0F2E3D;
179    font-size: 15px;
180    font-weight: 300;
181  }
182  
183  .distill-site-nav a {
184    color: inherit;
185    text-decoration: none;
186  }
187  
188  .distill-site-nav a:hover {
189    color: white;
190  }
191  
192  @media print {
193    .distill-site-nav {
194      display: none;
195    }
196  }
197  
198  .distill-site-header {
199  
200  }
201  
202  .distill-site-footer {
203  
204  }
205  
206  
207  /* Site Header */
208  
209  .distill-site-header {
210    width: 100%;
211    box-sizing: border-box;
212    z-index: 3;
213  }
214  
215  .distill-site-header .nav-left {
216    display: inline-block;
217    margin-left: 8px;
218  }
219  
220  @media screen and (max-width: 768px) {
221    .distill-site-header .nav-left {
222      margin-left: 0;
223    }
224  }
225  
226  
227  .distill-site-header .nav-right {
228    float: right;
229    margin-right: 8px;
230  }
231  
232  .distill-site-header a,
233  .distill-site-header .title {
234    display: inline-block;
235    text-align: center;
236    padding: 14px 10px 14px 10px;
237  }
238  
239  .distill-site-header .title {
240    font-size: 18px;
241    min-width: 150px;
242  }
243  
244  .distill-site-header .logo {
245    padding: 0;
246  }
247  
248  .distill-site-header .logo img {
249    display: none;
250    max-height: 20px;
251    width: auto;
252    margin-bottom: -4px;
253  }
254  
255  .distill-site-header .nav-image img {
256    max-height: 18px;
257    width: auto;
258    display: inline-block;
259    margin-bottom: -3px;
260  }
261  
262  
263  
264  @media screen and (min-width: 1000px) {
265    .distill-site-header .logo img {
266      display: inline-block;
267    }
268    .distill-site-header .nav-left {
269      margin-left: 20px;
270    }
271    .distill-site-header .nav-right {
272      margin-right: 20px;
273    }
274    .distill-site-header .title {
275      padding-left: 12px;
276    }
277  }
278  
279  
280  .distill-site-header .nav-toggle {
281    display: none;
282  }
283  
284  .nav-dropdown {
285    display: inline-block;
286    position: relative;
287  }
288  
289  .nav-dropdown .nav-dropbtn {
290    border: none;
291    outline: none;
292    color: rgba(255, 255, 255, 0.8);
293    padding: 16px 10px;
294    background-color: transparent;
295    font-family: inherit;
296    font-size: inherit;
297    font-weight: inherit;
298    margin: 0;
299    margin-top: 1px;
300    z-index: 2;
301  }
302  
303  .nav-dropdown-content {
304    display: none;
305    position: absolute;
306    background-color: white;
307    min-width: 200px;
308    border: 1px solid rgba(0,0,0,0.15);
309    border-radius: 4px;
310    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.1);
311    z-index: 1;
312    margin-top: 2px;
313    white-space: nowrap;
314    padding-top: 4px;
315    padding-bottom: 4px;
316  }
317  
318  .nav-dropdown-content hr {
319    margin-top: 4px;
320    margin-bottom: 4px;
321    border: none;
322    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
323  }
324  
325  .nav-dropdown-active {
326    display: block;
327  }
328  
329  .nav-dropdown-content a, .nav-dropdown-content .nav-dropdown-header {
330    color: black;
331    padding: 6px 24px;
332    text-decoration: none;
333    display: block;
334    text-align: left;
335  }
336  
337  .nav-dropdown-content .nav-dropdown-header {
338    display: block;
339    padding: 5px 24px;
340    padding-bottom: 0;
341    text-transform: uppercase;
342    font-size: 14px;
343    color: #999999;
344    white-space: nowrap;
345  }
346  
347  .nav-dropdown:hover .nav-dropbtn {
348    color: white;
349  }
350  
351  .nav-dropdown-content a:hover {
352    background-color: #ddd;
353    color: black;
354  }
355  
356  .nav-right .nav-dropdown-content {
357    margin-left: -45%;
358    right: 0;
359  }
360  
361  @media screen and (max-width: 768px) {
362    .distill-site-header a, .distill-site-header .nav-dropdown  {display: none;}
363    .distill-site-header a.nav-toggle {
364      float: right;
365      display: block;
366    }
367    .distill-site-header .title {
368      margin-left: 0;
369    }
370    .distill-site-header .nav-right {
371      margin-right: 0;
372    }
373    .distill-site-header {
374      overflow: hidden;
375    }
376    .nav-right .nav-dropdown-content {
377      margin-left: 0;
378    }
379  }
380  
381  
382  @media screen and (max-width: 768px) {
383    .distill-site-header.responsive {position: relative; min-height: 500px; }
384    .distill-site-header.responsive a.nav-toggle {
385      position: absolute;
386      right: 0;
387      top: 0;
388    }
389    .distill-site-header.responsive a,
390    .distill-site-header.responsive .nav-dropdown {
391      display: block;
392      text-align: left;
393    }
394    .distill-site-header.responsive .nav-left,
395    .distill-site-header.responsive .nav-right {
396      width: 100%;
397    }
398    .distill-site-header.responsive .nav-dropdown {float: none;}
399    .distill-site-header.responsive .nav-dropdown-content {position: relative;}
400    .distill-site-header.responsive .nav-dropdown .nav-dropbtn {
401      display: block;
402      width: 100%;
403      text-align: left;
404    }
405  }
406  
407  /* Site Footer */
408  
409  .distill-site-footer {
410    width: 100%;
411    overflow: hidden;
412    box-sizing: border-box;
413    z-index: 3;
414    margin-top: 30px;
415    padding-top: 30px;
416    padding-bottom: 30px;
417    text-align: center;
418  }
419  
420  /* Headroom */
421  
422  d-title {
423    padding-top: 6rem;
424  }
425  
426  @media print {
427    d-title {
428      padding-top: 4rem;
429    }
430  }
431  
432  .headroom {
433    z-index: 1000;
434    position: fixed;
435    top: 0;
436    left: 0;
437    right: 0;
438  }
439  
440  .headroom--transition {
441    transition: all .4s ease-in-out;
442  }
443  
444  .headroom--unpinned {
445    top: -100px;
446  }
447  
448  .headroom--pinned {
449    top: 0;
450  }
451  
452  /* adjust viewport for navbar height */
453  /* helps vertically center bootstrap (non-distill) content */
454  .min-vh-100 {
455    min-height: calc(100vh - 100px) !important;
456  }
457  
458  </style>
459  
460  
460<script src="site_libs/jquery-1.11.3/jquery.min.js"></script>
460
461  <link href="site_libs/font-awesome-5.1.0/css/all.css" rel="stylesheet"/>
462  <link href="site_libs/font-awesome-5.1.0/css/v4-shims.css" rel="stylesheet"/>
463  
463<script src="site_libs/headroom-0.9.4/headroom.min.js"></script>
463
464  
464<script src="site_libs/autocomplete-0.37.1/autocomplete.min.js"></script>
464
465  
465<script src="site_libs/fuse-6.4.1/fuse.min.js"></script>
465
466  
467  
467<script type="application/javascript">
468  
469  function getMeta(metaName) {
470    var metas = document.getElementsByTagName('meta');
471    for (let i = 0; i < metas.length; i++) {
472      if (metas[i].getAttribute('name') === metaName) {
473        return metas[i].getAttribute('content');
474      }
475    }
476    return '';
477  }
478  
479  function offsetURL(url) {
480    var offset = getMeta('distill:offset');
481    return offset ? offset + '/' + url : url;
482  }
483  
484  function createFuseIndex() {
485  
486    // create fuse index
487    var options = {
488      keys: [
489        { name: 'title', weight: 20 },
490        { name: 'categories', weight: 15 },
491        { name: 'description', weight: 10 },
492        { name: 'contents', weight: 5 },
493      ],
494      ignoreLocation: true,
495      threshold: 0
496    };
497    var fuse = new window.Fuse([], options);
498  
499    // fetch the main search.json
500    return fetch(offsetURL('search.json'))
501      .then(function(response) {
502        if (response.status == 200) {
503          return response.json().then(function(json) {
504            // index main articles
505            json.articles.forEach(function(article) {
506              fuse.add(article);
507            });
508            // download collections and index their articles
509            return Promise.all(json.collections.map(function(collection) {
510              return fetch(offsetURL(collection)).then(function(response) {
511                if (response.status === 200) {
512                  return response.json().then(function(articles) {
513                    articles.forEach(function(article) {
514                      fuse.add(article);
515                    });
516                  })
517                } else {
518                  return Promise.reject(
519                    new Error('Unexpected status from search index request: ' +
520                              response.status)
521                  );
522                }
523              });
524            })).then(function() {
525              return fuse;
526            });
527          });
528  
529        } else {
530          return Promise.reject(
531            new Error('Unexpected status from search index request: ' +
532                        response.status)
533          );
534        }
535      });
536  }
537  
538  window.document.addEventListener("DOMContentLoaded", function (event) {
539  
540    // get search element (bail if we don't have one)
541    var searchEl = window.document.getElementById('distill-search');
542    if (!searchEl)
543      return;
544  
545    createFuseIndex()
546      .then(function(fuse) {
547  
548        // make search box visible
549        searchEl.classList.remove('hidden');
550  
551        // initialize autocomplete
552        var options = {
553          autoselect: true,
554          hint: false,
555          minLength: 2,
556        };
557        window.autocomplete(searchEl, options, [{
558          source: function(query, callback) {
559            const searchOptions = {
560              isCaseSensitive: false,
561              shouldSort: true,
562              minMatchCharLength: 2,
563              limit: 10,
564            };
565            var results = fuse.search(query, searchOptions);
566            callback(results
567              .map(function(result) { return result.item; })
568            );
569          },
570          templates: {
571            suggestion: function(suggestion) {
572              var img = suggestion.preview && Object.keys(suggestion.preview).length > 0
573                ? `<img src="${offsetURL(suggestion.preview)}"</img>`
574                : '';
575              var html = `
576                <div class="search-item">
577                  <h3>${suggestion.title}</h3>
578                  <div class="search-item-description">
579                    ${suggestion.description || ''}
580                  </div>
581                  <div class="search-item-preview">
582                    ${img}
583                  </div>
584                </div>
585              `;
586              return html;
587            }
588          }
589        }]).on('autocomplete:selected', function(event, suggestion) {
590          window.location.href = offsetURL(suggestion.path);
591        });
592        // remove inline display style on autocompleter (we want to
593        // manage responsive display via css)
594        $('.algolia-autocomplete').css("display", "");
595      })
596      .catch(function(error) {
597        console.log(error);
598      });
599  
600  });
601  
602  </script>
602
603  
604  <style type="text/css">
605  
606  .nav-search {
607    font-size: x-small;
608  }
609  
610  /* Algolioa Autocomplete */
611  
612  .algolia-autocomplete {
613    display: inline-block;
614    margin-left: 10px;
615    vertical-align: sub;
616    background-color: white;
617    color: black;
618    padding: 6px;
619    padding-top: 8px;
620    padding-bottom: 0;
621    border-radius: 6px;
622    border: 1px #0F2E3D solid;
623    width: 180px;
624  }
625  
626  
627  @media screen and (max-width: 768px) {
628    .distill-site-nav .algolia-autocomplete {
629      display: none;
630      visibility: hidden;
631    }
632    .distill-site-nav.responsive .algolia-autocomplete {
633      display: inline-block;
634      visibility: visible;
635    }
636    .distill-site-nav.responsive .algolia-autocomplete .aa-dropdown-menu {
637      margin-left: 0;
638      width: 400px;
639      max-height: 400px;
640    }
641  }
642  
643  .algolia-autocomplete .aa-input, .algolia-autocomplete .aa-hint {
644    width: 90%;
645    outline: none;
646    border: none;
647  }
648  
649  .algolia-autocomplete .aa-hint {
650    color: #999;
651  }
652  .algolia-autocomplete .aa-dropdown-menu {
653    width: 550px;
654    max-height: 70vh;
655    overflow-x: visible;
656    overflow-y: scroll;
657    padding: 5px;
658    margin-top: 3px;
659    margin-left: -150px;
660    background-color: #fff;
661    border-radius: 5px;
662    border: 1px solid #999;
663    border-top: none;
664  }
665  
666  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion {
667    cursor: pointer;
668    padding: 5px 4px;
669    border-bottom: 1px solid #eee;
670  }
671  
672  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion:last-of-type {
673    border-bottom: none;
674    margin-bottom: 2px;
675  }
676  
677  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item {
678    overflow: hidden;
679    font-size: 0.8em;
680    line-height: 1.4em;
681  }
682  
683  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item h3 {
684    font-size: 1rem;
685    margin-block-start: 0;
686    margin-block-end: 5px;
687  }
688  
689  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-description {
690    display: inline-block;
691    overflow: hidden;
692    height: 2.8em;
693    width: 80%;
694    margin-right: 4%;
695  }
696  
697  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview {
698    display: inline-block;
699    width: 15%;
700  }
701  
702  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview img {
703    height: 3em;
704    width: auto;
705    display: none;
706  }
707  
708  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview img[src] {
709    display: initial;
710  }
711  
712  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor {
713    background-color: #eee;
714  }
715  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion em {
716    font-weight: bold;
717    font-style: normal;
718  }
719  
720  </style>
721  
722  
723  <!--/radix_placeholder_navigation_in_header-->
724  <!--radix_placeholder_distill-->
725  
726  <style type="text/css">
727  
728  body {
729    background-color: white;
730  }
731  
732  .pandoc-table {
733    width: 100%;
734  }
735  
736  .pandoc-table>caption {
737    margin-bottom: 10px;
738  }
739  
740  .pandoc-table th:not([align]) {
741    text-align: left;
742  }
743  
744  .pagedtable-footer {
745    font-size: 15px;
746  }
747  
748  d-byline .byline {
749    grid-template-columns: 2fr 2fr;
750  }
751  
752  d-byline .byline h3 {
753    margin-block-start: 1.5em;
754  }
755  
756  d-byline .byline .authors-affiliations h3 {
757    margin-block-start: 0.5em;
758  }
759  
760  .authors-affiliations .orcid-id {
761    width: 16px;
762    height:16px;
763    margin-left: 4px;
764    margin-right: 4px;
765    vertical-align: middle;
766    padding-bottom: 2px;
767  }
768  
769  d-title .dt-tags {
770    margin-top: 1em;
771    grid-column: text;
772  }
773  
774  .dt-tags .dt-tag {
775    text-decoration: none;
776    display: inline-block;
777    color: rgba(0,0,0,0.6);
778    padding: 0em 0.4em;
779    margin-right: 0.5em;
780    margin-bottom: 0.4em;
781    font-size: 70%;
782    border: 1px solid rgba(0,0,0,0.2);
783    border-radius: 3px;
784    text-transform: uppercase;
785    font-weight: 500;
786  }
787  
788  d-article table.gt_table td,
789  d-article table.gt_table th {
790    border-bottom: none;
791  }
792  
793  .html-widget {
794    margin-bottom: 2.0em;
795  }
796  
797  .l-screen-inset {
798    padding-right: 16px;
799  }
800  
801  .l-screen .caption {
802    margin-left: 10px;
803  }
804  
805  .shaded {
806    background: rgb(247, 247, 247);
807    padding-top: 20px;
808    padding-bottom: 20px;
809    border-top: 1px solid rgba(0, 0, 0, 0.1);
810    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
811  }
812  
813  .shaded .html-widget {
814    margin-bottom: 0;
815    border: 1px solid rgba(0, 0, 0, 0.1);
816  }
817  
818  .shaded .shaded-content {
819    background: white;
820  }
821  
822  .text-output {
823    margin-top: 0;
824    line-height: 1.5em;
825  }
826  
827  .hidden {
828    display: none !important;
829  }
830  
831  d-article {
832    padding-top: 2.5rem;
833    padding-bottom: 30px;
834  }
835  
836  d-appendix {
837    padding-top: 30px;
838  }
839  
840  d-article>p>img {
841    width: 100%;
842  }
843  
844  d-article h2 {
845    margin: 1rem 0 1.5rem 0;
846  }
847  
848  d-article h3 {
849    margin-top: 1.5rem;
850  }
851  
852  d-article iframe {
853    border: 1px solid rgba(0, 0, 0, 0.1);
854    margin-bottom: 2.0em;
855    width: 100%;
856  }
857  
858  /* Tweak code blocks */
859  
860  d-article div.sourceCode code,
861  d-article pre code {
862    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
863  }
864  
865  d-article pre,
866  d-article div.sourceCode,
867  d-article div.sourceCode pre {
868    overflow: auto;
869  }
870  
871  d-article div.sourceCode {
872    background-color: white;
873  }
874  
875  d-article div.sourceCode pre {
876    padding-left: 10px;
877    font-size: 12px;
878    border-left: 2px solid rgba(0,0,0,0.1);
879  }
880  
881  d-article pre {
882    font-size: 12px;
883    color: black;
884    background: none;
885    margin-top: 0;
886    text-align: left;
887    white-space: pre;
888    word-spacing: normal;
889    word-break: normal;
890    word-wrap: normal;
891    line-height: 1.5;
892  
893    -moz-tab-size: 4;
894    -o-tab-size: 4;
895    tab-size: 4;
896  
897    -webkit-hyphens: none;
898    -moz-hyphens: none;
899    -ms-hyphens: none;
900    hyphens: none;
901  }
902  
903  d-article pre a {
904    border-bottom: none;
905  }
906  
907  d-article pre a:hover {
908    border-bottom: none;
909    text-decoration: underline;
910  }
911  
912  d-article details {
913    grid-column: text;
914    margin-bottom: 0.8em;
915  }
916  
917  @media(min-width: 768px) {
918  
919  d-article pre,
920  d-article div.sourceCode,
921  d-article div.sourceCode pre {
922    overflow: visible !important;
923  }
924  
925  d-article div.sourceCode pre {
926    padding-left: 18px;
927    font-size: 14px;
928  }
929  
930  d-article pre {
931    font-size: 14px;
932  }
933  
934  }
935  
936  figure img.external {
937    background: white;
938    border: 1px solid rgba(0, 0, 0, 0.1);
939    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
940    padding: 18px;
941    box-sizing: border-box;
942  }
943  
944  /* CSS for d-contents */
945  
946  .d-contents {
947    grid-column: text;
948    color: rgba(0,0,0,0.8);
949    font-size: 0.9em;
950    padding-bottom: 1em;
951    margin-bottom: 1em;
952    padding-bottom: 0.5em;
953    margin-bottom: 1em;
954    padding-left: 0.25em;
955    justify-self: start;
956  }
957  
958  @media(min-width: 1000px) {
959    .d-contents.d-contents-float {
960      height: 0;
961      grid-column-start: 1;
962      grid-column-end: 4;
963      justify-self: center;
964      padding-right: 3em;
965      padding-left: 2em;
966    }
967  }
968  
969  .d-contents nav h3 {
970    font-size: 18px;
971    margin-top: 0;
972    margin-bottom: 1em;
973  }
974  
975  .d-contents li {
976    list-style-type: none
977  }
978  
979  .d-contents nav > ul {
980    padding-left: 0;
981  }
982  
983  .d-contents ul {
984    padding-left: 1em
985  }
986  
987  .d-contents nav ul li {
988    margin-top: 0.6em;
989    margin-bottom: 0.2em;
990  }
991  
992  .d-contents nav a {
993    font-size: 13px;
994    border-bottom: none;
995    text-decoration: none
996    color: rgba(0, 0, 0, 0.8);
997  }
998  
999  .d-contents nav a:hover {
1000    text-decoration: underline solid rgba(0, 0, 0, 0.6)
1001  }
1002  
1003  .d-contents nav > ul > li > a {
1004    font-weight: 600;
1005  }
1006  
1007  .d-contents nav > ul > li > ul {
1008    font-weight: inherit;
1009  }
1010  
1011  .d-contents nav > ul > li > ul > li {
1012    margin-top: 0.2em;
1013  }
1014  
1015  
1016  .d-contents nav ul {
1017    margin-top: 0;
1018    margin-bottom: 0.25em;
1019  }
1020  
1021  .d-article-with-toc h2:nth-child(2) {
1022    margin-top: 0;
1023  }
1024  
1025  
1026  /* Figure */
1027  
1028  .figure {
1029    position: relative;
1030    margin-bottom: 2.5em;
1031    margin-top: 1.5em;
1032  }
1033  
1034  .figure img {
1035    width: 100%;
1036  }
1037  
1038  .figure .caption {
1039    color: rgba(0, 0, 0, 0.6);
1040    font-size: 12px;
1041    line-height: 1.5em;
1042  }
1043  
1044  .figure img.external {
1045    background: white;
1046    border: 1px solid rgba(0, 0, 0, 0.1);
1047    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
1048    padding: 18px;
1049    box-sizing: border-box;
1050  }
1051  
1052  .figure .caption a {
1053    color: rgba(0, 0, 0, 0.6);
1054  }
1055  
1056  .figure .caption b,
1057  .figure .caption strong, {
1058    font-weight: 600;
1059    color: rgba(0, 0, 0, 1.0);
1060  }
1061  
1062  /* Citations */
1063  
1064  d-article .citation {
1065    color: inherit;
1066    cursor: inherit;
1067  }
1068  
1069  div.hanging-indent{
1070    margin-left: 1em; text-indent: -1em;
1071  }
1072  
1073  /* Citation hover box */
1074  
1075  .tippy-box[data-theme~=light-border] {
1076    background-color: rgba(250, 250, 250, 0.95);
1077  }
1078  
1079  .tippy-content > p {
1080    margin-bottom: 0;
1081    padding: 2px;
1082  }
1083  
1084  
1085  /* Tweak 1000px media break to show more text */
1086  
1087  @media(min-width: 1000px) {
1088    .base-grid,
1089    distill-header,
1090    d-title,
1091    d-abstract,
1092    d-article,
1093    d-appendix,
1094    distill-appendix,
1095    d-byline,
1096    d-footnote-list,
1097    d-citation-list,
1098    distill-footer {
1099      grid-template-columns: [screen-start] 1fr [page-start kicker-start] 80px [middle-start] 50px [text-start kicker-end] 65px 65px 65px 65px 65px 65px 65px 65px [text-end gutter-start] 65px [middle-end] 65px [page-end gutter-end] 1fr [screen-end];
1100      grid-column-gap: 16px;
1101    }
1102  
1103    .grid {
1104      grid-column-gap: 16px;
1105    }
1106  
1107    d-article {
1108      font-size: 1.06rem;
1109      line-height: 1.7em;
1110    }
1111    figure .caption, .figure .caption, figure figcaption {
1112      font-size: 13px;
1113    }
1114  }
1115  
1116  @media(min-width: 1180px) {
1117    .base-grid,
1118    distill-header,
1119    d-title,
1120    d-abstract,
1121    d-article,
1122    d-appendix,
1123    distill-appendix,
1124    d-byline,
1125    d-footnote-list,
1126    d-citation-list,
1127    distill-footer {
1128      grid-template-columns: [screen-start] 1fr [page-start kicker-start] 60px [middle-start] 60px [text-start kicker-end] 60px 60px 60px 60px 60px 60px 60px 60px [text-end gutter-start] 60px [middle-end] 60px [page-end gutter-end] 1fr [screen-end];
1129      grid-column-gap: 32px;
1130    }
1131  
1132    .grid {
1133      grid-column-gap: 32px;
1134    }
1135  }
1136  
1137  
1138  /* Get the citation styles for the appendix (not auto-injected on render since
1139     we do our own rendering of the citation appendix) */
1140  
1141  d-appendix .citation-appendix,
1142  .d-appendix .citation-appendix {
1143    font-size: 11px;
1144    line-height: 15px;
1145    border-left: 1px solid rgba(0, 0, 0, 0.1);
1146    padding-left: 18px;
1147    border: 1px solid rgba(0,0,0,0.1);
1148    background: rgba(0, 0, 0, 0.02);
1149    padding: 10px 18px;
1150    border-radius: 3px;
1151    color: rgba(150, 150, 150, 1);
1152    overflow: hidden;
1153    margin-top: -12px;
1154    white-space: pre-wrap;
1155    word-wrap: break-word;
1156  }
1157  
1158  /* Include appendix styles here so they can be overridden */
1159  
1160  d-appendix {
1161    contain: layout style;
1162    font-size: 0.8em;
1163    line-height: 1.7em;
1164    margin-top: 60px;
1165    margin-bottom: 0;
1166    border-top: 1px solid rgba(0, 0, 0, 0.1);
1167    color: rgba(0,0,0,0.5);
1168    padding-top: 60px;
1169    padding-bottom: 48px;
1170  }
1171  
1172  d-appendix h3 {
1173    grid-column: page-start / text-start;
1174    font-size: 15px;
1175    font-weight: 500;
1176    margin-top: 1em;
1177    margin-bottom: 0;
1178    color: rgba(0,0,0,0.65);
1179  }
1180  
1181  d-appendix h3 + * {
1182    margin-top: 1em;
1183  }
1184  
1185  d-appendix ol {
1186    padding: 0 0 0 15px;
1187  }
1188  
1189  @media (min-width: 768px) {
1190    d-appendix ol {
1191      padding: 0 0 0 30px;
1192      margin-left: -30px;
1193    }
1194  }
1195  
1196  d-appendix li {
1197    margin-bottom: 1em;
1198  }
1199  
1200  d-appendix a {
1201    color: rgba(0, 0, 0, 0.6);
1202  }
1203  
1204  d-appendix > * {
1205    grid-column: text;
1206  }
1207  
1208  d-appendix > d-footnote-list,
1209  d-appendix > d-citation-list,
1210  d-appendix > distill-appendix {
1211    grid-column: screen;
1212  }
1213  
1214  /* Include footnote styles here so they can be overridden */
1215  
1216  d-footnote-list {
1217    contain: layout style;
1218  }
1219  
1220  d-footnote-list > * {
1221    grid-column: text;
1222  }
1223  
1224  d-footnote-list a.footnote-backlink {
1225    color: rgba(0,0,0,0.3);
1226    padding-left: 0.5em;
1227  }
1228  
1229  
1230  
1231  /* Anchor.js */
1232  
1233  .anchorjs-link {
1234    /*transition: all .25s linear; */
1235    text-decoration: none;
1236    border-bottom: none;
1237  }
1238  *:hover > .anchorjs-link {
1239    margin-left: -1.125em !important;
1240    text-decoration: none;
1241    border-bottom: none;
1242  }
1243  
1244  /* Social footer */
1245  
1246  .social_footer {
1247    margin-top: 30px;
1248    margin-bottom: 0;
1249    color: rgba(0,0,0,0.67);
1250  }
1251  
1252  .disqus-comments {
1253    margin-right: 30px;
1254  }
1255  
1256  .disqus-comment-count {
1257    border-bottom: 1px solid rgba(0, 0, 0, 0.4);
1258    cursor: pointer;
1259  }
1260  
1261  #disqus_thread {
1262    margin-top: 30px;
1263  }
1264  
1265  .article-sharing a {
1266    border-bottom: none;
1267    margin-right: 8px;
1268  }
1269  
1270  .article-sharing a:hover {
1271    border-bottom: none;
1272  }
1273  
1274  .sidebar-section.subscribe {
1275    font-size: 12px;
1276    line-height: 1.6em;
1277  }
1278  
1279  .subscribe p {
1280    margin-bottom: 0.5em;
1281  }
1282  
1283  
1284  .article-footer .subscribe {
1285    font-size: 15px;
1286    margin-top: 45px;
1287  }
1288  
1289  
1290  .sidebar-section.custom {
1291    font-size: 12px;
1292    line-height: 1.6em;
1293  }
1294  
1295  .custom p {
1296    margin-bottom: 0.5em;
1297  }
1298  
1299  /* Styles for listing layout (hide title) */
1300  .layout-listing d-title, .layout-listing .d-title {
1301    display: none;
1302  }
1303  
1304  /* Styles for posts lists (not auto-injected) */
1305  
1306  
1307  .posts-with-sidebar {
1308    padding-left: 45px;
1309    padding-right: 45px;
1310  }
1311  
1312  .posts-list .description h2,
1313  .posts-list .description p {
1314    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
1315  }
1316  
1317  .posts-list .description h2 {
1318    font-weight: 700;
1319    border-bottom: none;
1320    padding-bottom: 0;
1321  }
1322  
1323  .posts-list h2.post-tag {
1324    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
1325    padding-bottom: 12px;
1326  }
1327  .posts-list {
1328    margin-top: 60px;
1329    margin-bottom: 24px;
1330  }
1331  
1332  .posts-list .post-preview {
1333    text-decoration: none;
1334    overflow: hidden;
1335    display: block;
1336    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
1337    padding: 24px 0;
1338  }
1339  
1340  .post-preview-last {
1341    border-bottom: none !important;
1342  }
1343  
1344  .posts-list .posts-list-caption {
1345    grid-column: screen;
1346    font-weight: 400;
1347  }
1348  
1349  .posts-list .post-preview h2 {
1350    margin: 0 0 6px 0;
1351    line-height: 1.2em;
1352    font-style: normal;
1353    font-size: 24px;
1354  }
1355  
1356  .posts-list .post-preview p {
1357    margin: 0 0 12px 0;
1358    line-height: 1.4em;
1359    font-size: 16px;
1360  }
1361  
1362  .posts-list .post-preview .thumbnail {
1363    box-sizing: border-box;
1364    margin-bottom: 24px;
1365    position: relative;
1366    max-width: 500px;
1367  }
1368  .posts-list .post-preview img {
1369    width: 100%;
1370    display: block;
1371  }
1372  
1373  .posts-list .metadata {
1374    font-size: 12px;
1375    line-height: 1.4em;
1376    margin-bottom: 18px;
1377  }
1378  
1379  .posts-list .metadata > * {
1380    display: inline-block;
1381  }
1382  
1383  .posts-list .metadata .publishedDate {
1384    margin-right: 2em;
1385  }
1386  
1387  .posts-list .metadata .dt-authors {
1388    display: block;
1389    margin-top: 0.3em;
1390    margin-right: 2em;
1391  }
1392  
1393  .posts-list .dt-tags {
1394    display: block;
1395    line-height: 1em;
1396  }
1397  
1398  .posts-list .dt-tags .dt-tag {
1399    display: inline-block;
1400    color: rgba(0,0,0,0.6);
1401    padding: 0.3em 0.4em;
1402    margin-right: 0.2em;
1403    margin-bottom: 0.4em;
1404    font-size: 60%;
1405    border: 1px solid rgba(0,0,0,0.2);
1406    border-radius: 3px;
1407    text-transform: uppercase;
1408    font-weight: 500;
1409  }
1410  
1411  .posts-list img {
1412    opacity: 1;
1413  }
1414  
1415  .posts-list img[data-src] {
1416    opacity: 0;
1417  }
1418  
1419  .posts-more {
1420    clear: both;
1421  }
1422  
1423  
1424  .posts-sidebar {
1425    font-size: 16px;
1426  }
1427  
1428  .posts-sidebar h3 {
1429    font-size: 16px;
1430    margin-top: 0;
1431    margin-bottom: 0.5em;
1432    font-weight: 400;
1433    text-transform: uppercase;
1434  }
1435  
1436  .sidebar-section {
1437    margin-bottom: 30px;
1438  }
1439  
1440  .categories ul {
1441    list-style-type: none;
1442    margin: 0;
1443    padding: 0;
1444  }
1445  
1446  .categories li {
1447    color: rgba(0, 0, 0, 0.8);
1448    margin-bottom: 0;
1449  }
1450  
1451  .categories li>a {
1452    border-bottom: none;
1453  }
1454  
1455  .categories li>a:hover {
1456    border-bottom: 1px solid rgba(0, 0, 0, 0.4);
1457  }
1458  
1459  .categories .active {
1460    font-weight: 600;
1461  }
1462  
1463  .categories .category-count {
1464    color: rgba(0, 0, 0, 0.4);
1465  }
1466  
1467  
1468  @media(min-width: 768px) {
1469    .posts-list .post-preview h2 {
1470      font-size: 26px;
1471    }
1472    .posts-list .post-preview .thumbnail {
1473      float: right;
1474      width: 30%;
1475      margin-bottom: 0;
1476    }
1477    .posts-list .post-preview .description {
1478      float: left;
1479      width: 45%;
1480    }
1481    .posts-list .post-preview .metadata {
1482      float: left;
1483      width: 20%;
1484      margin-top: 8px;
1485    }
1486    .posts-list .post-preview p {
1487      margin: 0 0 12px 0;
1488      line-height: 1.5em;
1489      font-size: 16px;
1490    }
1491    .posts-with-sidebar .posts-list {
1492      float: left;
1493      width: 75%;
1494    }
1495    .posts-with-sidebar .posts-sidebar {
1496      float: right;
1497      width: 20%;
1498      margin-top: 60px;
1499      padding-top: 24px;
1500      padding-bottom: 24px;
1501    }
1502  }
1503  
1504  
1505  /* Improve display for browsers without grid (IE/Edge <= 15) */
1506  
1507  .downlevel {
1508    line-height: 1.6em;
1509    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
1510    margin: 0;
1511  }
1512  
1513  .downlevel .d-title {
1514    padding-top: 6rem;
1515    padding-bottom: 1.5rem;
1516  }
1517  
1518  .downlevel .d-title h1 {
1519    font-size: 50px;
1520    font-weight: 700;
1521    line-height: 1.1em;
1522    margin: 0 0 0.5rem;
1523  }
1524  
1525  .downlevel .d-title p {
1526    font-weight: 300;
1527    font-size: 1.2rem;
1528    line-height: 1.55em;
1529    margin-top: 0;
1530  }
1531  
1532  .downlevel .d-byline {
1533    padding-top: 0.8em;
1534    padding-bottom: 0.8em;
1535    font-size: 0.8rem;
1536    line-height: 1.8em;
1537  }
1538  
1539  .downlevel .section-separator {
1540    border: none;
1541    border-top: 1px solid rgba(0, 0, 0, 0.1);
1542  }
1543  
1544  .downlevel .d-article {
1545    font-size: 1.06rem;
1546    line-height: 1.7em;
1547    padding-top: 1rem;
1548    padding-bottom: 2rem;
1549  }
1550  
1551  
1552  .downlevel .d-appendix {
1553    padding-left: 0;
1554    padding-right: 0;
1555    max-width: none;
1556    font-size: 0.8em;
1557    line-height: 1.7em;
1558    margin-bottom: 0;
1559    color: rgba(0,0,0,0.5);
1560    padding-top: 40px;
1561    padding-bottom: 48px;
1562  }
1563  
1564  .downlevel .footnotes ol {
1565    padding-left: 13px;
1566  }
1567  
1568  .downlevel .base-grid,
1569  .downlevel .distill-header,
1570  .downlevel .d-title,
1571  .downlevel .d-abstract,
1572  .downlevel .d-article,
1573  .downlevel .d-appendix,
1574  .downlevel .distill-appendix,
1575  .downlevel .d-byline,
1576  .downlevel .d-footnote-list,
1577  .downlevel .d-citation-list,
1578  .downlevel .distill-footer,
1579  .downlevel .appendix-bottom,
1580  .downlevel .posts-container {
1581    padding-left: 40px;
1582    padding-right: 40px;
1583  }
1584  
1585  @media(min-width: 768px) {
1586    .downlevel .base-grid,
1587    .downlevel .distill-header,
1588    .downlevel .d-title,
1589    .downlevel .d-abstract,
1590    .downlevel .d-article,
1591    .downlevel .d-appendix,
1592    .downlevel .distill-appendix,
1593    .downlevel .d-byline,
1594    .downlevel .d-footnote-list,
1595    .downlevel .d-citation-list,
1596    .downlevel .distill-footer,
1597    .downlevel .appendix-bottom,
1598    .downlevel .posts-container {
1599    padding-left: 150px;
1600    padding-right: 150px;
1601    max-width: 900px;
1602  }
1603  }
1604  
1605  .downlevel pre code {
1606    display: block;
1607    border-left: 2px solid rgba(0, 0, 0, .1);
1608    padding: 0 0 0 20px;
1609    font-size: 14px;
1610  }
1611  
1612  .downlevel code, .downlevel pre {
1613    color: black;
1614    background: none;
1615    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
1616    text-align: left;
1617    white-space: pre;
1618    word-spacing: normal;
1619    word-break: normal;
1620    word-wrap: normal;
1621    line-height: 1.5;
1622  
1623    -moz-tab-size: 4;
1624    -o-tab-size: 4;
1625    tab-size: 4;
1626  
1627    -webkit-hyphens: none;
1628    -moz-hyphens: none;
1629    -ms-hyphens: none;
1630    hyphens: none;
1631  }
1632  
1633  .downlevel .posts-list .post-preview {
1634    color: inherit;
1635  }
1636  
1637  
1638  
1639  </style>
1640  
1641  
1641<script type="application/javascript">
1642  
1643  function is_downlevel_browser() {
1644    if (bowser.isUnsupportedBrowser({ msie: "12", msedge: "16"},
1645                                   window.navigator.userAgent)) {
1646      return true;
1647    } else {
1648      return window.load_distill_framework === undefined;
1649    }
1650  }
1651  
1652  // show body when load is complete
1653  function on_load_complete() {
1654  
1655    // add anchors
1656    if (window.anchors) {
1657      window.anchors.options.placement = 'left';
1658      window.anchors.add('d-article > h2, d-article > h3, d-article > h4, d-article > h5');
1659    }
1660  
1661  
1662    // set body to visible
1663    document.body.style.visibility = 'visible';
1664  
1665    // force redraw for leaflet widgets
1666    if (window.HTMLWidgets) {
1667      var maps = window.HTMLWidgets.findAll(".leaflet");
1668      $.each(maps, function(i, el) {
1669        var map = this.getMap();
1670        map.invalidateSize();
1671        map.eachLayer(function(layer) {
1672          if (layer instanceof L.TileLayer)
1673            layer.redraw();
1674        });
1675      });
1676    }
1677  
1678    // trigger 'shown' so htmlwidgets resize
1679    $('d-article').trigger('shown');
1680  }
1681  
1682  function init_distill() {
1683  
1684    init_common();
1685  
1686    // create front matter
1687    var front_matter = $('<d-front-matter></d-front-matter>');
1688    $('#distill-front-matter').wrap(front_matter);
1689  
1690    // create d-title
1691    $('.d-title').changeElementType('d-title');
1692  
1693    // create d-byline
1694    var byline = $('<d-byline></d-byline>');
1695    $('.d-byline').replaceWith(byline);
1696  
1697    // create d-article
1698    var article = $('<d-article></d-article>');
1699    $('.d-article').wrap(article).children().unwrap();
1700  
1701    // move posts container into article
1702    $('.posts-container').appendTo($('d-article'));
1703  
1704    // create d-appendix
1705    $('.d-appendix').changeElementType('d-appendix');
1706  
1707    // flag indicating that we have appendix items
1708    var appendix = $('.appendix-bottom').children('h3').length > 0;
1709  
1710    // replace footnotes with <d-footnote>
1711    $('.footnote-ref').each(function(i, val) {
1712      appendix = true;
1713      var href = $(this).attr('href');
1714      var id = href.replace('#', '');
1715      var fn = $('#' + id);
1716      var fn_p = $('#' + id + '>p');
1717      fn_p.find('.footnote-back').remove();
1718      var text = fn_p.html();
1719      var dtfn = $('<d-footnote></d-footnote>');
1720      dtfn.html(text);
1721      $(this).replaceWith(dtfn);
1722    });
1723    // remove footnotes
1724    $('.footnotes').remove();
1725  
1726    // move refs into #references-listing
1727    $('#references-listing').replaceWith($('#refs'));
1728  
1729    $('h1.appendix, h2.appendix').each(function(i, val) {
1730      $(this).changeElementType('h3');
1731    });
1732    $('h3.appendix').each(function(i, val) {
1733      var id = $(this).attr('id');
1734      $('.d-contents a[href="#' + id + '"]').parent().remove();
1735      appendix = true;
1736      $(this).nextUntil($('h1, h2, h3')).addBack().appendTo($('d-appendix'));
1737    });
1738  
1739    // show d-appendix if we have appendix content
1740    $("d-appendix").css('display', appendix ? 'grid' : 'none');
1741  
1742    // localize layout chunks to just output
1743    $('.layout-chunk').each(function(i, val) {
1744  
1745      // capture layout
1746      var layout = $(this).attr('data-layout');
1747  
1748      // apply layout to markdown level block elements
1749      var elements = $(this).children().not('details, div.sourceCode, pre, script');
1750      elements.each(function(i, el) {
1751        var layout_div = $('<div class="' + layout + '"></div>');
1752        if (layout_div.hasClass('shaded')) {
1753          var shaded_content = $('<div class="shaded-content"></div>');
1754          $(this).wrap(shaded_content);
1755          $(this).parent().wrap(layout_div);
1756        } else {
1757          $(this).wrap(layout_div);
1758        }
1759      });
1760  
1761  
1762      // unwrap the layout-chunk div
1763      $(this).children().unwrap();
1764    });
1765  
1766    // remove code block used to force  highlighting css
1767    $('.distill-force-highlighting-css').parent().remove();
1768  
1769    // remove empty line numbers inserted by pandoc when using a
1770    // custom syntax highlighting theme
1771    $('code.sourceCode a:empty').remove();
1772  
1773    // load distill framework
1774    load_distill_framework();
1775  
1776    // wait for window.distillRunlevel == 4 to do post processing
1777    function distill_post_process() {
1778  
1779      if (!window.distillRunlevel || window.distillRunlevel < 4)
1780        return;
1781  
1782      // hide author/affiliations entirely if we have no authors
1783      var front_matter = JSON.parse($("#distill-front-matter").html());
1784      var have_authors = front_matter.authors && front_matter.authors.length > 0;
1785      if (!have_authors)
1786        $('d-byline').addClass('hidden');
1787  
1788      // article with toc class
1789      $('.d-contents').parent().addClass('d-article-with-toc');
1790  
1791      // strip links that point to #
1792      $('.authors-affiliations').find('a[href="#"]').removeAttr('href');
1793  
1794      // add orcid ids
1795      $('.authors-affiliations').find('.author').each(function(i, el) {
1796        var orcid_id = front_matter.authors[i].orcidID;
1797        if (orcid_id) {
1798          var a = $('<a></a>');
1799          a.attr('href', 'https://orcid.org/' + orcid_id);
1800          var img = $('<img></img>');
1801          img.addClass('orcid-id');
1802          img.attr('alt', 'ORCID ID');
1803          img.attr('src','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMjA4MDI1MjA2ODExOTk0QzkzNTEzRjZEQTg1NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozM0NDOEJGNEZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozM0NDOEJGM0ZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDN0YxMTc0MDcyMDY4MTE5NUZFRDc5MUM2MUUwNEREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU3Q0QyMDgwMjUyMDY4MTE5OTRDOTM1MTNGNkRBODU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+84NovQAAAR1JREFUeNpiZEADy85ZJgCpeCB2QJM6AMQLo4yOL0AWZETSqACk1gOxAQN+cAGIA4EGPQBxmJA0nwdpjjQ8xqArmczw5tMHXAaALDgP1QMxAGqzAAPxQACqh4ER6uf5MBlkm0X4EGayMfMw/Pr7Bd2gRBZogMFBrv01hisv5jLsv9nLAPIOMnjy8RDDyYctyAbFM2EJbRQw+aAWw/LzVgx7b+cwCHKqMhjJFCBLOzAR6+lXX84xnHjYyqAo5IUizkRCwIENQQckGSDGY4TVgAPEaraQr2a4/24bSuoExcJCfAEJihXkWDj3ZAKy9EJGaEo8T0QSxkjSwORsCAuDQCD+QILmD1A9kECEZgxDaEZhICIzGcIyEyOl2RkgwAAhkmC+eAm0TAAAAABJRU5ErkJggg==');
1804          a.append(img);
1805          $(this).append(a);
1806        }
1807      });
1808  
1809      // hide elements of author/affiliations grid that have no value
1810      function hide_byline_column(caption) {
1811        $('d-byline').find('h3:contains("' + caption + '")').parent().css('visibility', 'hidden');
1812      }
1813  
1814      // affiliations
1815      var have_affiliations = false;
1816      for (var i = 0; i<front_matter.authors.length; ++i) {
1817        var author = front_matter.authors[i];
1818        if (author.affiliation !== "&nbsp;") {
1819          have_affiliations = true;
1820          break;
1821        }
1822      }
1823      if (!have_affiliations)
1824        $('d-byline').find('h3:contains("Affiliations")').css('visibility', 'hidden');
1825  
1826      // published date
1827      if (!front_matter.publishedDate)
1828        hide_byline_column("Published");
1829  
1830      // document object identifier
1831      var doi = $('d-byline').find('h3:contains("DOI")');
1832      var doi_p = doi.next().empty();
1833      if (!front_matter.doi) {
1834        // if we have a citation and valid citationText then link to that
1835        if ($('#citation').length > 0 && front_matter.citationText) {
1836          doi.html('Citation');
1837          $('<a href="#citation"></a>')
1838            .text(front_matter.citationText)
1839            .appendTo(doi_p);
1840        } else {
1841          hide_byline_column("DOI");
1842        }
1843      } else {
1844        $('<a></a>')
1845           .attr('href', "https://doi.org/" + front_matter.doi)
1846           .html(front_matter.doi)
1847           .appendTo(doi_p);
1848      }
1849  
1850       // change plural form of authors/affiliations
1851      if (front_matter.authors.length === 1) {
1852        var grid = $('.authors-affiliations');
1853        grid.children('h3:contains("Authors")').text('Author');
1854        grid.children('h3:contains("Affiliations")').text('Affiliation');
1855      }
1856  
1857      // remove d-appendix and d-footnote-list local styles
1858      $('d-appendix > style:first-child').remove();
1859      $('d-footnote-list > style:first-child').remove();
1860  
1861      // move appendix-bottom entries to the bottom
1862      $('.appendix-bottom').appendTo('d-appendix').children().unwrap();
1863      $('.appendix-bottom').remove();
1864  
1865      // hoverable references
1866      $('span.citation[data-cites]').each(function() {
1867        var refHtml = $('#ref-' + $(this).attr('data-cites')).html();
1868        window.tippy(this, {
1869          allowHTML: true,
1870          content: refHtml,
1871          maxWidth: 500,
1872          interactive: true,
1873          interactiveBorder: 10,
1874          theme: 'light-border',
1875          placement: 'bottom-start'
1876        });
1877      });
1878  
1879      // clear polling timer
1880      clearInterval(tid);
1881  
1882      // show body now that everything is ready
1883      on_load_complete();
1884    }
1885  
1886    var tid = setInterval(distill_post_process, 50);
1887    distill_post_process();
1888  
1889  }
1890  
1891  function init_downlevel() {
1892  
1893    init_common();
1894  
1895     // insert hr after d-title
1896    $('.d-title').after($('<hr class="section-separator"/>'));
1897  
1898    // check if we have authors
1899    var front_matter = JSON.parse($("#distill-front-matter").html());
1900    var have_authors = front_matter.authors && front_matter.authors.length > 0;
1901  
1902    // manage byline/border
1903    if (!have_authors)
1904      $('.d-byline').remove();
1905    $('.d-byline').after($('<hr class="section-separator"/>'));
1906    $('.d-byline a').remove();
1907  
1908    // remove toc
1909    $('.d-contents').remove();
1910  
1911    // move appendix elements
1912    $('h1.appendix, h2.appendix').each(function(i, val) {
1913      $(this).changeElementType('h3');
1914    });
1915    $('h3.appendix').each(function(i, val) {
1916      $(this).nextUntil($('h1, h2, h3')).addBack().appendTo($('.d-appendix'));
1917    });
1918  
1919  
1920    // inject headers into references and footnotes
1921    var refs_header = $('<h3></h3>');
1922    refs_header.text('References');
1923    $('#refs').prepend(refs_header);
1924  
1925    var footnotes_header = $('<h3></h3');
1926    footnotes_header.text('Footnotes');
1927    $('.footnotes').children('hr').first().replaceWith(footnotes_header);
1928  
1929    // move appendix-bottom entries to the bottom
1930    $('.appendix-bottom').appendTo('.d-appendix').children().unwrap();
1931    $('.appendix-bottom').remove();
1932  
1933    // remove appendix if it's empty
1934    if ($('.d-appendix').children().length === 0)
1935      $('.d-appendix').remove();
1936  
1937    // prepend separator above appendix
1938    $('.d-appendix').before($('<hr class="section-separator" style="clear: both"/>'));
1939  
1940    // trim code
1941    $('pre>code').each(function(i, val) {
1942      $(this).html($.trim($(this).html()));
1943    });
1944  
1945    // move posts-container right before article
1946    $('.posts-container').insertBefore($('.d-article'));
1947  
1948    $('body').addClass('downlevel');
1949  
1950    on_load_complete();
1951  }
1952  
1953  
1954  function init_common() {
1955  
1956    // jquery plugin to change element types
1957    (function($) {
1958      $.fn.changeElementType = function(newType) {
1959        var attrs = {};
1960  
1961        $.each(this[0].attributes, function(idx, attr) {
1962          attrs[attr.nodeName] = attr.nodeValue;
1963        });
1964  
1965        this.replaceWith(function() {
1966          return $("<" + newType + "/>", attrs).append($(this).contents());
1967        });
1968      };
1969    })(jQuery);
1970  
1971    // prevent underline for linked images
1972    $('a > img').parent().css({'border-bottom' : 'none'});
1973  
1974    // mark non-body figures created by knitr chunks as 100% width
1975    $('.layout-chunk').each(function(i, val) {
1976      var figures = $(this).find('img, .html-widget');
1977      if ($(this).attr('data-layout') !== "l-body") {
1978        figures.css('width', '100%');
1979      } else {
1980        figures.css('max-width', '100%');
1981        figures.filter("[width]").each(function(i, val) {
1982          var fig = $(this);
1983          fig.css('width', fig.attr('width') + 'px');
1984        });
1985  
1986      }
1987    });
1988  
1989    // auto-append index.html to post-preview links in file: protocol
1990    // and in rstudio ide preview
1991    $('.post-preview').each(function(i, val) {
1992      if (window.location.protocol === "file:")
1993        $(this).attr('href', $(this).attr('href') + "index.html");
1994    });
1995  
1996    // get rid of index.html references in header
1997    if (window.location.protocol !== "file:") {
1998      $('.distill-site-header a[href]').each(function(i,val) {
1999        $(this).attr('href', $(this).attr('href').replace("index.html", "./"));
2000      });
2001    }
2002  
2003    // add class to pandoc style tables
2004    $('tr.header').parent('thead').parent('table').addClass('pandoc-table');
2005    $('.kable-table').children('table').addClass('pandoc-table');
2006  
2007    // add figcaption style to table captions
2008    $('caption').parent('table').addClass("figcaption");
2009  
2010    // initialize posts list
2011    if (window.init_posts_list)
2012      window.init_posts_list();
2013  
2014    // implmement disqus comment link
2015    $('.disqus-comment-count').click(function() {
2016      window.headroom_prevent_pin = true;
2017      $('#disqus_thread').toggleClass('hidden');
2018      if (!$('#disqus_thread').hasClass('hidden')) {
2019        var offset = $(this).offset();
2020        $(window).resize();
2021        $('html, body').animate({
2022          scrollTop: offset.top - 35
2023        });
2024      }
2025    });
2026  }
2027  
2028  document.addEventListener('DOMContentLoaded', function() {
2029    if (is_downlevel_browser())
2030      init_downlevel();
2031    else
2032      window.addEventListener('WebComponentsReady', init_distill);
2033  });
2034  
2035  </script>
2035
2036  
2037  <!--/radix_placeholder_distill-->
2038  
2038<script src="site_libs/popper-2.6.0/popper.min.js"></script>
2038
2039  <link href="site_libs/tippy-6.2.7/tippy.css" rel="stylesheet" />
2040  <link href="site_libs/tippy-6.2.7/tippy-light-border.css" rel="stylesheet" />
2041  
2041<script src="site_libs/tippy-6.2.7/tippy.umd.min.js"></script>
2041
2042  
2042<script src="site_libs/anchor-4.2.2/anchor.min.js"></script>
2042
2043  
2043<script src="site_libs/bowser-1.9.3/bowser.min.js"></script>
2043
2044  
2044<script src="site_libs/webcomponents-2.0.0/webcomponents.js"></script>
2044
2045  
2045<script src="site_libs/distill-2.2.21/template.v2.js"></script>
2045
2046  <!--radix_placeholder_site_in_header-->
2047  <!--/radix_placeholder_site_in_header-->
2048
2049
2050</head>
2051
2052<body>
2053
2054<!--radix_placeholder_front_matter-->
2055
2056<script id="distill-front-matter" type="text/json">
2057{"title":"About this site","description":"Some additional details","authors":[]}
2058</script>
2058
2059
2060<!--/radix_placeholder_front_matter-->
2061<!--radix_placeholder_navigation_before_body-->
2062<header class="header header--fixed" role="banner">
2063<nav class="distill-site-nav distill-site-header">
2064<div class="nav-left">
2065<a class='title' href='/'>Solimini site</a>
2066<input id="distill-search" class="nav-search hidden" type="text" placeholder="Search..."/>
2067</div>
2068<div class="nav-right">
2069<a href='/'>Home</a>
2070<a href='/my-research'>Research</a>
2071<a href='/insegnamento'>Insegnamento</a>
2072<div class="nav-dropdown">
2073<button class="nav-dropbtn">
2074Corsi R
2075 
2076<span class="down-arrow">&#x25BE;</span>
2077</button>
2078<div class="nav-dropdown-content">
2079<a href='/descrizione-corso'>Descrizione corso</a>
2080<hr/>
2081<a href='/iscrizioni'>Contatti</a>
2082</div>
2083</div>
2084<a href='/about'>About</a>
2085<a href="https://twitter.com/Angelo_Solimini">
2086<i class="fab fa-twitter" aria-hidden="true"></i>
2087</a>
2088<a href="javascript:void(0);" class="nav-toggle">&#9776;</a>
2089</div>
2090</nav>
2091</header>
2092<!--/radix_placeholder_navigation_before_body-->
2093<!--radix_placeholder_site_before_body-->
2094<!--/radix_placeholder_site_before_body-->
2095
2096<div class="d-title">
2097<h1>About this site</h1>
2098<!--radix_placeholder_categories-->
2099<!--/radix_placeholder_categories-->
2100<p>Some additional details</p>
2101</div>
2102
2103
2104<div class="d-article">
2105<p><a href="https://web.uniroma1.it/trasparenza/sites/default/files/cvSolimini_aifinidellapubblicazione.pdf">see full cv</a> (sporadically updated)</p>
2106<p>Full publication list is also available through the <a href="https://iris.uniroma1.it/simple-search?query=&amp;rpp=10&amp;sort_by=bi_sort_2_sort&amp;order=DESC&amp;filter_field_1=author&amp;filter_type_1=contains&amp;filter_value_1=solimini#.YTYXgRMzbPA">Sapienza Iris catalugue</a></p>
2107<div class="sourceCode" id="cb1"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div>
2108<!--radix_placeholder_article_footer-->
2109<!--/radix_placeholder_article_footer-->
2110</div>
2111
2112<div class="d-appendix">
2113</div>
2114
2115
2116<!--radix_placeholder_site_after_body-->
2117<!--/radix_placeholder_site_after_body-->
2118<!--radix_placeholder_appendices-->
2119<div class="appendix-bottom"></div>
2120<!--/radix_placeholder_appendices-->
2121<!--radix_placeholder_navigation_after_body-->
2122<!--/radix_placeholder_navigation_after_body-->
2123
2124</body>
2125
2126</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.