inject.js 975 B

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