Pass input file's directory as live-server's root#21
Open
walterl wants to merge 4 commits intodavidgranstrom:masterfrom
Open
Pass input file's directory as live-server's root#21walterl wants to merge 4 commits intodavidgranstrom:masterfrom
walterl wants to merge 4 commits intodavidgranstrom:masterfrom
Conversation
This enables a high degree of customization. I've found it useful for changing the browser being opened, and changing the port on which the live server is started.
Enable passing extra args to live-server
This fixes broken relative links when previewing files outside of the current working directory. Example: Open a terminal and `cd` to the parent directory of your clone of this repo, run `nvim nvim-markdown-preview/README.md`, and `:MarkdowPreview<CR>`. Notice how the screenshot is missing. This happens because the generated HTML's (temporary) directory is mounted at the live server's `/`. This is required for the HTML file to be accessible to live-server, but it also means that relative links are broken, because the temp directory doesn't include linked resources. Previewing files in the current directory happens to work, because live-server's root is the current directory, which live-server apparently falls back to when it can't find something in the directory mounted at `/`. (The server root and `/` mounts appear to be mapped.) This fallback functionality is leveraged to fix relative resource links by setting the live-server root to the directory of the input file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This fixes broken relative links when previewing files outside of the current working directory.
Example: Open a terminal and
cdto the parent directory of your clone of this repo, runnvim nvim-markdown-preview/README.md, and:MarkdowPreview<CR>. Notice how the screenshot is missing.This happens because the generated HTML's (temporary) directory is mounted at the live server's
/. This is required for the HTML file to be accessible to live-server, but it also means that relative links are broken, because the temp directory doesn't contain linked resources.Previewing files in the current directory happens to work, because live-server's root is the current directory, which live-server
apparently falls back to when it can't find something in the directory mounted at
/. (The server root and/mounts both appear to be mapped.)This fallback functionality is leveraged to fix relative resource links by setting the live-server root to the directory of the input file.