marcaddeo / clparse Goto Github PK
View Code? Open in Web Editor NEWA command line tool for parsing CHANGELOG.md files that use the Keep A Changelog format
A command line tool for parsing CHANGELOG.md files that use the Keep A Changelog format
When you yank a release the next release is still using it in it's comparison link.. This is probably not ideal.
For example:
## [5.10.1] - 2020-01-02
## 5.10.0 - 2020-01-02 [YANKED]
## [5.9.5] - 2019-12-22
[5.10.1]: https://github.com/my/repo/compare/5.10.0...5.10.1
I think ideally this would go back to the previous release that is not yanked.
## [5.10.1] - 2020-01-02
## 5.10.0 - 2020-01-02 [YANKED]
## [5.9.5] - 2019-12-22
[5.10.1]: https://github.com/my/repo/compare/5.9.5...5.10.1
This looks like a neat tool. Thank you for implementing it!
When I ran cargo install clparse
, it failed with the following error:
error[E0433]: failed to resolve: could not find `__rt` in `quote`
--> /home/emk/.cargo/registry/src/github.com-1ecc6299db9ec823/err-derive-0.1.6/src/lib.rs:145:63
|
145 | fn display_body(s: &synstructure::Structure) -> Option<quote::__rt::TokenStream> {
| ^^^^ could not find `__rt` in `quote`
Follow-up to #22. Minor issue.
clparse --format=json --separator=–
works great
clparse --format=json
always outputs null
as version.
I wonder whether it was possible that version
is non-null, but date
is null (because the separator is not known)
This might be too complex. Feel free to close the issue. My usecase works with --separator=–
. Just wanted to share some ideas for "know-less" tooling :).
When rendering the Changelog data as Markdown, the individual change entries should wrap at 80 characters.
Current'y we're preserving line breaks, and indentation, to handle such a scenario. Not sure if that current code would conflict with wrapping at 80 chars.
However, new changes added with cl
don't have any wrapping on them since they're just yaml
. So we need to figure out the best way to wrap the lines. Probably best to just strip all newlines out of change entries, and wrap them manually.
When trying to parse https://github.com/JabRef/jabref/blob/v5.11/CHANGELOG.md, version
is always null
. I think, it could be because of the used en dash. There is an issue, because the official format might permit en dash (see olivierlacan/keep-a-changelog#497; linked from nbbrd/heylogs#140 (comment)).
{
"version": null,
"link": "https://github.com/JabRef/jabref/compare/v5.10...v5.11",
"date": null,
If en dash support is "difficult" to implement, maybe this tool coud parse the github compare link to get the version out of that link?
(General background: I was recommended clparse at NiclasvanEyk/keepac#20 (comment))
Couple issues I noticed:
clparse CHANGELOG.md
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.