How molunerfinn/picgo works
PicGo is an Electron image-upload desktop app. A creator submits images by drag-and-drop, clipboard, hotkey, or context menu; PicGo uploads through a configured host or plugin, then copies a formatted link. The app also manages upload history, albums, plugins, settings, and PicGo Cloud features, with an HTTP API for integrations. The graph combines README-documented capabilities with relationships visible in sampled source and the source index; unsampled implementation details are represented by their existing directories, and uncertain links are omitted.
Main entry points: routeTree.gen.ts App routes · apis.ts Upload services · dashboard Upload dashboard · index.ts App lifecycle
Components 22
Desktop interface
- Renderer bootstrap
src/renderer/main.tsx - App shell
src/renderer/App.tsx - App routes
src/renderer/routeTree.gen.ts
Upload workflow
- Upload dashboard
src/renderer/components/main/dashboard - Upload services
src/main/apis/app/uploader/apis.ts - PicGo Core
src/main/apis/core/picgo/index.ts - Link formatting
src/main/utils/pasteTemplate.ts
Content and extensions
- Image album
src/renderer/components/main/album - Host configurations
src/renderer/components/main/providers - Plugin manager
src/renderer/components/main/plugins - Preferences
src/renderer/components/main/settings
PicGo Cloud
- Cloud workspace
src/renderer/components/main/cloud/picgo-cloud.tsx - Cloud services
src/main/events/rpc/routes/cloud.ts
Electron runtime
- HTTP API
src/main/server/index.ts - Window manager
src/main/apis/app/window/windowManager.ts - App lifecycle
src/main/lifeCycle/index.ts - IPC and RPC
src/main/events/rpc - Global shortcuts
src/main/apis/app/shortKey/shortKeyHandler.ts
Other components
- Creator
- Writing editor
- Image hosts
- PicGo Cloud
Connections 24
- Creator → Renderer bootstrap: starts app
src/renderer/main.tsx - Renderer bootstrap → App shell: renders
src/renderer/main.tsx - App shell → App routes: provides routes
src/renderer/App.tsx - Creator → Upload dashboard: submits images
README.md - Upload dashboard → Upload services: requests upload
- Upload services → PicGo Core: uses core
- PicGo Core → Image hosts: uploads images
README.md - Upload services → Link formatting: formats result
- Link formatting → Writing editor: copies link
README.md - Writing editor → HTTP API: requests upload
README.md - App lifecycle → Window manager: initializes windows
src/main/lifeCycle/index.ts - App lifecycle → IPC and RPC: registers IPC
src/main/lifeCycle/index.ts - Global shortcuts → Upload services: opens upload
- Creator → Global shortcuts: invokes hotkey
README.md - App routes → Upload dashboard: routes to
src/renderer/routeTree.gen.ts - App routes → Image album: routes to
src/renderer/routeTree.gen.ts - App routes → Cloud workspace: routes to
src/renderer/routeTree.gen.ts - App routes → Plugin manager: routes to
src/renderer/routeTree.gen.ts - App routes → Host configurations: routes to
src/renderer/routeTree.gen.ts - App routes → Preferences: routes to
src/renderer/routeTree.gen.ts - Cloud workspace → Cloud services: requests cloud
- Cloud services → PicGo Cloud: accesses account
- Creator → Plugin manager: manages plugins
README.md - Creator → Image album: manages images