CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-tiptap--core

Headless rich text editor built on ProseMirror with extensible architecture for building custom editors

94

1.00x
Overview
Eval results
Files

rubric.jsonevals/scenario-7/

{
  "context": "This criteria evaluates how well the engineer uses @tiptap/core's state inspection APIs (isActive() and getAttributes()) to implement format detection and attribute retrieval functions. The focus is on proper usage of the Editor instance methods for querying editor state.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses editor.isActive()",
      "description": "Implementation calls editor.isActive() method to check if marks or nodes are active at the current selection. This is the correct @tiptap/core API for detecting active formatting.",
      "max_score": 35
    },
    {
      "name": "Uses editor.getAttributes()",
      "description": "Implementation calls editor.getAttributes() method to retrieve attributes from marks or nodes. This is the correct @tiptap/core API for extracting attribute data.",
      "max_score": 35
    },
    {
      "name": "Correct mark checking",
      "description": "When checking if a mark is active (e.g., 'bold', 'link'), passes the mark name as a string parameter to editor.isActive() (e.g., editor.isActive('bold')).",
      "max_score": 10
    },
    {
      "name": "Correct node checking",
      "description": "When checking if a node is active (e.g., 'heading', 'bulletList'), passes the node name as a string parameter to editor.isActive() (e.g., editor.isActive('heading')).",
      "max_score": 10
    },
    {
      "name": "Proper attribute retrieval",
      "description": "When retrieving attributes, passes the mark or node name to editor.getAttributes() and returns the resulting object (e.g., editor.getAttributes('heading') returns {level: 2}).",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-tiptap--core

tile.json