ppl 4.0.3 → 4.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +4 -0
  3. data/.github/workflows/build.yml +7 -23
  4. data/.gitignore +0 -4
  5. data/.ruby-version +1 -0
  6. data/Gemfile +0 -1
  7. data/Rakefile +2 -2
  8. data/code_of_conduct.md +1 -1
  9. data/demo.svg +1 -0
  10. data/lib/ppl/adapter/storage/disk.rb +2 -2
  11. data/lib/ppl/adapter/storage/factory.rb +1 -1
  12. data/lib/ppl/application/configuration.rb +2 -2
  13. data/lib/ppl/command/completion.rb +1 -1
  14. data/lib/ppl/command/shell.rb +1 -1
  15. data/lib/ppl/command/version.rb +1 -1
  16. data/lib/ppl/version.rb +5 -0
  17. data/lib/ppl.rb +1 -4
  18. data/makefile +12 -1
  19. data/ppl.gemspec +12 -5
  20. data/ppl.svg +12 -0
  21. data/readme.md +4 -4
  22. data/spec/ppl/adapter/storage/disk_spec.rb +2 -2
  23. data/spec/ppl/command/completion_spec.rb +2 -2
  24. data/spec/ppl/command/shell_spec.rb +1 -1
  25. data/spec/ppl/command/version_spec.rb +1 -1
  26. metadata +56 -164
  27. data/.eleventy.js +0 -86
  28. data/.eleventyignore +0 -1
  29. data/gh-pages/Gemfile +0 -2
  30. data/gh-pages/Gemfile.lock +0 -238
  31. data/gh-pages/_config.yml +0 -5
  32. data/gh-pages/_includes/changelog.html +0 -23
  33. data/gh-pages/_includes/development-sidebar.html +0 -25
  34. data/gh-pages/_includes/footer.html +0 -22
  35. data/gh-pages/_includes/header.html +0 -43
  36. data/gh-pages/_includes/news.html +0 -36
  37. data/gh-pages/_includes/tip.html +0 -54
  38. data/gh-pages/_layouts/changelog.html +0 -1
  39. data/gh-pages/_layouts/command.html +0 -104
  40. data/gh-pages/_layouts/configuration.html +0 -71
  41. data/gh-pages/_layouts/development.html +0 -20
  42. data/gh-pages/_layouts/frontpage.html +0 -6
  43. data/gh-pages/_layouts/integration.html +0 -44
  44. data/gh-pages/_layouts/news.html +0 -2
  45. data/gh-pages/_layouts/page.html +0 -6
  46. data/gh-pages/_layouts/tip.html +0 -2
  47. data/gh-pages/_posts/2012-01-15-first-post.md +0 -16
  48. data/gh-pages/_posts/2012-12-20-1.0.0.md +0 -19
  49. data/gh-pages/_posts/2012-12-20-1.1.0.md +0 -28
  50. data/gh-pages/_posts/2012-12-20-1.2.0.md +0 -18
  51. data/gh-pages/_posts/2012-12-21-1.3.0.md +0 -20
  52. data/gh-pages/_posts/2012-12-21-thank-you-for-your-all-your-feedback.md +0 -26
  53. data/gh-pages/_posts/2012-12-22-1.4.1.md +0 -21
  54. data/gh-pages/_posts/2012-12-22-1.5.0.md +0 -17
  55. data/gh-pages/_posts/2012-12-23-1.5.1.md +0 -13
  56. data/gh-pages/_posts/2012-12-23-1.5.2.md +0 -15
  57. data/gh-pages/_posts/2012-12-26-1.5.3.md +0 -19
  58. data/gh-pages/_posts/2012-12-27-1.6.0.md +0 -18
  59. data/gh-pages/_posts/2012-12-29-1.7.0.md +0 -18
  60. data/gh-pages/_posts/2013-01-05-1.8.0.md +0 -18
  61. data/gh-pages/_posts/2013-01-06-1.9.0.md +0 -20
  62. data/gh-pages/_posts/2013-01-10-1.10.0.md +0 -18
  63. data/gh-pages/_posts/2013-01-20-1.11.0.md +0 -14
  64. data/gh-pages/_posts/2013-02-16-1.12.0.md +0 -14
  65. data/gh-pages/_posts/2013-02-17-1.13.0.md +0 -29
  66. data/gh-pages/_posts/2013-02-17-1.14.0.md +0 -15
  67. data/gh-pages/_posts/2013-02-17-1.14.1.md +0 -18
  68. data/gh-pages/_posts/2013-02-17-two-months-in.md +0 -27
  69. data/gh-pages/_posts/2013-03-16-1.15.0.md +0 -28
  70. data/gh-pages/_posts/2013-03-16-coloured-output-released.md +0 -27
  71. data/gh-pages/_posts/2013-04-10-ruby-2.0-compatibility.md +0 -28
  72. data/gh-pages/_posts/2013-04-11-1.15.1.md +0 -13
  73. data/gh-pages/_posts/2013-04-12-1.16.0.md +0 -22
  74. data/gh-pages/_posts/2013-04-14-1.17.0.md +0 -15
  75. data/gh-pages/_posts/2013-04-14-1.17.1.md +0 -20
  76. data/gh-pages/_posts/2013-04-14-1.17.2.md +0 -13
  77. data/gh-pages/_posts/2013-04-15-sync-alias.md +0 -31
  78. data/gh-pages/_posts/2013-04-15-utf8-fixed-and-more.md +0 -37
  79. data/gh-pages/_posts/2013-04-16-1.18.0.md +0 -15
  80. data/gh-pages/_posts/2013-04-16-set-up-color-output.md +0 -47
  81. data/gh-pages/_posts/2013-04-19-1.19.0.md +0 -13
  82. data/gh-pages/_posts/2013-04-19-1.20.0.md +0 -15
  83. data/gh-pages/_posts/2013-04-20-1.21.0.md +0 -16
  84. data/gh-pages/_posts/2013-04-20-1.22.0.md +0 -14
  85. data/gh-pages/_posts/2013-04-20-1.22.1.md +0 -13
  86. data/gh-pages/_posts/2013-04-21-1.22.2.md +0 -15
  87. data/gh-pages/_posts/2013-04-21-1.23.0.md +0 -35
  88. data/gh-pages/_posts/2013-04-23-1.24.0.md +0 -16
  89. data/gh-pages/_posts/2013-04-24-1.25.0.md +0 -21
  90. data/gh-pages/_posts/2013-05-09-2.0.0.md +0 -33
  91. data/gh-pages/_posts/2013-05-09-version-2.0.0-released.md +0 -32
  92. data/gh-pages/_posts/2013-07-20-2.1.0.md +0 -36
  93. data/gh-pages/_posts/2013-07-20-2.2.0.md +0 -20
  94. data/gh-pages/_posts/2013-10-12-2.3.0.md +0 -19
  95. data/gh-pages/_posts/2014-03-30-2.3.1.md +0 -25
  96. data/gh-pages/_posts/2015-01-05-2.3.2.md +0 -18
  97. data/gh-pages/_posts/2015-12-03-get-involved.md +0 -29
  98. data/gh-pages/_posts/2015-12-05-2.3.3.md +0 -16
  99. data/gh-pages/_posts/2016-01-02-2.4.0.md +0 -19
  100. data/gh-pages/_posts/2017-05-01-2.4.1.md +0 -12
  101. data/gh-pages/_posts/2017-10-23-sleep-mode.md +0 -18
  102. data/gh-pages/_posts/2018-01-03-3.0.1.md +0 -12
  103. data/gh-pages/_stylesheets/ppl/color.less +0 -119
  104. data/gh-pages/_stylesheets/ppl/layout.less +0 -54
  105. data/gh-pages/_stylesheets/ppl/style.less +0 -185
  106. data/gh-pages/_stylesheets/ppl/typography.less +0 -59
  107. data/gh-pages/development/changelog/index.md +0 -18
  108. data/gh-pages/development/changelog/split.rb +0 -51
  109. data/gh-pages/development/index.html +0 -32
  110. data/gh-pages/development/roadmap/index.md +0 -15
  111. data/gh-pages/documentation/about/index.html +0 -63
  112. data/gh-pages/documentation/commands/add/index.md +0 -43
  113. data/gh-pages/documentation/commands/age/add/index.md +0 -40
  114. data/gh-pages/documentation/commands/age/index.md +0 -38
  115. data/gh-pages/documentation/commands/bday/index.md +0 -44
  116. data/gh-pages/documentation/commands/completion/index.md +0 -38
  117. data/gh-pages/documentation/commands/email/index.md +0 -64
  118. data/gh-pages/documentation/commands/grep/index.md +0 -32
  119. data/gh-pages/documentation/commands/init/index.md +0 -28
  120. data/gh-pages/documentation/commands/ls/index.md +0 -55
  121. data/gh-pages/documentation/commands/mutt/index.md +0 -36
  122. data/gh-pages/documentation/commands/mv/index.md +0 -26
  123. data/gh-pages/documentation/commands/name/index.md +0 -45
  124. data/gh-pages/documentation/commands/nick/index.md +0 -44
  125. data/gh-pages/documentation/commands/org/index.md +0 -45
  126. data/gh-pages/documentation/commands/phone/index.md +0 -56
  127. data/gh-pages/documentation/commands/post/index.md +0 -61
  128. data/gh-pages/documentation/commands/pull/index.md +0 -39
  129. data/gh-pages/documentation/commands/push/index.md +0 -36
  130. data/gh-pages/documentation/commands/remote/index.md +0 -40
  131. data/gh-pages/documentation/commands/rm/index.md +0 -23
  132. data/gh-pages/documentation/commands/scrape/index.md +0 -38
  133. data/gh-pages/documentation/commands/shell/index.md +0 -39
  134. data/gh-pages/documentation/commands/show/index.md +0 -33
  135. data/gh-pages/documentation/commands/url/index.md +0 -44
  136. data/gh-pages/documentation/commands/version/index.md +0 -27
  137. data/gh-pages/documentation/configuration/address_book/index.md +0 -22
  138. data/gh-pages/documentation/configuration/alias/index.md +0 -45
  139. data/gh-pages/documentation/configuration/color/index.md +0 -47
  140. data/gh-pages/documentation/configuration/color_age/index.md +0 -20
  141. data/gh-pages/documentation/configuration/color_bday/index.md +0 -20
  142. data/gh-pages/documentation/configuration/color_email/index.md +0 -21
  143. data/gh-pages/documentation/configuration/color_ls/index.md +0 -21
  144. data/gh-pages/documentation/configuration/color_name/index.md +0 -20
  145. data/gh-pages/documentation/configuration/color_nick/index.md +0 -20
  146. data/gh-pages/documentation/configuration/color_org/index.md +0 -20
  147. data/gh-pages/documentation/configuration/color_phone/index.md +0 -22
  148. data/gh-pages/documentation/configuration/color_post/index.md +0 -20
  149. data/gh-pages/documentation/configuration/color_url/index.md +0 -20
  150. data/gh-pages/documentation/configuration/index.html +0 -8
  151. data/gh-pages/documentation/index.html +0 -183
  152. data/gh-pages/documentation/integration/bash/index.md +0 -23
  153. data/gh-pages/documentation/integration/google/index.md +0 -26
  154. data/gh-pages/documentation/integration/index.html +0 -8
  155. data/gh-pages/documentation/integration/mutt/index.md +0 -35
  156. data/gh-pages/documentation/integration/zsh/index.md +0 -19
  157. data/gh-pages/documentation/quick-start/index.html +0 -88
  158. data/gh-pages/documentation/tips/index.html +0 -9
  159. data/gh-pages/index.html +0 -108
  160. data/gh-pages/news/index.html +0 -9
  161. data/gh-pages/robots.txt +0 -3
  162. data/gh-pages/stylesheets/flatstrap.css +0 -10
  163. data/gh-pages/stylesheets/ppl.scss +0 -235
  164. data/gh-pages/wiki.png +0 -0
  165. data/package.json +0 -23
  166. data/site/_data/url.js +0 -4
  167. data/site/casts/hero.cast +0 -189
  168. data/site/development.njk +0 -6
  169. data/site/documentation.njk +0 -6
  170. data/site/index.njk +0 -75
  171. data/site/news.njk +0 -6
  172. data/site/style.scss +0 -140
  173. data/spec/ppl/adapter/color_spec.rb +0 -14
  174. data/spec/ppl/adapter/email_scraper_spec.rb +0 -14
  175. data/spec/ppl/adapter/vcard_spec.rb +0 -23
  176. data/spec/ppl/format/address_book_spec.rb +0 -17
  177. data/spec/ppl/format/contact_spec.rb +0 -16
  178. data/spec/ppl/format/name_spec.rb +0 -17
  179. data/spec/ppl/format/postal_address_spec.rb +0 -17
  180. data/yarn.lock +0 -3605
@@ -1,6 +0,0 @@
1
- ---
2
- title: ppl documentation
3
- ---
4
-
5
- {{ title }}
6
-
data/site/index.njk DELETED
@@ -1,75 +0,0 @@
1
- ---
2
- title: ppl
3
- description: The command-line address book
4
- ---
5
- <!doctype html>
6
- <html
7
- lang="en"
8
- dir="ltr"
9
- itemscope
10
- itemtype="http://schema.org/SoftwareApplication">
11
- <head>
12
- <meta
13
- name="viewport"
14
- content="width=device-width,initial-scale=1"
15
- />
16
-
17
- <link rel="stylesheet" href="{{ url }}/style.css" />
18
- <title>
19
- {{ title }}
20
- </title>
21
- </head>
22
- <body>
23
- <main>
24
- <header>
25
- <h1>
26
- <span itemprop="name">
27
- {{ title }}
28
- </span>
29
- <svg
30
- xmlns="http://www.w3.org/2000/svg"
31
- xmlns:xlink="http://www.w3.org/1999/xlink"
32
- viewBox="-1 0 15 8"
33
- stroke-linecap="round"
34
- stroke-linejoin="round"
35
- height="32px"
36
- width="64px">
37
- <defs>
38
- <path id="p" d="M0,6 L0,3 L2,3 L2,5 L0,5" />
39
- <path id="l" d="M0,3 L0,6 L2,6" />
40
- </defs>
41
- <use xlink:href="#p" fill="none" stroke="#000000" stroke-width="2.8" x="0" y="0" />
42
- <use xlink:href="#p" fill="none" stroke="#fff1e8" stroke-width="1" x="0" y="0" />
43
- <use xlink:href="#p" fill="none" stroke="#000000" stroke-width="2.8" x="4" y="0" />
44
- <use xlink:href="#p" fill="none" stroke="#fff1e8" stroke-width="1" x="4" y="0" />
45
- <use xlink:href="#l" fill="none" stroke="#000000" stroke-width="2.8" x="8" y="0" />
46
- <use xlink:href="#l" fill="none" stroke="#fff1e8" stroke-width="1" x="8" y="0" />
47
- </svg>
48
- </h1>
49
- <p itemprop="description">
50
- {{ description }}
51
- </p>
52
- </header>
53
-
54
- <img
55
- alt="Animated demo showing Pippi Långstrump being added to a new address book"
56
- src="{{ url }}/casts/hero.svg"
57
- />
58
-
59
- <footer>
60
- <p
61
- itemprop="creator"
62
- itemscope
63
- itemtype="http://schema.org/Person">
64
- <a href="https://hen.cat/" target="_blank">
65
- <span itemprop="name">
66
- Henry Catalini Smith
67
- </span>
68
- </a>
69
- </p>
70
- </footer>
71
-
72
- </main>
73
- </body>
74
- </html>
75
-
data/site/news.njk DELETED
@@ -1,6 +0,0 @@
1
- ---
2
- title: ppl news
3
- ---
4
-
5
- {{ title }}
6
-
data/site/style.scss DELETED
@@ -1,140 +0,0 @@
1
- @function str-replace($string, $search, $replace: "") {
2
- $index: str-index($string, $search);
3
- @if ($index) {
4
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
5
- }
6
- @return $string;
7
- }
8
-
9
- @function svg-to-data-uri($svg, $fill: null) {
10
- $svg: if($fill, str-replace($svg, "<svg", "<svg fill='#{$fill}'"), $svg);
11
- $svg: str-replace($svg, "<svg", "<svg xmlns='http://www.w3.org/2000/svg' ");
12
- $svg: str-replace($svg, "<", "%3C");
13
- $svg: str-replace($svg, ">", "%3E");
14
- $svg: str-replace($svg, "\"", "'");
15
- $svg: str-replace($svg, "#", "%23");
16
- $svg: str-replace($svg, "&", "%26");
17
- @return url("data:image/svg+xml,#{$svg}");
18
- }
19
-
20
- :root {
21
- --padding: 1rem;
22
- --tiny: calc(100vmin - var(--padding) * 2);
23
- --wide: 32rem;
24
- --box: min(var(--tiny), var(--wide));
25
- }
26
-
27
- html {
28
- box-sizing: border-box;
29
- }
30
-
31
- *, *:before, *:after {
32
- box-sizing: inherit;
33
- }
34
-
35
- body {
36
- margin: 0;
37
- }
38
-
39
- [itemtype="http://schema.org/SoftwareApplication"] {
40
- --descriptionFontSize: 1rem;
41
-
42
- @media (min-width: 24rem) and (min-height: 24rem) {
43
- --descriptionFontSize: 1.2rem;
44
- }
45
-
46
- @media (min-width: 34rem) and (min-height: 34rem) {
47
- --descriptionFontSize: 1.8rem;
48
- }
49
-
50
- main {
51
- align-items: center;
52
- display: flex;
53
- flex-direction: column;
54
- }
55
-
56
- header {
57
- display: flex;
58
- flex-direction: column;
59
- justify-content: center;
60
- height: var(--box);
61
- width: var(--box);
62
- }
63
-
64
- h1 {
65
- margin: 0;
66
- }
67
-
68
- h1 [itemprop="name"] {
69
- border: 0;
70
- padding: 0;
71
- margin: 0;
72
- position: absolute;
73
- height: 1px;
74
- width: 1px;
75
- overflow: hidden;
76
- clip-path: inset(50%);
77
- white-space: nowrap;
78
- }
79
-
80
- h1 svg {
81
- height: 4rem;
82
- width: 8rem;
83
- }
84
-
85
- header [itemprop="description"] {
86
- font-family: "Menlo", monospace;
87
- font-size: var(--descriptionFontSize);
88
- margin: 0;
89
- }
90
-
91
- img {
92
- background-image: svg-to-data-uri(
93
- '<svg viewBox="0 0 64 16">'
94
- + '<circle cx="14" cy="4" r="6" fill="#657b83" />'
95
- + '<circle cx="30" cy="4" r="6" fill="#839496" />'
96
- + '<circle cx="46" cy="4" r="6" fill="#008751" />'
97
- + '</svg>'
98
- );
99
- background-size: 64px 32px;
100
- background-repeat: no-repeat;
101
- background-position: top left;
102
-
103
- border: 3px solid #282d35;
104
- border-radius: 8px;
105
- padding-top: 32px;
106
- background-color: #282d35;
107
- height: var(--box);
108
- width: var(--box);
109
- }
110
-
111
- footer {
112
- align-items: flex-end;
113
- display: flex;
114
- height: var(--box);
115
- justify-content: flex-end;
116
- width: var(--box);
117
- }
118
-
119
- [itemprop="creator"] {
120
- font-family: Futura, Helvetica, sans-serif;
121
- margin: 0 0 0.2rem 0;
122
- text-align: right;
123
- }
124
-
125
- [itemprop="creator"] a {
126
- text-decoration: none;
127
- }
128
-
129
- [itemprop="creator"] [itemprop="name"] {
130
- color: darkslategray;
131
- font-size: 1rem;
132
- font-weight: bold;
133
- }
134
-
135
- [itemprop="creator"] [itemprop="name"]:hover {
136
- text-decoration-line: underline;
137
- text-decoration-color: deepskyblue;
138
- }
139
- }
140
-
@@ -1,14 +0,0 @@
1
- describe Ppl::Adapter::Color do
2
-
3
- before(:each) do
4
- @adapter = Ppl::Adapter::Color.new
5
- end
6
-
7
- describe "#colorize" do
8
- it "should raise not implemented error" do
9
- expect{@adapter.colorize(nil, nil)}.to raise_error(NotImplementedError)
10
- end
11
- end
12
-
13
- end
14
-
@@ -1,14 +0,0 @@
1
- describe Ppl::Adapter::EmailScraper do
2
-
3
- before(:each) do
4
- @adapter = Ppl::Adapter::EmailScraper.new
5
- end
6
-
7
- describe "#scrape_contacts" do
8
- it "should raise not implemented error" do
9
- expect{@adapter.scrape_contacts("")}.to raise_error(NotImplementedError)
10
- end
11
- end
12
-
13
- end
14
-
@@ -1,23 +0,0 @@
1
- describe Ppl::Adapter::Vcard, "#encode" do
2
-
3
- describe "#encode" do
4
- before(:each) do
5
- @adapter = Ppl::Adapter::Vcard.new
6
- end
7
- it "should raise not implemented error" do
8
- expect{@adapter.encode(nil)}.to raise_error(NotImplementedError)
9
- end
10
- end
11
-
12
-
13
- describe "#decode" do
14
- before(:each) do
15
- @adapter = Ppl::Adapter::Vcard.new
16
- end
17
- it "should raise not implemented error" do
18
- expect{@adapter.decode(nil)}.to raise_error(NotImplementedError)
19
- end
20
- end
21
-
22
- end
23
-
@@ -1,17 +0,0 @@
1
- describe Ppl::Format::AddressBook do
2
-
3
- before(:each) do
4
- @format = Ppl::Format::AddressBook.new
5
- end
6
-
7
- describe "#process" do
8
-
9
- it "should raise a NotImplementedError" do
10
- expect{@format.process(nil)}.to raise_error(NotImplementedError)
11
- end
12
-
13
- end
14
-
15
- end
16
-
17
-
@@ -1,16 +0,0 @@
1
- describe Ppl::Format::Contact do
2
-
3
- before(:each) do
4
- @format = Ppl::Format::Contact.new
5
- end
6
-
7
- describe "#process" do
8
-
9
- it "should raise a NotImplementedError" do
10
- expect{@format.process(nil)}.to raise_error(NotImplementedError)
11
- end
12
-
13
- end
14
-
15
- end
16
-
@@ -1,17 +0,0 @@
1
- describe Ppl::Format::Name do
2
-
3
- before(:each) do
4
- @format = Ppl::Format::Name.new
5
- end
6
-
7
- describe "#process" do
8
-
9
- it "should raise a NotImplementedError" do
10
- expect{@format.process(nil)}.to raise_error(NotImplementedError)
11
- end
12
-
13
- end
14
-
15
- end
16
-
17
-
@@ -1,17 +0,0 @@
1
- describe Ppl::Format::PostalAddress do
2
-
3
- before(:each) do
4
- @format = Ppl::Format::PostalAddress.new
5
- end
6
-
7
- describe "#process" do
8
-
9
- it "should raise a NotImplementedError" do
10
- expect{@format.process(nil)}.to raise_error(NotImplementedError)
11
- end
12
-
13
- end
14
-
15
- end
16
-
17
-