Open In App

How to create Tables in Pug View Engine ?

Pug is a template engine for NodeJS and browsers, enabling dynamic content rendering. It compiles templates to HTML, supports JavaScript expressions for formatting, and facilitates the reuse of static pages with dynamic data. Its indentation-based syntax simplifies tag specification, enhancing readability.

Tables in Pug:

A table is an arrangement of data in rows and columns in tabular format. Tables are useful for various tasks, such as presenting text information and numerical data. A table is a useful tool for quickly and easily finding connections between different types of data. Tables are also used to create databases.



Syntax to create Tables in Pug:

table
tr
th header 1
th header 2
tr
td element
td element
tr
td element
td element

Approach to Create a Pug Tables:

Steps to Install Pug in Node App:

Step 1: Create a NodeJS Application using the following command:

npm init -y

Step 2: Install required dependencies using the following command:



npm i pug express

Step 3: Create a views folder that contains the table.pug file.

Folder Structure:

Project Structure

The updated dependencies in package.json file will look like:

"dependencies": {
"express": "^4.18.2",
"pug": "^3.0.2"
}

Example: Below is an example of creating a Pug tables.




doctype html
html
  head
    style.
      body{
        margin:2rem;
       }
      h1,h3{
        color:green;
        text-align:center;
      }
      table, th, td {
        border: 1px solid black;
        border-collapse: collapse;
      }
  body
    h1 Welcome To GeeksforGeeks
    h3 Tables in Pug.js
    table(style="width:100%")
      tr
        th Firstname
        th Lastname
        th Age
      tr
        td Anil
        td Kumble
        td 48
      tr
        td Sourav
        td Ganguly
        td 49
      tr
        td Harbhajan
        td Singh
        td 41




//app.js
 
const express=require('express');
const app=express();
const port=3000;
app.set('view engine','pug');
app.get('/',(req,res)=>{
    res.render('tables');
});
app.listen(port,()=>{
    console.log(`server is running at http://localhost:${port}`);
});

Output:

Example 2: Illustration of column span and row span in Pug.




doctype html
html
  head
    style.
      table, th, td {
        border: 1px solid black;
        border-collapse: collapse;
      }
      th, td {
        padding: 4px;
        text-align: left;
      }
  body
    h2 Cell that spans two columns:
    table(style="width:100%")
      tr
        th Name
        th(colspan="2") Telephone
      tr
        td Kedar Jadhav
        td 7777777777
        td 8888888888
    h2 Cell that spans two rows:
    table(style="width:100%")
      tr
        th Name:
        td Kedar Jadhav
      tr
        th(rowspan="2" ) Telephone
        td 7777777777
      tr
        td 8888888888




//app.js
 
const express=require('express');
const app=express();
const port=3000;
app.set('view engine','pug');
app.get('/',(req,res)=>{
    res.render('tables');
});
app.listen(port,()=>{
    console.log(`server is running at http://localhost:${port}`);
});

Output:

Col span and row span in Pug


Article Tags :