Alfred GitHub Workflow 使用教程
1. 项目的目录结构及介绍
alfred-github-workflow/
├── README.md
├── icon.png
├── info.plist
├── src/
│ ├── cache.php
│ ├── commands.php
│ ├── config.php
│ ├── helpers.php
│ ├── index.php
│ ├── issues.php
│ ├── pulls.php
│ ├── repos.php
│ ├── settings.php
│ ├── stars.php
│ └── workflow.php
└── vendor/
└── (第三方库)
README.md
: 项目说明文档。icon.png
: 项目图标。info.plist
: 工作流的配置文件。src/
: 包含所有PHP源代码文件。cache.php
: 缓存管理。commands.php
: 命令处理。config.php
: 配置管理。helpers.php
: 辅助函数。index.php
: 主入口文件。issues.php
: 问题处理。pulls.php
: 拉取请求处理。repos.php
: 仓库处理。settings.php
: 设置处理。stars.php
: 星标处理。workflow.php
: 工作流核心逻辑。
vendor/
: 第三方依赖库。
2. 项目的启动文件介绍
项目的启动文件是 src/index.php
。这个文件是整个工作流的入口点,负责初始化环境并调用相应的命令处理逻辑。
<?php
require 'vendor/autoload.php';
require 'src/workflow.php';
$workflow = new Alfred\Workflows\Workflow;
$query = $argv[1];
// 根据查询调用相应的处理逻辑
if (strpos($query, 'gh ') === 0) {
handleGitHubCommands($workflow, $query);
} else {
// 默认处理逻辑
$workflow->result()
->title('No command found')
->subtitle('Please enter a valid command');
}
echo $workflow->output();
3. 项目的配置文件介绍
项目的配置文件是 info.plist
。这个文件包含了工作流的所有配置信息,包括名称、图标、版本、作者等。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>bundleid</key>
<string>com.willfarrell.github</string>
<key>category</key>
<string>Productivity</string>
<key>connections</key>
<dict>
<key>alfred.workflow.input.scriptfilter</key>
<dict>
<key>bundleid</key>
<string>com.willfarrell.github</string>
<key>type</key>
<string>is</string>
</dict>
</dict>
<key>createdby</key>
<string>Will Farrell</string>
<key>description</key>
<string>GitHub Workflow for Alfred</string>
<key>name</key>
<string>GitHub Workflow</string>
<key>readme</key>
<string>README.md</string>
<key>uid</key>
<string>alfred.workflow.input.scriptfilter</string>
<key>version</key>
<string>1.0.0</string>
</dict>
</plist>
这个配置文件定义了工作流的基本信息和行为,是工作流正常运行的关键。