id = "picgo" name = "PicGo" homepage = "https://github.com/Molunerfinn/PicGo" # The repository's own one-line description, trimmed. description = "The Ultimate Image Uploader for Efficient Creators. Supports Obsidian, Typora, VS Code etc. and 60+ image hosting services." # The app icon PicGo builds its releases with, from its own repository. icon = "https://raw.githubusercontent.com/Molunerfinn/PicGo/dev/build/icons/256x256.png" # `picgo` is the command PicGo-Core installs and the word a user types; the # bundle identifier of the Electron app is next to it, from the project's own # scripts/notarize.js and electron-builder.config.ts (`appId: # 'com.molunerfinn.picgo'`), so a consumer that only sees the GUI still matches. executables = ["picgo"] [installation] macos_bundle_ids = ["com.molunerfinn.picgo"] [dotfiles] # Two files, because PicGo ships as two programs: # # * PicGo-Core, the CLI — https://docs.picgo.app/core/guide/config.html says # the config file is `~/.picgo/config.json` on every platform (on Windows, # `C:\Users\\.picgo\config.json`, which is the same `~/` root). Verified # on this Mac, where `~/.picgo/config.json` holds `picBed.current`, # `picBed.uploader`, `picBed.transformer` and `picBed.imgur.clientId`. # * The PicGo desktop app — https://docs.picgo.app/gui/guide/config.html gives # `%APPDATA%\picgo\data.json` on Windows, # `~/Library/Application Support/picgo/data.json` on macOS and # `$XDG_CONFIG_HOME/picgo/data.json` (default `~/.config/picgo/data.json`) # on Linux. Those three are one location under three names, which is what # [appData] stands for. paths = [ "~/.picgo/config.json", "[appData]/picgo/data.json", ] # Both paths name a single file rather than the directory around them, so the # neighbouring `picgo.log` and the `node_modules` that plugin installs land in # never come along and there is nothing to carve out. exclude = [] # Neither file is a credential end to end: the picked uploader, the URL prefix, # the bucket names and the plugin list are the reason to sync them. Only the # uploader credentials are lifted out, below. secret = [] # The credential field names come from the uploader reference on # https://docs.picgo.app/core/guide/config.html — SM.MS `token`, Qiniu # `accessKey`/`secretKey`, UpYun `operator`/`password`, Tencent COS # `secretId`/`secretKey`, GitHub `token`, Aliyun OSS # `accessKeyId`/`accessKeySecret`, Imgur `clientId`. The docs also state the # rule the `*` relies on: "If an Uploader is named xxx, its configuration # should be placed under picBed.xxx", so a third-party uploader plugin using # any of these names is covered too. Both files are named, or the CLI's # credentials would be lifted out and the desktop app's would sync in the clear. [[dotfiles.secret_paths]] file = ["~/.picgo/config.json", "[appData]/picgo/data.json"] match = { key_path = [ "picBed.*.token", "picBed.*.secretId", "picBed.*.secretKey", "picBed.*.accessKey", "picBed.*.accessKeyId", "picBed.*.accessKeySecret", "picBed.*.clientId", "picBed.*.password", ] }