diff --git a/docs/_static/auth.png b/docs/_static/auth.png deleted file mode 100644 index 120d328..0000000 Binary files a/docs/_static/auth.png and /dev/null differ diff --git a/docs/_static/custom.css b/docs/_static/custom.css deleted file mode 100644 index 9c7a5b3..0000000 --- a/docs/_static/custom.css +++ /dev/null @@ -1,10 +0,0 @@ -pre { - padding: 8px 15px; -} - -div.contents { - background-color: inherit; - border: 0; - margin-top: 0; - padding-top: 0; -} diff --git a/docs/_static/trumpet.png b/docs/_static/trumpet.png deleted file mode 100644 index 03233ae..0000000 Binary files a/docs/_static/trumpet.png and /dev/null differ diff --git a/docs/_static/tui_compose.png b/docs/_static/tui_compose.png deleted file mode 100644 index 0a5ca14..0000000 Binary files a/docs/_static/tui_compose.png and /dev/null differ diff --git a/docs/_static/tui_list.png b/docs/_static/tui_list.png deleted file mode 100644 index db7e593..0000000 Binary files a/docs/_static/tui_list.png and /dev/null differ diff --git a/docs/_static/tui_poll.png b/docs/_static/tui_poll.png deleted file mode 100644 index 9886ec9..0000000 Binary files a/docs/_static/tui_poll.png and /dev/null differ diff --git a/docs/_templates/about.html b/docs/_templates/about.html deleted file mode 100644 index 2119d71..0000000 --- a/docs/_templates/about.html +++ /dev/null @@ -1,5 +0,0 @@ -

{{ project }}

- -{% if theme_description %} -

{{ theme_description }}

