2021-04-10 08:19:30 +00:00
{% load tz core_tags %}
2020-12-02 21:56:16 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< title > {{title}}< / title >
< meta charset = "utf-8" name = "viewport" content = "width=device-width, initial-scale=1" >
2021-04-06 05:13:31 +00:00
< style >
/*!
* Bootstrap v4.0.0 (https://getbootstrap.com)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:no
< / style >
2020-12-02 21:56:16 +00:00
< style >
html, body {
width: 100%;
height: 100%;
background-color: #ddd;
}
header {
background-color: #aa1e55;
}
small {
font-weight: 200;
}
header a:hover {
text-decoration: none;
}
.header-top {
width: 100%;
height: auto;
min-height: 40px;
margin: 0px;
text-align: center;
2021-04-10 08:19:30 +00:00
color: #f6f6f6;
font-size: calc(10px + 0.84vw);
2020-12-02 21:56:16 +00:00
font-weight: 200;
2021-04-10 08:19:30 +00:00
padding: 3px 4px;
2020-12-02 21:56:16 +00:00
background-color: #aa1e55;
}
.nav > div {
min-height: 30px;
2021-04-10 08:19:30 +00:00
line-height: 1.2;
2020-12-02 21:56:16 +00:00
}
.header-top a {
text-decoration: none;
color: rgba(0,0,0,0.6);
}
.header-top a:hover {
text-decoration: none;
color: rgba(0,0,0,0.9);
}
.header-top .col-lg-4 {
text-align: center;
padding-top: 4px;
padding-bottom: 4px;
}
.header-archivebox img {
display: inline-block;
margin-right: 3px;
height: 30px;
margin-left: 12px;
margin-top: -4px;
margin-bottom: 2px;
}
.header-archivebox img:hover {
opacity: 0.5;
}
2021-04-10 08:19:30 +00:00
header small code {
2020-12-02 21:56:16 +00:00
white-space: nowrap;
font-weight: 200;
2021-04-10 08:19:30 +00:00
display: block;
margin-top: -1px;
font-size: 13px;
opacity: 0.8;
user-select: all;
2020-12-02 21:56:16 +00:00
}
.header-url img {
height: 20px;
vertical-align: -2px;
margin-right: 4px;
}
2021-01-31 03:04:24 +00:00
.header-toggle {
line-height: 14px;
font-size: 70px;
vertical-align: -8px;
}
2020-12-02 21:56:16 +00:00
.info-row {
margin-top: 2px;
margin-bottom: 5px;
}
.info-row .alert {
margin-bottom: 0px;
}
2021-04-10 08:19:30 +00:00
.row.header-bottom {
margin-left: -10px;
margin-right: -10px;
}
.header-bottom .col-lg-2 {
padding-left: 4px;
padding-right: 4px;
}
2021-01-31 03:04:24 +00:00
.header-bottom-frames .card {
2020-12-02 21:56:16 +00:00
box-shadow: 2px 3px 14px 0px rgba(0,0,0,0.02);
2021-04-10 08:19:30 +00:00
margin-bottom: 5px;
2021-01-31 03:04:24 +00:00
border: 1px solid rgba(0,0,0,3);
2021-04-10 08:19:30 +00:00
border-radius: 10px;
2021-01-31 03:04:24 +00:00
background-color: black;
2021-04-10 08:19:30 +00:00
overflow: hidden;
2020-12-02 21:56:16 +00:00
}
.card h4 {
font-size: 1.4vw;
}
.card-body {
2021-04-10 08:19:30 +00:00
font-size: 14px;
2021-01-31 03:04:24 +00:00
padding: 13px 10px;
2021-04-10 08:19:30 +00:00
padding-bottom: 1px;
2021-01-31 03:04:24 +00:00
/* padding-left: 3px; */
/* padding-right: 3px; */
/* padding-bottom: 3px; */
2021-04-10 08:19:30 +00:00
line-height: 1;
2020-12-02 21:56:16 +00:00
word-wrap: break-word;
max-height: 102px;
overflow: hidden;
2021-04-10 08:19:30 +00:00
text-overflow: ellipsis;
2021-01-31 03:04:24 +00:00
background-color: #1a1a1a;
color: #d3d3d3;
2020-12-02 21:56:16 +00:00
}
.card-title {
margin-bottom: 4px;
}
.card-img-top {
border: 0px;
padding: 0px;
margin: 0px;
overflow: hidden;
opacity: 0.8;
border-top: 1px solid rgba(0,0,0,0);
border-radius: 4px;
border-bottom: 1px solid rgba(0,0,0,0);
height: 430px;
width: 405%;
margin-bottom: -330px;
background-color: #333;
margin-left: -1%;
margin-right: -1%;
transform: scale(0.25);
transform-origin: 0 0;
}
.full-page-iframe {
border-top: 1px solid #ddd;
width: 100%;
height: 69vh;
margin: 0px;
border: 0px;
border-top: 3px solid #aa1e55;
}
.card.selected-card {
2021-04-10 08:19:30 +00:00
border: 2px solid orange;
2020-12-02 21:56:16 +00:00
box-shadow: 0px -6px 13px 1px rgba(0,0,0,0.05);
}
.iframe-large {
height: calc(100% - 40px);
}
img.external {
height: 30px;
margin-right: -10px;
padding: 3px;
border-radius: 4px;
vertical-align: middle;
border: 4px solid rgba(0,0,0,0);
}
img.external:hover {
border: 4px solid green;
}
.screenshot {
background-color: #333;
transform: none;
width: 100%;
min-height: 100px;
max-height: 100px;
margin-bottom: 0px;
object-fit: cover;
object-position: top center;
}
.header-bottom {
border-top: 1px solid rgba(170, 30, 85, 0.9);
2021-04-10 08:19:30 +00:00
padding-bottom: 1px;
2020-12-02 21:56:16 +00:00
border-bottom: 5px solid rgb(170, 30, 85);
margin-bottom: -1px;
border-radius: 4px;
background-color: rgba(23, 22, 22, 0.88);
width: 98%;
border: 1px solid rgba(0,0,0,0.2);
box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
2021-01-31 03:04:24 +00:00
margin-top: 0px;
2020-12-02 21:56:16 +00:00
}
.header-bottom-info {
color: #6f6f6f;
2021-01-31 03:04:24 +00:00
padding-top: 0px;
padding-bottom: 0px;
margin: 0px -15px;
2020-12-02 21:56:16 +00:00
}
.header-bottom-info > div {
text-align: center;
}
.header-bottom-info h5 {
font-size: 1.1em;
font-weight: 200;
margin-top: 3px;
margin-bottom: 3px;
color: rgba(255, 255, 255, 0.74);
}
.info-chunk {
width: auto;
2021-04-10 08:19:30 +00:00
display: inline-block;
2020-12-02 21:56:16 +00:00
text-align: center;
2021-04-10 08:19:30 +00:00
margin: 8px 4px;
2020-12-02 21:56:16 +00:00
vertical-align: top;
2021-04-10 08:19:30 +00:00
font-size: 14px;
2020-12-02 21:56:16 +00:00
}
.info-chunk .badge {
margin-top: 5px;
}
.header-bottom-frames .card-title {
2021-01-31 03:04:24 +00:00
width: 100%;
text-align: center;
2021-04-10 08:19:30 +00:00
font-size: 17px;
margin-bottom: 0px;
2021-01-31 03:04:24 +00:00
display: inline-block;
color: #d3d3d3;
font-weight: 200;
2021-04-10 08:19:30 +00:00
vertical-align: 3px;
2020-12-02 21:56:16 +00:00
}
.header-bottom-frames .card-text {
2021-01-31 03:04:24 +00:00
width: 100%;
text-align: center;
2020-12-02 21:56:16 +00:00
font-size: 0.9em;
2021-01-31 03:04:24 +00:00
display: inline-block;
position: relative;
top: -11px;
}
.card-text code {
padding: .2rem .4rem;
font-size: 90%;
color: #bd4147;
background-color: #101010;
border-radius: .25rem;
2020-12-02 21:56:16 +00:00
}
@media(max-width: 1092px) {
iframe {
display: none;
}
}
@media(max-width: 728px) {
.card h4 {
font-size: 5vw;
}
.card-body {
font-size: 4vw;
}
.card {
margin-bottom: 5px;
}
header > h1 > a.header-url, header > h1 > a.header-archivebox {
display: none;
}
}
< / style >
< / head >
< body >
< header >
< div class = "header-top container-fluid" >
< div class = "row nav" >
2021-04-10 08:19:30 +00:00
< div class = "col-lg-2" style = "line-height: 50px; vertical-align: middle" >
2020-12-02 21:56:16 +00:00
< a href = "../../index.html" class = "header-archivebox" title = "Go to Main Index..." >
< img src = "../../static/archive.png" alt = "Archive Icon" >
ArchiveBox
< / a >
< / div >
< div class = "col-lg-8" >
2021-01-31 03:04:24 +00:00
< img src = "favicon.ico" onerror = "this.style.opacity=0" alt = "Favicon" >
2020-12-02 21:56:16 +00:00
2021-02-18 07:34:56 +00:00
{{title|safe}}
2020-12-02 21:56:16 +00:00
< a href = "#" class = "header-toggle" > ▾< / a >
< small >
< a href = "{{url}}" class = "header-url" title = "{{url}}" >
2021-04-10 08:19:30 +00:00
< code > {{url}}< / code >
2020-12-02 21:56:16 +00:00
< / a >
< / small >
< / div >
< / div >
< / div >
< div class = "header-bottom container-fluid" >
< div class = "row header-bottom-info" >
< div class = "col-lg-4" >
2021-04-10 08:19:30 +00:00
< div title = "Date bookmarked or imported" class = "info-chunk" title = "UTC Timezone {{timestamp}}" >
2020-12-02 21:56:16 +00:00
< h5 > Added< / h5 >
{{bookmarked_date}}
< / div >
2021-04-10 08:19:30 +00:00
< div title = "Date first archived" class = "info-chunk" title = "UTC Timezone" >
2020-12-02 21:56:16 +00:00
< h5 > First Archived< / h5 >
{{oldest_archive_date}}
< / div >
2021-04-10 08:19:30 +00:00
< div title = "Date last checked" class = "info-chunk" title = "UTC Timezone" >
2020-12-02 21:56:16 +00:00
< h5 > Last Checked< / h5 >
{{updated_date}}
< / div >
< / div >
< div class = "col-lg-4" >
2021-04-10 08:19:30 +00:00
< div class = "info-chunk" style = "max-width: 280px" >
< h5 > Tags < small title = "Auto-guessed content type" > ({{extension}})< / small > < / h5 >
{% for tag in tags_str|split:',' %}
< div class = "badge badge-info" style = "word-break: break-all;" > {{tag}}< / div >
{% endfor %}
2020-12-02 21:56:16 +00:00
< / div >
< div class = "info-chunk" >
< h5 > Status< / h5 >
< div class = "badge badge-{{status_color}}" > {{status}}< / div >
< / div >
< div class = "info-chunk" >
< h5 > Saved< / h5 >
2021-04-10 08:19:30 +00:00
✅ {{num_outputs}}
2020-12-02 21:56:16 +00:00
< / div >
< div class = "info-chunk" >
< h5 > Errors< / h5 >
2021-04-10 08:19:30 +00:00
❌ {{num_failures}}
2020-12-02 21:56:16 +00:00
< / div >
< div class = "info-chunk" >
< h5 > Size< / h5 >
{{size}}
< / div >
< / div >
< div class = "col-lg-4" >
< div class = "info-chunk" >
2021-04-10 08:19:30 +00:00
< h5 > 🗃 Snapshot: < a href = "/admin/core/snapshot/{{snapshot_id}}/change/" > < code style = "color: rgba(255,255,255,0.6); font-weight: 200; font-size: 12px; background-color: #1a1a1a" > < b > [{{timestamp}}]< / b > < small > {{snapshot_id|truncatechars:24}}< / small > < / code > < / a > < / h5 >
2020-12-02 21:56:16 +00:00
< a href = "index.json" title = "JSON summary of archived link." > JSON< / a > |
< a href = "warc/" title = "Any WARC archives for the page" > WARC< / a > |
< a href = "media/" title = "Audio, Video, and Subtitle files." > Media< / a > |
< a href = "git/" title = "Any git repos at the url" > Git< / a > |
2021-02-18 13:04:50 +00:00
< a href = "/admin/core/snapshot/?id__startswith={{snapshot_id}}" title = "Go to the Snapshot admin to update, overwrite, or delete this Snapshot" > Actions< / a > |
2021-02-18 07:35:11 +00:00
< a href = "/admin/core/snapshot/{{snapshot_id}}/change/" title = "Edit this snapshot in the Admin UI" > Admin< / a > |
2021-02-16 20:55:07 +00:00
< a href = "." title = "Webserver-provided index of files directory." > See all files...< / a > < br / >
2020-12-02 21:56:16 +00:00
< / div >
< / div >
< / div >
< div class = "row header-bottom-frames" >
2021-01-31 03:04:24 +00:00
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card selected-card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{singlefile_path}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2021-01-31 03:04:24 +00:00
< div class = "card-body" >
< a href = "{{singlefile_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./singlefile.html< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
2021-01-31 03:04:24 +00:00
< a href = "{{singlefile_path}}" target = "preview" > < h4 class = "card-title" > Chrome > SingleFile< / h4 > < / a >
< / div >
2020-12-02 21:56:16 +00:00
< / div >
< / div >
2021-01-31 03:04:24 +00:00
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top pdf-frame" src = "{{pdf_path}}#toolbar=0" scrolling = "no" loading = "lazy" > < / iframe >
2020-12-02 21:56:16 +00:00
< div class = "card-body" >
2021-01-31 03:04:24 +00:00
< a href = "{{pdf_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./output.pdf< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
2021-01-31 03:04:24 +00:00
< a href = "{{pdf_path}}" target = "preview" id = "pdf-btn" > < h4 class = "card-title" > Chrome > PDF< / h4 > < / a >
2020-12-02 21:56:16 +00:00
< / div >
< / div >
< / div >
2021-01-31 03:04:24 +00:00
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card" >
2021-01-31 03:04:24 +00:00
< img class = "card-img-top" src = "{{screenshot_path}}" onerror = "this.style.opacity=0.2" / >
2020-12-02 21:56:16 +00:00
< div class = "card-body" >
2021-01-31 03:04:24 +00:00
< a href = "{{screenshot_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./screenshot.png< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
2021-01-31 03:04:24 +00:00
< a href = "{{screenshot_path}}" target = "preview" > < h4 class = "card-title" > Chrome > Screenshot< / h4 > < / a >
2020-12-02 21:56:16 +00:00
< / div >
< / div >
< / div >
2021-01-31 03:04:24 +00:00
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{archive_url}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2021-01-31 03:04:24 +00:00
< div class = "card-body" >
< a href = "{{archive_url}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./{{domain}}< / code > < / p >
< / a >
< a href = "{{archive_url}}" target = "preview" > < h4 class = "card-title" > Wget > HTML< / h4 > < / a >
< / div >
< / div >
< / div >
{% if SAVE_ARCHIVE_DOT_ORG %}
< div class = "col-lg-2" >
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{archive_org_path}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2020-12-02 21:56:16 +00:00
< div class = "card-body" >
2021-01-31 03:04:24 +00:00
< a href = "{{archive_org_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > 🌐 web.archive.org/web/...< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
2021-02-16 01:55:22 +00:00
< a href = "{{archive_org_path}}" target = "preview" id = "archive_dot_org-btn" > < h4 class = "card-title" > Archive.Org< / h4 > < / a >
2020-12-02 21:56:16 +00:00
< / div >
< / div >
< / div >
2021-01-31 03:04:24 +00:00
{% endif %}
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{url}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2020-12-02 21:56:16 +00:00
< div class = "card-body" >
2021-01-31 03:04:24 +00:00
< a href = "{{url}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > 🌐 {{domain}}< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
2021-02-16 01:55:22 +00:00
< a href = "{{url}}" target = "preview" id = "original-btn" > < h4 class = "card-title" > Original< / h4 > < / a >
2020-12-02 21:56:16 +00:00
< / div >
< / div >
< / div >
2021-01-31 03:04:24 +00:00
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{headers_path}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2020-12-02 21:56:16 +00:00
< div class = "card-body" >
2021-01-31 03:04:24 +00:00
< a href = "{{headers_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./headers.json< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
2021-01-31 03:04:24 +00:00
< a href = "{{headers_path}}" target = "preview" > < h4 class = "card-title" > Headers< / h4 > < / a >
2020-12-02 21:56:16 +00:00
< / div >
< / div >
< / div >
2021-01-31 03:04:24 +00:00
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{dom_path}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2020-12-02 21:56:16 +00:00
< div class = "card-body" >
2021-01-31 03:04:24 +00:00
< a href = "{{dom_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./output.html< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
< a href = "{{dom_path}}" target = "preview" > < h4 class = "card-title" > Chrome > HTML< / h4 > < / a >
< / div >
< / div >
< / div >
2021-01-31 03:04:24 +00:00
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{readability_path}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2020-12-02 21:56:16 +00:00
< div class = "card-body" >
2021-01-31 03:04:24 +00:00
< a href = "{{readability_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./readability/content.html< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
< a href = "{{readability_path}}" target = "preview" > < h4 class = "card-title" > Readability< / h4 > < / a >
< / div >
< / div >
< / div >
< br / >
2021-01-31 03:04:24 +00:00
< div class = "col-lg-2" >
2020-12-02 21:56:16 +00:00
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{mercury_path}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2020-12-02 21:56:16 +00:00
< div class = "card-body" >
2021-01-31 03:04:24 +00:00
< a href = "{{mercury_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./mercury/content.html< / code > < / p >
< / a >
< a href = "{{mercury_path}}" target = "preview" > < h4 class = "card-title" > Mercury< / h4 > < / a >
< / div >
< / div >
< / div >
< div class = "col-lg-2" >
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{media_path}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2021-01-31 03:04:24 +00:00
< div class = "card-body" >
< a href = "{{media_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./media/*.mp4< / code > < / p >
< / a >
< a href = "{{media_path}}" target = "preview" > < h4 class = "card-title" > Media< / h4 > < / a >
< / div >
< / div >
< / div >
< div class = "col-lg-2" >
< div class = "card" >
2021-04-10 08:19:30 +00:00
< iframe class = "card-img-top" src = "{{git_path}}" sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" scrolling = "no" loading = "lazy" > < / iframe >
2021-01-31 03:04:24 +00:00
< div class = "card-body" >
< a href = "{{git_path}}" title = "Open in new tab..." target = "_blank" rel = "noopener" >
< p class = "card-text" > < code > ./git/*.git< / code > < / p >
2020-12-02 21:56:16 +00:00
< / a >
2021-01-31 03:04:24 +00:00
< a href = "{{git_path}}" target = "preview" > < h4 class = "card-title" > Git< / h4 > < / a >
2020-12-02 21:56:16 +00:00
< / div >
< / div >
< / div >
< / div >
< / div >
< / header >
2021-02-16 01:55:22 +00:00
< iframe sandbox = "allow-same-origin allow-top-navigation-by-user-activation allow-scripts allow-forms" class = "full-page-iframe" src = "{{singlefile_path}}" name = "preview" > < / iframe >
2020-12-02 21:56:16 +00:00
2021-04-06 05:13:31 +00:00
< script >
/*! jQuery v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
!function(a,b){"use strict";"object"==typeof module& & "object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a< 0 ? this [ a + this . length ] :this [ a ] } , pushStack:function ( a ) { var b = r.merge(this.constructor(),a);return b . prevObject = this,b},each:function(a){return r . each ( this , a ) } , map:function ( a ) { return this . pushStack ( r . map ( this , function ( b , c ) { return a . call ( b , c , b ) } ) ) } , slice:function ( ) { return this . pushStack ( f . apply ( this , arguments ) ) } , first:function ( ) { return this . eq ( 0 ) } , last:function ( ) { return this . eq ( -1 ) } , eq:function ( a ) { var b = this.length,c=+a+(a<0?b:0);return this . pushStack ( c > =0& & c< b ? [ this [ c ] ] : [ ] ) } , end:function ( ) { return this . prevObject | | this . constructor ( ) } , push:h , sort:c . sort , splice:c . splice } , r . extend = r.fn.extend=function(){var a , b , c , d , e , f , g = arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g & & ( j = g,g=arguments[h]||{},h++),"object"==typeof g | | r . isFunction ( g ) | | ( g = {}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a ) c = g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0 ! = = d & & ( g [ b ] = d ) ) ; return g } , r . extend ( { expando: " jQuery " + ( q + Math . random ( ) ) . replace ( / \ D / g , " " ) , isReady: ! 0 , error:function ( a ) { throw new Error ( a ) } , noop:function ( ) { } , isFunction:function ( a ) { return " function " = = = r . type ( a ) } , isWindow:function ( a ) { return null ! = a & & a = ==a.window},isNumeric:function(a){var b = r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b , c ; return ! ( ! a | | " [ object Object ] " ! = = k . call ( a ) ) & & ( ! ( b = e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c & & m . call ( c ) = = = n ) ) } , isEmptyObject:function ( a ) { var b ; for ( b in a ) return ! 1 ; return ! 0 } , type:function ( a ) { return null = =a?a+"":"object"==typeof a | | " function " = = typeof a ? j [ k . call ( a ) ] | | " object " :typeof a } , globalEval:function ( a ) { p ( a ) } , camelCase:function ( a ) { return a . replace ( t , " ms- " ) . replace ( u , v ) } , each:function ( a , b ) { var c , d = 0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for ( d in a ) if ( b . call ( a [ d ] , d , a [ d ] ) = = = ! 1 ) break ; return a } , trim:function ( a ) { return null = =a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c = b||[];return null ! = a & & ( w ( Object ( a ) ) ? r . merge ( c , " string " = = typeof a ? [ a ] :a ) :h . call ( c , a ) ) , c } , inArray:function ( a , b , c ) { return null = =b?-1:i.call(b,a,c)},merge:function(a,b){for(var c = +b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a . length = e,a},grep:function(a,b,c){for(var d , e = [],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e } , map:function ( a , b , c ) { var d , e , f = 0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for ( f in a ) e = b(a[f],f,c),null!=e&&h.push(e);return g . apply ( [ ] , h ) } , guid:1 , proxy:function ( a , b ) { var c , d , e ; if ( " string " = = typeof b & & ( c = a[b],b=a,a=c),r.isFunction(a))return d = f.call(arguments,2),e=function(){return a . apply ( b | | this , d . concat ( f . call ( arguments ) ) ) } , e . guid = a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol & & ( r . fn [ Symbol . iterator ] = c [ Symbol . iterator ] ) , r . each ( " Boolean Number String Function Array Date RegExp Object Error Symbol " . split ( " " ) , function ( a , b ) { j [ " [ object " + b + " ] " ] = b . toLowerCase ( ) } ) ; function w (
< / script >
2020-12-02 21:56:16 +00:00
< script >
2021-02-16 01:55:22 +00:00
function getPreviewTypeFromPath(link) {
if (link.id == 'original-btn') {
return 'original'
}
if (link.id == 'archive_dot_org-btn') {
return 'archive_dot_org'
}
return link.pathname.split('/').filter(a => a.length).slice(-1)[0].toLowerCase()
}
2020-12-02 21:56:16 +00:00
// show selected file in iframe when preview card is clicked
jQuery('.card').on('click', function(e) {
jQuery('.selected-card').removeClass('selected-card')
jQuery(e.target).closest('.card').addClass('selected-card')
})
jQuery('.card a[target=preview]').on('click', function(e) {
if (e.currentTarget.href.endsWith('.pdf')) {
jQuery('.full-page-iframe')[0].removeAttribute('sandbox')
} else {
2021-02-16 01:55:22 +00:00
jQuery('.full-page-iframe')[0].sandbox = "allow-same-origin allow-scripts allow-forms allow-top-navigation-by-user-activation"
2020-12-02 21:56:16 +00:00
}
2021-02-16 01:55:22 +00:00
window.location.hash = getPreviewTypeFromPath(e.currentTarget)
2020-12-02 21:56:16 +00:00
return true
})
2021-02-16 01:55:22 +00:00
// check URL for hash e.g. #git and load relevant preview
jQuery(document).ready(function() {
if (window.location.hash) {
for (const link of jQuery('a[target=preview]')) {
console.log(link.pathname)
if (getPreviewTypeFromPath(link) == window.location.hash.slice(1).toLowerCase()) {
jQuery(link).closest('.card').click()
jQuery(link).click()
link.click()
}
}
}
})
2020-12-02 21:56:16 +00:00
// un-sandbox iframes showing pdfs (required to display pdf viewer)
jQuery('iframe').map(function() {
if (this.src.endsWith('.pdf')) {
this.removeAttribute('sandbox')
this.src = this.src
}
})
// hide header when collapse icon is clicked
jQuery('.header-toggle').on('click', function() {
if (jQuery('.header-toggle').text().includes('▾')) {
jQuery('.header-toggle').text('▸')
jQuery('.header-bottom').hide()
jQuery('.full-page-iframe').addClass('iframe-large')
} else {
jQuery('.header-toggle').text('▾')
jQuery('.header-bottom').show()
jQuery('.full-page-iframe').removeClass('iframe-large')
}
return true
})
// hide all preview iframes on small screens
if (window.innerWidth < 1091 ) {
jQuery('.card a[target=preview]').attr('target', '_self')
}
var pdf_frame = document.querySelector('.pdf-frame');
pdf_frame.onload = function () {
pdf_frame.contentWindow.scrollTo(0, 400);
}
< / script >
< / body >
< / html >