巴克励步
发布于:2024-07-07
<!doctype html>
<html lang="{{ site.language }}" class="scroll-smooth">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="author" content="Baklib">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% meta_tags %}
{{ 'editor.css' | asset_url | stylesheet_tag: data-turbo-track: 'reload' }}
{{ 'javascripts/main.js' | asset_url | script_tag: defer: true, data-turbo-track: 'reload' }}
{{ 'css/main.css' | asset_url | stylesheet_tag: data-turbo-track: 'reload' }}
{%# 引用外部资源 %}
<link href="https://unpkg.com/daisyui@latest/dist/full.css" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
{%# 引用site全局变量 %}
{{ site.settings.head_html }}
</head>
<body>
<div class="drawer lg:drawer-open">
<input id="my-drawer-2" type="checkbox" class="drawer-toggle" />
<div class="drawer-content flex flex-col">
<!-- Header Section -->
{% render 'header', settings: site.settings, page: page %}
<!-- Main Content Section -->
<div class="relative">{{ content_for_layout }}</div>
</div>
<!-- Sidebar Section -->
{% render 'sidebar', settings: site.settings, page: page %}
</div>
<!-- Footer Section -->
{% render 'footer', settings: site.settings %}
</body>
</html>layout 布局文件是一个标准的 HTML 文件,即包括 <html>、<head>、<body>标签。其中在<head>下引用全局资源文件、定义meta元数据、设置SEO数据、指定站点语言等。
{{ content_for_layout }} 方法用于替换 templates 下的文件内容。您需要在 <body> 和 </body> HTML 标记之间添加对此方法的引用。
render 方法用于引用 snippets 下的文件内容。比如:
{% render 'header', settings: site.settings, page: page %}表示引用文件: snippets/_header.liquid
文件路径 | 是否必须 | 类型 | 说明 | 使用方式 |
|---|---|---|---|---|
baklib/shared/editor.css | ⚙️ 可选(如模版中需要使用富文本编辑器) | 样式 (CSS) | 富文本编辑器输出样式文件,使用 | |
baklib/shared/main.css | ✅ 必须 | 样式 (CSS) | 全局共享样式文件,提供 | 在模板主布局中加载: |
baklib/shared/editor.js | ⚙️ 可选(如模版中需要使用富文本编辑器) | 脚本 (JS) | 编辑器核心逻辑脚本,包含富文本编辑、组件注册、事件绑定等。 | |
baklib/shared/main.js | ✅ 必须 | 脚本 (JS) | 全局前端逻辑js入口文件,自动导入全站通用模块: | 在模板主布局中加载: |
baklib/shared/ai_search_completion.js | ⚙️ 可选(仅在开启 AI 搜索建议时需要) | 脚本 (JS) | 提供 AI 搜索功能,用于站内搜索输入框或 AI 助手模块。默认由 | |
baklib/shared/stimulus.js | ⚙️ 可选(如页面需要使用 Stimulus js) | 脚本 (JS) | 启用 Stimulus 控制器的初始化入口,负责连接 | |
baklib/shared/turbo.js | ⚙️ 可选(如页面需要使用 Turbo Frames / Turbo Streams) | 脚本 (JS) | 用于支持 Turbo Drive、Turbo Frames 和 Streams 的前端导航与局部更新。默认由 | 模版中使用turbo时请勿多次导入子模块,统一使用同一个模块实例,否则可能导致未知冲突问题,可能造成页面turbo导航混乱等问题;baklib/shared/main.js 和 baklib/shared/turbo.js 勿同时使用,默认挂载至window.Turbo |