Skip to content
Permalink
master
Go to file
136 lines (128 sloc) 8.86 KB
<!DOCTYPE html>
<!--suppress HtmlUnknownAnchorTarget -->
<html>
<head>
<meta charset="UTF-8">
<title>Internet Archive</title>
<!--TODO links should refer to content addressable files-->
<script src="./includes/jquery-1.10.2.min.js" type="text/javascript"></script>
<link href="./includes/archive.min.css" rel="stylesheet" type="text/css">
<script>var archive_setup=[]</script>
<!-- JW now replaced by RenderMedia (part of WebTorrent) stuffing a Video tag -->
<script src="./includes/build/js/play8.min.js" type="text/javascript"></script>
<script src="./includes/build/js/playset.min.js" type="text/javascript"></script>
<link rel='stylesheet' href='dweb-archive-styles.css'>
<!--This group Copied from archive.html for a texts obj, removed version locking, and made relative paths-->
<script src="./includes/bootstrap.min.js" type="text/javascript"></script>
<!-- Dont have react/umd on flight, switched with react, its needed even though in JS as refered to in archive.min.js" -->
<script src="./includes/node_modules/react/dist/react.js" type="text/javascript"></script>
<!--
<script src="//archive.org/includes/node_modules/react/umd/react.production.min.js" type="text/javascript"></script>
<script src="//archive.org/includes/node_modules/react-dom/umd/react-dom.production.min.js" type="text/javascript"></script>
-->
<!-- TODO Re webpack when online, then make this /includes
<script src="//archive.org/includes/build/js/polyfill.min.js" type="text/javascript"></script>
-->
<!-- Dont have build, but have own copy of archive.min -->
<script src="./includes/archive.min.js" type="text/javascript"></script>
<link href="./bookreader/BookReader/mmenu/dist/css/jquery.mmenu.css" rel="stylesheet" type="text/css"/>
<link href="./bookreader/BookReader/mmenu/dist/addons/navbars/jquery.mmenu.navbars.css" rel="stylesheet" type="text/css"/>
<link href="./bookreader/BookReader/BookReader.css" rel="stylesheet" type="text/css"/>
<!-- not part of repo - for flight copied into this location -->
<!--Commented out because it has "important" styles that really dont want in non-bookreader esp padding-top -->
<!--<link href="./bookreader/BookReader-ia.css" rel="stylesheet" type="text/css"/>-->
<!-- come from @internetarchive/bookreader/BookReader repo -->
<script src="./bookreader/BookReader/jquery-ui-1.12.0.min.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/jquery.ui.touch-punch.min.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/jquery.browser.min.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/dragscrollable-br.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/jquery.colorbox-min.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/jquery.bt.min.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/soundmanager/script/soundmanager2-jsmin.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/mmenu/dist/js/jquery.mmenu.min.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/BookReader.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/plugins/plugin.mobile_nav.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/plugins/plugin.search.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/plugins/plugin.chapters.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/plugins/plugin.tts.js" type="text/javascript"></script>
<script src="./bookreader/BookReader/plugins/plugin.url.js?v=891b5f7" type="text/javascript"></script>
<script src="./bookreader/BookReader/plugins/plugin.resume.js?v=891b5f7" type="text/javascript"></script>
<script src="./bookreader/BookReader/plugins/plugin.archive_analytics.js" type="text/javascript"></script>
<!-- not part. of repo - for flight copied into this location -->
<script src="./bookreader/BookReaderHelpers.js" type="text/javascript"></script>
<!-- not part of repo - for flight copied into this location -->
<script src="./bookreader/LendingFlow.js" type="text/javascript"></script>
<!-- not part of repo - for flight copied into this location -->
<script src="./bookreader/BookReaderJSIA.js" type="text/javascript"></script>
<!-- TODO-SPLIT Just experimental as part of dweb-transports#split, should normally be commented out also moved to dweb-mirror -->
<script type="text/javascript">
// SEE-OTHER-ADDTRANSPORT in dweb-transports dweb-archive dweb-mirror
// TODO-SPLIT these will need to move into local server or may be excluded by cross-origin low-bandwidth rule in chrome
// TODO-SPLIT move this function into Transports.js
/**
* Process searchparams to something appropriate to pass to dweb-transports, allowing for defaults and mistakes etc.
*
* @param searchparams mirror=HOST:PORT&transport=XXXX&transport=YYYY
* @returns {{statuselement: *, transports: *, paused: *, mirror: *, defaulttransports: ([string]|[string, string, string]), http: {urlbase: *}}}
* @private
*/
function _transportsOptions(searchparams) {
// Allows abbreviation like mirror=localhost:4244, also allows mirror to specify https://xyz.org
let mirror = searchparams.get("mirror");
if (mirror && !(mirror === null) && !mirror.startsWith('http')) {
mirror = location.protocol + '//' + mirror;
}
const transports = searchparams.getAll("transport");
DwebArchive.mirror = mirror || null; // So DwebArchive can check it locally (null check turns "" into null)
return {
statuselement: document.getElementById("dweb-status"),
http: {urlbase: (mirror && !(mirror === null)) ? mirror : "https://dweb.archive.org"},
transports,
defaulttransports: (mirror && !(mirror === null)) ? ["HTTP"] : ["HTTP", "WEBTORRENT", "IPFS", "GUN"],
paused: searchparams.getAll("paused"),
mirror: mirror,
}
}
function _opts(searchparams, transportsOptions) {
// Now setup opts, which has to happen after transportsOptions
// Save the persistent (cross-window) state (transport & mirror & paused), and returns any other searchparams not saved
const opts = Nav.setState(searchparams, {transport: DwebTransports._tabbrevs(transportsOptions), mirror: transportsOptions.mirror});
const pathParts = window.location.pathname.split('/');
const k = ['details', 'download'].find(kPossible => pathParts.includes(kPossible));
opts.identifier = k
? pathParts[pathParts.length - 1] // identifier must be last part of URL for this to work
: opts.identifier || opts.item;
opts.download = pathParts.includes('download') || opts.download || false;
return opts;
}
</script>
<style>
#jw6, #jw6__list { background-color:black; }
</style>
<script type="text/javascript">localStorage.debug = "dweb-archive dweb-archive:* dweb-archivecontroller:* dweb-transports dweb-transports:* ia-components:*";</script>
<!-- <script type="text/javascript" src="dweb-serviceworker-proxy-bundle.js"></script> <!-- Transport via Proxy -->
<script type="text/javascript" src="dweb-archive-bundle.js"></script>
<script type="text/javascript">
// This block has to run before and probably in separate <script> so that the document.write's happen before p_connect is called.
const searchparams = new URL(window.location.href).searchParams
const transportsOptions = _transportsOptions(searchparams);
const opts = _opts(searchparams, transportsOptions); // Side effect of saving persistent state we want to hold across history etc
DwebTransports.loadIntoHtmlPage(transportsOptions); // Writes script tags to document to dynamically load any transports specified that require it (generates warnings in log)
</script>
</head>
<!-- TODO-DETAILS missing scripts, properties and links that appear before body tag on archive/details/commute etc -->
<body class="navia ia-module navbar-no-margin-bottom tiles responsive">
<!--suppress HtmlUnknownAnchorTarget -->
<a href="#maincontent" class="hidden-for-screen-readers">Skip to main content</a>
<div id="main"></div><!-- destination for part accumulated by ArchiveBase as html-->
<script>
$(function(){ $('.navbar [data-toggle="tooltip"]').tooltip({}); });
DwebTransports.p_connect(transportsOptions)
.then(unusedRes =>
Nav.metaFactory(opts))
.catch(err =>
console.log("ERROR in archive.html call to p_connect failed to even run "));
</script>
</body>
</html>