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

feat($code-highlight): add doc highlight #2618

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

troy351
Copy link

@troy351 troy351 commented Sep 19, 2020

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:

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
  • 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:

before
image

after
image

@d-pollard d-pollard self-requested a review October 13, 2020 19:20
Copy link
Collaborator

@d-pollard d-pollard left a comment

Choose a reason for hiding this comment

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

Left comments; just looking for more context and consistency in value checking. Tag me and I'll re-review when you're ready!

Comment on lines +35 to +50
function getDocLangCodeFromLang (lang) {
const docMap = {
'js': 'jsdoc',
'javascript': 'jsdoc',
'typescript': 'jsdoc',
'markup': 'jsdoc',
'java': 'javadoc',
'php': 'phpdoc',
'csharp': 'xml-doc',
'fsharp': 'xml-doc',
'vbnet': 'xml-doc'
}

return docMap[lang]
}

Copy link
Collaborator

Choose a reason for hiding this comment

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

Where do these come from? mind providing some context?

Copy link
Author

@troy351 troy351 Oct 14, 2020

Choose a reason for hiding this comment

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

This was from https://github.com/PrismJS/prism/blob/master/components.json , searching for the keyword doc" and arranged myself.
The original PrismJS PR: PrismJS/prism#1541 PrismJS/prism#2340

PS. I was trying to add "js":"javascript" into getLangCodeFromExtension just like "ts":"typescript" to avoid duplicate of line 37 & 38 but causing unexpected behavior, so I give up

@@ -46,6 +64,16 @@ module.exports = (str, lang) => {
logger.warn(chalk.yellow(`[vuepress] Syntax highlight for language "${lang}" is not supported.`))
}
}

const docLang = getDocLangCodeFromLang(lang)
if (docLang && !prism.languages[docLang]) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

If we're doing this check here, wouldn't we also need to do the same check on line 77?

Copy link
Author

Choose a reason for hiding this comment

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

Loading the corresponding doc-language before the language itself, but not all language has its doc-language, I think it's fine here

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.

None yet

2 participants