changeset 31:e902ab63f718

import faq from redmine
author David Demelier <markand@malikania.fr>
date Wed, 16 Dec 2020 23:00:58 +0100
parents 0ccb3b76e2ed
children 2cd3c88e9f1a
files Makefile contribute.md faq.md index.md templates/template.html
diffstat 5 files changed, 155 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Wed Dec 16 15:19:17 2020 +0100
+++ b/Makefile	Wed Dec 16 23:00:58 2020 +0100
@@ -51,9 +51,9 @@
 MAN7HTML=       ${MAN7:.7=.html}
 MAN7PDF=        ${MAN7:.7=.pdf}
 
-SITE_SRCS=      contribute.md \
-                documentation.md \
+SITE_SRCS=      documentation.md \
                 downloads.md \
+                faq.md \
                 index.md \
                 versioning.md
 SITE_HTML=      ${SITE_SRCS:.md=.html}
@@ -61,7 +61,7 @@
 .SUFFIXES:
 .SUFFIXES: .html .pdf .md .1 .5 .7
 
-all: site man doxygen
+all: www man doxygen
 
 ${SITE_HTML}: templates/template.html
 
@@ -89,7 +89,8 @@
 	rsync -a --delete irccd-${VERSION}/build/doc/doxygen/html/ doxygen
 
 www: ${SITE_HTML} man doxygen
-	mkdir $@
+	rm -rf $@
+	mkdir -p $@
 	cp -R css $@
 	cp -R doxygen $@/api
 	cp ${MAN1HTML} ${MAN5HTML} ${MAN7HTML} $@
