Commit Graph

152 Commits

Author SHA1 Message Date
Casey Rodarmor
1cfc021453
Forbid empty input, output, and path targets
When an empty path is passed to `Env::resolve`, the result is the
current working directory. This is bad, so forbid the user to pass in
empty paths.

type: fixed
2020-04-07 19:01:43 -07:00
Eric Siegel
c23b0635ee
Add ability to create single-file torrents from stdin
Torrents may now be created from standard input by passing `--input -`.

Since `--name` and `--output` cannot be deduced, they are required when
`--input -`.

type: added
2020-04-07 19:01:43 -07:00
Casey Rodarmor
796024bec9
Split automerge functionality into merge recipe
type: development
2020-04-07 19:01:42 -07:00
Casey Rodarmor
4aa8f47da5
Add "Metadata/Prior Art" section to book
Mention Media RSS specification, a structured metadata standard for RSS.

type: documentation
2020-04-07 19:01:42 -07:00
Casey Rodarmor
4c90bc41c3
Rewrite pr recipe to merge when CI passes
type: development
2020-04-07 19:01:42 -07:00
Casey Rodarmor
b16da8da5a
Rewrite done recipe for new merge workflow
The new sign-preserving merge workflow is to just
wait until commits pass CI, and then push directly
to master on GitHub.

type: development
2020-04-07 19:01:42 -07:00
Casey Rodarmor
9d43fa4275
Fix link to rodarmor's PGP key in readme
type: documentation
2020-04-07 19:01:42 -07:00
Casey Rodarmor
543524b96d
Mention signature policy in readme
Document signature policy in readme. This will require changing the
workflow for merging commits, to avoid polluting the commit history with
signatures by a GitHub-controlled key.

type: documentation
2020-04-07 19:01:42 -07:00
Casey Rodarmor
f17527e58e
Use single-quoted strings in justfile
type: reform
2020-04-07 19:01:38 -07:00
Casey Rodarmor
2515399081
Cache build artifacts
Use `actions/cache` to cache cargo registry, index, and build between
workflow runs.

type: development
2020-04-07 19:01:38 -07:00
Casey Rodarmor
83ee172b72
Create section for bittorrent book chapters
type: documentation
2020-04-07 19:01:38 -07:00
Casey Rodarmor
2ba24bb985
Add description of UDP tracker protocol to book
type: documentation
2020-04-07 19:01:38 -07:00
Casey Rodarmor
57e482f4b3
Record demo for readme
Uses a crate in `bin/demo` to output a demo script of commands, with a
per-character and per-line delay, and a dummy prompt. Capture output
and render to a gif.

type: documentation
2020-04-07 19:01:38 -07:00
Casey Rodarmor
a5e1273187
Update man page with new version number
type: documentation
2020-04-07 19:01:38 -07:00
Casey Rodarmor
93c23d29f2
Release v0.1.1
- Bump version: 0.1.0 -> 0.1.1
- Update changelog

type: release
2020-04-07 19:01:37 -07:00
Casey Rodarmor
3131b0d56c
Generate man page with from --help with help2man
type: documentation
2020-04-07 19:01:37 -07:00
Casey Rodarmor
8c30205b02
Add shell completion scripts
Shell completion scripts can be generated for `bash`, `elvish`, `fish`,
`powershell`, and `zsh` with the `completions` subcommand:

    $ imdl completions --shell zsh > imdl.zsh

The same scripts are available in the `completions` directory. Please
refer to your shell's documentation for more information on how to
install and use completion scripts.

type: added
2020-04-07 19:01:37 -07:00
Casey Rodarmor
e69c65a38b
Remove errant torrent file
type: reform
2020-04-07 19:01:33 -07:00
Casey Rodarmor
328a3adeaf
Release v0.1.0
- Bump version: `0.0.3` -> `0.1.0`
- Update changelog
- Update dependencies
- Publish to crates.io as last step in publish recipe

type: release
2020-04-07 19:01:33 -07:00
Casey Rodarmor
97018031c1
Introduce "sort specs" to allow fine-grained sorting of files in torrents
Sort specs are of the form `KEY:ORDER`, and allow sorting files in a
torrent by multiple criteria. Multiple sort specs can be passed with
`--sort-by` upon torrent creation.

type: added
2020-04-07 19:01:33 -07:00
Casey Rodarmor
362a81d42f
Use strum crate to derive enum↔string conversions
type: reform
2020-04-07 19:01:33 -07:00
Casey Rodarmor
6996d1a3ea
List supported OSs in readme
type: documentation
2020-04-07 19:01:33 -07:00
Casey Rodarmor
4f7eead16a
Link to blog post in readme
type: documentation
2020-04-07 19:01:33 -07:00
Eric
1cd6c276fd
Allow sorting files in torrents
The order in which files appear in torrents can now be controlled
with the `--order` flag:

    imdl torrent create --input foo --order alphabetical-asc

See `--help` documentation for possible values.

