From bfe362245d38d43e70a98ce615ea0dcbbc47c34e Mon Sep 17 00:00:00 2001 From: amitwh Date: Mon, 1 Sep 2025 20:08:14 +0530 Subject: [PATCH] Update README.md with v1.2.0 features and remove CLAUDE.md --- CLAUDE.md | 219 ------------------------------------------------------ README.md | 82 ++++++++++++++++---- 2 files changed, 68 insertions(+), 233 deletions(-) delete mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 719f484..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,219 +0,0 @@ -# PanConverter - -## Overview -PanConverter is a cross-platform desktop application for editing and converting Markdown files using Pandoc. It features a rich markdown editor with live preview, multiple themes, and comprehensive support for exporting to various document formats. - -## Features -- **Markdown Editor**: Full-featured editor with syntax highlighting and toolbar -- **Live Preview**: Real-time preview of your markdown content -- **Multiple Themes**: Light, Dark, Solarized, Monokai, and GitHub themes -- **Document Export**: Export to HTML, PDF, DOCX, LaTeX, RTF, ODT, EPUB, PowerPoint (PPTX), and OpenDocument Presentation (ODP) -- **Spreadsheet Export**: Export markdown tables to Excel (XLSX/XLS) and OpenDocument Spreadsheet (ODS) formats -- **Document Import & Conversion**: Import various document formats and convert between formats via Pandoc -- **Table Creation Helper**: Built-in table generator for easy markdown table creation -- **Cross-Platform**: Runs on Windows, macOS, and Linux -- **Auto-Save**: Automatic saving every 30 seconds - -## Requirements -- **Pandoc**: Must be installed on the system for export functionality - - Ubuntu/Debian: `sudo apt-get install pandoc` - - macOS: `brew install pandoc` - - Windows: Download from https://pandoc.org/installing.html - -## Development Setup - -### Prerequisites -- Node.js (v14 or higher) -- npm or yarn -- Pandoc (for export features) - -### Installation -```bash -# Clone the repository -git clone -cd pan-converter - -# Install dependencies -npm install - -# Generate icons -npm run generate-icons - -# Start the application -npm start -``` - -## Building - -### Build for Current Platform -```bash -npm run build -``` - -### Build for Specific Platforms -```bash -# Windows -npm run build:win - -# macOS -npm run build:mac - -# Linux (generates .deb, .AppImage, and .snap) -npm run build:linux -``` - -### Build for All Platforms -```bash -npm run dist:all -``` - -## Project Structure -``` -pan-converter/ -├── src/ -│ ├── main.js # Main process -│ ├── renderer.js # Renderer process -│ ├── index.html # Main window HTML -│ └── styles.css # Application styles -├── assets/ -│ ├── icon.svg # Source icon -│ └── icon.png # Generated icons -├── scripts/ -│ └── generate-icons.js # Icon generation script -├── package.json # Project configuration -└── CLAUDE.md # This file -``` - -## Architecture - -### Main Process (`src/main.js`) -- Manages application lifecycle -- Creates and manages windows -- Handles file operations -- Manages menu bar -- Communicates with renderer via IPC - -### Renderer Process (`src/renderer.js`) -- Handles UI interactions -- Manages editor state -- Renders markdown preview -- Handles theme switching -- Communicates with main process via IPC - -### Key Libraries -- **Electron**: Desktop application framework -- **marked**: Markdown parsing -- **highlight.js**: Syntax highlighting -- **DOMPurify**: HTML sanitization -- **XLSX**: Spreadsheet generation for Excel/ODS export -- **electron-builder**: Application packaging -- **Custom Storage**: File-based storage system for settings persistence - -## Features Implementation - -### Markdown Editor -- Uses native textarea with custom styling -- Supports common markdown shortcuts via toolbar -- Tab key inserts 4 spaces for code indentation -- Auto-save every 30 seconds when content changes - -### Live Preview -- Updates in real-time as you type -- Sanitized HTML output for security -- Syntax highlighting for code blocks -- GitHub-flavored markdown support - -### Theme System -- Themes stored in user preferences -- Applied via CSS classes on body element -- Persists across application restarts -- Five built-in themes - -### Export System -- Uses Pandoc command-line tool for document exports -- Supports multiple output formats (HTML, PDF, DOCX, LaTeX, RTF, ODT, EPUB, PPTX, ODP) -- Spreadsheet export using XLSX library for table data -- Import functionality for converting documents to markdown -- Maintains original file structure -- Shows error messages if Pandoc not installed - -### Table Creation Helper -- Interactive table generator in toolbar -- Prompts for row and column count -- Generates properly formatted markdown tables -- Includes headers and separator rows -- Automatically inserts at cursor position - -### Document Conversion Menu -- Separate Convert menu for cross-format operations -- Import documents from various formats to markdown -- Convert current file to different formats -- Supports presentations with proper slide-level formatting -- Error handling for missing Pandoc installation - -## Platform-Specific Branches - -The repository maintains separate branches for platform-specific customizations: -- `master`: Main development branch -- `linux`: Linux-specific configurations -- `macos`: macOS-specific configurations -- `windows`: Windows-specific configurations - -## Debian Package - -The application can be built as a `.deb` package for Debian-based systems: -```bash -npm run build:linux -``` - -The generated `.deb` file will: -- Install to `/opt/pan-converter` -- Create desktop entry for application menu -- Set up proper file associations -- Declare Pandoc as dependency - -## Testing - -### Manual Testing -1. File Operations: New, Open, Save, Save As -2. Editor Features: Bold, Italic, Headings, Links, Code, Lists, Quotes, Table Creation -3. Preview Toggle: Show/hide preview pane -4. Theme Switching: Test all five themes -5. Export Functions: Test each export format including PowerPoint and spreadsheets -6. Import/Conversion: Test document import and format conversion -7. Table Helper: Test table generation with different row/column counts -8. Auto-save: Verify 30-second auto-save works - -### Platform Testing -Test on: -- Windows 10/11 -- macOS 11+ (Big Sur and later) -- Ubuntu 20.04+, Debian 11+ - -## Known Issues -- ICO and ICNS icons need manual conversion from PNG -- Pandoc must be installed separately for all export functionality -- Large files may cause performance issues -- AppImage requires --no-sandbox flag on some systems -- Windows/Mac builds require platform-specific build environments - -## Version History -- **v1.2.0**: Added PowerPoint export, document conversion menu, table creation helper, spreadsheet export -- **v1.1.0**: Added Excel/ODS spreadsheet export, updated author information, renamed to PanConverter -- **v1.0.0**: Initial release with basic markdown editing, themes, and Pandoc export - -## Future Enhancements -- [ ] Add spell checking -- [ ] Implement find and replace -- [ ] Add custom CSS for preview -- [ ] Support for markdown extensions -- [ ] Plugin system for custom exporters -- [ ] Cloud sync capabilities -- [ ] Collaborative editing -- [ ] Improved table editing interface - -## License -MIT License - -## Support -For issues or feature requests, please open an issue on the GitHub repository. \ No newline at end of file diff --git a/README.md b/README.md index b7273e3..8d6adb5 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,40 @@ -# Pan Converter +# PanConverter A cross-platform Markdown editor and converter powered by Pandoc. -![Pan Converter](assets/icon.png) +![PanConverter](assets/icon.png) ## Features -- 📝 **Rich Markdown Editor** - Full-featured editor with syntax highlighting +- 📝 **Rich Markdown Editor** - Full-featured editor with syntax highlighting and toolbar - 👁️ **Live Preview** - See your markdown rendered in real-time - 🎨 **Multiple Themes** - Choose from Light, Dark, Solarized, Monokai, or GitHub themes -- 📤 **Export to Multiple Formats** - Convert to HTML, PDF, DOCX, LaTeX, RTF, ODT, and EPUB -- 💾 **Auto-Save** - Never lose your work with automatic saving +- 📤 **Document Export** - Convert to HTML, PDF, DOCX, LaTeX, RTF, ODT, EPUB, PowerPoint (PPTX), and OpenDocument Presentation (ODP) +- 📊 **Spreadsheet Export** - Export markdown tables to Excel (XLSX/XLS) and OpenDocument Spreadsheet (ODS) formats +- 📥 **Document Import & Conversion** - Import various document formats and convert between formats via Pandoc +- 📋 **Table Creation Helper** - Built-in table generator for easy markdown table creation +- 💾 **Auto-Save** - Never lose your work with automatic saving every 30 seconds - 🖥️ **Cross-Platform** - Works on Windows, macOS, and Linux ## Installation ### Prerequisites - [Pandoc](https://pandoc.org/installing.html) must be installed for export functionality + - **Ubuntu/Debian**: `sudo apt-get install pandoc` + - **macOS**: `brew install pandoc` + - **Windows**: Download installer from Pandoc website ### Download -Download the latest release for your platform from the [Releases](https://github.com/yourusername/pan-converter/releases) page. +Download the latest release for your platform from the [Releases](https://github.com/amitwh/pan-converter/releases) page. + +#### Linux +- **AppImage**: `PanConverter-1.2.0.AppImage` (universal, may require `--no-sandbox` flag) +- **Debian Package**: `pan-converter_1.2.0_amd64.deb` +- **Snap Package**: `pan-converter_1.2.0_amd64.snap` ### Install from Source ```bash -git clone https://github.com/yourusername/pan-converter.git +git clone https://github.com/amitwh/pan-converter.git cd pan-converter npm install npm start @@ -31,10 +42,26 @@ npm start ## Usage +### Basic Workflow 1. **Write** - Use the editor to write your Markdown content 2. **Preview** - Toggle the preview pane to see rendered output 3. **Theme** - Choose your preferred theme from the View menu -4. **Export** - Export your document to various formats via File > Export +4. **Export** - Export your document to various formats + +### Export Options +- **Documents**: HTML, PDF, DOCX, LaTeX, RTF, ODT, EPUB +- **Presentations**: PowerPoint (PPTX), OpenDocument Presentation (ODP) +- **Spreadsheets**: Excel (XLSX/XLS), OpenDocument Spreadsheet (ODS) + +### Import & Conversion +- **Import Documents**: Convert DOCX, ODT, RTF, HTML, PDF, and presentation files to Markdown +- **Cross-Format Conversion**: Convert current file between multiple formats +- **Smart Presentation Handling**: Automatic slide-level formatting for PPTX/ODP exports + +### Table Creation +- Click the table button in the toolbar +- Specify number of rows and columns +- Automatically generates properly formatted Markdown tables ## Keyboard Shortcuts @@ -42,34 +69,61 @@ npm start - `Ctrl/Cmd + O` - Open file - `Ctrl/Cmd + S` - Save file - `Ctrl/Cmd + Shift + S` - Save as +- `Ctrl/Cmd + I` - Import document - `Ctrl/Cmd + P` - Toggle preview - `Ctrl/Cmd + Enter` - Toggle preview (alternative) +- `Tab` - Insert 4 spaces (in editor) ## Building ```bash +# Install dependencies +npm install + +# Generate icons +npm run generate-icons + # Build for current platform npm run build # Build for specific platform -npm run build:win -npm run build:mac -npm run build:linux +npm run build:win # Windows +npm run build:mac # macOS +npm run build:linux # Linux (generates .deb, .AppImage, and .snap) # Build for all platforms npm run dist:all ``` +## Version History + +- **v1.2.0** - Added PowerPoint export, document conversion menu, table creation helper, spreadsheet export +- **v1.1.0** - Added Excel/ODS spreadsheet export, updated author information, renamed to PanConverter +- **v1.0.0** - Initial release with basic markdown editing, themes, and Pandoc export + +## Known Issues + +- AppImage may require `--no-sandbox` flag on some Linux systems +- Windows/Mac builds require platform-specific build environments +- Large files may cause performance issues + ## Contributing -Contributions are welcome! Please feel free to submit a Pull Request. +Contributions are welcome! Please feel free to submit a Pull Request to the [GitHub repository](https://github.com/amitwh/pan-converter). ## License -MIT License - see LICENSE file for details +MIT License - see LICENSE file for details. + +## Author + +**Amit Haridas** - [amit.wh@gmail.com](mailto:amit.wh@gmail.com) ## Acknowledgments - Built with [Electron](https://www.electronjs.org/) - Markdown parsing by [marked](https://marked.js.org/) -- Export functionality powered by [Pandoc](https://pandoc.org/) \ No newline at end of file +- Export functionality powered by [Pandoc](https://pandoc.org/) +- Syntax highlighting by [highlight.js](https://highlightjs.org/) +- Spreadsheet export by [XLSX](https://www.npmjs.com/package/xlsx) +- HTML sanitization by [DOMPurify](https://www.npmjs.com/package/dompurify) \ No newline at end of file