Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #1227: relative path in pages that use permalink #1298

Merged
merged 4 commits into from
Feb 17, 2019
Merged

Conversation

shigma
Copy link
Collaborator

@shigma shigma commented Feb 15, 2019

Summary

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Code style update
  • Refactor
  • Docs
  • Build-related changes
  • Other, please describe:

If changing the UI of default theme, please provide the before/after screenshot:

Does this PR introduce a breaking change? (check one)

  • Yes
  • No

If yes, please describe the impact and migration path for existing applications:


Impact: This PR changes the behaviour of relative urls in markdown files that use permalink

docs
├── with-permalink.md
└── target-page.md
  • One page uses permalink, in which there is a link to the other page.
  • The other page does not use permalink.

Case 1

// with-permalink.md
---
permalink: '/foo/bar'
---

[To target page](./target-page.md)

before: 404
after: link to target-page.md

Case 2

// with-permalink.md
---
permalink: '/foo/bar'
---

[To target page](./../../target-page.md)

before: link to target-page.md
after: 404

Migration


The PR fulfills these requirements:

  • When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)

You have tested in the following browsers: (Providing a detailed version will be better.)

  • Chrome 71.0.3578.98
  • Firefox
  • Safari
  • Edge
  • IE

If adding a new feature, the PR's description includes:

  • A convincing reason for adding this feature
  • Related documents have been updated
  • Related tests have been updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.

Other information:

The cases was provided in #1227 .

@shigma
Copy link
Collaborator Author

shigma commented Feb 15, 2019

Some additional comments

  1. Added some markdown-it plugin environment api:
    • env.relPath: the relative path of the file in source directory
    • env.frontmatter: the frontmatter in the markdown file
  2. Fixed a typo.

@ulivz ulivz requested a review from Akryum February 16, 2019 17:15
@ulivz
Copy link
Member

ulivz commented Feb 16, 2019

cc @meteorlxy

@meteorlxy
Copy link
Member

Great work @shigma ! This implementation is much simpler than I thought.

I've tested it on Windows 10 and it works well.

Copy link
Member

@meteorlxy meteorlxy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides the cases we listed, there are some other cases:

  • From normal link page to permalink page
  • From permalink page to permalink page
  • From permalink page to normal link page (the listed case)

I've roughly tested all those cases and they work well, as we have already added redirect routes from regularPath to its permalink.

👍

@ulivz ulivz merged commit d560e22 into vuejs:master Feb 17, 2019
@shigma shigma mentioned this pull request Feb 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants