Zsoogi Clipper
A modern WordPress plugin for creating and managing research documentation with a bookmarklet providing quick content capture from external internet sources into admin-only post type.
by The API Guys · github.com/theapiguysdev/zsoogi-clipper · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/theapiguysdev/zsoogi-clipper/archive/refs/heads/main.zip
A modern WordPress plugin for creating and managing Zsoogi clip-style research documentation with a jQuery-free bookmarklet providing quick content capture from external internet sources into admin-only post type.
Description
Zsoogi Clipper enables administrators to create, organize, and manage Zsoogi clips within WordPress. The plugin combines a custom post type for Zsoogi clips with a modern bookmarklet, allowing you to easily capture and curate content from anywhere on the web.
Perfect for teams building internal documentation, knowledge bases, API documentation, or any content that benefits from Zsoogi clip-style organization and quick content capture from external sources.
Features
📚 Zsoogi Management
- Custom Post Type: Dedicated Zsoogi clip post type optimized for documentation
- Hierarchical Taxonomy: Organize Zsoogi clips by type/category
- Full Editor Support: Gutenberg block editor, classic editor, thumbnails, comments, and revisions
- REST API Ready: Fully compatible with WordPress REST API
🔖 Zsoogi Clipper Bookmarklet
- Modern JavaScript: Pure vanilla JS with no jQuery dependency
- YouTube Integration: Smart title cleanup and high-quality thumbnail capture
- Removes view counts:
(153) Video Title→Video Title - Removes YouTube suffix:
Video Title - YouTube→Video Title - Fetches max resolution thumbnails from YouTube API
- Removes view counts:
- Customizable Formatting: Multiple citation format options (simple, detailed, academic)
- Media Capture: Automatically extract and set featured images
- Quick Publishing: Create Zsoogi clips directly from web content
- Gutenberg Blocks: Pre-formatted content with blockquotes and citations
🎛️ Admin Settings
- Settings Page: Dedicated settings under the Zsoogi clip menu
- Citation Formats: Choose your preferred citation style
- Auto Featured Images: Automatically set captured images as featured
- Metadata Options: Include capture date and metadata in posts
🎨 User Experience
- Clean Interface: WordPress-native admin experience
- Intuitive Navigation: Settings and Zsoogi clips organized in one menu
- Administrator-Only: Secure access restricted to admin users
- Cross-Browser Compatible: Works in all modern browsers
Documentation
Full developer documentation is in docs/:
- Architecture — class structure, initialization flow, security model
- Bookmarklet — JS details, YouTube integration, image capture
- Post Type & Taxonomy — CPT/taxonomy registration, frontend access
- Settings & Admin — settings options, admin menu
- Development — Composer, PHPCS, build, MkDocs
Local docs preview:
./mkdocs-serve.sh
# Visit http://127.0.0.1:8000
Requirements
- WordPress: 5.0 or higher
- PHP: 7.4 or higher
- User Role: Administrator access required
- Composer: Optional, for development dependencies
Installation
Manual Installation
- Download the plugin files
- Upload the
zsoogi-clipperdirectory to/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu in WordPress
- Navigate to the Zsoogi clip settings to configure
Composer Installation (Optional)
If using Composer dependencies for development:
cd wp-content/plugins/zsoogi-clipper
composer install
Usage
Creating a Zsoogi Clip
- Go to your WordPress admin and click Add New Zsoogi
- Enter your Zsoogi clip title and content
- Assign a Zsoogi type/category
- Add a featured image (optional)
- Publish your Zsoogi clip
Using the Zsoogi Clipper Bookmarklet
- Install the bookmarklet from the plugin settings page
- Visit any webpage you want to capture content from
- Click the Zsoogi Clipper bookmarklet in your browser
- Selected text, images, and metadata are automatically captured
- Review and publish as a Zsoogi clip
Organizing Zsoogi Clips
- By Type: Use the Zsoogi type taxonomy to categorize your content
- Archives: Access all Zsoogi clips via the archive page
- Search: Zsoogi Clips are fully searchable within WordPress
Configuration
Settings Options
Navigate to the Zsoogi clip settings page:
- Citation Format: Choose between simple, detailed, or academic citation styles
- Auto-Set Featured Image: Automatically use captured images as featured images
- Include Page Metadata: Add capture date and metadata to posts
Technical Details
Post Type
- Slug:
zsoogiclips - Supports: Title, Editor, Thumbnail, Comments, Revisions
- Archive: Available at
/zsoogiclips/ - Hierarchical: No
- Public: Yes
- REST API: Enabled
Taxonomy
- Slug:
zsoogi_type - Hierarchical: Yes (like categories)
- Public: Yes
- REST API: Enabled
File Structure
zsoogi-clipper/
├── zsoogi-clipper.php # Main plugin file
├── includes/
│ ├── class-zsoogi-clips.php # CPT/Taxonomy registration
│ ├── class-admin-menu.php # Settings page + bookmarklet install
│ └── class-zsoogi-clipper.php # Bookmarklet handler
├── assets/
│ └── js/bookmarklet.js # Vanilla JS bookmarklet source
├── templates/
│ └── single-zsoogiclips.php # Custom single-post template
├── docs/ # Developer documentation (MkDocs)
├── mkdocs.yml # MkDocs config
├── hooks.py # Version injection hook
├── mkdocs-serve.sh # Local docs preview
├── mkdocs-deploy.sh # Build + deploy docs
└── README.md
Hooks & Filters
The plugin is built with WordPress best practices and provides several hooks for developers:
Actions
init- Post type and taxonomy registrationadmin_menu- Admin menu registrationadmin_init- Settings registration
Filters
default_title- Customize default post titles from bookmarkletdefault_content- Customize default post content formatting
Developer Notes
Code Standards
- Follows WordPress Coding Standards
- Comprehensive PHPDoc/JSDoc documentation
- Object-oriented architecture
- Namespaced classes (
Zsoogi\)
Constants
ZSOOGI_CLIPPER_VERSION // Plugin version
ZSOOGI_CLIPPER_PLUGIN_FILE // Main plugin file path
ZSOOGI_CLIPPER_PLUGIN_DIR // Plugin directory path
ZSOOGI_CLIPPER_PLUGIN_URL // Plugin URL
Changelog
Version 0.9.0 (WordPress.org Beta Release)
- Initial Release on WordPress.org: First public beta release
- Modern jQuery-free bookmarklet for web content capture
- Smart YouTube integration with title cleanup and thumbnail capture
- Admin-only custom post type with hierarchical taxonomy
- Auto-set featured images from captured content
- Gutenberg and Classic Editor support
- REST API enabled
- GPLv2 or later license for WordPress.org compatibility
Version 2.4.0 (Development)
- YouTube Integration: Smart title cleanup for YouTube videos
- Automatically removes view count prefix (e.g.,
(153)) - Removes "- YouTube" suffix from titles
- Fetches high-quality thumbnails using YouTube API
- Automatically removes view count prefix (e.g.,
- Enhanced image capture with YouTube-specific handling
- Improved title sanitization across all URLs
Version 2.2.0
- Renamed plugin to Zsoogi Clipper
- Replaced Press This with modern jQuery-free bookmarklet
- Added customizable citation formats (simple, detailed, academic)
- Added auto-set featured image functionality
- Added metadata capture options
- Improved Gutenberg block formatting
Version 2.1.4
- Added Zsoogi Clipper bookmarklet functionality
- Removed legacy Press This dependencies
Version 2.1.1
- Restructured plugin architecture with OOP approach
- Added comprehensive documentation and docblocks
- Created dedicated Admin Menu class with settings page
- Improved security and capability checks
Support
For issues, questions, or contributions:
- GitHub: https://github.com/pbrocks/zsoogi-clipper
- Author: pbrocks
License
This plugin is licensed under GPLv2 or later.
Zsoogi Clipper
Copyright (C) 2024-2025 The API Guys, pbrocks
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Credits
- Inspired by WordPress Press This functionality
- Built with modern vanilla JavaScript
Branches
Main Branch (v2.4.0)
The main branch contains the stable release with YouTube title cleanup and thumbnail integration. This version works uniformly across all URLs without platform-specific complexity.
ProVersion Branch (v2.4.3)
An advanced version with full YouTube transcript capture functionality. This includes:
- Automatic transcript scraping from YouTube pages
- Full transcript storage in post metadata
- Transcript excerpts in post content
- Advanced settings for transcript handling
For technical details on the ProVersion implementation, see GitHub Issue #5.
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues on GitHub.
Development Setup
- Clone the repository
- Run
composer install(if using Composer) - Make your changes
- Test thoroughly
- Submit a pull request
Made with ❤️ for better documentation management in WordPress