content.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. $(function () {
  2. (function injectCSS () {
  3. var link = document.createElement('link');
  4. link.rel = 'stylesheet';
  5. link.type = 'text/css';
  6. link.href = '#';
  7. link.id = 'theme';
  8. document.head.appendChild(link);
  9. }());
  10. $('body').addClass('markdown-body');//github
  11. $('pre').attr('id', 'markdown').hide();
  12. chrome.extension.sendMessage({
  13. message: 'markdown',
  14. markdown: $('#markdown').text()
  15. }, function (res) {
  16. $('body').append('<div id="html">').find('#html').append(res.marked);
  17. Prism.highlightAll();
  18. });
  19. chrome.extension.sendMessage({
  20. message: 'settings',
  21. }, function (data) {
  22. $('#theme').attr('href', chrome.extension.getURL('/themes/'+data.theme+'.css'));
  23. $('#theme').attr('disabled', data.raw);
  24. $('#markdown')[data.raw?'show':'hide']();
  25. $('#html')[data.raw?'hide':'show']();
  26. });
  27. });
  28. chrome.extension.onMessage.addListener(function (req, sender, sendResponse) {
  29. switch (req.message) {
  30. case 'reload':
  31. window.location.reload(true);
  32. break;
  33. case 'theme':
  34. $('#theme').attr('href', chrome.extension.getURL('/themes/'+req.theme+'.css'));
  35. break;
  36. case 'raw':
  37. $('#theme').attr('disabled', !($('#theme').attr('disabled') == 'disabled'));
  38. $('#markdown, #html').toggle();
  39. break;
  40. }
  41. });