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, 用作测试特征项目的输入(特征项目即:答案)
⚠️ **GitHub.com Fallback** ⚠️