# HG changeset patch # User David Demelier # Date 1643893007 -3600 # Node ID 82badbee34d19c017a345061d9bca29176ca543e # Parent 44218de860feff22ad8858b56bd2c3c7e74903b0 update for 4.0.0 diff -r 44218de860fe -r 82badbee34d1 Makefile --- a/Makefile Wed Nov 10 15:45:58 2021 +0100 +++ b/Makefile Thu Feb 03 13:56:47 2022 +0100 @@ -21,16 +21,37 @@ MANDOC= mandoc MANDOC_PDF= -T pdf MANDOC_MD= -T markdown -VERSION= 3.1.1 +VERSION= 4.0.0 SOURCE= irccd-${VERSION}.tar.xz WRKDIR= irccd-${VERSION} MAN1= irccd-${VERSION}/man/irccd.1 \ - irccd-${VERSION}/man/irccdctl.1 \ - irccd-${VERSION}/man/irccd-test.1 -MAN5= irccd-${VERSION}/man/irccd.conf.5 \ - irccd-${VERSION}/man/irccdctl.conf.5 -MAN7= irccd-${VERSION}/man/irccd-api.7 \ + irccd-${VERSION}/man/irccdctl.1 +MAN3= irccd-${VERSION}/man/irccd-api-chrono.3 \ + irccd-${VERSION}/man/irccd-api-directory.3 \ + irccd-${VERSION}/man/irccd-api-file.3 \ + irccd-${VERSION}/man/irccd-api-hook.3 \ + irccd-${VERSION}/man/irccd-api-logger.3 \ + irccd-${VERSION}/man/irccd-api-plugin.3 \ + irccd-${VERSION}/man/irccd-api-rule.3 \ + irccd-${VERSION}/man/irccd-api-server.3 \ + irccd-${VERSION}/man/irccd-api-system.3 \ + irccd-${VERSION}/man/irccd-api-timer.3 \ + irccd-${VERSION}/man/irccd-api-unicode.3 \ + irccd-${VERSION}/man/irccd-api-util.3 \ + irccd-${VERSION}/man/irccd-api.3 \ + irccd-${VERSION}/man/libirccd-channel.3 \ + irccd-${VERSION}/man/libirccd-event.3 \ + irccd-${VERSION}/man/libirccd-hook.3 \ + irccd-${VERSION}/man/libirccd-irccd.3 \ + irccd-${VERSION}/man/libirccd-log.3 \ + irccd-${VERSION}/man/libirccd-rule.3 \ + irccd-${VERSION}/man/libirccd-server.3 \ + irccd-${VERSION}/man/libirccd-subst.3 \ + irccd-${VERSION}/man/libirccd-util.3 \ + irccd-${VERSION}/man/libirccd.3 +MAN5= irccd-${VERSION}/man/irccd.conf.5 +MAN7= irccd-${VERSION}/man/irccd-cmake.7 \ irccd-${VERSION}/man/irccd-ipc.7 \ irccd-${VERSION}/man/irccd-templates.7 \ irccd-${VERSION}/plugins/ask/ask.7 \ @@ -46,6 +67,8 @@ MAN1HTML= ${MAN1:.1=.html} MAN1PDF= ${MAN1:.1=.pdf} +MAN3HTML= ${MAN3:.3=.html} +MAN3PDF= ${MAN3:.3=.pdf} MAN5HTML= ${MAN5:.5=.html} MAN5PDF= ${MAN5:.5=.pdf} MAN7HTML= ${MAN7:.7=.html} @@ -61,9 +84,9 @@ SITE_HTML= ${SITE_SRCS:.md=.html} .SUFFIXES: -.SUFFIXES: .html .pdf .md .1 .5 .7 +.SUFFIXES: .html .pdf .md .1 .3 .5 .7 -all: www man doxygen +all: www man ${SITE_HTML}: templates/template.html @@ -71,40 +94,36 @@ wget -q http://releases.malikania.fr/irccd/${VERSION}/$@ -O $@ ${WRKDIR}: ${SOURCE} - tar xJf ${SOURCE} + bsdtar -xf ${SOURCE} + +SED_CMD= sed -e "s|@IRCCD_MAN_DATE@|February 3, 2022|g" \ + -e "s|@CMAKE_INSTALL_FULL_DOCDIR@|/usr/share/doc/irccd|g" \ + -e "s|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g" .md.html: ${PANDOC} ${PANDOC_FLAGS} -o $@ $< -.1.html .5.html .7.html: - sed "s/@IRCCD_MAN_DATE@/January 04, 2021/" $< | ${MANDOC} ${MANDOC_MD} < $< | ${PANDOC} ${PANDOC_FLAGS} -M title=${ $@ - -man: ${WRKDIR} ${MAN1HTML} ${MAN5HTML} ${MAN7HTML} ${MAN1PDF} ${MAN5PDF} ${MAN7PDF} +.1.html .3.html .5.html .7.html: + ${SED_CMD} < $< | ${MANDOC} ${MANDOC_MD} | ${PANDOC} ${PANDOC_FLAGS} -M title=${ $@ -www: ${SITE_HTML} man doxygen +man: ${WRKDIR} ${MAN1HTML} ${MAN3HTML} ${MAN5HTML} ${MAN7HTML} ${MAN1PDF} ${MAN3PDF} ${MAN5PDF} ${MAN7PDF} + +www: ${SITE_HTML} man rm -rf $@ mkdir -p $@ cp -R css $@ - cp -R doxygen $@/api - cp ${MAN1HTML} ${MAN5HTML} ${MAN7HTML} $@ - cp ${MAN1PDF} ${MAN5PDF} ${MAN7PDF} $@ + cp ${MAN1HTML} ${MAN3HTML} ${MAN5HTML} ${MAN7HTML} $@ + cp ${MAN1PDF} ${MAN3PDF} ${MAN5PDF} ${MAN7PDF} $@ cp ${SITE_HTML} $@ clean: - rm -f ${MAN1HTML} ${MAN5HTML} ${MAN7HTML} - rm -f ${MAN1PDF} ${MAN5PDF} ${MAN7PDF} + rm -f ${MAN1HTML} ${MAN3HTML} ${MAN5HTML} ${MAN7HTML} + rm -f ${MAN1PDF} ${MAN3PDF} ${MAN5PDF} ${MAN7PDF} rm -f ${SITE_HTML} rm -f ${SOURCE} - rm -rf doxygen rm -rf ${WRKDIR} .PHONY: all clean man diff -r 44218de860fe -r 82badbee34d1 documentation.md --- a/documentation.md Wed Nov 10 15:45:58 2021 +0100 +++ b/documentation.md Thu Feb 03 13:56:47 2022 +0100 @@ -1,6 +1,6 @@ % irccd - documentation % David Demelier -% 2019-10-06 +% 2022-02-03 Documentation ============= @@ -8,12 +8,48 @@ Documentation is available as manual pages once installed but you can read the last version on this website. +Daemon and utility: + - [irccd.1][] ([pdf][irccd.1.pdf]) - [irccd.conf.5][] ([pdf][irccd.conf.5.pdf]) - [irccdctl.1][] ([pdf][irccdctl.1.pdf]) -- [irccdctl.conf.5][] ([pdf][irccdctl.conf.5.pdf]) -- [irccd-test.1][] ([pdf][irccd-test.1.pdf]) -- [irccd-api.7][] ([pdf][irccd-api.7.pdf]) + +C API: + +The C API lets you creating native plugins but they are discouraged unless the +Javascript API does not provide features you need. + +- [libirccd-channel.3][] ([pdf][libirccd-channel.3.pdf]) +- [libirccd-event.3][] ([pdf][libirccd-event.3.pdf]) +- [libirccd-hook.3][] ([pdf][libirccd-hook.3.pdf]) +- [libirccd-irccd.3][] ([pdf][libirccd-irccd.3.pdf]) +- [libirccd-log.3][] ([pdf][libirccd-log.3.pdf]) +- [libirccd-rule.3][] ([pdf][libirccd-rule.3.pdf]) +- [libirccd-server.3][] ([pdf][libirccd-server.3.pdf]) +- [libirccd-subst.3][] ([pdf][libirccd-subst.3.pdf]) +- [libirccd-util.3][] ([pdf][libirccd-util.3.pdf]) +- [libirccd.3][] ([pdf][libirccd.3.pdf]) + +Javascript API: + +- [irccd-api-chrono.3][] ([pdf][irccd-api-chrono.3.pdf]) +- [irccd-api-directory.3][] ([pdf][irccd-api-directory.3.pdf]) +- [irccd-api-file.3][] ([pdf][irccd-api-file.3.pdf]) +- [irccd-api-hook.3][] ([pdf][irccd-api-hook.3.pdf]) +- [irccd-api-logger.3][] ([pdf][irccd-api-logger.3.pdf]) +- [irccd-api-plugin.3][] ([pdf][irccd-api-plugin.3.pdf]) +- [irccd-api-rule.3][] ([pdf][irccd-api-rule.3.pdf]) +- [irccd-api-server.3][] ([pdf][irccd-api-server.3.pdf]) +- [irccd-api-system.3][] ([pdf][irccd-api-system.3.pdf]) +- [irccd-api-timer.3][] ([pdf][irccd-api-timer.3.pdf]) +- [irccd-api-unicode.3][] ([pdf][irccd-api-unicode.3.pdf]) +- [irccd-api-util.3][] ([pdf][irccd-api-util.3.pdf]) +- [irccd-api.3][] ([pdf][irccd-api.3.pdf]) + +Other resources: + +- [irccd-cmake.7][] ([pdf][irccd-cmake.7.pdf]) +- [irccd-ipc.7][] ([pdf][irccd-ipc.7.pdf]) - [irccd-templates.7][] ([pdf][irccd-templates.7.pdf]) Plugins: @@ -33,11 +69,37 @@ - [versioning](versioning.html): an information page about semantic versioning rules applied in irccd. -- [C++ API](api/index.html): the C++ API for native plugins and hacking on irccd - itself. -[irccd-api.7.pdf]: irccd-api.pdf -[irccd-api.7]: irccd-api.html +[irccd-api-chrono.3.pdf]: irccd-api-chrono.pdf +[irccd-api-chrono.3]: irccd-api-chrono.html +[irccd-api-directory.3.pdf]: irccd-api-directory.pdf +[irccd-api-directory.3]: irccd-api-directory.html +[irccd-api-file.3.pdf]: irccd-api-file.pdf +[irccd-api-file.3]: irccd-api-file.html +[irccd-api-hook.3.pdf]: irccd-api-hook.pdf +[irccd-api-hook.3]: irccd-api-hook.html +[irccd-api-logger.3.pdf]: irccd-api-logger.pdf +[irccd-api-logger.3]: irccd-api-logger.html +[irccd-api-plugin.3.pdf]: irccd-api-plugin.pdf +[irccd-api-plugin.3]: irccd-api-plugin.html +[irccd-api-rule.3.pdf]: irccd-api-rule.pdf +[irccd-api-rule.3]: irccd-api-rule.html +[irccd-api-server.3.pdf]: irccd-api-server.pdf +[irccd-api-server.3]: irccd-api-server.html +[irccd-api-system.3.pdf]: irccd-api-system.pdf +[irccd-api-system.3]: irccd-api-system.html +[irccd-api-timer.3.pdf]: irccd-api-timer.pdf +[irccd-api-timer.3]: irccd-api-timer.html +[irccd-api-unicode.3.pdf]: irccd-api-unicode.pdf +[irccd-api-unicode.3]: irccd-api-unicode.html +[irccd-api-util.3.pdf]: irccd-api-util.pdf +[irccd-api-util.3]: irccd-api-util.html +[irccd-api.3.pdf]: irccd-api.pdf +[irccd-api.3]: irccd-api.html +[irccd-cmake.7.pdf]: irccd-cmake.pdf +[irccd-cmake.7]: irccd-cmake.html +[irccd-ipc.7.pdf]: irccd-ipc.pdf +[irccd-ipc.7]: irccd-ipc.html [irccd-plugin-ask.7.pdf]: ask.pdf [irccd-plugin-ask.7]: ask.html [irccd-plugin-auth.7.pdf]: auth.pdf @@ -60,13 +122,33 @@ [irccd-plugin-tictactoe.7]: tictactoe.html [irccd-templates.7.pdf]: irccd-templates.pdf [irccd-templates.7]: irccd-templates.html -[irccd-test.1.pdf]: irccd-test.pdf -[irccd-test.1]: irccd-test.html [irccd.1.pdf]: irccd.pdf [irccd.1]: irccd.html [irccd.conf.5.pdf]: irccd.conf.pdf [irccd.conf.5]: irccd.conf.html [irccdctl.1.pdf]: irccdctl.pdf [irccdctl.1]: irccdctl.html -[irccdctl.conf.5.pdf]: irccdctl.conf.pdf -[irccdctl.conf.5]: irccdctl.conf.html +[libirccd-channel.3.pdf]: libirccd-channel.pdf +[libirccd-channel.3]: libirccd-channel.html +[libirccd-event.3.pdf]: libirccd-event.pdf +[libirccd-event.3]: libirccd-event.html +[libirccd-hook.3.pdf]: libirccd-hook.pdf +[libirccd-hook.3]: libirccd-hook.html +[libirccd-irccd.3.pdf]: libirccd-irccd.pdf +[libirccd-irccd.3]: libirccd-irccd.html +[libirccd-log.3.pdf]: libirccd-log.pdf +[libirccd-log.3]: libirccd-log.html +[libirccd-rule.3.pdf]: libirccd-rule.pdf +[libirccd-rule.3.pdf]: libirccd-rule.pdf +[libirccd-rule.3]: libirccd-rule.html +[libirccd-rule.3]: libirccd-rule.html +[libirccd-server.3.pdf]: libirccd-server.pdf +[libirccd-server.3.pdf]: libirccd-server.pdf +[libirccd-server.3]: libirccd-server.html +[libirccd-server.3]: libirccd-server.html +[libirccd-subst.3.pdf]: libirccd-subst.pdf +[libirccd-subst.3]: libirccd-subst.html +[libirccd-util.3.pdf]: libirccd-util.pdf +[libirccd-util.3]: libirccd-util.html +[libirccd.3.pdf]: libirccd.pdf +[libirccd.3]: libirccd.html diff -r 44218de860fe -r 82badbee34d1 downloads.md --- a/downloads.md Wed Nov 10 15:45:58 2021 +0100 +++ b/downloads.md Thu Feb 03 13:56:47 2022 +0100 @@ -1,6 +1,6 @@ % irccd - downloads % David Demelier -% 2019-10-06 +% 2022-02-03 Downloads ========= @@ -8,10 +8,10 @@ Irccd is only distributed as source package on the official website but some distributions may provide binary packages. -Current version is 3.1.1 +Current version is 4.0.0 -- [irccd-3.1.1.tar.xz][] ([signature][irccd-3.1.1.tar.xz.asc]) -- [irccd-3.1.1.zip][] ([signature][irccd-3.1.1.zip.asc]) +- [irccd-4.0.0.tar.xz][] ([signature][irccd-4.0.0.tar.xz.asc]) +- [irccd-4.0.0.zip][] ([signature][irccd-4.0.0.zip.asc]) For those who wants to use the development version, it is available in the Mercurial [repository](http://hg.malikania.fr/irccd): @@ -22,7 +22,7 @@ hg pull -u -[irccd-3.1.1.tar.xz.asc]: http://releases.malikania.fr/irccd/3.1.1/irccd-3.1.1.tar.xz.asc -[irccd-3.1.1.tar.xz]: http://releases.malikania.fr/irccd/3.1.1/irccd-3.1.1.tar.xz -[irccd-3.1.1.zip.asc]: http://releases.malikania.fr/irccd/3.1.1/irccd-3.1.1.zip.asc -[irccd-3.1.1.zip]: http://releases.malikania.fr/irccd/3.1.1/irccd-3.1.1.zip +[irccd-4.0.0.tar.xz.asc]: http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0.tar.xz.asc +[irccd-4.0.0.tar.xz]: http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0.tar.xz +[irccd-4.0.0.zip.asc]: http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0.zip.asc +[irccd-4.0.0.zip]: http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0.zip diff -r 44218de860fe -r 82badbee34d1 faq.md --- a/faq.md Wed Nov 10 15:45:58 2021 +0100 +++ b/faq.md Thu Feb 03 13:56:47 2022 +0100 @@ -1,6 +1,6 @@ % irccd - faq % David Demelier -% 2019-10-06 +% 2022-02-03 Frequently asked questions ========================== @@ -83,7 +83,7 @@ Does irccd support DCC? ----------------------- -Not at the moment. +Nobody use DCC. What if I use a specific encoding? ---------------------------------- @@ -105,7 +105,7 @@ 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 +Because irccd offers a runtime controllable mechanism with lots of commands (32 at this time of writing), it increases the total number of lines of code. Please also note that irccd is excessively tested. We could argue that a lots of these command may be unneeded but I like that I can keep the daemon running for months @@ -126,7 +126,7 @@ Yes, technically speaking UNIX daemons may have a name `bard` and an optional utility `barctl` without the trailing 'd' to control the daemon. But since irccd -has already two 'c' irccctl would be annoying to type especially since having +has already two 'c', irccctl would be annoying to type especially since having three identical consecutive letter is unusual. So as an exception, the utility is named `irccdctl` rather than `irccctl`. @@ -135,5 +135,4 @@ Irccd only drinks white beer and French cognac. -[boost]: http://boost.org [duktape]: http://duktape.org diff -r 44218de860fe -r 82badbee34d1 index.md --- a/index.md Wed Nov 10 15:45:58 2021 +0100 +++ b/index.md Thu Feb 03 13:56:47 2022 +0100 @@ -1,13 +1,13 @@ % irccd - IRC Client Daemon % David Demelier -% 2019-10-06 +% 2022-02-03 irccd - IRC Client Daemon ========================= Welcome to the irccd home page! -Irccd is a powerful IRC bot written in C++17 and optionally using Javascript as +Irccd is a powerful IRC bot written in C11 and optionally using Javascript as scripting language. It is designed in mind to be fast, clean, simple and easy to use. It also comes with several plugins for basic gaming, logging, keep track of users and many more. @@ -16,9 +16,9 @@ ------------------------- - Connect to multiple servers, -- Support both C++ and Javascript plugins, +- Support both native C and Javascript plugins, - Powerful rule filtering system, -- Powerful templates for plugin messages. +- Powerful templates for plugin messages, - Convenient provided plugins. News @@ -26,6 +26,7 @@ Highlights are in bold. +- **(2022-02-03)** Major release: irccd-4.0.0. - **(2021-11-10)** Irccd 4.0.0-rc0 is available for [download](http://releases.malikania.fr/irccd/4.0.0/irccd-4.0.0-rc0.tar.xz). - **(2021-02-16)** Irccd 4 is available for testing. [More…](2021-02-16.irccd-4-try.html) - **(2021-01-13)** Irccd is going on a diet. [More…](2021-01-13.diet.html) diff -r 44218de860fe -r 82badbee34d1 versioning.md --- a/versioning.md Wed Nov 10 15:45:58 2021 +0100 +++ b/versioning.md Thu Feb 03 13:56:47 2022 +0100 @@ -1,6 +1,6 @@ % irccd - versioning % David Demelier -% 2019-07-10 +% 2022-02-03 Versioning ========== @@ -70,4 +70,4 @@ New options MAY be added in new minor versions. Deprecated options are noted as well in annoucements or **CHANGES.md**. -[semver]: http://semver.org/ +[semver]: http://semver.org