--- a/contribute.md	Wed Dec 16 15:19:17 2020 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-% irccd - contribute
-% David Demelier <markand@malikania.fr>
-% 2019-10-06
-
-Contribute
-==========
-
-Want to contribute to irccd?
-
-Code
-----
-
-Send patches to the mailing list, see the file [CONTRIBUTE.md][] for a simple
-but detailed guide.
-
-- main repository: [http://hg.malikania.fr/irccd](http://hg.malikania.fr/irccd)
-- extra plugins repository: [http://hg.malikania.fr/irccd-plugins](http://hg.malikania.fr/irccd-plugins)
-- website repository: [http://hg.malikania.fr/irccd-www](http://hg.malikania.fr/irccd-www)
-
-Help
-----
-
-The easiest way to get help is to use the IRC channel `#staff` on the IRC server
-on chat.freenode.net. Please stay to grow the channel and help others.
-
-Mailing lists
--------------
-
-Irccd has official mailing lists for several purposes:
-
-- [irccd@malikania.fr](mailto:irccd@malikania.fr): questions and development.
-- [irccd-announce@malikania.fr](mailto:irccd-announce@malikania.fr):
-  announcements.
-- [irccd-commits@malikania.fr](mailto:irccd-commits@malikania.fr): Mercurial
-  commits.
-
-Note: you need to subscribe before posting by appending `+subscribe` before the
-domain name to the desired address.
-
-[CONTRIBUTE.md]: http://hg.malikania.fr/irccd/file/tip/CONTRIBUTE.md
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/faq.md	Wed Dec 16 23:00:58 2020 +0100
@@ -0,0 +1,124 @@
+% irccd - faq
+% David Demelier <markand@malikania.fr>
+% 2019-10-06
+
+Frequently asked questions
+==========================
+
+Is SSL supported?
+-----------------
+
+Yes.
+
+Why plugins are not loaded per server?
+--------------------------------------
+
+This is a good question.
+
+I thought a lot about using plugin per server at first, this will add more
+flexibility about using different plugin configuration per server but will also
+be a huge pain to maintain for the user. Because a lot of people will use an
+only one irccd instance and server, I prefer to keep plugins globally and not
+per server basis.
+
+This also means that by default, all plugins will be enabled on all servers and
+channels but it can be easily filtered with the irccd rule system.
+
+Example:
+
+    # Create a whitelist for plugin 'xyz'.
+    [rule]
+    plugins = xyz
+    action = drop
+    
+    # Re-enable 'xyz' on desired channels.
+    [rule]
+    servers = "myserver"
+    channels = "#mychannel"
+    plugins = xyz
+    action = accept
+
+Why Javascript instead of (insert my favorite language here)?
+-------------------------------------------------------------
+
+Because Javascript is a very light language easy to embed. The irccd
+implementation uses [duktape](http://duktape.org).
+
+- Starting with version 3.0.0 you can write plugins in C++.
+- Starting with version 3.1.0 you can write hooks in any language, but they are
+  less powerful than plugins though.
+
+See also question below.
+
+Do you plan to add (my language)?
+---------------------------------
+
+No, there are plenty of bots which support your language.
+
+Is it possible to combine commands like `!foo !bar`?
+----------------------------------------------------
+
+Absolutely no, and will never. The special `onCommand` event is dedicated to
+specific plugin.
+
+Internally, when a user writes a message like `!stats hello` (assuming that
+command char is '!'), then irccd will search for the plugin *stats* and pass the
+trailing text to the plugin command.
+
+In that way, the plugins will never conflict on `onCommand`. This security is
+called plugin namespaces. By the way, this does not make sense and I don't know
+many bot which support this "feature".
+
+Remember, IRC plugins are not shell commands that you can pipe one to another.
+
+Is it possible to integrate plugin dependencies?
+------------------------------------------------
+
+No, plugins should be independant.
+
+There are no ways to require a plugin. However, you can still verify if a plugin
+is loaded via the `Irccd.Plugin.info` function and eventually load it using
+`Irccd.Plugin.load`
+
+Does irccd support DCC?
+-----------------------
+
+Not at the moment.
+
+What if I use a specific encoding?
+----------------------------------
+
+Irccd is encoding agnostic just as the IRC protocol. If the server send UTF-8
+messages, then irccd will pass these UTF-8 encoded messages to the plugins.
+
+The bot does not connect to the Freenode server!
+------------------------------------------------
+
+Be sure to set a different identity (with different nickname **and** username)
+because **irccd** is a registered nickname.
+
+Isn't irccd bloat and against KISS/UNIX philosophies?
+-----------------------------------------------------
+
+The definition of bloat is quite subjective.
+
+In some aspects it may be considered as a bit too complicated for an IRC bot but
+is still quite minimal.
+
+Because irccd offers a runtime controllable mechanism with lots of commands (30
+at this time of writing), it increases the total number of lines of code and
+since it's written in C++, yes it requires some time to build. Please also note
+that irccd is excessively tested.
+
+On the other hand, I must admit that I regret having used [boost][] for such a
+small project which definitely increased its complexity in some parts. But given
+its current stability and completeness, there are no plans to rewrite irccd in
+C.
+
+What does irccd drink?
+----------------------
+
+Irccd only drinks white beer and French cognac.
+
+[boost]: http://boost.org
+[duktape]: http://duktape.org
--- a/index.md	Wed Dec 16 15:19:17 2020 +0100
+++ b/index.md	Wed Dec 16 23:00:58 2020 +0100
@@ -15,12 +15,29 @@
 News
 ----
 
-- (2020-07-03) New release: irccd 3.1.0,
-- (2019-10-06) New release: irccd 3.0.3,
-- (2019-09-22) New release: irccd 3.0.2,
-- (2019-09-01) New release: irccd 3.0.1,
-- (2019-09-01) C++ doxygen documentation is online.
-- (2019-08-16) New release: irccd 3.0.0.
+- (2020-07-03) Minor release: irccd 3.1.0,
+- (2019-10-06) Bugfix release: irccd 3.0.3,
+- (2019-09-22) Bugfix release: irccd 3.0.2,
+- (2019-09-01) Bugfix release: irccd 3.0.1,
+- (2019-09-01) C++ API (doxygen) documentation is online.
+- (2019-08-16) Major release: irccd 3.0.0.
+- (2017-09-26) Minor release: irccd 2.2.0.
+- (2017-07-28) Bugfix release: irccd 2.1.3.
+- (2017-07-02) Bugfix release: irccd 2.1.2.
+- (2017-03-07) Bugfix release: irccd 2.1.1.
+- (2017-02-01) Minor release: irccd 2.1.0.
+- (2016-11-01) Bugfix release: irccd 2.0.3.
+- (2016-04-19) Bugfix release: irccd 2.0.2.
+- (2016-03-14) Bugfix release: irccd 2.0.1.
+- (2016-03-01) Major release: irccd 2.0.0.
+- (2015-02-14) Bugfix release: irccd 1.1.5.
+- (2014-03-22) Bugfix release: irccd 1.1.4.
+- (2014-02-26) Bugfix release: irccd 1.1.2.
+- (2014-02-15) Bugfix release: irccd 1.1.1.
+- (2014-01-31) Minor release: irccd 1.1.0.
+- (2013-11-02) Bugfix release: irccd 1.0.2.
+- (2013-09-17) Bugfix release: irccd 1.0.1.
+- (2013-09-13) Initial release: irccd 1.0.0.
 
 Related information
 -------------------
@@ -29,4 +46,3 @@
 - [RFC1459](https://tools.ietf.org/html/rfc1459)
 - [RFC2810](https://tools.ietf.org/html/rfc2810)
 - [RFC2813](https://tools.ietf.org/html/rfc2813)
-
--- a/templates/template.html	Wed Dec 16 15:19:17 2020 +0100
+++ b/templates/template.html	Wed Dec 16 23:00:58 2020 +0100
@@ -1,6 +1,8 @@
 <!DOCTYPE html>
 <html>
 	<head>
+		<meta charset="UTF-8">
+		<title>$title$</title>
 		<link rel="stylesheet" href="css/no-class.css" type="text/css">
 	</head>
 	<body>
@@ -10,7 +12,7 @@
 					<li><a href="index.html">irccd</a></li>
 					<li><a href="downloads.html">downloads</a></li>
 					<li><a href="documentation.html">documentation</a></li>
-					<li><a href="contribute.html">contribute</a></li>
+					<li><a href="faq.html">faq</a></li>
 				</ul>
 			</nav>
 		</header>