実現したいこと
markedのオプション設定でhighlightを差し込みたいのですが、
下はプレビューの一部ですが「"text"」の文字を赤で表示したい
const text = "text";
marked(text);
該当のソースコード
JavaScript
1//index.html 2<!DOCTYPE html> 3<html> 4<head> 5 <!-- Required meta tags --> 6 <meta charset="utf-8"> 7 <title>コードシンタックスをハイライトしてみよう</title> 8 9 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.8.0/github-markdown.min.css"> 10 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css"> 11 12 <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 13 <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.6/marked.min.js"></script> 14 <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight/9.12.0/highlight.min.js"></script> 15 16 <link rel="stylesheet" href="./css/main.css"> 17 <script src="./js/main.js"></script> 18</head> 19<body> 20 21 <div class="container"> 22 <div class="editor"> 23 <textarea class="textarea"></textarea> 24 </div> 25 <div class="preview markdown-body"> 26 </div> 27 </div> 28 29</body> 30</html> 31 32// ./css/main.css 33body { 34 margin: 10px; 35 padding: 0; 36} 37 38.container { 39 width: 100vw; 40 height: 100%; 41 min-height: 100vh; 42 background-color: #F3c5c5; 43 display: flex; 44} 45 46.preview{ 47 padding: 5px; 48 width: 50%; 49 background-color: #E5F0A0; 50 box-sizing: border-box; 51} 52 53.editor { 54 width: 50%; 55 background-color: #FCC4CC; 56 position: relative; 57} 58 59.editor .textarea { 60 position: absolute; 61 width: 100%; 62 height: 100%; 63 resize: none; 64 padding: 5px; 65 font-size: 16px; 66 box-sizing: border-box; 67 border: 0; 68 outline: 0; 69} 70 71.markdown-body p code{ 72 color: #d14; 73} 74 75.markdown-body blockquote{ 76 border-color: #8C618D; 77} 78 79// ./js/main.js 80"use strict"; 81 82$(function () { 83 const $preview = $(".preview"); 84 85 // markedのオプションを設定 86 marked.setOptions({ 87 breaks: true, // breaksを有効にすると、取消線が表示されるようになります。ま 88 sanitize: true, // sanitizeを有効にするとHTMLタグが入力された場合に、 89 // ただのテキストとして出力します。 90 highlight: (code) => { 91 return hljs.highlightAuto(code).value; 92 }, 93 }); 94 95 // テキスト入力ハンドラ 96 $(".textarea").on("input", (e) => { 97 98 // 入力内容を取得する 99 const text = e.target.value; 100 101 // HTMLに変換する 102 const html = marked(text); 103 104 // プレビューに表示する 105 $preview.empty().append(html); 106 107 }); 108 109 // ----------------------------------------------- 110 // 初回表示に何かマークダウンを表示させるためのコード 111 112 const defaultText = `# heading1 113 114 このマークダウンエディタは\`marked\`というオープンソースのライブラリを利用しています。 115 116 - https://github.com/chjj/marked 117 118 ## heading2 119 120 markedの使い方は次の通りで、\`marked\`に変換したい文字列を渡します。 121 122 \`\`\` 123 const text = "text"; 124 marked(text); 125 \`\`\` 126 127 > 作成者 128 >  129 > https://codeprep.jp`; 130 131 $("textarea").text(defaultText).trigger("input"); 132 133}); 134 135
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
// index.htmlの実行結果:Google-Chrome console
// 最初の画面 図:code-syntax-highlight-stylesheet-read6-2.jpg
// 左の入力画面 右のプレビュー画面
heading1 heading1
このマークダウンエディタはmarked
という このマークダウンエディタはmarkedというオープンソースの // marked:赤い文字
オープンソースのライブラリを利用しています。 ライブラリを利用しています。
heading2 heading2
markedの使い方は次の通りで、marked
に変換したい markedの使い方は次の通りで、markedに変換したい // marked:赤い文字
文字列を渡します。 文字列を渡します。
const text = "text"; const text = "text"; //color:black; marked(text); marked(text);//background;white
作成者 作成者 (image)https://codeprep.jp

//上のプレビューでconst text = "text"; //color:black;をconst text = "text"; //color:red;にしたい。
補足
windows10,vscodeのport5500を使用して、google chromeで表示しています。
勉強中のサイトは以下です。
https://codeprep.jp/books/88/chapters/6/sections/3

回答1件
あなたの回答
tips
プレビュー