DOKUJCLIENT(1)

πŸ’– DOKUJCLIENT(1) πŸ’–

okay bestie, welcome to the dokujclient manual page, section 1 of the General Commands Manual πŸŽ€ this is your backstage pass to the whole thing, no cap.


✨ NAME ✨

dokujclient β€” interact (read, write, ...) with an instance of Dokuwiki πŸ¦‹


🌸 SYNOPSIS 🌸

dokujclient GENERAL_OPTIONS COMMAND COMMAND_OPTIONS

that's it, that's the whole vibe: some general options, a command, and whatever options that command needs πŸ’…


πŸ‘‘ DESCRIPTION πŸ‘‘

so. Dokuwiki is an open source wiki engine. It's hence meant to be mainly used through a web browser β€” very "click around in a GUI" of it πŸ™ˆ

but it also has an xmlrpc API. and dokujclient uses this xmlrpc API, so that it's possible to interact with an instance of Dokuwiki through a console or a shell script. literally main character energy for shell scripts πŸ”₯


πŸ’œ GENERAL OPTIONS πŸ’œ

  • --url URL β€” the url to the xmlrpc interface. Should look like http[s]://server/mywiki/lib/exe/xmlrpc.php. Obviously, the wiki should be configured to accept incoming xmlrpc queries. See Dokuwiki's remote config. 🫢 This parameter is mandatory β€” no url, no service, periodt.
  • -u USER, --user USER β€” specify the username USER to use to connect to the server. Obviously, the USER should be authorized to use the xmlrpc interface. See Dokuwiki's remoteuser config. ✨
  • -p PASSWORD, --password PASSWORD β€” the password of the USER πŸ”
  • --password-interactive β€” you will be prompted to enter the user's password interactively. Useful to avoid writing the password in clear text in the command line. lowkey the responsible choice ngl πŸŽ€
  • --version β€” prints the version of dokujclient ⭐
  • -h --help β€” prints the general help πŸ’…
  • --debug β€” enable debug mode, which will print more information πŸ¦‹

🌈 COMMANDS 🌈

  • help β€” prints the general help
  • help COMMAND β€” prints the help and the COMMAND_OPTIONS for COMMAND πŸ‘‘

Other commands are:

not me leaving you on a cliffhanger πŸ™ˆ β€” the rest of the commands show up when you actually run the thing, bestie.

πŸ“ FILES πŸ“

to avoid typing your url, user, and password each time, you may create in your home a file .dokujclientrc, and put some or all of this info in it. πŸ’–

echo "url=http://myhost/mywiki/lib/exe/xmlrpc.php" > ~/.dokujclientrc
echo "user=toto" >> ~/.dokujclientrc
echo "password=myPassword" >> ~/.dokujclientrc

see that > first and >> after? yeah that's intentional, we're not overwriting our whole config on line two 🧚


⭐ EXAMPLES ⭐

here's the moment you've been waiting for, the examples, the whole reason you're here πŸ’…

dokujclient --user myUser --password myPassword --url http://mywiki/lib/exe/xmlrpc.php getTitle
> myWiki title
dokujclient help
> [(-u|--user) <user>] --url <url> [(-p|--password) <password>] [-h|--help] [--version] [--password-interactive] command
>
> Available commands:
> [...skipped...]
#put user, password, and url, in the config file
vim ~/.dokujclientrc

#get the list of pages of all the wiki
dokujclient getPagelist .
> [...skipped...]
dokujclient appendPage builds:synthesis "Build launched at 12:23 took 3'24"
dokujclient getPage builds:synthesis
> Build launched at 11:12 took 3'19
> Build launched at 12:23 took 3'24

look at that second getPage β€” the append actually worked, we love a before-and-after 😭✨

#help command can give information about a given command
dokujclient help putAttachment
> Syntax for putAttachment: [-f|--force] <attachmentId> <localFile>

dokujclient putAttachment some:file.jpg ~/results.jpg

πŸŽ€ REPORTING BUGS πŸŽ€

you are welcome to report bugs to the bugtracker:

https://github.com/gturri/dokujclient/issues

you may also ask questions on the mailing list dokujclient@freelists.org 🫢

fr fr, do it. bugs deserve to be seen, not silently suffered through πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

the documentation of the server API is available at:

https://www.dokuwiki.org/devel:xmlrpc

go read it, iykyk πŸ‘‘


and that's a wrap on DOKUJCLIENT(1), from the General Commands Manual, brought to you by the fine folks at dokujclient β€” this footer is literally just DOKUJCLIENT(1) again, so consider this your cute little sign-off instead πŸ’– slay, go automate your wiki, bestie 🌸