Replace em dashes (—) in ChatGPT, FragDasPDF, Intellipaper, and similar sites with your preferred separator (comma, colon, parentheses, or hyphen).
- Automatic Replacement: Automatically replaces em dashes in chat and message content
- Multi-Site Support: Works on chat.openai.com, chatgpt.com, and fragdaspdf.de
- Customizable Separators: Choose your preferred separator in the options page
- Real-time Updates: Changes apply immediately without page refresh
- Modern UI: Clean, accessible, and responsive options interface
- Popup Interface: Quick access to settings via extension popup
- Privacy-First: No data collection or external tracking
- Performance Optimized: Efficient DOM manipulation with debouncing
-
Clone this repository:
git clone https://github.com/yourusername/No-EM-Dash.git cd No-EM-Dash
-
Install dependencies and build:
npm install npm run build
-
Load in Chrome:
- Open Chrome and go to
chrome://extensions/
- Enable "Developer mode" (top right)
- Click "Load unpacked" and select the
dist/
folder
- Open Chrome and go to
- Use the root folder directly if you prefer not to build
- Follow steps 3-5 from above, but select the root folder instead
- Automatic Operation: The extension works automatically on supported sites
- Change Settings:
- Click the extension icon in the toolbar for quick access
- Or right-click the extension icon and choose "Options"
- Select your preferred separator and save
- Comma (,) - Default, adds space after comma
- Colon (:) - Simple colon replacement
- Parentheses ( ) - Wraps content in parentheses
- Hyphen (-) - Simple hyphen replacement
No-EM-Dash/
├── manifest.json # Extension configuration
├── content.js # Content script for DOM manipulation
├── options.html # Options page UI
├── options.js # Options page logic
├── popup.html # Extension popup UI
├── popup.js # Popup logic
├── build.js # Build script
├── icons/ # Extension icons
├── img/ # Images and assets
└── dist/ # Built extension (generated)
npm run build
- Build the extension todist/
foldernpm run clean
- Remove thedist/
foldernpm run package
- Clean and rebuild the extension
- Uses Manifest V3 for modern Chrome extension standards
- Implements proper content security policies
- Follows Chrome Web Store guidelines
- Uses
chrome.storage.sync
for cross-device synchronization - Graceful fallback handling for storage errors
- Automatic preference persistence
- Runs at
document_end
for optimal timing - Implements efficient mutation observation
- Handles dynamic content loading
- Includes proper cleanup and error handling
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow existing code style and patterns
- Add error handling for new features
- Test on multiple supported sites
- Update documentation for new features
- Ensure accessibility compliance
This project is licensed under the MIT License - see the LICENSE file for details.
- Powered by fragdaspdf.de - Read, Write, and Research 10x Faster
- Built with modern Chrome extension best practices
- Inspired by the need for better text formatting in AI conversations