Можно ли из jade-шаблона вывести данные?

Pug (ранее известный как Jade) является языком разметки, предназначенным для упрощения и улучшения процесса разработки HTML-шаблонов. Pug предоставляет удобный синтаксис, который позволяет быстро создавать чистый и краткий код.

Когда мы говорим о "выводе данных" из Pug-шаблона, мы обычно имеем в виду передачу динамических данных из серверной части приложения в шаблон, чтобы они отобразились в генерируемом HTML.

Pug обладает мощными средствами для вставки и отображения данных. Для вывода данных в HTML-шаблоне Pug использует специальный синтаксис, известный как переменные встроенных объектов.

Чтобы вывести данные в Pug-шаблоне, вам необходимо передать переменные из серверного кода при рендеринге шаблона. Обычно это делается с помощью фреймворков, таких как Node.js с использованием Express или Koa. Вот пример использования Express для рендеринга Pug-шаблона с передачей данных:

const express = require('express');
const app = express();

app.set('view engine', 'pug');

app.get('/', (req, res) => {
  const data = {
    title: 'Пример Pug',
    message: 'Добро пожаловать в мир Pug!'
  };
  res.render('index', data);
});

app.listen(3000, () => {
  console.log('Сервер запущен на порту 3000');
});

В приведенном выше примере роутер Express обрабатывает запрос на главную страницу ('/') и передает объект data в качестве аргумента методу res.render. Значения из объекта data могут быть использованы в Pug-шаблоне, основываясь на их ключах, в данном случае title и message.

Ниже приведен пример Pug-шаблона (назовем его index.pug), который использует переданные данные:

doctype html
html
  head
    title= title
  body
    h1= title
    p= message

В этом примере мы используем переменные title и message, переданные из серверного кода, в заголовке страницы (title) и в абзаце (p).

Когда сервер получает запрос на главную страницу и вызывает метод res.render, Pug-шаблон будет обработан и сгенерирован соответствующий HTML-код. Например, для объекта data со значениями {title: 'Пример Pug', message: 'Добро пожаловать в мир Pug!'}, сгенерированный HTML-код будет иметь следующий вид:

<!DOCTYPE html>
<html>
  <head>
    <title>Пример Pug</title>
  </head>
  <body>
    <h1>Пример Pug</h1>
    <p>Добро пожаловать в мир Pug!</p>
  </body>
</html>

Таким образом, ответ на ваш вопрос состоит в том, что да, вы можете из Pug-шаблона выводить данные, переданные из серверной части приложения. Необходимо передать переменные с данными при рендеринге шаблона и использовать их в соответствующих местах шаблона, используя синтаксис Pug. Это позволяет создавать динамические HTML-страницы, которые могут отобразить различные данные в зависимости от контекста запроса или других условий.