-
Notifications
You must be signed in to change notification settings - Fork 226
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
Jekyll source validation #502
Comments
https://github.com/18F/jekyll_frontmatter_tests is another jekyll plugin that is prior art. |
@jayvdb FWIW, https://github.com/nexB/saneyaml that I maintain does not make any serious attempt at roundtripping. Instead it focuses on trying to get readable YAML out and avoid falling into too many YAML traps in ... which in some cases could amount to rountripping. https://pypi.python.org/pypi/ruamel.yaml seems a better solution if you want to go strict. |
I think the application phase & community bonding phase of this project should be about assessing the available yaml libraries to select the best roundripper for the most suitable set of yaml needed for typical front matter. I would suggest that about 1/3 of this project is improving the chosen yaml library to iron out the wrinkles, so an important consideration for choosing the yaml library will be how suitable the project is to being enhanced. |
The yaml 1/3 of this project should be the first third IMO , as building a well defined subset of yaml which can be roundtripped will assist #502 , so that the yaml schema chosen is able to be roundtripped, which will be necessary as gitmate has a web-editor of the settings which needs to serialize changes back into YAML. |
Probably also want to include https://github.com/adrienverge/yamllint in the scope of this project. |
html-proofer is the most commonly used validator of jekyll sites, and it operates on the rendered version of the site.
By combining various existing coala plugins, and improving the YAML bears, coala could do equivalent validation on the source version of the site.
An important aspect of the YAML validation is ensuring that it can be round-tripped. i.e. read into a library, modified, and emitted again with only the modifications being in the diff.
https://pypi.python.org/pypi/ruamel.yaml is one attempt at doing this, but it often requires overwriting the reader and writer to ensure round-tripping.
https://github.com/nexB/saneyaml is a new attempt at doing this.
A possible mentor of this project is @pombredanne
The text was updated successfully, but these errors were encountered: