ppl 3.0.0 → 4.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (334) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +16 -0
  3. data/.eleventy.js +86 -0
  4. data/.eleventyignore +1 -0
  5. data/.github/workflows/build.yml +61 -0
  6. data/.gitignore +3 -1
  7. data/Rakefile +1 -18
  8. data/{CODE_OF_CONDUCT.md → code_of_conduct.md} +1 -1
  9. data/features/step_definitions/ppl_steps.rb +27 -27
  10. data/gh-pages/Gemfile +2 -0
  11. data/gh-pages/_config.yml +5 -0
  12. data/gh-pages/_includes/changelog.html +23 -0
  13. data/gh-pages/_includes/development-sidebar.html +25 -0
  14. data/gh-pages/_includes/footer.html +22 -0
  15. data/gh-pages/_includes/header.html +43 -0
  16. data/gh-pages/_includes/news.html +36 -0
  17. data/gh-pages/_includes/tip.html +54 -0
  18. data/gh-pages/_layouts/changelog.html +1 -0
  19. data/gh-pages/_layouts/command.html +104 -0
  20. data/gh-pages/_layouts/configuration.html +71 -0
  21. data/gh-pages/_layouts/development.html +20 -0
  22. data/gh-pages/_layouts/frontpage.html +6 -0
  23. data/gh-pages/_layouts/integration.html +44 -0
  24. data/gh-pages/_layouts/news.html +2 -0
  25. data/gh-pages/_layouts/page.html +6 -0
  26. data/gh-pages/_layouts/tip.html +2 -0
  27. data/gh-pages/_posts/2012-01-15-first-post.md +16 -0
  28. data/gh-pages/_posts/2012-12-20-1.0.0.md +19 -0
  29. data/gh-pages/_posts/2012-12-20-1.1.0.md +28 -0
  30. data/gh-pages/_posts/2012-12-20-1.2.0.md +18 -0
  31. data/gh-pages/_posts/2012-12-21-1.3.0.md +20 -0
  32. data/gh-pages/_posts/2012-12-21-thank-you-for-your-all-your-feedback.md +26 -0
  33. data/gh-pages/_posts/2012-12-22-1.4.1.md +21 -0
  34. data/gh-pages/_posts/2012-12-22-1.5.0.md +17 -0
  35. data/gh-pages/_posts/2012-12-23-1.5.1.md +13 -0
  36. data/gh-pages/_posts/2012-12-23-1.5.2.md +15 -0
  37. data/gh-pages/_posts/2012-12-26-1.5.3.md +19 -0
  38. data/gh-pages/_posts/2012-12-27-1.6.0.md +18 -0
  39. data/gh-pages/_posts/2012-12-29-1.7.0.md +18 -0
  40. data/gh-pages/_posts/2013-01-05-1.8.0.md +18 -0
  41. data/gh-pages/_posts/2013-01-06-1.9.0.md +20 -0
  42. data/gh-pages/_posts/2013-01-10-1.10.0.md +18 -0
  43. data/gh-pages/_posts/2013-01-20-1.11.0.md +14 -0
  44. data/gh-pages/_posts/2013-02-16-1.12.0.md +14 -0
  45. data/gh-pages/_posts/2013-02-17-1.13.0.md +29 -0
  46. data/gh-pages/_posts/2013-02-17-1.14.0.md +15 -0
  47. data/gh-pages/_posts/2013-02-17-1.14.1.md +18 -0
  48. data/gh-pages/_posts/2013-02-17-two-months-in.md +27 -0
  49. data/gh-pages/_posts/2013-03-16-1.15.0.md +28 -0
  50. data/gh-pages/_posts/2013-03-16-coloured-output-released.md +27 -0
  51. data/gh-pages/_posts/2013-04-10-ruby-2.0-compatibility.md +28 -0
  52. data/gh-pages/_posts/2013-04-11-1.15.1.md +13 -0
  53. data/gh-pages/_posts/2013-04-12-1.16.0.md +22 -0
  54. data/gh-pages/_posts/2013-04-14-1.17.0.md +15 -0
  55. data/gh-pages/_posts/2013-04-14-1.17.1.md +20 -0
  56. data/gh-pages/_posts/2013-04-14-1.17.2.md +13 -0
  57. data/gh-pages/_posts/2013-04-15-sync-alias.md +31 -0
  58. data/gh-pages/_posts/2013-04-15-utf8-fixed-and-more.md +37 -0
  59. data/gh-pages/_posts/2013-04-16-1.18.0.md +15 -0
  60. data/gh-pages/_posts/2013-04-16-set-up-color-output.md +47 -0
  61. data/gh-pages/_posts/2013-04-19-1.19.0.md +13 -0
  62. data/gh-pages/_posts/2013-04-19-1.20.0.md +15 -0
  63. data/gh-pages/_posts/2013-04-20-1.21.0.md +16 -0
  64. data/gh-pages/_posts/2013-04-20-1.22.0.md +14 -0
  65. data/gh-pages/_posts/2013-04-20-1.22.1.md +13 -0
  66. data/gh-pages/_posts/2013-04-21-1.22.2.md +15 -0
  67. data/gh-pages/_posts/2013-04-21-1.23.0.md +35 -0
  68. data/gh-pages/_posts/2013-04-23-1.24.0.md +16 -0
  69. data/gh-pages/_posts/2013-04-24-1.25.0.md +21 -0
  70. data/gh-pages/_posts/2013-05-09-2.0.0.md +33 -0
  71. data/gh-pages/_posts/2013-05-09-version-2.0.0-released.md +32 -0
  72. data/gh-pages/_posts/2013-07-20-2.1.0.md +36 -0
  73. data/gh-pages/_posts/2013-07-20-2.2.0.md +20 -0
  74. data/gh-pages/_posts/2013-10-12-2.3.0.md +19 -0
  75. data/gh-pages/_posts/2014-03-30-2.3.1.md +25 -0
  76. data/gh-pages/_posts/2015-01-05-2.3.2.md +18 -0
  77. data/gh-pages/_posts/2015-12-03-get-involved.md +29 -0
  78. data/gh-pages/_posts/2015-12-05-2.3.3.md +16 -0
  79. data/gh-pages/_posts/2016-01-02-2.4.0.md +19 -0
  80. data/gh-pages/_posts/2017-05-01-2.4.1.md +12 -0
  81. data/gh-pages/_posts/2017-10-23-sleep-mode.md +18 -0
  82. data/gh-pages/_posts/2018-01-03-3.0.1.md +12 -0
  83. data/gh-pages/_stylesheets/ppl/color.less +119 -0
  84. data/gh-pages/_stylesheets/ppl/layout.less +54 -0
  85. data/gh-pages/_stylesheets/ppl/style.less +185 -0
  86. data/gh-pages/_stylesheets/ppl/typography.less +59 -0
  87. data/gh-pages/development/changelog/index.md +18 -0
  88. data/gh-pages/development/changelog/split.rb +51 -0
  89. data/gh-pages/development/index.html +32 -0
  90. data/gh-pages/development/roadmap/index.md +15 -0
  91. data/gh-pages/documentation/about/index.html +63 -0
  92. data/gh-pages/documentation/commands/add/index.md +43 -0
  93. data/gh-pages/documentation/commands/age/add/index.md +40 -0
  94. data/gh-pages/documentation/commands/age/index.md +38 -0
  95. data/gh-pages/documentation/commands/bday/index.md +44 -0
  96. data/gh-pages/documentation/commands/completion/index.md +38 -0
  97. data/gh-pages/documentation/commands/email/index.md +64 -0
  98. data/gh-pages/documentation/commands/grep/index.md +32 -0
  99. data/gh-pages/documentation/commands/init/index.md +28 -0
  100. data/gh-pages/documentation/commands/ls/index.md +55 -0
  101. data/gh-pages/documentation/commands/mutt/index.md +36 -0
  102. data/gh-pages/documentation/commands/mv/index.md +26 -0
  103. data/gh-pages/documentation/commands/name/index.md +45 -0
  104. data/gh-pages/documentation/commands/nick/index.md +44 -0
  105. data/gh-pages/documentation/commands/org/index.md +45 -0
  106. data/gh-pages/documentation/commands/phone/index.md +56 -0
  107. data/gh-pages/documentation/commands/post/index.md +61 -0
  108. data/gh-pages/documentation/commands/pull/index.md +39 -0
  109. data/gh-pages/documentation/commands/push/index.md +36 -0
  110. data/gh-pages/documentation/commands/remote/index.md +40 -0
  111. data/gh-pages/documentation/commands/rm/index.md +23 -0
  112. data/gh-pages/documentation/commands/scrape/index.md +38 -0
  113. data/gh-pages/documentation/commands/shell/index.md +39 -0
  114. data/gh-pages/documentation/commands/show/index.md +33 -0
  115. data/gh-pages/documentation/commands/url/index.md +44 -0
  116. data/gh-pages/documentation/commands/version/index.md +27 -0
  117. data/gh-pages/documentation/configuration/address_book/index.md +22 -0
  118. data/gh-pages/documentation/configuration/alias/index.md +45 -0
  119. data/gh-pages/documentation/configuration/color/index.md +47 -0
  120. data/gh-pages/documentation/configuration/color_age/index.md +20 -0
  121. data/gh-pages/documentation/configuration/color_bday/index.md +20 -0
  122. data/gh-pages/documentation/configuration/color_email/index.md +21 -0
  123. data/gh-pages/documentation/configuration/color_ls/index.md +21 -0
  124. data/gh-pages/documentation/configuration/color_name/index.md +20 -0
  125. data/gh-pages/documentation/configuration/color_nick/index.md +20 -0
  126. data/gh-pages/documentation/configuration/color_org/index.md +20 -0
  127. data/gh-pages/documentation/configuration/color_phone/index.md +22 -0
  128. data/gh-pages/documentation/configuration/color_post/index.md +20 -0
  129. data/gh-pages/documentation/configuration/color_url/index.md +20 -0
  130. data/gh-pages/documentation/configuration/index.html +8 -0
  131. data/gh-pages/documentation/index.html +183 -0
  132. data/gh-pages/documentation/integration/bash/index.md +23 -0
  133. data/gh-pages/documentation/integration/google/index.md +26 -0
  134. data/gh-pages/documentation/integration/index.html +8 -0
  135. data/gh-pages/documentation/integration/mutt/index.md +35 -0
  136. data/gh-pages/documentation/integration/zsh/index.md +19 -0
  137. data/gh-pages/documentation/quick-start/index.html +88 -0
  138. data/gh-pages/documentation/tips/index.html +9 -0
  139. data/gh-pages/index.html +108 -0
  140. data/gh-pages/news/index.html +9 -0
  141. data/gh-pages/robots.txt +3 -0
  142. data/gh-pages/stylesheets/flatstrap.css +10 -0
  143. data/gh-pages/stylesheets/ppl.scss +235 -0
  144. data/gh-pages/wiki.png +0 -0
  145. data/lib/ppl.rb +4 -1
  146. data/lib/ppl/adapter/color.rb +0 -1
  147. data/lib/ppl/adapter/color/colored.rb +0 -1
  148. data/lib/ppl/adapter/email_scraper.rb +0 -1
  149. data/lib/ppl/adapter/email_scraper/mail.rb +4 -5
  150. data/lib/ppl/adapter/storage.rb +0 -1
  151. data/lib/ppl/adapter/storage/disk.rb +0 -1
  152. data/lib/ppl/adapter/storage/factory.rb +0 -1
  153. data/lib/ppl/adapter/vcard.rb +0 -1
  154. data/lib/ppl/adapter/vcard/vpim.rb +5 -1
  155. data/lib/ppl/application/bootstrap.rb +0 -1
  156. data/lib/ppl/application/command.rb +0 -1
  157. data/lib/ppl/application/command_suite.rb +0 -1
  158. data/lib/ppl/application/configuration.rb +0 -1
  159. data/lib/ppl/application/input.rb +0 -1
  160. data/lib/ppl/application/output.rb +0 -1
  161. data/lib/ppl/application/router.rb +0 -1
  162. data/lib/ppl/application/shell.rb +0 -1
  163. data/lib/ppl/command/add.rb +0 -1
  164. data/lib/ppl/command/age.rb +0 -1
  165. data/lib/ppl/command/attribute.rb +0 -1
  166. data/lib/ppl/command/bday.rb +0 -1
  167. data/lib/ppl/command/completion.rb +0 -1
  168. data/lib/ppl/command/email.rb +0 -1
  169. data/lib/ppl/command/external.rb +0 -1
  170. data/lib/ppl/command/help.rb +0 -1
  171. data/lib/ppl/command/init.rb +0 -1
  172. data/lib/ppl/command/ls.rb +0 -1
  173. data/lib/ppl/command/mutt.rb +0 -1
  174. data/lib/ppl/command/mv.rb +0 -1
  175. data/lib/ppl/command/name.rb +0 -1
  176. data/lib/ppl/command/nick.rb +0 -1
  177. data/lib/ppl/command/org.rb +0 -1
  178. data/lib/ppl/command/phone.rb +0 -1
  179. data/lib/ppl/command/post.rb +0 -1
  180. data/lib/ppl/command/rm.rb +0 -1
  181. data/lib/ppl/command/scrape.rb +0 -1
  182. data/lib/ppl/command/shell.rb +0 -1
  183. data/lib/ppl/command/show.rb +0 -1
  184. data/lib/ppl/command/url.rb +0 -1
  185. data/lib/ppl/command/version.rb +0 -1
  186. data/lib/ppl/entity/address_book.rb +0 -1
  187. data/lib/ppl/entity/contact.rb +0 -1
  188. data/lib/ppl/entity/email_address.rb +0 -1
  189. data/lib/ppl/entity/name.rb +0 -1
  190. data/lib/ppl/entity/phone_number.rb +0 -1
  191. data/lib/ppl/entity/postal_address.rb +0 -1
  192. data/lib/ppl/error/completion_not_found.rb +0 -1
  193. data/lib/ppl/error/contact_not_found.rb +0 -1
  194. data/lib/ppl/error/incorrect_usage.rb +0 -1
  195. data/lib/ppl/error/invalid_vcard.rb +1 -0
  196. data/lib/ppl/error/postal_address_not_found.rb +0 -1
  197. data/lib/ppl/format/address_book.rb +0 -1
  198. data/lib/ppl/format/address_book/ages.rb +0 -1
  199. data/lib/ppl/format/address_book/birthdays.rb +0 -1
  200. data/lib/ppl/format/address_book/email_addresses.rb +0 -1
  201. data/lib/ppl/format/address_book/mutt_query.rb +0 -1
  202. data/lib/ppl/format/address_book/names.rb +0 -1
  203. data/lib/ppl/format/address_book/nicknames.rb +0 -1
  204. data/lib/ppl/format/address_book/one_line.rb +0 -1
  205. data/lib/ppl/format/address_book/organizations.rb +0 -1
  206. data/lib/ppl/format/address_book/phone_numbers.rb +0 -1
  207. data/lib/ppl/format/address_book/postal_addresses.rb +0 -1
  208. data/lib/ppl/format/address_book/urls.rb +0 -1
  209. data/lib/ppl/format/contact.rb +0 -1
  210. data/lib/ppl/format/contact/age.rb +0 -1
  211. data/lib/ppl/format/contact/birthday.rb +0 -1
  212. data/lib/ppl/format/contact/email_addresses.rb +0 -1
  213. data/lib/ppl/format/contact/full.rb +0 -1
  214. data/lib/ppl/format/contact/nicknames.rb +0 -1
  215. data/lib/ppl/format/contact/organization.rb +0 -1
  216. data/lib/ppl/format/contact/phone_number.rb +0 -1
  217. data/lib/ppl/format/contact/postal_address.rb +0 -1
  218. data/lib/ppl/format/contact/postal_addresses.rb +0 -1
  219. data/lib/ppl/format/contact/urls.rb +0 -1
  220. data/lib/ppl/format/custom.rb +0 -1
  221. data/lib/ppl/format/custom/contact.rb +0 -1
  222. data/lib/ppl/format/custom/email_address.rb +0 -1
  223. data/lib/ppl/format/custom/phone_number.rb +0 -1
  224. data/lib/ppl/format/name.rb +0 -1
  225. data/lib/ppl/format/name/full_only.rb +0 -1
  226. data/lib/ppl/format/postal_address.rb +0 -1
  227. data/lib/ppl/format/postal_address/multi_line.rb +0 -1
  228. data/lib/ppl/format/postal_address/one_line.rb +0 -1
  229. data/lib/ppl/format/table.rb +0 -1
  230. data/lib/ppl/service/email_address.rb +0 -1
  231. data/lib/ppl/service/name.rb +0 -1
  232. data/lib/ppl/service/phone_number.rb +0 -1
  233. data/lib/ppl/service/postal_address.rb +0 -1
  234. data/{LICENSE → license} +0 -0
  235. data/makefile +18 -0
  236. data/package.json +23 -0
  237. data/ppl.gemspec +15 -13
  238. data/{README.md → readme.md} +12 -9
  239. data/site/_data/url.js +4 -0
  240. data/site/casts/hero.cast +189 -0
  241. data/site/development.njk +6 -0
  242. data/site/documentation.njk +6 -0
  243. data/site/index.njk +75 -0
  244. data/site/news.njk +6 -0
  245. data/site/style.scss +140 -0
  246. data/spec/ppl/adapter/color/colored_spec.rb +3 -4
  247. data/spec/ppl/adapter/color_spec.rb +0 -1
  248. data/spec/ppl/adapter/email_scraper/mail_spec.rb +13 -13
  249. data/spec/ppl/adapter/email_scraper_spec.rb +0 -1
  250. data/spec/ppl/adapter/output_spec.rb +7 -8
  251. data/spec/ppl/adapter/storage/disk_spec.rb +18 -19
  252. data/spec/ppl/adapter/storage/factory_spec.rb +3 -4
  253. data/spec/ppl/adapter/storage/git_spec.rb +31 -32
  254. data/spec/ppl/adapter/storage_spec.rb +3 -4
  255. data/spec/ppl/adapter/vcard/greencard_spec.rb +45 -45
  256. data/spec/ppl/adapter/vcard_spec.rb +0 -1
  257. data/spec/ppl/application/bootstrap_spec.rb +128 -129
  258. data/spec/ppl/application/command_spec.rb +8 -9
  259. data/spec/ppl/application/command_suite_spec.rb +7 -8
  260. data/spec/ppl/application/configuration_spec.rb +16 -17
  261. data/spec/ppl/application/input_spec.rb +2 -3
  262. data/spec/ppl/application/router_spec.rb +8 -9
  263. data/spec/ppl/application/shell_spec.rb +39 -40
  264. data/spec/ppl/command/add_spec.rb +6 -7
  265. data/spec/ppl/command/age_spec.rb +7 -8
  266. data/spec/ppl/command/attribute_spec.rb +22 -23
  267. data/spec/ppl/command/bday_spec.rb +11 -12
  268. data/spec/ppl/command/completion_spec.rb +7 -8
  269. data/spec/ppl/command/email_spec.rb +19 -20
  270. data/spec/ppl/command/external_spec.rb +7 -8
  271. data/spec/ppl/command/help_spec.rb +15 -16
  272. data/spec/ppl/command/init_spec.rb +5 -6
  273. data/spec/ppl/command/ls_spec.rb +12 -13
  274. data/spec/ppl/command/mutt_spec.rb +33 -34
  275. data/spec/ppl/command/mv_spec.rb +11 -12
  276. data/spec/ppl/command/name_spec.rb +17 -18
  277. data/spec/ppl/command/nick_spec.rb +1 -2
  278. data/spec/ppl/command/org_spec.rb +1 -2
  279. data/spec/ppl/command/phone_spec.rb +15 -16
  280. data/spec/ppl/command/post_spec.rb +29 -30
  281. data/spec/ppl/command/rm_spec.rb +3 -4
  282. data/spec/ppl/command/scrape_spec.rb +24 -25
  283. data/spec/ppl/command/shell_spec.rb +41 -42
  284. data/spec/ppl/command/show_spec.rb +4 -5
  285. data/spec/ppl/command/url_spec.rb +1 -2
  286. data/spec/ppl/command/version_spec.rb +4 -5
  287. data/spec/ppl/entity/address_book_spec.rb +1 -2
  288. data/spec/ppl/entity/contact_spec.rb +16 -17
  289. data/spec/ppl/entity/email_address_spec.rb +3 -4
  290. data/spec/ppl/entity/name_spec.rb +1 -2
  291. data/spec/ppl/entity/phone_number_spec.rb +5 -6
  292. data/spec/ppl/entity/postal_address_spec.rb +2 -3
  293. data/spec/ppl/format/address_book/ages_spec.rb +3 -4
  294. data/spec/ppl/format/address_book/birthdays_spec.rb +3 -4
  295. data/spec/ppl/format/address_book/email_addresses_spec.rb +3 -4
  296. data/spec/ppl/format/address_book/mutt_query_spec.rb +3 -4
  297. data/spec/ppl/format/address_book/names_spec.rb +3 -4
  298. data/spec/ppl/format/address_book/nicknames_spec.rb +4 -5
  299. data/spec/ppl/format/address_book/one_line_spec.rb +5 -6
  300. data/spec/ppl/format/address_book/organizations_spec.rb +3 -4
  301. data/spec/ppl/format/address_book/phone_numbers_spec.rb +3 -4
  302. data/spec/ppl/format/address_book/postal_addresses_spec.rb +2 -3
  303. data/spec/ppl/format/address_book/urls_spec.rb +3 -4
  304. data/spec/ppl/format/address_book_spec.rb +0 -1
  305. data/spec/ppl/format/contact/age_spec.rb +8 -9
  306. data/spec/ppl/format/contact/birthday_spec.rb +4 -5
  307. data/spec/ppl/format/contact/email_addresses_spec.rb +3 -4
  308. data/spec/ppl/format/contact/full_spec.rb +11 -12
  309. data/spec/ppl/format/contact/nicknames_spec.rb +4 -5
  310. data/spec/ppl/format/contact/organization_spec.rb +4 -5
  311. data/spec/ppl/format/contact/phone_number_spec.rb +4 -5
  312. data/spec/ppl/format/contact/postal_address_spec.rb +1 -2
  313. data/spec/ppl/format/contact/postal_addresses_spec.rb +3 -4
  314. data/spec/ppl/format/contact/urls_spec.rb +4 -5
  315. data/spec/ppl/format/contact_spec.rb +0 -1
  316. data/spec/ppl/format/custom/contact_spec.rb +13 -14
  317. data/spec/ppl/format/custom/email_address_spec.rb +3 -4
  318. data/spec/ppl/format/custom/phone_number_spec.rb +4 -5
  319. data/spec/ppl/format/custom_spec.rb +6 -7
  320. data/spec/ppl/format/name/full_only_spec.rb +4 -5
  321. data/spec/ppl/format/name_spec.rb +0 -1
  322. data/spec/ppl/format/postal_address/multi_line_spec.rb +10 -11
  323. data/spec/ppl/format/postal_address/one_line_spec.rb +9 -10
  324. data/spec/ppl/format/postal_address_spec.rb +0 -1
  325. data/spec/ppl/format/table_spec.rb +11 -11
  326. data/spec/ppl/service/email_address_spec.rb +13 -14
  327. data/spec/ppl/service/name_spec.rb +9 -10
  328. data/spec/ppl/service/phone_number_spec.rb +11 -12
  329. data/spec/ppl/service/postal_address_spec.rb +20 -21
  330. data/spec/spec_helper.rb +4 -0
  331. data/yarn.lock +3605 -0
  332. metadata +183 -22
  333. data/.travis.yml +0 -11
  334. data/COPYING +0 -339
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: 1.15.0
3
+ summary: Color output added
4
+ date: 2013-03-16
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.15.0.html
9
+ ---
10
+
11
+ This adds support for colourised output to most ppl commands. The following
12
+ commands are affected by this change:
13
+
14
+ * [age](/documentation/configuration/color_age)
15
+ * [bday](/documentation/configuration/color_bday)
16
+ * [email](/documentation/configuration/color_email)
17
+ * [ls](/documentation/configuration/color_ls)
18
+ * [name](/documentation/configuration/color_name)
19
+ * [nick](/documentation/configuration/color_nick)
20
+ * [org](/documentation/configuration/color_org)
21
+ * [phone](/documentation/configuration/color_phone)
22
+ * [post](/documentation/configuration/color_post)
23
+ * [url](/documentation/configuration/color_url)
24
+
25
+ Internally, this release depends on two new gems:
26
+
27
+ * [morphine](https://github.com/bkeepers/morphine)
28
+ * [colored](https://github.com/defunkt/colored)
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: Coloured Output Released
3
+ date: 2013-03-16
4
+ layout: news
5
+ section: news
6
+ categories: [news]
7
+ ---
8
+
9
+ It's been about a month since the last release, but that's not because of any
10
+ lack of internal activity. Today marks the release of support for git-style
11
+ coloured output, configurable in `~/.pplconfig`.
12
+
13
+ This has taken a while to achieve just because I wanted to take my time over it
14
+ and try to really get it right the first time. Some refactoring was necessary in
15
+ order to get config data into the code responsible for formatting output, but
16
+ hopefully the resulting usage of the
17
+ [morphine](https://github.com/bkeepers/morphine) dependency injection container
18
+ should reduce such code churn in future.
19
+
20
+ In other news, the [UTF-8 bug](https://github.com/hnrysmth/ppl/issues/17) mentioned
21
+ in [last month's update](/news/two-months-in/) should be gone soon. I've spoken
22
+ to the maintainer of vpim about it, and [his
23
+ response](http://rubyforge.org/pipermail/vpim-talk/2013/000185.html) was
24
+ positive. Apparently vpim just doesn't quite support Ruby 1.9.1's String class
25
+ yet, but will do soon.
26
+
27
+
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: Ruby 2.0 Compatibility
3
+ date: 2013-04-10
4
+ layout: news
5
+ section: news
6
+ categories: [news]
7
+ ---
8
+
9
+ The latest version of ppl is available now, and it's one of those tiny,
10
+ pointless-sounding ones: `1.15.1`. This release is all about Ruby 2.0
11
+ compatibility. A recent issue reported on GitHub by
12
+ [@pigmonkey](https://github.com/pigmonkey) brought to my attention that vpim,
13
+ ppl's underlying vCard library, [doesn't work at all in Ruby
14
+ 2.0](https://github.com/hnrysmth/ppl/issues/19).
15
+
16
+ invalid multibyte escape: /^\xFF\xFE/
17
+
18
+ This is all better now, and ppl works as well in Ruby 2.0 as it does in the
19
+ 1.9.\* range. This was a bit of a seismic change behind the scenes, and it
20
+ almost seems misleading to increment only the patch version number.
21
+
22
+ Essentially, I forked vpim in order to get this done. While this is an
23
+ unexpected turn of events, it does mean I'm now quite well-placed to fix its
24
+ UTF-8 issues myself instead of depending on the mercy of upstream. By the way,
25
+ if you're interested in helping with this, go take a look at
26
+ [greencard](https://github.com/hnrysmth/greencard). It's vpim stripped down to just
27
+ the vCard functionality used by ppl. Go fork it!
28
+
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: 1.15.1
3
+ summary: Ruby 2.0 support
4
+ date: 2013-04-11
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.15.1.html
9
+ ---
10
+
11
+ Heralding support for Ruby 2.0 and beyond, this version of ppl also sees the
12
+ replacement of the vpim gem dependency with greencard. See the [news
13
+ post](/news/ruby-2.0-compatibility/) for more details.
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: 1.16.0
3
+ summary: Mutt integration tweaks
4
+ date: 2013-04-12
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.16.0.html
9
+ ---
10
+
11
+ With a couple of tweaks to the way ppl handles mutt queries, `1.16.0` should be
12
+ a nice improvement for anybody using ppl to autocomplete email addresses in the
13
+ mail client that "just sucks less".
14
+
15
+ * Added missing functionality to the [mutt](/documentation/commands/mutt)
16
+ command enabling it to output *all* of a contact's matching email addresses
17
+ instead of just the first.
18
+ * Added the `-i` flag to the [mutt](/documentation/commands/mutt) command
19
+ enabling it to perform case-insensitive search of the address book.
20
+
21
+ Many thanks to [@pigmonkey](https://github.com/pigmonkey) on GitHub for the
22
+ cooperation that made this release happen.
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: 1.17.0
3
+ summary: UTF-8 support
4
+ date: 2013-04-14
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.17.0.html
9
+ ---
10
+
11
+ This is a peculiar version in that it doesn't change any code in ppl itself, but
12
+ simultaneously fixes a really major issue that's been affecting it. All this
13
+ version does is to increment the greencard gem dependency version number to a
14
+ version that copes with UTF-8 input. It's a *tiny* change, but it's a major
15
+ improvement.
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: 1.17.1
3
+ summary: Mutt integration tweaks
4
+ date: 2013-04-14
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.17.1.html
9
+ ---
10
+
11
+ Two fairly minor issues are fixed in this version. The first is a tweak to the
12
+ output of the [mutt](/documentation/commands/mutt) command, improving the
13
+ [understandability and usefulness of the user-facing
14
+ text](https://github.com/hnrysmth/ppl/issues/20#issuecomment-16302428). The second is
15
+ a bit of output sanitisation to help out people unlucky enough to have an
16
+ address book where some of the contacts' fields contain `^M` [carriage return
17
+ characters](https://github.com/hnrysmth/ppl/issues/27).
18
+
19
+ * Tweaked the output of the [mutt](/documentation/commands/mutt) command
20
+ * Add output sanitisation removing all `^M` characters from all output
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: 1.17.2
3
+ summary: Fix for minor release bugs
4
+ date: 2013-04-14
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.17.2.html
9
+ ---
10
+
11
+ An embarrassing "quick follow-up" release, this unbreaks a couple of things that
12
+ 1.17.1 broke. Displaying the "Contact '%s' not found" message has been fixed, as
13
+ has the command list help text displayed by `ppl` and `ppl help`.
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: Sync Alias
3
+ date: 2013-04-15
4
+ layout: tip
5
+ categories: [tips]
6
+ permalink: /documentation/tips/sync-alias
7
+ author_name: hnrysmth
8
+ author_url: http://henrysmith.org/
9
+ ---
10
+
11
+ If your ppl address book is cloned on multiple computers, you're probably
12
+ accustomed to using [pull](/documentation/commands/pull/) and
13
+ [push](/documentation/commands/pull/) to synchronise your data using Git. If so,
14
+ that's great. You're making the most of ppl's core functionality. But you could
15
+ probably be making more of its convenience-oriented features.
16
+
17
+ ppl allows you to configure [aliases](/documentation/configuration/alias/) as
18
+ shorcuts for often-used commands, or as a way of composing commands together.
19
+ Here's an alias called `sync` which does the latter.
20
+
21
+ sync = !ppl pull origin master && ppl push origin master
22
+
23
+ This allows you to execute `git pull origin master` and then `git push origin
24
+ master` in your address book directory by simply entering `ppl sync`. For most
25
+ users, this probably automates the entire synchronisation process.
26
+
27
+ Bear in mind that this alias will only work if you keep your contacts on the
28
+ `master` branch and have a remote called `origin`. If your setup is more complex
29
+ than that, you may have to get creative with your aliases to achieve this level
30
+ of laziness.
31
+
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: UTF-8 Fixed And More
3
+ date: 2013-04-15
4
+ layout: news
5
+ section: news
6
+ categories: [news]
7
+ ---
8
+
9
+ Over the weekend, in an uncharacteristically late night of coding, I finally put
10
+ an end to that UTF-8 issue that had been preventing the [use of ppl with
11
+ non-ASCII characters](https://github.com/hnrysmth/ppl/issues/17) such as ß or ñ. My
12
+ apologies to anyone who wanted to try ppl and couldn't during the *two entire
13
+ months* that issue sat open. If it's any consolation, fixing it gave me many
14
+ headaches.
15
+
16
+ Even though it's only been a few days since the previous news post, there has
17
+ been a lot of progress in that time, thanks largely to the involvement and
18
+ encouragement of [@pigmonkey](https://github.com/pigmonkey) and
19
+ [@shushcat](https://github.com/shushcat) on GitHub. Some good refinements to the
20
+ [mutt integration](/documentation/integration/mutt/) have already made it into
21
+ recent versions of ppl, and there's some good discussion happening about what
22
+ needs doing to keep improving ppl in the near future.
23
+
24
+ The [documentation](/documentation) has had some much-needed attention invested
25
+ in it, too. A few bits and pieces have been tidied up, and a couple of entirely
26
+ new sections have been added as well. The [Integration
27
+ Guide](/documentation/integration/bash/) covers the growing number of ways of
28
+ using ppl with other software, and the [Tips Section](documentation/tips/)
29
+ should prove to be a good catch-all place for helpful advice about using ppl.
30
+
31
+ Contributions are welcome, so get in touch if you spot any mistakes, have any
32
+ tips to contribute, or know of any tools for integrating ppl into other
33
+ software. Big thanks to everyone for your input so far. Shout out to
34
+ [@alexGschaider](https://github.com/axelGschaider),
35
+ [@matthewp](https://github.com/matthewp/), and
36
+ [@storge](https://github.com/storge) for their help as well.
37
+
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: 1.18.0
3
+ summary: ppl completion added
4
+ date: 2013-04-16
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.18.0.html
9
+ ---
10
+
11
+ With the intention of streamlining the integration process with
12
+ [Bash](/documentation/integration/bash), and
13
+ [ZSH](/documentation/integration/zsh), this release adds the
14
+ [completion](/documentation/commands/completion) command. This new command
15
+ simply outputs the chosen shell autocompletion function to stdout.
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: Set Up Color Output
3
+ date: 2013-04-16
4
+ layout: tip
5
+ categories: [tips]
6
+ permalink: /documentation/tips/set-up-color-output
7
+ author_name: hnrysmth
8
+ author_url: http://henrysmith.org/
9
+ ---
10
+
11
+ ppl provides a system for configuring the output of many of its commands in a
12
+ way that's almost identical to git's color output configuration. While not an
13
+ essential piece of functionality, a small amount of color can go a long way
14
+ towards improving your experience using ppl.
15
+
16
+ Personally, I try to rein in the temptation to go to town and assign a color to
17
+ absolutely everything. My `~/.pplconfig` simply colorizes all contact IDs in all
18
+ output, highlighting them in cyan to maximize their visibility.
19
+
20
+ <pre><code>$ ppl ls</code>
21
+ <code><span style="color: #2AA198;">alice:</span> Alice alice@example.org</code>
22
+ <code><span style="color: #2AA198;">bob:</span> Bob bob@example.org</code>
23
+ <code><span style="color: #2AA198;">eve:</span> Eve eve@example.org</code></pre>
24
+
25
+ Configuring ppl to colorize the output of ls like in the above example is
26
+ extremely easy, and will be especially familiar to you if you're already used to
27
+ configuring git. Here are the exact config file contents necesssary to show
28
+ contact IDs in cyan in the output of [ppl ls](/documentation/commands/ls).
29
+
30
+ [color]
31
+ ls = true
32
+
33
+ [color "ls"]
34
+ id = cyan
35
+
36
+ Simply add the above to your `~/.pplconfig`, run `ppl ls`, and you should see
37
+ contact IDs in cyan. If not, double-check whether you're running an up-to-date
38
+ version of ppl. This feature has been supported since `1.15.0`, making it only
39
+ about a month old at the time of writing.
40
+
41
+ Now that you know the basic gist of how to configure color, you'll probably be
42
+ glad to know that there's some fairly extensive [reference documentation for this
43
+ functionality](/documentation/configuration/color), including a [list of
44
+ supported colors](/documentation/configuration/color/#list_of_supported_colors)
45
+ and an example for each command which shows the [full list of configurable text
46
+ elements](/documentation/configuration/color_ls).
47
+
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: 1.19.0
3
+ summary: ppl scrape added
4
+ date: 2013-04-19
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.19.0.html
9
+ ---
10
+
11
+ Following a [feature request](https://github.com/hnrysmth/ppl/issues/23) on GitHub,
12
+ this release adds the [scrape](/documentation/commands/scrape) command for
13
+ automatically adding contacts to an address book from an email message.
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: 1.20.0
3
+ summary: ppl nick --no-color added
4
+ date: 2013-04-19
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.20.0.html
9
+ ---
10
+
11
+ In order to fix a [compatibility issue with OS
12
+ X](https://github.com/hnrysmth/ppl/issues/22#issuecomment-16622923), the usage of sed
13
+ to strip ANSI color escape codes in the autocompletion functions has been
14
+ replaced with a `--no-color` option which has been added to [ppl
15
+ nick](/documentation/commands/nick).
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: 1.21.0
3
+ summary: ppl phone --type added
4
+ date: 2013-04-20
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.21.0.html
9
+ ---
10
+
11
+ Further increasing the expressiveness of ppl's commands, this release brings the
12
+ `--type` option to [ppl phone](/documentation/commands/phone). With this option,
13
+ the vCard format's `TYPE` parameter in the `TEL` field is now exposed to users.
14
+ This allows you to label phone numbers in a way that doesn't [break
15
+ compatibility with other
16
+ software](https://github.com/hnrysmth/ppl/issues/24#issuecomment-16623136).
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 1.22.0
3
+ summary: Noticeable performance optimization
4
+ date: 2013-04-20
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.22.0.html
9
+ ---
10
+
11
+ In this version of ppl, one particularly egregious performance issue has been
12
+ fixed. Upgrading is *highly* recommended. Even if you haven't noticed any
13
+ problems worth complaining about, you should hopefully enjoy quite a boost with
14
+ this new version.
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: 1.22.1
3
+ summary: Fix minor output formatting bug
4
+ date: 2013-04-20
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.22.1.html
9
+ ---
10
+
11
+ This version simply fixes a minor bug in the outputting format code, which was
12
+ introduced in `1.21.0`. Nothing serious, but a warning sign that I need to slow
13
+ myself down and perhaps look at automating more of the testing process.
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: 1.22.2
3
+ summary: Fix for broken --delete option
4
+ date: 2013-04-21
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.22.2.html
9
+ ---
10
+
11
+ See the [Bash integration guide](/documentation/integration/bash) for details of
12
+ how to install the updated completion function to your system. Another bugfix
13
+ release, fixing the [broken `--delete`
14
+ option](https://github.com/hnrysmth/ppl/issues/33) of [`ppl
15
+ phone`](/documentation/commands/phone).
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: 1.23.0
3
+ summary: Bash completion enhancements
4
+ date: 2013-04-21
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.23.0.html
9
+ ---
10
+
11
+ Unusually for a ppl release, this one doesn't add any new core functionality or
12
+ fix any bugs. Instead, this release is solely an update to the [Bash
13
+ integration](/documentation/integration/bash/). The following improvements have
14
+ been made to the bash completion.
15
+
16
+ * It now returns command name suggestions much more quickly
17
+ * It can autocomplete email addresses for use with [`ppl
18
+ email`](/documentation/commands/email)
19
+ * It can autocomplete nicknames for use with [`ppl
20
+ nick`](/documentation/commands/nick)
21
+ * It can autocomplete organizations for use with [`ppl
22
+ org`](/documentation/commands/org)
23
+ * It can autocomplete phone numbers for use with [`ppl
24
+ phone`](/documentation/commands/phone)
25
+ * It can autocomplete URLs for use with [`ppl url`](/documentation/commands/url)
26
+ * It can autocomplete git remotes for use with
27
+ [`pull`](/documentation/commands/pull) and
28
+ [`push`](/documentation/commands/push)
29
+
30
+ For example, if you're attempting to amend the `--type` of a contact's phone
31
+ number, you can now enter `ppl phone adam 071<Tab>` and Bash will autocomplete
32
+ the rest of the phone number.
33
+
34
+ See the [Bash integration guide](/documentation/integration/bash) for details of
35
+ how to install the updated completion function to your system.