This is a Proof Of Concept for GSOC project "Changelog Parser for pub.dev".
This takes in package name and Changelog.md url and generates a modified change log with versions as hyperlinks.
- Get a modified log file with all versions as links
- Fetch versions from pub.dev/api to prevent broken link errors
- Generate Hyperlinks for all occurances, not just headings.
Generate Modified Changelog from URL.
ChangelogProcessor cp = await ChangelogProcessor.fromChangeLogURL( "uuid", Uri.parse( "https://raw.githubusercontent.com/Daegalus/dart-uuid/master/CHANGELOG.md")); String modifiedLogs = cp.getProccessedLog();
Generate Modified Changelog from MD Source
String source = """ v1.0.0 .... .... """; List<String> versions = [ "1.0.0", "1.0.1", ... ] String modifiedLogs = ChangelogProcessor.fromChangeLogSource("..name", versions, source).getProcessedLog();
This project solves a simplified version of the problem using regex
r"v?(\d+.\d+.\d+), which might not be enough and edge cases might arise.
I hope to improve and enhance it in my GSOC internship.