A collection of automation tools for productivity and content management.
Automates the process of creating and managing icon collections on Icons8.com.
Converts JSON data into formatted Google Slides presentations.
- Node.js 14+ (for Icons8 tool)
- Python 3.x (for JSON2Slides tool)
- Google Chrome browser
- Google Cloud project with Slides and Drive APIs enabled
- Icons8.com account (for Icons8 tool)
- Navigate to the icons8bulk directory:
cd icons8bulk- Install dependencies:
npm install- Configure environment variables by creating .env file:
ICON8_EMAIL=your.email@example.com
ICON8_PASSWORD=your_password
LOGIN_URL=https://icons8.com/login
CHROME_EXECUTABLE_PATH=C:\Program Files\Google\Chrome\Application\chrome.exe
USER_DATA_DIR=C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default
DEBUG_MODE=false
- Navigate to the json2slides directory:
cd json2slides- Install Python dependencies:
pip install -r requirements.txt- Place your credentials.json (OAuth 2.0) in the project root
- Configure presentation settings in config.json
- Find the main collection page URL on Icons8
- Run the extractor:
node collectionLinksExtractor.js "https://icons8.com/your-collection-url"- After extracting links, run:
node main.jsFeatures:
- Automatic login handling
- Progress tracking (resumes from last position)
- Debug mode for troubleshooting
- Configurable delays and retries
- Chrome profile integration
- Prepare your slide content in JSON format:
[
{
"title": "Slide Title",
"content": ["Point 1", "Point 2"],
"notes": "Speaker notes here"
}
]
- Run the converter:
python json2slides.pyFeatures:
- Custom slide layouts
- Speaker notes support
- Google Drive integration
- Batch processing
- Progress tracking
AinythingTools/
├── icons8bulk/ # Icons8 automation tool
│ ├── config.js # Configuration and selectors
│ ├── main.js # Main execution script
│ ├── login.js # Authentication handler
│ ├── navigation.js # Page navigation
│ ├── processIcons.js # Icon processing logic
│ └── utils.js # Helper functions
│
└── json2slides/ # Slides conversion tool
├── json2slides.py # Main converter script
└── slides/ # Slide templates and assets
- .env: Environment variables and credentials
- config.js: Selectors and runtime settings
- progress.json: Automation progress tracking
- collectionLinks.json: Target collection URLs
- config.json: Presentation settings
- credentials.json: Google OAuth credentials
- token.json: Authentication tokens
- Enable DEBUG_MODE in .env for step-by-step execution
- Check Chrome profile path in .env
- Verify network connectivity
- Ensure valid Icons8 credentials
- Verify Google API credentials
- Check JSON syntax in slide data
- Enable verbose logging if needed
- Confirm API permissions
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Icons8.com for their icon platform
- Google Slides API documentation
- Puppeteer team for browser automation
- Python Google API client library
For issues and feature requests, please use the GitHub issue tracker.
- Add batch processing for multiple collections
- Implement retry mechanisms for failed operations
- Add support for custom slide templates
- Improve error handling and reporting
- Add CLI interface for both tools