diff --git a/README.md b/README.md index d3c520e..77d8ba4 100644 --- a/README.md +++ b/README.md @@ -249,9 +249,33 @@ npm run package # Serve the dist folder npx serve dist + +The website can be accessible at: http://localhost:3000/ + ``` -The website can be accessible at: ```http://localhost:3000/``` +**Subdirectory Hosting:** + +BentoPDF can also be hosted from a subdirectory (e.g., `example.com/tools/bentopdf/`): + +```bash + +# Example: +# 1. Build the app with the specific BASE_URL. BASE_URL must have a trailing and leading slash. The BASE_URL can be any url of your choice. Here we are using /tools/bentopdf/ as an example. + +BASE_URL=/tools/bentopdf/ npm run build + +# 2. Create the nested directory structure inside serve-test (or any folder of your choice for local testing. In case of production, create the nested directory structure inside the root directory) +mkdir -p serve-test/tools/bentopdf + +# 3. Copy all files from the 'dist' folder into that nested directory +cp -r dist/* serve-test/tools/bentopdf/ + +# 4. Serve the 'serve-test' folder +npx serve serve-test +``` + +The website can be accessible at: ```http://localhost:3000/tools/bentopdf/``` The `npm run package` command creates a `dist-{version}.zip` file that you can use for self-hosting. diff --git a/index.html b/index.html index 3dcd988..1a3fa00 100644 --- a/index.html +++ b/index.html @@ -5,11 +5,11 @@ BentoPDF - The Privacy First PDF Toolkit - - - - - + + + + + @@ -502,7 +502,7 @@
- GDPR compliance + GDPR compliance

GDPR compliance @@ -515,7 +515,7 @@
- CCPA compliance + CCPA compliance

CCPA compliance @@ -528,7 +528,7 @@
- HIPAA compliance + HIPAA compliance

