forked from nm3clol/nm3clol-express-app
121 lines
7.9 KiB
Plaintext
121 lines
7.9 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title><%=h.getDirectoryTitle(directory)%></title>
|
|
<%- include('./includes/common-head.ejs') %>
|
|
</head>
|
|
<body onload="initPage()">
|
|
<%- include('./includes/top-navbar.ejs') %>
|
|
<%- include('./includes/no-trash-svg.ejs') %>
|
|
<main class="container">
|
|
<header>
|
|
<%- include('./includes/breadcrumbs.ejs') %>
|
|
</header>
|
|
<% if (h.directoryContainsReadme(directory)) {%>
|
|
<div class="row p-4 pb-0 pe-lg-0 pt-lg-5 align-items-center rounded-3 border shadow-lg">
|
|
<div class="col-lg-12 p-3 p-lg-5 pt-lg-3">
|
|
<% if (typeof h.readmeFm(directory) !== 'undefined' && h.readmeFm(directory).title) { %>
|
|
<h1 class="title"><%= h.readmeFm(directory).title %></h1>
|
|
<p>
|
|
<small>
|
|
<%if (typeof h.readmeFm(directory).docDate !== 'undefined') { %>
|
|
<b>Document Date:</b> <%= h.moment(h.readmeFm(directory).docDate).format('MMMM D, YYYY') %>
|
|
<% } %>
|
|
<%if (typeof h.readmeFm(directory).file !== 'undefined') { %>
|
|
<b>Document:</b> <a href="<%- encodeURI(h.readmeFm(directory).file) %>"><%- path.basename(h.readmeFm(directory).file) %></a>
|
|
<% } %>
|
|
</small>
|
|
</p>
|
|
<% } %>
|
|
<% if (typeof h.readmeFm(directory).file !== 'undefined') { %>
|
|
<ul class="nav nav-tabs" id="readerTab" role="tablist">
|
|
<% if (h.isMsOfficeViewerSupported(h.readmeFm(directory).file)) { %>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link active" id="ms-office-viewer-tab" data-bs-toggle="tab" data-bs-target="#ms-office-viewer" type="button" role="tab" aria-controls="ms-office-viewer" aria-selected="true">Microsoft Office Web Viewer</button>
|
|
</li>
|
|
<% } %>
|
|
<% if (h.isGoogleDocsViewerSupported(h.readmeFm(directory).file)) { %>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link<%=h.isMsOfficeViewerSupported(h.readmeFm(directory).file) ? '' : ' active'%>" id="google-docs-viewer-tab" data-bs-toggle="tab" data-bs-target="#google-docs-viewer" type="button" role="tab" aria-controls="google-docs-viewer" aria-selected="false">Google Docs Viewer</button>
|
|
</li>
|
|
<% } %>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link" id="view-download-tab" data-bs-toggle="tab" data-bs-target="#view-download" type="button" role="tab" aria-controls="view-download" aria-selected="false">View/Download</button>
|
|
</li>
|
|
</ul>
|
|
<div class="tab-content">
|
|
<% if (h.isMsOfficeViewerSupported(h.readmeFm(directory).file)) { %>
|
|
<div class="tab-pane active" id="ms-office-viewer" role="tabpanel" aria-labelledby="ms-office-viewer-tab" tabindex="0">
|
|
<iframe src="https://view.officeapps.live.com/op/embed.aspx?src=<%- encodeURIComponent(h.trimSlashes(config.siteUrl) + path.posix.join(breadcrumbs[breadcrumbs.length-1].url, (h.readmeFm(directory).file.replaceAll('\\', '/')))) %>" style="width: 100%; height: 85vh; border: solid 1px #dfd7ca; border-top: 0px; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem;" frameborder="0"></iframe>
|
|
</div>
|
|
<% } %>
|
|
<% if (h.isGoogleDocsViewerSupported(h.readmeFm(directory).file)) { %>
|
|
<div class="tab-pane<%=h.isMsOfficeViewerSupported(h.readmeFm(directory).file) ? '' : ' active'%>" id="google-docs-viewer" role="tabpanel" aria-labelledby="google-docs-viewer-tab" tabindex="0">
|
|
<iframe src="https://docs.google.com/gview?embedded=true&url=<%- encodeURIComponent(h.trimSlashes(config.siteUrl) + path.posix.join(breadcrumbs[breadcrumbs.length-1].url, (h.readmeFm(directory).file.replaceAll('\\', '/')))) %>" style="width: 100%; height: 85vh; border: solid 1px #dfd7ca; border-top: 0px; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem;" frameborder="0"></iframe>
|
|
</div>
|
|
<% } %>
|
|
<div class="tab-pane<%=(h.isMsOfficeViewerSupported(h.readmeFm(directory).file) || h.isGoogleDocsViewerSupported(h.readmeFm(directory).file)) ? '' : ' active'%>" id="view-download" role="tabpanel" aria-labelledby="view-download-tab" tabindex="0">
|
|
<iframe src="about:blank" style="width: 100%; height: 85vh; border: solid 1px #dfd7ca; border-top: 0px; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem;" frameborder="0"></iframe>
|
|
</div>
|
|
<script>
|
|
$(document).ready(function () {
|
|
var viewDownloadTabButton = $('button#view-download-tab');
|
|
var viewDownloadTab = new bootstrap.Tab(viewDownloadTabButton);
|
|
var viewDownloadTabPaneIFrame = $('#view-download iframe');
|
|
viewDownloadTabButton.on('click', function (event) {
|
|
event.preventDefault();
|
|
viewDownloadTab.show();
|
|
if (viewDownloadTabPaneIFrame.attr('src') == 'about:blank') {
|
|
console.log('View/Download tab clicked. Loading iframe.');
|
|
viewDownloadTabPaneIFrame.attr('src', '<%- encodeURI(h.readmeFm(directory).file) %>');
|
|
} else {
|
|
console.log('View/Download tab clicked. iframe previously loaded.');
|
|
}
|
|
})
|
|
})
|
|
</script>
|
|
<% if (!h.isMsOfficeViewerSupported(h.readmeFm(directory).file) && !h.isGoogleDocsViewerSupported(h.readmeFm(directory).file)) { %>
|
|
<script>
|
|
$(document).ready(function () {
|
|
setTimeout(function () {
|
|
var viewDownloadTabButton = $('button#view-download-tab');
|
|
viewDownloadTabButton.click();
|
|
}, 100);
|
|
});
|
|
</script>
|
|
<% } %>
|
|
</div>
|
|
<% } else { %>
|
|
<%- h.printReadme(directory) %>
|
|
<% } %>
|
|
</div>
|
|
</div>
|
|
<% if (typeof h.readmeFm(directory).file !== 'undefined') { %>
|
|
<div class="row p-4 pb-0 pe-lg-0 pt-lg-5 align-items-center rounded-3 border shadow-lg" style="max-height:65vh;overflow-y:scroll">
|
|
<div class="col-lg-12 p-3 p-lg-5 pt-lg-3">
|
|
<h2 class="title">OCR Text Scan (approximately)</h1>
|
|
<p>
|
|
This text scan may contain automatically generated text as generated using Apache Tika
|
|
and Tesseract. It may not be correct. No effort has been made to correct any of these scans
|
|
(so far). These OCR scans are also used in the site's Search feature. Please review the
|
|
<a href="/search-policy" target="_blank">Search Policy</a> for details about the site features.
|
|
</p>
|
|
<pre style="white-space:pre-wrap;overflow-wrap:anywhere"><%- h.printReadme(directory) %></pre>
|
|
</div>
|
|
</div>
|
|
<% } %>
|
|
<% } %>
|
|
<ul id="files" class="list-group shadow-lg">
|
|
<% files.forEach(function(value, index) { %>
|
|
<li class="list-group-item list-group-item-action flex-column align-items-start">
|
|
<div class="d-flex w-100 justify-content-between">
|
|
<a href="<%= value.relative %>" title="<%= value.title %>" class="<%= value.type.replaceAll('directory', 'folder') %> <%= value.ext %>"><%= value.base %></a>
|
|
</div>
|
|
</li>
|
|
<% }); %>
|
|
</ul>
|
|
</main>
|
|
<%- include('./includes/bottom-navbar.ejs') %>
|
|
<%- include('./includes/bottom-scripts.ejs') %>
|
|
</body>
|
|
</html> |