npm 包 systatic 使用教程

简介

systatic 是一个基于 Node.js 的静态站点生成器,能够将 Markdown 文件转换为 HTML,同时支持模板渲染、自定义路由等功能。它是一个轻量、易用的工具,适用于个人博客、技术文档等场景。

安装

使用 npm 可以轻松安装:

--- - -- --------

基本使用

创建项目

在命令行中执行以下命令,创建一个基于 systatic 的项目:

-------- ---- ------
-- ------

执行完 init 命令后,系统会自动生成目录结构和配置文件:

-------
--- ------  -- ------
--- ---  -- -- -------- --
-   --- ---
-   --- ----
-   --- ------
--- ---------  -- ------
--- ------------  -- ----

编写 Markdown 文件

在 src 目录下创建 Markdown 文件,比如我创建了一个文章 hello-world.md

- ----- -----

-----------------

渲染 Markdown 文件

执行以下命令,将 Markdown 文件转换为 HTML:

-------- -----

执行完 build 命令后,系统会自动生成静态 HTML 文件:

-------
--- ------
-   --- ----------------
--- ---
-   --- --------------
---

可以看到,系统自动将 Markdown 文件转换为了 HTML 文件并存放在 public 目录中。

预览站点

执行以下命令,可以在本地启动一个 HTTP 服务器并预览站点:

-------- -----

在浏览器中打开 http://localhost:8080,就可以看到当前站点的首页了。

模板

systatic 支持使用模板渲染 Markdown 文件。用户可以在 templates 目录下编写模板文件,然后在 systatic.yml 中配置。

创建模板文件

在 templates 目录下创建一个文件 default.html,作为默认模板:

--------- -----
------
------
    ----- ----------------
    ------------------------
-------
------
    -----------
-------
-------

配置模板

在 systatic.yml 配置文件中,添加如下配置:

---------
  ------- --------
  ----- ---------
  -------- ------------

其中,engine 表示模板引擎,此处是使用 nunjucks;path 表示模板文件存放的目录;default 表示默认模板文件名。

使用模板

在 Markdown 文件中,可以使用 YAML Front Matter 来定义一些元数据,比如文章的标题:

---
------ ----- -----
---
- ----- -----

-----------------

然后,我们可以在模板中使用这些元数据:

--------- -----
------
------
    ----- ----------------
    ------------------------
-------
------
    -----------
-------
-------

这样,生成的 HTML 文件就会自动使用模板了。

自定义路由

systatic 支持自定义路由,即根据 URL 路径来生成 HTML 文件。比如我们可以将 /doc 路径下的 Markdown 文件编译为 HTML 文件,然后在浏览器中访问 /doc/hello-world.html 来查看文章。

配置路由

在 systatic.yml 配置文件中,添加如下配置:

-------
  ---- -------
  ------- ----------

其中,router 表示自定义路由配置,doc 和 weekly 是两个路径名,对应的值是对应的 Markdown 文件存放目录。

编写 Markdown 文件

在 src/doc 目录下创建一个 Markdown 文件 hello-world.md

---
------ ----- -----
---
- ----- -----

---------

生成 HTML 文件

执行命令 systatic build,就可以在 public 目录下看到生成的 HTML 文件 hello-world.html

预览站点

执行命令 systatic serve,然后在浏览器中访问 http://localhost:8080/doc/hello-world.html 就可以查看文章了。

总结

systatic 是一个功能强大、易用的静态站点生成器。通过学习本文,读者可以掌握基本的使用方法,并了解到如何使用模板、自定义路由等高级功能。systatic 的文档也非常详尽,读者可以前往官网查看更多信息。

示例代码

本文使用的示例代码已经放在 Github 上,请前往 https://github.com/sunshineoflife/systatic-tutorial 下载或查看。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/75591


