ppl 4.0.2 → 4.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +12 -0
  3. data/.eleventy.js +86 -0
  4. data/.eleventyignore +1 -0
  5. data/.github/workflows/build.yml +30 -2
  6. data/.gitignore +3 -1
  7. data/Rakefile +1 -1
  8. data/features/step_definitions/ppl_steps.rb +24 -24
  9. data/gh-pages/Gemfile +2 -0
  10. data/gh-pages/_config.yml +5 -0
  11. data/gh-pages/_includes/changelog.html +23 -0
  12. data/gh-pages/_includes/development-sidebar.html +25 -0
  13. data/gh-pages/_includes/footer.html +22 -0
  14. data/gh-pages/_includes/header.html +43 -0
  15. data/gh-pages/_includes/news.html +36 -0
  16. data/gh-pages/_includes/tip.html +54 -0
  17. data/gh-pages/_layouts/changelog.html +1 -0
  18. data/gh-pages/_layouts/command.html +104 -0
  19. data/gh-pages/_layouts/configuration.html +71 -0
  20. data/gh-pages/_layouts/development.html +20 -0
  21. data/gh-pages/_layouts/frontpage.html +6 -0
  22. data/gh-pages/_layouts/integration.html +44 -0
  23. data/gh-pages/_layouts/news.html +2 -0
  24. data/gh-pages/_layouts/page.html +6 -0
  25. data/gh-pages/_layouts/tip.html +2 -0
  26. data/gh-pages/_posts/2012-01-15-first-post.md +16 -0
  27. data/gh-pages/_posts/2012-12-20-1.0.0.md +19 -0
  28. data/gh-pages/_posts/2012-12-20-1.1.0.md +28 -0
  29. data/gh-pages/_posts/2012-12-20-1.2.0.md +18 -0
  30. data/gh-pages/_posts/2012-12-21-1.3.0.md +20 -0
  31. data/gh-pages/_posts/2012-12-21-thank-you-for-your-all-your-feedback.md +26 -0
  32. data/gh-pages/_posts/2012-12-22-1.4.1.md +21 -0
  33. data/gh-pages/_posts/2012-12-22-1.5.0.md +17 -0
  34. data/gh-pages/_posts/2012-12-23-1.5.1.md +13 -0
  35. data/gh-pages/_posts/2012-12-23-1.5.2.md +15 -0
  36. data/gh-pages/_posts/2012-12-26-1.5.3.md +19 -0
  37. data/gh-pages/_posts/2012-12-27-1.6.0.md +18 -0
  38. data/gh-pages/_posts/2012-12-29-1.7.0.md +18 -0
  39. data/gh-pages/_posts/2013-01-05-1.8.0.md +18 -0
  40. data/gh-pages/_posts/2013-01-06-1.9.0.md +20 -0
  41. data/gh-pages/_posts/2013-01-10-1.10.0.md +18 -0
  42. data/gh-pages/_posts/2013-01-20-1.11.0.md +14 -0
  43. data/gh-pages/_posts/2013-02-16-1.12.0.md +14 -0
  44. data/gh-pages/_posts/2013-02-17-1.13.0.md +29 -0
  45. data/gh-pages/_posts/2013-02-17-1.14.0.md +15 -0
  46. data/gh-pages/_posts/2013-02-17-1.14.1.md +18 -0
  47. data/gh-pages/_posts/2013-02-17-two-months-in.md +27 -0
  48. data/gh-pages/_posts/2013-03-16-1.15.0.md +28 -0
  49. data/gh-pages/_posts/2013-03-16-coloured-output-released.md +27 -0
  50. data/gh-pages/_posts/2013-04-10-ruby-2.0-compatibility.md +28 -0
  51. data/gh-pages/_posts/2013-04-11-1.15.1.md +13 -0
  52. data/gh-pages/_posts/2013-04-12-1.16.0.md +22 -0
  53. data/gh-pages/_posts/2013-04-14-1.17.0.md +15 -0
  54. data/gh-pages/_posts/2013-04-14-1.17.1.md +20 -0
  55. data/gh-pages/_posts/2013-04-14-1.17.2.md +13 -0
  56. data/gh-pages/_posts/2013-04-15-sync-alias.md +31 -0
  57. data/gh-pages/_posts/2013-04-15-utf8-fixed-and-more.md +37 -0
  58. data/gh-pages/_posts/2013-04-16-1.18.0.md +15 -0
  59. data/gh-pages/_posts/2013-04-16-set-up-color-output.md +47 -0
  60. data/gh-pages/_posts/2013-04-19-1.19.0.md +13 -0
  61. data/gh-pages/_posts/2013-04-19-1.20.0.md +15 -0
  62. data/gh-pages/_posts/2013-04-20-1.21.0.md +16 -0
  63. data/gh-pages/_posts/2013-04-20-1.22.0.md +14 -0
  64. data/gh-pages/_posts/2013-04-20-1.22.1.md +13 -0
  65. data/gh-pages/_posts/2013-04-21-1.22.2.md +15 -0
  66. data/gh-pages/_posts/2013-04-21-1.23.0.md +35 -0
  67. data/gh-pages/_posts/2013-04-23-1.24.0.md +16 -0
  68. data/gh-pages/_posts/2013-04-24-1.25.0.md +21 -0
  69. data/gh-pages/_posts/2013-05-09-2.0.0.md +33 -0
  70. data/gh-pages/_posts/2013-05-09-version-2.0.0-released.md +32 -0
  71. data/gh-pages/_posts/2013-07-20-2.1.0.md +36 -0
  72. data/gh-pages/_posts/2013-07-20-2.2.0.md +20 -0
  73. data/gh-pages/_posts/2013-10-12-2.3.0.md +19 -0
  74. data/gh-pages/_posts/2014-03-30-2.3.1.md +25 -0
  75. data/gh-pages/_posts/2015-01-05-2.3.2.md +18 -0
  76. data/gh-pages/_posts/2015-12-03-get-involved.md +29 -0
  77. data/gh-pages/_posts/2015-12-05-2.3.3.md +16 -0
  78. data/gh-pages/_posts/2016-01-02-2.4.0.md +19 -0
  79. data/gh-pages/_posts/2017-05-01-2.4.1.md +12 -0
  80. data/gh-pages/_posts/2017-10-23-sleep-mode.md +18 -0
  81. data/gh-pages/_posts/2018-01-03-3.0.1.md +12 -0
  82. data/gh-pages/_stylesheets/ppl/color.less +119 -0
  83. data/gh-pages/_stylesheets/ppl/layout.less +54 -0
  84. data/gh-pages/_stylesheets/ppl/style.less +185 -0
  85. data/gh-pages/_stylesheets/ppl/typography.less +59 -0
  86. data/gh-pages/development/changelog/index.md +18 -0
  87. data/gh-pages/development/changelog/split.rb +51 -0
  88. data/gh-pages/development/index.html +32 -0
  89. data/gh-pages/development/roadmap/index.md +15 -0
  90. data/gh-pages/documentation/about/index.html +63 -0
  91. data/gh-pages/documentation/commands/add/index.md +43 -0
  92. data/gh-pages/documentation/commands/age/add/index.md +40 -0
  93. data/gh-pages/documentation/commands/age/index.md +38 -0
  94. data/gh-pages/documentation/commands/bday/index.md +44 -0
  95. data/gh-pages/documentation/commands/completion/index.md +38 -0
  96. data/gh-pages/documentation/commands/email/index.md +64 -0
  97. data/gh-pages/documentation/commands/grep/index.md +32 -0
  98. data/gh-pages/documentation/commands/init/index.md +28 -0
  99. data/gh-pages/documentation/commands/ls/index.md +55 -0
  100. data/gh-pages/documentation/commands/mutt/index.md +36 -0
  101. data/gh-pages/documentation/commands/mv/index.md +26 -0
  102. data/gh-pages/documentation/commands/name/index.md +45 -0
  103. data/gh-pages/documentation/commands/nick/index.md +44 -0
  104. data/gh-pages/documentation/commands/org/index.md +45 -0
  105. data/gh-pages/documentation/commands/phone/index.md +56 -0
  106. data/gh-pages/documentation/commands/post/index.md +61 -0
  107. data/gh-pages/documentation/commands/pull/index.md +39 -0
  108. data/gh-pages/documentation/commands/push/index.md +36 -0
  109. data/gh-pages/documentation/commands/remote/index.md +40 -0
  110. data/gh-pages/documentation/commands/rm/index.md +23 -0
  111. data/gh-pages/documentation/commands/scrape/index.md +38 -0
  112. data/gh-pages/documentation/commands/shell/index.md +39 -0
  113. data/gh-pages/documentation/commands/show/index.md +33 -0
  114. data/gh-pages/documentation/commands/url/index.md +44 -0
  115. data/gh-pages/documentation/commands/version/index.md +27 -0
  116. data/gh-pages/documentation/configuration/address_book/index.md +22 -0
  117. data/gh-pages/documentation/configuration/alias/index.md +45 -0
  118. data/gh-pages/documentation/configuration/color/index.md +47 -0
  119. data/gh-pages/documentation/configuration/color_age/index.md +20 -0
  120. data/gh-pages/documentation/configuration/color_bday/index.md +20 -0
  121. data/gh-pages/documentation/configuration/color_email/index.md +21 -0
  122. data/gh-pages/documentation/configuration/color_ls/index.md +21 -0
  123. data/gh-pages/documentation/configuration/color_name/index.md +20 -0
  124. data/gh-pages/documentation/configuration/color_nick/index.md +20 -0
  125. data/gh-pages/documentation/configuration/color_org/index.md +20 -0
  126. data/gh-pages/documentation/configuration/color_phone/index.md +22 -0
  127. data/gh-pages/documentation/configuration/color_post/index.md +20 -0
  128. data/gh-pages/documentation/configuration/color_url/index.md +20 -0
  129. data/gh-pages/documentation/configuration/index.html +8 -0
  130. data/gh-pages/documentation/index.html +183 -0
  131. data/gh-pages/documentation/integration/bash/index.md +23 -0
  132. data/gh-pages/documentation/integration/google/index.md +26 -0
  133. data/gh-pages/documentation/integration/index.html +8 -0
  134. data/gh-pages/documentation/integration/mutt/index.md +35 -0
  135. data/gh-pages/documentation/integration/zsh/index.md +19 -0
  136. data/gh-pages/documentation/quick-start/index.html +88 -0
  137. data/gh-pages/documentation/tips/index.html +9 -0
  138. data/gh-pages/index.html +108 -0
  139. data/gh-pages/news/index.html +9 -0
  140. data/gh-pages/robots.txt +3 -0
  141. data/gh-pages/stylesheets/flatstrap.css +10 -0
  142. data/gh-pages/stylesheets/ppl.scss +235 -0
  143. data/gh-pages/wiki.png +0 -0
  144. data/lib/ppl.rb +4 -1
  145. data/makefile +18 -0
  146. data/package.json +23 -0
  147. data/ppl.gemspec +1 -1
  148. data/site/_data/url.js +4 -0
  149. data/site/casts/hero.cast +189 -0
  150. data/site/development.njk +6 -0
  151. data/site/documentation.njk +6 -0
  152. data/site/index.njk +75 -0
  153. data/site/news.njk +6 -0
  154. data/site/style.scss +140 -0
  155. data/yarn.lock +3605 -0
  156. metadata +149 -1
