Hình câu hỏi

Cần dãy số có ô trống, câu có chỗ khuyết, hoặc đoạn mã thiếu một mảnh? Các mẫu này vẽ hình đó giống nhau mọi lần.

Xin một hình

Gửi mẫu và dữ liệu. Cùng một đầu vào luôn vẽ cùng một hình.

HTTP
POST /api/v1/quizzes/{quizId}/images/templates
Authorization: Bearer <quiz-scoped-key>
Content-Type: application/json

{
  "templateId": "universal.tiles",
  "data": {
    "rows": [
      [
        "2",
        "4",
        "8",
        "?"
      ]
    ]
  }
}

Giữ lại, hoặc chỉ xem trước

Lưu hình cùng quiz, hoặc xin bản xem trước tạm khi chỉnh thiết kế.

output: "image"

Kết quả thường là WebP lưu cùng quiz, trả về dạng ID hình.

output: "png" | "svg"

PNG và SVG về dạng byte xem trước và không được lưu.

Mẫu có chỗ trống nhìn thấy

Đây là những mẫu thực sự hiện ô cần điền.

language.textCloud và code.syntaxBlock thêm ngữ cảnh nhưng không vẽ chỗ trống, nên nằm trong tài liệu API chứ không phải thư viện này.

Ô số. Dãy, tổng, và phương trình xếp thành ô rõ.
universal.tiles

Ô số

Dãy, tổng, và phương trình xếp thành ô rõ.

JSON
{
  "templateId": "universal.tiles",
  "data": {
    "rows": [
      [
        "2",
        "4",
        "8",
        "?"
      ]
    ]
  }
}
Hộp phân loại. Thả mục vào nhóm đã dán nhãn.
universal.sortingBins

Hộp phân loại

Thả mục vào nhóm đã dán nhãn.

JSON
{
  "templateId": "universal.sortingBins",
  "data": {
    "bins": [
      "Round",
      "Angular"
    ],
    "binItems": [
      [
        {
          "kind": "shape",
          "name": "circle"
        },
        {
          "kind": "shape",
          "name": "triangle"
        }
      ],
      [
        {
          "kind": "shape",
          "name": "circle"
        },
        "?"
      ]
    ]
  }
}
Mặt đồng hồ. Đồng hồ kim cho câu hỏi về giờ giấc.
universal.clockFace

Mặt đồng hồ

Đồng hồ kim cho câu hỏi về giờ giấc.

JSON
{
  "templateId": "universal.clockFace",
  "data": {
    "hour": 3,
    "minute": 30
  }
}
Trục số. Đếm và dãy số với ô trống tùy chọn.
universal.numberLine

Trục số

Đếm và dãy số với ô trống tùy chọn.

JSON
{
  "templateId": "universal.numberLine",
  "data": {
    "start": 0,
    "end": 10,
    "step": 2,
    "missing": 6
  }
}
Thanh phân số. Thanh chia đoạn thể hiện một phân số của tổng thể.
math.fractionBar

Thanh phân số

Thanh chia đoạn thể hiện một phân số của tổng thể.

JSON
{
  "templateId": "math.fractionBar",
  "data": {
    "shaded": 3,
    "total": 4
  }
}
Ô câu. Một câu làm từ ô từ, có chỗ trống cần điền.
language.sentenceTiles

Ô câu

Một câu làm từ ô từ, có chỗ trống cần điền.

JSON
{
  "templateId": "language.sentenceTiles",
  "data": {
    "words": [
      "The",
      "cat",
      "sat",
      "on",
      "the",
      {
        "kind": "gap",
        "characters": 3
      }
    ]
  }
}
Hình học. Góc, tam giác, tứ giác, đường tròn và đường thẳng song song với các nhãn câu hỏi cần và ô trống cho ẩn số.
geometry.figure

Hình học

Góc, tam giác, tứ giác, đường tròn và đường thẳng song song với các nhãn câu hỏi cần và ô trống cho ẩn số.

JSON
{
  "templateId": "geometry.figure",
  "data": {
    "kind": "triangle",
    "angles": [
      90,
      35,
      55
    ],
    "angleLabels": [
      "90°",
      "35°",
      "?"
    ],
    "sideLabels": [
      "12 cm",
      null,
      "5 cm"
    ],
    "vertices": [
      "A",
      "B",
      "C"
    ]
  }
}
Biểu đồ cột. Đọc giá trị theo đường kẻ, so sánh các mục hoặc tính tổng.
data.barChart

Biểu đồ cột

Đọc giá trị theo đường kẻ, so sánh các mục hoặc tính tổng.

JSON
{
  "templateId": "data.barChart",
  "data": {
    "title": "Costumes worn at the party",
    "categories": [
      "Witch",
      "Ghost",
      "Vampire",
      "Zombie"
    ],
    "values": [
      12,
      7,
      9,
      4
    ],
    "unit": "pupils"
  }
}
Bảng số liệu. Bảng nhỏ với một ô bị ẩn cho câu hỏi "điền gì vào đây?".
data.table

Bảng số liệu

Bảng nhỏ với một ô bị ẩn cho câu hỏi "điền gì vào đây?".

