docs: add README for Trilium Web Clipper with features, installation, usage, and development guidelines

This commit is contained in:
Octech2722 2025-10-18 12:26:04 -05:00
parent 022c697a2b
commit 2efb47289f

View File

@ -0,0 +1,148 @@
# Trilium Web Clipper (Manifest V3)
A modern Chrome extension for saving web content to [Trilium Notes](https://github.com/zadam/trilium) built with Manifest V3, TypeScript, and modern web standards.
## ✨ Features
- 🔥 **Modern Manifest V3** - Built with latest Chrome extension standards
- 📝 **Multiple Save Options** - Selection, full page, screenshots, links, and images
- ⌨️ **Keyboard Shortcuts** - Quick access with customizable hotkeys
- 🎨 **Modern UI** - Clean, responsive popup interface
- 🛠️ **TypeScript** - Full type safety and developer experience
- 🔍 **Enhanced Error Handling** - Comprehensive logging and user feedback
- 🚀 **Developer Friendly** - Modern build tools and hot reload
## 🚀 Installation
### From Source
1. Clone the repository and navigate to the extension directory
2. Install dependencies:
```bash
npm install
```
3. Build the extension:
```bash
npm run build
```
4. Load the extension in Chrome:
- Open `chrome://extensions/`
- Enable "Developer mode"
- Click "Load unpacked" and select the `dist` folder
## 🎯 Usage
### Save Content
- **Selection**: Highlight text and use `Ctrl+Shift+S` or right-click menu
- **Full Page**: Use `Alt+Shift+S` or click the extension icon
- **Screenshot**: Use `Ctrl+Shift+E` or right-click menu
- **Links & Images**: Right-click on links or images to save directly
### Keyboard Shortcuts
- `Ctrl+Shift+S` (Mac: `Cmd+Shift+S`) - Save selection
- `Alt+Shift+S` (Mac: `Option+Shift+S`) - Save full page
- `Ctrl+Shift+E` (Mac: `Cmd+Shift+E`) - Save screenshot
### Extension Popup
Click the extension icon to:
- Save current page or selection
- Take a screenshot
- Configure settings
- View save status
## ⚙️ Configuration
1. Right-click the extension icon and select "Options"
2. Enter your Trilium server URL (e.g., `http://localhost:8080`)
3. Configure default note title format
4. Set up saving preferences
### Trilium Server Setup
Ensure your Trilium server is accessible and ETAPI is enabled:
1. In Trilium, go to Options → ETAPI
2. Create a new token or use an existing one
3. Enter the token in the extension options
## 🔧 Development
### Prerequisites
- Node.js 18+ (22+ recommended)
- npm or yarn
- Chrome/Chromium 88+ (for Manifest V3 support)
### Development Workflow
```bash
# Install dependencies
npm install
# Start development mode (watch for changes)
npm run dev
# Build for production
npm run build
# Type checking
npm run type-check
# Lint and format code
npm run lint
npm run format
```
### Project Structure
```
src/
├── background/ # Service worker (background script)
├── content/ # Content scripts
├── popup/ # Extension popup UI
├── options/ # Options page
├── shared/ # Shared utilities and types
└── manifest.json # Extension manifest
```
## 🐛 Troubleshooting
**Extension not loading:**
- Ensure you're using Chrome 88+ (Manifest V3 support)
- Check that the `dist` folder was created after running `npm run build`
- Look for errors in Chrome's extension management page
**Can't connect to Trilium:**
- Verify Trilium server is running and accessible
- Check that ETAPI is enabled in Trilium options
- Ensure the server URL in extension options is correct
**Content not saving:**
- Check browser console for error messages
- Verify your Trilium ETAPI token is valid
- Ensure the target note or location exists in Trilium
## 📝 License
This project is licensed under the same license as the main Trilium project.
## 🤝 Contributing
Contributions are welcome! Please:
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## 📋 Changelog
### v1.0.0
- Complete rebuild with Manifest V3
- Modern TypeScript architecture
- Enhanced error handling and logging
- Improved user interface
- Better developer experience