Commit Graph

264 Commits

Author SHA1 Message Date
Casey Rodarmor
c75ec39b14
Remove watch dropdown image from readme
It's big and ugly and doesn't add much.

type: documentation
2020-04-23 15:27:35 -07:00
Casey Rodarmor
8fbe39726f
Add notes for packagers to readme
type: documentation
2020-04-23 14:59:49 -07:00
Casey Rodarmor
43788cac9a
Fix bin/package
Also, To more easily test the `bin/package` script, build and publish
packages for all tags, not just those that start with `v`.

type: fixed
2020-04-23 01:20:24 -07:00
Casey Rodarmor
f217ac659a
Release v0.1.7
- Bump version: 0.1.6 → 0.1.7
- Update dependencies

type: release
2020-04-22 13:15:28 -07:00
Casey Rodarmor
25ac072985
Allow positional input to imdl torrent show
Input can now be passed to `imdl torrent show` without a flag:

  imdl torrent show foo.torrent

Passing input by flag continues to work.

type: changed
fixes:
- https://github.com/casey/intermodal/issues/375
2020-04-22 00:38:00 -07:00
Casey Rodarmor
cecd2f66a5
Fix help strings
Fix inconsistent argument value names in help strings.

type: fixed
2020-04-22 00:29:14 -07:00
Casey Rodarmor
ebec2d591a
Allow positional shell to imdl completions
The shell can now be passed to `imdl completions` without a flag:

  imdl completions bash

Passing the shell by flag continues to work.

type: changed
fixes:
- https://github.com/casey/intermodal/issues/375
2020-04-21 23:57:53 -07:00
Casey Rodarmor
134c241ae7
Use lexiclean crate for lexical path cleaning
I moved all the lexical path cleaning functionality into a separate
crate, so it can be used by other projects.

type: reform
2020-04-21 23:10:34 -07:00
Casey Rodarmor
323434d0aa
Allow positional input to imdl torrent verify
Input can now be passed to `imdl torrent verify` without a flag:

  imdl torrent verify foo.torrent

Passing input by flag continues to work.

type: changed
fixes:
- https://github.com/casey/intermodal/issues/375
2020-04-21 22:35:41 -07:00
Casey Rodarmor
5ba885dbc4
Take input to imdl torrent create as positional
Allow taking the `--input` argument to `imdl torrent create` as a
positional argument, so the following now works:

    imdl torrent create foo

Taking input by flag `--input` still works.

type: changed
fixes:
- https://github.com/casey/intermodal/issues/375
2020-04-21 22:23:39 -07:00
Casey Rodarmor
c22df5a083
Don't commit man pages
Don't commit man pages, since that bloats commits.

Attempt to build them in `bin/package`. This is fraught, since we need
`help2man`. Hopefully this works!

type: development
2020-04-21 00:52:06 -07:00
Casey Rodarmor
4d67d3a10d
Don't commit the book
To avoid bloating commits, don't commit any auto generated from the
book.

type: development
2020-04-21 00:36:48 -07:00
Casey Rodarmor
28114c3d64
Don't commit shell completion scripts
Committing the completion scripts bloats diffs, so stop committing them.

Before copying release files, generate the scripts in `bin/package`.

type: development
2020-04-21 00:29:26 -07:00
Casey Rodarmor
4f4464e3a2
Get st_flags from MetadataExt on MacOS
I missed that `st_flags` is available on `MetadataExt` on MacOS, so get
them from there, instead of calling `libc::stat`.

type: reform
2020-04-21 00:03:16 -07:00
Celeo
deca555ac3
Allow suppressing output with --quiet
Add a global flag `--quiet`, which allows supressing output from
`imdl torrent create` and `imdl torrent verify`.

Since it's a global option, it should be given before the subcommand,
e.g.:

    imdl --quiet torrent create --input .

type: added
fixes:
- https://github.com/casey/intermodal/issues/174
2020-04-20 21:37:07 -07:00
Casey Rodarmor
838167c4d3
Describe in FAQ creating torrent from git repo
type: documentation
2020-04-20 20:10:26 -07:00
Celeo
9b72873ed1
Optionally respect .gitignore in imdl torrent create
Add a '--ignore' flag that, when passed, causes `imdl torretn create` to
skip files listed in `.gitignore`, `.ignore`, `.git/info/exclude`, and
`git config --get core.excludesFile`.

Also switches from the `walkdir` crate to the `ignore` crate, which uses
`walkdir` internally, and which handles `.gitignore` and `.ignore`
files.

This changes the behavior of `-include-hidden` on MacOS to no longer
skip entries with the hidden attribute set, due to `ignore` not exposing
`walkdir`'s filter functionality.

A PR[0] is pending to add filtering to `ignore`, so hopefully this
functionality can be re-implemented soon.

[0] https://github.com/BurntSushi/ripgrep/pull/1557

type: added
fixes:
- https://github.com/casey/intermodal/issues/378
2020-04-20 19:20:12 -07:00
Casey Rodarmor
9f48062461
Improve FAQ template
Use separate anchor tags, so FAQ entry titles are properly rendered.

type: documentation
2020-04-20 00:17:57 -07:00
Casey Rodarmor
1380290eb8
Make publish-check recipe stricter
Check that version appears at the beginning of the line, in a link.

type: development
2020-04-20 00:10:56 -07:00
Casey Rodarmor
85246d816c
Release v0.1.6
- Bump version: 0.1.5 → 0.1.6
- Update dependencies
- Regenerate documentation

type: release
2020-04-19 23:27:32 -07:00
Casey Rodarmor
1cb1178672
Create FAQ
Add an FAQ section to the book. Include information about how to use
imdl with `fzf --preview`.

type: documentation
fixes:
- https://github.com/casey/intermodal/issues/397
2020-04-19 23:19:29 -07:00
Casey Rodarmor
65597c9851
Add --terminal override terminal autodetection
The `--terminal` flag can be used to override terminal autodetection and
force `imdl` to behave as if standard error and standard output are
connected to a terminal.

type: added
fixes:
- https://github.com/casey/intermodal/issues/398
2020-04-19 22:51:18 -07:00
Casey Rodarmor
70dbe93c6a
Note install script only works on Linux and MacOS
Unfortunately, the install script doesn't work on windows, due to:

- Powershell defining an alias that maps `curl` to `Invoke-WebRequest`,
  which is incompatible with `curl`.

- The absence of the `rev` command.

type: documentation
fixes:
- https://github.com/casey/intermodal/issues/371
2020-04-19 19:56:54 -07:00
Casey Rodarmor
b67a2f1885
Fix 404.css link
type: documentation
2020-04-18 23:58:01 -07:00
Casey Rodarmor
87687f4dec
Add custom 404 page to site
type: documentation
2020-04-18 23:43:24 -07:00
Casey Rodarmor
09b0ee316c
Document piece length selection algorithm
Add a page to the book discussing factors in piece length selection, and
Intermodal's piece length selection algorithm.

type: documentation
pr: https://github.com/casey/intermodal/pull/392
fixes:
- https://github.com/casey/intermodal/issues/367
2020-04-18 23:12:31 -07:00
Casey Rodarmor
3ed449ce93
Generate reference sections with bin/gen
type: documentation
2020-04-18 19:14:54 -07:00
Casey Rodarmor
a6bf752791
Use invariant instead of unwrap and expect
Add the `Invariant` trait, which provides `Invariant::invariant` and
`Invariant::invariant_unwrap` methods, and use them instead of unwrap
and expect.

I think these methods are a bit clearer than `unwrap` and `expect`,
since they more clearly document intent, i.e. that the thing passed to
`invariant` should be a description of an invariant that should always
be true, and should provide better error messages.

Replace uses of `unwrap` and `expect` with `invariant`.

type: reform
fixes:
- https://github.com/casey/intermodal/issues/167
2020-04-18 14:41:27 -07:00
Casey Rodarmor
faf46c0f0e
Test that globs match torrent contents
Globs should match paths within the torrent root, not including the
torrent root. Test that this is the case.

type: testing
fixes:
- https://github.com/casey/intermodal/issues/377
2020-04-18 13:46:50 -07:00
Casey Rodarmor
0a754d0bcf
Add manual Arch install link
Add a link to the arch wiki for manual installation from AUR.

type: documentation
fixes:
- https://github.com/casey/intermodal/issues/373
2020-04-18 13:33:09 -07:00
Casey Rodarmor
0a870ed2ee
Get current time early when creating torrents
Since getting the system time is fallible, do it early when creating a
torrent, so as to avoid potentially wasting time searching and hashing.

type: reform
fixes:
- https://github.com/casey/intermodal/issues/207
2020-04-18 13:24:44 -07:00
Casey Rodarmor
9098d36840
Readme improvements
- Mention various chat channels
- Add `intermodal-bin` package to package table
- Document `bin/gen`
- Add contributing section
- Link to book

type: documentation
2020-04-17 23:28:08 -07:00
Casey Rodarmor
04338e3501
Merge documentation and changelog generation
Merge documentation generation into a single binary, `bin/gen`. This
includes: The changelog, man pages, the readme, and the book.

type: reform
2020-04-17 21:31:54 -07:00
Matt Boulanger
1f8023d13a
Fix directory link in README 2020-04-15 16:37:51 -07:00
strickinato
cb8b5a6919
Partially implement BEP 53
This enables `--select-only 1,2,3` which gets appended to the magnet
link as `&so=1,2,3`.

