Выделите haskell содержимое файла с помощью Prism. js - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь выделить фрагмент кода Haskell с помощью Prism. js

Ниже приведен пример кода HTML, который правильно выделяет код

<pre><code id="codecontent1" class="language-haskell">import Data.List
import Data.List.Split (chunksOf)

area h w xs = 2 * h * w + count xs + count (rotate xs)
  where rotate = reverse . transpose
        count = sum . map diff
        diff ys = sum $ zipWith ((abs .) . (-)) (0 : ys) (ys ++ [0])


solve :: [Int] -> Int
solve (h:w:xs) = area h w (chunksOf w $ xs)

main = interact $ show . solve . map read . words

Вывод: enter image description here

Но при попытке загрузить код динамически (из репозитория github) он не подсвечивается должным образом. HTML Код:

<pre><code id="codecontent" class="language-haskell">loading..

JS код для загрузки содержимого:

function load_code (probname) {
    var url = 'https://rawgit.com/tuxian-root/hackerrank-solutions/master/' + probname + '.hs';
    var txtFile = new XMLHttpRequest();
    txtFile.open("GET", url, true);
    txtFile.onreadystatechange = function() {
        if (txtFile.readyState === 4) {  // Makes sure the document is ready to parse.
            if (txtFile.status === 200) {  // Makes sure it's found the file.
                allText = txtFile.responseText;
                //lines = txtFile.responseText.split("\n"); // Will separate each line into an array
                document.getElementById("codecontent").textContent = txtFile.responseText;
                document.getElementById("codecontent").setAttribute("class", "language-haskell language-markup");
            }
        }
    }
    txtFile.send(null);
    //document.getElementById("codecontent").setAttribute("class", "language-haskell");
}

вызывающая часть:

<body style="overflow: hidden;" onload="load_code('algorithms/implementation/3d-surface-area.hs')"></body>

выход : enter image description here

Я тоже пробовал ниже, но не сработало.

<code><pre data-src="https://github.com/tuxian-root/hackerrank-solutions/blob/master/algorithms/implementation/3d-surface-area.hs">

Может кто-нибудь, пожалуйста, помогите мне найти чего мне не хватает?

1 Ответ

0 голосов
/ 01 мая 2020

Я обнаружил проблему с загрузкой prism.css / prism. js Я пропустил опцию выделения файла

Ссылка: { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...