|
@@ -10,13 +10,38 @@ chrome.storage.sync.get((sync) => {
|
|
|
if (sync.raw === undefined) {
|
|
if (sync.raw === undefined) {
|
|
|
chrome.storage.sync.set({raw: false})
|
|
chrome.storage.sync.set({raw: false})
|
|
|
}
|
|
}
|
|
|
|
|
+ if (!sync.path) {
|
|
|
|
|
+ chrome.storage.sync.set({path:
|
|
|
|
|
+ '/.*\\/.*\\.(?:markdown|mdown|mkdn|md|mkd|mdwn|mdtxt|mdtext|text)(?:#.*)?$/'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
chrome.tabs.onUpdated.addListener((id, info, tab) => {
|
|
chrome.tabs.onUpdated.addListener((id, info, tab) => {
|
|
|
- if (info.status === 'complete') return
|
|
|
|
|
- if (/.*\/.*\.(?:markdown|mdown|mkdn|md|mkd|mdwn|mdtxt|mdtext|text)(?:#.*)?$/
|
|
|
|
|
- .test(tab.url)) {
|
|
|
|
|
- chrome.pageAction.show(id)
|
|
|
|
|
|
|
+ if (info.status === 'loading') {
|
|
|
|
|
+ chrome.tabs.executeScript(id, {
|
|
|
|
|
+ code: 'document.querySelector("pre").style.display = "none";location.href',
|
|
|
|
|
+ runAt: 'document_start'
|
|
|
|
|
+ }, (href) => {
|
|
|
|
|
+ if (chrome.runtime.lastError) {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ chrome.storage.sync.get('path', (res) => {
|
|
|
|
|
+ if (new RegExp(res.path).test(href)) {
|
|
|
|
|
+ chrome.tabs.insertCSS(id, {file: 'css/content.css', runAt: 'document_start'})
|
|
|
|
|
+ chrome.tabs.insertCSS(id, {file: 'css/prism.css', runAt: 'document_start'})
|
|
|
|
|
+ chrome.tabs.executeScript(id, {file: 'vendor/mithril.min.js', runAt: 'document_start'})
|
|
|
|
|
+ chrome.tabs.executeScript(id, {file: 'vendor/prism.js', runAt: 'document_start'})
|
|
|
|
|
+ chrome.tabs.executeScript(id, {file: 'content/content.js', runAt: 'document_start'})
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ chrome.tabs.executeScript(id, {
|
|
|
|
|
+ code: 'document.querySelector("pre").style.display = "block"',
|
|
|
|
|
+ runAt: 'document_start'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
@@ -49,6 +74,11 @@ chrome.extension.onMessage.addListener((req, sender, sendResponse) => {
|
|
|
chrome.storage.sync.set({raw: req.raw}, sendResponse)
|
|
chrome.storage.sync.set({raw: req.raw}, sendResponse)
|
|
|
sendMessage({message: 'raw', raw: req.raw})
|
|
sendMessage({message: 'raw', raw: req.raw})
|
|
|
}
|
|
}
|
|
|
|
|
+ else if (req.message === 'advanced') {
|
|
|
|
|
+ chrome.management.getSelf((extension) => {
|
|
|
|
|
+ chrome.tabs.create({url: extension.optionsUrl}, sendResponse)
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
return true
|
|
return true
|
|
|
})
|
|
})
|