Add Alfred project.

This commit is contained in:
jaywcjlove 2017-05-01 09:44:01 +08:00
parent 728b588be8
commit 409f1cf296
4 changed files with 263 additions and 0 deletions

BIN
icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

63
index.js Normal file
View File

@ -0,0 +1,63 @@
var alfy = require('alfy');
function isSreachIndexOF(oldstr,kw){
var istrue = false;
if(oldstr&&toString.call(oldstr) === '[object Array]'){
for (var i = 0; i < oldstr.length; i++) {
oldstr[i].toLowerCase()===kw.toLowerCase()?istrue=true:null;
}
return istrue;
}
if(!oldstr || !kw) return false;
return oldstr.toLowerCase().indexOf(kw.toLowerCase()) > -1 ? true : false;
}
var urlstr = 'git.oschina.net/JSLite/linux-command/raw/master/dist/data.json'
// var urlstr = 'http://git.oschina.net/JSLite/linux-command/raw/master/dist/data.json'
alfy.fetch(urlstr).then(result => {
var commands = [];
var e = 0
for(var a in result){
++e;
result[a]['id'] = e;
commands.push(result[a])
}
var i=0,
page_size = commands.length,
arrResult = [],
query=alfy.input;
if(commands&&commands.length&&toString.call(commands).indexOf('Array')>-1){
var count = 0
for (; i < page_size; i++) {
if(isSreachIndexOF(commands[i].n,query)
|| isSreachIndexOF(commands[i].d,query)
){
if(count < page_size){
arrResult.push(commands[i]);
++count;
}
}
}
}
var items = [];
for(var i = 0;i< arrResult.length;i++){
items.push({
title: arrResult[i].n,
subtitle: arrResult[i].d,
arg: arrResult[i].n
})
}
if(items.length < 1){
items.push({
title: "没有搜素到内容",
subtitle: "请尝试其它关键字",
})
}
alfy.output(items);
});
// const items = alfy.inputMatches(commands, 'n').map(x => ({
// title: x.n,
// subtitle: x.d,
// arg: x.id
// }));

163
info.plist Normal file
View File

@ -0,0 +1,163 @@
<?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.linux.command.keywords</string>
<key>category</key>
<string>Tools</string>
<key>connections</key>
<dict>
<key>AB769D13-5DB9-42BF-A314-2D07384CB3A4</key>
<array>
<dict>
<key>destinationuid</key>
<string>0E764AF0-9350-40B4-8A01-175FAD0D952D</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
<key>C24D6FD9-17A8-47C0-B2FD-7F1323E47407</key>
<array>
<dict>
<key>destinationuid</key>
<string>AB769D13-5DB9-42BF-A314-2D07384CB3A4</string>
<key>modifiers</key>
<integer>0</integer>
<key>modifiersubtext</key>
<string></string>
<key>vitoclose</key>
<false/>
</dict>
</array>
</dict>
<key>createdby</key>
<string>kenny wang</string>
<key>description</key>
<string>520多个 Linux 命令大全,内容包含 Linux 命令手册、详解、学习,值得收藏的 Linux 命令速查手册。</string>
<key>disabled</key>
<false/>
<key>name</key>
<string>Linux Command</string>
<key>objects</key>
<array>
<dict>
<key>config</key>
<dict>
<key>browser</key>
<string></string>
<key>spaces</key>
<string></string>
<key>url</key>
<string>https://jaywcjlove.github.io/linux-command/c/{query}.html</string>
<key>utf8</key>
<true/>
</dict>
<key>type</key>
<string>alfred.workflow.action.openurl</string>
<key>uid</key>
<string>0E764AF0-9350-40B4-8A01-175FAD0D952D</string>
<key>version</key>
<integer>1</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>autopaste</key>
<true/>
<key>clipboardtext</key>
<string>{query}</string>
<key>transient</key>
<false/>
</dict>
<key>type</key>
<string>alfred.workflow.output.clipboard</string>
<key>uid</key>
<string>AB769D13-5DB9-42BF-A314-2D07384CB3A4</string>
<key>version</key>
<integer>2</integer>
</dict>
<dict>
<key>config</key>
<dict>
<key>alfredfiltersresults</key>
<false/>
<key>argumenttype</key>
<integer>0</integer>
<key>escaping</key>
<integer>36</integer>
<key>keyword</key>
<string>lc</string>
<key>queuedelaycustom</key>
<integer>3</integer>
<key>queuedelayimmediatelyinitially</key>
<true/>
<key>queuedelaymode</key>
<integer>0</integer>
<key>queuemode</key>
<integer>1</integer>
<key>runningsubtext</key>
<string>正在搜索中...</string>
<key>script</key>
<string>./node_modules/.bin/run-node index.js {query}</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
<string></string>
<key>subtext</key>
<string>搜索Linux命令</string>
<key>title</key>
<string>命令行搜索工具</string>
<key>type</key>
<integer>0</integer>
<key>withspace</key>
<true/>
</dict>
<key>type</key>
<string>alfred.workflow.input.scriptfilter</string>
<key>uid</key>
<string>C24D6FD9-17A8-47C0-B2FD-7F1323E47407</string>
<key>version</key>
<integer>2</integer>
</dict>
</array>
<key>readme</key>
<string>Linux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。</string>
<key>uidata</key>
<dict>
<key>0E764AF0-9350-40B4-8A01-175FAD0D952D</key>
<dict>
<key>xpos</key>
<integer>390</integer>
<key>ypos</key>
<integer>70</integer>
</dict>
<key>AB769D13-5DB9-42BF-A314-2D07384CB3A4</key>
<dict>
<key>xpos</key>
<integer>240</integer>
<key>ypos</key>
<integer>70</integer>
</dict>
<key>C24D6FD9-17A8-47C0-B2FD-7F1323E47407</key>
<dict>
<key>colorindex</key>
<integer>8</integer>
<key>note</key>
<string>Script Filter Input: A very powerful workflow object, allowing you to populate Alfred's results with your own custom items using external input.</string>
<key>xpos</key>
<integer>70</integer>
<key>ypos</key>
<integer>70</integer>
</dict>
</dict>
<key>version</key>
<string>1.0</string>
<key>webaddress</key>
<string>https://git.io/linux</string>
</dict>
</plist>

37
package.json Normal file
View File

@ -0,0 +1,37 @@
{
"name": "alfred-linux-command",
"version": "1.0.0",
"description": "Search through the Linux command.",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"postinstall": "alfy-init",
"preuninstall": "alfy-cleanup"
},
"keywords": [
"linux",
"command",
"alfred",
"workflow",
"mdn",
"mozilla",
"developers",
"network",
"html",
"javascript",
"js"
],
"files": [
"index.js",
"icon.png",
"info.plist"
],
"engines": {
"node": ">=4"
},
"author": "kenny wang <wowohoo@qq.com>",
"license": "MIT",
"dependencies": {
"alfy": "^0.6.0"
}
}