hpip 0.1.2

Host These Things Please - a modern async HTTP file server
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="generator" content="{generator}">
    <meta name="description" content="Directory listing of {0}">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="color-scheme" content="light dark">
    <link rel="icon" href="{favicon}" />
    <script>{adjust_tz}</script>
    {1}{2}{3}
    <title>Directory listing — {0}</title>
    <style>
      * {
        box-sizing: border-box;
      }

      body {
        margin: 8px;
        overflow-wrap: break-word;
        word-wrap: break-word;
      }

      abbr[title] {
        border-bottom: none;
        text-decoration: none;
      }

      table {
        border-collapse: collapse;
        width: 100%;
      }

      td:nth-child(2) {
        white-space: pre-wrap;
      }

      td:nth-child(2), td:nth-child(3) {
        padding-right: 5pt;
      }

      td:nth-child(3) a, td:nth-child(4) a, td:nth-child(5) a {
        color: inherit;
      }

      td:nth-child(4) {
        text-align: right;
      }

      td:nth-child(5) {
        padding-left: 5pt;
      }

      td:nth-child(5) a {
        display: inline-block;
      }

      td > a {
        display: block;
        text-decoration: none;
      }

      td > input {
        height: 1em;
      }

      tr:hover, tr:target {
        background-color: #80808080;
      }

      tr {
        border-bottom: solid 1px #ccc;
      }

      tr:last-child {
        border-bottom: none;
      }

      @media screen and (max-width: 600px) {
        table, thead, tbody, tr, th, td {
          display: block;
        }

        thead tr {
          display: none;
        }

        tr {
          padding: 8px 0;
          border-bottom: solid 1px #ccc;
        }

        td {
          padding: 2px 0;
        }

        td:first-child {
          display: none;
        }

        td:nth-child(2) {
          padding-right: 0;
          font-size: 1.05em;
        }

        td:nth-child(2) a {
          padding: 4px 0;
        }

        td:nth-child(3) {
          padding-right: 0;
          font-size: 0.85em;
          opacity: 0.7;
          display: inline;
        }

        td:nth-child(4) {
          text-align: left;
          font-size: 0.85em;
          opacity: 0.7;
          display: inline;
        }

        td:nth-child(4)::before {
          content: "";
        }

        td:nth-child(5) {
          padding-left: 0;
          padding-top: 4px;
        }

        td:nth-child(5) a {
          padding: 6px 10px;
          font-size: 0.9em;
        }
      }

      .dir_icon:before {
        content: url('{dir_icon}');
      }

      .file_icon:before {
        content: url('{file_icon}');
      }

      .file_binary_icon:before {
        content: url('{file_binary_icon}');
      }

      .file_image_icon:before {
        content: url('{file_image_icon}');
      }

      .file_text_icon:before {
        content: url('{file_text_icon}');
      }

      .back_arrow_icon:before {
        content: url('{back_arrow_icon}');
      }

      .new_dir_icon:before {
        content: url('{new_dir_icon}');
      }

      .delete_file_icon:before {
        content: url('{delete_file_icon}');
      }

      .rename_icon:before {
        content: url('{rename_icon}');
      }

      .confirm_icon:before {
        content: url('{confirm_icon}');
      }

      .delete_file_icon, .rename_icon, .confirm_icon {
        font-size: 0;
      }

      .has-log {
        font-size: inherit;
      }
    </style>
  </head>
  <body>
    <p style="margin-bottom: 0; overflow-wrap: break-word;">The requested directory {0} contains the following files:</p>
    <table>
      <tr><th></th> <th>Name</th> <th>Last modified (UTC)</th> <th>Size</th> {7}</tr>
      {4}
      {8}
      {5}
    </table>
    <p></p>
    {6}
    {9}
    <hr />
    <p>
      <a href="//github.com/thecoshman/http">Host These Things Please</a> — a basic HTTP server for hosting a folder fast and simply
    </p>
  </body>
</html>