forked from nm3clol/nm3clol-express-app
150 lines
11 KiB
Plaintext
150 lines
11 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<%=h.defaultViewerForFile(h.readmeFm(directory).file) == 'ms-office-viewer' ? ' 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.defaultViewerForFile(h.readmeFm(directory).file) == 'google-docs-viewer' ? ' 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<%=h.defaultViewerForFile(h.readmeFm(directory).file) == 'built-in' ? ' active' : ''%>" 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>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link" id="ocr-scan-tab" data-bs-toggle="tab" data-bs-target="#ocr-scan" type="button" role="tab" aria-controls="ocr-scan" aria-selected="false">OCR Scan</button>
|
|
</li>
|
|
</ul>
|
|
<div class="tab-content">
|
|
<% if (h.isMsOfficeViewerSupported(h.readmeFm(directory).file)) { %>
|
|
<div class="tab-pane<%=h.defaultViewerForFile(h.readmeFm(directory).file) == 'ms-office-viewer' ? ' active' : ''%>" id="ms-office-viewer" role="tabpanel" aria-labelledby="ms-office-viewer-tab" tabindex="0">
|
|
<iframe class="resizable" src="<%=h.defaultViewerForFile(h.readmeFm(directory).file) == 'ms-office-viewer' ? `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('\\', '/'))))}` : 'about:blank'%>" style="min-width: 80%; width: 100%; max-width: 100%; min-height: 50vh; height: 82vh; max-height: 90vh; border: solid 1px #dfd7ca; border-top: 0px; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem; resize: both;" frameborder="0" allowfullscreen></iframe>
|
|
</div>
|
|
<% if (h.defaultViewerForFile(h.readmeFm(directory).file) != 'ms-office-viewer') { %>
|
|
<script>
|
|
$(document).ready(function () {
|
|
var msOfficeViewerTabButton = $('button#ms-office-viewer-tab');
|
|
var msOfficeViewerTab = new bootstrap.Tab(msOfficeViewerTabButton);
|
|
var msOfficeViewerTabPaneIFrame = $('#ms-office-viewer iframe');
|
|
msOfficeViewerTabButton.on('click', function (event) {
|
|
event.preventDefault();
|
|
msOfficeViewerTab.show();
|
|
if (msOfficeViewerTabPaneIFrame.attr('src') == 'about:blank') {
|
|
msOfficeViewerTabPaneIFrame.attr('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('\\', '/')))) %>");
|
|
}
|
|
})
|
|
})
|
|
</script>
|
|
<% } %>
|
|
<% } %>
|
|
<% if (h.isGoogleDocsViewerSupported(h.readmeFm(directory).file)) { %>
|
|
<div class="tab-pane<%=h.defaultViewerForFile(h.readmeFm(directory).file) == 'google-docs-viewer' ? ' active' : ''%>" id="google-docs-viewer" role="tabpanel" aria-labelledby="google-docs-viewer-tab" tabindex="0">
|
|
<iframe class="resizable" src="<%=h.defaultViewerForFile(h.readmeFm(directory).file) == 'google-docs-viewer' ? `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('\\', '/'))))}` : 'about:blank'%>" style="min-width: 80%; width: 100%; max-width: 100%; min-height: 50vh; height: 82vh; max-height: 90vh; border: solid 1px #dfd7ca; border-top: 0px; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem; resize: both;" frameborder="0" allowfullscreen></iframe>
|
|
</div>
|
|
<% if (h.defaultViewerForFile(h.readmeFm(directory).file) != 'google-docs-viewer') { %>
|
|
<script>
|
|
$(document).ready(function () {
|
|
var googleDocsViewerTabButton = $('button#google-docs-viewer-tab');
|
|
var googleDocsViewerTab = new bootstrap.Tab(googleDocsViewerTabButton);
|
|
var googleDocsViewerTabPaneIFrame = $('#google-docs-viewer iframe');
|
|
googleDocsViewerTabButton.on('click', function (event) {
|
|
event.preventDefault();
|
|
googleDocsViewerTab.show();
|
|
if (googleDocsViewerTabPaneIFrame.attr('src') == 'about:blank') {
|
|
googleDocsViewerTabPaneIFrame.attr('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('\\', '/')))) %>");
|
|
}
|
|
})
|
|
})
|
|
</script>
|
|
<% } %>
|
|
<% } %>
|
|
<div class="tab-pane<%=(h.defaultViewerForFile(h.readmeFm(directory).file) == 'built-in') ? ' active' : ''%>" id="view-download" role="tabpanel" aria-labelledby="view-download-tab" tabindex="0">
|
|
<iframe class="resizable" src="<%=(h.defaultViewerForFile(h.readmeFm(directory).file) == 'built-in') ? encodeURI(h.readmeFm(directory).file) : 'about:blank'%>" style="min-width: 80%; width: 100%; max-width: 100%; min-height: 50vh; height: 82vh; max-height: 90vh; border: solid 1px #dfd7ca; border-top: 0px; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem; resize: both;" frameborder="0" allowfullscreen></iframe>
|
|
</div>
|
|
<% if (h.defaultViewerForFile(h.readmeFm(directory).file) != 'built-in') { %>
|
|
<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') {
|
|
viewDownloadTabPaneIFrame.attr('src', '<%- encodeURI(h.readmeFm(directory).file) %>');
|
|
}
|
|
})
|
|
})
|
|
</script>
|
|
<% } %>
|
|
<div class="tab-pane" id="ocr-scan" role="tabpanel" aria-labelledby="ocr-scan-tab" tabindex="0">
|
|
<div class="resizable" style="overflow-y: scroll; width: 100%; min-width: 80%; max-width: 100%; height: 85vh; min-height: 50vh; max-height: 100vh; border: solid 1px #dfd7ca; border-top: 0px; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem; resize: both;">
|
|
<div class="col-lg-12 p-3 p-lg-5 pt-lg-3">
|
|
<h2 class="title">OCR Scan (approximately)</h1>
|
|
<p>
|
|
This OCR 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.
|
|
The OCR scan is provided here for reference purposes. It provides searchable text when the
|
|
underlying document might not. But the scan process may not always work perfectly.
|
|
</p>
|
|
<pre style="white-space:pre-wrap;overflow-wrap:anywhere"><%- h.printReadme(directory) %></pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<% } else { %>
|
|
<%- h.printReadme(directory) %>
|
|
<% } %>
|
|
<a href="#top">^ Back to top of page.</a>
|
|
</div>
|
|
</div>
|
|
<% } %>
|
|
<% if (files && files.length && !(files.length == 1 && files[0].title == '..')) { %>
|
|
<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.replaceAll('\\', '/') %>" title="<%= value.title %>" class="<%= value.type.replaceAll('directory', 'folder') %> <%= value.ext %>"><%= value.title %></a>
|
|
</div>
|
|
</li>
|
|
<% }); %>
|
|
</ul>
|
|
<% } %>
|
|
</main>
|
|
<%- include('./includes/bottom-navbar.ejs') %>
|
|
<%- include('./includes/bottom-scripts.ejs') %>
|
|
</body>
|
|
</html> |