Contribuir
¡Gracias por tu interés en contribuir a BentoPDF! Esta guía te ayudará a empezar.
Primeros pasos
Requisitos previos
- Node.js 18+
- npm 9+
- Git
Configuración
bash
# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/bentopdf.git
cd bentopdf
# Install dependencies
npm install
# Start development server
npm run devEstructura del proyecto
bentopdf/
├── src/
│ ├── js/
│ │ ├── config/ # Tool definitions
│ │ ├── logic/ # Tool page logic
│ │ ├── utils/ # Shared utilities
│ │ └── ui.ts # UI helpers
│ ├── pages/ # Tool HTML pages
│ └── css/ # Styles
├── public/
│ ├── locales/ # Translations
│ └── pymupdf-wasm/ # WASM modules
├── docs/ # Documentation (VitePress)
└── scripts/ # Build scriptsAñadir una herramienta nueva
Paso 1: Crear el archivo de lógica
Crea src/js/logic/your-tool-page.ts:
typescript
import { showLoader, hideLoader, showAlert } from '../ui.js';
import { state } from '../state.js';
document.addEventListener('DOMContentLoaded', () => {
// Your tool logic here
});Paso 2: Crear la página HTML
Crea src/pages/your-tool.html siguiendo las plantillas de herramientas existentes.
Paso 3: Registrar la herramienta
Añade a src/js/config/tools.ts:
typescript
{
href: import.meta.env.BASE_URL + 'your-tool.html',
name: 'Your Tool',
icon: 'ph-icon-name',
subtitle: 'Description of your tool.',
}Paso 4: Añadir a la configuración de compilación
Añade la página a vite.config.ts:
typescript
'your-tool': resolve(__dirname, 'src/pages/your-tool.html'),Paso 5: Añadir traducciones
Añade entradas a todos los archivos de idioma en public/locales/:
json
{
"yourTool": {
"name": "Your Tool",
"subtitle": "Description"
}
}Estilo de código
- Usa TypeScript para todo el código nuevo
- Sigue los patrones existentes para mantener la coherencia
- Ejecuta
npm run formatantes de hacer commit - Sin comentarios en el código de producción (los comentarios se eliminan durante la compilación)
Proceso de pull request
- Crea una rama de funcionalidad:
git checkout -b feature/your-feature - Haz tus cambios
- Pruébalo a fondo:
npm run build - Envía un PR con una descripción clara
Traducción
Consulta TRANSLATION.md para añadir nuevos idiomas.
Acuerdo de licencia de colaborador
Antes de que se pueda fusionar tu PR, tendrás que firmar nuestro CLA:
Obtener ayuda
Licencia
BentoPDF tiene doble licencia:
- AGPL-3.0 para proyectos de código abierto en los que compartes públicamente todo tu código fuente
- Licencia comercial para aplicaciones propietarias o de código cerrado: Obtén la licencia de por vida por $79
Al contribuir, aceptas que tus contribuciones se licencien bajo estos términos.