nextcloud / nextcloud/text

CommonMark compatibility (Tracker bug)

Open
#2,702 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

2. developing bug format: markdown overview
Dominant language
JavaScript
Stars
659
Forks
133
Avg merge
1d 20h
Merged PRs (30d)
110

Description

Background

Currently there are "commonmark" tests, but they only test markdown-it to output correct HTML for markdown (which is already tested upstream), but they are not testing our pipeline to keep the markdown valid.
Meaning validating that the input and output are at least equivalent (both result in same HTML, as the mapping is surjective but not injective).

md ==> markdown-it ==> HTML ==> TipTap ==> prosemirror-markdown ==> md

Problems

I created a branch with adjusted tests, currently there are a lot of failures, which need to be triaged (real bugs, whitespace problems, test issues...), so this is a list of all bugs blocking full CommonMark support:

Opinions

There are already issues about breaking the formatting of markdown files, like https://github.com/nextcloud/text/issues/593 and https://github.com/nextcloud/text/issues/2577 but from my point of view it is hard to provide that kind of compatibility, at least the way text is build.
But I do not think it is needed, if I need a markdown editor with that behavior, I would recommend to use https://github.com/icewind1991/files_markdown
Of cause you as the developers of this app should decide the scope of application, but for me text is a collaborative text editor.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing CommonMark tests and the adjusted test branch described in the issue, then triage the failures across the markdown-it, HTML, TipTap, prosemirror-markdown, and markdown pipeline. Review the unresolved linked issues, distinguish real bugs from whitespace or test problems, and consider the work complete when the remaining CommonMark compatibility failures are resolved or clearly scoped.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, markdown
Domain
content, frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.