From 5f2c3594984d42a354db18c7c2796584dde442c7 Mon Sep 17 00:00:00 2001 From: Madeline Hashcube Date: Mon, 25 May 2026 14:28:03 -0500 Subject: [PATCH] improve docs --- README.md | 34 ++++++++++++++++++++++++++++++++-- docs/MANIFEST.md | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 docs/MANIFEST.md diff --git a/README.md b/README.md index b594c59..e52b849 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,38 @@ The best way I can describe it is imagine if there was something like `cargo` but for YTP. YTP Project Manager (`ytpm`) is a Free, Open-Source, source manager for YTPs. `ytpm` could also have some application outside of YTP and could instead be used for -regular videos. +regular YouTube videos. + +`ytpm` uses [`yt-dlp`](https://github.com/yt-dlp/yt-dlp) to download videos (sometimes +called sources) according to a manifest file written in [YAML](https://yaml.org/). To +look at the fields of the manifest, you can read [MANIFEST.md](./docs/MANIFEST.md). To +learn how to use `ytpm`, you can read [QUICKSTART.md](./docs/QUICKSTART.md) + +## FAQ + +### Why? + +I wanted a sort of `cargo` style dependency manager for making YTP. There (probably) +weren't any other alternatives out there, and I've had this idea for a while. Bundling +videos would be very questionable in terms of copyright, having a list of YouTube links +is an okay solution, but I feel like having an integrated tool to automate the process is +simpler, neater, and overall a better solution. + +### Will this take up my hard drive space? + +Maybe. If you download lots of *different* videos, yes. However, if you download the same +video multiple times, it shouldn't take up more space than one copy of the video. This is +because videos are downloaded to a cache directory, and then hardlinked to your sources +folder. This also has the added bonus of videos staying accessible even after you delete +the cache folder due to the way hardlinks work. ## TODO: -- [ ] Get the thing working +- [x] Get the thing working +- [ ] Add a config + - [ ] Default Author + - [ ] Default Categories +- [ ] Add option for `sync` to only get a certain source category/categories +- [ ] Style things with [lipgloss](https://charm.land/lipgloss/v2) +- [ ] Change `author` field to include social links +- [ ] Generate description from manifest diff --git a/docs/MANIFEST.md b/docs/MANIFEST.md new file mode 100644 index 0000000..cae2782 --- /dev/null +++ b/docs/MANIFEST.md @@ -0,0 +1,34 @@ +# Manifest Fields + +## `project` + +The name of your project + +Example +```yaml +project: Steamed Hams but ... +``` + +## `authors` + +The author(s) of your project + +Example +```yaml +authors: + - very tall bart + - Yoshimaniac +``` + +## `sources` + +A list of categories that have sources + +```yaml +sources: + default: + - https://youtu.be/4jXEuIHY9ic + sfx: + - https://www.youtube.com/watch?v=14WcHFPaJio + - Oc7Cin_87H4 # Look ma, no `https://youtu.be/` +``` -- 2.51.2