Compare commits

..

20 Commits
main ... main

Author SHA1 Message Date
9047216a25 Merge pull request 'Added Back to top of the page links.' (#20) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#20
2024-06-24 20:29:27 -04:00
9a8f507544 Merge pull request 'fix: View/Download viewer will be selected as default when no other viewer is default.' (#19) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#19
2024-06-24 04:30:36 -04:00
edc10e5025 Merge pull request 'No longer list files for which a folder contains README.md metadata describing the file.' (#18) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#18
2024-06-24 04:15:00 -04:00
506b29887d Merge pull request 'feat: Default tab automatically loads viewer, but other tabs are lazily loaded. OCR text moved to its own tab.' (#17) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#17
2024-06-24 02:11:53 -04:00
1d09025526 Merge pull request 'fix: Metadata link not working. Fixed link and description.' (#16) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#16
2024-06-24 01:10:23 -04:00
b38d7ee07e Merge pull request 'main' (#15) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#15
2024-06-24 01:03:50 -04:00
ef40ca967c Merge pull request 'fix: Embed PDF documents only on pages which describe files.' (#14) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#14
2024-06-23 15:49:19 -04:00
267aaa2376 Merge pull request 'feat: Embed PDF documents on the webpages which describe them.' (#13) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#13
2024-06-22 14:30:40 -04:00
31e4a2d2ca Merge pull request 'Updated view for directory to add front matter support in README.md. Updated file scanner logic and working on conversion utility for previous scans.' (#12) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#12
2024-06-19 07:51:18 -04:00
5061baabb9 Merge pull request 'fix: Added dashes back into video player breadcrumbs.' (#11) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#11
2024-06-18 11:50:35 -04:00
210f8e71d8 Merge pull request 'Switched video player to use modular breadcrumbs feature.' (#10) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#10
2024-06-18 11:46:26 -04:00
2e2e32d30d Merge pull request 'Refactored breadcrumbs feature into modular view component, and moved page route handler into its own router.' (#9) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#9
2024-06-18 11:30:22 -04:00
6f495fb1b9 Merge pull request 'Refactored from JavaScript to TypeScript and changed a few things along the way. Moved static assets to assets/ instead of static/.' (#8) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#8
2024-06-17 19:45:03 -04:00
d3a371f998 Merge pull request 'Added defer attribute to video tags so that it parallel loads.' (#7) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#7
2024-06-15 19:59:14 -04:00
a3d7952855 Merge pull request 'Updated .env.example to use SOLR_DOCS_CORE instead of SOLR_DOCS_CORE_NAME, etc.' (#6) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#6
2024-06-15 19:46:21 -04:00
769b85ae3c Merge pull request 'fix: video player was still using hard-coded paths.' (#5) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#5
2024-06-15 19:32:56 -04:00
87a2fd5e20 Merge pull request 'fix: problem with reading environment using dotenv on IISNode.' (#4) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#4
2024-06-15 16:59:01 -04:00
5e50acf9cf Merge pull request 'fix: problem with reading environment using dotenv.' (#3) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#3
2024-06-15 16:51:12 -04:00
737eef91a1 Merge pull request 'fix: Fixed side effects from hardcoded paths.' (#2) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#2
2024-06-15 16:39:13 -04:00
378cb5443c Merge pull request 'Updated environment configuration and cleaned up usage of runtime environment.' (#1) from daball/nm3clol-express-app:main into main
Reviewed-on: nm3clol/nm3clol-express-app#1
2024-06-15 15:06:39 -04:00
5 changed files with 12 additions and 32 deletions

View File

@ -187,9 +187,6 @@ import dotenv from 'dotenv';
import dotenvExpand from 'dotenv-expand';
import process from 'process';
import { fileURLToPath } from 'url';
export const trimSlashes = (dirPath: string) => {
return dirPath.replace(/^[\/\\]|[\/\\]$/g, '');
};
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
@ -215,7 +212,7 @@ export const getAppHttpUrl = () => {
export const getSiteName = () => env.SITE_NAME||"(dev) No Moss 3 Carbo Landfill Online Localhost";
export const getSiteWelcomeMessage = () => env.SITE_WELCOME_MESSAGE||"Devel' It Up, Developer!";
export const getSiteHost = () => env.SITE_HOST||"localhost";
export const getSiteUrl = () => trimSlashes(env.SITE_URL||getAppHttpUrl());
export const getSiteUrl = () => env.SITE_URL||getAppHttpUrl();
// Note the difference: PUBLIC_PATH is expected to be one level above the project folder and PAGES_PATH, STATIC_PATH, and VIEWS_PATH are all copied from src/ to dist/.
export const getPublicPath = () => path.join(__dirname, '..', '..', (env.PUBLIC_PATH||path.join('..', 'nm3clol-public')).replaceAll('\\', path.sep).replaceAll('/', path.sep));
@ -226,16 +223,16 @@ export const getViewsPath = () => path.join(__dirname, '..', '..', 'dist', 'view
export const getSolrDocsHost = () => env.SOLR_DOCS_HOST||'solr';
export const getSolrDocsPort = () => parseInt(env.SOLR_DOCS_PORT||'8983');
export const getSolrDocsCore = () => env.SOLR_DOCS_CORE||'nm3clol_core';
export const getSolrDocsUrl = () => trimSlashes(env.SOLR_DOCS_URL||`http://${getSolrDocsHost()}:${getSolrDocsPort()}/solr/${getSolrDocsCore()}`);
export const getSolrDocsUrl = () => env.SOLR_DOCS_URL||`http://${getSolrDocsHost()}:${getSolrDocsPort()}/solr/${getSolrDocsCore()}`;
export const getSolrLawHost = () => env.SOLR_LAW_HOST||getSolrDocsHost();
export const getSolrLawPort = () => env.SOLR_LAW_PORT ? parseInt(env.SOLR_LAW_PORT) : getSolrDocsPort();
export const getSolrLawCore = () => env.SOLR_LAW_CORE||'vacode_core';
export const getSolrLawUrl = () => trimSlashes(env.SOLR_LAW_URL||`http://${getSolrLawHost()}:${getSolrLawPort()}/solr/${getSolrLawCore()}`);
export const getSolrLawUrl = () => env.SOLR_LAW_URL||`http://${getSolrLawHost()}:${getSolrLawPort()}/solr/${getSolrLawCore()}`;
export const getTikaHost = () => env.TIKA_HOST||'tika';
export const getTikaPort = () => parseInt(env.TIKA_PORT||'9998');
export const getTikaUrl = () => trimSlashes(env.TIKA_URL||`http://${getTikaHost()}:${getTikaPort()}`);
export const getTikaUrl = () => env.TIKA_URL||`http://${getTikaHost()}:${getTikaPort()}`;
export const config: Config = {
appHttpHost: getAppHttpHost(),

View File

@ -49,7 +49,7 @@
<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>
<iframe 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="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.defaultViewerForFile(h.readmeFm(directory).file) != 'ms-office-viewer') { %>
<script>
@ -70,7 +70,7 @@
<% } %>
<% 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>
<iframe 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="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.defaultViewerForFile(h.readmeFm(directory).file) != 'google-docs-viewer') { %>
<script>
@ -90,7 +90,7 @@
<% } %>
<% } %>
<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>
<iframe src="<%=(h.defaultViewerForFile(h.readmeFm(directory).file) == 'built-in') ? encodeURI(h.readmeFm(directory).file) : '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>
<% if (h.defaultViewerForFile(h.readmeFm(directory).file) != 'built-in') { %>
<script>
@ -109,7 +109,7 @@
</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 style="overflow-y: scroll; width: 100%; height: 85vh; min-height: 85vh; max-height: 85vh; border: solid 1px #dfd7ca; border-top: 0px; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem;">
<div class="col-lg-12 p-3 p-lg-5 pt-lg-3">
<h2 class="title">OCR Scan (approximately)</h1>
<p>

View File

@ -2,16 +2,4 @@
<script src="https://daball.me/vendor/popper.js/dist/popper.min.js"></script>
<script src="https://daball.me/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="https://daball.me/vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="https://daball.me/layouts/blog/js/blog.min.js"></script>
<script>
$(function () {
var resizables = $('.resizable');
resizables.each(function (index, resizable) {
resizable.resizable({
animate: true,
helper: 'ui-resizable-helper',
ghost: true,
});
});
})
</script>
<script src="https://daball.me/layouts/blog/js/blog.min.js"></script>

View File

@ -11,7 +11,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8937572456576531" crossorigin="anonymous"></script>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<link href="https://daball.me/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css?family=Saira+Extra+Condensed:100,200,300,400,500,600,700,800,900" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css?family=Cinzel+Decorative:100,200,300,400,500,600,700,800,900" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css?family=Alegreya+SC:100,200,300,400,500,600,700,800,900" rel="stylesheet" />
@ -25,7 +25,4 @@
<link href="https://daball.me/vendor/simple-line-icons/css/simple-line-icons.css" rel="stylesheet" />
<link href="https://daball.me/layouts/blog/css/blog.min.css" rel="stylesheet" />
<link href="/css/nm3clol.css" rel="stylesheet" />
<link href="https://code.jquery.com/ui/1.13.3/themes/cupertino/jquery-ui.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js" integrity="sha384-BBtl+eGJRgqQAUMxJ7pMwbEyER4l1g+O15P+16Ep7Q9Q+zqX6gSbd85u4mG4QzX+" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.13.3/jquery-ui.min.js" integrity="sha256-sw0iNNXmOJbQhYFuC9OF2kOlD5KQKe1y5lfBn4C9Sjg=" crossorigin="anonymous"></script>
<script src="https://daball.me/vendor/jquery/jquery.min.js"></script>

View File

@ -320,6 +320,4 @@ tr.write-in td:first-child {
.nmc3clol-navbar-brand { color: #f44336; }
.daball-navbar-brand { color: #000; }
.pt-1500 { padding-top: 150px;}
}
.ui-resizable-helper { border: 2px dotted #f44336; }
}