ppl 3.0.0 → 4.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (334) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +16 -0
  3. data/.eleventy.js +86 -0
  4. data/.eleventyignore +1 -0
  5. data/.github/workflows/build.yml +61 -0
  6. data/.gitignore +3 -1
  7. data/Rakefile +1 -18
  8. data/{CODE_OF_CONDUCT.md → code_of_conduct.md} +1 -1
  9. data/features/step_definitions/ppl_steps.rb +27 -27
  10. data/gh-pages/Gemfile +2 -0
  11. data/gh-pages/_config.yml +5 -0
  12. data/gh-pages/_includes/changelog.html +23 -0
  13. data/gh-pages/_includes/development-sidebar.html +25 -0
  14. data/gh-pages/_includes/footer.html +22 -0
  15. data/gh-pages/_includes/header.html +43 -0
  16. data/gh-pages/_includes/news.html +36 -0
  17. data/gh-pages/_includes/tip.html +54 -0
  18. data/gh-pages/_layouts/changelog.html +1 -0
  19. data/gh-pages/_layouts/command.html +104 -0
  20. data/gh-pages/_layouts/configuration.html +71 -0
  21. data/gh-pages/_layouts/development.html +20 -0
  22. data/gh-pages/_layouts/frontpage.html +6 -0
  23. data/gh-pages/_layouts/integration.html +44 -0
  24. data/gh-pages/_layouts/news.html +2 -0
  25. data/gh-pages/_layouts/page.html +6 -0
  26. data/gh-pages/_layouts/tip.html +2 -0
  27. data/gh-pages/_posts/2012-01-15-first-post.md +16 -0
  28. data/gh-pages/_posts/2012-12-20-1.0.0.md +19 -0
  29. data/gh-pages/_posts/2012-12-20-1.1.0.md +28 -0
  30. data/gh-pages/_posts/2012-12-20-1.2.0.md +18 -0
  31. data/gh-pages/_posts/2012-12-21-1.3.0.md +20 -0
  32. data/gh-pages/_posts/2012-12-21-thank-you-for-your-all-your-feedback.md +26 -0
  33. data/gh-pages/_posts/2012-12-22-1.4.1.md +21 -0
  34. data/gh-pages/_posts/2012-12-22-1.5.0.md +17 -0
  35. data/gh-pages/_posts/2012-12-23-1.5.1.md +13 -0
  36. data/gh-pages/_posts/2012-12-23-1.5.2.md +15 -0
  37. data/gh-pages/_posts/2012-12-26-1.5.3.md +19 -0
  38. data/gh-pages/_posts/2012-12-27-1.6.0.md +18 -0
  39. data/gh-pages/_posts/2012-12-29-1.7.0.md +18 -0
  40. data/gh-pages/_posts/2013-01-05-1.8.0.md +18 -0
  41. data/gh-pages/_posts/2013-01-06-1.9.0.md +20 -0
  42. data/gh-pages/_posts/2013-01-10-1.10.0.md +18 -0
  43. data/gh-pages/_posts/2013-01-20-1.11.0.md +14 -0
  44. data/gh-pages/_posts/2013-02-16-1.12.0.md +14 -0
  45. data/gh-pages/_posts/2013-02-17-1.13.0.md +29 -0
  46. data/gh-pages/_posts/2013-02-17-1.14.0.md +15 -0
  47. data/gh-pages/_posts/2013-02-17-1.14.1.md +18 -0
  48. data/gh-pages/_posts/2013-02-17-two-months-in.md +27 -0
  49. data/gh-pages/_posts/2013-03-16-1.15.0.md +28 -0
  50. data/gh-pages/_posts/2013-03-16-coloured-output-released.md +27 -0
  51. data/gh-pages/_posts/2013-04-10-ruby-2.0-compatibility.md +28 -0
  52. data/gh-pages/_posts/2013-04-11-1.15.1.md +13 -0
  53. data/gh-pages/_posts/2013-04-12-1.16.0.md +22 -0
  54. data/gh-pages/_posts/2013-04-14-1.17.0.md +15 -0
  55. data/gh-pages/_posts/2013-04-14-1.17.1.md +20 -0
  56. data/gh-pages/_posts/2013-04-14-1.17.2.md +13 -0
  57. data/gh-pages/_posts/2013-04-15-sync-alias.md +31 -0
  58. data/gh-pages/_posts/2013-04-15-utf8-fixed-and-more.md +37 -0
  59. data/gh-pages/_posts/2013-04-16-1.18.0.md +15 -0
  60. data/gh-pages/_posts/2013-04-16-set-up-color-output.md +47 -0
  61. data/gh-pages/_posts/2013-04-19-1.19.0.md +13 -0
  62. data/gh-pages/_posts/2013-04-19-1.20.0.md +15 -0
  63. data/gh-pages/_posts/2013-04-20-1.21.0.md +16 -0
  64. data/gh-pages/_posts/2013-04-20-1.22.0.md +14 -0
  65. data/gh-pages/_posts/2013-04-20-1.22.1.md +13 -0
  66. data/gh-pages/_posts/2013-04-21-1.22.2.md +15 -0
  67. data/gh-pages/_posts/2013-04-21-1.23.0.md +35 -0
  68. data/gh-pages/_posts/2013-04-23-1.24.0.md +16 -0
  69. data/gh-pages/_posts/2013-04-24-1.25.0.md +21 -0
  70. data/gh-pages/_posts/2013-05-09-2.0.0.md +33 -0
  71. data/gh-pages/_posts/2013-05-09-version-2.0.0-released.md +32 -0
  72. data/gh-pages/_posts/2013-07-20-2.1.0.md +36 -0
  73. data/gh-pages/_posts/2013-07-20-2.2.0.md +20 -0
  74. data/gh-pages/_posts/2013-10-12-2.3.0.md +19 -0
  75. data/gh-pages/_posts/2014-03-30-2.3.1.md +25 -0
  76. data/gh-pages/_posts/2015-01-05-2.3.2.md +18 -0
  77. data/gh-pages/_posts/2015-12-03-get-involved.md +29 -0
  78. data/gh-pages/_posts/2015-12-05-2.3.3.md +16 -0
  79. data/gh-pages/_posts/2016-01-02-2.4.0.md +19 -0
  80. data/gh-pages/_posts/2017-05-01-2.4.1.md +12 -0
  81. data/gh-pages/_posts/2017-10-23-sleep-mode.md +18 -0
  82. data/gh-pages/_posts/2018-01-03-3.0.1.md +12 -0
  83. data/gh-pages/_stylesheets/ppl/color.less +119 -0
  84. data/gh-pages/_stylesheets/ppl/layout.less +54 -0
  85. data/gh-pages/_stylesheets/ppl/style.less +185 -0
  86. data/gh-pages/_stylesheets/ppl/typography.less +59 -0
  87. data/gh-pages/development/changelog/index.md +18 -0
  88. data/gh-pages/development/changelog/split.rb +51 -0
  89. data/gh-pages/development/index.html +32 -0
  90. data/gh-pages/development/roadmap/index.md +15 -0
  91. data/gh-pages/documentation/about/index.html +63 -0
  92. data/gh-pages/documentation/commands/add/index.md +43 -0
  93. data/gh-pages/documentation/commands/age/add/index.md +40 -0
  94. data/gh-pages/documentation/commands/age/index.md +38 -0
  95. data/gh-pages/documentation/commands/bday/index.md +44 -0
  96. data/gh-pages/documentation/commands/completion/index.md +38 -0
  97. data/gh-pages/documentation/commands/email/index.md +64 -0
  98. data/gh-pages/documentation/commands/grep/index.md +32 -0
  99. data/gh-pages/documentation/commands/init/index.md +28 -0
  100. data/gh-pages/documentation/commands/ls/index.md +55 -0
  101. data/gh-pages/documentation/commands/mutt/index.md +36 -0
  102. data/gh-pages/documentation/commands/mv/index.md +26 -0
  103. data/gh-pages/documentation/commands/name/index.md +45 -0
  104. data/gh-pages/documentation/commands/nick/index.md +44 -0
  105. data/gh-pages/documentation/commands/org/index.md +45 -0
  106. data/gh-pages/documentation/commands/phone/index.md +56 -0
  107. data/gh-pages/documentation/commands/post/index.md +61 -0
  108. data/gh-pages/documentation/commands/pull/index.md +39 -0
  109. data/gh-pages/documentation/commands/push/index.md +36 -0
  110. data/gh-pages/documentation/commands/remote/index.md +40 -0
  111. data/gh-pages/documentation/commands/rm/index.md +23 -0
  112. data/gh-pages/documentation/commands/scrape/index.md +38 -0
  113. data/gh-pages/documentation/commands/shell/index.md +39 -0
  114. data/gh-pages/documentation/commands/show/index.md +33 -0
  115. data/gh-pages/documentation/commands/url/index.md +44 -0
  116. data/gh-pages/documentation/commands/version/index.md +27 -0
  117. data/gh-pages/documentation/configuration/address_book/index.md +22 -0
  118. data/gh-pages/documentation/configuration/alias/index.md +45 -0
  119. data/gh-pages/documentation/configuration/color/index.md +47 -0
  120. data/gh-pages/documentation/configuration/color_age/index.md +20 -0
  121. data/gh-pages/documentation/configuration/color_bday/index.md +20 -0
  122. data/gh-pages/documentation/configuration/color_email/index.md +21 -0
  123. data/gh-pages/documentation/configuration/color_ls/index.md +21 -0
  124. data/gh-pages/documentation/configuration/color_name/index.md +20 -0
  125. data/gh-pages/documentation/configuration/color_nick/index.md +20 -0
  126. data/gh-pages/documentation/configuration/color_org/index.md +20 -0
  127. data/gh-pages/documentation/configuration/color_phone/index.md +22 -0
  128. data/gh-pages/documentation/configuration/color_post/index.md +20 -0
  129. data/gh-pages/documentation/configuration/color_url/index.md +20 -0
  130. data/gh-pages/documentation/configuration/index.html +8 -0
  131. data/gh-pages/documentation/index.html +183 -0
  132. data/gh-pages/documentation/integration/bash/index.md +23 -0
  133. data/gh-pages/documentation/integration/google/index.md +26 -0
  134. data/gh-pages/documentation/integration/index.html +8 -0
  135. data/gh-pages/documentation/integration/mutt/index.md +35 -0
  136. data/gh-pages/documentation/integration/zsh/index.md +19 -0
  137. data/gh-pages/documentation/quick-start/index.html +88 -0
  138. data/gh-pages/documentation/tips/index.html +9 -0
  139. data/gh-pages/index.html +108 -0
  140. data/gh-pages/news/index.html +9 -0
  141. data/gh-pages/robots.txt +3 -0
  142. data/gh-pages/stylesheets/flatstrap.css +10 -0
  143. data/gh-pages/stylesheets/ppl.scss +235 -0
  144. data/gh-pages/wiki.png +0 -0
  145. data/lib/ppl.rb +4 -1
  146. data/lib/ppl/adapter/color.rb +0 -1
  147. data/lib/ppl/adapter/color/colored.rb +0 -1
  148. data/lib/ppl/adapter/email_scraper.rb +0 -1
  149. data/lib/ppl/adapter/email_scraper/mail.rb +4 -5
  150. data/lib/ppl/adapter/storage.rb +0 -1
  151. data/lib/ppl/adapter/storage/disk.rb +0 -1
  152. data/lib/ppl/adapter/storage/factory.rb +0 -1
  153. data/lib/ppl/adapter/vcard.rb +0 -1
  154. data/lib/ppl/adapter/vcard/vpim.rb +5 -1
  155. data/lib/ppl/application/bootstrap.rb +0 -1
  156. data/lib/ppl/application/command.rb +0 -1
  157. data/lib/ppl/application/command_suite.rb +0 -1
  158. data/lib/ppl/application/configuration.rb +0 -1
  159. data/lib/ppl/application/input.rb +0 -1
  160. data/lib/ppl/application/output.rb +0 -1
  161. data/lib/ppl/application/router.rb +0 -1
  162. data/lib/ppl/application/shell.rb +0 -1
  163. data/lib/ppl/command/add.rb +0 -1
  164. data/lib/ppl/command/age.rb +0 -1
  165. data/lib/ppl/command/attribute.rb +0 -1
  166. data/lib/ppl/command/bday.rb +0 -1
  167. data/lib/ppl/command/completion.rb +0 -1
  168. data/lib/ppl/command/email.rb +0 -1
  169. data/lib/ppl/command/external.rb +0 -1
  170. data/lib/ppl/command/help.rb +0 -1
  171. data/lib/ppl/command/init.rb +0 -1
  172. data/lib/ppl/command/ls.rb +0 -1
  173. data/lib/ppl/command/mutt.rb +0 -1
  174. data/lib/ppl/command/mv.rb +0 -1
  175. data/lib/ppl/command/name.rb +0 -1
  176. data/lib/ppl/command/nick.rb +0 -1
  177. data/lib/ppl/command/org.rb +0 -1
  178. data/lib/ppl/command/phone.rb +0 -1
  179. data/lib/ppl/command/post.rb +0 -1
  180. data/lib/ppl/command/rm.rb +0 -1
  181. data/lib/ppl/command/scrape.rb +0 -1
  182. data/lib/ppl/command/shell.rb +0 -1
  183. data/lib/ppl/command/show.rb +0 -1
  184. data/lib/ppl/command/url.rb +0 -1
  185. data/lib/ppl/command/version.rb +0 -1
  186. data/lib/ppl/entity/address_book.rb +0 -1
  187. data/lib/ppl/entity/contact.rb +0 -1
  188. data/lib/ppl/entity/email_address.rb +0 -1
  189. data/lib/ppl/entity/name.rb +0 -1
  190. data/lib/ppl/entity/phone_number.rb +0 -1
  191. data/lib/ppl/entity/postal_address.rb +0 -1
  192. data/lib/ppl/error/completion_not_found.rb +0 -1
  193. data/lib/ppl/error/contact_not_found.rb +0 -1
  194. data/lib/ppl/error/incorrect_usage.rb +0 -1
  195. data/lib/ppl/error/invalid_vcard.rb +1 -0
  196. data/lib/ppl/error/postal_address_not_found.rb +0 -1
  197. data/lib/ppl/format/address_book.rb +0 -1
  198. data/lib/ppl/format/address_book/ages.rb +0 -1
  199. data/lib/ppl/format/address_book/birthdays.rb +0 -1
  200. data/lib/ppl/format/address_book/email_addresses.rb +0 -1
  201. data/lib/ppl/format/address_book/mutt_query.rb +0 -1
  202. data/lib/ppl/format/address_book/names.rb +0 -1
  203. data/lib/ppl/format/address_book/nicknames.rb +0 -1
  204. data/lib/ppl/format/address_book/one_line.rb +0 -1
  205. data/lib/ppl/format/address_book/organizations.rb +0 -1
  206. data/lib/ppl/format/address_book/phone_numbers.rb +0 -1
  207. data/lib/ppl/format/address_book/postal_addresses.rb +0 -1
  208. data/lib/ppl/format/address_book/urls.rb +0 -1
  209. data/lib/ppl/format/contact.rb +0 -1
  210. data/lib/ppl/format/contact/age.rb +0 -1
  211. data/lib/ppl/format/contact/birthday.rb +0 -1
  212. data/lib/ppl/format/contact/email_addresses.rb +0 -1
  213. data/lib/ppl/format/contact/full.rb +0 -1
  214. data/lib/ppl/format/contact/nicknames.rb +0 -1
  215. data/lib/ppl/format/contact/organization.rb +0 -1
  216. data/lib/ppl/format/contact/phone_number.rb +0 -1
  217. data/lib/ppl/format/contact/postal_address.rb +0 -1
  218. data/lib/ppl/format/contact/postal_addresses.rb +0 -1
  219. data/lib/ppl/format/contact/urls.rb +0 -1
  220. data/lib/ppl/format/custom.rb +0 -1
  221. data/lib/ppl/format/custom/contact.rb +0 -1
  222. data/lib/ppl/format/custom/email_address.rb +0 -1
  223. data/lib/ppl/format/custom/phone_number.rb +0 -1
  224. data/lib/ppl/format/name.rb +0 -1
  225. data/lib/ppl/format/name/full_only.rb +0 -1
  226. data/lib/ppl/format/postal_address.rb +0 -1
  227. data/lib/ppl/format/postal_address/multi_line.rb +0 -1
  228. data/lib/ppl/format/postal_address/one_line.rb +0 -1
  229. data/lib/ppl/format/table.rb +0 -1
  230. data/lib/ppl/service/email_address.rb +0 -1
  231. data/lib/ppl/service/name.rb +0 -1
  232. data/lib/ppl/service/phone_number.rb +0 -1
  233. data/lib/ppl/service/postal_address.rb +0 -1
  234. data/{LICENSE → license} +0 -0
  235. data/makefile +18 -0
  236. data/package.json +23 -0
  237. data/ppl.gemspec +15 -13
  238. data/{README.md → readme.md} +12 -9
  239. data/site/_data/url.js +4 -0
  240. data/site/casts/hero.cast +189 -0
  241. data/site/development.njk +6 -0
  242. data/site/documentation.njk +6 -0
  243. data/site/index.njk +75 -0
  244. data/site/news.njk +6 -0
  245. data/site/style.scss +140 -0
  246. data/spec/ppl/adapter/color/colored_spec.rb +3 -4
  247. data/spec/ppl/adapter/color_spec.rb +0 -1
  248. data/spec/ppl/adapter/email_scraper/mail_spec.rb +13 -13
  249. data/spec/ppl/adapter/email_scraper_spec.rb +0 -1
  250. data/spec/ppl/adapter/output_spec.rb +7 -8
  251. data/spec/ppl/adapter/storage/disk_spec.rb +18 -19
  252. data/spec/ppl/adapter/storage/factory_spec.rb +3 -4
  253. data/spec/ppl/adapter/storage/git_spec.rb +31 -32
  254. data/spec/ppl/adapter/storage_spec.rb +3 -4
  255. data/spec/ppl/adapter/vcard/greencard_spec.rb +45 -45
  256. data/spec/ppl/adapter/vcard_spec.rb +0 -1
  257. data/spec/ppl/application/bootstrap_spec.rb +128 -129
  258. data/spec/ppl/application/command_spec.rb +8 -9
  259. data/spec/ppl/application/command_suite_spec.rb +7 -8
  260. data/spec/ppl/application/configuration_spec.rb +16 -17
  261. data/spec/ppl/application/input_spec.rb +2 -3
  262. data/spec/ppl/application/router_spec.rb +8 -9
  263. data/spec/ppl/application/shell_spec.rb +39 -40
  264. data/spec/ppl/command/add_spec.rb +6 -7
  265. data/spec/ppl/command/age_spec.rb +7 -8
  266. data/spec/ppl/command/attribute_spec.rb +22 -23
  267. data/spec/ppl/command/bday_spec.rb +11 -12
  268. data/spec/ppl/command/completion_spec.rb +7 -8
  269. data/spec/ppl/command/email_spec.rb +19 -20
  270. data/spec/ppl/command/external_spec.rb +7 -8
  271. data/spec/ppl/command/help_spec.rb +15 -16
  272. data/spec/ppl/command/init_spec.rb +5 -6
  273. data/spec/ppl/command/ls_spec.rb +12 -13
  274. data/spec/ppl/command/mutt_spec.rb +33 -34
  275. data/spec/ppl/command/mv_spec.rb +11 -12
  276. data/spec/ppl/command/name_spec.rb +17 -18
  277. data/spec/ppl/command/nick_spec.rb +1 -2
  278. data/spec/ppl/command/org_spec.rb +1 -2
  279. data/spec/ppl/command/phone_spec.rb +15 -16
  280. data/spec/ppl/command/post_spec.rb +29 -30
  281. data/spec/ppl/command/rm_spec.rb +3 -4
  282. data/spec/ppl/command/scrape_spec.rb +24 -25
  283. data/spec/ppl/command/shell_spec.rb +41 -42
  284. data/spec/ppl/command/show_spec.rb +4 -5
  285. data/spec/ppl/command/url_spec.rb +1 -2
  286. data/spec/ppl/command/version_spec.rb +4 -5
  287. data/spec/ppl/entity/address_book_spec.rb +1 -2
  288. data/spec/ppl/entity/contact_spec.rb +16 -17
  289. data/spec/ppl/entity/email_address_spec.rb +3 -4
  290. data/spec/ppl/entity/name_spec.rb +1 -2
  291. data/spec/ppl/entity/phone_number_spec.rb +5 -6
  292. data/spec/ppl/entity/postal_address_spec.rb +2 -3
  293. data/spec/ppl/format/address_book/ages_spec.rb +3 -4
  294. data/spec/ppl/format/address_book/birthdays_spec.rb +3 -4
  295. data/spec/ppl/format/address_book/email_addresses_spec.rb +3 -4
  296. data/spec/ppl/format/address_book/mutt_query_spec.rb +3 -4
  297. data/spec/ppl/format/address_book/names_spec.rb +3 -4
  298. data/spec/ppl/format/address_book/nicknames_spec.rb +4 -5
  299. data/spec/ppl/format/address_book/one_line_spec.rb +5 -6
  300. data/spec/ppl/format/address_book/organizations_spec.rb +3 -4
  301. data/spec/ppl/format/address_book/phone_numbers_spec.rb +3 -4
  302. data/spec/ppl/format/address_book/postal_addresses_spec.rb +2 -3
  303. data/spec/ppl/format/address_book/urls_spec.rb +3 -4
  304. data/spec/ppl/format/address_book_spec.rb +0 -1
  305. data/spec/ppl/format/contact/age_spec.rb +8 -9
  306. data/spec/ppl/format/contact/birthday_spec.rb +4 -5
  307. data/spec/ppl/format/contact/email_addresses_spec.rb +3 -4
  308. data/spec/ppl/format/contact/full_spec.rb +11 -12
  309. data/spec/ppl/format/contact/nicknames_spec.rb +4 -5
  310. data/spec/ppl/format/contact/organization_spec.rb +4 -5
  311. data/spec/ppl/format/contact/phone_number_spec.rb +4 -5
  312. data/spec/ppl/format/contact/postal_address_spec.rb +1 -2
  313. data/spec/ppl/format/contact/postal_addresses_spec.rb +3 -4
  314. data/spec/ppl/format/contact/urls_spec.rb +4 -5
  315. data/spec/ppl/format/contact_spec.rb +0 -1
  316. data/spec/ppl/format/custom/contact_spec.rb +13 -14
  317. data/spec/ppl/format/custom/email_address_spec.rb +3 -4
  318. data/spec/ppl/format/custom/phone_number_spec.rb +4 -5
  319. data/spec/ppl/format/custom_spec.rb +6 -7
  320. data/spec/ppl/format/name/full_only_spec.rb +4 -5
  321. data/spec/ppl/format/name_spec.rb +0 -1
  322. data/spec/ppl/format/postal_address/multi_line_spec.rb +10 -11
  323. data/spec/ppl/format/postal_address/one_line_spec.rb +9 -10
  324. data/spec/ppl/format/postal_address_spec.rb +0 -1
  325. data/spec/ppl/format/table_spec.rb +11 -11
  326. data/spec/ppl/service/email_address_spec.rb +13 -14
  327. data/spec/ppl/service/name_spec.rb +9 -10
  328. data/spec/ppl/service/phone_number_spec.rb +11 -12
  329. data/spec/ppl/service/postal_address_spec.rb +20 -21
  330. data/spec/spec_helper.rb +4 -0
  331. data/yarn.lock +3605 -0
  332. metadata +183 -22
  333. data/.travis.yml +0 -11
  334. 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
+