Skip to content

[pull] master from tmux-python:master #96

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1,610 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
1610 commits
Select commit Hold shift + click to select a range
a554ac8
py(deps): libtmux v0.36.0 -> v0.37.0 (internal test / CI improvements)
tony Apr 21, 2024
79b5bd3
docs(CHANGES): Note libtmux v0.37.0
tony Apr 21, 2024
8e086d3
py(deps): libtmux v0.36.0 -> v0.37.0 (#929)
tony Apr 21, 2024
296276d
Tag v1.47.0 (libtmux bump to v0.37.0)
tony Apr 21, 2024
88ee067
build(deps): Bump packages (including ruff 0.4.2)
tony Apr 27, 2024
7b2ea42
chore(ruff): f-string formatting fixes from ruff 0.4.2
tony Apr 27, 2024
9680a4d
chore(ruff): Manually fix E501 Line too long after ruff pass
tony Apr 27, 2024
005fe7c
docs(CHANGES): Note f-string tweaks
tony Apr 27, 2024
83daaaf
Bump dev dependencies, including ruff 0.4.2, f-string tweaks (#931)
tony Apr 27, 2024
43ea66a
build(deps): Bump packages
tony Apr 27, 2024
e8d2d68
py(deps): pytest 8.1.2 -> 8.2.0
tony Apr 28, 2024
e5023e6
build(deps): Bump packages
tony May 4, 2024
e8cad11
build(deps): Bump packages
tony May 4, 2024
5955713
build(deps): Bump packages
tony May 5, 2024
c62d1aa
build(deps): Bump packages
tony May 11, 2024
fda051f
build(deps): Bump packages
tony May 18, 2024
e2035bd
build(deps): Bump packages
tony May 25, 2024
18e74b5
chore(ruff): fixes from ruff 0.4.5
tony May 25, 2024
9db1656
build(deps): Bump packages
tony May 27, 2024
b8258a3
py(deps): ruff 0.4.5 -> 0.4.7, others
tony Jun 1, 2024
4eac816
ruff(shell): Update ruff lint
tony Jun 1, 2024
b400498
mypy(shell): Allow untyped calls
tony Jun 1, 2024
fc437af
py(deps): ruff 0.4.5 -> 0.4.7, other fixes (#935)
tony Jun 1, 2024
f765d1c
build(deps): Bump packages
tony Jun 1, 2024
78cda6a
build(deps): Bump packages
tony Jun 2, 2024
6e15c0d
build(deps): Bump packages
tony Jun 8, 2024
ec89706
build(deps): Bump packages
tony Jun 14, 2024
3ca4977
docs(developing): Fix grammar
tony Jun 15, 2024
30ae155
build(deps): Bump packages
tony Jun 18, 2024
a19735c
build(deps): Bump packages
tony Jun 20, 2024
e586425
.tmuxp.{json,yaml}: Remove shell_command_before (noisy, unused)
tony Jun 21, 2024
3e0fec3
build(deps): Bump dev dependencies
tony Jun 23, 2024
8ad7226
build(deps): Bump dev dependencies
tony Jun 29, 2024
927aea3
ci,.tool-versions: poetry 1.8.2 -> 1.8.3
tony Jul 6, 2024
982e8c6
.tool-versions,.python-version: 3.12.4
tony Jul 6, 2024
466e4a1
dev(deps): ruff 0.5.0 -> 0.5.1, certifi 2024.7.4, pillow, types-docutils
tony Jul 7, 2024
51cfffd
py(deps): Update dev dependencies
tony Jul 20, 2024
9f099cc
chore: Remove unused compat constant `console_encoding`
tony Jul 20, 2024
e7f50ed
ci(.tool-versions,.python-version): Drop 3.7 if exists, use latest py…
tony Jul 20, 2024
a4b6c53
chore(ruff): ruff 0.5.3 fixes
tony Jul 21, 2024
4057557
py(deps): Update dev dependencies
tony Jul 21, 2024
1f339c2
py(deps): Update dev dependencies
tony Jul 28, 2024
e039d9e
py(deps): Update dev dependencies
tony Aug 3, 2024
2b42485
docs(cli): fix typo in load usage documentation (#943)
MiLk Aug 9, 2024
7425bab
py(deps): Update dev dependencies
tony Aug 10, 2024
0145a59
py(deps[dev]): ruff 0.6
tony Aug 16, 2024
6ec8b03
py(deps): Update dev dependencies
tony Aug 24, 2024
bc510a9
py(deps): Update dev dependencies
tony Aug 26, 2024
453f595
py(deps): Update dev dependencies
tony Sep 1, 2024
1aff919
py(deps): Update dev dependencies
tony Sep 7, 2024
ef1014c
py(deps): Update dev dependencies
tony Sep 14, 2024
e578278
py(deps): Update dev dependencies
tony Sep 21, 2024
ca2ad94
ci(dependabot) Update GitHub actions
tony Sep 22, 2024
09b0590
py(deps): Update dev dependencies
tony Sep 22, 2024
d378f57
py(deps): Update dev dependencies
tony Sep 28, 2024
27939ef
py(deps): Update dev dependencies
tony Oct 4, 2024
b583039
ci(actions): paths-filter 3.0.0 -> 3.0.2
tony Oct 5, 2024
709060e
py(deps): Update dev dependencies
tony Oct 11, 2024
25002b4
pkg(pyproject) Add Python 3.13 to trove classifiers
tony Oct 13, 2024
6542aff
ci(tests,docs) Python 3.13
tony Oct 13, 2024
84aa7b7
ci(tests) Add tmux 3.5
tony Oct 13, 2024
a8118fe
ci(.tool-versions,.python-version): Add Python 3.13.0, update others
tony Oct 19, 2024
5bc040a
py(deps): Update dev dependencies
tony Oct 19, 2024
c5df380
py(deps): Update dev dependencies
tony Oct 25, 2024
e5f255e
ruff(chore) Fix FURB177 (implicit-cwd)
tony Oct 26, 2024
2e68d67
py(deps) Bump dev dependencies
tony Nov 2, 2024
0cda4d2
py(deps) Bump dev dependencies
tony Nov 9, 2024
43c57d7
.tool-versions,ci: poetry 1.8.3 -> 1.8.4
tony Nov 17, 2024
994dcc4
deps(poetry.lock): Re-lock with poetry 1.8.4
tony Nov 17, 2024
53940c2
.python-version: Use only 1 version
tony Nov 22, 2024
b608047
docs,Makefile: `ruff` -> `ruff check` (ruff 0.3.0)
tony Nov 23, 2024
1428190
ci(codecov-action) Bump v4 -> v5
tony Nov 23, 2024
763da16
docs(conf) Fix UP031 (printf-string-formatting)
tony Nov 25, 2024
4e0782f
ci,pkg: poetry -> uv
tony Nov 24, 2024
3019801
Plugins: `poetry` -> `uv`
tony Nov 26, 2024
bf34d04
ci,pkg: poetry -> uv (#949)
tony Nov 26, 2024
2a0e018
py(deps) libtmux 0.37.0 -> 0.38.1 (built with uv)
tony Nov 26, 2024
90d4fc5
docs(CHANGES) Note libtmux bump
tony Nov 26, 2024
5c428d2
py(deps) libtmux 0.37.0 -> 0.38.1 (built with uv, #950)
tony Nov 26, 2024
c48dbb6
Tag v1.48.0 (built with uv)
tony Nov 26, 2024
a1f66e7
Drop Python 3.8
tony Nov 26, 2024
b8a4a0c
docs(CHANGES) Note dropping of Python 3.8
tony Nov 26, 2024
e410060
Drop Python 3.8 (#951)
tony Nov 26, 2024
f5be07c
py(deps) libtmux 0.38.1 -> 0.39.0 (minimum Python 3.9)
tony Nov 26, 2024
bc4cb72
Tag 1.49.0 (Drop Python 3.8)
tony Nov 26, 2024
4361518
docs(CHANGES) Note build system using hatchling now
tony Nov 27, 2024
ef6b32a
py(deps) Bump dev packages
tony Nov 29, 2024
2846851
py(deps) Bump dev packages
tony Dec 7, 2024
2ac639c
py(deps) Bump dev packages
tony Dec 14, 2024
e32e830
py(deps) Bump dev packages
tony Dec 18, 2024
6ab30a2
py(deps) Bump dev packages
tony Dec 21, 2024
78fceb5
ci(tests[setup-uv]) v3 -> v5
tony Dec 21, 2024
50f4d20
pyproject(tool.ruff[target-version]) py38 -> py39
tony Dec 18, 2024
d1b8f80
pyproject(tool.mypy[python_version]) Add `3.9`
tony Dec 18, 2024
3ed84b2
chore(ruff) Automated fixes for Python 3.9
tony Dec 18, 2024
ce506cd
docs(CHANGES) Note python 3.9 ruff fixes
tony Dec 21, 2024
858b924
Python 3.9 Modernization (#953)
tony Dec 21, 2024
7149507
py(deps) libtmux: 0.39.0 -> 0.40.0
tony Dec 21, 2024
4ab7b74
docs(CHANGES) Note libtmux 0.40.0 bump
tony Dec 21, 2024
6c9ff6a
chore(builder) Fix `_global` -> `global_`
tony Dec 21, 2024
83ba343
py(deps) libtmux: 0.39.0 -> 0.40.0 (#954)
tony Dec 21, 2024
0b87732
Tag v1.50.0 (libtmux 0.40.0, modernize syntax)
tony Dec 21, 2024
f4080d2
.tool-versions(python,uv) Bump patch-level versions
tony Dec 21, 2024
fb16b3b
py(deps) Bump dev packages
tony Dec 22, 2024
0f87d86
py(deps) libtmux: 0.40.0 -> 0.40.1
tony Dec 24, 2024
5e8e49b
docs(CHANGES) Note libtmux bump
tony Dec 24, 2024
6910bad
py(deps) libtmux: 0.40.0 -> 0.40.1 (#956)
tony Dec 24, 2024
eb70fe5
Tag v1.50.1 (libtmux 0.40.1)
tony Dec 24, 2024
0bb483a
py(deps) Bump dev packages
tony Dec 26, 2024
2be954f
py(deps) Bump dev packages
tony Dec 28, 2024
bd053fa
py(deps) Bump dev packages
tony Dec 31, 2024
82cfec3
py(deps) Bump dev packages
tony Jan 4, 2025
0aa1c5d
chore(ruff) Automated fixes for typing annotations
tony Jan 4, 2025
d75829b
pyproject: Use future annotations
tony Jan 4, 2025
1912c08
pyproject(tool.coverage.report) Add exclusions
tony Jan 4, 2025
48ccd1c
cli(utils) Preserve `print` for `tmuxp_echo`
tony Jan 4, 2025
696edb5
cli(utils) Preserve `print` for more areas
tony Jan 4, 2025
2099e4b
tests(builder) Handle PT014 `pytest-duplicate-parametrize-test-cases`
tony Jan 4, 2025
78ea466
chore(ruff) Automated fixes for typing annotations
tony Jan 4, 2025
dee96a7
chore: Refine imports to use `t` namespace
tony Jan 4, 2025
5b04bf4
docs(CHANGES) Note PEP 563 compatibility
tony Jan 4, 2025
0d73f64
chore: Implement PEP 563 deferred annotation resolution (#957)
tony Jan 4, 2025
dc97752
chore(freeze,load) Bring back `print`s
tony Jan 4, 2025
183db89
py(deps) Bump dev packages
tony Jan 4, 2025
1843fc4
py(deps) Bump dev packages
tony Jan 5, 2025
f3a05d9
py(deps) Bump dev packages
tony Jan 9, 2025
5c7c96f
pyproject(ruff[lint.flake8-builtins]) Skip `types`
tony Jan 9, 2025
e70c790
chore: Format with ruff 0.9.0
tony Jan 9, 2025
e5951c1
py(deps) Bump dev packages
tony Jan 10, 2025
e3c0001
ci(tests) Run tests `--verbose` to display test units
tony Jan 12, 2025
f8d47bb
py(deps) Bump dev packages
tony Jan 18, 2025
5ac08d7
.tool-versions(uv) 0.5.11 -> 0.5.21
tony Jan 19, 2025
310aa68
py(deps) Bump dev packages
tony Jan 20, 2025
136a2d8
py(deps) Bump dev packages
tony Jan 22, 2025
9c949f6
.tool-versions(uv) 0.5.21 -> 0.5.22
tony Jan 22, 2025
b3f7d78
py(deps) Bump dev packages
tony Jan 25, 2025
287717e
py(deps) Bump dev packages
tony Feb 1, 2025
4d41463
py(deps) Bump dev packages
tony Feb 2, 2025
a7db220
Tag v1.51.0 (syntax modernization)
tony Feb 2, 2025
e8971fc
py(deps) libtmux 0.40.1 -> 0.42.0
tony Feb 2, 2025
d95da0a
run_before_script: Remove reliance on `console_to_str()`
tony Feb 2, 2025
53a253b
run_before_script: Pass `backslashreplace` for `errors` in `subprocess`
tony Feb 2, 2025
376525e
run_before_script: Use UTF-8 decoding instead of system's locale
tony Feb 2, 2025
919324f
docs(CHANGES) Note libtmux bump
tony Feb 2, 2025
eb14202
py(deps) libtmux 0.40.1 -> 0.42.0, modernize `run_before_script()` (#…
tony Feb 2, 2025
425bf3c
Tag v1.52.0 (libtmux 0.42.0)
tony Feb 2, 2025
c3e3fb0
run_before_script: Refactor
tony Feb 2, 2025
91cac7e
tests(util) Patch for `isatty`
tony Feb 2, 2025
53425b5
tests(util): Verify `isatty()` mocking behavior
tony Feb 2, 2025
03e6e68
docs(CHANGES) Note `run_before_script()` issue
tony Feb 2, 2025
7bc8cc0
Improve: `run_before_script()` (#959)
tony Feb 2, 2025
001b85c
Tag v1.52.1 (improved `run_before_script()` output)
tony Feb 2, 2025
99f0354
run_before_script: Trim newlines
tony Feb 2, 2025
7f1b862
docs(CHANGES) Note additional output capturing fix
tony Feb 2, 2025
9d4e52b
`run_before_script`: Fix newlines (#960)
tony Feb 2, 2025
8475b37
Tag v1.52.2 (improved `run_before_script()` output, pt 2)
tony Feb 2, 2025
8fbd885
.tool-versions(python,uv) python 3.13.2, 3.12.9, uv 0.5.29
tony Feb 8, 2025
306f81b
py(deps) Bump dev packages
tony Feb 8, 2025
9a1d748
py(deps) Bump dev packages
tony Feb 15, 2025
e40f5eb
.tool-versions(uv) uv 0.5.29 -> 0.6.
tony Feb 15, 2025
568bdd9
py(deps) Bump dev packages
tony Feb 15, 2025
5fe195c
py(deps) Bump dev packages
tony Feb 16, 2025
29453c2
docs(CHANGES) Template for next release
tony Feb 17, 2025
831780a
docs(README) Fix typo
tony Feb 17, 2025
5fbc021
Docs: Typo fixes (#963)
tony Feb 17, 2025
434d30d
refactor(tests): convert test_util.py TTY test to use NamedTuple fixt…
tony Feb 17, 2025
6192ee5
refactor(tests): convert test_finder.py pure name test to use NamedTu…
tony Feb 17, 2025
e3d3f65
refactor(tests): convert test_import_teamocil.py tests to use NamedTu…
tony Feb 17, 2025
229e826
refactor(tests): convert test_import_tmuxinator.py test to use NamedT…
tony Feb 17, 2025
7faf619
refactor(tests): convert test_shell.py tests to use NamedTuple fixtures
tony Feb 17, 2025
5081671
refactor(tests): convert test_convert.py tests to use NamedTuple fixt…
tony Feb 17, 2025
0ab0973
refactor(tests): convert test_freeze.py tests to use NamedTuple fixtures
tony Feb 17, 2025
0494424
refactor(tests): convert test_import.py tests to use NamedTuple fixtures
tony Feb 17, 2025
2ff09e3
refactor(tests): convert test_cli.py tests to use NamedTuple fixtures
tony Feb 17, 2025
54e82c5
refactor(tests): convert test_load.py tests to use NamedTuple fixtures
tony Feb 17, 2025
1c35e36
refactor(tests): convert test_builder.py tests to use NamedTuple fixt…
tony Feb 17, 2025
8d1a656
refactor(tests): convert test_shell.py parametrize to NamedTuple fixt…
tony Feb 17, 2025
25d7238
docs(CHANGES) Note testsuite overhaul
tony Feb 17, 2025
c556ec4
refactor(tests): Convert parametrized tests to NamedTuple fixtures (#…
tony Feb 17, 2025
571e72e
chore(ruff) Automated fixes for typing annotations
tony Feb 17, 2025
bbe2764
.tool-versions(uv) uv 0.6.0 -> 0.6.1
tony Feb 17, 2025
39fe784
pyproject(pytest[filterwarnings]) Ignore `invalid escape syntax`
tony Feb 18, 2025
0b260d7
ci(tests) Verify runtime deps
tony Feb 19, 2025
8d337d9
types: Fix missing runtime dependency
tony Feb 19, 2025
d2cb248
docs(CHANGES) Note CI runtime check and bug fix
tony Feb 19, 2025
39a5dc6
ci(tests) Verify runtime deps, fix runtime dep issue (#965)
tony Feb 19, 2025
cf39a33
py(deps) libtmux 0.42.0 -> 0.44.2
tony Feb 17, 2025
de8c9b1
docs(CHANGES) Note libtmux 0.44.2 bump
tony Feb 17, 2025
9de2a6d
py(deps) libtmux 0.42.0 -> 0.44.2 (#962)
tony Feb 19, 2025
b568766
Tag v1.53.0 (test overhaul, runtime import bug fix)
tony Feb 19, 2025
1cc4b16
ci(tests) Verify runtime deps for CLI commands
tony Feb 20, 2025
4227e96
docs(CHANGES) Note expansion of CI runtime check
tony Feb 20, 2025
f24cb5f
ci(tests) Verify runtime deps for CLI commands (#967)
tony Feb 20, 2025
86047b2
py(deps[dev]) Bump dev packages
tony Feb 22, 2025
0942264
py(deps[dev]) Bump dev packages
tony Feb 22, 2025
84c3a8a
py(deps[dev]) Bump dev packages
tony Feb 22, 2025
9cc7274
py(deps) libtmux 0.44.2 -> 0.45.0
tony Feb 23, 2025
b931742
refactor: Bump test helpers for libtmux 0.45.0
tony Feb 23, 2025
e6ac733
docs(CHANGES) Note libtmux 0.45.0 bump
tony Feb 23, 2025
334fd42
py(deps) libtmux 0.44.2 -> 0.45 (#968)
tony Feb 23, 2025
2f3d528
Tag v1.54.0 (libtmux v0.45.0 updates)
tony Feb 23, 2025
52b549a
.tool-versions(uv) uv 0.6.1 -> 0.6.3
tony Feb 25, 2025
dcf87fb
py(deps) libtmux 0.45.0 -> 0.46.0 (#969)
tony Feb 26, 2025
4223246
docs(CHANGES) Note libtmux 0.46.0
tony Feb 26, 2025
8b73e07
Tag v1.55.0 (libtmux 0.46.0)
tony Feb 26, 2025
5b57ac1
py(deps[dev]) Bump dev packages
tony Feb 27, 2025
12da096
py(deps[dev]) Bump dev packages
tony Feb 28, 2025
e166fc6
.tool-versions(uv) uv 0.6.3 -> 0.6.5
tony Mar 8, 2025
eac095a
py(deps[dev]) Bump dev packages
tony Mar 8, 2025
07728c7
py(deps[dev]) Bump dev packages
tony Mar 8, 2025
b9299a2
cursor,windsurf(rules[dev-loop]) Sync with latest python loop
tony Mar 8, 2025
da00754
cursor,windsurf(rules[tmuxp-pytest]) Use libtmux pytest fixtures
tony Mar 8, 2025
ff72574
docs(README) Remove the prompt symbol from codeblocks (#976)
Mar 14, 2025
4aa93cd
py(deps[dev]) Bump dev packages
tony Mar 14, 2025
9734c1b
py(deps[dev]) Bump dev packages
tony Mar 23, 2025
cfee283
.tool-versions(uv) uv 0.6.6 -> 0.6.9
tony Mar 23, 2025
1b03469
py(deps[dev]) Bump dev packages
tony Mar 29, 2025
9c4acca
.tool-versions(uv) uv 0.6.9 -> 0.6.12
tony Apr 5, 2025
43924b8
py(deps[dev]) Bump dev packages
tony Apr 5, 2025
f1a7576
.tool-versions(uv,python) uv 0.6.12 -> 0.6.14, python 3.13.2 -> 3.13.3
tony Apr 12, 2025
82a58f7
py(deps[dev]) Bump dev packages
tony Apr 12, 2025
49535a3
py(deps[dev]) Bump dev packages
tony Apr 19, 2025
6b77480
py(deps[dev]) Bump dev packages
tony Apr 26, 2025
b2f8608
.tool-versions(uv) uv 0.6.14 -> 0.6.17
tony Apr 27, 2025
3e5c544
py(deps[dev]) Bump dev packages
tony Apr 27, 2025
b9a062b
docs(projects) Update code website
tony Apr 27, 2025
fad8ac6
docs: Update link to Tao of tmux book
tony Apr 27, 2025
0b3ec8d
.tool-versions(uv) uv 0.6.17 -> 0.7.2
tony May 3, 2025
e644cb6
py(deps[dev]) Bump dev packages
tony May 3, 2025
7e153d5
docs(README) Update link
tony May 3, 2025
4abc2b6
.tool-versions(uv) uv 0.7.2 -> 0.7.3
tony May 10, 2025
0159b53
py(deps[dev]) Bump dev packages
tony May 10, 2025
696ab8d
py(deps[dev]) Bump dev packages
tony May 11, 2025
9bb770a
py(deps[dev]) Bump dev packages
tony May 17, 2025
4e5222a
.tool-versions(uv) uv 0.7.3 -> 0.7.5
tony May 17, 2025
3d1598b
.tool-versions(uv) uv 0.7.5 -> 0.7.8
tony May 25, 2025
5ffe6bf
py(deps[dev]) Bump dev packages
tony May 25, 2025
4e0580a
.tool-versions(uv) uv 0.7.8 -> 0.7.9
tony May 31, 2025
d9d4038
py(deps[dev]) Bump dev packages
tony May 31, 2025
c6456d8
py(deps[dev]) Bump dev packages
tony Jun 7, 2025
f942dcf
.tool-versions(uv) uv 0.7.9 -> 0.7.12, python 3.13.4 and others
tony Jun 7, 2025
a7d2093
.gitignore: Ignore .claude/ and CLAUDE*.md files
tony Jun 7, 2025
ec567c9
types(test_builder) Fix typing issues
tony Jun 7, 2025
a339934
types(importers) Fix typing issues
tony Jun 7, 2025
7b4ef9b
types(aafig) Fix typing issues in mypy 1.16.0
tony Jun 7, 2025
85f7e50
.tool-versions(uv) uv 0.7.12 -> 0.7.13, python 3.13.5
tony Jun 14, 2025
574f1c1
py(deps[dev]) Bump dev packages
tony Jun 14, 2025
c02b982
py(deps[dev]) Bump dev packages
tony Jun 19, 2025
f56d3de
chore(ruff) ruff v0.12 aggressive fixes
tony Jun 19, 2025
56c4963
py(deps[dev]) Bump dev packages
tony Jun 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
docs: Update link to Tao of tmux book
  • Loading branch information
tony committed Apr 27, 2025
commit fad8ac65bba4223e4e082a09149221396a852e0b
2 changes: 1 addition & 1 deletion docs/_templates/book.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ <h3>The book!</h3>

<p><em>The Tao of tmux</em> is available on <a class="reference external" href="https://leanpub.com/the-tao-of-tmux">Leanpub</a> and <a class="reference external" href="http://amzn.to/2gPfRhC">Kindle</a> (Amazon).</p>
<p>Read and browse the book for <a class="reference external" href="https://leanpub.com/the-tao-of-tmux/read">free on the web</a>.</p>
<a class="reference external image-reference" href="http://amzn.to/2gPfRhC"><img alt="Amazon Kindle" src="https://www.git-pull.com/_images/amazon-logo.png" width="45%"></a>
<a class="reference external image-reference" href="http://amzn.to/2gPfRhC"><img alt="Amazon Kindle" src="https://tony.sh/_images/amazon-logo.png" width="45%"></a>