【问题标题】:Highlighting curl code snippet in react syntax highlighter在反应语法荧光笔中突出显示 curl 代码片段
【发布时间】:2021-12-27 13:30:57
【问题描述】:

我试图在我的反应应用程序中突出显示 curl 代码 sn-p。 我也在使用react-syntax-highlighter

问题,curl 代码没有正确对齐。在我的代码 sn-p 下方。

import SyntaxHighlighter from 'react-syntax-highlighter';
import { github } from 'react-syntax-highlighter/dist/esm/styles/hljs';

const getCurlSnippet = (loadId, text) =>{
  const token = localStorage.getItem("token");
  const PARSE_API_URL = "API URL";
  return `curl ${PARSE_API_URL} \
    -H 'authorization: ${token}' \
    -H 'Content-Type: application/json' \
    --data-raw '{"loadId":"${loadId}","text":"${text}"}' \
    --compressed`;
}

const getHighlightSnippet = () => (
    <SyntaxHighlighter
        language="curl"
        style={github}
        customStyle={{borderRadius: "12px", padding: "16px", background: "rgb(227 224 224)"}}
    >
        {getCurlSnippet("U134IJ", "Hello world")}
    </SyntaxHighlighter>
);

这里是sandbox link

输出是单行,而不是垂直对齐。

【问题讨论】:

  • 也许你需要传递 language="bash" 而不是 curl。
  • 也试过了,语法高亮,但是一行一行。
  • 改用\n
  • 在您的代码中添加\n。而不仅仅是\` . \n` 将代码移到下一行。

标签: javascript reactjs curl react-syntax-highlighter


【解决方案1】:

在您的 SyntaxHighlighter 组件道具中使用 bash 作为语言而不是 curl

不要在每行的末尾只写\,而是写\n,这会将代码移到下一行。

这里是你的工作代码:

// app.js

import SyntaxHighlighter from "react-syntax-highlighter";
import { github } from "react-syntax-highlighter/dist/esm/styles/hljs";
import "./styles.css";

const getCurlSnippet = (loadId, text) => {
  const authToken = "toekn";
  const PARSE_API_URL = "API_URL";
  return `curl '${PARSE_API_URL}' \n
    -H 'authorization: ${authToken}' \n
    -H 'Content-Type: application/json' \n
    --data-raw '{"loadId":"${loadId}","text":"${text}"}' \n
    --compressed`;
};

export default function App() {
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
      <SyntaxHighlighter
        language="bash"
        style={github}
        customStyle={{
          borderRadius: "12px",
          padding: "16px",
          background: "rgb(227 224 224)"
        }}
      >
        {getCurlSnippet("U134IJ", "Hello world")}
      </SyntaxHighlighter>
    </div>
  );
}

【讨论】:

  • 哦,太傻了,快到了,谢谢,它工作得很好:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
相关资源
最近更新 更多