Как обернуть строки длинными строками внутри разметки ```блоков кода` `` в проблемах github&gitlab?
Например:
```
some very long line; some very long line; some very long line; some very long line; some very long line; some very long line; some very long line; some very long line; some very long line; some very long line;
```
заставит пользователя прокручивать проблемы с github/gitlab. Есть ли способ обернуть мягкую линию внутри code block
?
Я прочитал соответствующие вопросы, но они кажутся разными (например, Джекилл и т. Д.).
РЕДАКТИРОВАТЬ: ручное редактирование кода для ограничения до 80 столбцов не является жизнеспособным вариантом (например, при вставке из выходных данных / журнала компилятора и т. Д.; это много работы и не должно быть необходимо)
8 ответов
Быстрый обходной путь - процитировать ваши кодовые блоки, например
this line is very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very long
Убедитесь, что вы держите три обратных кавычки на одной линии с очень длинной строкой. Так:
> ```this line is very long```
Добавьте ниже CSS в выходной HTML-файл или отредактируйте его в связанном CSS
code {
white-space : pre-wrap !important;
}
В настоящее время я использую несовершенную работу по замене
```
одним обратным апострофом и делать это построчно, что невозможно для больших фрагментов кода, а также усложняет выделение кода для тех, кто просматривает уценку. Таким образом, этот построчный обходной путь сильно уступает подлинному переносу кода для кода, содержащегося внутри ``
Вместо того, чтобы оборачивать код тройными обратными кавычками
```
обернуть его
<code>...</code>
теги.
Эта новая функция была добавлена в GitLab в феврале 2022 года.
Просто: используйте расширение, такое как User Css
Код по умолчанию pre code
(это тоже) и gitlab
pre code, /* stackru */
.md:not(.use-csslab) pre code
{
white-space: pre-wrap;
}
Или используйте другое расширение, например трикс JSScript для полного контроля над собственным js / css.
Переключите "Wrap/Unwrap" для предварительного кода в любом месте:
в разделе JS добавить переключатель init:
// https://stackru.com/a/57341170/5447232
var ws = function(i,e) {
$("pre code").filter(function(){
var _t = $(this).parent();
return !_t.has("input[switch").length
&& _t.get(0).scrollWidth > _t.innerWidth();
}).before("<input type='checkbox' checked switch title='Wrap/Unwrap' />");
}
$("body").on("change", ws).change();
$(window).bind("scroll", ws);
в разделе CSS добавьте стили:
/* https://stackru.com/a/57341170/5447232 */
pre {position:relative;}
input[type="checkbox"][switch] {
position: absolute;
display: block;
right:0.5em;
top:0.5em;
}
pre input[switch]:checked + code { white-space: pre-wrap; }
/* pre input[switch]:not(:checked) + code { white-space: pre; } */
Расширяя ответ @Tarun (который отлично работает для обычных HTML-страниц), если у вас нет доступа к внешнему CSS, просто добавьте следующее
<style>
на той же странице:
<style>
code {
white-space : pre-wrap !important;
word-break: break-word;
}
</style>
Все блоки кода на этой странице будут перенесены по словам. В
word-break: break-word
позволит избежать разбиения слов на строки.
Похоже, это пока невозможно. Но вы можете использовать некоторые расширения, чтобы обойти разметку - это расширение chrome здесь довольно круто, смотрите эту ветку github здесь для получения дополнительной информации.
Нашел для себя следующее решение и протестировал его на "github":
1) Создать файл с суффиксом ".md"
2) Используйте тег< div> для решения запрошенной цели - разбейте длинные строки на несколько, чтобы пометить их как одну строку.
Пример:
<div>I am
very
long line</div>
Будет рассматриваться как следующее:
I am very long line