猜你喜欢

  • npm 包 uitest 使用教程

    什么是 npm 包 uitest? npm 包 uitest 是一个前端自动化测试框架,它使用了 Selenium WebDriver 和 WebdriverIO,提供了易用的 API 和测试用例编写...

    5 年前
  • npm 包 html-ls 使用教程

    在前端开发中,处理 HTML 代码是必不可少的一部分,而使用 npm 包 html-ls 就能够更加方便地进行 HTML 代码处理。html-ls 是一款基于 Node.js 的 HTML 解析库,能...

    5 年前
  • npm 包 utils-fs-exists 使用教程

    在使用 Node.js 进行开发的过程中,我们经常需要处理文件及文件夹相关的操作。Node.js 提供了 fs 模块来操作文件系统,但是其中的某些方法存在异步调用和回调函数嵌套等问题,不够简便优雅。

    5 年前
  • npm 包 glance 使用教程

    什么是 glance? glance 是一个快速、简便的 web 应用程序,它能够帮助开发人员更加高效地进行项目开发。glance 是 npm 上的一个包,它可以提供类似于 Linux 终端的全局执行...

    5 年前
  • npm 包 Watch-fs 的使用教程

    Watch-fs 是一个文件系统观察器,可以帮助您监视文件或目录的变化,从而使您的 JavaScript 应用程序可以随着文件的更改而更新。Watch-fs 可以很好地与 Gulp、Webpack、B...

    5 年前
  • npm包Freud使用教程

    什么是npm包Freud? npm包Freud是一个轻量级的JavaScript库,它为我们提供了一种简单的方式来创建和管理表单的验证,它可以自动验证表单,并且能够提供一些有用的反馈,如错误消息。

    5 年前
  • npm 包 uncanny 使用教程

    在前端开发中,我们经常需要使用各种各样的 npm 包来提高我们的开发效率,并帮助我们解决各种问题。其中一个非常有用的 npm 包就是 uncanny,它是一个快速检测和删除未使用 CSS 的工具。

    5 年前
  • npm 包 ukijs 使用教程

    介绍 npm 包 ukijs 是一个简单、轻量级的 User Interface (UI) 库,它提供了一些通用的 UI 组件以及一个能够渲染各种自定义组件的渲染器。

    5 年前
  • npm 包 ugly-blanket-brunch 使用教程

    在前端开发中,代码的测试非常重要。uglify-js 是一个著名的 JavaScript 压缩工具,适用于将代码压缩成小型的、混淆过的版本以减小文件体积,为网页加载速度做出贡献。

    5 年前
  • npm 包 fs-watch-tree 使用教程

    如果你正在开发前端项目,你肯定会遇到需要监控文件夹的变化并且执行一些操作的情况。这时候,你就需要用到一个 npm 包叫做 fs-watch-tree。本篇文章就是一篇 fs-watch-tree 的使...

    5 年前
  • npm 包 uglifyjs-watcher 使用教程

    当我们编写前端代码时,需要将代码进行压缩以达到减少文件大小,提高网页加载速度的效果。压缩代码一般使用 UglifyJS 工具。但是,每次修改代码后要重新执行命令行压缩操作,效率很低。

    5 年前
  • npm 包 ugly-assets 使用教程

    简介 ugly-assets 是一个用于压缩优化前端静态资源(JS、CSS)的 npm 包。它通过混淆、删除空格、优化变量名等方式,从而最大限度地减小文件体积,提升前端性能。

    5 年前
  • npm 包 uglifyjs-middleware 使用教程

    在前端开发中,我们常常需要对 JavaScript 文件进行压缩、混淆和打包,以提高网站的加载速度和用户的访问体验。这时候,一个好用的 npm 包 uglifyjs-middleware 就显得尤为重...

    5 年前
  • npm 包 universal-jst 使用教程

    前言 前端领域提供了非常丰富的工具和技术,诸如字体图标库、CSS 框架、JavaScript 库等等。这些工具和技术帮助我们快速构建网站和应用程序,提高开发效率。在这些工具和技术中,npm 包是其中最...

    5 年前
  • npm 包 Velociraptor 使用教程

    随着前端开发的不断发展,npm 包在前端领域中扮演着不可或缺的角色。而 Velociraptor 则是一个类似于 Makefile 的 npm 包管理工具,它能够在你的项目中运行多个脚本,并且可以高效...

    5 年前
  • npm 包 vague-time 使用教程

    作为前端工程师,时间戳转换是一个经常会遇到的问题。npm 包 vague-time 可以帮助我们快速将时间戳转换为模糊时间的格式(如“刚刚”,“2 分钟前”,“2 天前”等)。

    5 年前
  • npm 包 vacation 使用教程

    在前端开发中,经常需要使用各种工具来提高生产效率和开发质量。npm 是一个非常流行的包管理工具,其中有很多实用的包,如它所提供的 vacation 包。该包可以帮助我们生成随机的日期和时间,这在很多场...

    5 年前
  • npm 包 simple-websocket 使用教程

    什么是 simple-websocket? Simple-websocket 是一个适用于浏览器和 Node.js 的轻量级 WebSocket 客户端库。它基于 WebSocket API 构建,提...

    5 年前
  • npm 包 v 使用教程

    什么是npm包 v npm 包 v 是一个用于版本控制的工具,它可以帮助前端开发者处理项目中的版本号问题,提供了一种简单、易用的方式来管理和维护项目的版本。 在开发过程中,我们可能需要定期更新项目的版...

    5 年前
  • npm 包 jcss 使用教程

    介绍 jcss 是一个可以让前端开发者更加方便地处理和管理 CSS 样式的 npm 包。它支持直接在 JavaScript 中书写 CSS,并且提供了一些有用的工具函数和特性,如全局 CSS 及 CS...

    5 年前

相关推荐

    暂无文章