First pass at a Table of Contents generator from markdown #8348
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Related to #8347
This PR doesn't integrate with anything yet, just provides a new script in the
app
directory,dart run :toc
. The script is heavily borrowed from @ramyak-mehra at #3657 (comment)This script generates a fake Pub page (couldn't get all the JS/CSS to load) based on
flutter_local_notifications
. Running the script generates aapp/toc_experiment/index.html
you can load in a localhost server. The generated page is the standard README plus a table of contents pinned to the side, with functioning links. This PR is not about the exact format of the page but rather about the parsing logic, all contained withinapp/bin/toc.dart
.To test, fill the content of
app/toc_experiment/readme.md
with whatever you like (now it has the notifications package), then:Navigate to
http://localhost:8888
in your browser, and there should be a functional table of contents!Here's the new API:
Contribution guidelines:
dart format
.Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.