Skip to content

Class Node #88

@Scrum

Description

@Scrum

Have the same issue, I want to add a new node. Maybe add some method for creating a node to the core library? More "legal" way.

By now, I use a class. like this

// Or better use a plain object?
class Node {
  constructor(tag, attrs, content) {
    this.tag = tag;
    this.attrs = attrs;
    this.content = content;
  }
}

posthtml().use((tree) => {
  tree.match({ tag: 'p' }, (node) => {
    node.content ??= [
        new Node('span', { class: 'some' }, ['text']),
    ];

    return node;
  })
});

Originally posted by @shoonia in posthtml/posthtml#374 (comment)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions