ppl 3.0.0 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,8 @@
1
+ ---
2
+ title: Configuration
3
+ layout: page
4
+ section: documentation
5
+ ---
6
+
7
+ <p>configuration</p>
8
+
@@ -0,0 +1,183 @@
1
+ ---
2
+ title: Documentation
3
+ layout: page
4
+ section: documentation
5
+ ---
6
+
7
+ <h2>Documentation</h2>
8
+
9
+ <div class="row">
10
+
11
+ <div class="span4">
12
+ <h3>Quick Start</h3>
13
+ <div class="well well-large">
14
+ <p>
15
+ Trying ppl for the first time?
16
+ <br />
17
+ Want to learn the basics?
18
+ <br />
19
+ In 30 seconds or less?
20
+ </p>
21
+
22
+ <p>
23
+ <a class="btn btn-primary" href="{{site.url}}/documentation/quick-start">
24
+ Get Started
25
+ </a>
26
+ </p>
27
+
28
+ </div>
29
+ </div>
30
+
31
+ <div class="span8">
32
+ <h3>Command Reference</h3>
33
+
34
+ <div class="row">
35
+
36
+ <div class="span2">
37
+ <ul class="nav nav-pills nav-stacked">
38
+ <li><a href="{{site.url}}/documentation/commands/age">age</a></li>
39
+ <li><a href="{{site.url}}/documentation/commands/add">add</a></li>
40
+ <li><a href="{{site.url}}/documentation/commands/bday">bday</a></li>
41
+ <li><a href="{{site.url}}/documentation/commands/completion">completion</a></li>
42
+ <li><a href="{{site.url}}/documentation/commands/email">email</a></li>
43
+ <li><a href="{{site.url}}/documentation/commands/grep">grep</a></li>
44
+ </ul>
45
+ </div>
46
+
47
+ <div class="span2">
48
+ <ul class="nav nav-pills nav-stacked">
49
+ <li><a href="{{site.url}}/documentation/commands/init">init</a></li>
50
+ <li><a href="{{site.url}}/documentation/commands/ls">ls</a></li>
51
+ <li><a href="{{site.url}}/documentation/commands/mutt">mutt</a></li>
52
+ <li><a href="{{site.url}}/documentation/commands/mv">mv</a></li>
53
+ <li><a href="{{site.url}}/documentation/commands/name">name</a></li>
54
+ <li><a href="{{site.url}}/documentation/commands/nick">nick</a></li>
55
+ </ul>
56
+ </div>
57
+
58
+ <div class="span2">
59
+ <ul class="nav nav-pills nav-stacked">
60
+ <li><a href="{{site.url}}/documentation/commands/org">org</a></li>
61
+ <li><a href="{{site.url}}/documentation/commands/phone">phone</a></li>
62
+ <li><a href="{{site.url}}/documentation/commands/post">post</a></li>
63
+ <li><a href="{{site.url}}/documentation/commands/pull">pull</a></li>
64
+ <li><a href="{{site.url}}/documentation/commands/push">push</a></li>
65
+ <li><a href="{{site.url}}/documentation/commands/remote">remote</a></li>
66
+ </ul>
67
+ </div>
68
+
69
+ <div class="span2">
70
+ <ul class="nav nav-pills nav-stacked">
71
+ <li><a href="{{site.url}}/documentation/commands/rm">rm</a></li>
72
+ <li><a href="{{site.url}}/documentation/commands/scrape">scrape</a></li>
73
+ <li><a href="{{site.url}}/documentation/commands/shell">shell</a></li>
74
+ <li><a href="{{site.url}}/documentation/commands/show">show</a></li>
75
+ <li><a href="{{site.url}}/documentation/commands/url">url</a></li>
76
+ <li><a href="{{site.url}}/documentation/commands/version">version</a></li>
77
+ </ul>
78
+ </div>
79
+
80
+ </div>
81
+
82
+ </div>
83
+
84
+ </div>
85
+
86
+
87
+ <div class="row">
88
+
89
+ <div class="span4">
90
+ <h3>Tips &amp; Tricks</h3>
91
+ <p>
92
+ Small bits of advice for getting the most out of ppl.
93
+ <br />
94
+ <a href="{{site.url}}/documentation/tips">Sound interesting?</a>
95
+ </p>
96
+ </div>
97
+
98
+ <div class="span8">
99
+ <h3>Integration Guide</h3>
100
+ <div class="row">
101
+
102
+ <div class="span2">
103
+ <ul class="nav nav-pills nav-stacked">
104
+ <li><a href="{{site.url}}/documentation/integration/bash">Bash</a></li>
105
+ </ul>
106
+ </div>
107
+
108
+ <div class="span2">
109
+ <ul class="nav nav-pills nav-stacked">
110
+ <li><a href="{{site.url}}/documentation/integration/google">Google</a></li>
111
+ </ul>
112
+ </div>
113
+
114
+ <div class="span2">
115
+ <ul class="nav nav-pills nav-stacked">
116
+ <li><a href="{{site.url}}/documentation/integration/mutt">Mutt</a></li>
117
+ </ul>
118
+ </div>
119
+
120
+ <div class="span2">
121
+ <ul class="nav nav-pills nav-stacked">
122
+ <li><a href="{{site.url}}/documentation/integration/zsh">ZSH</a></li>
123
+ </ul>
124
+ </div>
125
+
126
+ </div>
127
+ </div>
128
+
129
+ </div>
130
+
131
+ <div class="row">
132
+
133
+ <div class="span4">
134
+ <h3>About ppl</h3>
135
+ <p>
136
+ Wondering why ppl even exists? Whose idea it was?
137
+ <br />
138
+ <a href="{{site.url}}/documentation/about">Look no further</a>
139
+ </p>
140
+ </div>
141
+
142
+ <div class="span8">
143
+ <h3>Configuration Guide</h3>
144
+ <div class="row">
145
+
146
+ <div class="span2">
147
+ <ul class="nav nav-pills nav-stacked">
148
+ <li><a href="{{site.url}}/documentation/configuration/address_book">[address&nbsp;book]</a></li>
149
+ <li><a href="{{site.url}}/documentation/configuration/alias">[alias]</a></li>
150
+ <li><a href="{{site.url}}/documentation/configuration/color">[color]</a></li>
151
+ <li><a href="{{site.url}}/documentation/configuration/color_age">[color "age"]</a></li>
152
+ </ul>
153
+ </div>
154
+
155
+ <div class="span2">
156
+ <ul class="nav nav-pills nav-stacked">
157
+ <li><a href="{{site.url}}/documentation/configuration/color_bday">[color "bday"]</a></li>
158
+ <li><a href="{{site.url}}/documentation/configuration/color_email">[color "email"]</a></li>
159
+ <li><a href="{{site.url}}/documentation/configuration/color_ls">[color "ls"]</a></li>
160
+ <li><a href="{{site.url}}/documentation/configuration/color_name">[color "name"]</a></li>
161
+ </ul>
162
+ </div>
163
+
164
+ <div class="span2">
165
+ <ul class="nav nav-pills nav-stacked">
166
+ <li><a href="{{site.url}}/documentation/configuration/color_nick">[color "nick"]</a></li>
167
+ <li><a href="{{site.url}}/documentation/configuration/color_org">[color "org"]</a></li>
168
+ <li><a href="{{site.url}}/documentation/configuration/color_phone">[color&nbsp;"phone"]</a></li>
169
+ <li><a href="{{site.url}}/documentation/configuration/color_post">[color "post"]</a></li>
170
+ </ul>
171
+ </div>
172
+
173
+ <div class="span2">
174
+ <ul class="nav nav-pills nav-stacked">
175
+ <li><a href="{{site.url}}/documentation/configuration/color_url">[color "url"]</a></li>
176
+ </ul>
177
+ </div>
178
+
179
+ </div>
180
+ </div>
181
+
182
+ </div>
183
+
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: Bash Integration Guide
3
+ layout: integration
4
+ section: documentation
5
+ integration: bash
6
+ ---
7
+
8
+ If you've ever used a command-line program like Git, you've probably used tab
9
+ completion before. For example, you type `git chec`, press the `<Tab>` key, and
10
+ bash automatically completes the rest of the command for you: `git checkout`.
11
+ Bash accomplishes this through the use of a [completion
12
+ function](http://tldp.org/LDP/abs/html/tabexpansion.html), and the good news is
13
+ that there's one available for ppl.
14
+
15
+ ### Install the completion function globally
16
+
17
+ $ ppl completion bash | sudo tee /etc/bash_completion.d/ppl
18
+
19
+ The [completion](/documentation/commands/completion) command simply outputs the
20
+ completion function code in its entirety. The above line pipes that code into
21
+ its rightful place in your system's Bash completion function config directory.
22
+
23
+
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: Google Integration Guide
3
+ layout: integration
4
+ section: documentation
5
+ integration: google
6
+ ---
7
+
8
+ Many people have a large set of address book data stored in Google Contacts,
9
+ usually under the hood of GMail itself. If you fall in this category, and you
10
+ want to copy over that data as a starting point for your ppl address book, you
11
+ have a few options thanks to the enterprising work of some generous ppl users.
12
+
13
+ ### gv-contacts
14
+
15
+ Part of an npm package called [gv](https://github.com/matthewp/gv-app/), the `gv
16
+ contacts` command is a way of importing contacts directly from your Google
17
+ account into ppl. It imports contacts' names, phone numbers and email addresses.
18
+
19
+ ### goog2ppl
20
+
21
+ [goog2ppl](https://github.com/shushcat/goog2ppl) is a python script for
22
+ converting a contacts.vcf file [exported from
23
+ Google](http://support.google.com/mail/answer/24911?hl=en) and breaking it up
24
+ into pieces suitable for initialization as the contents of a ppl address book
25
+ directory.
26
+
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: Integration
3
+ layout: page
4
+ section: documentation
5
+ ---
6
+
7
+ <h2>Integration</h3>
8
+
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: Mutt Integration Guide
3
+ layout: integration
4
+ section: documentation
5
+ integration: mutt
6
+ ---
7
+
8
+ The [Mutt E-Mail Client](http://www.mutt.org/)
9
+
10
+ ### Email Address Autocompletion
11
+
12
+ Mutt supports the use of external address book programs as a source of [email
13
+ address autocompletion
14
+ suggestions](http://www.mutt.org/doc/manual/manual-4.html#ss4.5). You can use
15
+ this to integrate ppl into mutt by adding the following to your `~/.muttrc`:
16
+
17
+ set query_command = "ppl mutt '%s'"
18
+
19
+ With that configured, you can then invoke ppl from within mutt as a means of
20
+ quickly finding email addresses by pressing `Q` in the index menu, or by
21
+ pressing `^T` in any prompt for address entry.
22
+
23
+ ### Quickly Adding New Contacts
24
+
25
+ If you have a lot of email to deal with, you may find it tedious to have to add
26
+ each new email contact to your address book manually. With a macro like the
27
+ following in your `~/.muttrc`, adding the sender of the currently selected email
28
+ is as simple as pressing the `a` key.
29
+
30
+ macro index,pager a "<pipe-message>ppl scrape --sender<return>"
31
+
32
+ This macro uses the [scrape](/documentation/commands/scrape) command to pull out
33
+ the sender's email address and name (if available), and adds them to the address
34
+ book.
35
+
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: ZSH Integration Guide
3
+ layout: integration
4
+ section: documentation
5
+ integration: zsh
6
+ ---
7
+
8
+ Similarly to the [Bash completion](/documentation/integration/bash/)
9
+ functionality also available, ppl comes ready with a ZSH completion function as
10
+ well. Here's how to get it set up:
11
+
12
+ ### Install the completion function
13
+
14
+ $ ppl completion zsh | sudo tee /usr/share/zsh/site-functions/_ppl
15
+
16
+ Depending on your choice of operating system, the target directory in the above
17
+ code may differ. The above is certainly correct for Arch Linux, but on Debian,
18
+ for example, the target would be `/usr/local/share/zsh/site-functions/`.
19
+
@@ -0,0 +1,88 @@
1
+ ---
2
+ title: ppl Quick Start
3
+ layout: page
4
+ section: documentation
5
+ ---
6
+
7
+ <h2>Quick Start</h2>
8
+
9
+ <div class="row">
10
+ <div class="span8">
11
+ <h3>Requirements</h3>
12
+ <p>
13
+ ppl depends on <a href="http://rubygems.org/">rubygems</a> for
14
+ installation, and on <a href="http://git-scm.com/">git</a> for storage and
15
+ syncing.
16
+ </p>
17
+ </div>
18
+ </div>
19
+
20
+ <div class="row">
21
+ <div class="span8">
22
+ <h3>Installation</h3>
23
+ <pre><code>$ sudo gem install ppl</code></pre>
24
+ </div>
25
+ </div>
26
+
27
+ <div class="row">
28
+ <div class="span8">
29
+ <h3>Create An Address Book</h3>
30
+ <pre><code>$ ppl init ~/contacts</code></pre>
31
+ </div>
32
+ <div class="span4">
33
+ <h3>&nbsp;</h3>
34
+ <p>
35
+ <a href="{{site.url}}/documentation/commands/init">ppl init</a> is just
36
+ like creating a Git repo
37
+ </p>
38
+ </div>
39
+ </div>
40
+
41
+ <div class="row">
42
+ <div class="span8">
43
+ <h3>Add Some Contacts</h3>
44
+ <pre><code>$ cd ~/contacts
45
+ $ ppl add alice "Alice Adams"
46
+ $ ppl add bob "Bob Brown"
47
+ $ ppl add eve "Eve Edwards"</code></pre>
48
+ </div>
49
+ <div class="span4">
50
+ <h3>&nbsp;</h3>
51
+ <p>
52
+ <a href="{{site.url}}/documentation/commands/add">ppl add</a> creates new
53
+ contacts in the address book
54
+ </p>
55
+ </div>
56
+ </div>
57
+
58
+ <div class="row">
59
+ <div class="span8">
60
+ <h3>Store Some Contact Details</h3>
61
+ <pre><code>$ ppl email alice alice@example.org
62
+ $ ppl phone bob 0123456789
63
+ $ ppl org eve "Red Hat"</code></pre>
64
+ </div>
65
+ <div class="span4">
66
+ <h3>&nbsp;</h3>
67
+ <p>
68
+ ppl has many commands for adding new properties to contacts. Further
69
+ information is available in the <a href="{{site.url}}/documentation">documentation</a>
70
+ </p>
71
+ </div>
72
+ </div>
73
+
74
+ <div class="row">
75
+ <div class="span8">
76
+ <h3>Set Your Default Address Book</h3>
77
+ <pre><code>$ echo "[address book]" > ~/.pplconfig
78
+ $ echo path = "`pwd`" >> ~/.pplconfig</code></pre>
79
+ </div>
80
+ <div class="span4">
81
+ <h3>&nbsp;</h3>
82
+ <p>
83
+ This tells ppl to let you keep working with this address book even after
84
+ you <code>cd</code> into another directory
85
+ </p>
86
+ </div>
87
+ </div>
88
+
@@ -0,0 +1,9 @@
1
+ ---
2
+ title: "Tips & Tricks"
3
+ section: documentation
4
+ ---
5
+
6
+ {% assign page = site.categories.tips.first %}
7
+ {% assign content = site.categories.tips.first.content %}
8
+ {% include tip.html %}
9
+
@@ -0,0 +1,108 @@
1
+ ---
2
+ title: ppl - The Command Line Address Book
3
+ layout: frontpage
4
+ ---
5
+
6
+
7
+ <div class="front-page">
8
+
9
+ <div class="row welcome">
10
+
11
+ <div class="span4">
12
+
13
+ <h1 class="big-welcome">
14
+ ppl
15
+ </h1>
16
+
17
+ <p class="little-welcome">
18
+ The command line address book
19
+ </p>
20
+ <p class="little-welcome">
21
+ <a href="{{site.url}}/documentation/quick-start">
22
+ Try it!
23
+ </a>
24
+ </p>
25
+
26
+ </div>
27
+
28
+ <div class="span8">
29
+ <pre class="welcome-example"><code><span class="bash-prompt">$</span> ppl add henry "Henry Smith"
30
+ <span class="bash-prompt">$</span> ppl phone henry 012345678
31
+ <span class="bash-prompt">$</span> ppl email henry henry@henrysmith.org
32
+ <span class="bash-prompt">$</span> ppl show henry
33
+ Henry Smith &lt;henry@henrysmith.org&gt;
34
+
35
+ Email Addresses:
36
+ henry@henrysmith.org
37
+
38
+ Phone Numbers:
39
+ 0123456789
40
+ </code></pre>
41
+ </div>
42
+
43
+ </div>
44
+
45
+ <div class="row what">
46
+
47
+ <div class="span4">
48
+ <h2>Free</h2>
49
+ <p>
50
+ ppl is free software made out of other free software. It's built on top
51
+ of Ruby and Git, and the completely free vcard address book format.
52
+ </p>
53
+ </div>
54
+
55
+ <div class="span4">
56
+ <h2>Decentralized</h2>
57
+ <p>
58
+ ppl is built on top of Git, the world's most popular decentralized
59
+ version control system. Use your address book wherever you like and let
60
+ Git worry about making sense of it all.
61
+ </p>
62
+ </div>
63
+
64
+ <div class="span4">
65
+ <h2>Good</h2>
66
+ <p>
67
+ ppl does its best to be a proper UNIX-style comand line program. Proper
68
+ exit codes, no superfluous output, that sort of thing.
69
+ </p>
70
+ </div>
71
+
72
+ </div>
73
+
74
+ <div class="row latest">
75
+
76
+ <div class="span4">
77
+ <h3>Latest Version</h3>
78
+ <div class="well">
79
+ <h2>
80
+ {{site.categories.changelog.first.title}}
81
+ <small>
82
+ ({{ site.categories.changelog.first.date | date: '%Y-%m-%d' }})
83
+ </small>
84
+ </h2>
85
+ <p>
86
+ <a href="{{site.url}}{{site.categories.changelog.first.permalink}}">
87
+ {{site.categories.changelog.first.summary}}
88
+ </a>
89
+ </p>
90
+ </div>
91
+ </div>
92
+
93
+ <div class="span8">
94
+ <h3>
95
+ {{site.categories.news.first.title}}
96
+ <small>
97
+ <a href="{{site.url}}{{site.categories.news.first.url}}">
98
+ {{site.categories.news.first.date | date: '%Y-%m-%d'}}
99
+ </a>
100
+ </small>
101
+ </h3>
102
+ {{site.categories.news.first.content}}
103
+ </div>
104
+
105
+ </div>
106
+
107
+ </div>
108
+