Search documentation...
レイアウト
レイアウトはページのHTML構造を定義するVソースファイルです。
レイアウトの作成
layouts/ディレクトリにファイルを作成:
// layouts/default.v
module layouts
pub fn default(content string, title string, nav_html string) string {
page_title := if title.len > 0 { '${title} - Velt' } else { 'Velt' }
return '
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>${page_title}</title>
<link rel="stylesheet" href="assets/style.css">
</head>
<body>
<nav>${nav_html}</nav>
<main>${content}</main>
</body>
</html>
'
}
レイアウトパラメータ
すべてのレイアウト関数は3つのパラメータを受け取ります:
| パラメータ | 説明 |
|---|---|
content |
ページのレンダリングされたHTMLコンテンツ |
title |
ページフロントマターからのタイトル |
nav_html |
自動生成されたナビゲーションHTML |
レイアウトの使用
ページのフロントマターでレイアウトを指定:
+++
layout = "default"
title = "マイページ"
+++
特別なレイアウト
ランディングレイアウト
layout = "landing"のページはナビゲーションから除外されます。以下に使用:
- ホームページ
- マーケティングページ
- カスタムランディングページ
ランディングレイアウトはスタンドアロン用なのでナビゲーションを受け取りません。