-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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!
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] | ||
} | ||
|
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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]) { |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
Summary
What kind of change does this PR introduce? (check at least one)
If changing the UI of default theme, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)
If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:
fix #xxx[,#xxx]
, where "xxx" is the issue number)You have tested in the following browsers: (Providing a detailed version will be better.)
If adding a new feature, the PR's description includes:
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
after