0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pugとHTMLの違いについてまとめてみた!

Posted at

概要

今日、友人からpugというものについて聞いたので今回はそれについてまとめようと思います。

pugとはなんなのか

PugとはHTMLをより簡潔かつ効率的に記述できるテンプレートエンジン(動的なコンテンツを生成する際に使用されるプログラム)です。テンプレートエンジンは、静的なコンテンツ(HTML、CSS、JavaScriptなど)を、動的なデータ(データベースから取得した情報など)と組み合わせて表示することができます。これにより、同じ静的なコンテンツを使用して、様々な動的なコンテンツを生成することができます。

以下にpugの特徴をまとめたいと思います。

pugの特徴

  • タグの省略
    HTMLでは、タグの開始タグと終了タグの両方を記述する必要があります。
    しかし、Pugでは、タグの終了タグを省略することができます。例えば、以下のHTMLコードをPugに変換すると、以下のようになります。
HTML.
<div class="container">
  <h1>Welcome to my website</h1>
  <p>This is a paragraph</p>
</div> 



pug.
.container
  h1 Welcome to my website
  p This is a paragraph

このようにソースコードを大幅に短縮することが可能になります。cssに少し似ていますね。


  • インデントによるネストの表現
    HTMLでは、タグをネストする場合、開始タグと終了タグの位置を合わせる必要があります。しかし、Pugでは、インデントによってネストの深さを表現します。これにより、可読性が向上し、記述量が減ります。例えば、以下のHTMLコードをPugに変換すると、以下のようになります。
HTML .
.container
  h1 Welcome to my website
  ul
    li Item 1
    li Item 2


pug.
.container
  h1 Welcome to my website
  ul
    li Item 1
    li Item 2

タグを閉じる必要ないので便利ですね。(どこで終わっているのかわからなくなりそうだけど)

  • 変数の展開
    Pugでは、変数を使用してテンプレートを動的に生成することができます。変数を展開する場合、${}を使用します。例えば、以下のHTMLコードをPugに変換すると、以下のようになります。
HTML.
<p>Hello, John!</p>

pug.
p Hello, #{name}!

このようにpugではHTMLでは行えない変数の展開を行うことができます。

  • コメントの書き方
    HTMLでは、コメントをで囲みます。しかし、Pugでは、行頭に//を記述することでコメントを表現します。例えば、以下のHTMLコードをPugに変換すると、以下のようになります。
HTML.
<div class="container">
  <!-- This is a comment -->
  <h1>Welcome to my website</h1>
</div>

pug.
.container
  // This is a comment
  h1 Welcome to my website

自分はpugの記述法の方が慣れているのでありがたいですね。

まとめ

タグの表記を短縮化できたり使い方によってはとても便利な機能だということがわかりますね。
用途によって使い分けていこうと思います。
次の学習でも頑張ります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?