技术相关 | Python 动画引擎 manim 浅度体验与思考
前段时间在写 Wordle
Solver,查阅资料的时候发现了 3Blue1Brown 的 Youtube
频道,在看视频的时候发现频道中的视频基本上都是用一个叫做 manim
的动画引擎做的。我感觉蛮有意思,就安装下来简单体验了一下。
manim
最初是由一位个人开发者开发的,由于其不承诺长期提供支持,后来又出现了
3b1b 维护的 manimgl 版和 manimCE
社区版。这三种的特性与具体用法都存在一定的差异,考虑到 manimgl
版本可以使用 OpenGL
进行渲染,并且已经出现了一些基于它制作的比较高质量的成品视频,我在体验时选择了
manimgl 版。
2023-12-30 更新:近期,一位国内的开发者发布了 manim 的另一种实现 manim3,great
work!
manim 浅度体验
manimgl 使用 pip 即可安装:
12pip install manimglpip install pyopengl
除安装上述包外,还需要安装 ffmpeg 用于视频编解码,以及 LaTeX
以支持公式渲染(推荐使用 Tex Live
发行版,功能相对强大一点)。 ...
教程 | 利用 Github Actions 实现代码推送后自动部署
博客自从搭建以来已经搁置一段时间了,最近想在友链里多加上几个好友的链接,但在我将最新的页面代码推送到远程仓库后,Github
Pages 的部署流程并没有被成功触发。因此,我决定研究一下 Github Actions
的用法,并在此记录一下。
GitHub Actions
可以自动化地实现一些工作流,例如在代码推送或 pull request
发起时,进行一系列测试、打包、部署等操作。当工作流启动时,它会创建一个容器,并安装软件、配置环境,在流程结束后还会将生成的数据推送到指定的位置。
我的博客使用 hexo
框架进行搭建,版本控制采取“开发-部署”的双分支模型。因此,在我需要更新我的博客时,首先我需要在博客的源代码中进行编辑,然后依次运行
hexo clean、hexo server、hexo deploy
进行预览和部署,然后将源代码 commit
并推送到远程,进行版本控制。这一流程可以使用 Github 的 Actions
功能进行简化。利用 Github Action,在代码推送后,Github
服务器可以自动启动编译与部署的流程。
仓库读写权限配置
为了使用 Github ...
教程 | Github Pages + hexo 搭建个人博客
注意:这是一篇教程性质的文章,但为了说明的简洁性并不会讲解所有细节。我默认这篇文章的读者具有一定的信息检索能力,并具备各方面的基本知识。
心血来潮决定把个人博客搬迁到自己的网站上,因此采取这种方法进行搭建,并记录一波搭建流程,大概有以下几个步骤:
准备一个 Github page 的仓库
准备 hexo 框架
初始化你的博客
部署到服务器端
除此之外,还会提到一些关于博客日常维护和美化的方式。(如果之后研究得比较顺利,或许还可以分享一些定制化、调用第三方
api、性能优化等方面的内容)
准备一个Github仓库
一个 Github page 对应于一个名称以 .github.io
结尾的仓库,仓库的名称即为 Github page
的地址。与此相关需要做的工作包括:
注册一个 Github 账号
在本地配置 git
(可选)配置 git 的用户名、邮箱、配置 ssh 公钥等
上述操作可自行完成,仓库创建好后可以在其中放置一个
README.md 文件,再访问对应 Github page 的地址,可以发现
README 文件的内容已经在其中显示了,至此 Github page ...