HIPAA compliance diff --git a/public/workers/add-attachments.worker.js b/public/workers/add-attachments.worker.js index b8cc8dc..9139468 100644 --- a/public/workers/add-attachments.worker.js +++ b/public/workers/add-attachments.worker.js @@ -1,4 +1,4 @@ -self.importScripts('/coherentpdf.browser.min.js'); +self.importScripts('../coherentpdf.browser.min.js'); function parsePageRange(rangeString, totalPages) { const pages = new Set(); diff --git a/public/workers/alternate-merge.worker.js b/public/workers/alternate-merge.worker.js index 7f66247..1a2cc2c 100644 --- a/public/workers/alternate-merge.worker.js +++ b/public/workers/alternate-merge.worker.js @@ -1,4 +1,4 @@ -self.importScripts('/coherentpdf.browser.min.js'); +self.importScripts('../coherentpdf.browser.min.js'); self.onmessage = function (e) { const { command, files } = e.data; diff --git a/public/workers/edit-attachments.worker.js b/public/workers/edit-attachments.worker.js index 4d20160..8b09478 100644 --- a/public/workers/edit-attachments.worker.js +++ b/public/workers/edit-attachments.worker.js @@ -1,9 +1,9 @@ -self.importScripts('/coherentpdf.browser.min.js'); +self.importScripts('../coherentpdf.browser.min.js'); function getAttachmentsFromPDFInWorker(fileBuffer, fileName) { try { const uint8Array = new Uint8Array(fileBuffer); - + let pdf; try { pdf = coherentpdf.fromMemory(uint8Array, ''); @@ -40,8 +40,8 @@ function getAttachmentsFromPDFInWorker(fileBuffer, fileName) { attachments.push({ index: i, - name: String(name), - page: Number(page), + name: String(name), + page: Number(page), data: buffer }); } catch (error) { @@ -73,7 +73,7 @@ function getAttachmentsFromPDFInWorker(fileBuffer, fileName) { function editAttachmentsInPDFInWorker(fileBuffer, fileName, attachmentsToRemove) { try { const uint8Array = new Uint8Array(fileBuffer); - + let pdf; try { pdf = coherentpdf.fromMemory(uint8Array, ''); @@ -89,28 +89,28 @@ function editAttachmentsInPDFInWorker(fileBuffer, fileName, attachmentsToRemove) coherentpdf.startGetAttachments(pdf); const attachmentCount = coherentpdf.numberGetAttachments(); const attachmentsToKeep = []; - + for (let i = 0; i < attachmentCount; i++) { if (!attachmentsToRemove.includes(i)) { const name = coherentpdf.getAttachmentName(i); const page = coherentpdf.getAttachmentPage(i); const data = coherentpdf.getAttachmentData(i); - + const dataCopy = new Uint8Array(data.length); dataCopy.set(new Uint8Array(data)); - - attachmentsToKeep.push({ - name: String(name), - page: Number(page), - data: dataCopy + + attachmentsToKeep.push({ + name: String(name), + page: Number(page), + data: dataCopy }); } } - + coherentpdf.endGetAttachments(); coherentpdf.removeAttachedFiles(pdf); - + for (const attachment of attachmentsToKeep) { if (attachment.page === 0) { coherentpdf.attachFileFromMemory(attachment.data, attachment.name, pdf); @@ -119,7 +119,7 @@ function editAttachmentsInPDFInWorker(fileBuffer, fileName, attachmentsToRemove) } } } - + const modifiedBytes = coherentpdf.toMemory(pdf, false, true); coherentpdf.deletePdf(pdf); diff --git a/public/workers/extract-attachments.worker.js b/public/workers/extract-attachments.worker.js index 0327c3a..789af57 100644 --- a/public/workers/extract-attachments.worker.js +++ b/public/workers/extract-attachments.worker.js @@ -1,15 +1,15 @@ -self.importScripts('/coherentpdf.browser.min.js'); +self.importScripts('../coherentpdf.browser.min.js'); function extractAttachmentsFromPDFsInWorker(fileBuffers, fileNames) { try { const allAttachments = []; const totalFiles = fileBuffers.length; - + for (let i = 0; i < totalFiles; i++) { const buffer = fileBuffers[i]; const fileName = fileNames[i]; const uint8Array = new Uint8Array(buffer); - + let pdf; try { pdf = coherentpdf.fromMemory(uint8Array, ''); @@ -73,7 +73,7 @@ function extractAttachmentsFromPDFsInWorker(fileBuffers, fileNames) { }); return; } - + const response = { status: 'success', attachments: [] diff --git a/public/workers/merge.worker.js b/public/workers/merge.worker.js index 425afc5..d37688f 100644 --- a/public/workers/merge.worker.js +++ b/public/workers/merge.worker.js @@ -1,4 +1,4 @@ -self.importScripts('/coherentpdf.browser.min.js'); +self.importScripts('../coherentpdf.browser.min.js'); self.onmessage = function (e) { const { command, files, jobs } = e.data; diff --git a/src/js/config/tools.ts b/src/js/config/tools.ts index 5c88043..ce2800f 100644 --- a/src/js/config/tools.ts +++ b/src/js/config/tools.ts @@ -4,38 +4,38 @@ export const categories = [ name: 'Popular Tools', tools: [ { - href: '/src/pages/pdf-multi-tool.html', + href: import.meta.env.BASE_URL + 'src/pages/pdf-multi-tool.html', name: 'PDF Multi Tool', icon: 'pencil-ruler', subtitle: 'Merge, Split, Organize, Delete, Rotate, Add Blank Pages, Extract and Duplicate in an unified interface.', }, { - href: '/src/pages/merge-pdf.html', + href: import.meta.env.BASE_URL + '/src/pages/merge-pdf.html', name: 'Merge PDF', icon: 'combine', subtitle: 'Combine multiple PDFs into one file. Preserves Bookmarks.', }, { - href: '/src/pages/split-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/split-pdf.html', name: 'Split PDF', icon: 'scissors', subtitle: 'Extract a range of pages into a new PDF.', }, { - href: '/src/pages/compress-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/compress-pdf.html', name: 'Compress PDF', icon: 'zap', subtitle: 'Reduce the file size of your PDF.', }, { - href: '/src/pages/edit-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/edit-pdf.html', name: 'PDF Editor', icon: 'pocket-knife', subtitle: 'Annotate, highlight, redact, comment, add shapes/images, search, and view PDFs', }, { - href: '/src/pages/jpg-to-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/jpg-to-pdf.html', name: 'JPG to PDF', icon: 'image-up', subtitle: 'Create a PDF from one or more JPG images.', @@ -76,7 +76,7 @@ export const categories = [ name: 'Edit & Annotate', tools: [ { - href: '/src/pages/edit-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/edit-pdf.html', name: 'PDF Editor', icon: 'pocket-knife', subtitle: @@ -84,13 +84,13 @@ export const categories = [ }, { // id: 'bookmark-pdf', - href: '/src/pages/bookmark.html', + href: import.meta.env.BASE_URL + 'src/pages/bookmark.html', name: 'Edit Bookmarks', icon: 'bookmark', subtitle: 'Add, edit, import, delete and extract PDF bookmarks.', }, { - href: '/src/pages/table-of-contents.html', + href: import.meta.env.BASE_URL + 'src/pages/table-of-contents.html', name: 'Table of Contents', icon: 'list', subtitle: 'Generate a table of contents page from PDF bookmarks.', @@ -138,7 +138,7 @@ export const categories = [ subtitle: 'Draw, type, or upload your signature.', }, { - href: '/src/pages/add-stamps.html', + href: import.meta.env.BASE_URL + 'src/pages/add-stamps.html', name: 'Add Stamps', icon: 'stamp', subtitle: 'Add image stamps to your PDF using the annotation toolbar.', @@ -162,7 +162,7 @@ export const categories = [ subtitle: 'Fill in forms directly in the browser. Also supports XFA forms.', }, { - href: '/src/pages/form-creator.html', + href: import.meta.env.BASE_URL + 'src/pages/form-creator.html', name: 'Create PDF Form', icon: 'file-input', subtitle: 'Create fillable PDF forms with drag-and-drop text fields.', @@ -185,7 +185,7 @@ export const categories = [ subtitle: 'Convert JPG, PNG, WebP, BMP, TIFF, SVG, HEIC to PDF.', }, { - href: '/src/pages/jpg-to-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/jpg-to-pdf.html', name: 'JPG to PDF', icon: 'image-up', subtitle: 'Create a PDF from one or more JPG images.', @@ -233,7 +233,7 @@ export const categories = [ subtitle: 'Convert a plain text file into a PDF.', }, { - href: '/src/pages/json-to-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/json-to-pdf.html', name: 'JSON to PDF', icon: 'file-code', subtitle: 'Convert JSON files to PDF format.', @@ -283,7 +283,7 @@ export const categories = [ subtitle: 'Convert all colors to black and white.', }, { - href: '/src/pages/pdf-to-json.html', + href: import.meta.env.BASE_URL + 'src/pages/pdf-to-json.html', name: 'PDF to JSON', icon: 'file-code', subtitle: 'Convert PDF files to JSON format.', @@ -301,7 +301,7 @@ export const categories = [ subtitle: 'Make a PDF searchable and copyable.', }, { - href: '/src/pages/merge-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/merge-pdf.html', name: 'Merge PDF', icon: 'combine', subtitle: 'Combine multiple PDFs into one file.', @@ -343,7 +343,7 @@ export const categories = [ subtitle: 'View or remove attachments in your PDF.', }, { - href: '/src/pages/pdf-multi-tool.html', + href: import.meta.env.BASE_URL + 'src/pages/pdf-multi-tool.html', name: 'PDF Multi Tool', icon: 'pencil-ruler', subtitle: 'Full-featured PDF editor with page management.', @@ -438,7 +438,7 @@ export const categories = [ name: 'Optimize & Repair', tools: [ { - href: '/src/pages/compress-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/compress-pdf.html', name: 'Compress PDF', icon: 'zap', subtitle: 'Reduce the file size of your PDF.', @@ -469,7 +469,7 @@ export const categories = [ 'Remove password protection and security restrictions associated with digitally signed PDF files.', }, { - href: '/src/pages/repair-pdf.html', + href: import.meta.env.BASE_URL + 'src/pages/repair-pdf.html', name: 'Repair PDF', icon: 'wrench', subtitle: 'Recover data from corrupted or damaged PDF files.', diff --git a/src/js/logic/add-attachments.ts b/src/js/logic/add-attachments.ts index 46a7a52..b8adf99 100644 --- a/src/js/logic/add-attachments.ts +++ b/src/js/logic/add-attachments.ts @@ -2,7 +2,7 @@ import { showLoader, hideLoader, showAlert } from '../ui'; import { readFileAsArrayBuffer, downloadFile } from '../utils/helpers'; import { state } from '../state'; -const worker = new Worker('/workers/add-attachments.worker.js'); +const worker = new Worker(import.meta.env.BASE_URL + 'workers/add-attachments.worker.js'); let attachments: File[] = []; diff --git a/src/js/logic/add-stamps.ts b/src/js/logic/add-stamps.ts index ab369ab..408ff34 100644 --- a/src/js/logic/add-stamps.ts +++ b/src/js/logic/add-stamps.ts @@ -172,7 +172,7 @@ if (saveStampedBtn) { if (backToToolsBtn) { backToToolsBtn.addEventListener('click', () => { - window.location.href = '/' + window.location.href = import.meta.env.BASE_URL }) } diff --git a/src/js/logic/alternate-merge.ts b/src/js/logic/alternate-merge.ts index be25ca3..db7a961 100644 --- a/src/js/logic/alternate-merge.ts +++ b/src/js/logic/alternate-merge.ts @@ -13,7 +13,7 @@ const alternateMergeState: AlternateMergeState = { pdfBytes: {}, }; -const alternateMergeWorker = new Worker('/workers/alternate-merge.worker.js'); +const alternateMergeWorker = new Worker(import.meta.env.BASE_URL + 'workers/alternate-merge.worker.js'); export async function setupAlternateMergeTool() { const optionsDiv = document.getElementById('alternate-merge-options'); diff --git a/src/js/logic/bookmark-pdf.ts b/src/js/logic/bookmark-pdf.ts index 2347f46..d2ca899 100644 --- a/src/js/logic/bookmark-pdf.ts +++ b/src/js/logic/bookmark-pdf.ts @@ -1957,13 +1957,13 @@ async function extractExistingBookmarks(doc) { // Back to tools button if (backToToolsBtn) { backToToolsBtn.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } if (closeBtn) { closeBtn.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } diff --git a/src/js/logic/compress-pdf-page.ts b/src/js/logic/compress-pdf-page.ts index 4eac562..097b719 100644 --- a/src/js/logic/compress-pdf-page.ts +++ b/src/js/logic/compress-pdf-page.ts @@ -229,7 +229,7 @@ document.addEventListener('DOMContentLoaded', () => { if (backBtn) { backBtn.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } diff --git a/src/js/logic/edit-attachments.ts b/src/js/logic/edit-attachments.ts index 098ccd1..fd9de00 100644 --- a/src/js/logic/edit-attachments.ts +++ b/src/js/logic/edit-attachments.ts @@ -2,7 +2,7 @@ import { showLoader, hideLoader, showAlert } from '../ui.js'; import { downloadFile, readFileAsArrayBuffer } from '../utils/helpers.js'; import { state } from '../state.js'; -const worker = new Worker('/workers/edit-attachments.worker.js'); +const worker = new Worker(import.meta.env.BASE_URL + 'workers/edit-attachments.worker.js'); let allAttachments: Array<{ index: number; name: string; page: number; data: Uint8Array }> = []; let attachmentsToRemove: Set = new Set(); diff --git a/src/js/logic/edit-pdf-page.ts b/src/js/logic/edit-pdf-page.ts index 788a53e..c064427 100644 --- a/src/js/logic/edit-pdf-page.ts +++ b/src/js/logic/edit-pdf-page.ts @@ -45,7 +45,7 @@ function initializePage() { } document.getElementById('back-to-tools')?.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } @@ -114,7 +114,7 @@ async function handleFiles(files: FileList) { URL.revokeObjectURL(currentPdfUrl); currentPdfUrl = null; } - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } diff --git a/src/js/logic/extract-attachments.ts b/src/js/logic/extract-attachments.ts index 8183652..331d1fe 100644 --- a/src/js/logic/extract-attachments.ts +++ b/src/js/logic/extract-attachments.ts @@ -3,7 +3,7 @@ import { state } from '../state.js'; import { showAlert } from '../ui.js'; import JSZip from 'jszip'; -const worker = new Worker('/workers/extract-attachments.worker.js'); +const worker = new Worker(import.meta.env.BASE_URL + 'workers/extract-attachments.worker.js'); interface ExtractAttachmentSuccessResponse { status: 'success'; diff --git a/src/js/logic/form-creator.ts b/src/js/logic/form-creator.ts index db5808c..efcf3f4 100644 --- a/src/js/logic/form-creator.ts +++ b/src/js/logic/form-creator.ts @@ -1962,7 +1962,7 @@ downloadBtn.addEventListener('click', async () => { const backToToolsBtns = document.querySelectorAll('[id^="back-to-tools"]') as NodeListOf backToToolsBtns.forEach(btn => { btn.addEventListener('click', () => { - window.location.href = '/' + window.location.href = import.meta.env.BASE_URL }) }) diff --git a/src/js/logic/jpg-to-pdf-page.ts b/src/js/logic/jpg-to-pdf-page.ts index 523d310..1d23fb4 100644 --- a/src/js/logic/jpg-to-pdf-page.ts +++ b/src/js/logic/jpg-to-pdf-page.ts @@ -66,7 +66,7 @@ function initializePage() { } document.getElementById('back-to-tools')?.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } diff --git a/src/js/logic/json-to-pdf.ts b/src/js/logic/json-to-pdf.ts index 8570086..e483781 100644 --- a/src/js/logic/json-to-pdf.ts +++ b/src/js/logic/json-to-pdf.ts @@ -2,7 +2,7 @@ import JSZip from 'jszip' import { downloadFile, formatBytes, readFileAsArrayBuffer } from '../utils/helpers'; import { initializeGlobalShortcuts } from '../utils/shortcuts-init.js'; -const worker = new Worker(new URL('/workers/json-to-pdf.worker.js', import.meta.url)); +const worker = new Worker(import.meta.env.BASE_URL + 'workers/json-to-pdf.worker.js'); let selectedFiles: File[] = [] @@ -148,7 +148,7 @@ worker.onmessage = async (e: MessageEvent) => { if (backToToolsBtn) { backToToolsBtn.addEventListener('click', () => { - window.location.href = '/' + window.location.href = import.meta.env.BASE_URL }) } diff --git a/src/js/logic/merge-pdf-page.ts b/src/js/logic/merge-pdf-page.ts index 25712f2..8b837af 100644 --- a/src/js/logic/merge-pdf-page.ts +++ b/src/js/logic/merge-pdf-page.ts @@ -35,7 +35,7 @@ const mergeState: MergeState = { mergeSuccess: false, }; -const mergeWorker = new Worker('/workers/merge.worker.js'); +const mergeWorker = new Worker(import.meta.env.BASE_URL + 'workers/merge.worker.js'); function initializeFileListSortable() { const fileList = document.getElementById('file-list'); @@ -545,7 +545,7 @@ document.addEventListener('DOMContentLoaded', () => { if (backBtn) { backBtn.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } diff --git a/src/js/logic/pdf-multi-tool.ts b/src/js/logic/pdf-multi-tool.ts index 5576eef..99d6711 100644 --- a/src/js/logic/pdf-multi-tool.ts +++ b/src/js/logic/pdf-multi-tool.ts @@ -152,7 +152,7 @@ function initializeTool() { initializeGlobalShortcuts(); document.getElementById('close-tool-btn')?.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); document.getElementById('upload-pdfs-btn')?.addEventListener('click', () => { diff --git a/src/js/logic/pdf-to-json.ts b/src/js/logic/pdf-to-json.ts index e132c16..babeaeb 100644 --- a/src/js/logic/pdf-to-json.ts +++ b/src/js/logic/pdf-to-json.ts @@ -2,7 +2,7 @@ import JSZip from 'jszip' import { downloadFile, formatBytes, readFileAsArrayBuffer } from '../utils/helpers'; import { initializeGlobalShortcuts } from '../utils/shortcuts-init.js'; -const worker = new Worker(new URL('/workers/pdf-to-json.worker.js', import.meta.url)); +const worker = new Worker(import.meta.env.BASE_URL + 'workers/pdf-to-json.worker.js'); let selectedFiles: File[] = [] @@ -144,7 +144,7 @@ worker.onmessage = async (e: MessageEvent) => { if (backToToolsBtn) { backToToolsBtn.addEventListener('click', () => { - window.location.href = '/' + window.location.href = import.meta.env.BASE_URL }) } diff --git a/src/js/logic/repair-pdf-page.ts b/src/js/logic/repair-pdf-page.ts index 5f9ed62..e135189 100644 --- a/src/js/logic/repair-pdf-page.ts +++ b/src/js/logic/repair-pdf-page.ts @@ -15,7 +15,7 @@ document.addEventListener('DOMContentLoaded', () => { if (backBtn) { backBtn.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } diff --git a/src/js/logic/split-pdf-page.ts b/src/js/logic/split-pdf-page.ts index 5cf7f4e..11ab9dd 100644 --- a/src/js/logic/split-pdf-page.ts +++ b/src/js/logic/split-pdf-page.ts @@ -33,7 +33,7 @@ document.addEventListener('DOMContentLoaded', () => { if (backBtn) { backBtn.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } diff --git a/src/js/logic/table-of-contents.ts b/src/js/logic/table-of-contents.ts index 5b9076e..1850d74 100644 --- a/src/js/logic/table-of-contents.ts +++ b/src/js/logic/table-of-contents.ts @@ -2,7 +2,7 @@ import { downloadFile, formatBytes } from "../utils/helpers"; import { initializeGlobalShortcuts } from "../utils/shortcuts-init.js"; -const worker = new Worker('/workers/table-of-contents.worker.js'); +const worker = new Worker(import.meta.env.BASE_URL + 'workers/table-of-contents.worker.js'); let pdfFile: File | null = null; @@ -199,7 +199,7 @@ worker.onerror = (error) => { if (backToToolsBtn) { backToToolsBtn.addEventListener('click', () => { - window.location.href = '/'; + window.location.href = import.meta.env.BASE_URL; }); } diff --git a/src/pages/add-stamps.html b/src/pages/add-stamps.html index ab1b0c1..f9a4bec 100644 --- a/src/pages/add-stamps.html +++ b/src/pages/add-stamps.html @@ -17,18 +17,18 @@
@@ -53,10 +53,10 @@ @@ -113,7 +113,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/bookmark.html b/src/pages/bookmark.html index e4d1112..5004e59 100644 --- a/src/pages/bookmark.html +++ b/src/pages/bookmark.html @@ -18,18 +18,18 @@

@@ -56,10 +56,10 @@ @@ -421,7 +421,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/compress-pdf.html b/src/pages/compress-pdf.html index 0b7ea49..830e98c 100644 --- a/src/pages/compress-pdf.html +++ b/src/pages/compress-pdf.html @@ -16,17 +16,17 @@

@@ -51,10 +51,10 @@ diff --git a/src/pages/edit-pdf.html b/src/pages/edit-pdf.html index 7ce1971..62208ae 100644 --- a/src/pages/edit-pdf.html +++ b/src/pages/edit-pdf.html @@ -16,17 +16,17 @@
@@ -51,10 +51,10 @@ @@ -121,7 +121,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/form-creator.html b/src/pages/form-creator.html index e0deb9b..6f4aa24 100644 --- a/src/pages/form-creator.html +++ b/src/pages/form-creator.html @@ -17,18 +17,18 @@

@@ -55,10 +55,10 @@ @@ -327,7 +327,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/jpg-to-pdf.html b/src/pages/jpg-to-pdf.html index fae13a1..2baf501 100644 --- a/src/pages/jpg-to-pdf.html +++ b/src/pages/jpg-to-pdf.html @@ -16,17 +16,17 @@

@@ -51,10 +51,10 @@ @@ -150,7 +150,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/json-to-pdf.html b/src/pages/json-to-pdf.html index a7df403..e0d359c 100644 --- a/src/pages/json-to-pdf.html +++ b/src/pages/json-to-pdf.html @@ -17,18 +17,18 @@

@@ -53,10 +53,10 @@ @@ -113,7 +113,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/merge-pdf.html b/src/pages/merge-pdf.html index 278c1eb..36f1d45 100644 --- a/src/pages/merge-pdf.html +++ b/src/pages/merge-pdf.html @@ -16,18 +16,18 @@

@@ -54,10 +54,10 @@ @@ -170,7 +170,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/pdf-multi-tool.html b/src/pages/pdf-multi-tool.html index 546ab11..f5fb555 100644 --- a/src/pages/pdf-multi-tool.html +++ b/src/pages/pdf-multi-tool.html @@ -46,9 +46,9 @@

- Bento PDF Logo + Bento PDF Logo - BentoPDF + BentoPDF PDF Multi Tool
diff --git a/src/pages/pdf-to-json.html b/src/pages/pdf-to-json.html index 2b3657c..4c1c9b2 100644 --- a/src/pages/pdf-to-json.html +++ b/src/pages/pdf-to-json.html @@ -17,18 +17,18 @@
@@ -53,10 +53,10 @@ @@ -107,7 +107,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/repair-pdf.html b/src/pages/repair-pdf.html index 43521da..407e21e 100644 --- a/src/pages/repair-pdf.html +++ b/src/pages/repair-pdf.html @@ -14,18 +14,18 @@

@@ -52,10 +52,10 @@ @@ -132,7 +132,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/split-pdf.html b/src/pages/split-pdf.html index ec664b3..ca3d264 100644 --- a/src/pages/split-pdf.html +++ b/src/pages/split-pdf.html @@ -16,18 +16,18 @@

@@ -56,10 +56,10 @@ @@ -243,7 +243,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/src/pages/table-of-contents.html b/src/pages/table-of-contents.html index 71de3cc..f1073a5 100644 --- a/src/pages/table-of-contents.html +++ b/src/pages/table-of-contents.html @@ -17,18 +17,18 @@

@@ -55,10 +55,10 @@ @@ -179,7 +179,7 @@
- Bento PDF Logo + Bento PDF Logo BentoPDF

diff --git a/vite.config.ts b/vite.config.ts index d91bcdd..49580bc 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,6 +4,7 @@ import { nodePolyfills } from 'vite-plugin-node-polyfills'; import { resolve } from 'path'; export default defineConfig(({ mode }) => ({ + base: process.env.BASE_URL || '/', plugins: [ tailwindcss(), nodePolyfills({