It's a partial implementation because we're missing support for file
ranges ie `--select-only 4-6`

type: added
fixes:
- https://github.com/casey/intermodal/issues/245
2020-04-12 20:42:45 -07:00
Casey Rodarmor
6185d6c8a2
Add table of packages to readme
type: documentation
pr: https://github.com/casey/intermodal/pull/372
fixes:
- https://github.com/casey/intermodal/issues/369
2020-04-11 17:27:47 -07:00
Casey Rodarmor
ddf097c836
Fix publish recipe
The current publish recipe has a race condition, where pushing a release
tag will trigger a new GitHub Actions, build, causing the push to master
to fail, because the status checks are still in progress.

Finish with `just merge` instead of `just done`, which will wait on the
status checks to finish again.

type: development
pr: https://github.com/casey/intermodal/pull/368
2020-04-11 04:46:18 -07:00
Casey Rodarmor
707fdea21d
Release v0.1.5
- Bump version: 0.1.4 -> 0.1.5
- Update changelog
- Update man page
- Update book

type: release
pr: https://github.com/casey/intermodal/pull/366
2020-04-11 04:28:23 -07:00
Casey Rodarmor
727d5c1028
Fix Z Shell completions
The clap-generated zsh completion scripts use unescaped double-quoted
strings for the subocommand description text, which causes backtick
characters to be evaluated.

Remove backticks from the subcommand descriptions, to un-break the zsh
completion scripts.

type: fixed
pr: https://github.com/casey/intermodal/pull/365
2020-04-11 04:22:22 -07:00
Casey Rodarmor
f05807290b
Render command help text in book to avoid wrapping
The command `--help` text output in the book was very wide, which caused
it to be clipped and require scrolling horizontally to see it all.

This diff renders the text at 80 columns, which makes it visible without
scrolling at reasonable screen sizes.

To do this, `env::run` now checks for the presence of the environment
variable `IMDL_TERM_WIDTH`, which, if set to a positive integer, will be
passed to `Clap::set_term_width`.

`bin/man` now uses this to render the help text at 80 characters.

type: documentation
pr: https://github.com/casey/intermodal/pull/364
2020-04-11 04:00:52 -07:00
Casey Rodarmor
ed34ff48a7
Add fuchsi/maketorrent to prior art table
type: documentation
pr: https://github.com/casey/intermodal/pull/362
2020-04-10 22:33:24 -07:00
Casey Rodarmor
a3f4618722
Rename distributing large datasets
type: documentation
pr: https://github.com/casey/intermodal/pull/361
2020-04-10 21:10:31 -07:00
Casey Rodarmor
1c9ff0cde4
Add suggestions for distributing large datasets to book
type: documentation
pr: https://github.com/casey/intermodal/pull/360
2020-04-10 20:54:14 -07:00
Casey Rodarmor
ff6f6d4c3d
Test that --globs match entire file paths
E.g. `--glob x*` matches `x/y`.

type: testing
pr: https://github.com/casey/intermodal/pull/357
2020-04-10 17:11:00 -07:00
Casey Rodarmor
b914c17594
Add buildtorretn to prior art section of book
type: documentation
pr: https://github.com/casey/intermodal/pull/355
2020-04-10 16:14:51 -07:00
Casey Rodarmor
f070c62b12
Release v0.1.4
- Bump version: 0.1.3
- Update dependencies
- Update generated documentation

type: release
pr: https://github.com/casey/intermodal/pull/354
2020-04-10 15:32:32 -07:00
Casey Rodarmor
4dfe537fa5
Prevent progress bar from overflowing
Use the `wide_bar` indicatif format specifier to truncate the progress
bar when the terminal is narrow. This prevents the progress bar from
printing mulitple times when the terminal is narrow

type: fixed
pr: https://github.com/casey/intermodal/pull/353
2020-04-10 15:04:28 -07:00
Casey Rodarmor
a67eb72848
Improve install.sh and documentation
- Don't fail now that archive contains directory
- Change default install location to `~/bin`
- Suggestion installing in ~/bin
- Add instructions to create `~/bin`, install there, and add `~/bin` to
  the PATH variable.

type: distribution
pr: https://github.com/casey/intermodal/pull/352
2020-04-09 20:48:43 -07:00
Casey Rodarmor
e54bdeb95d
Remove use of unreachable in favor of internal errors
type: reform
pr: https://github.com/casey/intermodal/pull/351
fixes:
- https://github.com/casey/intermodal/issues/188
2020-04-09 20:07:43 -07:00
Casey Rodarmor
52b78b90f6
Improve badges
- Make discord badge purple
- Add book badge
- Give crate badge rust logo

type: documentation
pr: https://github.com/casey/intermodal/pull/350
2020-04-09 18:36:26 -07:00