mirror of
https://github.com/amitwh/markdown-converter.git
synced 2026-08-02 18:10:18 +05:30
Comprehensive header and footer customization system for all standard export formats with dynamic field support and persistent settings. ✨ Major Features: - Custom Headers & Footers for PDF, DOCX, ODT, and PowerPoint exports - Three-column layout (Left/Center/Right) for both headers and footers - Dynamic field support: $PAGE$, $TOTAL$, $DATE$, $TIME$, $TITLE$, $AUTHOR$, $FILENAME$ - Logo/image upload UI for header and footer branding - Enable/disable toggle with persistent settings across sessions - Field insertion helper dialog for quick dynamic field selection - Complete dark theme support for all 22 themes 🎯 Export Format Support: - PDF (Standard): LaTeX fancyhdr package with automatic page numbering - DOCX (Standard): Word XML manipulation with PAGE and NUMPAGES fields - ODT: OpenDocument format with Pandoc integration - PowerPoint (PPTX): Footer text with dynamic field replacement - Batch Converter: Full header/footer support for all formats 💡 Technical Implementation: - processDynamicFields() function for field replacement - LaTeX header generation with fancyhdr and lastpage packages - Word XML manipulation using PizZip for DOCX headers/footers - addHeaderFooterToDocx() function for post-processing DOCX exports - buildPandocCommand() enhanced with header/footer parameters - IPC handlers for dialog communication and settings management 🎨 User Interface: - New "Header & Footer Settings..." menu option in File menu - Professional configuration dialog with field previews - Logo upload with file path display and clear buttons - Dynamic field picker popup dialog - Responsive grid layout for three-column design - Smooth transitions and animations 📦 Integration Points: - Menu system (File → Header & Footer Settings...) - Standard export functions (PDF, DOCX, ODT, PPTX) - Batch converter with full format support - Settings persistence via electron-store - Logo file management in userData directory 🔧 Code Changes: - src/main.js: Added header/footer IPC handlers, state management, processDynamicFields(), addHeaderFooterToDocx(), enhanced buildPandocCommand() and performBatchConversion() - src/index.html: Added header/footer dialog and field picker dialog - src/renderer.js: Added dialog management, logo handling, field insertion - src/styles.css: Added comprehensive dialog styling with dark theme support - package.json: Updated version to 1.9.0 - CLAUDE.md: Documented v1.9.0 features and implementation details 📝 Note: Enhanced exports (DOCX Enhanced, PDF Enhanced) use Word templates with pre-configured headers/footers. This feature specifically targets standard (non-templated) exports. 🚀 Impact: Users can now add professional headers and footers to all document exports with custom branding, dynamic page numbers, dates, and titles - significantly improving document presentation for business and academic use cases. 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
139 lines
3.5 KiB
JSON
139 lines
3.5 KiB
JSON
{
|
|
"name": "pan-converter",
|
|
"version": "1.9.0",
|
|
"description": "Cross-platform Markdown editor and converter using Pandoc",
|
|
"main": "src/main.js",
|
|
"scripts": {
|
|
"start": "electron .",
|
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
"build": "electron-builder",
|
|
"build:win": "cross-env CSC_LINK=code-signing-cert.pfx CSC_KEY_PASSWORD=PanConverter2024! electron-builder --win",
|
|
"build:win-unsigned": "cross-env CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder --win",
|
|
"build:mac": "electron-builder --mac",
|
|
"build:linux": "electron-builder --linux",
|
|
"dist": "electron-builder --publish=never",
|
|
"dist:all": "electron-builder -mwl",
|
|
"generate-icons": "node scripts/generate-icons.js"
|
|
},
|
|
"keywords": [
|
|
"markdown",
|
|
"pandoc",
|
|
"converter",
|
|
"editor"
|
|
],
|
|
"author": "Amit Haridas <amit.wh@gmail.com>",
|
|
"license": "MIT",
|
|
"devDependencies": {
|
|
"cross-env": "^10.0.0",
|
|
"electron": "^37.4.0",
|
|
"electron-builder": "^26.0.12",
|
|
"sharp": "^0.34.3"
|
|
},
|
|
"dependencies": {
|
|
"codemirror": "^6.0.2",
|
|
"core-util-is": "^1.0.3",
|
|
"docx": "^9.5.1",
|
|
"docx4js": "^3.3.0",
|
|
"dompurify": "^3.2.6",
|
|
"electron-store": "^10.1.0",
|
|
"highlight.js": "^11.11.1",
|
|
"html2pdf.js": "^0.10.1",
|
|
"marked": "^16.2.1",
|
|
"pdf-lib": "^1.17.1",
|
|
"pdfkit": "^0.14.0",
|
|
"pizzip": "^3.2.0",
|
|
"tslib": "^2.8.1",
|
|
"xlsx": "^0.18.5"
|
|
},
|
|
"build": {
|
|
"appId": "com.panconverter.app",
|
|
"productName": "PanConverter",
|
|
"directories": {
|
|
"output": "dist"
|
|
},
|
|
"icon": "assets/icon",
|
|
"files": [
|
|
"src/**/*",
|
|
"assets/**/*",
|
|
"scripts/**/*",
|
|
"node_modules/**/*",
|
|
"package.json"
|
|
],
|
|
"fileAssociations": [
|
|
{
|
|
"ext": "md",
|
|
"name": "Markdown Document",
|
|
"description": "Markdown Document",
|
|
"mimeType": "text/markdown",
|
|
"role": "Editor"
|
|
},
|
|
{
|
|
"ext": "markdown",
|
|
"name": "Markdown Document",
|
|
"description": "Markdown Document",
|
|
"mimeType": "text/markdown",
|
|
"role": "Editor"
|
|
}
|
|
],
|
|
"mac": {
|
|
"category": "public.app-category.productivity"
|
|
},
|
|
"win": {
|
|
"target": [
|
|
{
|
|
"target": "nsis",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
},
|
|
{
|
|
"target": "portable",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
},
|
|
{
|
|
"target": "zip",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
}
|
|
],
|
|
"artifactName": "${productName}-${version}-${arch}.${ext}",
|
|
"requestedExecutionLevel": "asInvoker",
|
|
"signAndEditExecutable": false
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"perMachine": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"displayLanguageSelector": true,
|
|
"createDesktopShortcut": true,
|
|
"createStartMenuShortcut": true,
|
|
"shortcutName": "PanConverter",
|
|
"runAfterFinish": true,
|
|
"menuCategory": "Productivity",
|
|
"license": "LICENSE",
|
|
"warningsAsErrors": false,
|
|
"artifactName": "${productName}-Setup-${version}.${ext}",
|
|
"deleteAppDataOnUninstall": false,
|
|
"differentialPackage": true
|
|
},
|
|
"linux": {
|
|
"target": [
|
|
"deb",
|
|
"AppImage",
|
|
"snap"
|
|
],
|
|
"category": "Utility"
|
|
},
|
|
"deb": {
|
|
"depends": [
|
|
"pandoc"
|
|
],
|
|
"description": "Markdown editor and converter using Pandoc",
|
|
"maintainer": "Amit Haridas <amit.wh@gmail.com>"
|
|
}
|
|
}
|
|
}
|