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,119 +0,0 @@
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
-
@@ -1,54 +0,0 @@
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
-
@@ -1,185 +0,0 @@
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
-
@@ -1,59 +0,0 @@
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
-
@@ -1,18 +0,0 @@
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>
@@ -1,51 +0,0 @@
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
-
@@ -1,32 +0,0 @@
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>
@@ -1,15 +0,0 @@
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
-
@@ -1,63 +0,0 @@
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
-
@@ -1,43 +0,0 @@
1
- ---
2
- title: ppl add Manual Page
3
- layout: command
4
- section: documentation
5
- command: add
6
- ---
7
-
8
- ### Name
9
-
10
- ppl add - Add a new contact
11
-
12
- ### Synopsis
13
-
14
- ppl add <contact> <name>
15
-
16
- ### Description
17
-
18
- This command adds a new contact to the address book. The first parameter,
19
- `<contact>`, is an alphanumeric string used to uniquely identify the contact
20
- within the address book. The second parameter, `<name>`, is the contact's actual
21
- name.
22
-
23
- The `<contact>` parameter must not already be in use as the identifier of
24
- another contact in the address book. Ideally you'll want to pick something short
25
- and easy to type, so if you're adding a contact named "John Doe", then "john" or
26
- "jdoe" might be good choices if they aren't already in use.
27
-
28
- The `<name>` parameter should be the full name of the contact, and is identical
29
- to its namesake expected by the [ppl name](../name) command. Usually, this
30
- means it needs to be enclosed in quotation marks to indicate that all the words
31
- in the name are part of the same parameter.
32
-
33
- The first word in the `<name>` will also be stored as the contact's given name,
34
- with the remainder of the string being treated as their family name.
35
-
36
- ### Examples
37
-
38
- ppl add jdoe "John Doe"
39
-
40
- ### See Also
41
-
42
- [ppl name](../name)
43
-
@@ -1,40 +0,0 @@
1
- ---
2
- title: ppl add Manual Page
3
- layout: command
4
- section: documentation
5
- command: add
6
- ---
7
-
8
- ### Name
9
-
10
- ppl add - Add a new contact
11
-
12
- ### Synopsis
13
-
14
- ppl add <contact> <name>
15
-
16
- ### Description
17
-
18
- This command adds a new contact to the address book. The first parameter,
19
- `<contact>`, is an alphanumeric string used to uniquely identify the contact
20
- within the address book. The second parameter, `<name>`, is the contact's actual
21
- name.
22
-
23
- The `<contact>` parameter must not already be in use as the identifier of
24
- another contact in the address book. Ideally you'll want to pick something short
25
- and easy to type, so if you're adding a contact named "John Doe", then "john" or
26
- "jdoe" might be good choices if they aren't already in use.
27
-
28
- The `<name>` parameter should be the full name of the contact, and is identical
29
- to its namesake expected by the [ppl name](../name) command. Usually, this
30
- means it needs to be enclosed in quotation marks to indicate that all the words
31
- in the name are part of the same parameter.
32
-
33
- ### Examples
34
-
35
- ppl add jdoe "John Doe"
36
-
37
- ### See Also
38
-
39
- [ppl name](../name)
40
-