печатать текст жирным шрифтом на веб-странице - PullRequest
0 голосов
/ 07 мая 2019

У меня есть Perl-скрипт, который генерирует вывод и отображает на веб-странице (в Nagios).

Так что из вывода я хочу отобразить определенную строку (называемую заголовком) в BOLD как в выводе скрипта, так и ввеб-страница

Я пытаюсь использовать ниже - он отображает жирный шрифт (заголовок1) в командной строке, но не на веб-странице Nagios.

use Term::ANSIColor qw(:constants);
$Term::ANSIColor::AUTORESET = 1;

sub display
{
    print BOLD ("Heading1:\n");
}

Может видеть на веб-странице, что отображается с номером, но без жирного.

[1mHeading1:

Ответы [ 2 ]

3 голосов
/ 07 мая 2019

Средства, с помощью которых веб-страницы и терминалы создают такие эффекты, как цвета и стили, сильно различаются.В Интернете используется HTML, язык разметки с тегами и таблицами стилей.Терминалы используют управляющие коды и escape-последовательности.Не существует единого выходного сигнала, который можно сгенерировать, и который будет работать для обоих.

Однако вы можете сгенерировать вывод HTML и передать вывод через консоль HTML-рендерера при работе на консоли.В качестве альтернативы, вы можете создать набор функций для стилей, которые вы хотите (например, жирный), и сделать так, чтобы они производили различный вывод в зависимости от того, является ли пункт назначения терминалом или нет.Вы можете проверить, является ли STDOUT терминалом, используя -t STDOUT.

2 голосов
/ 08 мая 2019

Term :: ANSIColor позволяет вам изменять формат текста, выводимого на терминал (через интерфейс командной строки, CLI). Веб-страницы - это простые текстовые документы, которые отображаются браузером, если вы используете действительный код HTML / CSS / JavaScript.

Чтобы напечатать полужирный текст в HTML, вы должны напечатать что-то вроде:

print "<b>This text is bold</b> <br>\n";

, где тег b выделен жирным шрифтом, а br - разрыв строки (, т.е. эквивалентен \n в контексте командной строки). Этот фрагмент должен прояснить, как работают HTML-теги (см. https://www.w3schools.com/html/html_intro.asp).

Я согласен с TFBW, и вы можете использовать HTML-рендеринг вниз по течению, или, если вы хотите больше контроля и в то же время создавать хороший HTML-код, вы можете использовать для этого какой-нибудь модуль Perl (https://metacpan.org/search?size=20&q=html).

В качестве заключительного комментария я лично использую Term :: ANSIColor только для сценариев, которые я лично запускаю, поскольку просмотр прокручиваемого текста может сбивать с толку, поскольку некоторые цвета пропускают различную информацию. Сценарии, которые генерируют (обычно динамические) веб-страницы, обычно записывают свой текст в файл журнала, делая цвета менее полезными и, возможно, трудными для чтения.

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