youtinx
v0.4.1
Published
`youtinx {playlistId}` will save in `./data/{playlistId}/` a set of JSON files representing records ready to be uploaded to Algolia.
Downloads
8
Readme
youtinx
youtinx {playlistId}
will save in ./data/{playlistId}/
a set of JSON files
representing records ready to be uploaded to Algolia.
Each generated file represents the list of captions for a specific video. Each caption contains its content and start, as well as metadata about the parent video and playlist.
Playlist and video metadata is copied into all the records. This is a lot of
duplicate code, but is required for the distinct
feature of Algolia to work.
All responses from the YouTube API are cached in .cache
. This makes
development faster and prevents wasting API call quotas. In production, it is
recommended to delete the .cache
folder between each run.
Notes
- Private videos are skipped (they still show in the progress spinner though)
- Videos without captions are still indexed
ENV
YOUTUBE_API_KEY
is required to pull.
ALGOLIA_API_KEY
is required to push.
Config
Youtinx will display a list of all videos where it failed to download captions.
This might be due to a bug in youtinx or is expected because no caption is
uploaded. If you want to reduce the noise, you can pass an array of video ids to
knownVideosWithoutCaptions
in your youtinx.config.js
file. No error will be
displayed for ids found in this array.
By default, it will fetch 20
captions at a time. You can change this value
depending on your network/laptop power by changing the concurrency.captions
key.
Linter
We recommand not having your husky/lintstaged lint the files saved in the ./data folder as there are too many of them and this will consume a lot of memory.