inject.js 910 B

123456789101112131415161718192021222324
  1. md.inject = ({storage: {state}}) => (id) => {
  2. chrome.tabs.executeScript(id, {
  3. code: `
  4. document.querySelector('pre').style.visibility = 'hidden'
  5. var theme = '${state.theme}'
  6. var raw = ${state.raw}
  7. var content = ${JSON.stringify(state.content)}
  8. var compiler = '${state.compiler}'
  9. `,
  10. runAt: 'document_start'
  11. })
  12. chrome.tabs.insertCSS(id, {file: 'css/content.css', runAt: 'document_start'})
  13. chrome.tabs.insertCSS(id, {file: 'vendor/prism.min.css', runAt: 'document_start'})
  14. chrome.tabs.executeScript(id, {file: 'vendor/mithril.min.js', runAt: 'document_start'})
  15. chrome.tabs.executeScript(id, {file: 'vendor/prism.min.js', runAt: 'document_start'})
  16. if (state.content.emoji) {
  17. chrome.tabs.executeScript(id, {file: 'content/emoji.js', runAt: 'document_start'})
  18. }
  19. chrome.tabs.executeScript(id, {file: 'content/content.js', runAt: 'document_start'})
  20. }