精华 Pagic 官网来啦! Deno + React 驱动的静态网站生成器!
发布于 4 年前 作者 xcatliu 7177 次浏览 来自 分享

Pagic 是一个由 Deno + React 驱动的静态网站生成器。

特性

配置简单

Pagic 遵循约定优于配置的理念,尽可能的减少配置项,通过一些符合直觉的设计,降低用户的理解成本,而又不失灵活性。

支持 md 和 tsx

Pagic 不仅支持将 md/tsx 文件渲染成静态页面,而且还能运行 tsx 中的 Hooks,借助 React 组件的可编程性,极大的扩展了静态网站的能力。

值得注意的是,每一个由 Pagic 生成的页面都带有预渲染好的 HTML,也因此具有极致的加载性能和搜索引擎优化( SEO )。同时,一旦页面被加载,React 将接管这些静态内容,并将其转换成一个完整的单页应用( SPA ),其他的页面则会只在用户浏览到的时候才按需加载。

主题和插件

Pagic 拥有官方的 default, docs, blog 等主题,我们可以使用官方主题轻松的生成一个网站,也可以创建个性化的主题,甚至还可以扩展某个主题——这些能力都得益于 Pagic 符合直觉的 _layout.tsx 设计。

插件是 Pagic 最核心的功能之一。Pagic 将整个构建过程拆分为一个个内置插件,使得其他插件可以插入到构建过程中的任意位置,甚至可以通过替换内置插件完全的更改 Pagic 的构建过程,这给 Pagic 提供了无与伦比的灵活性。

Pagic 参考了 Deno 的设计,要求用户通过一个完整的 url 来引入第三方主题或插件。


以上节选自官网,请访问Pagic 官网了解更多。


前阵子完成了基本功能的开发,没想到 pagic.org 域名还没有人注册,于是赶紧注册后开始写文档。经历夜以继日的奋笔疾书,终于完成了网站的中文版!

不出意外的话,目前的 api 应该不会再改动了,欢迎大家来试用!

等 i18n 做好就会发布 1.0 版本。


写文档真的是一件很困难很麻烦很痛苦的事,要循序渐进,要统一术语,还要输出思想。

_layout.tsx 章节开始,我写了很多设计思想,欢迎大家一起来讨论一起来建设!

8 回复

应该再写个配套的 pagic-actions 或者 pagic-deploy

@justjavac @xcatliu CloudBase Framework 可以帮忙搞个自动检测部署这个 Pagic 应用,Pagic 应用有啥特征可以检测出来么

我们之前支持 VuePress 部署是这样实现的

  {
    name: "VuePress",
    key: "vuepress",
    detect: [
      {
        path: "package.json",
        match: '"(dev)?(d|D)ependencies":\\s*{[^}]*"vuepress":\\s*".+?"[^}]*}',
      },
    ],
    plugin: "@cloudbase/framework-plugin-website",
    config: {
      buildCommand: {
        value: "npm run build",
        desc: "🔨 构建脚本",
      },
      outputPath: {
        value: ".vuepress/dist",
        desc: "📦 本地静态文件目录",
      },
    },
  },

另外,CBF今天会发布一个版本支持 Deno 后端应用的一键部署 https://github.com/TencentCloudBase/cloudbase-framework/tree/master/packages/framework-plugin-deno

Tencent Cloud 已经支持 Deno 了啊,赞👍

@binggg 神速,赞👍一会儿加到部署章节去

image.png我什么时候才能看懂大佬们的对话 呜呜呜

回到顶部