2 • 在你的网站上添加、设计和链接页面
添加「关于你」的动态内容
现在你有了一个带有 HTML 内容的多页面网站,让我们来添加一些动态的 HTML 吧!
准备好…
- 在 fronttmatter 中定义你的页面标题,并在你的 HTML 中使用它
- 条件渲染 HTML 元素
- 添加一些关于你的内容
任何 HTML 文件都是有效的 Astro 语言。但是,你可以用 Astro 做更多的事情,而不仅仅是普通的 HTML!
打开 about.astro
,它应该看起来像这样:
-
在 frontmatter 中的代码栅栏之间添加以下一行JavaScript:
-
用动态变量 {pageTitle}
替换 HTML 中静态的 “Astro” 标题和 “关于我” 标题。
-
刷新你的 /about
页面的实时预览。
你的页面文本应该看起来是一样的,而你在浏览器标签中显示的页面标题现在应该是 “关于我”,而不是 “Astro”。
你只是在你的 .astro
文件的两个部分分别定义然后使用了一个变量,而不是直接在 HTML 标签中输入文本。
-
使用同样的模式在 index.astro
(主页)和 blog.astro
(我的 Astro 学习博客)创建一个 pageTitle
变量。在这两个地方更新这些页面的 HTML,使你的页面标题与每个页面上显示的标题一致。
-
把下面的 JavaScript 添加到你的 frontmatter 的代码栅栏之间:
(你可以为自己写一些代码,但本教程将使用以下例子)。
-
然后,在你的 HTML 模板现有的内容下面添加以下代码:
-
.astro
文件的 frontmatter 是以下列方式书写的:
-
除了 HTML 之外,Astro 语法还允许你写:
-
什么时候你需要把 JavaScript 写在大括号里?
你也可以使用脚本变量来选择是否渲染你的 HTML <body>
内容中的个别元素。
-
在你的 frontmatter 脚本中添加以下几行来定义变量:
-
在你现有的段落下面添加以下几行。
然后,在你的浏览器标签中检查实时预览,看看页面上显示的内容:
-
在进行下一步之前,将你的修改提交到 GitHub。如果你想保存你的工作进度并更新你的实时网站,请随时这样做。
以下 .astro
代码:
对于以下 Astro 模板表达式,你可以预测一下对应 HTML 在浏览器中的显示什么?点击显示正确答案!
-
<p>{operatingSystem}</p>
-
{student && <p>我仍然在学校。</p>}
-
<p>我有 {quantity + 8} 双{footwear}</p>
-
{operatingSystem === "MacOS" ? <p>我在使用Mac。</p> : <p>我没有使用Mac。</p>}