New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Update for spec v0.26 #30

Closed
wants to merge 2 commits into
base: master
from

Conversation

Projects
None yet
3 participants
@azerupi
Contributor

azerupi commented Aug 5, 2016

⚠️ Work in progress, do not merge

This is an effort to update pulldown-cmark to the the latest spec (v0.26). It's not complete and I will probably not have the time and skill to finish this alone, so I thought I would post it so that it could be a collaborative effort.

The test case format in the spec has been modified from

.
<input>
.
<output>
.

to

```````````````````````````````` example
<input>
.
<output>
````````````````````````````````

So I changed main.rs to correctly extract the new format. I wrote an iterator that returns the test cases from the spec and I think it turns out a little more readable than before.

Failing tests

According to the official commonmark tool to test spec compliance, we pass 565/618 tests. But according to the pulldown-cmark test we pass only 504/618 tests. I think this is due to the fact that html is not normalized before testing equality in pulldown-cmark making it stricter than necessary.

Some (a lot?) regressions are du to tab handling. In the new spec some tabs are converted to spaces but some aren't. If I am not mistaken, pulldown-cmark converts all tabs to 4 spaces?


If you want to help, just fix some test(s) and create a PR against this PR :)

@googlebot

This comment has been minimized.

Show comment
Hide comment
@googlebot

googlebot Aug 5, 2016

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If you signed the CLA as a corporation, please let us know the company's name.

googlebot commented Aug 5, 2016

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If you signed the CLA as a corporation, please let us know the company's name.
@azerupi

This comment has been minimized.

Show comment
Hide comment
@azerupi

azerupi Aug 5, 2016

Contributor

I signed it!

Contributor

azerupi commented Aug 5, 2016

I signed it!

@googlebot

This comment has been minimized.

Show comment
Hide comment
@googlebot

googlebot Aug 5, 2016

CLAs look good, thanks!

googlebot commented Aug 5, 2016

CLAs look good, thanks!

@raphlinus

This comment has been minimized.

Show comment
Hide comment
@raphlinus

raphlinus Aug 5, 2016

Collaborator

Thanks for doing this! I'm short on time right now, so really appreciate people from the community fixing this.

There's one tricky area around deeply nested inline markup. I worked out an algorithm for it, but haven't had time to implement it yet. Probably people should coordinate before taking this on.

Collaborator

raphlinus commented Aug 5, 2016

Thanks for doing this! I'm short on time right now, so really appreciate people from the community fixing this.

There's one tricky area around deeply nested inline markup. I worked out an algorithm for it, but haven't had time to implement it yet. Probably people should coordinate before taking this on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment