Handle internal links without extensions #3384
Draft
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.
Pull Request Checklist
Reason for change
Jekyll—or at least Jekyll as I've configured it—allows for internal links to files regardless of their extension. Say, for example, you have two posts:
post1.md
andpost2.html
I could convert-and-rename
post2.html
topost2.md
and the internal link inpost1.md
would not need to change. (I did this a lot in my Jekyll days because the Jekyll blog had a lot of content exported from WordPerfect as HTML files.)Proposed implementation
In
_link_replacer()
, create a loop of Reader filename extensions to append to the end of the file path and calls_get_linked_content()
with that extension. The first time through the loop the extension isNone
so the function behaves as it currently does. If that fails to find a path in the context, the loop tries adding extensions to the path.Open questions
YAMLMetadataReader.file_extensions
, but that seems like an unwise coupling.