Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Delegate node walking to others

Abierto
#267 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
tooling

Línea de trabajo

Comienza revisando la interfaz actual de walker y cómo el AST parser genera la salida; después, compara los enfoques de browser Document y JSDOM descritos en el issue. Se considerará terminado cuando el parser construya directamente un DOM, se elimine el alcance relacionado con walker y los consumidores puedan sanitizar, consultar, añadir o renderizar el document resultante mediante las DOM APIs existentes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

To reduce the scope of this package (easier to maintain), how about this:

  • Remove the walker interface. Instead, the AST parser builds into a real DOM directly.
    • On the browser, this would be an instance of Document (that's what e.g. DOM Parser would output).
    • In node, something like JSDOM can be used.
    • So either of those two would be a dependency for this library.
  • That way, any sanitization or other DOM modification could either use an existing library, such as DOMPurify or write their own code using e.g. myDocument.querySelectorAll.
  • Rendering to an HTML string be as simple as myDocument.innerHTML, and others will likely just append that doc into the DOM directly, without ever producing an HTML string (perf win).

This change would radically lower the scope of this package (building on the shoulder of giants; existing web APIs basically), and would still preserve everything that's unique about this library, which is markdown parsing.

Lenguaje dominante
JavaScript
Estrellas
1.6k
Forks
234
Merge medio
1 d 27 min
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de commonmark/commonmark.js

Todos los issues de commonmark/commonmark.js

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.