golang/gddo — pull request #212 by garyburd (2014-11-26 00:45:54+00:00)
Title: Link to source using go-source meta tag.

The go-source meta tag is similar to the go-import meta tag used for vanity
package paths. The structure of the tag is:

The prefix field is the import path corresponding to the repository root.

The home field is the URL of the repository's home page.

The directory field is a URL template for a page listing the files in the
package. The following substitutions are made in the directory template:

{dir} - The import path with prefix and leading "/" trimmed.
{/dir} - If {dir} is not the empty string, then {/dir} is replaced by "/" +
{dir}. Otherwise, {/dir} is replaced with the empty string.

The file field is a URL template for a link to a line in a source file. The
following substitutions are made in the file template:

{file} - The name of the file
{line} - The decimal line number.

The server currently handles the case where {file} comes before the fragment
delimiter (if any) and {line} comes after the fragment delimiter.

The meta tag content attribute must contain four fields. Use "_" to fallback to
gddo's defaults for home, directory and file.

To improve the readability and maintainability of the code, change parseMeta()
return structs instead of a map[string]string. Also, move some of the
validation logic in parseMeta() to getDynamic().

Add tests for getDynamic().

See https://github.com/niemeyer/gopkg/pull/31 for the corresponding
change to gopkg.in.

Fixes #68.