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();
~ Всего наилучшего