You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
3.4 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. $(document).ready(function() {
  2. parseMd()
  3. });
  4. function parseMd() {
  5. var GITHUB = 'https://raw.githubusercontent.com/gto76/python-cheatsheet/master/README.md'
  6. jQuery.get(GITHUB, function(text) {
  7. var converter = new showdown.Converter()
  8. html = converter.makeHtml(text)
  9. aDiv = $('#main_container')
  10. nodes = $.parseHTML(html)
  11. aDiv.after(nodes);
  12. insertLinks()
  13. d3.selectAll("code").each(function() { hljs.highlightBlock(this); });
  14. removeOrigToc()
  15. addToc()
  16. });
  17. }
  18. function insertLinks() {
  19. $('h2').each(function() {
  20. aId = $(this).attr('id')
  21. $(this).append('<a href="#'+aId+'" name="'+aId+'">#</a>')
  22. })
  23. }
  24. function removeOrigToc() {
  25. headerContents = $('#contents')
  26. contentsList = headerContents.next()
  27. headerContents.remove()
  28. contentsList.remove()
  29. }
  30. function addToc() {
  31. headerMain = $('#main')
  32. nodes = $.parseHTML(TOC)
  33. headerMain.before(nodes)
  34. }
  35. var TOC = '<br>' +
  36. '<h2 id="toc">Contents<a href="#toc" name="toc">#</a></h2>\n' +
  37. '<pre><code class="hljs bash"><strong>ToC</strong> = {\n' +
  38. ' <strong><span class="hljs-string">\'1. Collections\'</span></strong>: [<a href="#list">List</a>, <a href="#dictionary">Dict</a>, <a href="#set">Set</a>, <a href="#range">Range</a>, <a href="#enumerate">Enumerate</a>, <a href="#namedtuple">Namedtuple</a>, <a href="#iterator">Iterator</a>, <a href="#generator">Generator</a>],\n' +
  39. ' <strong><span class="hljs-string">\'2. Types\'</span></strong>: [<a href="#type">Type</a>, <a href="#string">String</a>, <a href="#regex">Regex</a>, <a href="#format">Format</a>, <a href="#numbers">Numbers</a>, <a href="#combinatorics">Combinatorics</a>, <a href="#datetime">Datetime</a>ᴺᴱᵂ],\n' +
  40. ' <strong><span class="hljs-string">\'3. Syntax\'</span></strong>: [<a href="#arguments">Arguments</a>, <a href="#splatoperator">Splat</a>, <a href="#inline">Inline</a>, <a href="#closure">Closure</a>, <a href="#decorator">Decorator</a>, <a href="#class">Class</a>, <a href="#enum">Enum</a>, <a href="#exceptions">Exceptions</a>],\n' +
  41. ' <strong><span class="hljs-string">\'4. System\'</span></strong>: [<a href="#print">Print</a>, <a href="#input">Input</a>, <a href="#commandlinearguments">Command_Line_Arguments</a>, <a href="#open">Open</a>, <a href="#path">Path</a>ᴺᴱᵂ, <a href="#commandexecution">Command_Execution</a>],\n' +
  42. ' <strong><span class="hljs-string">\'5. Data\'</span></strong>: [<a href="#csv">CSV</a>, <a href="#json">JSON</a>, <a href="#pickle">Pickle</a>, <a href="#sqlite">SQLite</a>, <a href="#bytes">Bytes</a>, <a href="#struct">Struct</a>, <a href="#array">Array</a>, <a href="#memoryview">MemoryView</a>, <a href="#deque">Deque</a>],\n' +
  43. ' <strong><span class="hljs-string">\'6. Advanced\'</span></strong>: [<a href="#threading">Threading</a>, <a href="#introspection">Introspection</a>, <a href="#metaprograming">Metaprograming</a>, <a href="#operator">Operator</a>, <a href="#eval">Eval</a>, <a href="#coroutine">Coroutine</a>],\n' +
  44. ' <strong><span class="hljs-string">\'7. Libraries\'</span></strong>: [<a href="#progressbar">Progress_Bar</a>, <a href="#plot">Plot</a>, <a href="#table">Table</a>, <a href="#curses">Curses</a>, <a href="#logging">Logging</a>ᴺᴱᵂ, <a href="#scraping">Scraping</a>, <a href="#web">Web</a>, <a href="#profile">Profile</a>,\n' +
  45. ' <a href="#numpy">NumPy</a>, <a href="#image">Image</a>, <a href="#audio">Audio</a>]\n' +
  46. '}\n' +
  47. '</code></pre>\n'