本文整理汇总了TypeScript中highlight.js.highlightAuto方法的典型用法代码示例。如果您正苦于以下问题:TypeScript js.highlightAuto方法的具体用法?TypeScript js.highlightAuto怎么用?TypeScript js.highlightAuto使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类highlight.js
的用法示例。
在下文中一共展示了js.highlightAuto方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getRenderedSourceCode
async function getRenderedSourceCode(): Promise<string> {
let printConfig = vscode.workspace.getConfiguration("print", null);
let printAndClose = printConfig.printAndClose ? " onload = \"window.print();window.close();\"" : "";
if (printConfig.renderMarkdown && commandArgs.fsPath.split('.').pop().toLowerCase() === "md") {
let markdownConfig = vscode.workspace.getConfiguration("markdown", null);
return `<!DOCTYPE html><html><head><title>${commandArgs.fsPath}</title>
<meta charset="utf-8"/>
<style>
html, body {
font-family: ${markdownConfig.preview.fontFamily};
font-size: ${markdownConfig.preview.fontSize}px;
line-height: ${markdownConfig.preview.lineHeight}em;
}
img {
max-width: 100%;
}
h1,h2,h3,h4,h5,h6 {
page-break-after:avoid;
page-break-inside:avoid;
}
</style>
${markdownConfig.styles.map((cssFilename: string) => `<link href="${cssFilename}" rel="stylesheet" />`).join("\n")}
</head>
<body${printAndClose}>${markdown_it().render(fs.readFileSync(commandArgs.fsPath).toString())}</body></html>`;
}
let x = vscode.extensions.getExtension("pdconsec.vscode-print");
if (!x) { throw new Error("Cannot resolve extension. Has the name changed? It is defined by the publisher and the extension name defined in package.json"); }
let stylePath = `${x.extensionPath}/node_modules/highlight.js/styles`;
let defaultCss = getFileText(`${stylePath}/default.css`);
let swatchCss = getFileText(`${stylePath}/${printConfig.colourScheme}.css`);
let sourceCode = await getSourceCode();
let renderedCode = "";
try {
renderedCode = hljs.highlight(sourceCode[0], sourceCode[1]).value;
}
catch (err) {
renderedCode = hljs.highlightAuto(sourceCode[1]).value;
}
var addLineNumbers = printConfig.lineNumbers === "on" || (printConfig.lineNumbers === "inherit" && vscode.window.activeTextEditor && (vscode.window.activeTextEditor.options.lineNumbers || 0) > 0);
if (addLineNumbers) {
var startLine = selection && !(selection.isEmpty || selection.isSingleLine) ? selection.start.line + 1 : 1;
renderedCode = renderedCode
.split("\n")
.map((line, i) => `<tr><td class="line-number">${startLine + i}</td><td class="line-text">${line}</td></tr>`)
.join("\n")
.replace("\n</td>", "</td>")
;
} else {
renderedCode = renderedCode
.split("\n")
.map((line, i) => `<tr><td class="line-text">${line}</td></tr>`)
.join("\n")
.replace("\n</td>", "</td>")
;
}
let editorConfig = vscode.workspace.getConfiguration("print", null);
let html = `<html><head><title>${commandArgs.fsPath}</title><style>body{margin:0;padding:0;tab-size:${editorConfig.tabSize}}\n${defaultCss}\r${swatchCss}\n${lineNumberCss.replace("{lineSpacing}", (printConfig.lineSpacing - 1).toString())}\n.hljs { max-width:100%; width:100%; font-family: Consolas, monospace; font-size: ${printConfig.fontSize}; }\n</style></head><body${printAndClose}><table class="hljs">${renderedCode}</table></body></html>`;
return html;
}
示例2:
renderer.code = (code: string, language: string) => {
return `<pre class="hljs lang-${language}"><code class="${language}">${
// 如果在支持的语言列表里面就用该语言渲染,否则使用默认语言渲染
hljs.getLanguage(language) ?
hljs.highlight(language, code).value :
hljs.highlightAuto(code).value
}</code></pre>`
}
示例3: inferLanguage
function inferLanguage(code: string): string {
if (/<script>/.test(code)) {
return 'html';
}
if (/Polymer\(\s*\{/.test(code)) {
return 'javascript';
}
return highlight.highlightAuto(code, ['html', 'css', 'javascript']).language;
}
示例4:
export const codeToHtml = (code: string, { language = null, interpretHints = true } = {}) => {
if (language) return `<code>${highlight(language, code).value}</code>`;
if (interpretHints) {
const langRegex = /^([\w-.]+):\s/g;
const match = langRegex.exec(code);
if (match && listLanguages().includes(match[1])) {
const restOfCode = code.substring(langRegex.lastIndex);
return `<code>${highlight(match[1], restOfCode).value}</code>`;
}
}
return `<code>${highlightAuto(code).value}</code>`;
};
示例5: catch
highlight: (str: string, lang: string) => {
if (hljs) {
if (lang && hljs.getLanguage(lang)) {
try {
return hljs.highlight(lang, str).value;
} catch (error) {
console.log(error);
}
}
try {
return hljs.highlightAuto(str).value;
} catch (error) {
console.log(error);
}
}
return "";
},
示例6: highlightAuto
highlight: (code, lang) => {
return highlightAuto(code, lang ? [lang] : undefined).value;
}
示例7:
highlight: (code, language) => language
? hljs.highlight(language, code).value
: hljs.highlightAuto(code).value
示例8:
renderer.code = (code: string, language: string, isEscaped: boolean): string => {
code = highlight.highlightAuto(code).value
return `<code class="lang-${language} md-code">${code}</code>`
}
示例9: highlight
// h1 - h6
renderer.heading = (text: string, level: number, raw: string): string => {
return `<h${level} class="md-h${level}">${text}</h${level}>`
}
// code
renderer.code = (code: string, language: string, isEscaped: boolean): string => {
code = highlight.highlightAuto(code).value
return `<code class="lang-${language} md-code">${code}</code>`
}
// init
marked.setOptions({
renderer,
highlight (code: string, lang: string) {
return highlight.highlightAuto(code, [lang]).value
}
})
// MD 转 HTML
function md2html (source: string, isFormat: boolean) {
source = md.marked(source)
// 格式化:换行、缩进
if (isFormat) {
source = source.replace(/\n/g, '<br/>')
source = source.replace(/[ ]{2}/g, '<span class="md--tab"></span>')
}
return source
}
示例10: highlight
public highlight(code: string): string {
return hljs.highlightAuto(code, ['ts', 'html', 'scss', 'nginx']).value;
}