README.md
author Mikael Berthe <mikael@lilotux.net>
Fri, 28 Apr 2017 15:53:09 +0200
changeset 21 9e94836dc081
parent 19 4c81f4393773
child 24 9fcffbaa8cd0
permissions -rw-r--r--
Update README
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
# madonctl
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
Golang command line interface for the Mastodon API
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     4
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     5
[![license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://raw.githubusercontent.com/McKael/madonctl/master/LICENSE)
2
b4a2df4425c4 Add Travis status badge
Mikael Berthe <mikael@lilotux.net>
parents: 0
diff changeset
     6
[![Build Status](https://travis-ci.org/McKael/madonctl.svg?branch=master)](https://travis-ci.org/McKael/madonctl)
0
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     7
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     8
`madonctl` is a [Go](https://golang.org/) CLI tool to use the Mastondon REST API.
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     9
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    10
It is built on top of [madon](https://github.com/McKael/madon), my Golang implementation of the API.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    11
0
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    12
## Installation
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    13
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    14
### From source
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    15
9
a6672fc5ee68 Add a note about required Go version
Mikael Berthe <mikael@lilotux.net>
parents: 7
diff changeset
    16
To install the application from source (you need to have Go >= 1.5), just type:
0
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    17
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    18
    go get github.com/McKael/madonctl
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    19
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    20
and you should be able to run `madonctl`.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    21
21
9e94836dc081 Update README
Mikael Berthe <mikael@lilotux.net>
parents: 19
diff changeset
    22
For upgrades, you can use `go get -u github.com/McKael/madonctl` to upgrade
9e94836dc081 Update README
Mikael Berthe <mikael@lilotux.net>
parents: 19
diff changeset
    23
the dependencies (like [madon](https://github.com/McKael/madon)) at the same
9e94836dc081 Update README
Mikael Berthe <mikael@lilotux.net>
parents: 19
diff changeset
    24
time.
9e94836dc081 Update README
Mikael Berthe <mikael@lilotux.net>
parents: 19
diff changeset
    25
9e94836dc081 Update README
Mikael Berthe <mikael@lilotux.net>
parents: 19
diff changeset
    26
Travis automated testing is run for Go versions 1.7 and 1.8.
9e94836dc081 Update README
Mikael Berthe <mikael@lilotux.net>
parents: 19
diff changeset
    27
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    28
### Download
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    29
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    30
Check the [Release page](https://github.com/McKael/madonctl/releases) for some pre-built binaries.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    31
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    32
More pre-built binaries are available from the [Homepage](https://lilotux.net/~mikael/pub/madonctl/) (development version and builds for a few other platforms).
0
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    33
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    34
## Usage
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    35
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    36
### Configuration
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    37
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    38
In order to use madonctl, you need to specify the instance name or URL, and
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    39
usually provide an account login/password (or a token).
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    40
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    41
These settings can be passed as command line arguments or environment variables,
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    42
but the easiest way is to use a configuration file.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    43
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    44
Note that you can generate a configuration file for your settings with
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    45
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    46
`madonctl config dump -i mastodon.social -L username@domain -P password`
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    47
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    48
(You can redirect the output to a configuration file.)
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    49
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    50
If you only provide the Mastodon instance, it will generate a configuration file with an application ID/secret for this instance and you will have to add the user credentials.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    51
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    52
### Usage
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    53
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    54
The complete list of commands is available in the online help (`madonctl help`, `madonctl command --help`...)
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    55
or in the [manpages](https://lilotux.net/~mikael/pub/madonctl/manual/html/).  The [Homepage](https://lilotux.net/~mikael/pub/madonctl/) also contains a plain list of commands.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    56
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    57
### Examples
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    58
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    59
To post a simple "toot":
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    60
``` sh
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    61
% madonctl toot "Hello, World"
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    62
```
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    63
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    64
You can change the toot visibility, add a Content Warning (a.k.a. spoiler) or send a media file:
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    65
``` sh
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    66
% madonctl toot --visibility direct "@McKael Hello, you"
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    67
% madonctl toot --visibility private --spoiler CW "The answer was 42"
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    68
% madonctl post --file image.jpg Selfie # Send a media file
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    69
```
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    70
17
ab1aa9652791 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 9
diff changeset
    71
Send (text) file content as new message:
ab1aa9652791 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 9
diff changeset
    72
```
ab1aa9652791 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 9
diff changeset
    73
% madonctl toot --text-file message.txt
ab1aa9652791 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 9
diff changeset
    74
```
ab1aa9652791 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 9
diff changeset
    75
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    76
Some account-related commands:
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    77
``` sh
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    78
% madonctl accounts blocked                       # List blocked accounts
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    79
% madonctl accounts muted                         # List muted accounts
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    80
% madonctl accounts notifications --list --clear  # List and clear notifications
19
4c81f4393773 Add notification --dismiss to clear a single notification
Mikael Berthe <mikael@lilotux.net>
parents: 17
diff changeset
    81
% madonctl accounts notifications --notification-id 1234 # Display notification
4c81f4393773 Add notification --dismiss to clear a single notification
Mikael Berthe <mikael@lilotux.net>
parents: 17
diff changeset
    82
% madonctl accounts notifications --dismiss --notification-id 1234 # Mastodon 1.3+
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    83
```
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    84
7
df3e9e068778 Update documentation wrt accounts update
Mikael Berthe <mikael@lilotux.net>
parents: 5
diff changeset
    85
Update your account information:
df3e9e068778 Update documentation wrt accounts update
Mikael Berthe <mikael@lilotux.net>
parents: 5
diff changeset
    86
``` sh
df3e9e068778 Update documentation wrt accounts update
Mikael Berthe <mikael@lilotux.net>
parents: 5
diff changeset
    87
% madonctl accounts update --display-name "John"  # Update display name
df3e9e068778 Update documentation wrt accounts update
Mikael Berthe <mikael@lilotux.net>
parents: 5
diff changeset
    88
% madonctl accounts update --note "Newcomer"      # Update user note (bio)
df3e9e068778 Update documentation wrt accounts update
Mikael Berthe <mikael@lilotux.net>
parents: 5
diff changeset
    89
% madonctl accounts update --note ""              # Clear note
df3e9e068778 Update documentation wrt accounts update
Mikael Berthe <mikael@lilotux.net>
parents: 5
diff changeset
    90
% madonctl accounts update --avatar me.png        # Update avatar
df3e9e068778 Update documentation wrt accounts update
Mikael Berthe <mikael@lilotux.net>
parents: 5
diff changeset
    91
```
df3e9e068778 Update documentation wrt accounts update
Mikael Berthe <mikael@lilotux.net>
parents: 5
diff changeset
    92
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    93
Add/remove a favourite, boost a status...
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    94
``` sh
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    95
% madonctl status --status-id 416671 favourite    # Fave a status
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    96
% madonctl status --status-id 416671 boost        # Boost a status
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
    97
```
0
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    98
5
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
    99
Search for an account (only accounts known to your instance):
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   100
``` sh
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   101
% madonctl accounts search gargron
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   102
```
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   103
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   104
Follow an account with known ID:
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   105
``` sh
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   106
% madonctl accounts follow --account-id 1234
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   107
```
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   108
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   109
Follow a remote account:
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   110
``` sh
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   111
% madonctl accounts follow --remote Gargron@mastodon.social
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   112
```
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   113
5
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   114
Read timelines:
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   115
``` sh
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   116
% madonctl timeline                 # Display home timeline
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   117
% madonctl timeline public          # Display federated timeline
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   118
% madonctl timeline public --local  # Display public local timeline
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   119
```
d70f8e8f3d2e Add examples with accounts and timelines
Mikael Berthe <mikael@lilotux.net>
parents: 4
diff changeset
   120
4
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   121
Use the streaming API and fetch timelines and notifications:
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   122
``` sh
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   123
% madonctl stream                   # Stream home timeline and notifications
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   124
% madonctl stream local             # Stream local timeline
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   125
% madonctl stream public            # Stream federated timeline
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   126
```
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   127
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   128
(Almost) All commands have a customisable outpput
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   129
``` sh
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   130
% madonctl accounts show            # Display an account
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   131
% madonctl accounts show -o yaml    # Display an account, in yaml
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   132
% madonctl accounts show -o json    # Display an account, in json
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   133
% madonctl stream local -o json     # Stream local timeline and output to JSON
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   134
```
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   135
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   136
You can also use Go (Golang) templates:
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   137
``` sh
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   138
% madonctl accounts --account-id 1 followers --template '{{.acct}}{{"\n"}}'
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   139
```
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   140
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   141
There are many more commands, you can find them in the online help or the manpage.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   142
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   143
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   144
### Shell completion
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   145
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   146
If you want shell completion, you can generate scripts with the following command: \
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   147
`madonctl completion bash` (or zsh)
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   148
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   149
Then, just source the script in your shell.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   150
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   151
For example, I have this line in my .zshrc:
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   152
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   153
`source <(madonctl completion zsh)`
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   154
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   155
### Commands output
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   156
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   157
The output can be set to json, yaml or to a Go template for all commands.\
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   158
If you are familiar with Kubernetes' kubectl, it is very similar.
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   159
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   160
For example, you can display your user token with:\
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   161
`madonctl config whoami --template '{{.access_token}}'`\
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   162
or the application ID with:\
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   163
`madonctl config dump --template '{{.ID}}'`
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   164
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   165
All the users that have favorited a given status:\
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   166
`madonctl status --status-id 101194 favourited-by --template '{{.username}}{{"\n"}}'`
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   167
a3b95e2f0b0b Update README - add some documentation
Mikael Berthe <mikael@lilotux.net>
parents: 2
diff changeset
   168
For more complex templates, one can use the `--template-file` option.
0
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   169
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   170
## References
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   171
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   172
- [madon](https://github.com/McKael/madon), the Go library for Mastodon API
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   173
- [Mastodon API documentation](https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md)
5abace724584 Initial public release
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
   174
- [Mastodon repository](https://github.com/tootsuite/mastodon)