Permalink
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> |