當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript highlight.js類代碼示例

本文整理匯總了TypeScript中highlight.js的典型用法代碼示例。如果您正苦於以下問題:TypeScript js類的具體用法?TypeScript js怎麽用?TypeScript js使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了js類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的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;
}
開發者ID:natkuhn,項目名稱:vsc-print,代碼行數:59,代碼來源:extension.ts

示例2:

 renderer.code = (code, language) => {
     // Check whether the given language is valid for highlight.js.
     const validLang = !!(language && highlight.getLanguage(language));
     // Highlight only if the language is valid.
     const highlighted = validLang ? highlight.highlight(language, code).value : code;
     // Render the highlighted code with `hljs` class.
     return `<pre><code class="hljs ${language}">${highlighted}</code></pre>`;
 };
開發者ID:seattlecodercamps,項目名稱:Blixen,代碼行數:8,代碼來源:markdown.component.ts

示例3:

 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>`
 }
開發者ID:linkFly6,項目名稱:Said,代碼行數:8,代碼來源:html.ts

示例4: function

        highlight: function (str, lang) {
            if (lang && hljs.getLanguage(lang)) {
                try {
                    return hljs.highlight(lang, str).value;
                } catch (__) { }
            }

            return ''; // use external default escaping
        }
開發者ID:AbraaoAlves,項目名稱:DefinitelyTyped,代碼行數:9,代碼來源:markdown-it-tests.ts

示例5: catch

 highlight: (str, lang) => {
     if (lang && hljs.getLanguage(lang)) {
         try {
             return hljs.highlight(lang, str).value;
         } catch (e) {
             console.error(e);
         }
     }
     return ''; // use external default escaping
 },
開發者ID:nextcloud,項目名稱:appstore,代碼行數:10,代碼來源:Markdown.ts

示例6: catch

    highlight: (str: any, lang: any) => {
        if (lang && hljs.getLanguage(lang)) {
            try {
                return hljs.highlight(lang, str).value;
            } catch (e) {
                // console.info('hightlight');
                // console.info(e);
            }

        } else {
            console.info("找不到目標語言或語言對應的高亮:" + lang);
        }

        return ''; // use external default escaping
    },
開發者ID:weiweiwitch,項目名稱:third-lab,代碼行數:15,代碼來源:md.ts

示例7: function

    highlight: function(code: string, lang: string): string {
        if (lang === undefined) {
            return code;
        }

        if (lang === 'mermaid') {
            if (!loaded_mermaid) {
                const script = document.createElement('script');
                script.src = 'file://' + remote.app.getAppPath() + '/bower_components/mermaid/dist/mermaid.min.js';
                script.onload = () => {
                    mermaid.init(undefined, 'div.mermaid');
                };
                document.head.appendChild(script);

                loaded_mermaid = true;
            }
            return '<div class="mermaid">' + he.encode(code) + '</div>';
        }

        if (lang === 'katex') {
            return '<div class="katex">' + katex.renderToString(code, {displayMode: true}) + '</div>';
        }

        try {
            return highlight(lang, code).value;
        } catch (e) {
            console.log('Error on highlight: ' + e.message);
            return code;
        }
    },
開發者ID:WondermSwift,項目名稱:Shiba,代碼行數:30,代碼來源:markdown-preview.ts

示例8: attached

   async attached() {
    let targets = this.element.querySelectorAll('code');

    for (let i = 0; i < targets.length; i += 1) {
        let target = targets[i];
        hljs.highlightBlock(target);
    }  
  }
開發者ID:adamfur,項目名稱:helix,代碼行數:8,代碼來源:highlight.ts

示例9:

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>`;
};
開發者ID:luketurner,項目名稱:scripsi,代碼行數:14,代碼來源:code.ts


注:本文中的highlight.js類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。