AsciiDocで複数のCSSを使用する3つの方法

AsciiDocで複数のCSSを使う3つの方法 開発/PG

AsciiDocをHTMLに変換する時に指定できるCSSファイルは1つだけですが、
複数のCSSファイルを読み込ませる方法は3つ程ありますので、ご紹介します。

(1) CSSからCSSをインポートする

CSSファイルと読み込む方法として一般的なのは、HTML の link タグで読み込むことですが、CSSの @import というアットルールを使うことでも、外部のCSSファイルを読み込むことが出来ます。

// index.adoc
:stylesheet: index.css
/* index.css */
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1+Code&family=Murecho&display=swap");
@import url("reset.css");
@import url("common.css");

@import には他の構文や細かいルールがありますが、詳細は MDM Web Doc などでご確認していただければと思います。

(2) HTML の link タグを直接書き込む

AsciiDoc のドキュメント内で HTML を普通に書いても HTML としては認識されず、そのままの文字がブラウザに表示されます。

HTML として認識させたい場合は、HTMLとして認識させたい対象を ++++ で括ります。

++++
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=M+PLUS+1+Code&family=Murecho&display=swap"/>
<link rel="stylesheet" href="./reset.css" />
<link rel="stylesheet" href="./common.css" />
++++

コードブロックの ---- と同じ要領ですね。

残念ながら head タグの中には出力できませんので、理想的な出力結果にはなりません。

ただし、script タグやインラインフレームを埋め込むこともできますので、特殊な視覚効果を出したい時や、WEB広告を埋め込む時などに ++++ は役立つと思います。

(3) Sass(SASS,SCSS)を使う

(1) CSSからCSSをインポートする」と同じように @import を使う方法ではあるのですが、 (3) ではリリース前にコンパイルを行って複数のファイルを1つのCSSファイルにまとめてしまいます。

ページを表示するために必要なファイル数が少なくなるため、HTTPリクエストの回数も少なくなるというメリットがあります。

環境さえ整えてしまえば (1) よりも優れているのですが、
環境を整えるまでは慣れていないと少し面倒ですね。

Sass - Wikipedia

まとめ

AsciiDocで複数のCSSファイルを使用する方法として、
CSS の @import を使用する方法と、HTML を変換せずに出力する ++++ を使う方法、そしてSassを使う方法をご紹介しました。

あまり凝らないドキュメントであれば、手軽な「(1) CSSからCSSをインポートする」で十分だと思います。

以上、この情報がお役に立てれば幸いです。

タイトルとURLをコピーしました