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

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 にトピックを作成して、カラーについて議論する場所とする

理想的には、#plugin:theme カテゴリに、カラーパレットのスクリーンショットをいくつか添えてトピックを作成します。これを 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