フォントテーマコンポーネントの作成と共有

Discourse は、リモートリポジトリからアセットを含むテーマのインポートをサポートしています。

これにより、テーマ作成者はフォントや画像を共有できます。

フォントを含む新しい git リポジトリを作成する

mkdir discourse-roboto-theme
cd discourse-roboto-theme
git init .
vim about.json

about.json には、スケルトンの設定ファイルを追加します。

{
  "name": "Roboto theme component",
  "about_url": "",
  "license_url": "",
  "assets": {
    "roboto": "assets/roboto.woff2"
  }
}

LICENSE ファイルを追加します。私は通常 MIT ライセンスを使用しています。

vim LICENSE

フォントをダウンロードする

http://localfont.com/ は、フォントを取得するのに便利なサイトです。

mkdir assets
cp ~/Downloads/roboto.woff2 roboto.woff2

テーマを使用する CSS を追加する

mkdir common
cd common

common.scss という名前のファイルを作成し、以下を含めます。

@font-face {
  font-family: Roboto;
  src: url($roboto) format("woff2");
}

body {
  font-family: Roboto;
}

変更を GitHub にプッシュする

すべての変更をコミットします。

git add LICENSE
git add about.json
git add assets/roboto.woff2
git add common/common.scss
git commit -am "first commit"

GitHub.com にアカウントを作成し、新しいリポジトリを作成します。

(任意)Discourse にトピックを作成して、カラーパレットについて議論する場にする

理想적으로는、Customization > Theme カテゴリに、カラーパレットのスクリーンショットを添えたトピックを作成します。この URL を about_url として使用します。

about.json ファイルの欠落情報を記入する

  • GitHub 上の LICENSE ページに移動し、その URL を license_url として記入します。

  • about_url には、GitHub プロジェクトの URL または Discourse トピックの URL のいずれかを使用します。

プロセスの最後に、about.json ファイルは次のようになるはずです。

{
  "name": "Roboto theme component",
  "about_url": "https://github.com/SamSaffron/discourse-roboto-theme",
  "license_url": "https://github.com/SamSaffron/discourse-roboto-theme/blob/master/LICENSE",
  "assets": {
    "roboto": "assets/roboto.woff2"
  }
}

変更をコミットし、GitHub にプッシュします。

git commit -am "added more details"
git push

フォントコンポーネントをテストする

  • admin/customize/theme スクリーンで、GitHub からテーマをインポートします。

:confetti_ball:

これでフォントを簡単に共有できるようになりました!

関連記事:


このドキュメントはバージョン管理されています - 変更提案は github でどうぞ。

「いいね!」 19

Great tutorial.

Worked like a charm except it looks like localfont.com is down or no more.

I used this Google webfonts helper site to download a .woff2 version of the font I was after.

See also Install the Discourse Theme CLI console app to help you build themes

「いいね!」 1

エラー: 未定義の変数: “$fontname” が発生しました。

そのため:
変数 $variables で宣言しました:
fontname: "assets/fontname.woff2";

入力する必要があるようですが、$variables でどのパスを使用すればよいですか?

Discourse でファイルをアップロードさせると:

"assets": {
        "fontname": "assets/fontname.woff2"
   }

assets/roboto.woff2 とは異なるパスにアップロードされるようです
(/uploads/db0202/original/1X/...)

編集:
$variables は不要でした。アップロードで魔法が起こります。しかし、アセットに assets/font.svg#regular があり、ハッシュタグが問題を引き起こしていました。

「いいね!」 2

「未定義の変数」という同じエラーが発生しています。また、アップロードやアップロードの見出しにアセットが表示されていません。

このハウツーは更新が必要ですか?
よろしくお願いします。

「いいね!」 1