Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 12179] ファイルの概要

このコミットは、godocツールにおけるコードのハイライト表示、選択範囲のスタイル、およびアラートメッセージの表示機能を再導入するためのスタイル変更を扱っています。具体的には、doc/style.cssファイルに新しいCSSルールが追加され、これらの視覚的な要素が適切にレンダリングされるようにしています。

コミット

godoc: bring back highlighting, selections, and alerts

R=adg, rsc
CC=golang-dev
https://golang.org/cl/5695054

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/5b30306fa81d2f95c152f6b8cd5e4b22a3befcbf

元コミット内容

commit 5b30306fa81d2f95c152f6b8cd5e4b22a3befcbf
Author: Robert Griesemer <gri@golang.org>
Date:   Thu Feb 23 14:54:10 2012 -0800

    godoc: bring back highlighting, selections, and alerts
    
    R=adg, rsc
    CC=golang-dev
    https://golang.org/cl/5695054
---
 doc/style.css | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/doc/style.css b/doc/style.css
index c387705214..821c886a15 100644
--- a/doc/style.css
+++ b/doc/style.css
@@ -13,6 +13,27 @@ pre {
 pre .comment {
 	color: #375EAB;
 }
+pre .highlight {\n+\tbackground: #FFFF00;\n+}\n+pre .highlight-comment {\n+\tbackground: #FFFF00;\n+\tcolor: #375EAB;\n+}\n+pre .selection {\n+\tbackground: #FF9632;\n+}\n+pre .selection-comment {\n+\tbackground: #FF9632;\n+\tcolor: #375EAB;\n+}\n+pre .selection-highlight {\n+\tbackground: #FFFF00;\n+}\n+pre .selection-highlight-comment {\n+\tbackground: #FFFF00;\n+\tcolor: #375EAB;\n+}\n pre .ln {
 	color: #999;
 }
@@ -88,6 +109,10 @@ table.dir td {
 	vertical-align: top;
 }
 
+.alert {\n+\tcolor: #FF0000;\n+}\n+\n #heading {
 	float: left;
 	margin: 0 0 10px 0;
 }

変更の背景

このコミットの背景には、godocツールが提供するドキュメント表示機能において、以前は存在していた、あるいは意図されていた「ハイライト表示」「選択範囲のスタイル」「アラート表示」といった視覚的な補助機能が何らかの理由で失われていた、または実装されていなかったという状況があります。コミットメッセージの「bring back」という表現から、これらの機能が一度は存在したが、その後の変更で失われたか、あるいは不完全な状態であった可能性が示唆されます。

godocはGo言語のソースコードからドキュメントを生成し、Webブラウザで閲覧可能にするツールです。コードスニペットやコメントを表示する際に、特定のキーワードや選択されたテキストを視覚的に強調することは、ユーザーがドキュメントを理解しやすくするために非常に重要です。例えば、検索結果のキーワードをハイライトしたり、ユーザーがマウスで選択したコードブロックを明確に表示したり、エラーや警告メッセージを赤字で目立たせたりする機能は、ユーザーエクスペリエンスを大幅に向上させます。

このコミットは、これらの重要な視覚的フィードバック機能をgodocの出力に再導入し、ユーザーがより効率的にドキュメントを閲覧・操作できるようにすることを目的としています。

前提知識の解説

godoc

godocは、Go言語のソースコードからドキュメントを生成し、Webブラウザで表示するためのツールです。Go言語のパッケージ、関数、型、変数などのドキュメントを、コード内のコメントから自動的に抽出し、整形されたHTMLとして提供します。開発者はgodocを使って、ローカルでGoの標準ライブラリや自身のプロジェクトのドキュメントを閲覧できます。

CSS (Cascading Style Sheets)

CSSは、HTMLやXMLドキュメントの見た目(スタイル)を記述するためのスタイルシート言語です。ウェブページのレイアウト、色、フォント、間隔などを定義し、コンテンツとプレゼンテーションを分離することで、ウェブサイトの保守性やアクセシビリティを向上させます。

  • セレクタ: スタイルを適用するHTML要素を指定します。例: pre (pre要素全体), .highlight (class属性がhighlightの要素)。
  • プロパティ: 適用するスタイルの種類を指定します。例: background (背景色), color (文字色)。
  • : プロパティに設定する具体的な値を指定します。例: #FFFF00 (黄色), #FF0000 (赤色)。

ハイライト表示 (Highlighting)

テキストエディタやIDE、ウェブページなどで、特定のキーワードや検索結果、構文要素などを目立たせるために背景色や文字色を変更して表示する機能です。これにより、ユーザーは重要な情報や関連する部分を素早く見つけることができます。

選択範囲 (Selections)

ユーザーがマウスやキーボードでテキストを選択した際に、その選択された範囲を視覚的に強調して表示する機能です。通常、選択されたテキストの背景色が変わることで、どの部分が選択されているかを明確に示します。

アラート (Alerts)

ユーザーに注意を促すためのメッセージや表示です。エラー、警告、重要な情報などを目立たせるために、通常は赤色や黄色などの警告色で表示されます。

技術的詳細

このコミットは、godocが生成するHTMLドキュメントに適用されるdoc/style.cssファイルに、以下の新しいCSSルールを追加することで、ハイライト、選択、アラートの各機能の視覚的な表現を定義しています。

追加されたCSSルールは、主にpreタグ(整形済みテキスト、通常はコードスニペットを表示するために使用される)内の要素に適用されるように設計されています。

  1. ハイライト表示 (.highlight, .highlight-comment):

    • pre .highlight: コード内の通常のテキストをハイライトする際に使用されます。背景色を明るい黄色 (#FFFF00) に設定しています。
    • pre .highlight-comment: コード内のコメント部分をハイライトする際に使用されます。背景色を明るい黄色 (#FFFF00) に設定し、コメントの文字色 (#375EAB) を維持しています。これは、コメントがハイライトされても、それがコメントであることが視覚的にわかるようにするためです。
  2. 選択範囲 (.selection, .selection-comment, .selection-highlight, .selection-highlight-comment):

    • pre .selection: ユーザーが選択した通常のコードテキストの背景色をオレンジ色 (#FF9632) に設定します。
    • pre .selection-comment: ユーザーが選択したコメント部分の背景色をオレンジ色 (#FF9632) に設定し、コメントの文字色 (#375EAB) を維持します。
    • pre .selection-highlight: 選択されたテキストが同時にハイライトもされている場合のスタイルです。背景色をハイライトと同じ明るい黄色 (#FFFF00) に設定しています。これは、選択よりもハイライトの視覚的優先度が高いことを示唆している可能性があります。
    • pre .selection-highlight-comment: 選択され、かつハイライトもされているコメント部分のスタイルです。背景色を明るい黄色 (#FFFF00) に設定し、コメントの文字色 (#375EAB) を維持します。
  3. アラート表示 (.alert):

    • .alert: アラートメッセージやエラー表示に使用されます。文字色を鮮やかな赤色 (#FF0000) に設定することで、ユーザーに強い注意を促します。このルールはpreタグに限定されず、ドキュメント内の任意のアラート要素に適用される可能性があります。

これらのCSSクラスは、godocがHTMLを生成する際に、特定の条件(例: 検索キーワードに一致、ユーザーがテキストを選択、エラーメッセージの表示)に基づいてHTML要素に動的に適用されることを想定しています。これにより、JavaScriptなどのクライアントサイドスクリプトと連携して、動的な視覚効果を実現します。

コアとなるコードの変更箇所

変更はdoc/style.cssファイルに集中しており、既存のCSSルールに新しいルールが追加されています。

--- a/doc/style.css
+++ b/doc/style.css
@@ -13,6 +13,27 @@ pre {
 pre .comment {
 	color: #375EAB;
 }
+pre .highlight {
+	background: #FFFF00;
+}
+pre .highlight-comment {
+	background: #FFFF00;
+	color: #375EAB;
+}
+pre .selection {
+	background: #FF9632;
+}
+pre .selection-comment {
+	background: #FF9632;
+	color: #375EAB;
+}
+pre .selection-highlight {
+	background: #FFFF00;
+}
+pre .selection-highlight-comment {
+	background: #FFFF00;
+	color: #375EAB;
+}
 pre .ln {
 	color: #999;
 }
@@ -88,6 +109,10 @@ table.dir td {
 	vertical-align: top;
 }
 
+.alert {
+	color: #FF0000;
+}
+
 #heading {
 	float: left;
 	margin: 0 0 10px 0;

コアとなるコードの解説

追加されたCSSルールは以下の通りです。

  • pre .highlight:
    • background: #FFFF00; (黄色): preタグ内のハイライトされたテキストの背景色を黄色に設定します。これは、検索結果の強調など、一般的なハイライトに使用されます。
  • pre .highlight-comment:
    • background: #FFFF00; (黄色): preタグ内のハイライトされたコメントの背景色を黄色に設定します。
    • color: #375EAB; (青色): コメントの文字色を既存のコメント色(青色)に維持します。これにより、ハイライトされてもコメントであることが視覚的に区別できます。
  • pre .selection:
    • background: #FF9632; (オレンジ色): preタグ内でユーザーが選択したテキストの背景色をオレンジ色に設定します。
  • pre .selection-comment:
    • background: #FF9632; (オレンジ色): preタグ内でユーザーが選択したコメントの背景色をオレンジ色に設定します。
    • color: #375EAB; (青色): コメントの文字色を維持します。
  • pre .selection-highlight:
    • background: #FFFF00; (黄色): preタグ内で選択され、かつハイライトもされているテキストの背景色を黄色に設定します。これは、ハイライトが選択よりも優先される視覚的な効果を生み出します。
  • pre .selection-highlight-comment:
    • background: #FFFF00; (黄色): preタグ内で選択され、かつハイライトもされているコメントの背景色を黄色に設定します。
    • color: #375EAB; (青色): コメントの文字色を維持します。
  • .alert:
    • color: #FF0000; (赤色): アラートメッセージの文字色を赤色に設定します。これは、エラーや警告など、ユーザーに緊急性を伝えるために使用されます。

これらのCSSルールは、godocが生成するHTMLにこれらのクラスが適用されることで、コードの表示がより機能的でユーザーフレンドリーになることを保証します。

関連リンク

参考にした情報源リンク