From 03bafe98b00a83e222df537de27f3c44f2cac5be Mon Sep 17 00:00:00 2001 From: noface Date: Sun, 27 Nov 2016 00:22:34 +0100 Subject: [PATCH 1/8] Add function cover preview. --- src/Linkification/Embedding.coffee | 23 +++++++++++++++++++++-- src/config/Config.coffee | 5 +++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/Linkification/Embedding.coffee b/src/Linkification/Embedding.coffee index e81a50201..3a92b896a 100644 --- a/src/Linkification/Embedding.coffee +++ b/src/Linkification/Embedding.coffee @@ -1,6 +1,6 @@ Embedding = init: -> - return unless Conf['Embedding'] or Conf['Link Title'] + return unless Conf['Embedding'] or Conf['Link Title'] or Conf['Cover Preview'] @types = {} @types[type.key] = type for type in @ordered_types @@ -31,12 +31,13 @@ Embedding = return process: (link, post) -> - return unless Conf['Embedding'] or Conf['Link Title'] + return unless Conf['Embedding'] or Conf['Link Title'] or Conf['Cover Preview'] return if $.x 'ancestor::pre', link if data = Embedding.services link data.post = post Embedding.embed data if Conf['Embedding'] Embedding.title data if Conf['Link Title'] + Embedding.preview data if Conf['Cover Preview'] services: (link) -> {href} = link @@ -119,6 +120,22 @@ Embedding = $.extend data.link, <%= html('[${data.key}] Title Link Blocked (are you using NoScript?)') %> return + preview: (data) -> + {key, uid, link} = data + service = Embedding.types[key].preview + $.on link, 'mouseover', (e) -> + src = service.call uid + el = $.el 'img', + src: src + id: 'ihover' + $.add d.body, el + UI.hover + root: link + el: el + latestEvent: e + endEvents: 'mouseout click' + asapTest: -> el.height + cb: click: (e) -> e.preventDefault() @@ -418,4 +435,6 @@ Embedding = for item in data.items when item.id is uid return item.snippet.title 'Not Found' + preview: -> + "https://img.youtube.com/vi/#{@}/0.jpg" ] diff --git a/src/config/Config.coffee b/src/config/Config.coffee index 7dd5a36d6..a9ad77223 100644 --- a/src/config/Config.coffee +++ b/src/config/Config.coffee @@ -136,6 +136,11 @@ Config = 'Replace the link of a supported site with its actual title.' 1 ] + 'Cover Preview': [ + true + 'Show preview of links on hover.' + 1 + ] 'Embedding': [ true 'Embed supported services. Note: Some services don\'t work on HTTPS.' From 0699d8f3dbd4f3b3ca3b6f5864c820ab3b2f91df Mon Sep 17 00:00:00 2001 From: noface Date: Sun, 27 Nov 2016 00:33:55 +0100 Subject: [PATCH 2/8] Pass uid to service. --- src/Linkification/Embedding.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Linkification/Embedding.coffee b/src/Linkification/Embedding.coffee index 3a92b896a..94cb226f6 100644 --- a/src/Linkification/Embedding.coffee +++ b/src/Linkification/Embedding.coffee @@ -124,7 +124,7 @@ Embedding = {key, uid, link} = data service = Embedding.types[key].preview $.on link, 'mouseover', (e) -> - src = service.call uid + src = service uid el = $.el 'img', src: src id: 'ihover' @@ -435,6 +435,6 @@ Embedding = for item in data.items when item.id is uid return item.snippet.title 'Not Found' - preview: -> - "https://img.youtube.com/vi/#{@}/0.jpg" + preview: (uid) -> + "https://img.youtube.com/vi/#{uid}/0.jpg" ] From 851a53417eced16c62a073e0a57c39a624b33ee5 Mon Sep 17 00:00:00 2001 From: noface Date: Sun, 27 Nov 2016 00:54:37 +0100 Subject: [PATCH 3/8] asapTest is unused. --- src/Linkification/Embedding.coffee | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Linkification/Embedding.coffee b/src/Linkification/Embedding.coffee index 94cb226f6..37c79b9b3 100644 --- a/src/Linkification/Embedding.coffee +++ b/src/Linkification/Embedding.coffee @@ -134,7 +134,6 @@ Embedding = el: el latestEvent: e endEvents: 'mouseout click' - asapTest: -> el.height cb: click: (e) -> @@ -435,6 +434,5 @@ Embedding = for item in data.items when item.id is uid return item.snippet.title 'Not Found' - preview: (uid) -> - "https://img.youtube.com/vi/#{uid}/0.jpg" + preview: (uid) -> "https://img.youtube.com/vi/#{uid}/0.jpg" ] From c59de414f2d6a73459f8fefaf0a3cad7934ffe17 Mon Sep 17 00:00:00 2001 From: noface Date: Sun, 27 Nov 2016 01:04:47 +0100 Subject: [PATCH 4/8] Return unless preview exists. --- src/Linkification/Embedding.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Linkification/Embedding.coffee b/src/Linkification/Embedding.coffee index 37c79b9b3..4a03b8bbf 100644 --- a/src/Linkification/Embedding.coffee +++ b/src/Linkification/Embedding.coffee @@ -122,7 +122,7 @@ Embedding = preview: (data) -> {key, uid, link} = data - service = Embedding.types[key].preview + return if not (service = Embedding.types[key].preview) $.on link, 'mouseover', (e) -> src = service uid el = $.el 'img', From cae1df14e37bc134f8e42adcc040ae02fc74aaf3 Mon Sep 17 00:00:00 2001 From: noface Date: Sun, 27 Nov 2016 01:27:17 +0100 Subject: [PATCH 5/8] Pass height to UI.hover. --- src/Linkification/Embedding.coffee | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Linkification/Embedding.coffee b/src/Linkification/Embedding.coffee index 4a03b8bbf..4f9b66aff 100644 --- a/src/Linkification/Embedding.coffee +++ b/src/Linkification/Embedding.coffee @@ -124,7 +124,8 @@ Embedding = {key, uid, link} = data return if not (service = Embedding.types[key].preview) $.on link, 'mouseover', (e) -> - src = service uid + src = service.url uid + {height} = service el = $.el 'img', src: src id: 'ihover' @@ -134,6 +135,7 @@ Embedding = el: el latestEvent: e endEvents: 'mouseout click' + height: height cb: click: (e) -> @@ -434,5 +436,7 @@ Embedding = for item in data.items when item.id is uid return item.snippet.title 'Not Found' - preview: (uid) -> "https://img.youtube.com/vi/#{uid}/0.jpg" + preview: + url: (uid) -> "https://img.youtube.com/vi/#{uid}/0.jpg" + height: 480 ] From 2293ea3393e3597455424676b2b1b60eadbb97dc Mon Sep 17 00:00:00 2001 From: noface Date: Sun, 27 Nov 2016 01:52:12 +0100 Subject: [PATCH 6/8] Run on clones as well. --- src/Linkification/Embedding.coffee | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/Linkification/Embedding.coffee b/src/Linkification/Embedding.coffee index 4f9b66aff..08fa95a63 100644 --- a/src/Linkification/Embedding.coffee +++ b/src/Linkification/Embedding.coffee @@ -22,13 +22,19 @@ Embedding = return events: (post) -> - return unless Conf['Embedding'] - i = 0 - items = $$ '.embedder', post.nodes.comment - while el = items[i++] - $.on el, 'click', Embedding.cb.click - Embedding.cb.toggle.call el if $.hasClass el, 'embedded' - return + if Conf['Embedding'] + i = 0 + items = $$ '.embedder', post.nodes.comment + while el = items[i++] + $.on el, 'click', Embedding.cb.click + Embedding.cb.toggle.call el if $.hasClass el, 'embedded' + if Conf['Cover Preview'] + i = 0 + items = $$ '.linkify', post.nodes.comment + while el = items[i++] + data = Embedding.services el + Embedding.preview data + return process: (link, post) -> return unless Conf['Embedding'] or Conf['Link Title'] or Conf['Cover Preview'] From c9b0fad0f949dc311fe7e33124ac76f837aa26d4 Mon Sep 17 00:00:00 2001 From: noface Date: Sun, 27 Nov 2016 02:02:39 +0100 Subject: [PATCH 7/8] Accidentally used width instead of height. --- src/Linkification/Embedding.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Linkification/Embedding.coffee b/src/Linkification/Embedding.coffee index 08fa95a63..02dac8a41 100644 --- a/src/Linkification/Embedding.coffee +++ b/src/Linkification/Embedding.coffee @@ -444,5 +444,5 @@ Embedding = 'Not Found' preview: url: (uid) -> "https://img.youtube.com/vi/#{uid}/0.jpg" - height: 480 + height: 360 ] From 363993a0b29a66dab1542c630e59df9c71ba5ec7 Mon Sep 17 00:00:00 2001 From: noface Date: Sun, 27 Nov 2016 02:04:05 +0100 Subject: [PATCH 8/8] Better description in Config.coffee. --- src/config/Config.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/Config.coffee b/src/config/Config.coffee index a9ad77223..fe33bb21f 100644 --- a/src/config/Config.coffee +++ b/src/config/Config.coffee @@ -138,7 +138,7 @@ Config = ] 'Cover Preview': [ true - 'Show preview of links on hover.' + 'Show preview of supported links on hover.' 1 ] 'Embedding': [