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

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

このコミットは、Go言語のドキュメンテーションツールであるgodocが生成するHTMLページの一部であるlib/godoc/package.htmlファイルから、特定のリンクを削除するものです。削除されたリンクは「Need more packages?」というもので、Goパッケージダッシュボードへの参照を含んでいました。

コミット

commit e547393fcc9986104440cc70f2a5803da02341db
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu Jan 19 15:00:27 2012 +1100

    godoc: remove "need more packages?" link
    
    Its need will be addressed in another way by the redesign.
    
    Fixes #2719.
    
    R=golang-dev, bradfitz
    CC=golang-dev
    https://golang.org/cl/5536062

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

https://github.com/golang/go/commit/e547393fcc9986104440cc70f2a5803da02341db

元コミット内容

godoc: remove "need more packages?" link

Its need will be addressed in another way by the redesign.

Fixes #2719.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5536062

変更の背景

このコミットの主な背景は、godocツールの将来的な「再設計 (redesign)」にあります。コミットメッセージに「Its need will be addressed in another way by the redesign.」とあるように、既存の「Need more packages?」というリンクが提供していた機能や情報が、新しい設計の中で別の方法で提供される予定であったため、このリンクが不要になると判断されました。

また、「Fixes #2719」と記載されていますが、Goの主要なIssueトラッカーで直接「Issue #2719」がgodocに関連する公開情報として見つかるわけではありません。これは、内部的なトラッキングシステムや、当時まだ公開されていなかった詳細な設計ドキュメントに関連する可能性が高いです。しかし、コミットメッセージから、このリンクの存在が何らかの問題(例えば、情報が古くなる、新しい設計と矛盾する、ユーザー体験を損なうなど)を引き起こしていたことが推測されます。

2012年頃はGo言語がバージョン1.0をリリースし、エコシステムが急速に発展していた時期です。godocはGoの重要なドキュメンテーションツールとして、その機能や表示方法が継続的に改善されていました。この変更も、より洗練されたドキュメンテーション体験を提供するための全体的な取り組みの一環と考えられます。

前提知識の解説

  • godoc: godocはGo言語の公式ドキュメンテーションツールです。Goのソースコード内のコメント(特にエクスポートされた識別子に付随するコメント)を解析し、自動的にHTML形式のドキュメンテーションを生成します。これにより、開発者はコードとドキュメントを密接に連携させることができます。godocはローカルで実行してドキュメントを閲覧できるだけでなく、godoc.org(後にpkg.go.devに移行)のようなオンラインサービスを通じて、公開されているGoパッケージのドキュメントを閲覧する基盤ともなりました。
  • package.html: godocがパッケージのドキュメンテーションページを生成する際に使用するHTMLテンプレートファイルの一つです。このファイルには、パッケージの概要、関数、型、変数、そしてサブディレクトリなどの情報が表示されます。
  • Package Dashboard: コミットメッセージで参照されている「Package Dashboard」は、当時のGoエコシステムにおけるパッケージ発見のためのウェブサービスでした。これは、goinstallableなパッケージ(go installコマンドでインストール可能なパッケージ)を一覧表示し、ユーザーが新しいパッケージを見つけるのに役立つことを目的としていました。
  • goinstallable: goinstallableとは、go installコマンドを使ってビルドおよびインストールが可能なGoパッケージを指します。これは、Goの初期のパッケージ管理および配布メカニズムの一部でした。

技術的詳細

このコミットは、lib/godoc/package.htmlというHTMLテンプレートファイルから、特定の<p>タグで囲まれた段落を削除するものです。この段落は、Goパッケージダッシュボードへのリンクと、goinstallableパッケージに関する情報を提供していました。

削除されたHTMLコードは以下の通りです。

<p class="detail">
Need more packages? The
<a href="http://godashboard.appspot.com/package">Package Dashboard</a>
provides a list of <a href="/cmd/goinstall/">goinstallable</a> packages.
</p>

この変更は、サーバーサイドで動的にHTMLを生成するテンプレートエンジン(Goのhtml/templateパッケージなど)によって処理されるHTMLファイルに対して行われています。{{end}}{{with .Dirs}}といった構文は、Goのテンプレート構文であり、条件分岐やデータのバインディングを示しています。削除された行は、{{with .Dirs}}ブロックの内側にあり、これはディレクトリ情報が存在する場合にのみ表示されるセクションであったことを示唆しています。

この変更は純粋なフロントエンドの変更であり、バックエンドのロジックやデータ構造には影響を与えません。単に、特定の情報提供リンクがユーザーインターフェースから削除されるだけです。これは、将来のgodocの再設計において、この情報が別の、より統合された方法で提供されることを前提としたクリーンアップ作業と見なせます。

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

diff --git a/lib/godoc/package.html b/lib/godoc/package.html
index 7073d72baa..155f24032a 100644
--- a/lib/godoc/package.html
+++ b/lib/godoc/package.html
@@ -131,11 +131,6 @@
 	</p>
 {{end}}
 {{with .Dirs}}
-	<p class="detail">
-	Need more packages? The
-	<a href="http://godashboard.appspot.com/package">Package Dashboard</a>
-	provides a list of <a href="/cmd/goinstall/">goinstallable</a> packages.
-	</p>
 	{{/* DirList entries are numbers and strings - no need for FSet */}}
 	<h2 id="Subdirectories">Subdirectories</h2>
 	<p>

コアとなるコードの解説

上記のdiff出力は、lib/godoc/package.htmlファイルから5行が削除されたことを示しています。

具体的に削除された行は以下の通りです。

-	<p class="detail">
-	Need more packages? The
-	<a href="http://godashboard.appspot.com/package">Package Dashboard</a>
-	provides a list of <a href="/cmd/goinstall/">goinstallable</a> packages.
-	</p>

これは、godocが生成するパッケージドキュメントページにおいて、サブディレクトリ一覧のセクション({{with .Dirs}}ブロック内)に表示されていた、Goパッケージダッシュボードへのリンクを含む段落全体です。

  • <p class="detail">: この段落は、詳細情報を示すためのCSSクラスdetailが適用されていました。
  • Need more packages?: ユーザーにさらなるパッケージの発見を促すテキストです。
  • <a href="http://godashboard.appspot.com/package">Package Dashboard</a>: Goパッケージダッシュボードへのハイパーリンクです。当時のGoパッケージの発見と探索の中心的な場所の一つでした。
  • <a href="/cmd/goinstall/">goinstallable</a> packages.: goinstallコマンドに関するドキュメントへのリンクと、goinstallableパッケージという概念への言及です。

この削除により、godocが生成するHTMLページから、この特定の情報提供とナビゲーションの要素が完全に消滅します。これは、前述の通り、将来のgodocの再設計において、この機能がより適切に統合されるか、あるいは完全に置き換えられることを意図したものです。

関連リンク

参考にした情報源リンク