From 4b5a996711b7fc1e5041abab13c7ea2ecfdc9ae7 Mon Sep 17 00:00:00 2001 From: Foair Date: Fri, 25 May 2018 09:32:20 +0800 Subject: [PATCH] 2018-05-25 --- .nojekyll | 0 CNAME | 1 + README.md | 29 +++++++++++ _sidebar.md | 21 ++++++++ advance/cli.md | 65 ++++++++++++++++++++++++ advance/patch.md | 25 ++++++++++ basic.md | 99 +++++++++++++++++++++++++++++++++++++ docsify.min.js | 1 + faq.md | 16 ++++++ feedback.md | 11 +++++ future-plan.md | 17 +++++++ images/fwwbgojaq.png | Bin 0 -> 8884 bytes images/fwwbog-g.svg | 1 + images/fwwboi6w.svg | 1 + images/fwwboueaa.png | Bin 0 -> 6025 bytes images/fwwbougw.png | Bin 0 -> 6353 bytes images/fwwddzw.png | Bin 0 -> 85714 bytes images/fwwdfgoa.png | Bin 0 -> 32037 bytes index.html | 26 ++++++++++ knack.md | 26 ++++++++++ known-issues.md | 9 ++++ notice.md | 23 +++++++++ quick-start.md | 47 ++++++++++++++++++ specific/cnmooc.md | 3 ++ specific/icourse163.md | 40 +++++++++++++++ specific/icourses.md | 3 ++ specific/study-163-mooc.md | 42 ++++++++++++++++ specific/xuetangx.md | 33 +++++++++++++ video-tutorial.md | 28 +++++++++++ vue.css | 1 + 30 files changed, 568 insertions(+) create mode 100644 .nojekyll create mode 100644 CNAME create mode 100644 README.md create mode 100644 _sidebar.md create mode 100644 advance/cli.md create mode 100644 advance/patch.md create mode 100644 basic.md create mode 100644 docsify.min.js create mode 100644 faq.md create mode 100644 feedback.md create mode 100644 future-plan.md create mode 100644 images/fwwbgojaq.png create mode 100644 images/fwwbog-g.svg create mode 100644 images/fwwboi6w.svg create mode 100644 images/fwwboueaa.png create mode 100644 images/fwwbougw.png create mode 100644 images/fwwddzw.png create mode 100644 images/fwwdfgoa.png create mode 100644 index.html create mode 100644 knack.md create mode 100644 known-issues.md create mode 100644 notice.md create mode 100644 quick-start.md create mode 100644 specific/cnmooc.md create mode 100644 specific/icourse163.md create mode 100644 specific/icourses.md create mode 100644 specific/study-163-mooc.md create mode 100644 specific/xuetangx.md create mode 100644 video-tutorial.md create mode 100644 vue.css diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..5556e27 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +mooc.xoy.io \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1808b89 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# 简介 + +## Course Crawler + +?> 部分功能在程序中尚未实现,在本文档中写出只起占位的作用,以后会逐步实现。 + +一个基于 Python 3 的 MOOC 课程内容获取工具,方便离线观看。 + +支持 [中国大学MOOC](https://www.icourse163.org/)、[学堂在线](http://www.xuetangx.com/)、[网易云课堂 MOOC 课程](http://mooc.study.163.com/)、~~[好大学在线](http://www.cnmooc.org/)~~、~~[爱课程](http://www.icourses.cn/)~~。 + +结构齐全、命名规范,可以很方便定位和查找。 + +![支持哪些](images/fwwbog-g.svg) + +[下载最新程序](https://github.com/Foair/course-crawler/archive/master.zip) 或 [前往 GitHub](https://github.com/Foair/course-crawler) + +## 中文 MOOC 平台 + +**中国大学MOOC** 是国内优质的中文 MOOC 学习平台,由爱课程网携手·网易云课堂·打造。大多数的名校都有一定数量课程,如北京大学、浙江大学、哈尔滨工业大学等。 + +**学堂在线** 是清华大学发起的精品中文慕课平台。主要是 **清华大学** 的课程。 + +**好大学在线** 是上海交通大学拥有的中国顶尖慕课平台。主要是 **上海交通大学** 的课程。 + +**网易云课堂 MOOC 课程** 主要是 [顶尖中文大学计算机专业课程体系](http://study.163.com/curricula/cs.htm) 和 [深度学习工程师微专业](http://mooc.study.163.com/smartSpec/detail/1001319001.htm) 等课程。 + +**爱课程** 网的资源多,但总体比较陈旧。 + +![MOOC 平台](images/fwwboi6w.svg) diff --git a/_sidebar.md b/_sidebar.md new file mode 100644 index 0000000..828fb33 --- /dev/null +++ b/_sidebar.md @@ -0,0 +1,21 @@ +* [简介](/) +* [快速开始](quick-start.md) +* [视频速览(演示)](video-tutorial.md) +* 具体操作 + * [中国大学MOOC](specific/icourse163.md) + * [学堂在线](specific/xuetangx.md) + * [好大学在线](specific/cnmooc.md) + * [爱课程](specific/icourses.md) + * [网易云课堂 MOOC 课程](specific/study-163-mooc.md) + +* [深入了解](basic.md) +* 进阶使用 + * [命令行参数](advance/cli.md) + * [修改默认值](advance/patch.md) + +* [FAQ](faq.md) +* [反馈和建议](feedback.md) +* [已知问题](known-issues.md) +* [一些技巧/建议](knack.md) +* [未来可能的计划](future-plan.md) +* [告示板](notice.md) diff --git a/advance/cli.md b/advance/cli.md new file mode 100644 index 0000000..4fbae57 --- /dev/null +++ b/advance/cli.md @@ -0,0 +1,65 @@ +# 命令行参数 + +## 显示帮助信息 + +> `-h` `--help` 用于显示帮助信息。 + +输入 `python mooc.py -h` 或 `python mooc.py --help`。 + +## 指定下载目录 + +> `-d ` 用于指定下载目录为 ``。 + +课程文件夹将在创建在 `` 中。默认创建在当前目录,即 `-d ""`。 + +示例 + +```cmd +python mooc.py https://www.icourse163.org/course/TONGJI-53004 -d "G:\MOOCs" +``` + +!> `` 不能以 `\` 结尾;当 `` 存在空格的时候,必须使用 `"` 将路径包裹起来。 + +## 不下载 PDF + +> `--no-pdf` 用于阻止下载 PDF 文档。 + +默认会下载所有 PDF 课件。 + + +当指定了这个选项之后,不会下载任何 PDF 文件(包括 PPT 和书籍等)。 + +示例 + +```cmd +python mooc.py https://www.icourse163.org/course/TONGJI-53004 --no-pdf +``` + +?> 指定这个选项,仅仅是不下载 PDF 格式的文件,千万不要认为有 Word 或 PowerPoint 文档可以下载。 + + +## 修正视频/文档名 + +!> 未完成。 + +> `-i` 用于修改文件名。 + +会调出文件编辑器,编辑好视频的名字之后保存。默认没有启用。 + +## 不下载字幕 + +!> 未完成。 + +> `--no-sub` 用于阻止下载字幕。 + +## 不下载富文本 + +!> 未完成。 + +> `--no-text` 用于阻止下载富文本。 + +## 不下载附件 + +!> 未完成。 + +> `--no-file` 用于阻止下载附件。 diff --git a/advance/patch.md b/advance/patch.md new file mode 100644 index 0000000..6ab8336 --- /dev/null +++ b/advance/patch.md @@ -0,0 +1,25 @@ +# 修改默认值 + +## 修改默认获取目录 + +如果不想每次都指定获取目录的话,可以修改 `mooc.py`,找到如下行: + +```python + parser.add_argument('-d', default=r'G:\MOOCs', help='下载目录') +``` + +将 `G:\MOOCs` 替换为想要的文件夹即可。 + +## 默认启用某个选项 + +修改 `mooc.py`,将选项所在 `store_false` 或 `store_true` 切换一下就行了。 + +示例 + +如果我想默认不下载 PDF,那么将 `--no-pdf` 所在的那一行的 `store_false` 改了就行了,改成这样 + +```python + parser.add_argument('--no-pdf', action='store_true', help='不下载 PDF 文档') +``` + +这样默认就不会下载 PDF,而如果在命令中使用了 `--no-pdf` 就会下载 PDF 了。 diff --git a/basic.md b/basic.md new file mode 100644 index 0000000..aee04a4 --- /dev/null +++ b/basic.md @@ -0,0 +1,99 @@ +# 深入了解 + +## 各个模块 + +- `mooc.py`:主程序 +- `icourse.py`:中国大学MOOC·模块 +- `study.py`:网易云课堂 MOOC 模块 +- `xuetangx.py`:学堂在线·模块 + +## 课程目录结构 + +课程的目录可能有如下文件或目录 + +```text + +|-- Outline.txt +|-- Playlist.dpl +|-- Files/ +|-- PDFs/ +|-- Texts/ +`-- Videos/ + |-- Rename.bat + `-- Videos.txt +``` + +### 课程大纲/目录 + +`Outline.txt` 是课程的大纲,它的内容类似 + +```text +6.1 空间直角坐标系及向量 {1} + 6.1.1 空间直角坐标系的基本概念 {1.1} + 6.1.1 空间直角坐标系的基本概念(视频) {1.1.1}# + 6.1.1 空间直角坐标系的基本概念(PPT) {1.1.1}+ + 6.1.1 空间直角坐标系的基本概念(PPT) 空间直角坐标系的基本概念.rar {1.1.1}! +... +``` + +每个级别依次增加 2 个空格的缩进,`{}` 之间的是程序生成的编号,用来唯一标识一个资源(比如视频、富文本等等)。 + +`{1.1.1}` 说明该视频文件以 `1.1.1` 开头,可以在 `Videos/` 中找到。如此可以方便地找到视频。 + +有些后面可能有奇怪的符号,比如 `{1.1.1}+` 的后面有个 `+`。下面是符号的说明: + +- `#`:视频,可以下载到 `Videos/` +- `*`:课件,一般是 PDF 文件,位于 `PDFs/` +- `+`:富文本,一般是 HTML 文件,位于 `Texts/` +- `!`:附件,位于 `Files/` +- `&`:字幕,位于 `Videos/` + +### 视频地址 + +`Videos.txt` 是视频的链接,它的内容类似 + +```text +http://v.stu.126.net/mooc-video/nos/mp4/2017/02/21/1005820377_aa6e1b0d92314cdfaf6dcad3351b3533_shd.mp4?ak=99ed7479ee303d1b1361b0ee5a4abcee11069a7277fd2bfbd983de77f6586b3ab4d3781458cdbd61bf0041fae59dee85cb91769ba5850a28845217d0bc9bfb580015e48ffc49c659b128bfe612dda086d65894b8ef217f1626539e3c9eb40879c29b730d22bdcadb1b4f67996129275fa4c38c6336120510aea1ae1790819de86e0fa3e09eeabea1b068b3d9b9b6597acf0c219eb000a69c12ce9d568813365b3e099fcdb77c69ca7cd6141d92c122af +http://v.stu.126.net/mooc-video/nos/mp4/2017/02/21/1005822368_a91783c5f05a49e29960d24f1dc06f15_shd.mp4?ak=99ed7479ee303d1b1361b0ee5a4abcee11069a7277fd2bfbd983de77f6586b3a33090c48273cc5e338f1d269a2b016013857294759d07b499e26c45d788128b30015e48ffc49c659b128bfe612dda086d65894b8ef217f1626539e3c9eb40879c29b730d22bdcadb1b4f67996129275fa4c38c6336120510aea1ae1790819de86e0fa3e09eeabea1b068b3d9b9b6597acf0c219eb000a69c12ce9d568813365b3e099fcdb77c69ca7cd6141d92c122af +... +``` + +复制到下载工具下载,比如 [aria2](https://github.com/aria2/aria2/releases)、[迅雷](http://dl.xunlei.com/) 等,也可以直接在浏览器中打开。 + +!> 建议下载到 `Videos/` 中,可以使用 `Rename.bat` 进行重命名,有字幕也会自动加载,也方便管理。 + +### 视频文件名 + +`Rename.bat` 用于将视频重命名,它的内容类似 + +```text +CHCP 65001 + +REN "1005820377_aa6e1b0d92314cdfaf6dcad3351b3533_shd.mp4" "1.1.1 空间直角坐标系的基本概念(视频).mp4" +REN "1005822368_a91783c5f05a49e29960d24f1dc06f15_shd.mp4" "1.2.1 向量的坐标表示(视频).mp4" +REN "1005817378_500b5301360f49c18c6f8d3406959cf5_shd.mp4" "1.3.1 向量的模、方向余弦、投影(视频).mp4" +REN "1005821395_ff485bb1e65145ec90bf04a259eb6b0e_shd.mp4" "2.1.1 向量的数量积(视频).mp4" +REN "1005821396_9180e5908bc847548a8db625af9b1ad7_shd.mp4" "2.2.1 向量的数量积(续)(视频).mp4" +REN "1005817386_18d7ede415ec4cb5befa71a9d790ce0f_shd.mp4" "2.3.1 向量的向量积(视频).mp4" +REN "1005822373_8bf3846066e045cda306bd7d27e38786_shd.mp4" "2.4.1 向量的向量积(续)(视频).mp4" +REN "1005899086_7780acc4ac074ed89b6301e41349a2c1_shd.mp4" "3.1.1 平面方程(视频).mp4" +... +``` + +下载下来的视频文件名是一团糟的,比如 + +```text +1005820377_aa6e1b0d92314cdfaf6dcad3351b3533_shd.mp4 +``` + +当视频和这个文件在同一个文件夹的时候,双击该文件,视频的文件名就清晰整齐了,也会按照章节次序排列。 + +### 播放列表 + +打开 `Playlist.dpl` 即可播放 `Vidoes/` 中的视频。 + +?> 由于文件系统的限制,特殊字符比如 `"` `/` `\` 都不允许出现在文件名中,所以文件名中的特殊字符是被删除的。假如原视频的标题是「有 3/4 的概率会下雨」,就会变成 `有 34 的概率会下雨`,就很奇怪吧。而播放的列表就可以解决这个问题,在播放列表中会显示 `有 3/4 的概率会下雨`。 + +### 说明 + +学堂在线暂时只有 `Books`,没有 `PDFs`,因为如果提供 PPT 的话,在讲义那一栏就有链接可以下载。 diff --git a/docsify.min.js b/docsify.min.js new file mode 100644 index 0000000..f040300 --- /dev/null +++ b/docsify.min.js @@ -0,0 +1 @@ +!function(){function e(e){var t=Object.create(null);return function(n){var r=i(n)?n:JSON.stringify(n);return t[r]||(t[r]=e(n))}}var t=e(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),n=Object.prototype.hasOwnProperty,r=Object.assign||function(e){for(var t=arguments,r=1;r=i.length)r(n);else if("function"==typeof t)if(2===t.length)t(n,function(t){n=t,o(e+1)});else{var a=t(n);n=void 0===a?n:a,o(e+1)}else o(e+1)};o(0)}var l=!0,c=l&&document.body.clientWidth<=600,u=l&&window.history&&window.history.pushState&&window.history.replaceState&&!navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/),h={};function p(e,t){if(void 0===t&&(t=!1),"string"==typeof e){if(void 0!==window.Vue)return m(e);e=t?m(e):h[e]||(h[e]=m(e))}return e}var d=l&&document,g=l&&d.body,f=l&&d.head;function m(e,t){return t?e.querySelector(t):d.querySelector(e)}function v(e,t){return[].slice.call(t?e.querySelectorAll(t):d.querySelectorAll(e))}function b(e,t){return e=d.createElement(e),t&&(e.innerHTML=t),e}function y(e,t){return e.appendChild(t)}function k(e,t){return e.insertBefore(t,e.children[0])}function w(e,t,n){o(t)?window.addEventListener(e,t):e.addEventListener(t,n)}function x(e,t,n){o(t)?window.removeEventListener(e,t):e.removeEventListener(t,n)}function _(e,t,n){e&&e.classList[n?t:"toggle"](n||t)}var S=Object.freeze({getNode:p,$:d,body:g,head:f,find:m,findAll:v,create:b,appendTo:y,before:k,on:w,off:x,toggleClass:_,style:function(e){y(f,b("style",e))}});function C(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
  • '+e.title+"
  • ",e.children&&(t+='
    • '+C(e.children)+"
    ")}),t):""}function L(e,t){return'

    '+t.slice(5).trim()+"

    "}var E,A;function $(e){var t,n=e.loaded,r=e.total,i=e.step;!E&&function(){var e=b("div");e.classList.add("progress"),y(g,e),E=e}(),t=i?(t=parseInt(E.style.width||0,10)+i)>80?80:t:Math.floor(n/r*100),E.style.opacity=1,E.style.width=t>=95?"100%":t+"%",t>=95&&(clearTimeout(A),A=setTimeout(function(e){E.style.opacity=0,E.style.width="0%"},200))}var T={};function P(e,t,r){void 0===t&&(t=!1),void 0===r&&(r={});var i=new XMLHttpRequest,o=function(){i.addEventListener.apply(i,arguments)},s=T[e];if(s)return{then:function(e){return e(s.content,s.opt)},abort:a};i.open("GET",e);for(var l in r)n.call(r,l)&&i.setRequestHeader(l,r[l]);return i.send(),{then:function(n,r){if(void 0===r&&(r=a),t){var s=setInterval(function(e){return $({step:Math.floor(5*Math.random()+1)})},500);o("progress",$),o("loadend",function(e){$(e),clearInterval(s)})}o("error",r),o("load",function(t){var a=t.target;if(a.status>=400)r(a);else{var o=T[e]={content:a.response,opt:{updatedAt:i.getResponseHeader("last-modified")}};n(o.content,o.opt)}})},abort:function(e){return 4!==i.readyState&&i.abort()}}}function F(e,t){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,t)}var O=/([^{]*?)\w(?=\})/g,M={YYYY:"getFullYear",YY:"getYear",MM:function(e){return e.getMonth()+1},DD:"getDate",HH:"getHours",mm:"getMinutes",ss:"getSeconds"};var N="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function j(e,t){return e(t={exports:{}},t.exports),t.exports}var q=j(function(e,t){(function(){var t={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:p,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:p,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:p,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};t.bullet=/(?:[*+-]|\d+\.)/,t.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,t.item=l(t.item,"gm")(/bull/g,t.bullet)(),t.list=l(t.list)(/bull/g,t.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+t.def.source+")")(),t.blockquote=l(t.blockquote)("def",t.def)(),t._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",t.html=l(t.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,t._tag)(),t.paragraph=l(t.paragraph)("hr",t.hr)("heading",t.heading)("lheading",t.lheading)("blockquote",t.blockquote)("tag","<"+t._tag)("def",t.def)(),t.normal=d({},t),t.gfm=d({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=l(t.paragraph)("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|")(),t.tables=d({},t.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function n(e){this.tokens=[],this.tokens.links={},this.options=e||g.defaults,this.rules=t.normal,this.options.gfm&&(this.options.tables?this.rules=t.tables:this.rules=t.gfm)}n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},n.prototype.token=function(e,n,r){var i,a,o,s,l,c,u,h,p;for(e=e.replace(/^ +$/gm,"");e;)if((o=this.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&this.tokens.push({type:"space"})),o=this.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?o:o.replace(/\n+$/,"")});else if(o=this.rules.fences.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"code",lang:o[2],text:o[3]||""});else if(o=this.rules.heading.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if(n&&(o=this.rules.nptable.exec(e))){for(e=e.substring(o[0].length),c={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/\n$/,"").split("\n")},h=0;h ?/gm,""),this.token(o,n,!0),this.tokens.push({type:"blockquote_end"});else if(o=this.rules.list.exec(e)){for(e=e.substring(o[0].length),s=o[2],this.tokens.push({type:"list_start",ordered:s.length>1}),i=!1,p=(o=o[0].match(this.rules.item)).length,h=0;h1&&l.length>1||(e=o.slice(h+1).join("\n")+e,h=p-1)),a=i||/\n\n(?!\s*$)/.test(c),h!==p-1&&(i="\n"===c.charAt(c.length-1),a||(a=i)),this.tokens.push({type:a?"loose_item_start":"list_item_start"}),this.token(c,!1,r),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(o=this.rules.html.exec(e))e=e.substring(o[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===o[1]||"script"===o[1]||"style"===o[1]),text:o[0]});else if(!r&&n&&(o=this.rules.def.exec(e)))e=e.substring(o[0].length),this.tokens.links[o[1].toLowerCase()]={href:o[2],title:o[3]};else if(n&&(o=this.rules.table.exec(e))){for(e=e.substring(o[0].length),c={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/(?: *\| *)?\n$/,"").split("\n")},h=0;h])/,autolink:/^<([^ <>]+(@|:\/)[^ <>]+)>/,url:p,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^<'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)([\s\S]*?[^`])\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:p,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,r.link=l(r.link)("inside",r._inside)("href",r._href)(),r.reflink=l(r.reflink)("inside",r._inside)(),r.normal=d({},r),r.pedantic=d({},r.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),r.gfm=d({},r.normal,{escape:l(r.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:l(r.text)("]|","~]|")("|","|https?://|")()}),r.breaks=d({},r.gfm,{br:l(r.br)("{2,}","*")(),text:l(r.gfm.text)("{2,}","*")()});function i(e,t){if(this.options=t||g.defaults,this.links=e,this.rules=r.normal,this.renderer=this.options.renderer||new a,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=r.breaks:this.rules=r.gfm:this.options.pedantic&&(this.rules=r.pedantic)}i.rules=r,i.output=function(e,t,n){return new i(t,n).output(e)},i.prototype.output=function(e){for(var t,n,r,i,a="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),a+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=s(":"===i[1].charAt(6)?this.mangle(i[1].substring(7)):this.mangle(i[1])),r=this.mangle("mailto:")+n):r=n=s(i[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):s(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,a+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),a+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),a+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),a+=this.renderer.codespan(s(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),a+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),a+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),a+=this.renderer.text(s(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),r=n=s(i[1]),a+=this.renderer.link(r,null,n);return a},i.prototype.outputLink=function(e,t){var n=s(t.href),r=t.title?s(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,s(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n};function a(e){this.options=e||{}}a.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?'
    '+(n?e:s(e,!0))+"\n
    \n":"
    "+(n?e:s(e,!0))+"\n
    "},a.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},a.prototype.html=function(e){return e},a.prototype.heading=function(e,t,n){return"'+e+"\n"},a.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},a.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"\n"},a.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},a.prototype.paragraph=function(e){return"

    "+e+"

    \n"},a.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
    \n"},a.prototype.tablerow=function(e){return"\n"+e+"\n"},a.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+"\n"},a.prototype.strong=function(e){return""+e+""},a.prototype.em=function(e){return""+e+""},a.prototype.codespan=function(e){return""+e+""},a.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},a.prototype.del=function(e){return""+e+""},a.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent((i=e,i.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return n}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return n}var i;this.options.baseUrl&&!h.test(e)&&(e=c(this.options.baseUrl,e));var a='
    "},a.prototype.image=function(e,t,n){this.options.baseUrl&&!h.test(e)&&(e=c(this.options.baseUrl,e));var r=''+n+'":">"},a.prototype.text=function(e){return e};function o(e){this.tokens=[],this.token=null,this.options=e||g.defaults,this.options.renderer=this.options.renderer||new a,this.renderer=this.options.renderer,this.renderer.options=this.options}o.parse=function(e,t,n){return new o(t,n).parse(e)},o.prototype.parse=function(e){this.inline=new i(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},o.prototype.next=function(){return this.token=this.tokens.pop()},o.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},o.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},o.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i="",a="";for(n="",e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'")}function l(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=(i=i.source||i).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function c(e,t){return u[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?u[" "+e]=e+"/":u[" "+e]=e.replace(/[^/]*$/,"")),e=u[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}var u={},h=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function p(){}p.exec=p;function d(e){for(var t,n,r=arguments,i=1;iAn error occurred:

    "+s(e.message+"",!0)+"
    ";throw e}}g.options=g.setOptions=function(e){return d(g.defaults,e),g},g.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new a,xhtml:!1,baseUrl:null},g.Parser=o,g.parser=o.parse,g.Renderer=a,g.Lexer=n,g.lexer=n.lex,g.InlineLexer=i,g.inlineLexer=i.output,g.parse=g,e.exports=g}).call(function(){return this||("undefined"!=typeof window?window:N)}())}),R=j(function(e){var t="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},n=function(){var e=/\blang(?:uage)?-(\w+)\b/i,n=0,r=t.Prism={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof i?new i(e.type,r.util.encode(e.content),e.alias):"Array"===r.util.type(e)?e.map(r.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(!(w instanceof l)){p.lastIndex=0;var x=1;if(!(A=p.exec(w))&&f&&y!=t.length-1){if(p.lastIndex=k,!(A=p.exec(e)))break;for(var _=A.index+(g?A[1].length:0),S=A.index+A[0].length,C=y,L=k,E=t.length;C=(L+=t[C].length)&&(++y,k=L);if(t[y]instanceof l||t[C-1].greedy)continue;x=C-y,w=e.slice(k,L),A.index-=k}if(A){g&&(m=A[1].length);S=(_=A.index+m)+(A=A[0].slice(m)).length;var A,$=w.slice(0,_),T=w.slice(S),P=[y,x];$&&(++y,k+=$.length,P.push($));var F=new l(c,d?r.tokenize(A,d):A,v,A,f);if(P.push(F),T&&P.push(T),Array.prototype.splice.apply(t,P),1!=x&&r.matchGrammar(e,t,n,y,k,!0,c),o)break}else if(o)break}}}}},tokenize:function(e,t,n){var i=[e],a=t.rest;if(a){for(var o in a)t[o]=a[o];delete t.rest}return r.matchGrammar(e,i,t,0,0,!1),i},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var i,a=0;i=n[a++];)i(t)}}},i=r.Token=function(e,t,n,r,i){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!i};if(i.stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map(function(n){return i.stringify(n,t,e)}).join("");var a={type:e.type,content:i.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if(e.alias){var o="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,o)}r.hooks.run("wrap",a);var s=Object.keys(a.attributes).map(function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(s?" "+s:"")+">"+a.content+""},!t.document)return t.addEventListener?(r.disableWorkerMessageHandler||t.addEventListener("message",function(e){var n=JSON.parse(e.data),i=n.language,a=n.code,o=n.immediateClose;t.postMessage(r.highlight(a,r.languages[i],i)),o&&t.close()},!1),t.Prism):t.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return a&&(r.filename=a.src,r.manual||a.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(r.highlightAll):window.setTimeout(r.highlightAll,16):document.addEventListener("DOMContentLoaded",r.highlightAll))),t.Prism}();e.exports&&(e.exports=n),void 0!==N&&(N.Prism=n),n.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),n.languages.xml=n.languages.markup,n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},n.languages.css.atrule.inside.rest=n.util.clone(n.languages.css),n.languages.markup&&(n.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:n.languages.css,alias:"language-css",greedy:!0}}),n.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:"language-css"}},n.languages.markup.tag)),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),n.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"}}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.insertBefore("markup","tag",{script:{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:n.languages.javascript,alias:"language-javascript",greedy:!0}}),n.languages.js=n.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){for(var r,i=t.getAttribute("data-src"),a=t,o=/\blang(?:uage)?-(?!\*)(\w+)\b/i;a&&!o.test(a.className);)a=a.parentNode;if(a&&(r=(t.className.match(o)||[,""])[1]),!r){var s=(i.match(/\.(\w+)$/)||[,""])[1];r=e[s]||s}var l=document.createElement("code");l.className="language-"+r,t.textContent="",l.textContent="Loading…",t.appendChild(l);var c=new XMLHttpRequest;c.open("GET",i,!0),c.onreadystatechange=function(){4==c.readyState&&(c.status<400&&c.responseText?(l.textContent=c.responseText,n.highlightElement(l)):c.status>=400?l.textContent="✖ Error "+c.status+" while fetching file: "+c.statusText:l.textContent="✖ Error: File does not exist or is empty")},c.send(null)})},document.addEventListener("DOMContentLoaded",self.Prism.fileHighlight))});function H(e,t){var n=[],r={};return e.forEach(function(e){var i=e.level||1,a=i-1;i>t||(r[a]?r[a].children=(r[a].children||[]).concat(e):n.push(e),r[i]=e)}),n}var z={},I=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g;function B(e){return e.toLowerCase()}function U(e){if("string"!=typeof e)return"";var t=e.trim().replace(/[A-Z]+/g,B).replace(/<[^>\d]+>/g,"").replace(I,"").replace(/\s/g,"-").replace(/-+/g,"-").replace(/^(\d)/,"_$1"),r=z[t];return r=n.call(z,t)?r+1:0,z[t]=r,r&&(t=t+"-"+r),t}U.clear=function(){z={}};function D(e,t){return''+t+''}var Y=decodeURIComponent,W=encodeURIComponent;function G(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach(function(e){var n=e.replace(/\+/g," ").split("=");t[n[0]]=n[1]&&Y(n[1])}),t):t}function X(e,t){void 0===t&&(t=[]);var n=[];for(var r in e)t.indexOf(r)>-1||n.push(e[r]?(W(r)+"="+W(e[r])).toLowerCase():W(r));return n.length?"?"+n.join("&"):""}var Q=e(function(e){return/(:|(\/{2}))/g.test(e)}),V=e(function(e){return/\/$/g.test(e)?e:(e=e.match(/(\S*\/)[^/]+$/))?e[1]:""}),Z=e(function(e){return e.replace(/^\/+/,"/").replace(/([^:])\/{2,}/g,"$1/")});function J(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Z(e.join("/"))}var K=e(function(e){return e.replace("#","?id=")}),ee={};function te(e){void 0===e&&(e="");var t={};return e&&(e=e.replace(/:([\w-]+)=?([\w-]+)?/g,function(e,n,r){return t[n]=r&&r.replace(/"/g,"")||!0,""}).trim()),{str:e,config:t}}var ne={markdown:function(e){return{url:e}},iframe:function(e,t){return{code:'"}},video:function(e,t){return{code:'"}},audio:function(e,t){return{code:'"}},code:function(e,t){var n=e.match(/\.(\w+)$/);return"md"===(n=t||n&&n[1])&&(n="markdown"),{url:e,lang:n}}},re=function(t,n){this.config=t,this.router=n,this.cacheTree={},this.toc=[],this.linkTarget=t.externalLinkTarget||"_blank",this.contentBase=n.getBasePath();var a,s=this._initRenderer(),c=t.markdown||{};o(c)?a=c(q,s):(q.setOptions(r(c,{renderer:r(s,c.renderer)})),a=q),this._marked=a,this.compile=e(function(e){var n="";if(!e)return e;n=i(e)?a(e):a.parser(e),n=t.noEmoji?n:(r=n,r.replace(/<(pre|template|code)[^>]*?>[\s\S]+?<\/(pre|template|code)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w+?):/gi,l&&window.emojify||D).replace(/__colon__/g,":"));var r;return U.clear(),n})};re.prototype.compileEmbed=function(e,t){var n,r=te(t),i=r.str,a=r.config;if(t=i,a.include){Q(e)||(e=J(this.contentBase,V(this.router.getCurrentPath()),e));var o;if(a.type&&(o=ne[a.type]))(n=o.call(this,e,t)).type=a.type;else{var s="code";/\.(md|markdown)/.test(e)?s="markdown":/\.html?/.test(e)?s="iframe":/\.(mp4|ogg)/.test(e)?s="video":/\.mp3/.test(e)&&(s="audio"),(n=ne[s].call(this,e,t)).type=s}return n}},re.prototype._matchNotCompileLink=function(e){for(var t=this.config.noCompileLinks||[],n=0;n
    '+e+""},a.code=e.code=function(e,t){void 0===t&&(t=""),e=e.replace(/@DOCSIFY_QM@/g,"`");return'
    '+R.highlight(e,R.languages[t]||R.languages.markup)+"
    "},a.link=e.link=function(e,r,a){void 0===r&&(r="");var o="",s=te(r),l=s.str,c=s.config;return r=l,/:|(\/{2})/.test(e)||i._matchNotCompileLink(e)||c.ignore?o+=' target="'+t+'"':(e===i.config.homepage&&(e="README"),e=n.toURL(e,null,n.getCurrentPath())),c.target&&(o+=" target="+c.target),c.disabled&&(o+=" disabled",e="javascript:void(0)"),r&&(o+=' title="'+r+'"'),'"+a+""},a.paragraph=e.paragraph=function(e){return/^!>/.test(e)?L("tip",e):/^\?>/.test(e)?L("warn",e):"

    "+e+"

    "},a.image=e.image=function(e,t,i){var a=e,o="",s=te(t);return t=s.str,s.config["no-zoom"]&&(o+=" data-no-zoom"),t&&(o+=' title="'+t+'"'),Q(e)||(a=J(r,V(n.getCurrentPath()),e)),''+i+'"};var o=/^\[([ x])\] +/;return a.listitem=e.listitem=function(e){var t=o.exec(e);return t&&(e=e.replace(o,'")),""+e+"\n"},e.origin=a,e},re.prototype.sidebar=function(e,t){var n=this.router.getCurrentPath(),r="";if(e)r=(r=this.compile(e))&&r.match(/]*>([\s\S]+)<\/ul>/g)[0];else{var i=this.cacheTree[n]||H(this.toc,t);r=C(i,"
      "),this.cacheTree[n]=i}return r},re.prototype.subSidebar=function(e){if(e){var t=this.router.getCurrentPath(),n=this.cacheTree,r=this.toc;r[0]&&r[0].ignoreAllSubs&&r.splice(0),r[0]&&1===r[0].level&&r.shift();for(var i=0;i')}this.toc=[]},re.prototype.article=function(e){return this.compile(e)},re.prototype.cover=function(e){var t=this.toc.slice(),n=this.compile(e);return this.toc=t.slice(),n};var ie=d.title;function ae(){var e=p("section.cover");if(e){var t=e.getBoundingClientRect().height;window.pageYOffset>=t||e.classList.contains("hidden")?_(g,"add","sticky"):_(g,"remove","sticky")}}function oe(e,t,n,r){var i,a=v(t=p(t),"a"),o=decodeURI(e.toURL(e.getCurrentPath()));return a.sort(function(e,t){return t.href.length-e.href.length}).forEach(function(e){var t=e.getAttribute("href"),r=n?e.parentNode:e;0!==o.indexOf(t)||i?_(r,"remove","active"):(i=e,_(r,"add","active"))}),r&&(d.title=i?i.innerText+" - "+ie:ie),i}var se=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.duration=t.duration||1e3,this.ease=t.easing||this._defaultEase,this.start=t.start,this.end=t.end,this.frame=null,this.next=null,this.isRunning=!1,this.events={},this.direction=this.startthis.end&&e>=this.next}[this.direction]}},{key:"_defaultEase",value:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}}]),e}(),ce={},ue=!1,he=null,pe=!0,de=0;function ge(e){if(pe){for(var t,n=p(".sidebar"),r=v(".anchor"),i=m(n,".sidebar-nav"),a=m(n,"li.active"),o=document.documentElement,s=(o&&o.scrollTop||document.body.scrollTop)-de,l=0,c=r.length;ls){t||(t=u);break}t=u}if(t){var h=ce[fe(e,t.getAttribute("data-id"))];if(h&&h!==a&&(a&&a.classList.remove("active"),h.classList.add("active"),a=h,!ue&&g.classList.contains("sticky"))){var d=n.clientHeight,f=a.offsetTop+a.clientHeight+40,b=f-0=i.scrollTop&&f<=i.scrollTop+d?i.scrollTop:b?0:f-d;n.scrollTop=y}}}}function fe(e,t){return e+"?id="+t}function me(e,t){if(t){var n=m("#"+t);n&&(r=n,he&&he.stop(),pe=!1,he=new le({start:window.pageYOffset,end:r.getBoundingClientRect().top+window.pageYOffset,duration:500}).on("tick",function(e){return window.scrollTo(0,e)}).on("done",function(){pe=!0,he=null}).begin());var r,i=ce[fe(e,t)],a=m(p(".sidebar"),"li.active");a&&a.classList.remove("active"),i&&i.classList.add("active")}}var ve=d.scrollingElement||d.documentElement;var be={};function ye(e,t){var n=e.compiler,i=e.raw;void 0===i&&(i="");var a,o=e.fetch;if(a=be[i])return t(a);var s=n._marked,l=s.lexer(i),c=[],u=s.InlineLexer.rules.link,h=l.links;l.forEach(function(e,t){"paragraph"===e.type&&(e.text=e.text.replace(new RegExp(u.source,"g"),function(e,r,i,a){var o=n.compileEmbed(i,a);return o?("markdown"!==o.type&&"code"!==o.type||c.push({index:t,embed:o}),o.code):e}))});var p=0;!function e(t,n){var r=t.step;void 0===r&&(r=0);var i=t.embedTokens,a=t.compile,o=t.fetch,s=i[r];if(!s)return n({});P(s.embed.url).then(function(t){var l;t&&("markdown"===s.embed.type?l=a.lexer(t):"code"===s.embed.type&&(l=a.lexer("```"+s.embed.lang+"\n"+t.replace(/`/g,"@DOCSIFY_QM@")+"\n```\n"))),n({token:s,embedToken:l}),e({step:++r,compile:a,embedTokens:i,fetch:o},n)})}({compile:s,embedTokens:c,fetch:o},function(e){var n=e.embedToken,a=e.token;if(a){var o=a.index+p;r(h,n.links),l=l.slice(0,o).concat(n,l.slice(o+1)),p+=n.length-1}else be[i]=l.concat(),l.links=be[i].links=h,t(l)})}function ke(){var e=v(".markdown-section>script").filter(function(e){return!/template/.test(e.type)})[0];if(!e)return!1;var t=e.innerText.trim();if(!t)return!1;setTimeout(function(e){window.__EXECUTE_RESULT__=new Function(t)()},0)}function we(e,t,n){return t="function"==typeof n?n(t):"string"==typeof n?function(e){var t=[],n=0;return e.replace(O,function(r,i,a){t.push(e.substring(n,a-1)),n=a+=r.length+1,t.push(function(e){return("00"+("string"==typeof M[r]?e[M[r]]():M[r](e))).slice(-r.length)})}),n!==e.length&&t.push(e.substring(n)),function(e){for(var n="",r=0,i=e||new Date;r'):"")),t.coverpage&&(a+='
      \x3c!--cover--\x3e
      '),a+=function(e){var t='';return(c?t+"
      ":"
      "+t)+'
      \x3c!--main--\x3e
      '}(t),e._renderTo(i,a,!0)):e.rendered=!0;var s;t.mergeNavbar&&c?o=m(".sidebar"):(r.classList.add("app-nav"),t.repo||r.classList.add("no-badge")),t.loadNavbar&&k(o,r),t.themeColor&&(d.head.appendChild(b("div",(u=t.themeColor,"")).firstElementChild),function(e){if(!(window.CSS&&window.CSS.supports&&window.CSS.supports("(--v:red)"))){var t=v("style:not(.inserted),link");[].forEach.call(t,function(t){if("STYLE"===t.nodeName)F(t,e);else if("LINK"===t.nodeName){var n=t.getAttribute("href");if(!/\.css$/.test(n))return;P(n).then(function(t){var n=b("style",t);f.appendChild(n),F(n,e)})}})}}(t.themeColor));var u;e._updateRender(),_(g,"ready")}var Se={};var Ce=function(e){this.config=e};Ce.prototype.getBasePath=function(){return this.config.basePath},Ce.prototype.getFile=function(e,t){void 0===e&&(e=this.getCurrentPath());var n=this.config,r=this.getBasePath(),i="string"==typeof n.ext?n.ext:".md";e=n.alias?function e(t,n,r){var i=Object.keys(n).filter(function(e){return(Se[e]||(Se[e]=new RegExp("^"+e+"$"))).test(t)&&t!==r})[0];return i?e(t.replace(Se[i],n[i]),n,t):t}(e,n.alias):e,a=e,o=i;var a,o;return e=(e=new RegExp("\\.("+o.replace(/^\./,"")+"|html)$","g").test(a)?a:/\/$/g.test(a)?a+"README"+o:""+a+o)==="/README"+i?n.homepage||e:e,e=Q(e)?e:J(r,e),t&&(e=e.replace(new RegExp("^"+r),"")),e},Ce.prototype.onchange=function(e){void 0===e&&(e=a),e()},Ce.prototype.getCurrentPath=function(){},Ce.prototype.normalize=function(){},Ce.prototype.parse=function(){},Ce.prototype.toURL=function(e,t,n){var i=n&&"#"===e[0],a=this.parse(K(e));if(a.query=r({},a.query,t),e=(e=a.path+X(a.query)).replace(/\.md(\?)|\.md$/,"$1"),i){var o=n.indexOf("?");e=(o>0?n.substr(0,o):n)+e}return Z("/"+e)};function Le(e){var t=location.href.indexOf("#");location.replace(location.href.slice(0,t>=0?t:0)+"#"+e)}var Ee=function(e){function t(t){e.call(this,t),this.mode="hash"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getBasePath=function(){var e=window.location.pathname||"",t=this.config.basePath;return/^(\/|https?:)/g.test(t)?t:Z(e+"/"+t)},t.prototype.getCurrentPath=function(){var e=location.href,t=e.indexOf("#");return-1===t?"":e.slice(t+1)},t.prototype.onchange=function(e){void 0===e&&(e=a),w("hashchange",e)},t.prototype.normalize=function(){var e=this.getCurrentPath();if("/"===(e=K(e)).charAt(0))return Le(e);Le("/"+e)},t.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("#");n>=0&&(e=e.slice(n+1));var r=e.indexOf("?");return r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),{path:e,file:this.getFile(e,!0),query:G(t)}},t.prototype.toURL=function(t,n,r){return"#"+e.prototype.toURL.call(this,t,n,r)},t}(Ce),Ae=function(e){function t(t){e.call(this,t),this.mode="history"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCurrentPath=function(){var e=this.getBasePath(),t=window.location.pathname;return e&&0===t.indexOf(e)&&(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash},t.prototype.onchange=function(e){void 0===e&&(e=a),w("click",function(t){var n="A"===t.target.tagName?t.target:t.target.parentNode;if("A"===n.tagName&&!/_blank/.test(n.target)){t.preventDefault();var r=n.href;window.history.pushState({key:r},"",r),e()}}),w("popstate",e)},t.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("?");n>=0&&(t=e.slice(n+1),e=e.slice(0,n));var r=J(location.origin),i=e.indexOf(r);return i>-1&&(e=e.slice(i+r.length)),{path:e,file:this.getFile(e),query:G(t)}},t}(Ce);var $e={};function Te(e){e.router.normalize(),e.route=e.router.parse(),g.setAttribute("data-page",e.route.file)}function Pe(e){!function(e){var t=function(e){return g.classList.toggle("close")};w(e=p(e),"click",function(e){e.stopPropagation(),t()}),c&&w(g,"click",function(e){return g.classList.contains("close")&&t()})}("button.sidebar-toggle",e.router),t=".sidebar",e.router,w(t=p(t),"click",function(e){var t=e.target;"A"===t.nodeName&&t.nextSibling&&t.nextSibling.classList.contains("app-sub-sidebar")&&_(t.parentNode,"collapse")});var t;e.config.coverpage?!c&&w("scroll",ae):g.classList.add("sticky")}function Fe(e,t,n,r,i,a){e=a?e:e.replace(/\/$/,""),(e=V(e))&&P(i.router.getFile(e+n)+t,!1,i.config.requestHeaders).then(r,function(a){return Fe(e,t,n,r,i)})}var Oe=Object.freeze({cached:e,hyphenate:t,hasOwn:n,merge:r,isPrimitive:i,noop:a,isFn:o,inBrowser:l,isMobile:c,supportsPushState:u,parseQuery:G,stringifyQuery:X,isAbsolutePath:Q,getParentPath:V,cleanPath:Z,getPath:J,replaceSlug:K});function Me(){this._init()}var Ne=Me.prototype;Ne._init=function(){this.config=function(){var e=r({el:"#app",repo:"",maxLevel:6,subMaxLevel:0,loadSidebar:null,loadNavbar:null,homepage:"README.md",coverpage:"",basePath:"",auto2top:!1,name:"",themeColor:"",nameLink:window.location.pathname,autoHeader:!1,executeScript:null,noEmoji:!1,ga:"",ext:".md",mergeNavbar:!1,formatUpdated:"",externalLinkTarget:"_blank",routerMode:"hash",noCompileLinks:[]},window.$docsify),a=document.currentScript||[].slice.call(document.getElementsByTagName("script")).filter(function(e){return/docsify\./.test(e.src)})[0];if(a){for(var o in e)if(n.call(e,o)){var s=a.getAttribute("data-"+t(o));i(s)&&(e[o]=""===s||s)}!0===e.loadSidebar&&(e.loadSidebar="_sidebar"+e.ext),!0===e.loadNavbar&&(e.loadNavbar="_navbar"+e.ext),!0===e.coverpage&&(e.coverpage="_coverpage"+e.ext),!0===e.repo&&(e.repo=""),!0===e.name&&(e.name="")}return window.$docsify=e,e}(),(e=this)._hooks={},e._lifecycle={},["init","mounted","beforeEach","afterEach","doneEach","ready"].forEach(function(t){var n=e._hooks[t]=[];e._lifecycle[t]=function(e){return n.push(e)}});var e;[].concat((a=this).config.plugins).forEach(function(e){return o(e)&&e(a._lifecycle,a)});var a;s(this,"init"),function(e){var t,n=e.config;t="history"===(n.routerMode||"hash")&&u?new Ae(n):new Ee(n),e.router=t,Te(e),$e=e.route,t.onchange(function(t){Te(e),e._updateRender(),$e.path!==e.route.path?(e.$fetch(),$e=e.route):e.$resetEvents()})}(this),_e(this),Pe(this),function(e){var t=e.config.loadSidebar;if(e.rendered){var n=oe(e.router,".sidebar-nav",!0,!0);t&&n&&(n.parentNode.innerHTML+=window.__SUB_SIDEBAR__),e._bindEventOnRendered(n),e.$resetEvents(),s(e,"doneEach"),s(e,"ready")}else e.$fetch(function(t){return s(e,"ready")})}(this),s(this,"mounted")};Ne.route={};(je=Ne)._renderTo=function(e,t,n){var r=p(e);r&&(r[n?"outerHTML":"innerHTML"]=t)},je._renderSidebar=function(e){var t=this.config,n=t.maxLevel,r=t.subMaxLevel,i=t.loadSidebar;this._renderTo(".sidebar-nav",this.compiler.sidebar(e,n));var a=oe(this.router,".sidebar-nav",!0,!0);i&&a?a.parentNode.innerHTML+=this.compiler.subSidebar(r)||"":this.compiler.subSidebar(),this._bindEventOnRendered(a)},je._bindEventOnRendered=function(e){var t=this.config,n=t.autoHeader,r=t.auto2top;if(function(e){var t=m(".cover.show");de=t?t.offsetHeight:0;for(var n=p(".sidebar"),r=v(n,"li"),i=0,a=r.length;i([^<]*?)

      $');if(i){if("color"===i[2])n.style.background=i[1]+(i[3]||"");else{var a=i[1];_(n,"add","has-mask"),Q(i[1])||(a=J(this.router.getBasePath(),i[1])),n.style.backgroundImage="url("+a+")",n.style.backgroundSize="cover",n.style.backgroundPosition="center center"}r=r.replace(i[0],"")}this._renderTo(".cover-main",r),ae()}else _(n,"remove","show")},je._updateRender=function(){!function(e){var t=p(".app-name-link"),n=e.config.nameLink,r=e.route.path;if(t)if(i(e.config.nameLink))t.setAttribute("href",n);else if("object"==typeof n){var a=Object.keys(n).filter(function(e){return r.indexOf(e)>-1})[0];t.setAttribute("href",n[a])}}(this)};var je;!function(e){var t,n=function(e,n,r){return t&&t.abort&&t.abort(),t=P(e,!0,r)};e._loadSideAndNav=function(e,t,n,r){var i=this;return function(){if(!n)return r();Fe(e,t,n,function(e){i._renderSidebar(e),r()},i,!0)}},e._fetch=function(e){var t=this;void 0===e&&(e=a);var r=this.route,i=r.path,o=X(r.query,["id"]),s=this.config,l=s.loadNavbar,c=s.requestHeaders,u=s.loadSidebar,h=this.router.getFile(i),p=n(h+o,0,c);this.isHTML=/\.html$/g.test(h),p.then(function(n,r){return t._renderMain(n,r,t._loadSideAndNav(i,o,u,e))},function(n){t._fetchFallbackPage(h,o,e)||t._fetch404(h,o,e)}),l&&Fe(i,o,l,function(e){return t._renderNav(e)},this,!0)},e._fetchCover=function(){var e=this,t=this.config,n=t.coverpage,r=t.requestHeaders,i=this.route.query,a=V(this.route.path);if(n){var o=null,s=this.route.path;if("string"==typeof n)"/"===s&&(o=n);else if(Array.isArray(n))o=n.indexOf(s)>-1&&"_coverpage";else{var l=n[s];o=!0===l?"_coverpage":l}var c=Boolean(o)&&this.config.onlyCover;return o?(o=this.router.getFile(a+o),this.coverIsHTML=/\.html$/g.test(o),P(o+X(i,["id"]),!1,r).then(function(t){return e._renderCover(t,c)})):this._renderCover(null,c),c}},e.$fetch=function(e){var t=this;void 0===e&&(e=a);var n=function(){s(t,"doneEach"),e()};this._fetchCover()?n():this._fetch(function(){t.$resetEvents(),n()})},e._fetchFallbackPage=function(e,t,r){var i=this;void 0===r&&(r=a);var o=this.config,s=o.requestHeaders,l=o.fallbackLanguages,c=o.loadSidebar;if(!l)return!1;var u=e.split("/")[1];if(-1===l.indexOf(u))return!1;var h=e.replace(new RegExp("^/"+u),"");return n(h+t,0,s).then(function(n,a){return i._renderMain(n,a,i._loadSideAndNav(e,t,c,r))},function(){return i._fetch404(e,t,r)}),!0},e._fetch404=function(e,t,r){var i=this;void 0===r&&(r=a);var o=this.config,s=o.loadSidebar,l=o.requestHeaders,c=o.notFoundPage,u=this._loadSideAndNav(e,t,s,r);if(c){var h=function(e,t){var n,r,i=t.notFoundPage,a="_404"+(t.ext||".md");switch(typeof i){case"boolean":r=a;break;case"string":r=i;break;case"object":r=(n=Object.keys(i).sort(function(e,t){return t.length-e.length}).find(function(t){return e.match(new RegExp("^"+t))}))&&i[n]||a}return r}(e,this.config);return n(this.router.getFile(h),0,l).then(function(e,t){return i._renderMain(e,t,u)},function(){return i._renderMain(null,{},u)}),!0}return this._renderMain(null,{},u),!1}}(Ne),Ne.$resetEvents=function(){me(this.route.path,this.route.query.id),this.config.loadNavbar&&oe(this.router,"nav")};window.Docsify={util:Oe,dom:S,get:P,slugify:U},window.DocsifyCompiler=re,window.marked=q,window.Prism=R,Me.version="4.6.10",function(e){var t=document.readyState;if("complete"===t||"interactive"===t)return setTimeout(e,0);document.addEventListener("DOMContentLoaded",e)}(function(e){return new Me})}(); diff --git a/faq.md b/faq.md new file mode 100644 index 0000000..51a87f1 --- /dev/null +++ b/faq.md @@ -0,0 +1,16 @@ +# FAQ + +> 我的登录信息输错了(失效了),怎么重新填写? + +登录信息是保存在文件里的,不同的 MOOC 网站对应的文件不同,只要删除对应的文件就会要求重新输入。 + +- 学堂在线 `cookies_xuetangx.json` +- 网易云课堂 `cookies_mooc_study.json` + +> 我遇到了一个课程无法成功获取,最快捷的反馈方式是? + +提出一个 issue 或发送一封邮件(见 [反馈和建议](feedback.md)),无需客套话,我会尽快处理的。 + +> 我想看旧版文档。 + +请前往 https://a.mooc.xoy.io/ 查看。 diff --git a/feedback.md b/feedback.md new file mode 100644 index 0000000..9fb8192 --- /dev/null +++ b/feedback.md @@ -0,0 +1,11 @@ +# 反馈和建议 + +只在 Windows 10 和 Ubuntu 经过简单测试,bug 和缺陷比较多。欢迎提交 issue 和发起 pull requests。 + +?> 由于只是一个简单的程序,并没有在程序健壮性方面做过多考虑。也不打算花更多时间去提高稳定性,只保证可以正常使用。 + +如果遇到有中途发生异常的课程,可以将课程的地址发到我的邮箱,我会尽快修复。 + +如果有任何好的建议也可以通过邮件和我联系。 + +电子邮件地址:[master@foair.com](mailto:master@foair.com) diff --git a/future-plan.md b/future-plan.md new file mode 100644 index 0000000..4eadb42 --- /dev/null +++ b/future-plan.md @@ -0,0 +1,17 @@ +# 未来可能的计划 + +## 待办 + +- 直接将下载地址送入 aria2 +- 生成播放列表 ✅ +- 检查视频完整性 +- 可以二次修改文件名 🎉[进行中] +- 学堂在线·使用 app 中的接口 ⏲[2018 夏] +- WebUI 用户界面 +- 更加先进和全面的管理系统 +- 好大学在线·慕课 🚩[优先] +- 完整的视频教程 🚩[优先] +- 更加详细和清晰的文档 ✅ +- 对非 Python 的使用者更加友好的操作 🚩[优先] +- 增加视频清晰度选择 +- 课程增量更新 diff --git a/images/fwwbgojaq.png b/images/fwwbgojaq.png new file mode 100644 index 0000000000000000000000000000000000000000..855ae74a418e9bc818d08958ddbc13326f137746 GIT binary patch literal 8884 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 IdCSoM0Gg#);Q#;t literal 0 HcmV?d00001 diff --git a/images/fwwbog-g.svg b/images/fwwbog-g.svg new file mode 100644 index 0000000..a154074 --- /dev/null +++ b/images/fwwbog-g.svg @@ -0,0 +1 @@ +视频PPT附件字幕文本 diff --git a/images/fwwboi6w.svg b/images/fwwboi6w.svg new file mode 100644 index 0000000..81d02a1 --- /dev/null +++ b/images/fwwboi6w.svg @@ -0,0 +1 @@ +中国大学MOOC学堂在线好大学在线网易云课堂 MOOC 课程爱课程多所名校清华大学上海交通大学计算机和深度学习资源丰富 \ No newline at end of file diff --git a/images/fwwboueaa.png b/images/fwwboueaa.png new file mode 100644 index 0000000000000000000000000000000000000000..e03ae5cd9208f90c47058c10a4022b54a52c68f1 GIT binary patch literal 6025 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 UgI3CR%Kimwsp+W}J$@1NU&c-vH~;_u literal 0 HcmV?d00001 diff --git a/images/fwwbougw.png b/images/fwwbougw.png new file mode 100644 index 0000000000000000000000000000000000000000..74d294b1cd3979504a63ca5158730f9566771da4 GIT binary patch literal 6353 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 literal 0 HcmV?d00001 diff --git a/images/fwwddzw.png b/images/fwwddzw.png new file mode 100644 index 0000000000000000000000000000000000000000..fe30f37ae1fcf9f5a1b39634b6fbcd3bb76e996f GIT binary patch literal 85714 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�OJ@K(TTAP;z`Qf^q*w1&rddz7fEEL3goy!d9_ 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

      I9-}3 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 b8^q3N8oRA{`xfl-=QuD0b@>uGli>dcy6~zx literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..e5acbd8 --- /dev/null +++ b/index.html @@ -0,0 +1,26 @@ + + + + + Course Crawler + + + + + + +

      +
      + + + + diff --git a/knack.md b/knack.md new file mode 100644 index 0000000..14d266e --- /dev/null +++ b/knack.md @@ -0,0 +1,26 @@ +# 一些技巧/建议 + +## 简写 + +Windows 中如果将 `.py` 文件关联到了 Python Launcher,那么可以省略命令的 `python` 和 `.py`。 + +甚至还可以放到用户(系统)环境变量中,随时随地调用。 + +示例 + +```cmd +mooc https://www.icourse163.org/course/TONGJI-53004 +``` + +## 使用 PotPlayer + +本程序生成了 PotPlayer 的播放列表,可以直接使用 `.dpl` 文件播放视频获得更好的体验。 + +PotPlayer 可以实现视频任意倍速加速播放(如果 2 倍速还嫌不够的话),设置很多,几乎可以满足任何播放需求(除了画质)。 + +?> 不直接播放视频的原因是,尽管文件名是规范的,有时播放器就是会漏掉几个视频。(是真的少看一集。) + +## 不时看一下课程公告 + +有时会提供一些有用的资源。 + diff --git a/known-issues.md b/known-issues.md new file mode 100644 index 0000000..65c352a --- /dev/null +++ b/known-issues.md @@ -0,0 +1,9 @@ +# 已知问题 + +> 可能会出现被远程主机强制关闭一个连接。 + +解决方法:等待一段时间然后重新尝试。 + +> 网易云课堂·的 cookies 很容易失效。 + +解决方法:更加频繁地修改 cookies。 diff --git a/notice.md b/notice.md new file mode 100644 index 0000000..e35a05a --- /dev/null +++ b/notice.md @@ -0,0 +1,23 @@ +# 告示板 + +## Course Cralwer + +仅限个人学习和研究使用,切勿用于其他用途。强烈建议到 MOOC 网站进行学习,本程序只是提供一个备选方案。 + +本程序主体功能只是下载课件和附件,无任何手段获得付费课程,也没有以任何方式向任何人收取费用。 + +如果将程序用于商业用途或其他非法用途,一切后果由用户自负。 + +如果您发现有侵犯到您的合法权益,请与我联系删除相关程序,同时我对无意冒犯到您致以深深的歉意。 + +许可协议:MIT + +## 本文档 + +许可协议:CC0 + +## 感谢 + +docsify https://github.com/QingWei-Li/docsify/ + +以及你们的支持。 diff --git a/quick-start.md b/quick-start.md new file mode 100644 index 0000000..428c074 --- /dev/null +++ b/quick-start.md @@ -0,0 +1,47 @@ +# 快速开始 + +## 安装 + +请安装最新的 Python 3,并且使用 `pip` 安装 3 个库:`requests` `BeautifulSoup4` `lxml` + +```cmd +pip install requests BeautifulSoup4 lxml +``` + +## 准备 + +然后 [下载最新程序](https://github.com/Foair/course-crawler/archive/master.zip) 并解压。(也可以使用 `git clone https://github.com/Foair/course-crawler.git`。) + +## 输入 + +在当前路径打开「命令提示符」,并输入 `python mooc.py ` 即可下载课程到当前文件夹。 + +这里的 `` 是课程的地址,可以是受本程序支持的平台的课程地址,程序会自动识别。 + +比如同济大学的《高等数学(一)》 + +```cmd +python mooc.py https://www.icourse163.org/course/TONGJI-53004 +``` + +!> 学堂在线·和·网易云课堂·需要经过认证,不能够直接下载,请移步 [视频速览](video-tutorial.md) 或 具体操作。 + +## 获取 + +运行完成之后就获得了完整的课程内容,可以在当前目录下查看。 + +## 下载 + +打开 `Videos/Vidoes.txt` 即可查看视频下载地址,复制下载地址后,使用自己喜欢的下载工具下载即可。 + +?> 课程文件中有 `Videos` 文件夹,建议将视频下载到 `Videos/` 中。 + +## 后续 + +将课程下载到 `Videos` 文件夹之后,双击 `Rename.bat` 即可修正所有视频文件名的「乱码」。 + +比如 `1009306529_e6648cb45d1848f290d514faa4b69b0c_shd.mp4` 会变成 `1.1.1 会计是什么.mp4`。 + +## 最后 + +付出努力,学完这些课程。 diff --git a/specific/cnmooc.md b/specific/cnmooc.md new file mode 100644 index 0000000..b320a81 --- /dev/null +++ b/specific/cnmooc.md @@ -0,0 +1,3 @@ +# 好大学在线 + +!> 未完成。 diff --git a/specific/icourse163.md b/specific/icourse163.md new file mode 100644 index 0000000..eb37496 --- /dev/null +++ b/specific/icourse163.md @@ -0,0 +1,40 @@ +# 中国大学MOOC + +## 地址格式 + +课程的地址必须类似以下两种格式 + +```text +https://www.icourse163.org/course/TONGJI-53004 +https://www.icourse163.org/course/TONGJI-53004?tid=1001770008 +``` + +## 开课次数 + +下方是最新一次开课的截图,地址最后没有 `?tid=1001770008`。(第 3 次开课) + +![无 tid](../images/fwwboueaa.png) + +下方是第 n 次开课的截图,有 `?tid=1001770008`。(`1001770008` 是第 2 次开课的学期代号。) + +![有 tid](../images/fwwbougw.png) + +两者的区别就是开课次数的不同。第一个是最新一次开课,第二个是第 n 次开课。 + +一般来说,不管是第几次开课,课程的内容变化都不大。 + +?> 当然是有少许例外的,这些课程跟开课次数关系比较大,比如《形势与政策》和一些重新录制的课程。 + +如果遇到某个课程没有更新完,可以切换到上一次开课,这样就可以获取到全部的课件了。 + +?> 部分新开的课程(仅有一次开课且课程没有更新完)是没有办法获得完整课件的。我也没有时光机器。 + +## 碎碎念 + +「老师已关闭该学期,无法查看」暂时无所畏惧。 + +找不到开课页面的话,可以先进入课程的公告页面,然后点击课程名。 + +对于《形势与政策》,切换到不同开课次数,会获得完全不同的内容。 + +暂时不需要身份认证(cookies)。 diff --git a/specific/icourses.md b/specific/icourses.md new file mode 100644 index 0000000..6d49a11 --- /dev/null +++ b/specific/icourses.md @@ -0,0 +1,3 @@ +# 爱课程 + +!> 未完成。 diff --git a/specific/study-163-mooc.md b/specific/study-163-mooc.md new file mode 100644 index 0000000..80666f5 --- /dev/null +++ b/specific/study-163-mooc.md @@ -0,0 +1,42 @@ +# 网易云课堂 MOOC 课程 + +## 地址格式 + +课程的地址必须类似以下两种格式 + +```text +http://mooc.study.163.com/course/2001281002#/info +http://mooc.study.163.com/course/2001281002 +``` + +!> 无法适用于·网易云课堂·的普通课程,只适用于 `mooc.study.163.com` 域下的课程。 + +![网易云课堂 MOOC](../images/fwwddzw.png) + +简而言之,只能是如上图所示界面的课程。 + +## 身份认证 + +网易云课堂·必须使用 cookies 登录才能获得课程。 + +用浏览器进入·网易云课堂·的首页,然后登录自己的账户。 + +打开一个 MOOC 课程的页面,比如 [神经网络和深度学习 - 网易云课堂](http://mooc.study.163.com/course/2001281002)。 + +按下 `F12`,然后切换到 `Network` 选项卡,然后点击「已参加,进入学习」。 + +回到开发者工具 `Network` 那里,选择 `Doc`,点第一个。然后往下滚动,复制 `Cookie:` 后面的内容。 + +![网易云课堂获取 cookies](../images/fwwdfgoa.png) + +## 碎碎念 + +和·中国大学MOOC·一个框架。 + +需要身份认证,没有·中国大学MOOC·那样优厚的条件。 + +你的账号本身就无法访问到的内容,程序也无法替你办到。 + +找不到开课页面的话,可以先进入课程的公告页面,然后点击课程名。(特别是吴恩达的那个) + +名字太长,后面就简写成「网易云课堂 MOOC」了。 diff --git a/specific/xuetangx.md b/specific/xuetangx.md new file mode 100644 index 0000000..ed4df38 --- /dev/null +++ b/specific/xuetangx.md @@ -0,0 +1,33 @@ +# 学堂在线 + +## 地址格式 + +课程的地址必须类似以下格式 + +```text +http://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043_2x_2015_T2+sp/about +``` + +最后有一个 `about`,必须是这样的地址。 + +## 身份认证 + +学堂在线·必须使用 cookies 登录才能获得课程。 + +在浏览器中登录后,按 `F12`,在浏览器控制台中执行 + +```javascript +console.log(document.cookie); +``` + +然后复制输出的内容。 + +![控制台获得 cookies](../images/fwwbgojaq.png) + +在调用程序获取课程的时候,会自动要求输入 cookies,粘贴便是。 + +随后会在程序目录创建 JSON 格式的 cookies 文件,仅在失效的时候会重新要求输入 cookies。 + +## 碎碎念 + +由于·学堂在线·返回都是整个 HTML 页面,所以比较慢。 diff --git a/video-tutorial.md b/video-tutorial.md new file mode 100644 index 0000000..36efbfa --- /dev/null +++ b/video-tutorial.md @@ -0,0 +1,28 @@ +# 视频速览 + +## Python 安装 + +!> 未完成。 + +## 中国大学MOOC + +- YouTube:[https://youtu.be/3P76c_3cwjQ](https://youtu.be/3P76c_3cwjQ) +- bilibili:[https://www.bilibili.com/video/av18343041/](https://www.bilibili.com/video/av18343041/) +- 蓝奏云:[https://pan.lanzou.com/i0di3ba](https://pan.lanzou.com/i0di3ba) + +## 学堂在线 + +!> 未完成。 + +## 好大学在线 + +!> 未完成。 + +## 网易云课堂 MOOC 课程 + +!> 未完成。 + +## 爱课程 + +!> 未完成。 + diff --git a/vue.css b/vue.css new file mode 100644 index 0000000..2ec9312 --- /dev/null +++ b/vue.css @@ -0,0 +1 @@ +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:5}.search .search-keyword,.search a:hover{color:var(--theme-color,#42b983)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}.task-list-item{list-style-type:none}li input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:2}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative}.app-nav li ul{background-color:#fff;border:1px solid #ddd;border-bottom-color:#ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:0;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{animation:a .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#42b983);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:3}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:4}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#42b983);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:800px;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(66,185,131,.1);border-radius:2px;padding:1rem}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:a .56s ease-in-out}}@keyframes a{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover.show{display:-ms-flexbox;display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{-ms-flex:1;flex:1;margin:-20px 16px 0;text-align:center;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border:1px solid var(--theme-color,#42b983);border-radius:2rem;box-sizing:border-box;color:var(--theme-color,#42b983);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#42b983);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#42b983)}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 0 6px 15px}.sidebar ul li a{color:#505d6b;font-size:14px;font-weight:400;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#42b983);font-weight:600}.app-sub-sidebar li:before{content:"-";padding-right:4px;float:left}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section p{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#42b983);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;font-size:.8rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section code,.markdown-section pre{background-color:#f8f8f8;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file