aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 48b2bcabcc9b8f2ab3f7a0f29b05d6214325da2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[![MELPA](https://melpa.org/packages/yeetube-badge.svg)](https://melpa.org/#/yeetube)

# Yeetube | Emacs' Youtube Front End

## About 

This package provides the ability to scrape YouTube, with the results
displayed in a proced-like buffer. 


Package functionality includes:

- Search Youtube for query
- Play video url *by default using mpv*
- Bookmark/Save video url
- Download video *using yt-dlp*
- A minimal yt-dlp front-end, *which is independent of the rest YouTube functionality*, to download multiple urls.

*Inspired by [ytfzf](https://github.com/pystardust/ytfzf) & [ytel](https://github.com/grastello/ytel)*

*This package does not use Invidious or YouTube's API, just parses html & json.*


## Installation 
This package is available via [MELPA](https://melpa.org/#/yeetube)

### Straight.el

``` emacs-lisp
(straight-use-package 
 '(yeetube :type git
	       :host nil
	       :repo "https://git.thanosapollo.com/yeetube"))
```


### Manual
``` shell
$ git clone https://git.thanosapollo.com/yeetube
```

Add this to your emacs configuration
``` emacs-lisp
(add-to-list 'load-path "/path/to/yeetube")
(load-file "~/path/to/yeetube.el")
```

### Dependencies
- [mpv](https://mpv.io/): default multimedia player 
- [yt-dlp](https://github.com/yt-dlp/yt-dlp): download functionality 

*Debian/Ubuntu*
``` shell
sudo apt install mpv yt-dlp
```

### Configuration 
#### Media Player 
By default `yeetube-player` is set to `yeetube-mpv-play-url`, you can use
[mpv.el](https://github.com/kljohann/mpv.el), [GNU/Emms](https://www.gnu.org/software/emms/) or other similar packages like so:

``` emacs-lisp
(setf yeetube-player #'emms-play-url)
```

Make sure that the media player of your choice can directly play youtube urls.

### FAQ
#### Feature request: display thumbnails
Formatting images in a text buffer is not something that I found easy or fun to do. Feel free to submit a patch if you manage to make an appealing version of it

#### Why did you make this
- Because it's fun
- To learn elisp
- Find a way to get youtube content without relying on external services, such as invidious.