Commit Graph
55 Commits
Author SHA1 Message Date
alam00000 d8210be3c1 fix(docker): send ROBOTS_NOINDEX as a header, make COMPRESSION_MODE work and fix the Docker guide example 2026-10-27 18:07:29 +05:30
alam00000 1a6b38c077 fix(docs): clarify Hyper Licensing 2026-10-27 13:23:08 +05:30
alam00000 4edb1718cc feat: translate all pages, UI messages and docs and fix SEO redirects and indexing 2026-10-25 12:55:21 +05:30
David Cumps 4d3468c06f fix(seo): accept official blog canonicals under a custom SITE_URL (#933)
The blog is BentoPDF's own content, so generate-blog.mjs and the
hand-written blog pages keep their canonical on www.bentopdf.com in
self-hosted builds too. seo-audit.mjs now expects that official canonical
(and host) for blog/ pages instead of failing every custom-SITE_URL build.
2026-10-23 13:58:14 +00:00
alam00000 6e8e012d3d fix: serve canonical, hreflang and sitemap URLs and restore Export in the PDF editor 2026-10-23 15:01:31 +05:30
alam00000 538e940525 Merge main into add-farsi-translation 2026-10-22 12:47:54 +05:30
alam00000 2f96455896 chore: stop tracking generated build files, fix sponsors workflow and refresh README hero 2026-10-19 18:14:45 +05:30
alam00000 edd959f345 fix(security): harden sanitize, flatten, redaction, signature validation, CSP, proxies and CI 2026-10-19 14:45:00 +05:30
alam00000 daae736907 fix(i18n): add Polish (pl) language support to routing and sitemap generation 2026-09-22 18:26:27 +05:30
alam00000 c5ec840d10 feat: add testimonial with real users 2026-09-14 02:37:46 +05:30
alam00000 9e980cdea2 seo fixes 2026-09-04 16:26:08 +05:30
Kouros Zanbouri a36e2d6ae6 Merge branch 'main' into add-farsi-translation 2026-08-30 22:50:46 +01:00
alam00000 ee17fa8760 Add BASE_PATH handling to expectedCanonicalForFile function 2026-08-14 19:19:26 +05:30
alam00000 61fde80a90 Add dynamic brand name and local home URL generation for language support 2026-08-14 16:51:22 +05:30
alam00000 866ecfed2d Add support for disabling GitHub star counter at build time 2026-08-14 14:41:44 +05:30
Kouros Zanbouri e5901f662f Add Farsi (Persian) translation
Add complete fa locale with 1146 translated keys (266 common, 880 tools).

Register 'fa' in supportedLanguages, languageNames, and SUPPORTED_LANGUAGES.
Also add 'fa' to the three hardcoded language regexes in i18n.ts
(getLanguageFromUrl, changeLanguage, rewriteLinks) — these are not mentioned
in TRANSLATION.md, but without them /fa/ silently falls back to English.
Persian is RTL, so extend the dir=rtl check from 'ar' to ['ar','fa'] in both
i18n.ts and generate-i18n-pages.mjs.
2026-07-31 12:51:54 +01:00
alam00000 58cd1a8893 feat(security): enhance security policies and implement input validation across multiple files 2026-07-14 19:46:40 +05:30
alam00000 1d9b7c2a07 feat(multi-pdf): enhance PDF multi-tool functionality to allow drag n drop of PDF and images
fix(ocr): pin font CDN to rawcdn.githack.com with commit SHAs
2026-05-29 20:05:50 +05:30
alam00000 58a0053778 fix(nginx): tighten routing + add SEO redirects
fix(seo): canonical -> English for localized pages
docs: reframe Self-Hosted vs Commercial builds + Common Issues
2026-05-15 12:13:37 +05:30
alam00000 48c74de326 refactor(release): simplify Helm chart bump 2026-05-03 13:32:04 +05:30
alam00000 668ea89a48 feat(release): update Helm chart version and appVersion in Chart.yaml and set it to auto update on subsequent releases 2026-05-03 12:14:51 +05:30
alam00000 6f5c75b913 fix(airgap): pin Tesseract version in setup.sh tar to avoid glob collision with -core- tgz 2026-05-01 12:00:46 +05:30
alam00000 0040317e48 feat(seo): canonicalize URLs, clean structured data, add audit gate
- Canonicals/hreflang/og point to www.bentopdf.com everywhere
- Drop fake aggregateRating; add Organization + breadcrumb JSON-LD
- Sitemap: filter 404/wasm-settings, mtime-based lastmod
- Rename locale ua → uk (correct ISO 639-1)
- Self-hoster: SITE_URL build arg, ROBOTS_NOINDEX runtime env
- Simple Mode indexable by default
- nginx: collapse .html and /index.html via 301
- SEO audit script + PR gate; runtime config noise fixed
- a11y contrast fix; language switcher gets search + scroll
- robots.txt: drop Crawl-delay
2026-04-29 12:04:34 +05:30
alam00000 18cdfac8cd fix(security): update script-src directive to include 'blob:' 2026-04-21 19:24:28 +05:30
alam00000 81e82918bf feat(security): enhance CSP directives and add documentation support 2026-04-20 15:31:50 +05:30
alam00000 e37d2d539e fix(security): add 'blob:' to connect-src directive in CSP 2026-04-20 12:42:11 +05:30
alam00000 54c6091e10 fix(security): remove 'upgrade-insecure-requests' directive from CSP 2026-04-19 14:30:53 +05:30
alam00000 b612548b78 fix(security): update Cross-Origin-Embedder-Policy to 'credentialless' 2026-04-19 12:21:08 +05:30
alam00000 b040aef729 chore(security): fixes 2026-04-18 15:21:59 +05:30
alam00000 b9f128f8c7 fix: update Content Security Policy 2026-04-18 00:29:33 +05:30
alam00000 b4779bb49b feat: enhance sanitization 2026-04-17 23:40:39 +05:30
alam00000 2f0d48c01b refactor: add simple mode to releases 2026-04-05 13:01:45 +05:30
Sebastian Espei 4eb4efffa2 fix: update git add command to only include package.json 2026-03-30 16:02:57 +02:00
Sebastian Espei 2e8cd3fafd refactor: remove old update-version process from release process 2026-03-30 15:29:17 +02:00
Sebastian Espei 2bdacb7507 refactor: remove version update script and related version handling code 2026-03-30 01:34:54 +02:00
alam00000 77da6d7a7d feat: integrate Tesseract.js with improved language availability and font handling
- Refactored OCR page recognition to utilize a configured Tesseract worker.
- Added functions to manage font URLs and asset filenames based on language.
- Implemented language availability checks and error handling for unsupported languages.
- Enhanced PDF workflow to display available OCR languages and handle user selections.
- Introduced utility functions for resolving Tesseract asset configurations.
- Added tests for OCR functionality, font loading, and Tesseract runtime behavior.
- Updated global types to include environment variables for Tesseract and font configurations.
2026-03-14 15:50:30 +05:30
alam00000 f57ea089e9 fix: rotation functionality for PDF page and add corresponding tests 2026-03-09 19:56:50 +05:30
alam00000 a386fd26fc fix: enhance error handling for i18n page generation 2026-02-21 14:44:09 +05:30
alam00000 3cf435d59d feat: add custom branding, air-gapped deployment script, and updated self-hosting docs 2026-02-14 21:41:45 +05:30
alam00000 5d8b83e105 Add visual workflow builder, fix critical bugs, and add Arabic i18n support 2026-02-08 17:05:40 +05:30
alam00000 4fb3b0ec1c fix: optimize i18n page generation to prevent OOM during Docker build 2026-01-27 16:40:57 +05:30
alam00000 b745831526 fix: use absolute paths for i18n links to prevent URL duplication 2026-01-26 23:46:19 +05:30
alam00000 b059ac6ada chore: migrate Docker Hub to bentopdfteam, add Podman/Quadlet support
- Migrate Docker Hub account from bentopdf to bentopdfteam
- Make GHCR the recommended container registry
- Add Podman and Podman Compose support
- Add Podman Quadlet (systemd) documentation
- Add Table of Contents to README
2026-01-26 13:34:50 +05:30
alam00000 abf7ae8a00 feat(i18n): add static pre-rendering for multi-language support
- Add `generate-i18n-pages.mjs` script to pre-render localized HTML files at build time
- Add `generate-sitemap.mjs` script to generate language-aware sitemap.xml
- Create `navbar-simple.html` and `footer-simple.html` partials for simple mode
- Update all 80+ tool pages with language routing support
- Expand supported languages to 12: en, de, es, fr, it, pt, tr, vi, id, zh, zh-TW
- Update i18n.ts with new language names and support configuration
- Implement languageRouterPlugin in vite.config.ts for dev server routing
- Update nginx.conf for production static file serving from language directories
- Update TRANSLATION.md with new architecture documentation and language addition guide
- Fix relative paths in 404.html for static deployment compatibility
- Update package.json with new build scripts and dependencies
- Improves SEO through static pre-rendering and proper sitemap generation
2026-01-14 21:04:56 +05:30
abdullahalam123 dfd56c12d5 refactor: extract navbar and footer into reusable partials
- Extract navbar component from index.html into src/partials/navbar.html
- Extract footer component from index.html into src/partials/footer.html
- Add update-partials.js script to automate partial injection into page templates
- Update all 80+ page templates to use injected navbar and footer partials
- Update vite.config.ts to support partial file processing
- Update package.json and package-lock.json with build script changes
- Sync all translation files (de, en, fr, id, it, pt, tr, vi, zh, zh-TW) with latest keys
- Improves maintainability by centralizing navbar and footer updates across all pages
2026-01-12 22:11:01 +05:30
abdullahalam123 34d65300d7 add:include-docs script 2025-12-30 13:27:11 +05:30
abdullahalam123 f30a084fce feat: Add VitePress docs, EPUB to PDF tool, Phosphor icons, and licensing updates
- Set up VitePress documentation site (docs:dev, docs:build, docs:preview)
- Added Getting Started, Tools Reference, Contributing, and Commercial License pages
- Created self-hosting guides for Docker, Vercel, Netlify, Cloudflare, AWS, Hostinger, Nginx, Apache
- Updated README with documentation link, sponsors section, and docs contribution guide

- Added EPUB to PDF converter using LibreOffice WASM

- Migrated to Phosphor Icons for consistent iconography

- Added donation ribbon banner on landing page
- Removed 'Like My Work?' section (replaced by ribbon)
- Updated licensing.html with delivery model, AGPL notice, invoicing, and no-refund policy

- Added Commercial License documentation page
- Updated translations table (Chinese added, marked non-English as In Progress)

- Added sponsors.yml workflow for auto-generating sponsor avatars
2025-12-27 19:38:33 +05:30
abdullahalam123 78dc6333f9 setup i18n and ported all tools to standalone pages 2025-12-11 19:34:14 +05:30
abdullahalam123 1e557d5b2a feat(security,build): add COOP/COEP headers and improve PDF viewer initialization
- Add Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers to nginx.conf for enhanced security
- Create serve.json configuration file with security headers for local development
- Update npm scripts to use vite preview instead of serve package for consistency
- Fix PDF viewer file parameter handling to prevent fallback to default URL
- Enable annotation editor mode by default in PDF viewers (annotationEditorMode: 1)
- Improve PDF preference management by clearing conflicting annotation editor settings before loading
- Update iframe URL construction to use URL API for proper origin handling
- Refactor annotation viewer setup to use eventBus for stamp button activation instead of direct DOM manipulation
- Add localStorage preference configuration for signature editor and permissions in sign tool
- Enhance security posture by implementing COOP/COEP headers required for SharedArrayBuffer and cross-origin isolation
2025-11-18 11:13:03 +05:30
abdullahalam123 f78cc54cc0 feat(pdfjs-annotation-extension): update module export structure and remove unused font files
Refactored the module export structure in pdfjs-annotation-extension.js for improved compatibility across module systems. Additionally, deleted unused font files (PingFangChangAnTi-2.ttf and qiantubifengshouxieti.ttf) to streamline the extension's resources.
2025-11-17 13:51:38 +05:30