-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextension.js
41 lines (33 loc) · 1.37 KB
/
extension.js
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
const blacklistRegex = /facebook|fb\.me|wikipedia|twitter|(nyt)(i\.?me?s)?|instagram/g
const articleHed = document.querySelector('article header')
let articleLinks = document.querySelectorAll('article a[target="_blank"][title]')
articleLinks = [...articleLinks].map(elt => elt.href).filter(url => !url.match(blacklistRegex));
const outerDiv = document.createElement('details')
outerDiv.className = 'srclist-wrapper'
outerDiv.innerHTML = '<summary></span><span id="src-count" class="scitimes-loader"></span>References</summary>'
articleHed.append(outerDiv);
const sourceDiv = document.createElement('div')
const srcCount = document.getElementById('src-count')
sourceDiv.className = 'scitimes-srclist'
outerDiv.appendChild(sourceDiv);
console.log('links', articleLinks);
chrome.runtime.sendMessage({
method: 'GET',
urls: articleLinks
}, (res) => {
if (!res) return
// set length div
srcCount.classList = ['srclist-number']
srcCount.innerHTML = `${res.length}`
res.forEach(articleData => {
// destructure properties
const {journal_title, title, url} = articleData
// create div for each source
const linkNode = document.createElement('a')
linkNode.className = 'scitimes-source'
linkNode.innerHTML = `${journal_title}<div class="src-title">${title}</div>`
linkNode.href = url
// Append to source list div
sourceDiv.appendChild(linkNode)
})
})