ppl 4.0.2 → 4.0.3

Sign up to get free protection for your applications and to get access to all the features.
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
+