ppl 3.0.0 → 4.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.editorconfig +16 -0
- data/.eleventy.js +86 -0
- data/.eleventyignore +1 -0
- data/.github/workflows/build.yml +61 -0
- data/.gitignore +3 -1
- data/Rakefile +1 -18
- data/{CODE_OF_CONDUCT.md → code_of_conduct.md} +1 -1
- data/features/step_definitions/ppl_steps.rb +27 -27
- data/gh-pages/Gemfile +2 -0
- data/gh-pages/_config.yml +5 -0
- data/gh-pages/_includes/changelog.html +23 -0
- data/gh-pages/_includes/development-sidebar.html +25 -0
- data/gh-pages/_includes/footer.html +22 -0
- data/gh-pages/_includes/header.html +43 -0
- data/gh-pages/_includes/news.html +36 -0
- data/gh-pages/_includes/tip.html +54 -0
- data/gh-pages/_layouts/changelog.html +1 -0
- data/gh-pages/_layouts/command.html +104 -0
- data/gh-pages/_layouts/configuration.html +71 -0
- data/gh-pages/_layouts/development.html +20 -0
- data/gh-pages/_layouts/frontpage.html +6 -0
- data/gh-pages/_layouts/integration.html +44 -0
- data/gh-pages/_layouts/news.html +2 -0
- data/gh-pages/_layouts/page.html +6 -0
- data/gh-pages/_layouts/tip.html +2 -0
- data/gh-pages/_posts/2012-01-15-first-post.md +16 -0
- data/gh-pages/_posts/2012-12-20-1.0.0.md +19 -0
- data/gh-pages/_posts/2012-12-20-1.1.0.md +28 -0
- data/gh-pages/_posts/2012-12-20-1.2.0.md +18 -0
- data/gh-pages/_posts/2012-12-21-1.3.0.md +20 -0
- data/gh-pages/_posts/2012-12-21-thank-you-for-your-all-your-feedback.md +26 -0
- data/gh-pages/_posts/2012-12-22-1.4.1.md +21 -0
- data/gh-pages/_posts/2012-12-22-1.5.0.md +17 -0
- data/gh-pages/_posts/2012-12-23-1.5.1.md +13 -0
- data/gh-pages/_posts/2012-12-23-1.5.2.md +15 -0
- data/gh-pages/_posts/2012-12-26-1.5.3.md +19 -0
- data/gh-pages/_posts/2012-12-27-1.6.0.md +18 -0
- data/gh-pages/_posts/2012-12-29-1.7.0.md +18 -0
- data/gh-pages/_posts/2013-01-05-1.8.0.md +18 -0
- data/gh-pages/_posts/2013-01-06-1.9.0.md +20 -0
- data/gh-pages/_posts/2013-01-10-1.10.0.md +18 -0
- data/gh-pages/_posts/2013-01-20-1.11.0.md +14 -0
- data/gh-pages/_posts/2013-02-16-1.12.0.md +14 -0
- data/gh-pages/_posts/2013-02-17-1.13.0.md +29 -0
- data/gh-pages/_posts/2013-02-17-1.14.0.md +15 -0
- data/gh-pages/_posts/2013-02-17-1.14.1.md +18 -0
- data/gh-pages/_posts/2013-02-17-two-months-in.md +27 -0
- data/gh-pages/_posts/2013-03-16-1.15.0.md +28 -0
- data/gh-pages/_posts/2013-03-16-coloured-output-released.md +27 -0
- data/gh-pages/_posts/2013-04-10-ruby-2.0-compatibility.md +28 -0
- data/gh-pages/_posts/2013-04-11-1.15.1.md +13 -0
- data/gh-pages/_posts/2013-04-12-1.16.0.md +22 -0
- data/gh-pages/_posts/2013-04-14-1.17.0.md +15 -0
- data/gh-pages/_posts/2013-04-14-1.17.1.md +20 -0
- data/gh-pages/_posts/2013-04-14-1.17.2.md +13 -0
- data/gh-pages/_posts/2013-04-15-sync-alias.md +31 -0
- data/gh-pages/_posts/2013-04-15-utf8-fixed-and-more.md +37 -0
- data/gh-pages/_posts/2013-04-16-1.18.0.md +15 -0
- data/gh-pages/_posts/2013-04-16-set-up-color-output.md +47 -0
- data/gh-pages/_posts/2013-04-19-1.19.0.md +13 -0
- data/gh-pages/_posts/2013-04-19-1.20.0.md +15 -0
- data/gh-pages/_posts/2013-04-20-1.21.0.md +16 -0
- data/gh-pages/_posts/2013-04-20-1.22.0.md +14 -0
- data/gh-pages/_posts/2013-04-20-1.22.1.md +13 -0
- data/gh-pages/_posts/2013-04-21-1.22.2.md +15 -0
- data/gh-pages/_posts/2013-04-21-1.23.0.md +35 -0
- data/gh-pages/_posts/2013-04-23-1.24.0.md +16 -0
- data/gh-pages/_posts/2013-04-24-1.25.0.md +21 -0
- data/gh-pages/_posts/2013-05-09-2.0.0.md +33 -0
- data/gh-pages/_posts/2013-05-09-version-2.0.0-released.md +32 -0
- data/gh-pages/_posts/2013-07-20-2.1.0.md +36 -0
- data/gh-pages/_posts/2013-07-20-2.2.0.md +20 -0
- data/gh-pages/_posts/2013-10-12-2.3.0.md +19 -0
- data/gh-pages/_posts/2014-03-30-2.3.1.md +25 -0
- data/gh-pages/_posts/2015-01-05-2.3.2.md +18 -0
- data/gh-pages/_posts/2015-12-03-get-involved.md +29 -0
- data/gh-pages/_posts/2015-12-05-2.3.3.md +16 -0
- data/gh-pages/_posts/2016-01-02-2.4.0.md +19 -0
- data/gh-pages/_posts/2017-05-01-2.4.1.md +12 -0
- data/gh-pages/_posts/2017-10-23-sleep-mode.md +18 -0
- data/gh-pages/_posts/2018-01-03-3.0.1.md +12 -0
- data/gh-pages/_stylesheets/ppl/color.less +119 -0
- data/gh-pages/_stylesheets/ppl/layout.less +54 -0
- data/gh-pages/_stylesheets/ppl/style.less +185 -0
- data/gh-pages/_stylesheets/ppl/typography.less +59 -0
- data/gh-pages/development/changelog/index.md +18 -0
- data/gh-pages/development/changelog/split.rb +51 -0
- data/gh-pages/development/index.html +32 -0
- data/gh-pages/development/roadmap/index.md +15 -0
- data/gh-pages/documentation/about/index.html +63 -0
- data/gh-pages/documentation/commands/add/index.md +43 -0
- data/gh-pages/documentation/commands/age/add/index.md +40 -0
- data/gh-pages/documentation/commands/age/index.md +38 -0
- data/gh-pages/documentation/commands/bday/index.md +44 -0
- data/gh-pages/documentation/commands/completion/index.md +38 -0
- data/gh-pages/documentation/commands/email/index.md +64 -0
- data/gh-pages/documentation/commands/grep/index.md +32 -0
- data/gh-pages/documentation/commands/init/index.md +28 -0
- data/gh-pages/documentation/commands/ls/index.md +55 -0
- data/gh-pages/documentation/commands/mutt/index.md +36 -0
- data/gh-pages/documentation/commands/mv/index.md +26 -0
- data/gh-pages/documentation/commands/name/index.md +45 -0
- data/gh-pages/documentation/commands/nick/index.md +44 -0
- data/gh-pages/documentation/commands/org/index.md +45 -0
- data/gh-pages/documentation/commands/phone/index.md +56 -0
- data/gh-pages/documentation/commands/post/index.md +61 -0
- data/gh-pages/documentation/commands/pull/index.md +39 -0
- data/gh-pages/documentation/commands/push/index.md +36 -0
- data/gh-pages/documentation/commands/remote/index.md +40 -0
- data/gh-pages/documentation/commands/rm/index.md +23 -0
- data/gh-pages/documentation/commands/scrape/index.md +38 -0
- data/gh-pages/documentation/commands/shell/index.md +39 -0
- data/gh-pages/documentation/commands/show/index.md +33 -0
- data/gh-pages/documentation/commands/url/index.md +44 -0
- data/gh-pages/documentation/commands/version/index.md +27 -0
- data/gh-pages/documentation/configuration/address_book/index.md +22 -0
- data/gh-pages/documentation/configuration/alias/index.md +45 -0
- data/gh-pages/documentation/configuration/color/index.md +47 -0
- data/gh-pages/documentation/configuration/color_age/index.md +20 -0
- data/gh-pages/documentation/configuration/color_bday/index.md +20 -0
- data/gh-pages/documentation/configuration/color_email/index.md +21 -0
- data/gh-pages/documentation/configuration/color_ls/index.md +21 -0
- data/gh-pages/documentation/configuration/color_name/index.md +20 -0
- data/gh-pages/documentation/configuration/color_nick/index.md +20 -0
- data/gh-pages/documentation/configuration/color_org/index.md +20 -0
- data/gh-pages/documentation/configuration/color_phone/index.md +22 -0
- data/gh-pages/documentation/configuration/color_post/index.md +20 -0
- data/gh-pages/documentation/configuration/color_url/index.md +20 -0
- data/gh-pages/documentation/configuration/index.html +8 -0
- data/gh-pages/documentation/index.html +183 -0
- data/gh-pages/documentation/integration/bash/index.md +23 -0
- data/gh-pages/documentation/integration/google/index.md +26 -0
- data/gh-pages/documentation/integration/index.html +8 -0
- data/gh-pages/documentation/integration/mutt/index.md +35 -0
- data/gh-pages/documentation/integration/zsh/index.md +19 -0
- data/gh-pages/documentation/quick-start/index.html +88 -0
- data/gh-pages/documentation/tips/index.html +9 -0
- data/gh-pages/index.html +108 -0
- data/gh-pages/news/index.html +9 -0
- data/gh-pages/robots.txt +3 -0
- data/gh-pages/stylesheets/flatstrap.css +10 -0
- data/gh-pages/stylesheets/ppl.scss +235 -0
- data/gh-pages/wiki.png +0 -0
- data/lib/ppl.rb +4 -1
- data/lib/ppl/adapter/color.rb +0 -1
- data/lib/ppl/adapter/color/colored.rb +0 -1
- data/lib/ppl/adapter/email_scraper.rb +0 -1
- data/lib/ppl/adapter/email_scraper/mail.rb +4 -5
- data/lib/ppl/adapter/storage.rb +0 -1
- data/lib/ppl/adapter/storage/disk.rb +0 -1
- data/lib/ppl/adapter/storage/factory.rb +0 -1
- data/lib/ppl/adapter/vcard.rb +0 -1
- data/lib/ppl/adapter/vcard/vpim.rb +5 -1
- data/lib/ppl/application/bootstrap.rb +0 -1
- data/lib/ppl/application/command.rb +0 -1
- data/lib/ppl/application/command_suite.rb +0 -1
- data/lib/ppl/application/configuration.rb +0 -1
- data/lib/ppl/application/input.rb +0 -1
- data/lib/ppl/application/output.rb +0 -1
- data/lib/ppl/application/router.rb +0 -1
- data/lib/ppl/application/shell.rb +0 -1
- data/lib/ppl/command/add.rb +0 -1
- data/lib/ppl/command/age.rb +0 -1
- data/lib/ppl/command/attribute.rb +0 -1
- data/lib/ppl/command/bday.rb +0 -1
- data/lib/ppl/command/completion.rb +0 -1
- data/lib/ppl/command/email.rb +0 -1
- data/lib/ppl/command/external.rb +0 -1
- data/lib/ppl/command/help.rb +0 -1
- data/lib/ppl/command/init.rb +0 -1
- data/lib/ppl/command/ls.rb +0 -1
- data/lib/ppl/command/mutt.rb +0 -1
- data/lib/ppl/command/mv.rb +0 -1
- data/lib/ppl/command/name.rb +0 -1
- data/lib/ppl/command/nick.rb +0 -1
- data/lib/ppl/command/org.rb +0 -1
- data/lib/ppl/command/phone.rb +0 -1
- data/lib/ppl/command/post.rb +0 -1
- data/lib/ppl/command/rm.rb +0 -1
- data/lib/ppl/command/scrape.rb +0 -1
- data/lib/ppl/command/shell.rb +0 -1
- data/lib/ppl/command/show.rb +0 -1
- data/lib/ppl/command/url.rb +0 -1
- data/lib/ppl/command/version.rb +0 -1
- data/lib/ppl/entity/address_book.rb +0 -1
- data/lib/ppl/entity/contact.rb +0 -1
- data/lib/ppl/entity/email_address.rb +0 -1
- data/lib/ppl/entity/name.rb +0 -1
- data/lib/ppl/entity/phone_number.rb +0 -1
- data/lib/ppl/entity/postal_address.rb +0 -1
- data/lib/ppl/error/completion_not_found.rb +0 -1
- data/lib/ppl/error/contact_not_found.rb +0 -1
- data/lib/ppl/error/incorrect_usage.rb +0 -1
- data/lib/ppl/error/invalid_vcard.rb +1 -0
- data/lib/ppl/error/postal_address_not_found.rb +0 -1
- data/lib/ppl/format/address_book.rb +0 -1
- data/lib/ppl/format/address_book/ages.rb +0 -1
- data/lib/ppl/format/address_book/birthdays.rb +0 -1
- data/lib/ppl/format/address_book/email_addresses.rb +0 -1
- data/lib/ppl/format/address_book/mutt_query.rb +0 -1
- data/lib/ppl/format/address_book/names.rb +0 -1
- data/lib/ppl/format/address_book/nicknames.rb +0 -1
- data/lib/ppl/format/address_book/one_line.rb +0 -1
- data/lib/ppl/format/address_book/organizations.rb +0 -1
- data/lib/ppl/format/address_book/phone_numbers.rb +0 -1
- data/lib/ppl/format/address_book/postal_addresses.rb +0 -1
- data/lib/ppl/format/address_book/urls.rb +0 -1
- data/lib/ppl/format/contact.rb +0 -1
- data/lib/ppl/format/contact/age.rb +0 -1
- data/lib/ppl/format/contact/birthday.rb +0 -1
- data/lib/ppl/format/contact/email_addresses.rb +0 -1
- data/lib/ppl/format/contact/full.rb +0 -1
- data/lib/ppl/format/contact/nicknames.rb +0 -1
- data/lib/ppl/format/contact/organization.rb +0 -1
- data/lib/ppl/format/contact/phone_number.rb +0 -1
- data/lib/ppl/format/contact/postal_address.rb +0 -1
- data/lib/ppl/format/contact/postal_addresses.rb +0 -1
- data/lib/ppl/format/contact/urls.rb +0 -1
- data/lib/ppl/format/custom.rb +0 -1
- data/lib/ppl/format/custom/contact.rb +0 -1
- data/lib/ppl/format/custom/email_address.rb +0 -1
- data/lib/ppl/format/custom/phone_number.rb +0 -1
- data/lib/ppl/format/name.rb +0 -1
- data/lib/ppl/format/name/full_only.rb +0 -1
- data/lib/ppl/format/postal_address.rb +0 -1
- data/lib/ppl/format/postal_address/multi_line.rb +0 -1
- data/lib/ppl/format/postal_address/one_line.rb +0 -1
- data/lib/ppl/format/table.rb +0 -1
- data/lib/ppl/service/email_address.rb +0 -1
- data/lib/ppl/service/name.rb +0 -1
- data/lib/ppl/service/phone_number.rb +0 -1
- data/lib/ppl/service/postal_address.rb +0 -1
- data/{LICENSE → license} +0 -0
- data/makefile +18 -0
- data/package.json +23 -0
- data/ppl.gemspec +15 -13
- data/{README.md → readme.md} +12 -9
- data/site/_data/url.js +4 -0
- data/site/casts/hero.cast +189 -0
- data/site/development.njk +6 -0
- data/site/documentation.njk +6 -0
- data/site/index.njk +75 -0
- data/site/news.njk +6 -0
- data/site/style.scss +140 -0
- data/spec/ppl/adapter/color/colored_spec.rb +3 -4
- data/spec/ppl/adapter/color_spec.rb +0 -1
- data/spec/ppl/adapter/email_scraper/mail_spec.rb +13 -13
- data/spec/ppl/adapter/email_scraper_spec.rb +0 -1
- data/spec/ppl/adapter/output_spec.rb +7 -8
- data/spec/ppl/adapter/storage/disk_spec.rb +18 -19
- data/spec/ppl/adapter/storage/factory_spec.rb +3 -4
- data/spec/ppl/adapter/storage/git_spec.rb +31 -32
- data/spec/ppl/adapter/storage_spec.rb +3 -4
- data/spec/ppl/adapter/vcard/greencard_spec.rb +45 -45
- data/spec/ppl/adapter/vcard_spec.rb +0 -1
- data/spec/ppl/application/bootstrap_spec.rb +128 -129
- data/spec/ppl/application/command_spec.rb +8 -9
- data/spec/ppl/application/command_suite_spec.rb +7 -8
- data/spec/ppl/application/configuration_spec.rb +16 -17
- data/spec/ppl/application/input_spec.rb +2 -3
- data/spec/ppl/application/router_spec.rb +8 -9
- data/spec/ppl/application/shell_spec.rb +39 -40
- data/spec/ppl/command/add_spec.rb +6 -7
- data/spec/ppl/command/age_spec.rb +7 -8
- data/spec/ppl/command/attribute_spec.rb +22 -23
- data/spec/ppl/command/bday_spec.rb +11 -12
- data/spec/ppl/command/completion_spec.rb +7 -8
- data/spec/ppl/command/email_spec.rb +19 -20
- data/spec/ppl/command/external_spec.rb +7 -8
- data/spec/ppl/command/help_spec.rb +15 -16
- data/spec/ppl/command/init_spec.rb +5 -6
- data/spec/ppl/command/ls_spec.rb +12 -13
- data/spec/ppl/command/mutt_spec.rb +33 -34
- data/spec/ppl/command/mv_spec.rb +11 -12
- data/spec/ppl/command/name_spec.rb +17 -18
- data/spec/ppl/command/nick_spec.rb +1 -2
- data/spec/ppl/command/org_spec.rb +1 -2
- data/spec/ppl/command/phone_spec.rb +15 -16
- data/spec/ppl/command/post_spec.rb +29 -30
- data/spec/ppl/command/rm_spec.rb +3 -4
- data/spec/ppl/command/scrape_spec.rb +24 -25
- data/spec/ppl/command/shell_spec.rb +41 -42
- data/spec/ppl/command/show_spec.rb +4 -5
- data/spec/ppl/command/url_spec.rb +1 -2
- data/spec/ppl/command/version_spec.rb +4 -5
- data/spec/ppl/entity/address_book_spec.rb +1 -2
- data/spec/ppl/entity/contact_spec.rb +16 -17
- data/spec/ppl/entity/email_address_spec.rb +3 -4
- data/spec/ppl/entity/name_spec.rb +1 -2
- data/spec/ppl/entity/phone_number_spec.rb +5 -6
- data/spec/ppl/entity/postal_address_spec.rb +2 -3
- data/spec/ppl/format/address_book/ages_spec.rb +3 -4
- data/spec/ppl/format/address_book/birthdays_spec.rb +3 -4
- data/spec/ppl/format/address_book/email_addresses_spec.rb +3 -4
- data/spec/ppl/format/address_book/mutt_query_spec.rb +3 -4
- data/spec/ppl/format/address_book/names_spec.rb +3 -4
- data/spec/ppl/format/address_book/nicknames_spec.rb +4 -5
- data/spec/ppl/format/address_book/one_line_spec.rb +5 -6
- data/spec/ppl/format/address_book/organizations_spec.rb +3 -4
- data/spec/ppl/format/address_book/phone_numbers_spec.rb +3 -4
- data/spec/ppl/format/address_book/postal_addresses_spec.rb +2 -3
- data/spec/ppl/format/address_book/urls_spec.rb +3 -4
- data/spec/ppl/format/address_book_spec.rb +0 -1
- data/spec/ppl/format/contact/age_spec.rb +8 -9
- data/spec/ppl/format/contact/birthday_spec.rb +4 -5
- data/spec/ppl/format/contact/email_addresses_spec.rb +3 -4
- data/spec/ppl/format/contact/full_spec.rb +11 -12
- data/spec/ppl/format/contact/nicknames_spec.rb +4 -5
- data/spec/ppl/format/contact/organization_spec.rb +4 -5
- data/spec/ppl/format/contact/phone_number_spec.rb +4 -5
- data/spec/ppl/format/contact/postal_address_spec.rb +1 -2
- data/spec/ppl/format/contact/postal_addresses_spec.rb +3 -4
- data/spec/ppl/format/contact/urls_spec.rb +4 -5
- data/spec/ppl/format/contact_spec.rb +0 -1
- data/spec/ppl/format/custom/contact_spec.rb +13 -14
- data/spec/ppl/format/custom/email_address_spec.rb +3 -4
- data/spec/ppl/format/custom/phone_number_spec.rb +4 -5
- data/spec/ppl/format/custom_spec.rb +6 -7
- data/spec/ppl/format/name/full_only_spec.rb +4 -5
- data/spec/ppl/format/name_spec.rb +0 -1
- data/spec/ppl/format/postal_address/multi_line_spec.rb +10 -11
- data/spec/ppl/format/postal_address/one_line_spec.rb +9 -10
- data/spec/ppl/format/postal_address_spec.rb +0 -1
- data/spec/ppl/format/table_spec.rb +11 -11
- data/spec/ppl/service/email_address_spec.rb +13 -14
- data/spec/ppl/service/name_spec.rb +9 -10
- data/spec/ppl/service/phone_number_spec.rb +11 -12
- data/spec/ppl/service/postal_address_spec.rb +20 -21
- data/spec/spec_helper.rb +4 -0
- data/yarn.lock +3605 -0
- metadata +183 -22
- data/.travis.yml +0 -11
- data/COPYING +0 -339
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
title: 1.24.0
|
3
|
+
summary: Preferred email addresses
|
4
|
+
date: 2013-04-23
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/1.24.0.html
|
9
|
+
---
|
10
|
+
|
11
|
+
Preferred email addresses and phone numbers can be marked as such as of
|
12
|
+
`1.24.0`. This is good news if you have contacts with several similar addresses
|
13
|
+
or numbers who only tend to check one of them. Now you can mark their preferred
|
14
|
+
contact details with the `--preferred` flag and ppl will remember this
|
15
|
+
preferential status for you. Preferred numbers and addresses are displayed with
|
16
|
+
a `*` before them.
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
title: 1.25.0
|
3
|
+
summary: Customizable Output
|
4
|
+
date: 2013-04-24
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/1.25.0.html
|
9
|
+
---
|
10
|
+
|
11
|
+
This release brings the very basic first customizability to the output of ppl's
|
12
|
+
commands. As of this version, it's possible to pass a `--format` option to [`ppl
|
13
|
+
email`](/documentation/commands/email) and [`ppl
|
14
|
+
ls`](/documentation/commands/ls) to specify the exact nature of the output
|
15
|
+
required. Also part of this new version is the ability to configure preset
|
16
|
+
format strings for [`ppl ls`](/documentation/commands/ls) in `~/.pplconfig` and
|
17
|
+
invoke them by name using the `--pretty` option.
|
18
|
+
|
19
|
+
Obviously, this type of functionality has the potential to be added to just
|
20
|
+
about all of ppl's output. In time, that will happen. For now, this gets the
|
21
|
+
basic functionality out there for use.
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
title: 2.0.0
|
3
|
+
summary: ppl post overhaul
|
4
|
+
date: 2013-05-09
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.0.0.html
|
9
|
+
---
|
10
|
+
|
11
|
+
As a result of its backwards compatibility breaking changes, the overhaul of
|
12
|
+
[ppl post](/documentation/commands/post) brings us to version 2.0.0. The
|
13
|
+
behaviour and usage of this command have changed completely in order to cope
|
14
|
+
with storing multiple postal addresses per contact.
|
15
|
+
|
16
|
+
Here is a short summary of what has changed:
|
17
|
+
|
18
|
+
* Running `ppl post` no longer lists contacts' full addresses.
|
19
|
+
Instead it lists contacts' address *IDs*.
|
20
|
+
* Running `ppl post <contact>` no longer shows that contact's single postal
|
21
|
+
address. Instead it lists *all* that contact's postal addresses.
|
22
|
+
* Postal address now have their own IDs. In order to change a postal address,
|
23
|
+
the ID of both the contact and the address itself must be given.
|
24
|
+
* It is now possible to mark a postal address as "preferred", similarly to email
|
25
|
+
addresses and phone numbers.
|
26
|
+
|
27
|
+
From a technical point of view, the downside of this release is the minor
|
28
|
+
violation of [RFC2426](http://www.ietf.org/rfc/rfc2426.txt) that it introduces.
|
29
|
+
The `ADR` field's `TYPE` attribute is intended as a means of tagging addresses
|
30
|
+
with extra information such as "home" or "work", but as of 2.0.0, ppl
|
31
|
+
misappropriates this attribute as the home of the unique ID of each postal
|
32
|
+
address.
|
33
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
---
|
2
|
+
title: ppl 2.0.0 released
|
3
|
+
date: 2013-05-09
|
4
|
+
layout: news
|
5
|
+
section: news
|
6
|
+
categories: [news]
|
7
|
+
---
|
8
|
+
|
9
|
+
It's been almost exactly six months since the very [first
|
10
|
+
commit](https://github.com/hnrysmth/ppl/commit/e45917e06afd255271bad51ce216642e7277ce86),
|
11
|
+
and I'm proud to announce that ppl has now reached the dizzy heights of version
|
12
|
+
2.0.0! This is a milestone release for more than one reason, and I'm very happy
|
13
|
+
that this project has made it to this point.
|
14
|
+
|
15
|
+
Most important of all, the reason for the major version bump is that [ppl
|
16
|
+
post](/documentation/commands/post) has been overhauled to support storing
|
17
|
+
multiple postal addresses per contact. This overhaul introduced a number of
|
18
|
+
backwards-incompatible changes to the behaviour of that command and ppl's
|
19
|
+
underlying vCard integration, hence the bump to 2.0.0.
|
20
|
+
|
21
|
+
The other reason why this is quite a milestone release is that support for
|
22
|
+
multiple postal addresses was really the last major missing piece of the puzzle
|
23
|
+
in terms of core ppl functionality. There are still some bits and pieces of
|
24
|
+
vCard functionality that aren't yet exposed, but those that remain now are
|
25
|
+
mostly edge cases. It's satisfying to see ppl approach the functionality goals I
|
26
|
+
had for it when I started.
|
27
|
+
|
28
|
+
This is by no means the end of the development process. There's a long way to go
|
29
|
+
still in terms of ppl's flexibility for integration with other software. In the
|
30
|
+
meantime, this version represents a big step forward, and the culmination of six
|
31
|
+
months of hard work.
|
32
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
title: 2.1.0
|
3
|
+
summary: Better name management
|
4
|
+
date: 2013-07-20
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.1.0.html
|
9
|
+
---
|
10
|
+
|
11
|
+
With thanks to [@pigmonkey](https://github.com/pigmonkey) for raising this as
|
12
|
+
[issue #42](https://github.com/hnrysmth/ppl/issues/42) on GitHub, version 2.1.0
|
13
|
+
brings increased control over the names of contacts. This is intended to improve
|
14
|
+
interoperability with other address book software, including the Android
|
15
|
+
system's contact list.
|
16
|
+
|
17
|
+
Short, lower case contact IDs are great for a CLI program, but on a phone, you
|
18
|
+
probably want to see full names. This update provides full access to all the
|
19
|
+
bits & pieces of vCard's `N` (name) field:
|
20
|
+
|
21
|
+
* Family name(s)
|
22
|
+
* Middle name(s)
|
23
|
+
* Given name(s)
|
24
|
+
* Prefix
|
25
|
+
* Suffix
|
26
|
+
|
27
|
+
See the documentation of [ppl name](/documentation/commands/name/) for more
|
28
|
+
details on how to use this new functionality.
|
29
|
+
|
30
|
+
Also included is some slightly different behaviour under the hood of [ppl
|
31
|
+
add](/documentation/commands/name/). This command now attempts to "have a
|
32
|
+
guess" at the structure of the name of a newly-added contact. It'll treat the
|
33
|
+
first word of the full name as the contact's given name, and the rest of the
|
34
|
+
string as their family name. This is a shamefully anglocentric approach to name
|
35
|
+
parsing, but at least it's a start.
|
36
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
title: 2.2.0
|
3
|
+
summary: ppl scrape overwrite prevention
|
4
|
+
date: 2013-07-20
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.2.0.html
|
9
|
+
---
|
10
|
+
|
11
|
+
Thanks again to [@pigmonkey](https://github.com/pigmonkey) for [issue #32](https://github.com/hnrysmth/ppl/issues/32),
|
12
|
+
reporting some unhelpful destructive behaviour in [ppl
|
13
|
+
scrape](/documentation/commands/scrape/). In this version, some additional
|
14
|
+
checking has been added to that command to prevent it from overwriting existing
|
15
|
+
contacts.
|
16
|
+
|
17
|
+
In the event that the scraped contact ID happens to match that of an existing
|
18
|
+
contact, ppl scrape will now notice this collision and append numbers to the new
|
19
|
+
ID until it no longer matches any existing contact's IDs.
|
20
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
title: 2.3.0
|
3
|
+
summary: ppl grep
|
4
|
+
date: 2013-10-12
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.3.0.html
|
9
|
+
---
|
10
|
+
|
11
|
+
With thanks to [@ajford](https://github.com/ajford) for the excellent [feature
|
12
|
+
request](https://github.com/hnrysmth/ppl/issues/43), version 2.3.0 brings a new
|
13
|
+
command: [ppl grep](/documentation/commands/grep/). This command leverages the
|
14
|
+
extremely high speed search `git grep` repository search in order to provide
|
15
|
+
near-instant search results.
|
16
|
+
|
17
|
+
$ ppl grep smith
|
18
|
+
john.vcf:EMAIL:john.smith@example.org
|
19
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
title: 2.3.1
|
3
|
+
summary: Simple Bug Fixes
|
4
|
+
date: 2014-03-30
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.3.1.html
|
9
|
+
---
|
10
|
+
|
11
|
+
Once again, I'm grateful to [@alexGschaider] for his patience. This minor
|
12
|
+
version fixes a couple of annoying little problems that he's bumped into.
|
13
|
+
|
14
|
+
The first problem was a pretty terrible error message which was displayed when a
|
15
|
+
`.vcf` file contains invalid vCard data. This has now been fixed, and the error
|
16
|
+
message replaced with something much more sensible.
|
17
|
+
|
18
|
+
$ ppl show badcontact
|
19
|
+
ppl: badcontact.vcf contains invalid data
|
20
|
+
|
21
|
+
The second was yet another `Encoding::CompatibilityError`, just like back in the
|
22
|
+
bad old days before ppl even supported UTF-8 at all. Hopefully this will be the
|
23
|
+
last one of those now!
|
24
|
+
|
25
|
+
[@alexGschaider]: https://github.com/axelGschaider
|
@@ -0,0 +1,18 @@
|
|
1
|
+
---
|
2
|
+
title: 2.3.2
|
3
|
+
summary: scrape output fix
|
4
|
+
date: 2015-01-05
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.3.2.html
|
9
|
+
---
|
10
|
+
|
11
|
+
I'm very grateful to [@hobarrera](https://github.com/hobarrera) for contributing
|
12
|
+
this fix to [ppl scrape](/documentation/commands/scrape/). A simple mistake in
|
13
|
+
the output formatting code was causing it to appear slightly garbled, like this:
|
14
|
+
|
15
|
+
Add "Hugo Osvaldo Barrera #<Ppl::Entity::EmailAddress:0x00000001ffbd28>>"
|
16
|
+
to your address book [Y/n]?
|
17
|
+
|
18
|
+
So thanks for fixing that, Hugo!
|
@@ -0,0 +1,29 @@
|
|
1
|
+
---
|
2
|
+
title: Get Involved!
|
3
|
+
date: 2015-12-03
|
4
|
+
layout: news
|
5
|
+
section: news
|
6
|
+
categories: [news]
|
7
|
+
---
|
8
|
+
|
9
|
+
The time has come to give this project a nudge into a slightly different mode of
|
10
|
+
operation. Enough people are interested in the long term health of this little
|
11
|
+
CLI app that I think it'd benefit from opening the doors a bit to potential
|
12
|
+
collaborators and maintainers. So I've converted the project into a proper
|
13
|
+
[GitHub organization](https://github.com/hnrysmth) and I'm inviting you to
|
14
|
+
come and join it.
|
15
|
+
|
16
|
+
I see lots of people come and go with great ideas for this project. I love 99%
|
17
|
+
of the ideas and suggestions that pop up but I just can't keep up with all the
|
18
|
+
different demands on my time. That's the bottleneck that's holding the project
|
19
|
+
back and it's silly, really.
|
20
|
+
|
21
|
+
For a while I've been wanting to do something about this. If you want to help
|
22
|
+
out in any way, however small, speak up on GitHub, [email me](mailto:henry@henrysmith.org),
|
23
|
+
or get in touch on [Twitter](https://twitter.com/hnrysmth). I'd love to add you
|
24
|
+
to the organization and let you *just get started* making your ideas happen.
|
25
|
+
Even if you just like the project, but don't have any immediate plans to do
|
26
|
+
anything in particular, that's fine! If you've never contributed to an open
|
27
|
+
source project before, don't let that put you off. Everyone's welcome!
|
28
|
+
|
29
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
title: 2.3.3
|
3
|
+
summary: non-ASCII input fix
|
4
|
+
date: 2015-12-05
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.3.3.html
|
9
|
+
---
|
10
|
+
|
11
|
+
This release is [@tba](https://github.com/tba)'s [non-ASCII input fix PR](https://github.com/hnrysmth/ppl/pull/56)
|
12
|
+
|
13
|
+
It's a fix enabling ppl to save non-ASCII names when scraping contact data
|
14
|
+
from emails.
|
15
|
+
|
16
|
+
It took altogether too long for me to merge this and I apologise!
|
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
title: 2.4.0
|
3
|
+
summary: Better commit author
|
4
|
+
date: 2016-01-12
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.4.0.html
|
9
|
+
---
|
10
|
+
|
11
|
+
If you've ever looked at the commit history that ppl generates in your address
|
12
|
+
book you'll have noticed the ugly-looking commit author. [@drewbug] certainly
|
13
|
+
noticed and took the time to do something about it.
|
14
|
+
|
15
|
+
As of this version, ppl pulls in your Git config and uses your `user.name` and
|
16
|
+
`user.email` if available. If not, it falls back to the old (ugly) author
|
17
|
+
generation.
|
18
|
+
|
19
|
+
[@drewbug]: https://github.com/drewbug
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
title: 2.4.1
|
3
|
+
summary: Upgrade to rugged ~> v0.24.0
|
4
|
+
date: 2017-05-01
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/2.4.1.html
|
9
|
+
---
|
10
|
+
|
11
|
+
This release is just a merge of one PR from [@acant](https://github.com/acant). It upgrades to a much more
|
12
|
+
modern version of the rugged gem.
|
@@ -0,0 +1,18 @@
|
|
1
|
+
---
|
2
|
+
title: Sleep Mode
|
3
|
+
date: 2017-10-23
|
4
|
+
layout: news
|
5
|
+
section: news
|
6
|
+
categories: [news]
|
7
|
+
---
|
8
|
+
|
9
|
+
This project seems to be in a good stable state. There's a small active
|
10
|
+
userbase who are mostly content with the software as-is. Not a lot of
|
11
|
+
maintenance or feature work is necessary these days and I can't justify
|
12
|
+
spending money on a domain for a project that's just chilling like this.
|
13
|
+
|
14
|
+
I'm converting the whole thing into a single, easy-to-look-after repo in my
|
15
|
+
own personal GitHub account and disabling autorenew on `ppladdressbook.org`.
|
16
|
+
Wanna make it clear that I consider this a fairly decent set of circumstances
|
17
|
+
for the project to be in btw. It mostly just works and that's for the best
|
18
|
+
cos I don't really have a lot of time to maintain and fix it any more.
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
title: 3.0.1
|
3
|
+
summary: Fix name deletion bug
|
4
|
+
date: 2018-01-03
|
5
|
+
layout: changelog
|
6
|
+
section: development
|
7
|
+
categories: [changelog]
|
8
|
+
permalink: /development/changelog/3.0.1.html
|
9
|
+
---
|
10
|
+
|
11
|
+
Fix for a [name deletion bug](https://github.com/hnrysmth/ppl/issues/74) reported by [@the-reverend](https://github.com/the-reverend).
|
12
|
+
|
@@ -0,0 +1,119 @@
|
|
1
|
+
|
2
|
+
@base03 : #002b36;
|
3
|
+
@base02 : #073642;
|
4
|
+
@base01 : #586e75;
|
5
|
+
@base00 : #657b83;
|
6
|
+
@base0 : #839496;
|
7
|
+
@base1 : #93a1a1;
|
8
|
+
@base2 : #eee8d5;
|
9
|
+
@base3 : #fdf6e3;
|
10
|
+
@yellow : #b58900;
|
11
|
+
@orange : #cb4b16;
|
12
|
+
@red : #dc322f;
|
13
|
+
@magenta : #d33682;
|
14
|
+
@violet : #6c71c4;
|
15
|
+
@blue : #268bd2;
|
16
|
+
@cyan : #2aa198;
|
17
|
+
@green : #859900;
|
18
|
+
|
19
|
+
@lightGrey: #FAFAFA;
|
20
|
+
@darkGrey: #F0F0F0;
|
21
|
+
|
22
|
+
a:link, a:visited {
|
23
|
+
color: @blue;
|
24
|
+
}
|
25
|
+
|
26
|
+
body {
|
27
|
+
background-color: @lightGrey;
|
28
|
+
color: @base01;
|
29
|
+
}
|
30
|
+
|
31
|
+
div.content {
|
32
|
+
background-color: @lightGrey;
|
33
|
+
}
|
34
|
+
|
35
|
+
code {
|
36
|
+
background-color: @base3;
|
37
|
+
}
|
38
|
+
|
39
|
+
h2 { color: @base03; }
|
40
|
+
h3 { color: @orange; }
|
41
|
+
|
42
|
+
pre {
|
43
|
+
background-color: @base03;
|
44
|
+
color: @base2;
|
45
|
+
display: block;
|
46
|
+
}
|
47
|
+
|
48
|
+
.front-page {
|
49
|
+
h1.big-welcome, .little-welcome {
|
50
|
+
color: @base03;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
.btn {
|
55
|
+
&.btn-primary {
|
56
|
+
background-color: @blue;
|
57
|
+
color: @base2;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
.navbar {
|
62
|
+
.navbar-inner {
|
63
|
+
background-color: @darkGrey;
|
64
|
+
}
|
65
|
+
.brand {
|
66
|
+
color: @base03;
|
67
|
+
font-weight: bold;
|
68
|
+
text-shadow: none;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
.command-list {
|
73
|
+
h2 {
|
74
|
+
color: inherit;
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
.navbar .nav > li > a {
|
79
|
+
color: @base02;
|
80
|
+
}
|
81
|
+
|
82
|
+
.navbar .nav > .active > a,
|
83
|
+
.navbar .nav > .active > a:hover,
|
84
|
+
.navbar .nav > .active > a:focus {
|
85
|
+
background-color: @orange;
|
86
|
+
color: @base3;
|
87
|
+
}
|
88
|
+
|
89
|
+
.nav-list {
|
90
|
+
background-color: @darkGrey;
|
91
|
+
border: 1px solid rgb(221, 221, 221);
|
92
|
+
}
|
93
|
+
.nav-list > li:hover > a {
|
94
|
+
background-color: inherit;
|
95
|
+
color: inherit;
|
96
|
+
}
|
97
|
+
.nav-list > li.active:hover > a,
|
98
|
+
.nav-list > li.active > a {
|
99
|
+
background-color: @orange;
|
100
|
+
color: @base3;
|
101
|
+
}
|
102
|
+
|
103
|
+
footer.global {
|
104
|
+
color: @base1;
|
105
|
+
|
106
|
+
a:link, a:visited {
|
107
|
+
color: @base0;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
.nav-sidebar {
|
112
|
+
dt.active,
|
113
|
+
dt.active a,
|
114
|
+
dd.active {
|
115
|
+
background-color: @orange;
|
116
|
+
color: @base3;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|