[oni-browse-url] Add advice to ‘browse-url’ to redirect some URLs
There are a couple of free alternative front-ends to certain services: - Scribe for Medium. - Nitter for Twitter. - Invidious for Youtube.
This commit is contained in:
parent
5834c0a7ef
commit
dcf277a644
1 changed files with 31 additions and 1 deletions
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||||
;; Keywords: local
|
;; Keywords: local
|
||||||
;; Version: 2021.0727.202603
|
;; Version: 2022.0207.000602
|
||||||
|
|
||||||
;; This program is free software; you can redistribute it and/or modify
|
;; This program is free software; you can redistribute it and/or modify
|
||||||
;; it under the terms of the GNU General Public License as published by
|
;; it under the terms of the GNU General Public License as published by
|
||||||
|
@ -27,10 +27,40 @@
|
||||||
|
|
||||||
(require 'browse-url)
|
(require 'browse-url)
|
||||||
|
|
||||||
|
;; Ideas:
|
||||||
|
;; - Split out to different functions for Medium, Twitter, Youtube, etc.
|
||||||
|
;; - Split the medium one into *.medium.com and also allow arbitrary sites to be added.
|
||||||
|
(defun browse-url-redirect-alternative (args)
|
||||||
|
"Check the url given to ‘browse-url’ and redirect to a free alternative if available.
|
||||||
|
ARGS is the list of arguments that was passed to ‘browse-url’
|
||||||
|
before this filter."
|
||||||
|
(cond
|
||||||
|
((string-prefix-p "https://blog.bitsrc.io" (car args))
|
||||||
|
(cons (string-replace "https://blog.bitsrc.io" "https://scribe.rip/bitsrc" (car args))
|
||||||
|
(cdr args)))
|
||||||
|
((string-prefix-p "https://levelup.gitconnected.com" (car args))
|
||||||
|
(cons (string-replace "https://levelup.gitconnected.com" "https://scribe.rip/gitconnected" (car args))
|
||||||
|
(cdr args)))
|
||||||
|
((string-prefix-p "https://twitter.com" (car args))
|
||||||
|
(cons (string-replace "https://twitter.com" "https://nitter.net" (car args))
|
||||||
|
(cdr args)))
|
||||||
|
((string-prefix-p "https://kevingosse.medium.com" (car args))
|
||||||
|
(cons (string-replace "https://kevingosse.medium.com" "https://scribe.rip/kevingosse" (car args))
|
||||||
|
(cdr args)))
|
||||||
|
((string-prefix-p "https://medium.com" (car args))
|
||||||
|
(cons (string-replace "https://medium.com" "https://scribe.rip" (car args))
|
||||||
|
(cdr args)))
|
||||||
|
((string-prefix-p "https://www.youtube.com" (car args))
|
||||||
|
(cons (string-replace "https://www.youtube.com" "https://yewtu.be" (car args))
|
||||||
|
(cdr args)))
|
||||||
|
(t args)))
|
||||||
|
|
||||||
(setq browse-url-browser-function
|
(setq browse-url-browser-function
|
||||||
(if (eql system-type 'windows-nt)
|
(if (eql system-type 'windows-nt)
|
||||||
'browse-url-default-windows-browser
|
'browse-url-default-windows-browser
|
||||||
'browse-url-firefox))
|
'browse-url-firefox))
|
||||||
|
|
||||||
|
(advice-add 'browse-url :filter-args #'browse-url-redirect-alternative)
|
||||||
|
|
||||||
(provide 'oni-browse-url)
|
(provide 'oni-browse-url)
|
||||||
;;; oni-browse-url.el ends here
|
;;; oni-browse-url.el ends here
|
||||||
|
|
Loading…
Reference in a new issue