Other

项目介绍

Pomax/BezierInfo-2 是一个托管在 GitHub 上的开源项目,主要使用 HTML 编写,采用 Other 许可证,目前获得 2.5k 个 Star、301 次 Fork。

仓库全名
Pomax/BezierInfo-2
开源许可证
Other
Star 数
2.5k
Fork 数
301
未关闭 Issue
100

README 摘要

BezierInfo-2: a dev repository This is the development repository for "A Primer on Bézier Curves", itself hosted as https://pomax.github.io/BezierInfo-2/ This is the new codebased for the primer, being a pure HTML/CSS/Vanilla-JS tech stack - the old version can be found on the 2016-react branch Work is still underway on this new version, see https://github.com/Pomax/BezierInfo-2/issues/257 for the current task list…

完整内容见 GitHub 原始 README 或本页 。

常见问题

BezierInfo-2 用什么语言开发?

主要使用 HTML 编写,采用 Other 许可证,目前有 2.5k 个 Star。

BezierInfo-2 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 BezierInfo-2 的源码?

可以直接克隆仓库:git clone https://github.com/Pomax/BezierInfo-2.git,默认分支为 master;安装与运行步骤见仓库 README。

BezierInfo-2 最近还在维护吗?

仓库最近一次更新为 1 周前,当前有 100 个未关闭 Issue;Star 数为 2.5k,可作为社区活跃度的参考。

简要分析

热度分
3153
价值分
1589
活跃状态
活跃

语言占比

CSS
HTML
JavaScript
Markdown
PHP

README

BezierInfo-2: a dev repository

This is the development repository for “A Primer on Bézier Curves”, itself hosted as https://pomax.github.io/BezierInfo-2/

This is the new codebased for the primer, being a pure HTML/CSS/Vanilla-JS tech stack - the old version can be found on the 2016-react branch

Work is still underway on this new version, see https://github.com/Pomax/BezierInfo-2/issues/257 for the current task list.

Building everything

Use the active Node LTS (currently v16) or higher, with all the project dependencies installed via npm install. Note that node-canvas will need you to install some Cairo libs/headers using your OS’s package manager, with special instructions for Windows users because Windows doesn’t come with the same kind of package management that Unixy systems do. To successfully compile, GTK is required, but JPEG support is not (this repo’s code only generates PNG images).

Also note that you will need a TeX installation with several dependencies: on Windows, install MiKTeX and set it up so that it automatically installs things as needed. On Linux/Unix/etc, you’ll need to install the following packages :

  • xzdec
  • libpoppler-glib-dev

And for the LaTeX work you will need:

  • texlive
  • texlive-xetex
  • texlive-extra-utils
  • fonts-unfonts-core
  • pdf2svg

To make life easier, if your distro uses apt-get, just run this:

> sudo apt-get update && sudo apt-get install xzdec libpoppler-glib-dev texlive texlive-xetex texlive-extra-utils pdf2svg

If you’re using a different package installation method, note that for LaTeX you will need xetex, pdfcrop, and the following fonts (installed using a TeX distribution manager):

  • Linux Libertine
  • XITS Math
  • TeX Gyre
  • TeX Gyre Math
  • Arphic-ttf
  • IPAex (not type1)
  • UnBatang

Note: pdf2svg, can be installed just like everything else on Linux, but on Windows requires you to build the tool yourself, after which you will have to put the pdf2svg.exe file somewhere sensible (like C:\Program Files (x86)\pdf2svg) add then manually add its directory to your PATH environment variable, so that windows knows where to look when the pdf2svg command gets issued.

With all the dependencies in place, you can now continuous-test everything using:

> npm test

Which will start the build run in “watch” mode, opening a browser with the compiled project, and recompiling as you update and save files.

To run a single, full build, rather than continuous building, use:

> npm start

Note that for dev work, you typically want to run npm test for as long as you’re working on that code. Once you’re ready to form a commit for PR purposes, run npm start to do a “real” build rather than a dev build, and then form your commit, so that you’re pushing “final” code rather than intermediate dev code.

Specialised commands:
  • npm run regenerate runs a build followed by running prettier on the final .html files, as well as link-checker to make sure there are no dead links in the content.
  • npm run deploy runs regenerate and then copies the content of the docs directory over to ../bezierinfo, which is where the actual webview repo lives on my filesystem.
Even more specialized commands:

Please see the package.json "scripts" section for the full list of commands. Most of these are just build chain steps, and running them on their own basically makes no sense.

Weird personal dependencies?

There are a number of dependencies that are pulled from my own forks of projects, because my versions include patches (either by myself or others) that fix problems or shortcomings that have not been merged into upstream (yet?), or have been merged in but have not had a new release (yet?).

评论

暂无评论