A collection of PopClip extensions and snippet extensions for macOS. The
repository contains the editable sources in src/ and locally buildable
packages in dist/.
Open a .popclipextz file from dist/ to install an extension in
PopClip. Snippet extensions use the .popcliptxt format.
These 14 packages are configured for submission to the PopClip Extensions Directory:
| Extension | Description | Source | Package |
|---|---|---|---|
| Comment Switcher | Toggle line comments with a configurable prefix. | Source | Install |
| DeepL Translator | Translate with the DeepL app or website. | Source | Install |
| Format JSON | Format selected JSON with configurable indentation. | Source | Install |
| Password Generator | Generate configurable random passwords locally. | Source | Install |
| Markdown List | Convert lines to numbered or bulleted Markdown. | Source | Install |
| Mosaic Text | Replace text with a configurable mosaic character. | Source | Install |
| Multi-Line to Array | Convert lines into a JavaScript array. | Source | Install |
| Open GitHub Repo | Open a repository from AUTHOR/REPO text. |
Source | Install |
| PinYin | Convert Chinese text to Pinyin or Zhuyin. | Source | Install |
| Color Conversion | Convert RGB and hexadecimal colors. | Source | Install |
| Text Repeater | Repeat text using a multiplier suffix. | Source | Install |
| Variable Name Convert | Convert between snake case and camel case. | Source | Install |
| Add to WordClip | Send selected text to WordClip. | Source | Install |
| ray.so | Generate a code image with ray.so. | Source | Install |
Each package has its own README with usage, options, privacy notes, and changelog:
- Comment Switcher
- DeepL Translator
- Format JSON
- Password Generator
- Markdown List
- Mosaic Text
- Multi-Line to Array
- Open GitHub Repo
- PinYin
- Color Conversion
- Text Repeater
- Variable Name Convert
- Add to WordClip
- ray.so
These are standalone PopClip snippet extensions and are not included in the directory package glob:
-
ChatGPT Make PopClip Extension
Send the selected request to the ChatGPT Chat Bar and ask it to generate an installable PopClip snippet. The ChatGPT macOS app and Accessibility permission for System Events are required.
build.sh builds, installs, creates, and removes PopClip packages and snippets.
Run it without arguments to open the interactive menu, which provides these
actions:
- Build a package
- Build and install a package
- Build a snippet
- Build and install a snippet
- Create a package from a template
- Create a snippet from a template
- Remove source and generated files after confirmation
./build.shFor direct commands, use the following:
./build.sh PinYin
./build.sh build PinYin
./build.sh install PinYin
./build.sh build FancyText
./build.sh create-package yaml NewExtension
./build.sh create-snippet javascript NewSnippet
./build.sh remove NewExtension
./build.sh help./build.sh NAME is shorthand for ./build.sh build NAME.
build NAME builds either src/NAME.popclipext/ or a snippet source in src/
and writes the result to dist/NAME.popclipextz or
dist/NAME.popcliptxt. install NAME builds the target and opens the
generated file with macOS open for installation in PopClip.
The available package template formats are plist, yaml, json, and
module. The available snippet template formats are javascript,
typescript, and yaml. A module package contains a YAML configuration and
TypeScript source. Package names may contain letters, numbers, dots, hyphens,
and underscores.
Package builds validate that the package contains exactly one root Config
file and no more than 100 files, 1 MB per file, or 2 MB in total. remove NAME
deletes the matching source and generated files only after an interactive
confirmation. Run ./build.sh help to print the command reference.
The repository is configured by popclip-directory.yaml.
The PopClip Directory reads changed package folders when a new matching Git tag
is pushed, runs the Submission Check, and queues successful submissions for
manual review. See the official submission guide
for the workflow and requirements.