Diff2html diff не загружается

Я использую diff2html, чтобы показать различия в git PR на странице HTML. Я добавил необходимые скрипты и вызываю такой объект

<script type="text/javascript">
    var diffHtml = Diff2Html.getPrettyHtml(
        'https://github.com/rtfpessoa/diff2html/pull/106',
            {
                inputFormat: 'diff', 
                showFiles: true, 
                matching: 'lines', 
                outputFormat: 'side-by-side'
            }
        );
        document.getElementById("diff-container").innerHTML = diffHtml;
</script>

Теперь это показывает, что файлы изменены (0). Указанный мной URL-адрес указан в демонстрационном разделе их веб-сайта и содержит diff. Я правильно это делаю? Или как я могу получить по URL-адресу?

2 ответа

Фактически getPrettyHtmlпринимает строку diff, а не саму ссылку. Невозможно обрабатывать вычисления различий с помощью самого diff2html, эта библиотека только приукрашивает его. Вы можете легко получить разницу с помощью этого совета GitHub:

Добавьте.patch или.diff в конец URL-адресов для текстовых представлений Git.

Чтобы получить данные по URL-адресу, вы можете взглянуть на этот ответ.

Немного неактуально, но можно использовать xdiff (пакет PECL ) в PHP, чтобы создать единую модель (то есть разницу между строкой или файлом, которая нравится библиотеке) и этот вывод в передатьDiff2HtmlUI для создания приятного Gitlab / Github diff на основе UI / UX.

Вот как я это сделал, и это фантастически работает:

      Step 1: $string1 = 'contains from file-1/string1';
Step 2: $string2 = 'contains from file-2/string2';
Step 3: $getUnifiedDiff = xdiff_string_diff($string1, $string2);
Step 4: Initialise the configuration (as you've done above) and follow through 
var diff2htmlUi = new Diff2HtmlUI(targetElement, $getUnifiedDiff, configuration);
diff2htmlUi.draw();
diff2htmlUi.highlightCode();

~ Всего наилучшего

Другие вопросы по тегам