Power Eagle

Power Eagle is an Eagle plugin inspired by PowerToys that adds a collection of power user and developer tools


Developer
Version
Update time
Views
Support
Website

Power Eagle is an Eagle plugin inspired by PowerToys that adds a collection of power user and developer tools. Unlike traditional plugins, Power Eagle acts as a meta-plugin that provides additional tooling capabilities through a tab-sized interface, allowing users to extend functionality without creating full plugins for simple tasks.

Features

  • Modular Design: Easily extendable through mods and mod packages
  • Built-in Tools: Comes with several useful built-in mods
  • Developer Friendly: Simple mod creation process
  • Package Management: Support for installing mods and mod packages

📋 Prerequisites

  • Git (Required for Power Eagle to function)
  • Windows OS (Some features like es-query-library are Windows-only)

🎯 Built-in Mods

About Page

  • Displays real-time status information
  • Shows current library, selected items, and folder information

Run Things Workspace

  • Script runner with embedded file support
  • Perfect for one-off scripts and quick automations
  • Supports file filtering and custom actions

Run Things Workspace

Plugin Development Tools (Coming Soon)

  • Step-by-step guided plugin generation

Plugin Development Tools

BRAT (Coming Soon)

  • bringing over the BRAT system from Obsidian

BRAT

🔧 Official Mod Extension

url: https://github.com/eagle-cooler/power-eagle-mods

System Library Map (es-query-library)

  • Windows-only feature
  • Maps all .library folders using es.exe (everything)

System Library Map

Base64 Image Converter (img-to-base64)

  • Convert images to base64 format
  • Streamlined image processing

Base64 Image Converter

Python Environment (python-env)

  • allows you to setup an embedded python environment
  • currently very experimental but in the future will allow you to run python in plugins

Python Environment

💻 How to Create a Mod

Here's a basic example of a mod structure:

  • render can be either a path to a html file or a function that returns a string
  • styles an array of css strings
  • mount a function for the main control
  • onLibraryChanged optional handler for when the library changes
  • onItemChanged optional handler for when the item changes
  • onFolderChanged optional handler for when the folder changes

const myMod = {
    name: 'ModName',
    styles: ['styles.css'],
    render: () => `
        // Your HTML template
    `,
    mount: async (container) => {
        // Initialization code
        return () => {
            // Cleanup code
        };
    },
    // Event handlers
    onLibraryChanged: (newPath, oldPath) => {
        // Handle library changes
    }
};
The plugin version info is yet to be filled out...