フォントテーマコンポーネントを作成して共有する

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 として入力します。

  • GitHub プロジェクト URL または Discourse トピック URL のいずれかを about_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 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