PySide Qt Document Links

Add PySide/Qt document cross reference links

As of 2014-05-17. See the latest version.

  1. // ==UserScript==
  2. // @name PySide Qt Document Links
  3. // @namespace qixinglu.com
  4. // @description Add PySide/Qt document cross reference links
  5. // @grant none
  6. // @include http://qt-project.org/doc/qt-4.8/*.html*
  7. // @include http://srinikom.github.com/pyside-docs/PySide/*.html
  8. // @version 0.0.1.20140517140355
  9. // ==/UserScript==
  10.  
  11. function pyside_link() {
  12. var prefix = 'http://srinikom.github.com/pyside-docs/PySide/';
  13. var nodes = document.querySelectorAll('.product');
  14. var moduleName = nodes[1].textContent.trim();
  15. var objectName = nodes[2].textContent.replace('Class Reference', '').trim();
  16. var url = prefix + moduleName + '/' + objectName + '.html';
  17. var link = document.createElement('a');
  18. link.href = url;
  19. link.textContent = 'Pyside document page';
  20. var breadcrumb = document.querySelector('li.breadcrumbs-docscontainer');
  21. breadcrumb.replaceChild(link, breadcrumb.firstElementChild);
  22. }
  23.  
  24. function qt_link() {
  25. var prefix = 'http://qt-project.org/doc/qt-4.8/';
  26. var objectName = document.querySelector('title').textContent.split(' ')[0];
  27. var url = prefix + objectName.toLowerCase() + '.html';
  28. var link = document.createElement('a');
  29. link.href = url;
  30. link.textContent = 'Qt document page';
  31. link.style.cssText = 'float: right; margin-right: 10px;';
  32. var h1Node = document.getElementsByTagName('h1')[0];
  33. h1Node.appendChild(link);
  34. }
  35.  
  36. if (location.href.indexOf('qt-project.org') === -1) {
  37. qt_link();
  38. } else {
  39. pyside_link();
  40. }