#字体 #下载 #自托管 #网站 # #命令行工具 #第三方

app shfonts

从字体托管网站下载字体以进行自托管

1 个不稳定版本

0.1.0 2023年4月9日

#20#网站

自定义许可

30KB
406

shfonts

CI Coverage Status

命令行工具,用于从第三方字体托管网站下载字体以进行自托管。

安装

即将推出...

使用方法

对于基本用法,传入托管网站的CSS字体声明的URL

shfonts "https://fonts.googleapis.com/css?family=Roboto:300"

假设传入的URL是一个包含 @font-face 声明的CSS文件,上述命令将下载其中指定的所有字体文件。它还将写入一个CSS文件,该文件的内容是从该CSS文件复制的,并替换了在 @font-face > src url() 中声明的字体URL,用字体文件的文件名替换。例如,如果上述CSS文件的内容如下

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url(https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

...它将重写为如下所示

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url(KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

设置下载目录

如果您想将字体文件和CSS文件保存到不同的目录,请使用 --dir-d 选项

shfonts -d "/download/path" "https://fonts.googleapis.com/css?family=Roboto:300"

自定义字体URL路径

如果您需要自定义 url() 声明中的字体URL,请使用 --font-url-prefix-p 选项

shfonts -p "/assets/fonts/" "https://fonts.googleapis.com/css?family=Roboto:300"

对于先前的CSS文件示例,它将重写为以下内容

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url(/assets/fonts/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

依赖项

~21–29MB
~501K SLoC