-{% endif %} diff --git a/docs/advanced.rst b/docs/advanced.rst deleted file mode 100644 index 88810cf..0000000 --- a/docs/advanced.rst +++ /dev/null @@ -1,40 +0,0 @@ -============== -Advanced usage -============== - -Disabling HTTPS ---------------- - -You may pass the ``--disable-https`` flag to use unencrypted HTTP instead of -HTTPS for a given instance. This is inherently insecure and should be used only -when connecting to local development instances. - -.. code-block:: sh - - toot login --disable-https --instance localhost:8080 - -Using proxies -------------- - -You can configure proxies by setting the ``HTTPS_PROXY`` or ``HTTP_PROXY`` -environment variables. This will cause all http(s) requests to be proxied -through the specified server. - -For example: - -.. code-block:: sh - - export HTTPS_PROXY="http://1.2.3.4:5678" - toot login --instance mastodon.social - -**NB:** This feature is provided by -`requests `_ -and setting the environment variable will affect other programs using this -library. - -This environment can be set for a single call to toot by prefixing the command -with the environment variable: - -.. code-block:: sh - - HTTPS_PROXY="http://1.2.3.4:5678" toot login --instance mastodon.social diff --git a/docs/conf.py b/docs/conf.py index 174d568..0ad9985 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,7 +10,6 @@ author = 'Ivan Habunek' # -- General configuration --------------------------------------------------- extensions = [] -templates_path = ['_templates'] source_suffix = '.rst' master_doc = 'index' exclude_patterns = ['_build'] @@ -21,18 +20,5 @@ pygments_style = 'sphinx' html_theme = 'alabaster' html_theme_options = { "description": "Mastodon CLI client", - "github_user": "ihabunek", - "github_repo": "toot", "fixed_sidebar": True, - "travis_button": True, - "logo": 'trumpet.png', -} -html_static_path = ['_static'] -html_sidebars = { - "**": [ - "about.html", - "navigation.html", - "relations.html", - "searchbox.html", - ] } diff --git a/docs/index.rst b/docs/index.rst index f292069..cc17038 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,72 +1,7 @@ toot - Mastodon CLI client ========================== -.. image:: _static/trumpet.png - Toot is a CLI and TUI tool for interacting with Mastodon instances from the command line. -.. image:: https://img.shields.io/travis/ihabunek/toot.svg?maxAge=3600&style=flat-square - :target: https://travis-ci.org/ihabunek/toot -.. image:: https://img.shields.io/badge/author-%40ihabunek-blue.svg?maxAge=3600&style=flat-square - :target: https://mastodon.social/@ihabunek -.. image:: https://img.shields.io/github/license/ihabunek/toot.svg?maxAge=3600&style=flat-square - :target: https://opensource.org/licenses/GPL-3.0 -.. image:: https://img.shields.io/pypi/v/toot.svg?maxAge=3600&style=flat-square - :target: https://pypi.python.org/pypi/toot - -Resources ---------- - -* Homepage: https://github.com/ihabunek/toot -* Issues: https://github.com/ihabunek/toot/issues -* Documentation: https://toot.readthedocs.io/en/latest/ -* Mailing list for discussion, support and patches: - https://lists.sr.ht/~ihabunek/toot-discuss -* Informal discussion: #toot IRC channel on `libera.chat `_ - -Features --------- - -* Posting, replying, deleting, favouriting, reblogging & pinning statuses -* Support for media uploads, spoiler text, sensitive content -* Search by account or hash tag -* Following, muting and blocking accounts -* Simple switching between multiple Mastodon accounts - -Contents --------- - -.. toctree:: - :maxdepth: 2 - - install - usage - advanced - release - -Curses UI ---------- - -toot includes a curses-based terminal user interface (TUI). Run it with ``toot tui``. - -.. image :: _static/tui_list.png - -.. image :: _static/tui_poll.png - -.. image :: _static/tui_compose.png - -Development ------------ - -The project source code and issue tracker are available on GitHub: - -https://github.com/ihabunek/toot - -Please report any issues there. Pull requests are welcome. - -License -------- - -Copyright Ivan Habunek and contributors. - -Licensed under `GPLv3 `_. +.. warning:: + Toot documentation has moved to `toot.bezdomni.net `_. diff --git a/docs/install.rst b/docs/install.rst deleted file mode 100644 index af9d1a2..0000000 --- a/docs/install.rst +++ /dev/null @@ -1,123 +0,0 @@ -============ -Installation -============ - -toot is packaged for various platforms. - -.. contents:: - :local: - :backlinks: none - -Overview --------- - -Packaging overview provided by `repology.org `_. - -.. image :: https://repology.org/badge/vertical-allrepos/toot.svg - :alt: Packaging status - :target: https://repology.org/project/toot/versions - -Debian & Ubuntu ---------------- - -Since Debian 10 (buster) and Ubuntu 19.04 (disco), toot is available in the -official package repository. - -.. code-block:: bash - - sudo apt install toot - -Debian package is maintained by `Jonathan Carter `_. - - -Arch Linux ----------- - -Install from `AUR `_. - -.. code-block:: bash - - yay -S toot - - -Fedora -------------- - -Toot is available from the Fedora package repository. - -.. code-block:: bash - - sudo dnf install toot - - -FreeBSD ports -------------- - -Install the package: - -.. code-block:: bash - - pkg install py38-toot - -Build and install from sources: - -.. code-block:: bash - - cd /usr/ports/net-im/toot - make install - -FreeBSD port is maintained by `Mateusz Piotrowski `_ - -Nixpkgs -------- - -This works on NixOS or systems with the Nix package manager installed. - -.. code-block:: bash - - nix-env -iA nixos.toot - - -OpenBSD ports -------------- - -Install the package: - -.. code-block:: bash - - pkg_add toot - -Build and install from sources: - -.. code-block:: bash - - cd /usr/ports/net/toot - make install - -OpenBSD port is maintained by `Klemens Nanni `_ - -Python Package Index --------------------- - -Install from PyPI using pip, preferably into a virtual environment. - -.. code-block:: bash - - pip install --user toot - -Homebrew --------------------- - -This works on Mac OSX with `homebrew `_ installed. -Tested with on Catalina, Mojave, and High Sierra. - -.. code-block:: bash - - brew update - brew install toot - -Source ------- - -Finally, you can get the latest source distribution, wheel or debian package -`from GitHub `_. diff --git a/docs/make.bat b/docs/make.bat deleted file mode 100644 index 5d625a1..0000000 --- a/docs/make.bat +++ /dev/null @@ -1,36 +0,0 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=. -set BUILDDIR=_build -set SPHINXPROJ=toot - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% - -:end -popd diff --git a/docs/release.rst b/docs/release.rst deleted file mode 100644 index d508427..0000000 --- a/docs/release.rst +++ /dev/null @@ -1,35 +0,0 @@ -================= -Release procedure -================= - -This document is a checklist for creating a toot release. - -Currently the process is pretty manual and would benefit from automatization. - -Bump & tag version ------------------- - -* Update the version number in ``setup.py`` -* Update the version number in ``toot/__init__.py`` -* Update ``changelog.yaml`` with the release notes & date -* Run ``make changelog`` to generate a human readable changelog -* Commit the changes -* Run ``./scripts/tag_version `` to tag a release in git -* Run ``git push --follow-tags`` to upload changes and tag to GitHub - -Publishing to PyPI ------------------- - -* ``make dist`` to create source and wheel distributions -* ``make publish`` to push them to PyPI - -GitHub release --------------- - -* `Create a release `_ for the newly - pushed tag, paste changelog since last tag in the description -* Upload the assets generated in previous two steps to the release: - * source dist (.zip and .tar.gz) - * wheel distribution (.whl) - -TODO: this can be automated: https://developer.github.com/v3/repos/releases/ diff --git a/docs/usage.rst b/docs/usage.rst deleted file mode 100644 index 6893408..0000000 --- a/docs/usage.rst +++ /dev/null @@ -1,248 +0,0 @@ -===== -Usage -===== - -Running ``toot`` displays a list of available commands. - -Running ``toot -h`` shows the documentation for the given command. - -.. code-block:: none - - $ toot - - toot - a Mastodon CLI client - v0.27.0 - - Authentication: - toot login Log into a mastodon instance using your browser (recommended) - toot login_cli Log in from the console, does NOT support two factor authentication - toot activate Switch between logged in accounts. - toot logout Log out, delete stored access keys - toot auth Show logged in accounts and instances - - TUI: - toot tui Launches the toot terminal user interface - - Read: - toot whoami Display logged in user details - toot whois Display account details - toot notifications Notifications for logged in user - toot instance Display instance details - toot search Search for users or hashtags - toot thread Show toot thread items - toot timeline Show recent items in a timeline (home by default) - - Post: - toot post Post a status text to your timeline - toot upload Upload an image or video file - - Status: - toot delete Delete a status - toot favourite Favourite a status - toot unfavourite Unfavourite a status - toot reblog Reblog a status - toot unreblog Unreblog a status - toot reblogged_by Show accounts that reblogged the status - toot pin Pin a status - toot unpin Unpin a status - - Accounts: - toot follow Follow an account - toot unfollow Unfollow an account - toot mute Mute an account - toot unmute Unmute an account - toot block Block an account - toot unblock Unblock an account - - To get help for each command run: - toot --help - - https://github.com/ihabunek/toot - - -Authentication --------------- - -Before tooting, you need to log into a Mastodon instance. - -.. code-block:: sh - - toot login - -You will be redirected to your Mastodon instance to log in and authorize toot to -access your account, and will be given an **authorization code** in return which -you need to enter to log in. - -The application and user access tokens will be saved in the configuration file -located at ``~/.config/toot/config.json``. - -Using multiple accounts -~~~~~~~~~~~~~~~~~~~~~~~ - -It's possible to be logged into **multiple accounts** at the same time. Just -repeat the login process for another instance. You can see all logged in -accounts by running ``toot auth``. The currently active account will have an -**ACTIVE** flag next to it. - -To switch accounts, use ``toot activate``. Alternatively, most commands accept a -``--using`` option which can be used to specify the account you wish to use just -that one time. - -Finally you can logout from an account by using ``toot logout``. This will -remove the stored access tokens for that account. - -Post a status -------------- - -The simplest action is posting a status. - -.. code-block:: bash - - toot post "hello there" - -You can also pipe in the status text: - -.. code-block:: bash - - echo "Text to post" | toot post - cat post.txt | toot post - toot post < post.txt - -If no status text is given, you will be prompted to enter some: - -.. code-block:: bash - - $ toot post - Write or paste your toot. Press Ctrl-D to post it. - -Finally, you can launch your favourite editor: - -.. code-block:: bash - - toot post --editor vim - -Define your editor preference in the ``EDITOR`` environment variable, then you -don't need to specify it explicitly: - -.. code-block:: bash - - export EDITOR=vim - toot post --editor - -Attachments -~~~~~~~~~~~ - -You can attach media to your status. Mastodon supports images, video and audio -files. For details on supported formats see `Mastodon docs on attachments -`_. - -It is encouraged to add a plain-text description to the attached media for -accessibility purposes by adding a ``--description`` option. - -To attach an image: - -.. code-block:: bash - - toot post "hello media" --media path/to/image.png --description "Cool image" - -You can attach upto 4 attachments by giving multiple ``--media`` and -``--description`` options: - -.. code-block:: bash - - toot post "hello media" \ - --media path/to/image1.png --description "First image" \ - --media path/to/image2.png --description "Second image" \ - --media path/to/image3.png --description "Third image" \ - --media path/to/image4.png --description "Fourth image" - -The order of options is not relevant, except that the first given media will be -matched to the first given description and so on. - -If the media is sensitive, mark it as such and people will need to click to show -it. This affects all attachments. - -.. code-block:: bash - - toot post "naughty pics ahoy" --media nsfw.png --sensitive - -View timeline -------------- - -View what's on your home timeline: - -.. code-block:: bash - - toot timeline - -Timeline takes various options: - -.. code-block:: bash - - toot timeline --public # public timeline - toot timeline --public --local # public timeline, only this instance - toot timeline --tag photo # posts tagged with #photo - toot timeline --count 5 # fetch 5 toots (max 20) - toot timeline --once # don't prompt to fetch more toots - -Status actions --------------- - -The timeline lists the status ID at the bottom of each toot. Using that status -you can do various actions to it, e.g.: - -.. code-block:: bash - - toot favourite 123456 - toot reblog 123456 - -If it's your own status you can also delete pin or delete it: - -.. code-block:: bash - - toot pin 123456 - toot delete 123456 - -Account actions ---------------- - -Find a user by their name or account name: - -.. code-block:: bash - - toot search "name surname" - toot search @someone - toot search someone@someplace.social - -Once found, follow them: - -.. code-block:: bash - - toot follow someone@someplace.social - -If you get bored of them: - -.. code-block:: bash - - toot mute someone@someplace.social - toot block someone@someplace.social - toot unfollow someone@someplace.social - -Using the Curses UI -------------------- - -toot has a curses-based terminal user interface. The command to start it is ``toot tui``. - -To navigate the UI use these commands: - -* ``k`` or ``up arrow`` to move up the list of tweets -* ``j`` or ``down arrow`` to move down the list of tweets -* ``h`` to show a help screen -* ``t`` to view status thread -* ``v`` to view the current toot in a browser -* ``b`` to boost or unboost a status -* ``f`` to favourite or unfavourite a status -* ``q`` to quit the curses interface and return to the command line -* ``s`` to show sensitive content. (This is per-toot, and there will be a read bar in the toot to indicate that it is there.) - -*Note that the curses UI is not available on Windows.*