├── .gitignore ├── 7DD3BDE5-A157-42E5-9376-F681FB50A4EE.png ├── 91888BC2-EF73-40D5-AF9E-0BC1EE5DF74A.png ├── README.md ├── app.php ├── icon.png └── info.plist /.gitignore: -------------------------------------------------------------------------------- 1 | userid.txt 2 | -------------------------------------------------------------------------------- /7DD3BDE5-A157-42E5-9376-F681FB50A4EE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimpson/stackoverflow-favorites-alfred-workflow/cb2a200ca1cd3aa5205f5c0ed65e05329be37877/7DD3BDE5-A157-42E5-9376-F681FB50A4EE.png -------------------------------------------------------------------------------- /91888BC2-EF73-40D5-AF9E-0BC1EE5DF74A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimpson/stackoverflow-favorites-alfred-workflow/cb2a200ca1cd3aa5205f5c0ed65e05329be37877/91888BC2-EF73-40D5-AF9E-0BC1EE5DF74A.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # StackOverflow Favorites Alfred Workflow 2 | 3 | An easy way to filter through all your favorited questions on StackOverflow. 4 | 5 | ![Workflow GIF](http://f.cl.ly/items/0y2z37370U211r041P1F/sof.gif) 6 | 7 | [Download the latest release](https://github.com/asimpson/stackoverflow-favorites-alfred-workflow/releases) to get started. 8 | 9 | ## Set StackOverflow ID 10 | 11 | Get your ID by visiting [stackoverflow.com](http://stackoverflow.com/) and clicking on your profile. Once on your profile page, pull the 7 digit number out of the URL, this is your ID. e.g. `http://stackoverflow.com/users/xxxxxxx/username` -------------------------------------------------------------------------------- /app.php: -------------------------------------------------------------------------------- 1 | 18 | 19 | EOD; 20 | 21 | foreach ($data["items"] as $question){ 22 | $url = $question["link"]; 23 | $title = $question["title"]; 24 | $tags = $question["tags"]; 25 | $tag_list = implode(",", $tags); 26 | $term_list = "$title $tag_list"; 27 | $query_matched = stripos($term_list, $query); 28 | 29 | if ( !($query_matched === false) ){ 30 | $xml .= "\n"; 31 | $xml .= "$title\n"; 32 | $xml .= "$url\n"; 33 | $xml .= "icon.png\n"; 34 | $xml .= "\n"; 35 | } 36 | } 37 | 38 | $xml .=""; 39 | echo $xml; 40 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asimpson/stackoverflow-favorites-alfred-workflow/cb2a200ca1cd3aa5205f5c0ed65e05329be37877/icon.png -------------------------------------------------------------------------------- /info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | bundleid 6 | com.adamsimpson.sof 7 | connections 8 | 9 | 0FDD3155-FA7B-47A4-B6C5-F382DC717DBB 10 | 11 | 12 | destinationuid 13 | D279BEBC-2949-466B-BE27-9F5499BC8EE4 14 | modifiers 15 | 0 16 | modifiersubtext 17 | 18 | 19 | 20 | 26B17CDB-CE46-4049-8562-EB0DAC85D937 21 | 22 | 7DD3BDE5-A157-42E5-9376-F681FB50A4EE 23 | 24 | 25 | destinationuid 26 | 26B17CDB-CE46-4049-8562-EB0DAC85D937 27 | modifiers 28 | 0 29 | modifiersubtext 30 | 31 | 32 | 33 | 91888BC2-EF73-40D5-AF9E-0BC1EE5DF74A 34 | 35 | 36 | destinationuid 37 | 0FDD3155-FA7B-47A4-B6C5-F382DC717DBB 38 | modifiers 39 | 0 40 | modifiersubtext 41 | 42 | 43 | 44 | 45 | createdby 46 | Adam Simpson 47 | description 48 | List your favorited StackOverflow questions 49 | disabled 50 | 51 | name 52 | StackOverflow Favorites 53 | objects 54 | 55 | 56 | config 57 | 58 | escaping 59 | 127 60 | script 61 | open {query} 62 | type 63 | 0 64 | 65 | type 66 | alfred.workflow.action.script 67 | uid 68 | 26B17CDB-CE46-4049-8562-EB0DAC85D937 69 | version 70 | 0 71 | 72 | 73 | config 74 | 75 | argumenttype 76 | 0 77 | escaping 78 | 4 79 | keyword 80 | sof 81 | runningsubtext 82 | (fetching)… 83 | script 84 | php -f app.php "{query}" 85 | 86 | subtext 87 | Questions 88 | title 89 | StackOverflow Favorites 90 | type 91 | 0 92 | withspace 93 | 94 | 95 | type 96 | alfred.workflow.input.scriptfilter 97 | uid 98 | 7DD3BDE5-A157-42E5-9376-F681FB50A4EE 99 | version 100 | 0 101 | 102 | 103 | config 104 | 105 | lastpathcomponent 106 | 107 | onlyshowifquerypopulated 108 | 109 | output 110 | 0 111 | removeextension 112 | 113 | sticky 114 | 115 | text 116 | ID Set 117 | title 118 | StackOverflow Favorites 119 | 120 | type 121 | alfred.workflow.output.notification 122 | uid 123 | D279BEBC-2949-466B-BE27-9F5499BC8EE4 124 | version 125 | 0 126 | 127 | 128 | config 129 | 130 | escaping 131 | 0 132 | script 133 | echo {query} > userid.txt 134 | type 135 | 0 136 | 137 | type 138 | alfred.workflow.action.script 139 | uid 140 | 0FDD3155-FA7B-47A4-B6C5-F382DC717DBB 141 | version 142 | 0 143 | 144 | 145 | config 146 | 147 | argumenttype 148 | 0 149 | keyword 150 | sof setid 151 | subtext 152 | Grab the ID from your profile page URL 153 | text 154 | Set StackOverflow User ID 155 | withspace 156 | 157 | 158 | type 159 | alfred.workflow.input.keyword 160 | uid 161 | 91888BC2-EF73-40D5-AF9E-0BC1EE5DF74A 162 | version 163 | 0 164 | 165 | 166 | readme 167 | 168 | uidata 169 | 170 | 0FDD3155-FA7B-47A4-B6C5-F382DC717DBB 171 | 172 | ypos 173 | 130 174 | 175 | 26B17CDB-CE46-4049-8562-EB0DAC85D937 176 | 177 | ypos 178 | 10 179 | 180 | 7DD3BDE5-A157-42E5-9376-F681FB50A4EE 181 | 182 | ypos 183 | 50 184 | 185 | 91888BC2-EF73-40D5-AF9E-0BC1EE5DF74A 186 | 187 | ypos 188 | 170 189 | 190 | D279BEBC-2949-466B-BE27-9F5499BC8EE4 191 | 192 | ypos 193 | 100 194 | 195 | 196 | webaddress 197 | http://adamsimpson.net 198 | 199 | 200 | --------------------------------------------------------------------------------