coding - simon9k/stackedit GitHub Wiki
todo
- input onblur ,得到标准答案/判定答案, 基本实现,如何实用化?
- 对应上,采用attibute
- 如果错误,css style
- 选择一张样板数学试卷
- 答题toggle butt,“非答题”(标准答案显示,但uneditable),“答题”(空白,editable)
- 答题项:^(9,4), 9是标准答案,4是输入预留宽度,需认真设计,包括多行/数字等输入控制
- input onblur show alert
-
7.31 long time ...
- create answerConverter:OK,还需检查是否OK;
- 下列代码的iuputElt每次得到的顺序不一定一致;
inputElt = document.getElementsByClassName('answer-alpha-1'); for (i = 0; i < inputElt.length; i++) { -
inputElt[i].value = null;这种方式不可取,会闪屏(输入框中内容),每次调用都有这样的过程,任何convert; - 当前方式在table中无效,相关代码完全被block掉了,根本看不到
-
7.9
- input onblur ,得到标准答案/判定答案
- 在编辑MD文件过程中,答题项插入了,--> 在onPreviewFinished(或者说生成html完成后),进行答题项的内容处理(显示处理,如显示input等已经在对应的extension中完成),然后应该-->AnswerSheetMaking
- AnswerSheetMaking,建立AnswerList,这是一个全文遍历的过程,建立一个按照先后处理顺序的list
- Checking,判定答案是否正确,这也是一个全文遍历的过程,按照先后顺序匹配input的内容与Answerlist中的对应项
-
7.6
- input onblur show alert
- 统计extension, buttonStat.js 其中响应了
buttonStat.onPreviewFinished = function() {...可以实现在整体编辑完成后的统计,那么是否可以参考,answerExtension也响应这个事件? yes,已在emailConverter中实现。
-
6.30
-
整体操作使用流程
- 编写MD(包括实时预览)
- 实时预览(即试答题,可以随时答,随时试判题,与全屏预览一样,还更强大,以帮助调试修改试题)
- 全屏预览(**stackedit的Viwer为什么是独立页面,为什么不edit页面进行toggle?)
-
Answer extension(单独的extension,包括完整的converter返回(如何构造html),以及后续答题输入控制/判题处理逻辑;带button/浮动panel):批阅(启动答题/评判正确/提交)对应的script,即批改答案;
- 解析特征字符串
- 构造answer
- 构造input(包括onchange连接,输入控制等(字符数及长度/字符类型/多行等);
- onchange判题处理
-
类似下面code方式,对answer的Item均关联的相关代码,下列代码可以及时进行输入控制提示/秒判
this.summaryMenuItem.onclick = function() {
241 dom.reporter.className = dom.reporter.className.replace(/ showDetails/g, '');
242 };
-
6.29
- sublime 真快/好用
- todo
- 试题View(即pageDown生成的html)中,仅插入 onchange的指定连接脚本(即不包括处理过程脚本),处理过程脚本,在其它地方
-
coding yet
- 修改了htmlSanitizer.js, 允许 block; whitelist
- 修改emailConverter.js, 用作测试特征项目的输入(特征项目即:答案)