ppl 4.0.2 → 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 (156) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +12 -0
  3. data/.eleventy.js +86 -0
  4. data/.eleventyignore +1 -0
  5. data/.github/workflows/build.yml +30 -2
  6. data/.gitignore +3 -1
  7. data/Rakefile +1 -1
  8. data/features/step_definitions/ppl_steps.rb +24 -24
  9. data/gh-pages/Gemfile +2 -0
  10. data/gh-pages/_config.yml +5 -0
  11. data/gh-pages/_includes/changelog.html +23 -0
  12. data/gh-pages/_includes/development-sidebar.html +25 -0
  13. data/gh-pages/_includes/footer.html +22 -0
  14. data/gh-pages/_includes/header.html +43 -0
  15. data/gh-pages/_includes/news.html +36 -0
  16. data/gh-pages/_includes/tip.html +54 -0
  17. data/gh-pages/_layouts/changelog.html +1 -0
  18. data/gh-pages/_layouts/command.html +104 -0
  19. data/gh-pages/_layouts/configuration.html +71 -0
  20. data/gh-pages/_layouts/development.html +20 -0
  21. data/gh-pages/_layouts/frontpage.html +6 -0
  22. data/gh-pages/_layouts/integration.html +44 -0
  23. data/gh-pages/_layouts/news.html +2 -0
  24. data/gh-pages/_layouts/page.html +6 -0
  25. data/gh-pages/_layouts/tip.html +2 -0
  26. data/gh-pages/_posts/2012-01-15-first-post.md +16 -0
  27. data/gh-pages/_posts/2012-12-20-1.0.0.md +19 -0
  28. data/gh-pages/_posts/2012-12-20-1.1.0.md +28 -0
  29. data/gh-pages/_posts/2012-12-20-1.2.0.md +18 -0
  30. data/gh-pages/_posts/2012-12-21-1.3.0.md +20 -0
  31. data/gh-pages/_posts/2012-12-21-thank-you-for-your-all-your-feedback.md +26 -0
  32. data/gh-pages/_posts/2012-12-22-1.4.1.md +21 -0
  33. data/gh-pages/_posts/2012-12-22-1.5.0.md +17 -0
  34. data/gh-pages/_posts/2012-12-23-1.5.1.md +13 -0
  35. data/gh-pages/_posts/2012-12-23-1.5.2.md +15 -0
  36. data/gh-pages/_posts/2012-12-26-1.5.3.md +19 -0
  37. data/gh-pages/_posts/2012-12-27-1.6.0.md +18 -0
  38. data/gh-pages/_posts/2012-12-29-1.7.0.md +18 -0
  39. data/gh-pages/_posts/2013-01-05-1.8.0.md +18 -0
  40. data/gh-pages/_posts/2013-01-06-1.9.0.md +20 -0
  41. data/gh-pages/_posts/2013-01-10-1.10.0.md +18 -0
  42. data/gh-pages/_posts/2013-01-20-1.11.0.md +14 -0
  43. data/gh-pages/_posts/2013-02-16-1.12.0.md +14 -0
  44. data/gh-pages/_posts/2013-02-17-1.13.0.md +29 -0
  45. data/gh-pages/_posts/2013-02-17-1.14.0.md +15 -0
  46. data/gh-pages/_posts/2013-02-17-1.14.1.md +18 -0
  47. data/gh-pages/_posts/2013-02-17-two-months-in.md +27 -0
  48. data/gh-pages/_posts/2013-03-16-1.15.0.md +28 -0
  49. data/gh-pages/_posts/2013-03-16-coloured-output-released.md +27 -0
  50. data/gh-pages/_posts/2013-04-10-ruby-2.0-compatibility.md +28 -0
  51. data/gh-pages/_posts/2013-04-11-1.15.1.md +13 -0
  52. data/gh-pages/_posts/2013-04-12-1.16.0.md +22 -0
  53. data/gh-pages/_posts/2013-04-14-1.17.0.md +15 -0
  54. data/gh-pages/_posts/2013-04-14-1.17.1.md +20 -0
  55. data/gh-pages/_posts/2013-04-14-1.17.2.md +13 -0
  56. data/gh-pages/_posts/2013-04-15-sync-alias.md +31 -0
  57. data/gh-pages/_posts/2013-04-15-utf8-fixed-and-more.md +37 -0
  58. data/gh-pages/_posts/2013-04-16-1.18.0.md +15 -0
  59. data/gh-pages/_posts/2013-04-16-set-up-color-output.md +47 -0
  60. data/gh-pages/_posts/2013-04-19-1.19.0.md +13 -0
  61. data/gh-pages/_posts/2013-04-19-1.20.0.md +15 -0
  62. data/gh-pages/_posts/2013-04-20-1.21.0.md +16 -0
  63. data/gh-pages/_posts/2013-04-20-1.22.0.md +14 -0
  64. data/gh-pages/_posts/2013-04-20-1.22.1.md +13 -0
  65. data/gh-pages/_posts/2013-04-21-1.22.2.md +15 -0
  66. data/gh-pages/_posts/2013-04-21-1.23.0.md +35 -0
  67. data/gh-pages/_posts/2013-04-23-1.24.0.md +16 -0
  68. data/gh-pages/_posts/2013-04-24-1.25.0.md +21 -0
  69. data/gh-pages/_posts/2013-05-09-2.0.0.md +33 -0
  70. data/gh-pages/_posts/2013-05-09-version-2.0.0-released.md +32 -0
  71. data/gh-pages/_posts/2013-07-20-2.1.0.md +36 -0
  72. data/gh-pages/_posts/2013-07-20-2.2.0.md +20 -0
  73. data/gh-pages/_posts/2013-10-12-2.3.0.md +19 -0
  74. data/gh-pages/_posts/2014-03-30-2.3.1.md +25 -0
  75. data/gh-pages/_posts/2015-01-05-2.3.2.md +18 -0
  76. data/gh-pages/_posts/2015-12-03-get-involved.md +29 -0
  77. data/gh-pages/_posts/2015-12-05-2.3.3.md +16 -0
  78. data/gh-pages/_posts/2016-01-02-2.4.0.md +19 -0
  79. data/gh-pages/_posts/2017-05-01-2.4.1.md +12 -0
  80. data/gh-pages/_posts/2017-10-23-sleep-mode.md +18 -0
  81. data/gh-pages/_posts/2018-01-03-3.0.1.md +12 -0
  82. data/gh-pages/_stylesheets/ppl/color.less +119 -0
  83. data/gh-pages/_stylesheets/ppl/layout.less +54 -0
  84. data/gh-pages/_stylesheets/ppl/style.less +185 -0
  85. data/gh-pages/_stylesheets/ppl/typography.less +59 -0
  86. data/gh-pages/development/changelog/index.md +18 -0
  87. data/gh-pages/development/changelog/split.rb +51 -0
  88. data/gh-pages/development/index.html +32 -0
  89. data/gh-pages/development/roadmap/index.md +15 -0
  90. data/gh-pages/documentation/about/index.html +63 -0
  91. data/gh-pages/documentation/commands/add/index.md +43 -0
  92. data/gh-pages/documentation/commands/age/add/index.md +40 -0
  93. data/gh-pages/documentation/commands/age/index.md +38 -0
  94. data/gh-pages/documentation/commands/bday/index.md +44 -0
  95. data/gh-pages/documentation/commands/completion/index.md +38 -0
  96. data/gh-pages/documentation/commands/email/index.md +64 -0
  97. data/gh-pages/documentation/commands/grep/index.md +32 -0
  98. data/gh-pages/documentation/commands/init/index.md +28 -0
  99. data/gh-pages/documentation/commands/ls/index.md +55 -0
  100. data/gh-pages/documentation/commands/mutt/index.md +36 -0
  101. data/gh-pages/documentation/commands/mv/index.md +26 -0
  102. data/gh-pages/documentation/commands/name/index.md +45 -0
  103. data/gh-pages/documentation/commands/nick/index.md +44 -0
  104. data/gh-pages/documentation/commands/org/index.md +45 -0
  105. data/gh-pages/documentation/commands/phone/index.md +56 -0
  106. data/gh-pages/documentation/commands/post/index.md +61 -0
  107. data/gh-pages/documentation/commands/pull/index.md +39 -0
  108. data/gh-pages/documentation/commands/push/index.md +36 -0
  109. data/gh-pages/documentation/commands/remote/index.md +40 -0
  110. data/gh-pages/documentation/commands/rm/index.md +23 -0
  111. data/gh-pages/documentation/commands/scrape/index.md +38 -0
  112. data/gh-pages/documentation/commands/shell/index.md +39 -0
  113. data/gh-pages/documentation/commands/show/index.md +33 -0
  114. data/gh-pages/documentation/commands/url/index.md +44 -0
  115. data/gh-pages/documentation/commands/version/index.md +27 -0
  116. data/gh-pages/documentation/configuration/address_book/index.md +22 -0
  117. data/gh-pages/documentation/configuration/alias/index.md +45 -0
  118. data/gh-pages/documentation/configuration/color/index.md +47 -0
  119. data/gh-pages/documentation/configuration/color_age/index.md +20 -0
  120. data/gh-pages/documentation/configuration/color_bday/index.md +20 -0
  121. data/gh-pages/documentation/configuration/color_email/index.md +21 -0
  122. data/gh-pages/documentation/configuration/color_ls/index.md +21 -0
  123. data/gh-pages/documentation/configuration/color_name/index.md +20 -0
  124. data/gh-pages/documentation/configuration/color_nick/index.md +20 -0
  125. data/gh-pages/documentation/configuration/color_org/index.md +20 -0
  126. data/gh-pages/documentation/configuration/color_phone/index.md +22 -0
  127. data/gh-pages/documentation/configuration/color_post/index.md +20 -0
  128. data/gh-pages/documentation/configuration/color_url/index.md +20 -0
  129. data/gh-pages/documentation/configuration/index.html +8 -0
  130. data/gh-pages/documentation/index.html +183 -0
  131. data/gh-pages/documentation/integration/bash/index.md +23 -0
  132. data/gh-pages/documentation/integration/google/index.md +26 -0
  133. data/gh-pages/documentation/integration/index.html +8 -0
  134. data/gh-pages/documentation/integration/mutt/index.md +35 -0
  135. data/gh-pages/documentation/integration/zsh/index.md +19 -0
  136. data/gh-pages/documentation/quick-start/index.html +88 -0
  137. data/gh-pages/documentation/tips/index.html +9 -0
  138. data/gh-pages/index.html +108 -0
  139. data/gh-pages/news/index.html +9 -0
  140. data/gh-pages/robots.txt +3 -0
  141. data/gh-pages/stylesheets/flatstrap.css +10 -0
  142. data/gh-pages/stylesheets/ppl.scss +235 -0
  143. data/gh-pages/wiki.png +0 -0
  144. data/lib/ppl.rb +4 -1
  145. data/makefile +18 -0
  146. data/package.json +23 -0
  147. data/ppl.gemspec +1 -1
  148. data/site/_data/url.js +4 -0
  149. data/site/casts/hero.cast +189 -0
  150. data/site/development.njk +6 -0
  151. data/site/documentation.njk +6 -0
  152. data/site/index.njk +75 -0
  153. data/site/news.njk +6 -0
  154. data/site/style.scss +140 -0
  155. data/yarn.lock +3605 -0
  156. metadata +149 -1
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: 1.3.0
3
+ summary: XDG-compatible configuration
4
+ date: 2012-12-21
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.3.0.html
9
+ ---
10
+
11
+ Adds support for XDG-compatible configuration. Many thanks to
12
+ [@tijn](https://github.com/hnrysmth/ppl/issues/4) on GitHub for [recommending this
13
+ functionality](https://github.com/hnrysmth/ppl/issues/4).
14
+
15
+ This means ppl can now be alternatively configured using a file at
16
+ `~/.config/ppl/config`. If you like keeping your `~/` free of dotfile clutter
17
+ then this is good news. If not, don't worry, `~/.pplconfig` continues working as
18
+ normal.
19
+
20
+ * Add support for XDG-compatible configuration file location
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: Thanks For All Your Feedback
3
+ date: 2012-12-21
4
+ layout: news
5
+ section: news
6
+ categories: [news]
7
+ ---
8
+
9
+ Yesterday I worked up the courage to submit this project to Hacker News under
10
+ the usual [Show HN](http://news.ycombinator.com/item?id=4947047) format. I was
11
+ pleasantly surprised by how positive the feedback was overall. It was especially
12
+ heartening to confirm that I'm not the only person out there who would be
13
+ interested in using a command line address book!
14
+
15
+ As a result of all the attention that came flooding in, questions were asked and
16
+ answered, bugs were reported and fixed, and features were suggested and
17
+ implemented. It was a really fun day.
18
+
19
+ The elephant in the room is obviously sync functionality at this point. Lots
20
+ and lots of people have made it very clear that even though they think this
21
+ project is a great idea it is useless in the extreme to them unless it can sync
22
+ with their GMail or iCloud. Rest assured that [this has not gone
23
+ unnoticed](https://github.com/hnrysmth/ppl/issues/5).
24
+
25
+ Stay tuned!
26
+
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: 1.4.1
3
+ summary: Multiple email addresses per contact
4
+ date: 2012-12-22
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.4.1.html
9
+ ---
10
+
11
+ This version is a first step towards removing the annoying limitation of one
12
+ email address, postal address and so on per contact. This isn't glamorous work
13
+ but it's vital functionality.
14
+
15
+ The ability to add more than one email address to a contact has been added. This
16
+ is not 100% complete: email addresses cannot yet be deleted, for example. And
17
+ [ppl show](/documentation/commands/show) does not yet show all the addresses
18
+ (only [ppl email](/documentation/commands/email) does for now). But at least
19
+ it's now possible to store the data
20
+
21
+ * Contacts can now have more than one email address
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: 1.5.0
3
+ summary: ppl shell
4
+ date: 2012-12-22
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.5.0.html
9
+ ---
10
+
11
+ The addition of "interactive mode" in the form of [ppl
12
+ shell](/documentation/commands/shell). Thanks to
13
+ [@axelGschaider](https://github.com/axelGschaider) on GitHub for [the
14
+ suggestion](https://github.com/hnrysmth/ppl/issues/7). This ought to make life a lot
15
+ easier for people entering lots of commands at once!
16
+
17
+ * Added `ppl shell` command
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: 1.5.1
3
+ summary: ppl post bugfix
4
+ date: 2012-12-23
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.5.1.html
9
+ ---
10
+
11
+ This is a very small release to fix one very small bug.
12
+
13
+ * Fix fatal error in `ppl post <contact>` when contact has no address
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: 1.5.2
3
+ summary: ppl shell usability tweaks
4
+ date: 2012-12-23
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.5.2.html
9
+ ---
10
+
11
+ Another very small, very minor release addressing a usability issue with [ppl
12
+ shell](/documentation/commands/shell).
13
+
14
+ * Add "welcome" message to `ppl shell` explaining how to quit
15
+ * Don't show "ppl>" prompt in `ppl shell` if stdin isn't a tty
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: 1.5.3
3
+ summary: Better 'no such contact' error message
4
+ date: 2012-12-26
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.5.3.html
9
+ ---
10
+
11
+ There have been a lot of internal changes in this release, and one user-facing
12
+ change to improve the error message when a non-existent contact is specified in
13
+ a command.
14
+
15
+ Before this change, non-existent contacts resulted in a fairly cryptic error
16
+ message consisting only of the given non-existent contact ID. From now on the
17
+ problem is actually explained to the user.
18
+
19
+ * Added a proper error message when a non-existent contact is specified
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: 1.6.0
3
+ summary: ppl email --delete and bugfix
4
+ date: 2012-12-27
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.6.0.html
9
+ ---
10
+
11
+ This release contains a bugfix and the means for users to undo the minor damage
12
+ caused by the bug. The bug was causing every new email address added by users to
13
+ be saved against the contact *twice*. The fix stops that from happening. And a
14
+ new feature has been added in the form of a `--delete` flag for [ppl
15
+ email](/documentation/commands/email) so that dupliate addresses can be removed.
16
+
17
+ * Fixed a bug causing duplicate email addresses to be saved
18
+ * Added `--delete` flag to `ppl email`
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: 1.7.0
3
+ summary: ppl show output overhaul
4
+ date: 2012-12-29
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.7.0.html
9
+ ---
10
+
11
+ This version contains some fairly substantial changes to the way the [ppl
12
+ show](/documentation/commands/show) command formats its output. The need for
13
+ this change was unearthed by a [question from
14
+ @storge](https://github.com/hnrysmth/ppl/issues/14) on GitHub. In short, the command
15
+ was only showing one of the given contact's email addresses, giving the
16
+ impression that this was all that ppl supported storing.
17
+
18
+ * Improved the output format of `ppl show`
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: 1.8.0
3
+ summary: ppl url
4
+ date: 2013-01-05
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.8.0.html
9
+ ---
10
+
11
+ Added another attribute that contacts often have: URLs. For example, a given
12
+ contact may have a profile page on some social network, a personal website, or
13
+ any number of different possibilities. The new comand, [ppl
14
+ url](/documentation/commands/url), works similarly to [ppl
15
+ email](/documentation/commands/email) and allows you to store these URLs in your
16
+ address book.
17
+
18
+ * Added `ppl url` command
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: 1.9.0
3
+ summary: Aliases and ppl version
4
+ date: 2013-01-06
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.9.0.html
9
+ ---
10
+
11
+ This release adds two new features: the [version
12
+ command](/documentation/commands/version), and support for
13
+ [aliases](/documentation/configuration/alias). Both features function similarly
14
+ to their git counterparts, albeit in a less complete way. For now the aliasing
15
+ only supports simple aliasing of plain command names, and doesn't allow things
16
+ like aliasing long chains of arguments or git's `!f() {}` style commands. These
17
+ things will come in time.
18
+
19
+ * Added `ppl version` command
20
+ * Added rudimentary alias support
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: 1.10.0
3
+ summary: Multiple organizations and phone numbers
4
+ date: 2013-01-10
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.10.0.html
9
+ ---
10
+
11
+ A lot of the work in this release went into some much-needed refactoring as a
12
+ precautionary measure against accumulating too much technical debt early on. The
13
+ code reuse enabled by this refactor facilitated the addition of some key
14
+ functionality, too.
15
+
16
+ * Added support for storing multiple organizations with `ppl org` command
17
+ * Added support for storing multiple phone numbers with `ppl phone` command
18
+ * Added support for deleting phone numbers with `ppl phone` command
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 1.11.0
3
+ summary: ppl nick
4
+ date: 2013-01-20
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.11.0.html
9
+ ---
10
+
11
+ This is a simple release that just adds new functionality in the form of support
12
+ for another vCard property: [nicknames](/documentation/commands/nick).
13
+
14
+ * Added `ppl nick` command
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 1.12.0
3
+ summary: ppl age
4
+ date: 2013-02-16
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.12.0.html
9
+ ---
10
+
11
+ This release adds the [age](/documentation/commands/age) command, which provides
12
+ easy access to the ages of all contacts based on their dates of birth.
13
+
14
+ * Added `ppl age` command
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: 1.13.0
3
+ summary: ppl push, pull and remote
4
+ date: 2013-02-17
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.13.0.html
9
+ ---
10
+
11
+ The result of a lot of thought, this is the long-awaited git synchronisation
12
+ functionality. What's been added are three new commands,
13
+ [pull](/documentation/commands/pull), [push](/documentation/commands/push), and
14
+ [remote](/documentation/commands/remote). These commands have no behaviour of
15
+ their own, and are effectively aliases that execute their git counterparts
16
+ inside the address book's directory.
17
+
18
+ I think that this functionality is a good compromise: synchronising address book
19
+ data can be accomplished using simple, familiar commands such as `ppl pull
20
+ origin master`, and ppl itself is not unduly burdened with duplicating any git
21
+ functionality.
22
+
23
+ Another positive outcome of this work is that it brings proper git-style "bang"
24
+ aliases closer to being a reality. The code changes required for these three
25
+ commands lay a lot of the foundations necessary for bang aliases.
26
+
27
+ * Added `ppl pull` command
28
+ * Added `ppl push` command
29
+ * Added `ppl remote` command
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: 1.14.0
3
+ summary: Bang aliases
4
+ date: 2013-02-17
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.14.0.html
9
+ ---
10
+
11
+ Hot on the heels of `1.13.0`, this release brings the git-style bang alias
12
+ functionality facilitated by the previous release's code changes. This allows
13
+ the creation of aliases which execute a shell command.
14
+
15
+ * Add bang alias support
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: 1.14.1
3
+ summary: Removes discrepancy with documentation
4
+ date: 2013-02-17
5
+ layout: changelog
6
+ section: development
7
+ categories: [changelog]
8
+ permalink: /development/changelog/1.14.1.html
9
+ ---
10
+
11
+ The release of `1.14.0` exposed a small screw-up in ppl's alias support. The
12
+ `[alias]` section of the `~/.pplconfig` file was not being picked up at all.
13
+ Instead it was looking for a section called `[aliases]`, which was insconsistent
14
+ with the documentation and with git, on which the functionality is based. This
15
+ release, therefore, is a fix for this issue: an `[alias]` section in
16
+ `.pplconfig` should now work as described.
17
+
18
+ * Fixed `[alias]` configuration
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: Two Months In
3
+ date: 2013-02-17
4
+ layout: news
5
+ section: news
6
+ categories: [news]
7
+ ---
8
+
9
+ It's been almost two months now since the big day of [ppl's public
10
+ release](news/thank-you-for-your-all-your-feedback/). In that time, development
11
+ has continued at a more steady, sustainable pace than during the period leading
12
+ up to the release itself. New functionality has been added, and a few bugs have
13
+ been fixed, as [the changelog](/development/changelog) will attest.
14
+
15
+ One particularly nasty bug has been reported whose solution eludes me for the
16
+ moment. It seems ppl does not cope well with [non-ASCII
17
+ characters](https://github.com/hnrysmth/ppl/issues/17). The error itself is coming
18
+ from within vpim - although it is almost certainly not a vpim bug - and is
19
+ proving a tough nut to crack. Encodings in Ruby 1.9 are [fraught with
20
+ complexity](http://yehudakatz.com/2010/05/05/ruby-1-9-encodings-a-primer-and-the-solution-for-rails/),
21
+ but I'm optimistic about the existence of a simple solution.
22
+
23
+ On a more positive note, it's worth mentioning that the overall health of the
24
+ project seems to be good. I continue to enjoy building and maintaining ppl, and
25
+ public interest in a command-line address book is as strong as could be expected
26
+ for such a niche piece of software. Thanks for all your patience and support!
27
+
@@ -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
+