annotate plugins/joke/joke.7 @ 995:0d71bfa6c97a

tests: add plugin tests
author David Demelier <markand@malikania.fr>
date Thu, 11 Feb 2021 17:39:22 +0100
parents 5e25439fe98d
children cf99df45cb84
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
845
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 .\"
913
5e25439fe98d misc: update years
David Demelier <markand@malikania.fr>
parents: 845
diff changeset
2 .\" Copyright (c) 2013-2020 David Demelier <markand@malikania.fr>
845
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 .\"
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 .\" Permission to use, copy, modify, and/or distribute this software for any
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 .\" purpose with or without fee is hereby granted, provided that the above
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 .\" copyright notice and this permission notice appear in all copies.
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 .\"
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 .\"
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 .Dd @IRCCD_MAN_DATE@
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 .Dt IRCCD-PLUGIN-JOKE 7
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 .Os
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .\" NAME
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 .Sh NAME
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 .Nm joke
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 .Nd irccd joke plugin
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 .\" DESCRIPTION
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 .Sh DESCRIPTION
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 The
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 .Nm
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 plugin is a convenient command to display jokes in a random order without
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 displaying always the same.
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 .Pp
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 It loads jokes per channel/server pair and display a unique joke each time it is
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 invoked.
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 .\" INSTALLATION
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 .Sh INSTALLATION
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 The plugin
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 .Nm
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 is distributed with irccd. To enable it add the following to your plugins
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 section:
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 .Pp
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 .Bd -literal
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 [plugins]
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 joke = ""
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 .Ed
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 .\" USAGE
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 .Sh USAGE
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 The
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 .Nm
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 plugin requires a database of jokes file, it consists of a plain JSON file of
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 array of array of strings.
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 .Pp
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 Example of jokes.json file:
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 .Bd -literal -offset Ds
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 [
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 [
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 "Tip to generate a good random password:",
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 "Ask a Windows user to quit vim."
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 ],
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 [
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 "Have you tried turning it off and on again?"
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 ]
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 ]
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 .Ed
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 .Pp
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 This file contains two jokes, the first one will be printed on two lines while
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 the second only has one.
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 .Pp
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 Then, invoke the plugin:
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 .Bd -literal -offset Ds
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 markand: !joke
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 irccd: Have you tried turning it off and on again?
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 markand: !joke
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 irccd: Tip to generate a good random password:
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 irccd: Ask a Windows user to quit vim.
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 .Ed
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 .\" CONFIGURATION
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 .Sh CONFIGURATION
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 The following options are available under the
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 .Va [plugin.joke]
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 section:
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 .Bl -tag -width 14n -offset Ds
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 .It Va file No (string)
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 path to the JSON jokes files (Optional: defaults to data directory/jokes.json).
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 Keywords:
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 .Em channel , server
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 .Pp
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 Warning: if you use keywords in the **file** parameter, you won't have a default
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 joke database anymore.
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 .El
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 .\" TEMPLATES
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 .Sh TEMPLATES
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 The
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 .Nm
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 plugin supports the following templates in
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 .Va [templates.joke]
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 section:
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 .Bl -tag -width 14n -offset Ds
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 .It Va error
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 Template when an internal error occured. Keywords:
995
0d71bfa6c97a tests: add plugin tests
David Demelier <markand@malikania.fr>
parents: 913
diff changeset
98 .Em channel , command , nickname , origin , plugin , server .
845
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 .El
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 .\" SEE ALSO
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 .Sh SEE ALSO
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 .Xr irccd 1 ,
00a4720c4874 doc: rewrite documentation in manual pages, closes #1674
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 .Xr irccd-templates 7