@@ -0,0 +1,61 @@
1
+ ---
2
+ title: ppl post Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: post
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl post - List, show or change postal addresses
11
+
12
+ ### Synopsis
13
+
14
+ ppl post
15
+ ppl post <contact>
16
+ ppl post <contact> <address>
17
+ -s, --street <street-address>
18
+ -z, --postal-code <postal-code>
19
+ -p, --po-box <po-box>
20
+ -l, --locality <locality>
21
+ -r, --region <region>
22
+ -c, --country <country>
23
+ ppl post <contact> <address> (-m | --move) <new-name>
24
+
25
+ ### Description
26
+
27
+ With no arguments, the postal addresses of each contact in the address book are
28
+ listed.
29
+
30
+ If a just a `<contact>` is specified, the postal addresses of that contact are
31
+ shown.
32
+
33
+ If both a `<contact>` and an `<address>` are specified, an address will be
34
+ created or updated using the options provided.
35
+
36
+ Use the `-m` or `--move` flag to move an address to a new ID.
37
+
38
+ ### Examples
39
+
40
+ $ ppl post
41
+ alice: home, work
42
+ jdoe: home
43
+ $ ppl post alice
44
+ * home 3701 Southwest 12th Street, Topeka, Kansas, USA
45
+ work 123 Business Road, Businesstown, USA
46
+ $ ppl post alice home
47
+ 3701 Southwest 12th Street
48
+ Topeka
49
+ Kansas
50
+ USA
51
+ $ ppl post alice home --country Canada
52
+ $ ppl post alice home
53
+ 3701 Southwest 12th Street
54
+ Topeka
55
+ Kansas
56
+ Canada
57
+
58
+ ### See Also
59
+
60
+ * [color output](/documentation/configuration/color_post)
61
+
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: ppl pull Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: pull
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl pull - Execute `git pull` in the address book directory
11
+
12
+ ### Synopsis
13
+
14
+ ppl pull <remote> <branch>
15
+
16
+ ### Description
17
+
18
+ This command is an alias of `git pull`. It is intended to make it more
19
+ convenient to use git to synchronise your address book. The rationale is that it
20
+ is tiresome to have to type `cd ~/contacts` and then `git pull origin master`.
21
+ Assuming you have configured ppl to [remember the location of your address
22
+ book](/documentation/configuration/address_book), then `ppl pull origin master`
23
+ is the equivalent of those two commands.
24
+
25
+ Note that this command literally executes the git command `push` in the address
26
+ book directory. If you don't have the git CLI tool installed, this command will
27
+ not work.
28
+
29
+ ### Examples
30
+
31
+ $ ppl pull origin master
32
+ Already up-to-date.
33
+
34
+ ### See Also
35
+
36
+ * [git pull](http://git-scm.com/docs/git-pull)
37
+ * [ppl push](/documentation/commands/push)
38
+ * [ppl remote](/documentation/commands/push)
39
+
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: ppl push Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: push
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl push - Execute `git push` in the address book directory
11
+
12
+ ### Synopsis
13
+
14
+ ppl push <remote> <branch>
15
+
16
+ ### Description
17
+
18
+ This command is an alias of `git push`. It is intended to make it more
19
+ convenient to use git to synchronise your address book. See the documentation
20
+ for [git pull](/documentation/commands/pull) for more details.
21
+
22
+ Note that this command literally executes the git command `push` in the address
23
+ book directory. If you don't have the git CLI tool installed, this command will
24
+ not work.
25
+
26
+ ### Examples
27
+
28
+ $ ppl push origin master
29
+ Everything up-to-date.
30
+
31
+ ### See Also
32
+
33
+ * [git push](http://git-scm.com/docs/git-push)
34
+ * [ppl pull](/documentation/commands/pull)
35
+ * [ppl remote](/documentation/commands/push)
36
+
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: ppl remote Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: remote
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl remote - Execute `git remote` in the address book directory
11
+
12
+ ### Synopsis
13
+
14
+ ppl remote [-v | --verbose]
15
+ ppl remote rename <old> <new>
16
+ ppl remote rm <name>
17
+
18
+ ### Description
19
+
20
+ This command is an alias of `git remote`. It is intended to make it more
21
+ convenient to use git to synchronise your address book. See the documentation
22
+ for [git pull](/documentation/commands/pull) for more details.
23
+
24
+ Note that this command literally executes the git command `remote` in the
25
+ address book directory. If you don't have the git CLI tool installed, this
26
+ command will not work.
27
+
28
+ ### Examples
29
+
30
+ $ ppl remote
31
+ origin
32
+ github
33
+ $ ppl remote rm github
34
+
35
+ ### See Also
36
+
37
+ * [git remote](http://git-scm.com/docs/git-remote)
38
+ * [ppl pull](/documentation/commands/pull)
39
+ * [ppl push](/documentation/commands/push)
40
+
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: ppl rm Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: rm
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl rm - Delete a contact
11
+
12
+ ### Synopsis
13
+
14
+ ppl rm <contact>
15
+
16
+ ### Description
17
+
18
+ Delete the specified `<contact>` from the address book.
19
+
20
+ ### Examples
21
+
22
+ ppl rm jdoe
23
+
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: ppl scrape Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: scrape
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl scrape - Scrape contact details from an email in `stdin`
11
+
12
+ ### Synopsis
13
+
14
+ ppl scrape [<options>]
15
+ -q, --quiet Add contacts to the address book without prompting
16
+ -s, --sender Scrape the sender's contact details
17
+
18
+ ### Description
19
+
20
+ Reads an email message from stdin and scrapes contact information from it into
21
+ the address book. By default nothing will be scraped; the command must be told
22
+ explicitly which information to scrape via its arguments.
23
+
24
+ If the `--sender` option is used, then the details of the person in the email's
25
+ `From:` header will be scraped into the address book.
26
+
27
+ If the `--quiet` option is used, the command will not prompt the user to confirm
28
+ whether they approve of each contact before saving them to the address book.
29
+
30
+ This command is analogous to [abook](http://abook.sourceforge.net/)'s
31
+ `--add-email` functionality. Both the confirmation prompt and the `--quiet` flag
32
+ are provided with the intention of achieving feature parity with this part of
33
+ abook.
34
+
35
+ ### Examples
36
+
37
+ ppl scrape --sender --quiet < ~/Mail/cur/1234.example.org
38
+
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: ppl shell Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: shell
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl shell - Interactive mode
11
+
12
+ ### Synopsis
13
+
14
+ ppl shell
15
+
16
+ ### Description
17
+
18
+ Opens ppl in interactive mode, allowing users to skip typing "ppl" at the start
19
+ of every single command. This is intended to be useful in the case of longer
20
+ sessions, when a user plans to interact with ppl many times and wants to avoid
21
+ some of the repetition.
22
+
23
+ In interactive mode, all the ppl commands work as normal. The only difference is
24
+ that there is no need to prefix every command with `ppl`. So instead of typing
25
+ `ppl ls`, in interactive mode you would just type `ls`.
26
+
27
+ To exit interactive mode, type `exit`, or send a `sigint` or `eof` (Ctrl+C or
28
+ Ctrl+D usually).
29
+
30
+ ### Examples
31
+
32
+ $ ppl shell
33
+ ppl 1.5.2 (type "exit" to leave)
34
+ ppl> ls
35
+ jdoe: John Doe <jdoe@example.org>
36
+ kdoe: Kent Doe <kdoe@example.org>
37
+ ppl> exit
38
+ $
39
+
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: ppl show Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: show
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl show - Display a contact's full details
11
+
12
+ ### Synopsis
13
+
14
+ ppl show <contact>
15
+
16
+ ### Description
17
+
18
+ Display the full details of the specified `<contact>`. This command will output
19
+ all the contact details that are currently stored, including email address, date
20
+ of birth, organization, and so on.
21
+
22
+ ### Examples
23
+
24
+ $ ppl show jdoe
25
+ jdoe: John Doe <jdoe@example.org>
26
+
27
+ Birthday 1970-01-01
28
+
29
+ Phone Numbers:
30
+ 0123456789
31
+ 0543216790
32
+
33
+
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: ppl url Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: url
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl url - List, show or change URLs
11
+
12
+ ### Synopsis
13
+
14
+ ppl url
15
+ ppl url <contact>
16
+ ppl url <contact> <url>
17
+ ppl url <contact> (-d | --delete) <url>
18
+
19
+ ### Description
20
+
21
+ With no arguments, the URLs of each contact in the address book are listed.
22
+
23
+ If a `<contact>` is specified, the URLs of that contact are shown.
24
+
25
+ If both a `<contact>` and a `<URL>` are given, then the URL is added to the
26
+ contact.
27
+
28
+ If the `--delete` or `-d` flag is set, then the given `<url>` is
29
+ deleted from the specified `<contact>`.
30
+
31
+ ### Examples
32
+
33
+ $ ppl url jdoe http://facebook.com/jdoe
34
+ $ ppl url adam http://adamswebsite.com
35
+ $ ppl url jdoe
36
+ http://facebook.com/jdoe
37
+ $ ppl url
38
+ adam: http://adamswebsite.com
39
+ jdoe: http://facebook.com/jdoe
40
+
41
+ ### See Also
42
+
43
+ * [color output](/documentation/configuration/color_url)
44
+
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: ppl version Manual Page
3
+ layout: command
4
+ section: documentation
5
+ command: version
6
+ ---
7
+
8
+ ### Name
9
+
10
+ ppl version - Display ppl's version number
11
+
12
+ ### Synopsis
13
+
14
+ ppl version
15
+
16
+ ### Description
17
+
18
+ This command simply displays the current version of ppl installed on the system.
19
+
20
+ Pre-1.9.0 versions of ppl lack this command, but `gem list --local | grep ppl`
21
+ ought to do the job just fine in its absence anyway.
22
+
23
+ ### Examples
24
+
25
+ $ ppl version
26
+ ppl version 1.9.0
27
+
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: ppl [address book] Configuration Guide
3
+ layout: configuration
4
+ section: documentation
5
+ config_section: address book
6
+ ---
7
+
8
+ ### path
9
+
10
+ [address book]
11
+ path = ~/contacts
12
+
13
+ By default, ppl determines the location of the address book based on the user's
14
+ [working directory](http://en.wikipedia.org/wiki/Working_directory). This value
15
+ overrides that behaviour and sets a particular directory as the location of the
16
+ address book regardless of the working directory.
17
+
18
+ This is intended for the typical use-case where a user of ppl only has one
19
+ address book. The purpose is to increase the convenience of using ppl with that
20
+ single address book by removing the requirement that the user first navigate to
21
+ its directory before reading from or writing to it.
22
+
@@ -0,0 +1,45 @@
1
+ ---
2
+ title: ppl [alias] Configuration Guide
3
+ layout: configuration
4
+ section: documentation
5
+ config_section: alias
6
+ ---
7
+
8
+ Sometimes typing the same long commands repeatedly becomes tiresome. The
9
+ `[alias]` section is intended to address this issue by providing a means of
10
+ configuring shorter forms of commands.
11
+
12
+ [alias]
13
+ l = ls
14
+ s = show
15
+
16
+ Adding the above lines to `~/.pplconfig` would allow the user to interact with
17
+ ppl as follows:
18
+
19
+ $ ppl l
20
+ jdoe: John Doe <jdoe@example.org>
21
+ fred: Fred Bloggs <fred@example.org>
22
+ $ ppl s jdoe
23
+ John Doe <jdoe@example.org>
24
+
25
+ Birthday 1970-01-01
26
+ Organization Example Organization
27
+
28
+ Email Addresses
29
+ jdoe@example.org
30
+
31
+ ### Bang Aliases
32
+
33
+ ppl's alias system is similar to git's in that it supports executing external
34
+ commands via aliases prefixed with an exclamation mark, or "bang". In your
35
+ `~/.pplconfig`, this would look something like the following:
36
+
37
+ [alias]
38
+ lsx = !ppl ls | grep -i x
39
+
40
+ The above example creates an alias `lsx` that pipes the output of [ppl
41
+ ls](/documentation/commands/ls) through `grep -i x`. This means that you
42
+ effectively create a new command - `ppl lsx` - which is identical to `ppl ls`
43
+ except that it only displays lines containing the letter x.
44
+
45
+