From c258457c9e09269cbb4fff2db4e5fe4a0491077c Mon Sep 17 00:00:00 2001 From: Mu-An Chiou Date: Sun, 26 Apr 2020 23:07:20 -0400 Subject: [PATCH] Add support for expandable file tree with details --- docs/index.html.ejs | 35 +++++++++++++++++++++++++++++++---- style.css | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 4 deletions(-) diff --git a/docs/index.html.ejs b/docs/index.html.ejs index 7ca9d5e..c7990cc 100644 --- a/docs/index.html.ejs +++ b/docs/index.html.ejs @@ -586,6 +586,10 @@ (no class needed on these). This will provide them with a nice dotted border and indentation to illustrate the structure of the tree.

+

+ To create expandable sections, wrap child lists inside of + details elements. +

<%- example(`
  • - JavaScript - +
    + JavaScript +
      +
    • Avoid at all costs
    • +
    • +
      + Unless +
        +
      • Avoid
      • +
      • +
        + At +
          +
        • Avoid
        • +
        • At
        • +
        • All
        • +
        • Cost
        • +
        +
        +
      • +
      • All
      • +
      • Cost
      • +
      +
      +
    • +
    +
  • HTML
  • Special Thanks
  • diff --git a/style.css b/style.css index 2970bd4..4493a41 100644 --- a/style.css +++ b/style.css @@ -490,6 +490,38 @@ ul.tree-view ul > li:last-child::after { background: var(--button-highlight); } +ul.tree-view details { + margin-top: 0; +} + +ul.tree-view details[open] summary { + margin-bottom: 0; +} + +ul.tree-view ul details > summary:before { + margin-left: -22px; + position: relative; + z-index: 1; +} + +ul.tree-view details > summary:before { + text-align: center; + display: block; + float: left; + content: '+'; + border: 1px solid #808080; + width: 8px; + height: 9px; + line-height: 9px; + margin-right: 5px; + padding-left: 1px; + background-color: #fff; +} + +ul.tree-view details[open] > summary:before { + content: '-' +} + pre { display: block; background: var(--button-highlight);