A Teable plugin for converting web links in tables to downloadable attachments.
- 🔗 Smart Link Detection - Automatically identify URL links in table fields
- 📎 Attachment Conversion - Convert links to downloadable files in Teable attachment fields
- 🎯 Field Mapping - Flexible selection of source link fields and target attachment fields
- 📊 Batch Processing - Process multiple links across multiple records at once
- 🔧 Progress Tracking - Real-time display of conversion progress and results
- 🎨 Theme Support - Complete light/dark mode compatibility with automatic theme detection
- 🌍 Internationalization - Full i18n support (English/Chinese)
- 📱 Responsive Design - Optimized for all screen sizes
- ⚡ Performance Optimized - Efficient data fetching with React Query
- 🛡️ Error Handling - Comprehensive error reporting and user feedback
- 🔌 Teable Integration - Seamless integration with Teable tables and fields
- Next.js 14.2.14 - React full-stack framework with App Router
- React 18.2.0 - UI library with modern React features
- TypeScript 5 - Type-safe JavaScript superset
- Tailwind CSS 3.4.1 - Atomic CSS framework
- @teable/ui-lib - Teable official UI component library
- @tanstack/react-query 4.36.1 - Server state management and caching
- React Context - Client-side state management
@teable/sdk- Plugin bridge, UI configuration, utilities@teable/openapi- API client and type definitions@teable/core- Core type definitions and utilities
- react-i18next 14.1.0 - React internationalization framework
- i18next 23.10.1 - Core internationalization library
- Node.js 18+
- npm or yarn
npm installnpm run devThe development server will start at http://localhost:3001
npm run build
npm start- Select Link Field - Choose the text field containing web links
- Select Attachment Field - Choose the field to store converted attachments
- Start Conversion - Click "Start Conversion" to process the links
- View Results - After conversion, the attachment field will contain downloadable files
- URL Field - Source field containing web links
- Attachment Field - Target field for storing conversion results
- Error Handling - Whether to continue processing other links when encountering errors
- Preserve Original Links - Whether to save original URLs in attachment comments
The plugin supports the following languages:
- 🇺🇸 English (en)
- 🇨🇳 Simplified Chinese (zh)
Translation files are located in the src/locales/ directory.
src/
├── app/ # Next.js App Router
├── components/ # React components
│ ├── SimpleLinkConverter.tsx # Main converter component
│ └── ... # Other UI components
├── hooks/ # React Hooks
├── lib/ # Utility libraries
├── locales/ # Internationalization files
├── services/ # Business logic
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
The plugin receives configuration via URL parameters:
baseId,pluginId,pluginInstallId- Teable identifierstableId- Target table IDlang,theme- Localization and theme settings
Uses @teable/sdk's usePluginBridge() hook for:
- Host environment communication
- Authentication via
getSelfTempToken() - Real-time event listening
Issues and Pull Requests are welcome to improve this plugin!
MIT License