【问题标题】:Jekyll and Minima with Two Fonts?Jekyll 和 Minima 有两种字体?
【发布时间】:2019-06-06 14:26:38
【问题描述】:

我试图让 Jekyll 使用两种字体,一种用于标题,一种用于正文。为此,我将整个 _sass 文件夹复制到我网站的根目录,然后更改了 \_sass\minima\_base.scss 以包含两种字体的定义...

/**
  * Basic styling
 */
body {
  font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
  color: $text-color;
  background-color: $background-color;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "kern" 1;
     -moz-font-feature-settings: "kern" 1;
       -o-font-feature-settings: "kern" 1;
          font-feature-settings: "kern" 1;
  font-kerning: normal;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

/**
 * Set `margin-bottom` to maintain vertical rhythm
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
ul, ol, dl, figure,
%vertical-rhythm {
  font: $heading-font-weight #{$heading-font-size}/#{$heading-line-height} $heading-font-family;
  margin-bottom: $spacing-unit / 2;
}

然后在 \_sass\minimua.scss 中,我更改了基本字体的样式,然后添加了标题字体:

$base-font-family: serif, Times, "Times New Roman";
$base-font-size:   16px !default;
$base-font-weight: 400 !default;
$small-font-size:  $base-font-size * 0.875 !default;
$base-line-height: 1.5 !default;

$heading-font-family: sans-serif, Helvetica, Arial;
$heading-font-size:   16px !default;
$heading-font-weight: 400 !default;
$heading-line-height: 1.5 !default;

我还创建了如下所示的 \_sass\my_overrides.scss: @charset "utf-8";

// Define defaults for each variable.

$base-font-family: serif, Times, "Times New Roman";
$heading-font-family: san-serif, Helvetica, Arial;

但据我所知,字体在使用时会被切换(截​​图如下)。而且我可能忘记了一些事情,因为整个过程非常复杂。

所以我的问题是: 如何让 Jekyll 使用两种字体,serif 用于正文,san-serif 用于标题?

我想我也可以问一下 Jekyll 是否内置了双字体功能,如果没有,为什么不呢?但也许这听起来好战? (这不是故意的。)

Screenshot showing switched fonts

【问题讨论】:

标签: jekyll minima


【解决方案1】:

您可以将您的 css 拆分为单独定位,如下所示:

h1, h2, h3, h4, h5, h6 {
    font: $heading-font-weight #{$heading-font-size}/#{$heading-line-height} $heading-font-family;
    margin-bottom: $spacing-unit / 2;
}

p, blockquote, pre,
ul, ol, dl, figure,
%vertical-rhythm {
    font: $base-font-weight #{$base-font-size}/#{$base-font-height} $$base-font-family;
    margin-bottom: $spacing-unit / 2;
}

【讨论】:

  • 我对 jekyll 很陌生。这是在 minima.scss 还是 _base.scss 中?两者都需要吗?
  • 如果那是覆盖默认样式的文件,则将其放在 base 中。否则,我建议创建一个 _app.scss 文件,您可以严格使用它进行自定义,以免干扰默认的最小打包/scss 文件。
  • 说实话,我放弃了。我设法将字体更改为可读的东西(衬线),现在我不想再碰了,因为我不想花几个小时试图修复它(再次)。我找不到关于哪些文件在 Jekyll 中执行什么操作或如何进行此类更改的指南或教程。我认为 Jekyll 被设计为只使用一种字体,所以现在它被搁置了。我会留意其他更即插即用的东西。不过谢谢你的提问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多