mirror of
https://github.com/httpie/cli.git
synced 2024-11-25 17:23:25 +01:00
Add install/update instructions database (#1160)
* Add install/update instructions database * Update the database * Revert README changes They will be overwritten later. * Revert * Tweak * Tweaks * Upgrade database * Complete commands Still not sure about Spack upgrades. * Sort * Doc generation script draft * Remove OS names from tool names * Fix Linuxbrew name * `wheel` already installs `setuptools` * Gen docs * Update * Tweak * Add a GitHub workflow to check for outdated installation instructions * Fix return value * Test * Delete test * Rename the script * Add `make doc-install-inst` * Add missing dev requirement * The first tool is the primary we want to display Then they are simply sorted by `tool.title`. * Sort OSes by name * Refactoring, jinja template, etc. * Add tool title uniqueness `assert`, fix platform list extra `\n` * Rebuild docs * Update generate.py * Update README.md * Update methods.yml * Update distros derived, more assertions * Tweaks * Add workflow to auto-update the docs * Do not hide the command * Tweaks Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
This commit is contained in:
parent
0c9d701618
commit
08751d3672
2
.github/workflows/code-style.yml
vendored
2
.github/workflows/code-style.yml
vendored
@ -1,5 +1,3 @@
|
|||||||
name: Code style
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
|
2
.github/workflows/coverage.yml
vendored
2
.github/workflows/coverage.yml
vendored
@ -1,5 +1,3 @@
|
|||||||
name: Coverage
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
name: Check markdown
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
@ -1,5 +1,3 @@
|
|||||||
name: Update documentation
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
26
.github/workflows/docs-update-install.yml
vendored
Normal file
26
.github/workflows/docs-update-install.yml
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- docs/installation/*
|
||||||
|
|
||||||
|
# Allow to call the workflow manually
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
doc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: 3.9
|
||||||
|
- run: make install
|
||||||
|
- run: make doc-update-install
|
||||||
|
- uses: Automattic/action-commit-to-branch@master
|
||||||
|
with:
|
||||||
|
branch: master
|
||||||
|
commit_message: Auto-update installation instructions in the docs
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@ -1,5 +1,3 @@
|
|||||||
name: Release
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# Add a "Trigger" button to manually start the workflow.
|
# Add a "Trigger" button to manually start the workflow.
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
name: Linux snap
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@ -1,5 +1,3 @@
|
|||||||
name: Tests
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
7
Makefile
7
Makefile
@ -144,7 +144,12 @@ codecov-upload:
|
|||||||
|
|
||||||
doc-check:
|
doc-check:
|
||||||
@echo $(H1)Running documentations checks$(H1END)
|
@echo $(H1)Running documentations checks$(H1END)
|
||||||
mdl --git-recurse --style docs/linter/mdl-styles.rb .
|
mdl --git-recurse --style docs/markdownlint.rb .
|
||||||
|
|
||||||
|
|
||||||
|
doc-update-install:
|
||||||
|
@echo $(H1)Updating installation instructions in the docs$(H1END)
|
||||||
|
$(VENV_PYTHON) docs/installation/generate.py
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
264
docs/README.md
264
docs/README.md
@ -41,99 +41,283 @@ You are invited to submit fixes and improvements to the docs by editing [this fi
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### macOS
|
<div data-installation-instructions>
|
||||||
|
|
||||||
On macOS, HTTPie can also be installed via [Homebrew](https://brew.sh/):
|
<!--
|
||||||
|
THE INSTALLATION SECTION IS GENERATED
|
||||||
|
|
||||||
|
Do not edit here, but in docs/installation/.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
- [Universal](#universal)
|
||||||
|
- [macOS](#macos)
|
||||||
|
- [Windows](#windows)
|
||||||
|
- [Linux](#linux)
|
||||||
|
- [FreeBSD](#freebsd)
|
||||||
|
|
||||||
|
### Universal
|
||||||
|
|
||||||
|
#### PyPi
|
||||||
|
|
||||||
|
Please make sure you have Python 3.6 or newer (`python --version`).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Install
|
||||||
|
$ python -m pip install --upgrade pip wheel
|
||||||
|
$ python -m pip install httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ python -m pip install --upgrade pip wheel
|
||||||
|
$ python -m pip install --upgrade httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
|
||||||
|
#### Homebrew
|
||||||
|
|
||||||
|
To install [Homebrew](https://brew.sh/) follow [installation instructions](https://docs.brew.sh/Installation).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ brew update
|
||||||
$ brew install httpie
|
$ brew install httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
A MacPorts *port* is also available:
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ brew update
|
||||||
|
$ brew upgrade httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### MacPorts
|
||||||
|
|
||||||
|
To install [MacPorts](https://www.macports.org/) follow [installation instructions](https://www.macports.org/install.php).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Install
|
||||||
|
$ port selfupdate
|
||||||
$ port install httpie
|
$ port install httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ port selfupdate
|
||||||
|
$ port upgrade httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Snapcraft (macOS)
|
||||||
|
|
||||||
|
To install [Snapcraft](https://snapcraft.io/) follow [installation instructions](https://snapcraft.io/docs/installing-snapd).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ snap install httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ snap refresh httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Spack (macOS)
|
||||||
|
|
||||||
|
To install [Spack](https://spack.readthedocs.io/en/latest/index.html) follow [installation instructions](https://spack.readthedocs.io/en/latest/getting_started.html#installation).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ spack install httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ spack install httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|
#### Chocolatey
|
||||||
|
|
||||||
|
To install [Chocolatey](https://chocolatey.org/) follow [installation instructions](https://chocolatey.org/install).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ choco install httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ choco upgrade httpie
|
||||||
|
```
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
HTTPie is available on the [Snap Store](https://snapcraft.io/httpie):
|
#### Snapcraft (Linux)
|
||||||
|
|
||||||
|
To install [Snapcraft](https://snapcraft.io/) follow [installation instructions](https://snapcraft.io/docs/installing-snapd).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Install
|
||||||
$ snap install httpie
|
$ snap install httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
And most Linux distributions provide a package that can be installed using the
|
```bash
|
||||||
system package manager, for example:
|
# Upgrade
|
||||||
|
$ snap refresh httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Linuxbrew
|
||||||
|
|
||||||
|
To install [Linuxbrew](https://docs.brew.sh/Homebrew-on-Linux) follow [installation instructions](https://docs.brew.sh/Homebrew-on-Linux#install).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Debian, Ubuntu, etc.
|
# Install
|
||||||
|
$ brew update
|
||||||
|
$ brew install httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ brew update
|
||||||
|
$ brew upgrade httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Debian and Ubuntu
|
||||||
|
|
||||||
|
Also works for other Debian-derived distributions like MX Linux, Linux Mint, deepin, Pop!_OS, KDE neon, Zorin OS, elementary OS, Kubuntu, Devuan, Linux Lite, Peppermint OS, Lubuntu, antiX, Xubuntu, etc.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ apt update
|
||||||
$ apt install httpie
|
$ apt install httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Fedora
|
# Upgrade
|
||||||
|
$ apt update
|
||||||
|
$ apt upgrade httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Fedora
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ dnf update
|
||||||
$ dnf install httpie
|
$ dnf install httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# CentOS, RHEL, ...
|
# Upgrade
|
||||||
|
$ dnf update
|
||||||
|
$ dnf upgrade httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### CentOS and RHEL
|
||||||
|
|
||||||
|
Also works for other RHEL-derived distributions like ClearOS, Oracle Linux, etc.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ yum update
|
||||||
$ yum install epel-release
|
$ yum install epel-release
|
||||||
$ yum install httpie
|
$ yum install httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Gentoo
|
# Upgrade
|
||||||
$ emerge httpie
|
$ yum update
|
||||||
|
$ yum upgrade httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
#### Alpine Linux
|
||||||
# Arch Linux
|
|
||||||
$ pacman -S httpie
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Alpine Linux
|
# Install
|
||||||
|
$ apk update
|
||||||
$ apk add httpie
|
$ apk add httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Solus
|
# Upgrade
|
||||||
$ eopkg install httpie
|
$ apk update
|
||||||
|
$ apk add --upgrade httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Gentoo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ emerge --sync
|
||||||
|
$ emerge httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ emerge --sync
|
||||||
|
$ emerge --update httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Arch Linux
|
||||||
|
|
||||||
|
Also works for other Arch-derived distributions like ArcoLinux, EndeavourOS, Artix Linux, etc.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ pacman -Sy httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ pacman -Syu httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Void Linux
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ xbps-install -Su
|
||||||
|
$ xbps-install -S httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ xbps-install -Su
|
||||||
|
$ xbps-install -Su httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Spack (Linux)
|
||||||
|
|
||||||
|
To install [Spack](https://spack.readthedocs.io/en/latest/index.html) follow [installation instructions](https://spack.readthedocs.io/en/latest/getting_started.html#installation).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ spack install httpie
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ spack install httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
### FreeBSD
|
### FreeBSD
|
||||||
|
|
||||||
On FreeBSD, HTTPie is available in the ports collection. A prebuilt package
|
#### FreshPorts
|
||||||
can be installed via [pkg(8)](https://man.freebsd.org/pkg/8>):
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Install
|
||||||
$ pkg install www/py-httpie
|
$ pkg install www/py-httpie
|
||||||
```
|
```
|
||||||
|
|
||||||
### Windows, universal
|
|
||||||
|
|
||||||
A universal installation method (that works on Linux, macOS, Windows, FreeBSD, and always provides the latest version) is to use [pip](https://pypi.org/project/pip/):
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Make sure we have an up-to-date version of pip and setuptools:
|
# Upgrade
|
||||||
$ python -m pip install --upgrade pip setuptools
|
$ pkg upgrade www/py-httpie
|
||||||
|
|
||||||
$ python -m pip install --upgrade httpie
|
|
||||||
```
|
```
|
||||||
|
|
||||||
(If `pip` installation fails for some reason, you can try
|
<!-- /GENERATED SECTION -->
|
||||||
`easy_install httpie` as a fallback.)
|
|
||||||
|
|
||||||
Windows users can also install HTTPie with [Chocolatey](https://chocolatey.org):
|
</div>
|
||||||
|
|
||||||
```bash
|
|
||||||
$ choco upgrade httpie
|
|
||||||
```
|
|
||||||
|
|
||||||
### Python version
|
|
||||||
|
|
||||||
Python version 3.6 or greater is required.
|
|
||||||
|
|
||||||
### Unstable version
|
### Unstable version
|
||||||
|
|
||||||
@ -160,7 +344,7 @@ $ snap remove httpie
|
|||||||
$ snap install httpie --edge
|
$ snap install httpie --edge
|
||||||
```
|
```
|
||||||
|
|
||||||
Verify that now you have the [current development version identifier](https://github.com/httpie/httpie/blob/master/httpie__init__.py#L6) with the `-dev` suffix, for example:
|
Verify that now you have the [current development version identifier](https://github.com/httpie/httpie/blob/master/httpie/__init__.py#L6) with the `.dev0` suffix, for example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ http --version
|
$ http --version
|
||||||
|
5
docs/installation/README.md
Normal file
5
docs/installation/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Here we maintain a database of installation methods, from which we generate
|
||||||
|
the installation section in docs. If you’d like add or update an installation method,
|
||||||
|
edit [methods.yml](./methods.yml), do not edit the main docs directly.
|
||||||
|
|
||||||
|
For HTTPie installation instructions see: <https://httpie.io/docs#installation>.
|
85
docs/installation/generate.py
Normal file
85
docs/installation/generate.py
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
import re
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import Dict
|
||||||
|
|
||||||
|
import yaml
|
||||||
|
from jinja2 import Template
|
||||||
|
|
||||||
|
Database = Dict[str, dict]
|
||||||
|
|
||||||
|
# Files
|
||||||
|
HERE = Path(__file__).parent
|
||||||
|
DB_FILE = HERE / 'methods.yml'
|
||||||
|
DOC_FILE = HERE.parent / 'README.md'
|
||||||
|
TPL_FILE = HERE / 'installation.jinja2'
|
||||||
|
|
||||||
|
# Database keys
|
||||||
|
KEY_DOC_STRUCTURE = 'docs-structure'
|
||||||
|
KEY_TOOLS = 'tools'
|
||||||
|
|
||||||
|
# Markers in-between content will be put.
|
||||||
|
MARKER_START = '<div data-installation-instructions>'
|
||||||
|
MARKER_END = '</div>'
|
||||||
|
|
||||||
|
|
||||||
|
def generate_documentation() -> str:
|
||||||
|
database = load_database()
|
||||||
|
structure = build_docs_structure(database)
|
||||||
|
template = Template(source=TPL_FILE.read_text(encoding='utf-8'))
|
||||||
|
output = template.render(structure=structure)
|
||||||
|
output = clean_template_output(output)
|
||||||
|
return output
|
||||||
|
|
||||||
|
|
||||||
|
def save_doc_file(content: str) -> None:
|
||||||
|
current_doc = load_doc_file()
|
||||||
|
marker_start = current_doc.find(MARKER_START) + len(MARKER_START)
|
||||||
|
assert marker_start > 0, 'cannot find the start marker'
|
||||||
|
marker_end = current_doc.find(MARKER_END, marker_start)
|
||||||
|
assert marker_start < marker_end, f'{marker_end=} < {marker_start=}'
|
||||||
|
updated_doc = (
|
||||||
|
current_doc[:marker_start]
|
||||||
|
+ '\n\n'
|
||||||
|
+ content
|
||||||
|
+ '\n\n'
|
||||||
|
+ current_doc[marker_end:]
|
||||||
|
)
|
||||||
|
if current_doc != updated_doc:
|
||||||
|
DOC_FILE.write_text(updated_doc, encoding='utf-8')
|
||||||
|
|
||||||
|
|
||||||
|
def build_docs_structure(database: Database):
|
||||||
|
tools = database[KEY_TOOLS]
|
||||||
|
assert len(tools) == len({tool['title'] for tool in tools.values()}), 'tool titles need to be unique'
|
||||||
|
tree = database[KEY_DOC_STRUCTURE]
|
||||||
|
structure = []
|
||||||
|
for platform, tools_ids in tree.items():
|
||||||
|
assert platform.isalnum(), f'{platform=} must be alpha-numeric for generated links to work'
|
||||||
|
platform_tools = [tools[tool_id] for tool_id in tools_ids]
|
||||||
|
structure.append((platform, platform_tools))
|
||||||
|
return structure
|
||||||
|
|
||||||
|
|
||||||
|
def clean_template_output(output):
|
||||||
|
output = '\n'.join(line.strip() for line in output.strip().splitlines())
|
||||||
|
output = re.sub('\n{3,}', '\n\n', output)
|
||||||
|
return output
|
||||||
|
|
||||||
|
|
||||||
|
def load_database() -> Database:
|
||||||
|
return yaml.safe_load(DB_FILE.read_text(encoding='utf-8'))
|
||||||
|
|
||||||
|
|
||||||
|
def load_doc_file() -> str:
|
||||||
|
return DOC_FILE.read_text(encoding='utf-8')
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> int:
|
||||||
|
content = generate_documentation()
|
||||||
|
save_doc_file(content)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main())
|
37
docs/installation/installation.jinja2
Normal file
37
docs/installation/installation.jinja2
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<!--
|
||||||
|
THE INSTALLATION SECTION IS GENERATED
|
||||||
|
|
||||||
|
Do not edit here, but in docs/installation/.
|
||||||
|
|
||||||
|
-->
|
||||||
|
{% for platform, tools in structure %}
|
||||||
|
- [{{ platform }}](#{{ platform.lower() }}){% endfor %} {# <= keep `endfor` here to prevent unwanted `\n` #}
|
||||||
|
|
||||||
|
{% for platform, tools in structure %}
|
||||||
|
|
||||||
|
### {{ platform }}
|
||||||
|
|
||||||
|
{% for tool in tools %}
|
||||||
|
#### {{ tool.title }}
|
||||||
|
|
||||||
|
{% if tool.note %}
|
||||||
|
{{ tool.note }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if tool.links.setup %}
|
||||||
|
To install [{{ tool.name }}]({{ tool.links.homepage }}) follow [installation instructions]({{ tool.links.setup }}).
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install
|
||||||
|
$ {{ tool.commands.install|join('\n$ ') }}
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Upgrade
|
||||||
|
$ {{ tool.commands.upgrade|join('\n$ ') }}
|
||||||
|
```
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
<!-- /GENERATED SECTION -->
|
269
docs/installation/methods.yml
Normal file
269
docs/installation/methods.yml
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
# Database of HTTPie installation methods. Used to build the docs.
|
||||||
|
#
|
||||||
|
# We currently only include here methods for popular systems where we take care of the package,
|
||||||
|
# or have a good relationship with the maintainers.
|
||||||
|
#
|
||||||
|
# Each tool name should be unique (it becomes a linkable header).
|
||||||
|
# If a tools have `links.setup`, it also needs `links.homepage`.
|
||||||
|
# Some tools are available on multiple platforms, take into account when editing.
|
||||||
|
#
|
||||||
|
|
||||||
|
docs-structure:
|
||||||
|
Universal:
|
||||||
|
- pypi
|
||||||
|
macOS:
|
||||||
|
- brew-mac
|
||||||
|
- port
|
||||||
|
- snap-mac
|
||||||
|
- spack-mac
|
||||||
|
Windows:
|
||||||
|
- chocolatey
|
||||||
|
Linux:
|
||||||
|
- snap-linux
|
||||||
|
- brew-linux
|
||||||
|
- apt
|
||||||
|
- dnf
|
||||||
|
- yum
|
||||||
|
- apk
|
||||||
|
- emerge
|
||||||
|
- pacman
|
||||||
|
- xbps-install
|
||||||
|
- spack-linux
|
||||||
|
FreeBSD:
|
||||||
|
- pkg
|
||||||
|
|
||||||
|
tools:
|
||||||
|
apk:
|
||||||
|
title: Alpine Linux
|
||||||
|
name: apk
|
||||||
|
links:
|
||||||
|
homepage: https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
|
||||||
|
package: https://pkgs.alpinelinux.org/package/edge/community/x86/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- apk update
|
||||||
|
- apk add httpie
|
||||||
|
upgrade:
|
||||||
|
- apk update
|
||||||
|
- apk add --upgrade httpie
|
||||||
|
|
||||||
|
apt:
|
||||||
|
title: Debian and Ubuntu
|
||||||
|
note: Also works for other Debian-derived distributions like MX Linux, Linux Mint, deepin, Pop!_OS, KDE neon, Zorin OS, elementary OS, Kubuntu, Devuan, Linux Lite, Peppermint OS, Lubuntu, antiX, Xubuntu, etc.
|
||||||
|
name: APT
|
||||||
|
links:
|
||||||
|
homepage: https://en.wikipedia.org/wiki/APT_(software)
|
||||||
|
package: https://packages.debian.org/sid/web/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- apt update
|
||||||
|
- apt install httpie
|
||||||
|
upgrade:
|
||||||
|
- apt update
|
||||||
|
- apt upgrade httpie
|
||||||
|
|
||||||
|
brew-mac:
|
||||||
|
title: Homebrew
|
||||||
|
name: Homebrew
|
||||||
|
links:
|
||||||
|
homepage: https://brew.sh/
|
||||||
|
setup: https://docs.brew.sh/Installation
|
||||||
|
package: https://formulae.brew.sh/formula/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- brew update
|
||||||
|
- brew install httpie
|
||||||
|
upgrade:
|
||||||
|
- brew update
|
||||||
|
- brew upgrade httpie
|
||||||
|
|
||||||
|
brew-linux:
|
||||||
|
title: Linuxbrew
|
||||||
|
name: Linuxbrew
|
||||||
|
links:
|
||||||
|
homepage: https://docs.brew.sh/Homebrew-on-Linux
|
||||||
|
setup: https://docs.brew.sh/Homebrew-on-Linux#install
|
||||||
|
package: https://formulae.brew.sh/formula/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- brew update
|
||||||
|
- brew install httpie
|
||||||
|
upgrade:
|
||||||
|
- brew update
|
||||||
|
- brew upgrade httpie
|
||||||
|
|
||||||
|
chocolatey:
|
||||||
|
title: Chocolatey
|
||||||
|
name: Chocolatey
|
||||||
|
links:
|
||||||
|
homepage: https://chocolatey.org/
|
||||||
|
setup: https://chocolatey.org/install
|
||||||
|
package: https://community.chocolatey.org/packages/httpie/
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- choco install httpie
|
||||||
|
upgrade:
|
||||||
|
- choco upgrade httpie
|
||||||
|
|
||||||
|
dnf:
|
||||||
|
title: Fedora
|
||||||
|
name: DNF
|
||||||
|
links:
|
||||||
|
homepage: https://fedoraproject.org/wiki/DNF
|
||||||
|
package: https://src.fedoraproject.org/rpms/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- dnf update
|
||||||
|
- dnf install httpie
|
||||||
|
upgrade:
|
||||||
|
- dnf update
|
||||||
|
- dnf upgrade httpie
|
||||||
|
|
||||||
|
emerge:
|
||||||
|
title: Gentoo
|
||||||
|
name: Portage
|
||||||
|
links:
|
||||||
|
homepage: https://wiki.gentoo.org/wiki/Portage
|
||||||
|
package: https://packages.gentoo.org/packages/net-misc/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- emerge --sync
|
||||||
|
- emerge httpie
|
||||||
|
upgrade:
|
||||||
|
- emerge --sync
|
||||||
|
- emerge --update httpie
|
||||||
|
|
||||||
|
pacman:
|
||||||
|
title: Arch Linux
|
||||||
|
name: pacman
|
||||||
|
note: Also works for other Arch-derived distributions like ArcoLinux, EndeavourOS, Artix Linux, etc.
|
||||||
|
links:
|
||||||
|
homepage: https://archlinux.org/pacman/
|
||||||
|
package: https://archlinux.org/packages/community/any/httpie/
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- pacman -Sy httpie
|
||||||
|
upgrade:
|
||||||
|
- pacman -Syu httpie
|
||||||
|
|
||||||
|
pkg:
|
||||||
|
title: FreshPorts
|
||||||
|
name: FreshPorts
|
||||||
|
links:
|
||||||
|
homepage: https://www.freebsd.org/cgi/man.cgi?query=pkg&sektion=8&n=1
|
||||||
|
package: https://www.freshports.org/www/py-httpie/
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- pkg install www/py-httpie
|
||||||
|
upgrade:
|
||||||
|
- pkg upgrade www/py-httpie
|
||||||
|
|
||||||
|
port:
|
||||||
|
title: MacPorts
|
||||||
|
name: MacPorts
|
||||||
|
links:
|
||||||
|
homepage: https://www.macports.org/
|
||||||
|
setup: https://www.macports.org/install.php
|
||||||
|
package: https://ports.macports.org/port/httpie/
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- port selfupdate
|
||||||
|
- port install httpie
|
||||||
|
upgrade:
|
||||||
|
- port selfupdate
|
||||||
|
- port upgrade httpie
|
||||||
|
|
||||||
|
pypi:
|
||||||
|
title: PyPi
|
||||||
|
name: pip
|
||||||
|
note: Please make sure you have Python 3.6 or newer (`python --version`).
|
||||||
|
links:
|
||||||
|
homepage: https://pypi.org/
|
||||||
|
# setup: https://pip.pypa.io/en/stable/installation/
|
||||||
|
package: https://pypi.org/project/httpie/
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- python -m pip install --upgrade pip wheel
|
||||||
|
- python -m pip install httpie
|
||||||
|
upgrade:
|
||||||
|
- python -m pip install --upgrade pip wheel
|
||||||
|
- python -m pip install --upgrade httpie
|
||||||
|
|
||||||
|
snap-linux:
|
||||||
|
title: Snapcraft (Linux)
|
||||||
|
name: Snapcraft
|
||||||
|
links:
|
||||||
|
homepage: https://snapcraft.io/
|
||||||
|
setup: https://snapcraft.io/docs/installing-snapd
|
||||||
|
package: https://snapcraft.io/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- snap install httpie
|
||||||
|
upgrade:
|
||||||
|
- snap refresh httpie
|
||||||
|
|
||||||
|
snap-mac:
|
||||||
|
title: Snapcraft (macOS)
|
||||||
|
name: Snapcraft
|
||||||
|
links:
|
||||||
|
homepage: https://snapcraft.io/
|
||||||
|
setup: https://snapcraft.io/docs/installing-snapd
|
||||||
|
package: https://snapcraft.io/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- snap install httpie
|
||||||
|
upgrade:
|
||||||
|
- snap refresh httpie
|
||||||
|
|
||||||
|
spack-linux:
|
||||||
|
title: Spack (Linux)
|
||||||
|
name: Spack
|
||||||
|
links:
|
||||||
|
homepage: https://spack.readthedocs.io/en/latest/index.html
|
||||||
|
setup: https://spack.readthedocs.io/en/latest/getting_started.html#installation
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- spack install httpie
|
||||||
|
upgrade:
|
||||||
|
- spack install httpie
|
||||||
|
|
||||||
|
spack-mac:
|
||||||
|
title: Spack (macOS)
|
||||||
|
name: Spack
|
||||||
|
links:
|
||||||
|
homepage: https://spack.readthedocs.io/en/latest/index.html
|
||||||
|
setup: https://spack.readthedocs.io/en/latest/getting_started.html#installation
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- spack install httpie
|
||||||
|
upgrade:
|
||||||
|
- spack install httpie
|
||||||
|
|
||||||
|
xbps-install:
|
||||||
|
title: Void Linux
|
||||||
|
name: XBPS
|
||||||
|
links:
|
||||||
|
homepage: https://docs.voidlinux.org/xbps/index.html
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- xbps-install -Su
|
||||||
|
- xbps-install -S httpie
|
||||||
|
upgrade:
|
||||||
|
- xbps-install -Su
|
||||||
|
- xbps-install -Su httpie
|
||||||
|
|
||||||
|
yum:
|
||||||
|
title: CentOS and RHEL
|
||||||
|
name: Yum
|
||||||
|
note: Also works for other RHEL-derived distributions like ClearOS, Oracle Linux, etc.
|
||||||
|
links:
|
||||||
|
homepage: http://yum.baseurl.org/
|
||||||
|
package: https://src.fedoraproject.org/rpms/httpie
|
||||||
|
commands:
|
||||||
|
install:
|
||||||
|
- yum update
|
||||||
|
- yum install epel-release
|
||||||
|
- yum install httpie
|
||||||
|
upgrade:
|
||||||
|
- yum update
|
||||||
|
- yum upgrade httpie
|
@ -1,3 +1,5 @@
|
|||||||
|
# Rules for <https://github.com/markdownlint/markdownlint>
|
||||||
|
|
||||||
# Load all rules by default
|
# Load all rules by default
|
||||||
all
|
all
|
||||||
|
|
Loading…
Reference in New Issue
Block a user