chore: update config files, icons and readme
- Update FUNDING.yml formatting - Remove debug log in sanitize-pdf.ts - Adjust test expectation for tool count - Standardize dependabot.yml quotes - Update tool icons in config - Expand and reorganize README features list - Fix markdown formatting in README
This commit is contained in:
14
.github/dependabot.yml
vendored
14
.github/dependabot.yml
vendored
@@ -1,15 +1,15 @@
|
|||||||
version: 2
|
version: 2
|
||||||
updates:
|
updates:
|
||||||
- package-ecosystem: "npm"
|
- package-ecosystem: 'npm'
|
||||||
directory: "/"
|
directory: '/'
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: 'daily'
|
||||||
groups:
|
groups:
|
||||||
npm-dependencies:
|
npm-dependencies:
|
||||||
patterns:
|
patterns:
|
||||||
- "*"
|
- '*'
|
||||||
|
|
||||||
- package-ecosystem: "github-actions"
|
- package-ecosystem: 'github-actions'
|
||||||
directory: "/"
|
directory: '/'
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: 'daily'
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -27,7 +27,7 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs.
|
|||||||
### Organize & Manage PDFs
|
### Organize & Manage PDFs
|
||||||
|
|
||||||
| Tool Name | Description |
|
| Tool Name | Description |
|
||||||
| :----------------- | :------------------------------------------------------------------------- |
|
| :------------------------ | :------------------------------------------------------------------------- |
|
||||||
| **Merge PDFs** | Combine multiple PDF files into one. |
|
| **Merge PDFs** | Combine multiple PDF files into one. |
|
||||||
| **Split PDFs** | Extract specific pages or divide a document into smaller files. |
|
| **Split PDFs** | Extract specific pages or divide a document into smaller files. |
|
||||||
| **Organize Pages** | Reorder, duplicate, or delete pages with a simple drag-and-drop interface. |
|
| **Organize Pages** | Reorder, duplicate, or delete pages with a simple drag-and-drop interface. |
|
||||||
@@ -36,6 +36,8 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs.
|
|||||||
| **Rotate PDF** | Rotate individual or all pages in a document. |
|
| **Rotate PDF** | Rotate individual or all pages in a document. |
|
||||||
| **N-Up PDF** | Combine multiple pages onto a single page. |
|
| **N-Up PDF** | Combine multiple pages onto a single page. |
|
||||||
| **View PDF** | A powerful, integrated PDF viewer. |
|
| **View PDF** | A powerful, integrated PDF viewer. |
|
||||||
|
| **Alternate & Mix pages** | Merge pages by alternating pages from each PDF. |
|
||||||
|
| **Posterize PDF** | Split a PDF into multiple smaller pages for print. |
|
||||||
|
|
||||||
### Edit & Modify PDFs
|
### Edit & Modify PDFs
|
||||||
|
|
||||||
@@ -52,6 +54,7 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs.
|
|||||||
| **Fill Forms** | Fill out PDF forms directly in your browser. |
|
| **Fill Forms** | Fill out PDF forms directly in your browser. |
|
||||||
| **Flatten PDF** | Flatten form fields and annotations into static content. |
|
| **Flatten PDF** | Flatten form fields and annotations into static content. |
|
||||||
| **Remove Annotations** | Remove comments, highlights, and other annotations. |
|
| **Remove Annotations** | Remove comments, highlights, and other annotations. |
|
||||||
|
| **Remove Blank Pages** | Auto detect and remove blank pages in a PDF. |
|
||||||
|
|
||||||
### Convert to PDF
|
### Convert to PDF
|
||||||
|
|
||||||
@@ -82,6 +85,8 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs.
|
|||||||
| **Redact Content** | Permanently remove sensitive content from your PDFs. |
|
| **Redact Content** | Permanently remove sensitive content from your PDFs. |
|
||||||
| **Edit Metadata** | View and modify PDF metadata (author, title, keywords, etc.). |
|
| **Edit Metadata** | View and modify PDF metadata (author, title, keywords, etc.). |
|
||||||
| **Remove Metadata** | Strip all metadata from your PDF for privacy. |
|
| **Remove Metadata** | Strip all metadata from your PDF for privacy. |
|
||||||
|
| **Linearize PDF** | Optimize PDF for fast web view. |
|
||||||
|
| **Sanitize PDF** | Remove potentially unwanted or malicous files from PDF. |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -165,8 +170,8 @@ npm run release:minor
|
|||||||
npm run release:major
|
npm run release:major
|
||||||
```
|
```
|
||||||
|
|
||||||
````
|
|
||||||
For detailed release instructions, see [RELEASE.md](RELEASE.md).
|
For detailed release instructions, see [RELEASE.md](RELEASE.md).
|
||||||
|
|
||||||
### 🚀 Development Setup
|
### 🚀 Development Setup
|
||||||
|
|
||||||
#### Option 1: Run with npm
|
#### Option 1: Run with npm
|
||||||
@@ -176,7 +181,7 @@ For detailed release instructions, see [RELEASE.md](RELEASE.md).
|
|||||||
```bash
|
```bash
|
||||||
git clone https://github.com/alam00000/bentopdf.git
|
git clone https://github.com/alam00000/bentopdf.git
|
||||||
cd bentopdf
|
cd bentopdf
|
||||||
````
|
```
|
||||||
|
|
||||||
2. **Install Dependencies**:
|
2. **Install Dependencies**:
|
||||||
|
|
||||||
@@ -235,10 +240,8 @@ BentoPDF was originally built using **HTML**, **CSS**, and **vanilla JavaScript*
|
|||||||
|
|
||||||
- **HTML to PDF**: Convert HTML files or web pages into PDF documents.
|
- **HTML to PDF**: Convert HTML files or web pages into PDF documents.
|
||||||
- **Markdown to PDF**: Enhanced support for converting `.md` files to PDF.
|
- **Markdown to PDF**: Enhanced support for converting `.md` files to PDF.
|
||||||
- **Sanitize PDF**: Remove potentially malicious content like scripts from PDFs.
|
|
||||||
- **Convert to PDF/A**: Convert PDFs to the PDF/A archival format.
|
- **Convert to PDF/A**: Convert PDFs to the PDF/A archival format.
|
||||||
- **Edit PDF Content**: Directly edit text and other content within your PDF.
|
- **Edit PDF Content**: Directly edit text and other content within your PDF.
|
||||||
- **Linearize PDF**: Optimize PDFs for fast web viewing.
|
|
||||||
- **PDF to Office**: Converts PDF files into editable Word, Excel, and PowerPoint formats.
|
- **PDF to Office**: Converts PDF files into editable Word, Excel, and PowerPoint formats.
|
||||||
- **Office to PDF**: Converts Word, Excel, and PowerPoint documents into optimized PDFs.
|
- **Office to PDF**: Converts Word, Excel, and PowerPoint documents into optimized PDFs.
|
||||||
|
|
||||||
@@ -266,10 +269,11 @@ BentoPDF wouldn't be possible without the amazing open-source tools and librarie
|
|||||||
- **[PDFLib.js](https://pdf-lib.js.org/)** – For enabling powerful client-side PDF manipulation.
|
- **[PDFLib.js](https://pdf-lib.js.org/)** – For enabling powerful client-side PDF manipulation.
|
||||||
- **[PDF.js](https://mozilla.github.io/pdf.js/)** – For the robust PDF rendering engine in the browser.
|
- **[PDF.js](https://mozilla.github.io/pdf.js/)** – For the robust PDF rendering engine in the browser.
|
||||||
- **[PDFKit](https://pdfkit.org/)** – For creating and editing PDFs with ease.
|
- **[PDFKit](https://pdfkit.org/)** – For creating and editing PDFs with ease.
|
||||||
- **[EmbedPDF](https://github.com/embedpdf/embed-pdf-viewer)** – For seamless PDF embedding in web pages.
|
- **[EmbedPDF](https://github.com/embedpdf/embed-pdf-viewer)** – For seamless PDF editing in pure JS.
|
||||||
- **[Cropper.js](https://fengyuanchen.github.io/cropperjs/)** – For intuitive image cropping functionality.
|
- **[Cropper.js](https://fengyuanchen.github.io/cropperjs/)** – For intuitive image cropping functionality.
|
||||||
- **[Vite](https://vitejs.dev/)** – For lightning-fast development and build tooling.
|
- **[Vite](https://vitejs.dev/)** – For lightning-fast development and build tooling.
|
||||||
- **[Tailwind CSS](https://tailwindcss.com/)** – For rapid, flexible, and beautiful UI styling.
|
- **[Tailwind CSS](https://tailwindcss.com/)** – For rapid, flexible, and beautiful UI styling.
|
||||||
|
- **[qpdf](https://github.com/qpdf/qpdf)** and **[qpdf-wasm](https://github.com/neslinesli93/qpdf-wasm)**– A powerful command-line tool and library for inspecting, repairing, and transforming PDF file ported to wasm
|
||||||
|
|
||||||
Your work inspires and empowers developers everywhere. Thank you for making open-source amazing!
|
Your work inspires and empowers developers everywhere. Thank you for making open-source amazing!
|
||||||
|
|
||||||
|
|||||||
@@ -369,7 +369,7 @@ export const categories = [
|
|||||||
{
|
{
|
||||||
id: 'posterize',
|
id: 'posterize',
|
||||||
name: 'Posterize PDF',
|
name: 'Posterize PDF',
|
||||||
icon: 'layout-grid',
|
icon: 'notepad-text-dashed',
|
||||||
subtitle: 'Split a large page into multiple smaller pages.',
|
subtitle: 'Split a large page into multiple smaller pages.',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -392,7 +392,7 @@ export const categories = [
|
|||||||
{
|
{
|
||||||
id: 'linearize',
|
id: 'linearize',
|
||||||
name: 'Linearize PDF',
|
name: 'Linearize PDF',
|
||||||
icon: 'zap',
|
icon: 'gauge',
|
||||||
subtitle: 'Optimize PDF for fast web viewing.',
|
subtitle: 'Optimize PDF for fast web viewing.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -415,7 +415,7 @@ export const categories = [
|
|||||||
{
|
{
|
||||||
id: 'sanitize-pdf',
|
id: 'sanitize-pdf',
|
||||||
name: 'Sanitize PDF',
|
name: 'Sanitize PDF',
|
||||||
icon: 'shield-alert',
|
icon: 'brush-cleaning',
|
||||||
subtitle: 'Remove metadata, annotations, scripts, and more.',
|
subtitle: 'Remove metadata, annotations, scripts, and more.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -391,9 +391,6 @@ export async function sanitizePdf() {
|
|||||||
pageDict.delete(PDFName.of('Annots'));
|
pageDict.delete(PDFName.of('Annots'));
|
||||||
}
|
}
|
||||||
changesMade = true;
|
changesMade = true;
|
||||||
console.log(
|
|
||||||
`Page ${pageIndex + 1}: Removed ${linksRemoved} link(s)`
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
} catch (pageError) {
|
} catch (pageError) {
|
||||||
console.warn(
|
console.warn(
|
||||||
|
|||||||
@@ -251,7 +251,8 @@ const createFileInputHTML = (options = {}) => {
|
|||||||
<input id="file-input" type="file" class="absolute top-0 left-0 w-full h-full opacity-0 cursor-pointer" ${multiple} accept="${acceptedFiles}">
|
<input id="file-input" type="file" class="absolute top-0 left-0 w-full h-full opacity-0 cursor-pointer" ${multiple} accept="${acceptedFiles}">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${showControls
|
${
|
||||||
|
showControls
|
||||||
? `
|
? `
|
||||||
<!-- NEW: Add control buttons for multi-file uploads -->
|
<!-- NEW: Add control buttons for multi-file uploads -->
|
||||||
<div id="file-controls" class="hidden mt-4 flex gap-3">
|
<div id="file-controls" class="hidden mt-4 flex gap-3">
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ describe('Tool Configuration Arrays', () => {
|
|||||||
|
|
||||||
it('should have the correct number of tools', () => {
|
it('should have the correct number of tools', () => {
|
||||||
// This acts as a snapshot test to catch unexpected additions/removals.
|
// This acts as a snapshot test to catch unexpected additions/removals.
|
||||||
expect(singlePdfLoadTools).toHaveLength(39);
|
expect(singlePdfLoadTools).toHaveLength(40);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not contain any duplicate tools', () => {
|
it('should not contain any duplicate tools', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user