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.
ChangelogProcessor cp = await ChangelogProcessor.fromChangeLogURL(
"uuid",
Uri.parse(
"https://raw.githubusercontent.com/Daegalus/dart-uuid/master/CHANGELOG.md"));
String modifiedLogs = cp.getProccessedLog();
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.