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.
- 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,54 @@
|
|
|
1
|
+
|
|
2
|
+
.front-page {
|
|
3
|
+
|
|
4
|
+
.row.welcome {
|
|
5
|
+
margin-top: 32px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
h1.big-welcome {
|
|
9
|
+
margin: 32px 0 0 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.little-welcome {
|
|
13
|
+
margin: 16px 0 0 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.row.what,
|
|
17
|
+
.row.latest {
|
|
18
|
+
margin-top: 32px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
h3 {
|
|
24
|
+
margin: 16px 0 8px 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.navbar .nav > li > a {
|
|
28
|
+
padding: 12px 15px 12px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.content {
|
|
32
|
+
padding-top: 20px;
|
|
33
|
+
padding-bottom: 128px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
footer.global {
|
|
37
|
+
border-top: 1px solid #D4D4D4;
|
|
38
|
+
padding: 16px 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.nav-sidebar {
|
|
42
|
+
margin: 0;
|
|
43
|
+
dt { padding: 4px 4px 0px 4px; }
|
|
44
|
+
dd { padding: 0px 4px 4px 4px; }
|
|
45
|
+
dd { margin: 0 0 16px 0; }
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
dl.version-history {
|
|
49
|
+
dd {
|
|
50
|
+
margin: 0 0 1em 0;
|
|
51
|
+
padding: 0;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
|
|
2
|
+
@import "color.less";
|
|
3
|
+
@import "layout.less";
|
|
4
|
+
@import "typography.less";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
body {
|
|
9
|
+
background-color: #fdffdf;
|
|
10
|
+
color: #586e75;
|
|
11
|
+
font-family: "Inconsolata", sans-serif;
|
|
12
|
+
font-size: 18px;
|
|
13
|
+
margin: 0;
|
|
14
|
+
padding: 0;
|
|
15
|
+
line-height: 1.5;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
code {
|
|
19
|
+
font-family: "Inconsolata", monospace;
|
|
20
|
+
font-size: inherit;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
pre {
|
|
24
|
+
background-color: #073642;
|
|
25
|
+
border: 1px solid #002b36;
|
|
26
|
+
color: #93a1a1;
|
|
27
|
+
display: block;
|
|
28
|
+
font-family: "Ubuntu Mono", monospace;
|
|
29
|
+
font-size: 18px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.front-page .welcome,
|
|
33
|
+
.front-page .what {
|
|
34
|
+
margin-top: 64px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.front-page h1.big-welcome {
|
|
38
|
+
color: #002b36;
|
|
39
|
+
font-size: 64px;
|
|
40
|
+
margin: 32px 0 32px 0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.front-page .little-welcome {
|
|
44
|
+
color: #002b36;
|
|
45
|
+
font-size: 24px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.front-page .welcome-example code {
|
|
49
|
+
line-height: 20px;
|
|
50
|
+
font-size: 20px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.front-page .welcome-example .bash-prompt {
|
|
54
|
+
color: #859900;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.front-page .what h2 {
|
|
58
|
+
color: #002b36;
|
|
59
|
+
font-size: 20px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.navbar-inner {
|
|
63
|
+
background-color: #fdf6e3;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.navbar .brand {
|
|
67
|
+
padding: 5px 20px 0px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.navbar .nav > li > a {
|
|
71
|
+
color: #586e75;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.navbar .nav > .active > a,
|
|
75
|
+
.navbar .nav > .active > a:hover,
|
|
76
|
+
.navbar .nav > .active > a:focus {
|
|
77
|
+
background-color: #cb4b16;
|
|
78
|
+
color: #eee8d5;
|
|
79
|
+
text-shadow: none;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.nav-tabs.nav-stacked > li > a {
|
|
83
|
+
background-color: #fdf6e3;
|
|
84
|
+
border-color: none;
|
|
85
|
+
color: #586e75;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.nav-tabs.nav-stacked > li.active > a {
|
|
89
|
+
background-color: #cb4b16;
|
|
90
|
+
color: #eee8d5;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.commands h1 {
|
|
94
|
+
font-size: 32px;
|
|
95
|
+
font-weight: normal;
|
|
96
|
+
margin: 0 0 32px 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
h2 {
|
|
100
|
+
font-size: 32px;
|
|
101
|
+
font-weight: normal;
|
|
102
|
+
margin: 0 0 32px 0;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
h3 {
|
|
106
|
+
font-size: 20px;
|
|
107
|
+
font-weight: normal;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/*
|
|
111
|
+
SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB
|
|
112
|
+
--------- ------- ---- ------- ----------- ---------- ----------- -----------
|
|
113
|
+
base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21
|
|
114
|
+
base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26
|
|
115
|
+
base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46
|
|
116
|
+
base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51
|
|
117
|
+
base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59
|
|
118
|
+
base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63
|
|
119
|
+
base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93
|
|
120
|
+
base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99
|
|
121
|
+
yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71
|
|
122
|
+
orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80
|
|
123
|
+
red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86
|
|
124
|
+
magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83
|
|
125
|
+
violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77
|
|
126
|
+
blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82
|
|
127
|
+
cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63
|
|
128
|
+
green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
header.global {
|
|
133
|
+
padding: 32px 0;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
header.page {
|
|
137
|
+
color: #EEE8D5;
|
|
138
|
+
padding: 0 0 32px 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
header.global h1,
|
|
142
|
+
header.page h2,
|
|
143
|
+
footer.global,
|
|
144
|
+
article.page .content {
|
|
145
|
+
margin: 0 auto;
|
|
146
|
+
width: 800px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
header.global h1 a {
|
|
150
|
+
color: #859900;
|
|
151
|
+
font-size: 32px;
|
|
152
|
+
font-weight: normal;
|
|
153
|
+
text-decoration: none;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
header.page h2 {
|
|
157
|
+
color: #859900;
|
|
158
|
+
color: #268bd2;
|
|
159
|
+
font-size: 20px;
|
|
160
|
+
font-weight: normal;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
article.page .content {
|
|
164
|
+
color: #839496;
|
|
165
|
+
font-size: 18px;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
article.page .content h3 {
|
|
169
|
+
color: #EEE8D5;
|
|
170
|
+
font-weight: normal;
|
|
171
|
+
font-size: 20px;
|
|
172
|
+
margin: 0 0 16px 0;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
article.page .content p {
|
|
176
|
+
margin-top: 0;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
footer.global {
|
|
180
|
+
color: #586E75;
|
|
181
|
+
margin: 32px auto;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
*/
|
|
185
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
|
|
2
|
+
body {
|
|
3
|
+
font-family: "Arvo", sans-serif;
|
|
4
|
+
font-size: 16px;
|
|
5
|
+
line-height: 24px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
code {
|
|
9
|
+
font-family: "Inconsolata", monospace;
|
|
10
|
+
font-size: 16px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
h1, h2, h3, h4, h5, h6 {
|
|
14
|
+
font-size: 1em;
|
|
15
|
+
font-weight: normal;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
h2 {
|
|
19
|
+
font-size: 22px;
|
|
20
|
+
font-weight: bold;
|
|
21
|
+
small {
|
|
22
|
+
font-size: 16px;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
h3 {
|
|
27
|
+
font-size: 18px;
|
|
28
|
+
font-weight: bold;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.front-page {
|
|
32
|
+
h1.big-welcome {
|
|
33
|
+
font-size: 32px;
|
|
34
|
+
}
|
|
35
|
+
.little-welcome {
|
|
36
|
+
font-size: 18px;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.command-list {
|
|
41
|
+
h2 {
|
|
42
|
+
font-size: 18px;
|
|
43
|
+
font-weight: normal;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.navbar .nav > .active > a,
|
|
48
|
+
.navbar .nav > .active > a:hover,
|
|
49
|
+
.navbar .nav > .active > a:focus {
|
|
50
|
+
text-shadow: none;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
footer.global {
|
|
54
|
+
font-size: 12px;
|
|
55
|
+
a:link, a:visited {
|
|
56
|
+
text-decoration: underline;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Changelog
|
|
3
|
+
layout: development
|
|
4
|
+
section: development
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<dl class="version-history">
|
|
8
|
+
{% for post in site.categories.changelog %}
|
|
9
|
+
<dt>
|
|
10
|
+
<a href="{{site.url}}/development/changelog/{{post.title}}">
|
|
11
|
+
{{post.title}}
|
|
12
|
+
</a>
|
|
13
|
+
</dt>
|
|
14
|
+
<dd>
|
|
15
|
+
{{post.summary}}
|
|
16
|
+
</dd>
|
|
17
|
+
{% endfor %}
|
|
18
|
+
</dl>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require "rugged"
|
|
4
|
+
|
|
5
|
+
repo = Rugged::Repository.new("/home/hnrysmth/src/ppl")
|
|
6
|
+
index = File.read("development/changelog/index.md")
|
|
7
|
+
|
|
8
|
+
changes = index.split("### ")
|
|
9
|
+
|
|
10
|
+
def find_date(repo, version)
|
|
11
|
+
tag = repo.refs.find { |r| r.name == "refs/tags/#{version}" }
|
|
12
|
+
commit = repo.lookup(tag.target).target
|
|
13
|
+
commit.time
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def generate_post(front_matter, body)
|
|
17
|
+
post = ["---"]
|
|
18
|
+
front_matter.each do |name, value|
|
|
19
|
+
post << "#{name}: #{value}"
|
|
20
|
+
end
|
|
21
|
+
post << "---"
|
|
22
|
+
post << ""
|
|
23
|
+
post << body
|
|
24
|
+
|
|
25
|
+
post.join "\n"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
changes.each do |change|
|
|
29
|
+
|
|
30
|
+
version = change.scan(/^([0-9.]+)/)[0]
|
|
31
|
+
next if version.nil?
|
|
32
|
+
|
|
33
|
+
version = version[0]
|
|
34
|
+
date = find_date(repo, version).strftime("%Y-%m-%d")
|
|
35
|
+
body = change.split("\n")[2..-1].join("\n")
|
|
36
|
+
|
|
37
|
+
post = generate_post({
|
|
38
|
+
:title => version,
|
|
39
|
+
:date => date,
|
|
40
|
+
:layout => "changelog",
|
|
41
|
+
:section => "development",
|
|
42
|
+
:categories => "[changelog]",
|
|
43
|
+
:permalink => "/development/changelog/#{version}",
|
|
44
|
+
}, body)
|
|
45
|
+
|
|
46
|
+
filename = "_posts/#{date}-#{version}.md"
|
|
47
|
+
|
|
48
|
+
File.open(filename, "w") { |f| f.write(post) }
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Development
|
|
3
|
+
layout: development
|
|
4
|
+
section: development
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<p>
|
|
8
|
+
You'd like to contribute to the development of ppl? Great!
|
|
9
|
+
Here's a quick introduction.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<h3>Report A Bug</h3>
|
|
13
|
+
<p>
|
|
14
|
+
This project uses Github Issues to track bug reports. The tracker is at
|
|
15
|
+
<a href="https://github.com/hnrysmth/ppl/issues">github.com/hnrysmth/ppl/issues</a>.
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<h3>Get The Code</h3>
|
|
19
|
+
<p>
|
|
20
|
+
The main source repository for ppl is hosted on GitHub at <a
|
|
21
|
+
href="https://github.com/hnrysmth/ppl">github.com/hnrysmth/ppl</a>.
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<h3>Do Your Best</h3>
|
|
25
|
+
<p>
|
|
26
|
+
For low-level code style issues relating to issues such as syntax and
|
|
27
|
+
indentation, <a href="https://github.com/styleguide/ruby">GitHub's Ruby
|
|
28
|
+
Styleguide</a> is the standard to follow*. This project doesn't necessarily
|
|
29
|
+
follow the guide perfectly, but pull requests that improve adherence to the
|
|
30
|
+
guide are welcomed whereas pull requests that stray even further are
|
|
31
|
+
discouraged.
|
|
32
|
+
</p>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Roadmap
|
|
3
|
+
layout: development
|
|
4
|
+
section: development
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
As of January 2018 this project is in quite a stable state, with no major
|
|
8
|
+
increases in functionality planned. That being said, I'm not actually against
|
|
9
|
+
adding more functionality to this thing if somebody out there feels like taking
|
|
10
|
+
on the implementation work. I'm very very open to adding lots more stuff, just
|
|
11
|
+
not interested in creating it myself.
|
|
12
|
+
|
|
13
|
+
Please don't hesitate to get in touch if you have ideas for ppl that you want to
|
|
14
|
+
build and contribute!
|
|
15
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: About ppl
|
|
3
|
+
layout: page
|
|
4
|
+
section: documentation
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<h2>About ppl</h2>
|
|
8
|
+
|
|
9
|
+
<div class="row">
|
|
10
|
+
<div class="span8">
|
|
11
|
+
<h3>Why?</h3>
|
|
12
|
+
<p>
|
|
13
|
+
ppl was created to address the need for a decentralized address book
|
|
14
|
+
storage system. There are a lot of different contact details storage
|
|
15
|
+
solutions out there and they all have their own strengths. What was
|
|
16
|
+
lacking was one that I felt I could count on to entrust with the "master
|
|
17
|
+
copy" of all the disparate contact information I possess.
|
|
18
|
+
</p>
|
|
19
|
+
<p>
|
|
20
|
+
It's also intended to address the apparent lack of a proper CLI address
|
|
21
|
+
book. There are people who enjoy the conversational nature of CLI
|
|
22
|
+
interaction. You ask "Whose birthdays are coming up soon?", the computer
|
|
23
|
+
answers immediately, and your interaction with the software is over with
|
|
24
|
+
no further requirements that you close a window or slide a widget.
|
|
25
|
+
</p>
|
|
26
|
+
|
|
27
|
+
<h3>Why the CLI?</h3>
|
|
28
|
+
<p>
|
|
29
|
+
The command-line is a good fit for address book software because data
|
|
30
|
+
about contacts is usually 100% plain text. It also works well because a
|
|
31
|
+
given user interaction with an address book typically consists of one
|
|
32
|
+
short operation: reading or writing a single piece of data. And since we
|
|
33
|
+
normally want to keep our address book data for our entire lives, the
|
|
34
|
+
command-line's immunity to the shifting sands of GUI toolkits and
|
|
35
|
+
discontinued SaaS products is a big plus.
|
|
36
|
+
</p>
|
|
37
|
+
|
|
38
|
+
<h3>Why Git?</h3>
|
|
39
|
+
<p>
|
|
40
|
+
ppl uses git as its storage backend. Git's decentralised approach really
|
|
41
|
+
suits this usage as it allows continued read/write access to the address
|
|
42
|
+
book in the face of network downtime and cloud outages. And because git
|
|
43
|
+
never destroys data, no botched sync attempt can permanently wipe an
|
|
44
|
+
entire address book by accident.
|
|
45
|
+
</p>
|
|
46
|
+
|
|
47
|
+
<h3>Who?</h3>
|
|
48
|
+
<p>
|
|
49
|
+
This software was conceived and created by me, Henry Smith.
|
|
50
|
+
I have a bunch of <a href="http://github.com/hnrysmth/">other stuff on
|
|
51
|
+
GitHub too</a>!
|
|
52
|
+
</p>
|
|
53
|
+
|
|
54
|
+
<h3>When?</h3>
|
|
55
|
+
<p>
|
|
56
|
+
According to the project's git logs, work on ppl first began on November
|
|
57
|
+
10th 2012. Apparently I had nothing more exciting to be doing at 11pm on a
|
|
58
|
+
Saturday night.
|
|
59
|
+
</p>
|
|
60
|
+
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
|