static_index.html 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. {% load static %}
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <title>Archived Sites</title>
  6. <meta charset="utf-8" name="viewport" content="width=device-width, initial-scale=1">
  7. <style>
  8. :root {
  9. --bg-main: #efefef;
  10. --accent-1: #aa1e55;
  11. --accent-2: #ffebeb;
  12. --accent-3: #efefef;
  13. --text-1: #1c1c1c;
  14. --text-2: #eaeaea;
  15. --text-main: #1a1a1a;
  16. --font-main: "Gill Sans", Helvetica, sans-serif;
  17. }
  18. /* Dark Mode (WIP) */
  19. /*
  20. @media (prefers-color-scheme: dark) {
  21. :root {
  22. --accent-2: hsl(160, 100%, 96%);
  23. --text-1: #eaeaea;
  24. --text-2: #1a1a1a;
  25. --bg-main: #101010;
  26. }
  27. #table-bookmarks_wrapper,
  28. #table-bookmarks_wrapper img,
  29. tbody td:nth-child(3),
  30. tbody td:nth-child(3) span,
  31. footer {
  32. filter: invert(100%);
  33. }
  34. }*/
  35. html, body {
  36. width: 100%;
  37. height: 100%;
  38. font-size: 18px;
  39. font-weight: 200;
  40. text-align: center;
  41. margin: 0px;
  42. padding: 0px;
  43. font-family: var(--font-main);
  44. }
  45. .header-top small {
  46. font-weight: 200;
  47. color: var(--accent-3);
  48. }
  49. .header-top {
  50. width: 100%;
  51. height: auto;
  52. min-height: 40px;
  53. margin: 0px;
  54. text-align: center;
  55. color: white;
  56. font-size: calc(11px + 0.84vw);
  57. font-weight: 200;
  58. padding: 4px 4px;
  59. border-bottom: 3px solid var(--accent-1);
  60. background-color: var(--accent-1);
  61. }
  62. input[type=search] {
  63. width: 22vw;
  64. border-radius: 4px;
  65. border: 1px solid #aeaeae;
  66. padding: 3px 5px;
  67. }
  68. .nav > div {
  69. min-height: 30px;
  70. }
  71. .header-top a {
  72. text-decoration: none;
  73. color: rgba(0,0,0,0.6);
  74. }
  75. .header-top a:hover {
  76. text-decoration: none;
  77. color: rgba(0,0,0,0.9);
  78. }
  79. .header-top .col-lg-4 {
  80. text-align: center;
  81. padding-top: 4px;
  82. padding-bottom: 4px;
  83. }
  84. .header-archivebox img {
  85. display: inline-block;
  86. margin-right: 3px;
  87. height: 30px;
  88. margin-left: 12px;
  89. margin-top: -4px;
  90. margin-bottom: 2px;
  91. }
  92. .header-archivebox img:hover {
  93. opacity: 0.5;
  94. }
  95. #table-bookmarks_length, #table-bookmarks_filter {
  96. padding-top: 12px;
  97. opacity: 0.8;
  98. padding-left: 24px;
  99. padding-right: 22px;
  100. margin-bottom: -16px;
  101. }
  102. table {
  103. padding: 6px;
  104. width: 100%;
  105. }
  106. table thead th {
  107. font-weight: 400;
  108. }
  109. table tr {
  110. height: 35px;
  111. }
  112. tbody tr:nth-child(odd) {
  113. background-color: var(--accent-2) !important;
  114. }
  115. table tr td {
  116. white-space: nowrap;
  117. overflow: hidden;
  118. /*padding-bottom: 0.4em;*/
  119. /*padding-top: 0.4em;*/
  120. padding-left: 2px;
  121. text-align: center;
  122. }
  123. table tr td a {
  124. text-decoration: none;
  125. }
  126. table tr td img, table tr td object {
  127. display: inline-block;
  128. margin: auto;
  129. height: 24px;
  130. width: 24px;
  131. padding: 0px;
  132. padding-right: 5px;
  133. vertical-align: middle;
  134. margin-left: 4px;
  135. }
  136. #table-bookmarks {
  137. width: 100%;
  138. overflow-y: scroll;
  139. table-layout: fixed;
  140. }
  141. .dataTables_wrapper {
  142. background-color: #fafafa;
  143. }
  144. table tr a span[data-archived~=False] {
  145. opacity: 0.4;
  146. }
  147. .files-spinner {
  148. height: 15px;
  149. width: auto;
  150. opacity: 0.5;
  151. vertical-align: -2px;
  152. }
  153. .in-progress {
  154. display: none;
  155. }
  156. tr td a.favicon img {
  157. padding-left: 6px;
  158. padding-right: 12px;
  159. vertical-align: -4px;
  160. }
  161. tr td a.title {
  162. font-size: 1.4em;
  163. text-decoration:none;
  164. color:black;
  165. }
  166. tr td a.title small {
  167. background-color: var(--accent-3);
  168. border-radius: 4px;
  169. float:right
  170. }
  171. input[type=search]::-webkit-search-cancel-button {
  172. -webkit-appearance: searchfield-cancel-button;
  173. }
  174. .title-col {
  175. text-align: left;
  176. }
  177. .title-col a {
  178. color: black;
  179. }
  180. </style>
  181. <link rel="stylesheet" href="{% static 'bootstrap.min.css' %}">
  182. <link rel="stylesheet" href="{% static 'jquery.dataTables.min.css' %}"/>
  183. <script src="{% static 'jquery.min.js' %}"></script>
  184. <script src="{% static 'jquery.dataTables.min.js' %}"></script>
  185. <script>
  186. document.addEventListener('error', function(e) {
  187. e.target.style.opacity = 0;
  188. }, true)
  189. jQuery(document).ready(function() {
  190. jQuery('#table-bookmarks').DataTable({
  191. stateSave: true, // save state (filtered input, number of entries shown, etc) in localStorage
  192. dom: '<lf<t>ip>', // how to show the table and its helpers (filter, etc) in the DOM
  193. order: [[0, 'desc']],
  194. iDisplayLength: 100,
  195. });
  196. });
  197. </script>
  198. </head>
  199. <body>
  200. <header>
  201. <div class="header-top container-fluid">
  202. <div class="row nav">
  203. <div class="col-sm-2">
  204. <a href="/" class="header-archivebox">
  205. <img src="{% static 'archive.png' %}" alt="Logo"/>
  206. ArchiveBox: Index
  207. </a>
  208. </div>
  209. <div class="col-sm-10" style="text-align: right">
  210. <a href="/add/">Add Links</a> &nbsp; | &nbsp;
  211. <a href="/admin/core/snapshot/">Admin</a> &nbsp; | &nbsp;
  212. <a href="https://github.com/ArchiveBox/ArchiveBox/wiki">Docs</a>
  213. </div>
  214. </div>
  215. </div>
  216. </header>
  217. <table id="table-bookmarks">
  218. <thead>
  219. <tr>
  220. <th style="width: 100px;">Bookmarked</th>
  221. <th style="width: 26vw;">Saved Link ({{num_links}})</th>
  222. <th style="width: 50px">Files</th>
  223. <th style="width: 16vw;whitespace:nowrap;overflow-x:hidden;">Original URL</th>
  224. </tr>
  225. </thead>
  226. <tbody>
  227. {% for link in links %}
  228. {% include 'index_row.html' with link=link %}
  229. {% endfor %}
  230. </tbody>
  231. </table>
  232. <footer>
  233. <br/>
  234. <center>
  235. <small>
  236. Archive created using <a href="https://github.com/ArchiveBox/ArchiveBox" title="Github">ArchiveBox</a>
  237. version <a href="https://github.com/ArchiveBox/ArchiveBox/releases/tag/v{{version}}" title="View source code and release info">v{{version}}</a> &nbsp; | &nbsp;
  238. Download index as <a href="index.json" title="JSON summary of archived links.">JSON</a>
  239. <br/><br/>
  240. {{FOOTER_INFO}}
  241. </small>
  242. </center>
  243. <br/>
  244. </footer>
  245. </body>
  246. </html>