copy_jianshu_to_csdn_and_segmentfault

将简书文章复制到csdn和思否编辑器中

  1. // ==UserScript==
  2. // @name copy_jianshu_to_csdn_and_segmentfault
  3. // @namespace https://github.com/techstay/myscripts
  4. // @version 0.1
  5. // @description 将简书文章复制到csdn和思否编辑器中
  6. // @author techstay
  7. // @match https://editor.csdn.net/md/
  8. // @match https://segmentfault.com/write
  9. // @match https://www.jianshu.com/writer*
  10. // @require https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js
  11. // @require https://cdn.bootcss.com/jqueryui/1.12.1/jquery-ui.min.js
  12. // @grant GM_setValue
  13. // @grant GM_getValue
  14. // @grant GM_deleteValue
  15. // @grant unsafeWindow
  16. // @grant GM_setClipboard
  17. // @grant window.close
  18. // @grant window.focus
  19. // @grant GM_openInTab
  20. // ==/UserScript==
  21. (function () {
  22. 'use strict';
  23.  
  24. const SF_URL = 'https://segmentfault.com/write'
  25. const CSDN_URL = 'https://editor.csdn.net/md/'
  26.  
  27. const SF_TITLE = 'sf_title'
  28. const SF_CONTENT = 'sf_content'
  29. const CSDN_TITLE = 'csdn_title'
  30. const CSDN_CONTENT = 'csdn_content'
  31.  
  32. function saveArticle() {
  33. GM_setValue(CSDN_TITLE, $('._24i7u').val())
  34. GM_setValue(CSDN_CONTENT, $('#arthur-editor').val())
  35. GM_setValue(SF_TITLE, $('._24i7u').val())
  36. GM_setValue(SF_CONTENT, $('#arthur-editor').val())
  37. }
  38.  
  39. function copyToCsdn() {
  40. var title = GM_getValue(CSDN_TITLE, '')
  41. var content = GM_getValue(CSDN_CONTENT, '')
  42. if (title != '' && content != '') {
  43. $('.article-bar__title').delay(2000).queue(function () {
  44. $('.article-bar__title').val(title)
  45. $('.editor__inner').text(content)
  46. GM_deleteValue(CSDN_TITLE)
  47. GM_deleteValue(CSDN_CONTENT)
  48. $(this).dequeue()
  49. })
  50. }
  51. }
  52.  
  53. function copyToSegmentFault() {
  54. $(document).ready(function () {
  55. var title = GM_getValue(SF_TITLE, '')
  56. var content = GM_getValue(SF_CONTENT, '')
  57. if (title != '' && content != '') {
  58. $('#title').delay(2000).queue(function () {
  59. $('#title').val(title)
  60. GM_setClipboard(content, 'text')
  61. GM_deleteValue(SF_TITLE)
  62. GM_deleteValue(SF_CONTENT)
  63. $(this).dequeue()
  64. })
  65.  
  66. }
  67. })
  68.  
  69. }
  70.  
  71. function addCopyButton() {
  72. $('body').append('<div id="copyToCS">双击复制到CSDN和思否</div>')
  73. $('#copyToCS').css('width', '200px')
  74. $('#copyToCS').css('position', 'absolute')
  75. $('#copyToCS').css('top', '70px')
  76. $('#copyToCS').css('left', '350px')
  77. $('#copyToCS').css('background-color', '#28a745')
  78. $('#copyToCS').css('color', 'white')
  79. $('#copyToCS').css('font-size', 'large')
  80. $('#copyToCS').css('z-index', 100)
  81. $('#copyToCS').css('border-radius', '25px')
  82. $('#copyToCS').css('text-align', 'center')
  83. $('#copyToCS').dblclick(function () {
  84. saveArticle()
  85. GM_openInTab(SF_URL, true)
  86. GM_openInTab(CSDN_URL, true)
  87. })
  88. $('#copyToCS').draggable()
  89. }
  90.  
  91. $(document).ready(function () {
  92. if (window.location.href.startsWith('https://www.jianshu.com')) {
  93. addCopyButton()
  94. } else if (window.location.href.startsWith(SF_URL)) {
  95. copyToSegmentFault()
  96. } else if (window.location.href.startsWith(CSDN_URL)) {
  97. copyToCsdn()
  98. }
  99. })
  100. })()