简介
Metalsmith 简单易用的静态网站生成器,它基于插件机制,可以方便的用插件完成不同的任务。其中,metalsmith-hover 是一个非常实用的插件,它可以帮助你快速生成鼠标悬停提示信息。
安装
在使用 metalsmith-hover 之前,你需要先安装 Metalsmith,如果你还没有安装可以按照以下步骤进行安装:
npm install -g metalsmith
安装完成 Metalsmith 后,你就可以安装 metalsmith-hover 了,安装命令如下:
npm install metalsmith-hover --save-dev
使用
安装完后,在 metalsmith 的配置文件中引入 metalsmith-hover 插件,并对其进行配置。
以下是配置文件的示例代码:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ----- - ---------------------------- --------------------- ------------ ------------ ------------- ---------- ------------------ - ------ ----- --------------------------------------- - --- --------------- ----- - -- ----- ----- ---- ---
配置项中,output_file 表示生成的悬停提示信息的 JSON 文件名,默认值为 hover.json。generator 为生成提示信息的函数,该函数接收 metadata 作为输入,并返回悬停提示信息的 HTML。
下一步,我们需要在模板中引用该 JSON 文件并应用样式,示例代码如下:
-- -------------------- ---- ------- --------- ----- ------ ------ ----- ---------------- --------- ----- ---------- ------- ------ - --------- --------- -------- ----- ---------- ------ -------- ----- ------ ----- ----------- ----- -------------- ---- ----------- - - ---- ------- -- -- ----- -------- -- ----------- ------- --- ------------ - ------- - ------ - -------- -- - -------- ------- ------ -- -------- ------------------------ ------ ---- ------------------------------ -------- -------------------- --------- -- ----------- ---------- -- - ----- ---------- - ----------------------------------------- ----------------------- -- - ----- --------- - ---------------- ----- -------------- - ---------------------------------------------------------------------------- ------------------------ - --------------- ---------------------------------- - -- - ------------------------ - ----------------- ------------------------- - ----------------- --- --- --- --------- ------- -------
其中,我们在 HTML 中定义了一个空的 hover-container,它会根据 JSON 文件中定义的内容进行渲染。然后,我们用 JavaScript 代码获取 JSON 文件数据,根据 JSON 数据动态的给 hover-container 容器注入 HTML 代码,最后添加鼠标移动事件以实现悬停效果。
总结
metalsmith-hover 可以很好的帮助我们生成鼠标悬停提示信息,而且它的配置非常灵活,使用起来非常便捷,我们可以根据自己的需要轻松的进行定制,是一个非常实用的插件。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f3f1d8e776d08040bd8