JSON
{
  "templateId": "data.table",
  "data": {
    "headers": [
      "Shop",
      "Price (£)",
      "Sold"
    ],
    "rows": [
      [
        "Boo",
        3.5,
        12
      ],
      [
        "Fang",
        4,
        null
      ],
      [
        "Grim",
        2.75,
        20
      ]
    ]
  }
}
Mặt phẳng tọa độ. Các điểm và đoạn thẳng được vẽ cho tọa độ, trung điểm và hệ số góc.
math.coordinateGrid

Mặt phẳng tọa độ

Các điểm và đoạn thẳng được vẽ cho tọa độ, trung điểm và hệ số góc.

JSON
{
  "templateId": "math.coordinateGrid",
  "data": {
    "xMin": -5,
    "xMax": 5,
    "yMin": -5,
    "yMax": 5,
    "points": [
      {
        "x": 2,
        "y": 3,
        "label": "A"
      },
      {
        "x": -4,
        "y": 1,
        "label": "B"
      }
    ],
    "segments": [
      [
        0,
        1
      ]
    ]
  }
}
Sơ đồ mạch điện. Mạch nối tiếp vẽ bằng ký hiệu chuẩn: pin, bóng đèn, điện trở, công tắc, đồng hồ đo.
science.circuit

Sơ đồ mạch điện

Mạch nối tiếp vẽ bằng ký hiệu chuẩn: pin, bóng đèn, điện trở, công tắc, đồng hồ đo.

JSON
{
  "templateId": "science.circuit",
  "data": {
    "components": [
      {
        "kind": "battery",
        "label": "6 V"
      },
      {
        "kind": "switch",
        "open": true
      },
      {
        "kind": "bulb",
        "label": "L1"
      },
      {
        "kind": "resistor",
        "label": "10 Ω"
      },
      {
        "kind": "ammeter"
      }
    ]
  }
}
Sơ đồ tia sáng. Gương và thấu kính với các tia đặc biệt; hỏi ảnh tạo ở đâu hoặc hiển thị ảnh.
science.rayDiagram

Sơ đồ tia sáng

Gương và thấu kính với các tia đặc biệt; hỏi ảnh tạo ở đâu hoặc hiển thị ảnh.

JSON
{
  "templateId": "science.rayDiagram",
  "data": {
    "device": "concaveMirror",
    "focalLength": 2,
    "objectDistance": 5,
    "objectHeight": 2,
    "showImage": false
  }
}
Điền chỗ trống. Mã với mảnh thiếu được đánh dấu rõ.
code.fillBlank

Điền chỗ trống

Mã với mảnh thiếu được đánh dấu rõ.

JSON
{
  "templateId": "code.fillBlank",
  "data": {
    "code": "function average(scores) {\n  const total = scores.reduce(\n    (sum, score) => sum + score,\n    0\n  )\n  return total ___{1} scores.length\n}",
    "language": "javascript"
  }
}

Thêm ví dụ mã

code.fillBlank chứa tối đa 2.000 ký tự trên 30 dòng. ___ trần dùng độ rộng mặc định. ___{N} đặt chỗ trống rộng N ký tự, N từ 1 đến 24. JavaScript, Python, HTML và SQL đều được.

JavaScript

JavaScript. Mã với mảnh thiếu được đánh dấu rõ.
JSON
{
  "templateId": "code.fillBlank",
  "data": {
    "code": "async function loadQuiz(id) {\n  const response = await fetch(`/api/quizzes/${id}`)\n  if (!response.ok) {\n    throw new Error(\"Could not load quiz\")\n  }\n  return ___{15}\n}",
    "language": "javascript"
  }
}

Python

Python. Mã với mảnh thiếu được đánh dấu rõ.
JSON
{
  "templateId": "code.fillBlank",
  "data": {
    "code": "def average(scores):\n    if not scores:\n        return 0\n\n    total = sum(scores)\n    return total ___{1} len(scores)",
    "language": "python"
  }
}

HTML

HTML. Mã với mảnh thiếu được đánh dấu rõ.
JSON
{
  "templateId": "code.fillBlank",
  "data": {
    "code": "<figure class=\"quiz-image\">\n  <img\n    src=\"aurora.webp\"\n    ___{3}=\"Northern lights over Tromsø\"\n  />\n  <figcaption>Norway at night</figcaption>\n</figure>",
    "language": "html"
  }
}

SQL

SQL. Mã với mảnh thiếu được đánh dấu rõ.
JSON
{
  "templateId": "code.fillBlank",
  "data": {
    "code": "SELECT subject, COUNT(*) AS question_count\nFROM questions\nWHERE status = 'published'\nGROUP BY ___{7}\nORDER BY question_count DESC;",
    "language": "sql"
  }
}

Bạn có thể đặt gì vào một ô

Ghép hình từ chữ, số, và chỗ trống. Emoji, emoji chồng, cờ, hình khối, chữ có kiểu, và LaTeX đều được. {"kind":"gap","characters":N} đặt chỗ trống chữ hoặc ô rộng N ký tự, N từ 1 đến 24. Ký hiệu cũ giữ độ rộng mặc định.

textnumber?{"kind":"gap","characters":3}emojiemojiStackflagshapelatex