Code Monkey home page Code Monkey logo

handx's People

Contributors

maxg avatar rcmiller avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

ustunb rcmiller

handx's Issues

Inline explanations for checkbox questions

For example:

[ ] Option 1
> This option is incorrect because...
[ ] Option 2
> This option is correct because...

All these checkboxes should still be treated as a single question.

jump links for pull-margin elements

for elements with class pull-margin (margin-right:-25%, position:relative):

  • the jump link's #-anchor is still in the left column even though the text is on the right
  • using the link causes an opaque yellow band across the page, obscuring text

For examples, see
classes/16-recursive-data-types/handout/recursive/index.html#@interface_declares_generic
classes/16-recursive-data-types/handout/recursive/index.html#@signature_empty_uses

Scripts are out of date

6.031 is using newer versions of repo-post-receive-hook, deliver-handouts, and deliver-handouts-athena e.g. with different semester naming, Slack notifications.

Support inline display HTML tags

The recursive parser doesn't differentiate HTML tags, so:

Foo <span>bar</span> baz

becomes:

<p>Foo</p>
<span><p>bar</p></span>
<p>baz</p>

This would eliminate many situations that currently require class="no-markdown", e.g. <sup> and <sub>.

Perhaps a whitelist of elements to treat specially during recursive parsing?

handx-lambda: "Navigation failed because browser has disconnected"

Sometimes the lambda function fails with this error:

{
  "errorType": "Error",
  "errorMessage": "Navigation failed because browser has disconnected!",
  "trace": [
    "Error: Navigation failed because browser has disconnected!",
    "    at /opt/nodejs/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js:51:147",
    "    at /opt/nodejs/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.js:47:62",
    "    at Array.map (<anonymous>)",
    "    at Object.emit (/opt/nodejs/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.js:47:43)",
    "    at CDPSession.emit (/opt/nodejs/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js:72:22)",
    "    at CDPSession._onClosed (/opt/nodejs/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:247:14)",
    "    at Connection._onClose (/opt/nodejs/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:128:21)",
    "    at WebSocket.<anonymous> (/opt/nodejs/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebSocketTransport.js:17:30)",
    "    at WebSocket.onClose (/opt/nodejs/node_modules/ws/lib/event-target.js:129:16)",
    "    at WebSocket.emit (events.js:314:20)"
  ]
}

Which often leaves the disk full on the lambda function execution instance (perhaps it is caused by disk-full?), and the lambda function stops working until it has been redeployed (or until the execution instance has been garbage-collected from lack of use).

Broken character encoding

The injection of <meta charset="utf-8"> is too late for PhantomJS. Pages are not interpreted in UTF-8, and mangled characters are baked into the (ostensibly UTF-8) output.

Unfortunately, the tag is used by Chrome during local preview, masking the issue.

Workaround is to include the tag in the page.

Handout callbacks must be synchronous

In particular, when handouts are delivered, deliver.phantom.js cannot await asynchronous operations in, e.g., onHandoutDidRender or onHandoutReady before saving the page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.