如何使用github托管webfont?

时间:2016-09-26 02:20:58

标签: github fonts webfonts true-type-fonts google-webfonts

更新:我使用了@brclz建议,解决了我的问题:

  1. 复制了该系列的每个字体文件的GitHub地址
  2. 示例:

    https://github.com/h-ibaldo/Raleway_Fixed_Numerals/blob/master/font/rawline-100.woff
    
    1. 将网址中的github.com更改为raw.githubusercontent.com
    2. 示例:

      https://raw.githubusercontent.com/h-ibaldo/Raleway_Fixed_Numerals/blob/master/font/rawline-100.woff
      
      1. 使用上述网址创建了一个CSS样式表,声明了该系列的所有字体粗细和样式,
      2. 示例:

        @font-face {
            font-family: 'rawline';
            src: url('https://cdn.rawgit.com/h-ibaldo/Raleway_Fixed_Numerals/master/font/rawline-100.eot');
            src: url('https://cdn.rawgit.com/h-ibaldo/Raleway_Fixed_Numerals/master/font/rawline-100.eot?#iefix') format('embedded-opentype'),
                 url('https://cdn.rawgit.com/h-ibaldo/Raleway_Fixed_Numerals/master/font/rawline-100.woff2') format('woff2'),
                 url('https://cdn.rawgit.com/h-ibaldo/Raleway_Fixed_Numerals/master/font/rawline-100.woff') format('woff'),
                 url('https://cdn.rawgit.com/h-ibaldo/Raleway_Fixed_Numerals/master/font/rawline-100.ttf') format('truetype'),
                 url('https://cdn.rawgit.com/h-ibaldo/Raleway_Fixed_Numerals/master/font/rawline-100.svg') format('svg');
            font-weight: 100;
            font-style: normal;
        } 
        
        1. 将样式表拉到字体的GitHub仓库,

        2. 将字体嵌入到我的HTML文档的<head>中,链接样式表,同时更改&#34; github.com&#34; to&#34; raw.githubusercontent.com&#34;在URL中,如下所示:

        3. <link href="https://raw.githubusercontent.com/h-ibaldo/Raleway_Fixed_Numerals/master/css/rawline.css" rel="stylesheet">

          1. 然后我使用CSS规则来指定字体的系列,重量和样式,
          2. 示例:

            font-family: 'rawline', sans-serif; 
            font-weight: 100;
            font-style: italic;
            

            效果很好。

            1. 我还尝试使用@import将其导入另一个样式表,如下所示:

              @import 'https://raw.githubusercontent.com/h-ibaldo/Raleway_Fixed_Numerals/master/css/rawline.css';

            2. 它也有效。

              这是最终的GitHub项目,如果你想查看它:
              https://github.com/h-ibaldo/Raleway_Fixed_Numerals

              我刚刚制作了Raleway系列的webfont版本,其中所有文字图形都被字体的衬里数字所取代,以便一劳永逸地解决使用Raleway衬里数字的问题。

              我还为它准备了CSS样式表,它很好地解决了我的问题。知道这是其他人的问题,我将通过GitHub提供字体文件和CSS。

              我的问题是:我如何使用GitHub来托管webfont,以致人们打算使用不需要托管字体文件,但导入它,如Google Fonts @import选项,例如:

              @import 'https://fonts.googleapis.com/css?family=Raleway:400,700,900';
              

              或者像Fontawesome一样使用脚本:

              <script src="https://use.fontawesome.com/28e4d6013b.js"></script>
              

              有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用GitHub,您可以使用域&#34; raw.githubusercontent.com&#34;以原始格式显示源代码。在文件网址(而不是github.com)。

因此,https://github.com/USERNAME/REPOSITORY/blob/master/FILE变为https://raw.githubusercontent.com/USERNAME/REPOSITORY/blob/master/FILE

但是,GitHub将使用PLAIN TEXT mime类型提供文件,这可能会导致CSS导入不起作用。

我能想到的唯一解决方案是使用Raw Git之类的第三方服务来实现真正的CDN行为。