type: added
2020-04-07 19:01:32 -07:00
Casey Rodarmor
687a863b45
Add cargo install cargo-watch to dev-deps recipe
type: development
2020-04-07 19:01:32 -07:00
Casey Rodarmor
4b6191773a
Fix condition in GHA workflow
Should deploy only on linux, not on everything but linux :P

type: distribution
2020-04-07 19:01:32 -07:00
Casey Rodarmor
b27ecf1c09
Only deploy site during linux run of CI build
type: development
2020-04-07 19:01:32 -07:00
Casey Rodarmor
b6cb3d389c
Go back to sans-serif I in site logo
The serifed I character looks bad with certain fonts, go back to sans-serif.

type: documentation
2020-04-07 19:01:32 -07:00
Casey Rodarmor
ef1acd58c1
Use serifed I for intermodal on site
A sans-serifed `I` makes the logo look unbalanced, so try a serifed I.

type: documentation
2020-04-07 19:01:31 -07:00
Casey Rodarmor
4fc0f508e6
Add glow to intermodal letters on site
type: documentation
2020-04-07 19:01:31 -07:00
Casey Rodarmor
89e97144e9
Improve readme intro
type: documentation
2020-04-07 19:01:31 -07:00
Casey Rodarmor
6d5f489f19
Add links to site
Grid and flexbox made this way better than they would have been otherwise.

Also with cool glow-on-hover effect!

type: documentation
2020-04-07 19:01:31 -07:00
Casey Rodarmor
6328118c00
Use open crate to open files and URLs
Opening URLs on Windows is very complex, so delegate to the
`open` crate.

type: changed
2020-04-07 19:01:31 -07:00
Casey Rodarmor
35d90adab4
Rename www/head to www/head.txt
type: documentation
2020-04-07 19:01:31 -07:00
Casey Rodarmor
0469f7fecd
Record current git revision in www/head
type: documentation
2020-04-07 19:01:30 -07:00
Casey Rodarmor
972a1ec628
Merge Github Actions workflows
type: development
2020-04-07 19:01:30 -07:00
Casey Rodarmor
151d912156
Deny warnings in GitHub Actions main workflow build
type: testing
2020-04-07 19:01:30 -07:00
Casey Rodarmor
e91b419af5
Improve book
- Write introduction
- Move large readme sections into book
- Rename docs to www

type: documentation
2020-04-07 19:01:30 -07:00
Casey Rodarmor
1e5c19d02b
Add GitHub Actions workflow to build book and push to github pages
- Run book build on all commits
- Deploy site on pushes to master

type: development
2020-04-07 19:01:30 -07:00
Casey Rodarmor
b96c27e9b1
Fix build errors
- Install `musl-tools` which provides the `musl-gcc` binary, needed
   for the package script on ubuntu.
- Fix contributing file name

type: fixed
2020-04-07 19:01:30 -07:00
Casey Rodarmor
4cbeca802a
Add additional documents to release archive
- Include changelog
- Include contributing guidelines

type: distribution
2020-04-07 19:01:29 -07:00
Casey Rodarmor
5d4baa22ea
Release v0.0.3
- Bump version: `0.0.2` -> `0.0.3`
- Update changelog

type: release
2020-04-07 19:01:29 -07:00
Casey Rodarmor
86aeec3ce9
Fix release process issues
- Trigger GitHub Actions workflow on release tags
- Make build script tolerate not being called in git directory
- Omit git hash in created by message if not built in git directory
- Test created by message format

type: distribution
2020-04-07 19:01:29 -07:00
Casey Rodarmor
8b3954ff99
Release v0.0.2
- Bump version: `0.0.1` -> `0.0.2`
- Update chnagelog

type: release
2020-04-07 19:01:29 -07:00
Casey Rodarmor
498549b35c
Allow reading torrent metainfo from stdin
Torrent metainfo can be read from standard input by passing `-`:

    cat a.torrent | imdl torrent verify --input -
    cat a.torrent | imdl torrent link --input -
    cat a.torrent | imdl torrent show --input -

type: added
2020-04-07 19:01:29 -07:00
Casey Rodarmor
1c84172ad4
Skip torrent file creation with imdl torrent create --dry-run
Torrent files will not be written to disk with `--dry-run`:

    imdl torrrent create --input foo --dry-run

type: added
2020-04-07 19:01:28 -07:00
Casey Rodarmor
7e3a53ce52
Make just done default to current branch
type: development
2020-04-07 19:01:28 -07:00
Casey Rodarmor
0d7c1c0c27
Print magnet link to stdout with --link
Magnet links can be printed to standard output with:

    imdl torrent create --input PATH --link

type: added
2020-04-07 19:01:28 -07:00
Casey Rodarmor
901fa150ff
Indicate BEP 9 support in readme
type: documentation
2020-04-07 19:01:28 -07:00
Casey Rodarmor
d8055c6e6a
Allow opening magnet links after creation
Magnet links can now be opened after creation:

    imdl torrent link --open --input METAINFO

type: added
2020-04-07 19:01:28 -07:00