diff --git a/resources/com/google/gitiles/templates/BlameDetail.soy b/resources/com/google/gitiles/templates/BlameDetail.soy
index f245c9c..7979de6 100644
--- a/resources/com/google/gitiles/templates/BlameDetail.soy
+++ b/resources/com/google/gitiles/templates/BlameDetail.soy
@@ -15,27 +15,20 @@
 
 /**
  * Detail page showing blame info for a file.
- *
- * @param title human-readable revision name.
- * @param repositoryName name of this repository.
- * @param? menuEntries menu entries.
- * @param? customVariant variant name for custom styling.
- * @param breadcrumbs breadcrumbs for this page.
- * @param data blob data, matching the params for .blobBox.
- * @param? regions for non-binary files, list of regions, one per line, with the
- *     following keys:
- *       abbrevSha: abbreviated SHA-1 of revision for this line; if missing,
- *           assume blame info is missing.
- *       author: author information with at least "name" and "relativeTime"
- *           keys.
- *       time: time of the revision.
- *       blameUrl: URL for a blame of this file at this commit.
- *       commitUrl: URL for detail about the commit.
- *       diffUrl: URL for a diff of this file at this commit.
- *       class: class name for tr.
- *     All keys but "class" are optional.
  */
 {template .blameDetail stricthtml="false"}
+  {@param title: ?}  /** human-readable revision name. */
+  {@param repositoryName: ?}  /** name of this repository. */
+  {@param? menuEntries: ?}  /** menu entries. */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
+  {@param breadcrumbs: ?}  /** breadcrumbs for this page. */
+  {@param data: ?}  /** blob data, matching the params for .blobBox. */
+  {@param? regions: ?}  /** for non-binary files, list of regions, one per line, with the following
+      keys: abbrevSha: abbreviated SHA-1 of revision for this line; if missing, assume blame info is
+      missing. author: author information with at least "name" and "relativeTime" keys. time: time
+      of the revision. blameUrl: URL for a blame of this file at this commit. commitUrl: URL for
+      detail about the commit. diffUrl: URL for a diff of this file at this commit. class: class
+      name for tr. All keys but "class" are optional. */
 {if $regions}
   {call .header data="all"}
     {param css: [gitiles.PRETTIFY_CSS_URL] /}
diff --git a/resources/com/google/gitiles/templates/Common.soy b/resources/com/google/gitiles/templates/Common.soy
index 6d2e8ed..67d5b0b 100644
--- a/resources/com/google/gitiles/templates/Common.soy
+++ b/resources/com/google/gitiles/templates/Common.soy
@@ -15,18 +15,17 @@
 
 /**
  * Common header for Gitiles.
- *
- * @param title title for this page. Always suffixed with repository name and a
- *     sitewide title.
- * @param? repositoryName repository name for this page, if applicable.
- * @param? menuEntries optional list of menu entries with "text" and optional
- *     "url" keys.
- * @param? customVariant variant name for custom styling.
- * @param breadcrumbs navigation breadcrumbs for this page.
- * @param? css optional list of CSS URLs to include.
- * @param? containerClass optional class to append to the main container.
  */
 {template .header stricthtml="false"}
+  {@param title: ?}  /** title for this page. Always suffixed with repository name and a sitewide
+      title. */
+  {@param? repositoryName: ?}  /** repository name for this page, if applicable. */
+  {@param? menuEntries: ?}  /** optional list of menu entries with "text" and optional "url" keys.
+      */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
+  {@param breadcrumbs: ?}  /** navigation breadcrumbs for this page. */
+  {@param? css: ?}  /** optional list of CSS URLs to include. */
+  {@param? containerClass: ?}  /** optional class to append to the main container. */
 <!DOCTYPE html>
 <html lang="en">
 <head>
@@ -147,10 +146,9 @@
  *
  * The footer tag part can be customized by creating a customFooter
  * variant template.
- *
- * @param? customVariant variant name for custom styling.
  */
 {template .footer stricthtml="false"}
+  {@param? customVariant: ?}  /** variant name for custom styling. */
     </div> <!-- Container -->
   </div> <!-- Site-content -->
   {delcall gitiles.customFooter variant="$customVariant ?: ''" /}
diff --git a/resources/com/google/gitiles/templates/DiffDetail.soy b/resources/com/google/gitiles/templates/DiffDetail.soy
index 147c90f..38e483b 100644
--- a/resources/com/google/gitiles/templates/DiffDetail.soy
+++ b/resources/com/google/gitiles/templates/DiffDetail.soy
@@ -15,16 +15,15 @@
 
 /**
  * Detail page showing diffs for a single commit.
- *
- * @param title human-readable revision name.
- * @param repositoryName name of this repository.
- * @param? menuEntries menu entries.
- * @param? customVariant variant name for custom styling.
- * @param breadcrumbs breadcrumbs for this page.
- * @param? commit optional commit for which diffs are displayed, with keys
- *     corresponding to the gitiles.commitDetail template (minus "diffTree").
  */
 {template .diffDetail stricthtml="false"}
+  {@param title: ?}  /** human-readable revision name. */
+  {@param repositoryName: ?}  /** name of this repository. */
+  {@param? menuEntries: ?}  /** menu entries. */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
+  {@param breadcrumbs: ?}  /** breadcrumbs for this page. */
+  {@param? commit: ?}  /** optional commit for which diffs are displayed, with keys corresponding to
+      the gitiles.commitDetail template (minus "diffTree"). */
 {call .header data="all" /}
 
 {if $commit}
@@ -39,13 +38,12 @@
 
 /**
  * File header for a single unified diff patch.
- *
- * @param firstParts parts of the first line of the header, with "text" and
- *     optional "url" fields.
- * @param rest remaining lines of the header, if any.
- * @param fileIndex position of the file within the difference.
  */
 {template .diffHeader}
+  {@param firstParts: ?}  /** parts of the first line of the header, with "text" and optional "url"
+      fields. */
+  {@param rest: ?}  /** remaining lines of the header, if any. */
+  {@param fileIndex: ?}  /** position of the file within the difference. */
 <pre class="u-pre u-monospace Diff">
   <a name="F{$fileIndex}" class="Diff-fileIndex"></a>
   {for $part in $firstParts}
diff --git a/resources/com/google/gitiles/templates/Doc.soy b/resources/com/google/gitiles/templates/Doc.soy
index 561e9d0..e7eb0d9 100644
--- a/resources/com/google/gitiles/templates/Doc.soy
+++ b/resources/com/google/gitiles/templates/Doc.soy
@@ -15,12 +15,11 @@
 
 /**
  * Default Doc Footer
- *
- * @param? sourceUrl url for source view of the page.
- * @param? logUrl url for log history of page.
- * @param? blameUrl url for blame of page source.
  */
 {deltemplate gitiles.customDocFooter}
+  {@param? sourceUrl: ?}  /** url for source view of the page. */
+  {@param? logUrl: ?}  /** url for log history of page. */
+  {@param? blameUrl: ?}  /** url for blame of page source. */
 <!-- default customDocFooter -->
 <footer class="Site-footer">
   <div class="Footer">
@@ -36,16 +35,15 @@
 
 /**
  * Documentation page rendered from markdown.
- *
- * @param? siteTitle h1 title from navbar.md.
- * @param pageTitle h1 title from specific page.
- * @param? logoUrl url of image logo.
- * @param? homeUrl url to jump to top of site.
- * @param? analyticsId Google Analytics Property ID.
- * @param? navbarHtml navar.md converted to SafeHtml.
- * @param? customVariant variant name for custom styling.
  */
 {template .markdownDoc}
+  {@param? siteTitle: ?}  /** h1 title from navbar.md. */
+  {@param pageTitle: ?}  /** h1 title from specific page. */
+  {@param? logoUrl: ?}  /** url of image logo. */
+  {@param? homeUrl: ?}  /** url to jump to top of site. */
+  {@param? analyticsId: ?}  /** Google Analytics Property ID. */
+  {@param? navbarHtml: ?}  /** navar.md converted to SafeHtml. */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
 <!DOCTYPE html>
 <html lang="en">
 <head>
diff --git a/resources/com/google/gitiles/templates/HostIndex.soy b/resources/com/google/gitiles/templates/HostIndex.soy
index c1a3438..5a05304 100644
--- a/resources/com/google/gitiles/templates/HostIndex.soy
+++ b/resources/com/google/gitiles/templates/HostIndex.soy
@@ -15,16 +15,15 @@
 
 /**
  * HTML page for /.
- *
- * @param hostName host name.
- * @param? menuEntries menu entries.
- * @param? customVariant variant name for custom styling.
- * @param? prefix prefix path for matching repositories.
- * @param? breadcrumbs map of breadcrumbs for header.
- * @param repositories list of repository description maps with name, cloneUrl,
- *     and optional description values.
  */
 {template .hostIndex stricthtml="false"}
+  {@param hostName: ?}  /** host name. */
+  {@param? menuEntries: ?}  /** menu entries. */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
+  {@param? prefix: ?}  /** prefix path for matching repositories. */
+  {@param? breadcrumbs: ?}  /** map of breadcrumbs for header. */
+  {@param repositories: ?}  /** list of repository description maps with name, cloneUrl, and
+      optional description values. */
 {call .header}
   {param title: $prefix ? $prefix : $hostName ? $hostName + ' Git repositories' : 'Git repositories' /}
   {param menuEntries: $menuEntries /}
diff --git a/resources/com/google/gitiles/templates/LogDetail.soy b/resources/com/google/gitiles/templates/LogDetail.soy
index 5a90b86..354453c 100644
--- a/resources/com/google/gitiles/templates/LogDetail.soy
+++ b/resources/com/google/gitiles/templates/LogDetail.soy
@@ -15,16 +15,15 @@
 
 /**
  * Detail page showing a shortlog for a commit.
- *
- * @param title human-readable revision name.
- * @param repositoryName name of this repository.
- * @param? menuEntries menu entries.
- * @param? customVariant variant name for custom styling.
- * @param breadcrumbs breadcrumbs for this page.
- * @param? tags optional list of tags encountered when peeling this object, with
- *     keys corresponding to gitiles.tagDetail.
  */
 {template .logDetail stricthtml="false"}
+  {@param title: ?}  /** human-readable revision name. */
+  {@param repositoryName: ?}  /** name of this repository. */
+  {@param? menuEntries: ?}  /** menu entries. */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
+  {@param breadcrumbs: ?}  /** breadcrumbs for this page. */
+  {@param? tags: ?}  /** optional list of tags encountered when peeling this object, with keys
+      corresponding to gitiles.tagDetail. */
 {call .header data="all" /}
 
 {if $tags}
@@ -43,10 +42,9 @@
 
 /**
  * Header for list of log entries.
- *
- * @param? previousUrl URL for the previous page of results.
  */
 {template .logEntriesHeader stricthtml="false"}
+  {@param? previousUrl: ?}  /** URL for the previous page of results. */
 {if $previousUrl}
   <nav class="LogNav">
     <a class="LogNav-prev" href="{$previousUrl}">{msg desc="text for previous URL"}&laquo; Previous{/msg}</a>
@@ -59,11 +57,10 @@
 
 /**
  * Wrapper for a single log entry with pretty format and variant.
- *
- * @param variant variant name for log entry template.
- * @param entry log entry; see .logEntry.
  */
 {template .logEntryWrapper}
+  {@param variant: ?}  /** variant name for log entry template. */
+  {@param entry: ?}  /** log entry; see .logEntry. */
 <li class="CommitLog-item CommitLog-item--{$variant}">
   {delcall gitiles.logEntry variant="$variant ?: 'default'" data="$entry" /}
 </li>
@@ -72,11 +69,10 @@
 
 /**
  * Footer for the list of log entries.
- *
- * @param? nextUrl URL for the next page of results.
- * @param? nextText text for next page link.
  */
 {template .logEntriesFooter stricthtml="false"}
+  {@param? nextUrl: ?}  /** URL for the next page of results. */
+  {@param? nextText: ?}  /** text for next page link. */
 </ol>
 {if $nextUrl}
   <nav class="LogNav">
@@ -96,26 +92,23 @@
 
 /**
  * Single pretty log entry, similar to --pretty=oneline.
- *
- * @param abbrevSha abbreviated SHA-1.
- * @param sha commit SHA-1.
- * @param url URL to commit detail page.
- * @param shortMessage short commit message.
- * @param message list of commit message parts, where each part contains:
- *     text: raw text of the part.
- *     url: optional URL that should be linked to from the part.
- * @param author author information with at least "name" and "relativeTime" keys.
- * @param committer committer information with at least "time" and "relativeTime" keys.
- * @param branches list of branches for this entry, with "name" and "url" keys.
- * @param tags list of tags for this entry, with "name" and "url" keys.
- * @param diffTree unused in this variant.
- * @param rename if this entry was a rename or a copy of the path, an object containg:
- *     changeType: the change type, "RENAME" or "COPY".
- *     oldPath: the old path prior to the rename or copy.
- *     newPath: the new path after the rename or copy.
- *     score: the similarity score of the rename or copy.
  */
 {deltemplate gitiles.logEntry variant="'oneline'"}
+  {@param abbrevSha: ?}  /** abbreviated SHA-1. */
+  {@param sha: ?}  /** commit SHA-1. */
+  {@param url: ?}  /** URL to commit detail page. */
+  {@param shortMessage: ?}  /** short commit message. */
+  {@param message: ?}  /** list of commit message parts, where each part contains: text: raw text of
+      the part. url: optional URL that should be linked to from the part. */
+  {@param author: ?}  /** author information with at least "name" and "relativeTime" keys. */
+  {@param committer: ?}  /** committer information with at least "time" and "relativeTime" keys. */
+  {@param branches: ?}  /** list of branches for this entry, with "name" and "url" keys. */
+  {@param tags: ?}  /** list of tags for this entry, with "name" and "url" keys. */
+  {@param diffTree: ?}  /** unused in this variant. */
+  {@param rename: ?}  /** if this entry was a rename or a copy of the path, an object containg:
+      changeType: the change type, "RENAME" or "COPY". oldPath: the old path prior to the rename or
+      copy. newPath: the new path after the rename or copy. score: the similarity score of the
+      rename or copy. */
 <a class="u-sha1 u-monospace CommitLog-sha1" href="{$url}">{$abbrevSha}</a>
 {sp}<a href="{$url}">{$shortMessage}</a>
 {sp}<span class="CommitLog-author" title="{$author.email}">{msg desc="commit author name"}by {$author.name}{/msg}</span>
@@ -152,52 +145,46 @@
 
 /**
  * Default single log entry (oneline format).
- *
- * @param abbrevSha abbreviated SHA-1.
- * @param sha commit SHA-1.
- * @param url URL to commit detail page.
- * @param shortMessage short commit message.
- * @param message list of commit message parts, where each part contains:
- *     text: raw text of the part.
- *     url: optional URL that should be linked to from the part.
- * @param author author information with at least "name" and "relativeTime" keys.
- * @param committer committer information with at least "time" and "relativeTime" keys.
- * @param branches list of branches for this entry, with "name" and "url" keys.
- * @param tags list of tags for this entry, with "name" and "url" keys.
- * @param diffTree unused in this variant.
- * @param rename if this entry was a rename or a copy of the path, an object containg:
- *     changeType: the change type, "RENAME" or "COPY".
- *     oldPath: the old path prior to the rename or copy.
- *     newPath: the new path after the rename or copy.
- *     score: the similarity score of the rename or copy.
  */
 {deltemplate gitiles.logEntry variant="'default'"}
+  {@param abbrevSha: ?}  /** abbreviated SHA-1. */
+  {@param sha: ?}  /** commit SHA-1. */
+  {@param url: ?}  /** URL to commit detail page. */
+  {@param shortMessage: ?}  /** short commit message. */
+  {@param message: ?}  /** list of commit message parts, where each part contains: text: raw text of
+      the part. url: optional URL that should be linked to from the part. */
+  {@param author: ?}  /** author information with at least "name" and "relativeTime" keys. */
+  {@param committer: ?}  /** committer information with at least "time" and "relativeTime" keys. */
+  {@param branches: ?}  /** list of branches for this entry, with "name" and "url" keys. */
+  {@param tags: ?}  /** list of tags for this entry, with "name" and "url" keys. */
+  {@param diffTree: ?}  /** unused in this variant. */
+  {@param rename: ?}  /** if this entry was a rename or a copy of the path, an object containg:
+      changeType: the change type, "RENAME" or "COPY". oldPath: the old path prior to the rename or
+      copy. newPath: the new path after the rename or copy. score: the similarity score of the
+      rename or copy. */
 {delcall gitiles.logEntry variant="'oneline'" data="all" /}
 {/deltemplate}
 
 
 /**
  * Single pretty log entry, similar to --pretty=full.
- *
- * @param abbrevSha abbreviated SHA-1.
- * @param sha commit SHA-1.
- * @param url URL to commit detail page.
- * @param shortMessage short commit message.
- * @param message list of commit message parts, where each part contains:
- *     text: raw text of the part.
- *     url: optional URL that should be linked to from the part.
- * @param author author information with at least "name" and "relativeTime" keys.
- * @param committer committer information with at least "time" and "relativeTime" keys.
- * @param branches list of branches for this entry, with "name" and "url" keys.
- * @param tags list of tags for this entry, with "name" and "url" keys.
- * @param diffTree unused in this variant.
- * @param rename if this entry was a rename or a copy of the path, an object containg:
- *     changeType: the change type, "RENAME" or "COPY".
- *     oldPath: the old path prior to the rename or copy.
- *     newPath: the new path after the rename or copy.
- *     score: the similarity score of the rename or copy.
  */
 {deltemplate gitiles.logEntry variant="'full'"}
+  {@param abbrevSha: ?}  /** abbreviated SHA-1. */
+  {@param sha: ?}  /** commit SHA-1. */
+  {@param url: ?}  /** URL to commit detail page. */
+  {@param shortMessage: ?}  /** short commit message. */
+  {@param message: ?}  /** list of commit message parts, where each part contains: text: raw text of
+      the part. url: optional URL that should be linked to from the part. */
+  {@param author: ?}  /** author information with at least "name" and "relativeTime" keys. */
+  {@param committer: ?}  /** committer information with at least "time" and "relativeTime" keys. */
+  {@param branches: ?}  /** list of branches for this entry, with "name" and "url" keys. */
+  {@param tags: ?}  /** list of tags for this entry, with "name" and "url" keys. */
+  {@param diffTree: ?}  /** unused in this variant. */
+  {@param rename: ?}  /** if this entry was a rename or a copy of the path, an object containg:
+      changeType: the change type, "RENAME" or "COPY". oldPath: the old path prior to the rename or
+      copy. newPath: the new path after the rename or copy. score: the similarity score of the
+      rename or copy. */
 <div class="u-monospace Metadata">
 <table>
   <tr>
diff --git a/resources/com/google/gitiles/templates/ObjectDetail.soy b/resources/com/google/gitiles/templates/ObjectDetail.soy
index 627bf96..b3a13e3 100644
--- a/resources/com/google/gitiles/templates/ObjectDetail.soy
+++ b/resources/com/google/gitiles/templates/ObjectDetail.soy
@@ -15,32 +15,25 @@
 
 /**
  * Detailed listing of a commit.
- *
- * @param author map with "name", "email", and "time" keys for the commit author.
- * @param committer map with "name", "email", and "time" keys for the committer.
- * @param sha commit SHA-1.
- * @param tree tree SHA-1.
- * @param treeUrl tree URL.
- * @param parents list of parent objects with the following keys:
- *     sha: SHA-1.
- *     url: URL to view the parent commit.
- *     diffUrl: URL to display diffs relative to this parent.
- *     blameUrl: optional URL to display blame of a file at this parent.
- * @param message list of commit message parts, where each part contains:
- *     text: raw text of the part.
- *     url: optional URL that should be linked to from the part.
- * @param diffTree list of changed tree entries with the following keys:
- *     changeType: string matching an org.eclipse.jgit.diff.DiffEntry.ChangeType
- *         constant.
- *     path: (new) path of the tree entry.
- *     oldPath: old path, only for renames and copies.
- *     url: URL to a detail page for the tree entry.
- *     diffUrl: URL to a diff page for the tree entry's diff in this commit.
- * @param logUrl URL to a log page starting at this commit.
- * @param archiveUrl URL to a download link of this commit as an archive.
- * @param archiveType type of the archive to download.
  */
 {template .commitDetail}
+  {@param author: ?}  /** map with "name", "email", and "time" keys for the commit author. */
+  {@param committer: ?}  /** map with "name", "email", and "time" keys for the committer. */
+  {@param sha: ?}  /** commit SHA-1. */
+  {@param tree: ?}  /** tree SHA-1. */
+  {@param treeUrl: ?}  /** tree URL. */
+  {@param parents: ?}  /** list of parent objects with the following keys: sha: SHA-1. url: URL to
+      view the parent commit. diffUrl: URL to display diffs relative to this parent. blameUrl:
+      optional URL to display blame of a file at this parent. */
+  {@param message: ?}  /** list of commit message parts, where each part contains: text: raw text of
+      the part. url: optional URL that should be linked to from the part. */
+  {@param diffTree: ?}  /** list of changed tree entries with the following keys: changeType: string
+      matching an org.eclipse.jgit.diff.DiffEntry.ChangeType constant. path: (new) path of the tree
+      entry. oldPath: old path, only for renames and copies. url: URL to a detail page for the tree
+      entry. diffUrl: URL to a diff page for the tree entry's diff in this commit. */
+  {@param logUrl: ?}  /** URL to a log page starting at this commit. */
+  {@param archiveUrl: ?}  /** URL to a download link of this commit as an archive. */
+  {@param archiveType: ?}  /** type of the archive to download. */
 <div class="u-monospace Metadata">
   <table>
     <tr>
@@ -144,23 +137,18 @@
 
 /**
  * Detailed listing of a tree.
- *
- * @param sha SHA of this path's tree.
- * @param? logUrl optional URL to a log for this path.
- * @param? archiveUrl optional URL to a download link of this tree as an archive.
- * @param? archiveType type of the archive to download, if archiveUrl is set.
- * @param entries list of entries with the following keys:
- *     type: entry type, matching one of the constant names defined in
- *         org.eclipse.jgit.lib.FileMode.
- *     name: tree entry name.
- *     url: URL to link to.
- *     targetName: name of a symlink target, required only if type == 'SYMLINK'.
- *     targetUrl: optional url of a symlink target, required only if
- *         type == 'SYMLINK'.
- * @param? readmePath optional path of the selected README.md file.
- * @param? readmeHtml optional rendered README.md contents.
  */
 {template .treeDetail}
+  {@param sha: ?}  /** SHA of this path's tree. */
+  {@param? logUrl: ?}  /** optional URL to a log for this path. */
+  {@param? archiveUrl: ?}  /** optional URL to a download link of this tree as an archive. */
+  {@param? archiveType: ?}  /** type of the archive to download, if archiveUrl is set. */
+  {@param entries: ?}  /** list of entries with the following keys: type: entry type, matching one
+      of the constant names defined in org.eclipse.jgit.lib.FileMode. name: tree entry name. url:
+      URL to link to. targetName: name of a symlink target, required only if type == 'SYMLINK'.
+      targetUrl: optional url of a symlink target, required only if type == 'SYMLINK'. */
+  {@param? readmePath: ?}  /** optional path of the selected README.md file. */
+  {@param? readmeHtml: ?}  /** optional rendered README.md contents. */
 <div class="TreeDetail">
   <div class="u-sha1 u-monospace TreeDetail-sha1">
     {msg desc="SHA-1 for the path's tree"}tree: {$sha}{/msg}
@@ -222,14 +210,13 @@
 
 /**
  * Common header for a blob shared between detail, blame, etc. views.
- *
- * @param sha SHA of this file's blob.
- * @param? fileUrl optional URL to a detail view of this file.
- * @param? logUrl optional URL to a log for this file.
- * @param? blameUrl optional URL to a blame for this file.
- * @param? docUrl optional URL to view rendered file.
  */
 {template .blobHeader}
+  {@param sha: ?}  /** SHA of this file's blob. */
+  {@param? fileUrl: ?}  /** optional URL to a detail view of this file. */
+  {@param? logUrl: ?}  /** optional URL to a log for this file. */
+  {@param? blameUrl: ?}  /** optional URL to a blame for this file. */
+  {@param? docUrl: ?}  /** optional URL to view rendered file. */
 <div class="u-sha1 u-monospace BlobSha1">
   {msg desc="SHA-1 for the file's blob"}blob: {$sha}{/msg}
   {if $fileUrl}{sp}[<a href="{$fileUrl}">{msg desc="detail view of a file"}file{/msg}</a>]{/if}
@@ -241,16 +228,14 @@
 
 /**
  * Detailed listing of a blob.
- *
- * @param sha SHA of this file's blob.
- * @param? logUrl optional URL to a log for this file.
- * @param? blameUrl optional URL to a blame for this file.
- * @param lines lines (may be empty), or null for a binary file. Each line
- *     is a list of entries with "classes" and "text" fields for pretty-printed
- *     spans.
- * @param? size for binary files only, size in bytes.
  */
 {template .blobDetail}
+  {@param sha: ?}  /** SHA of this file's blob. */
+  {@param? logUrl: ?}  /** optional URL to a log for this file. */
+  {@param? blameUrl: ?}  /** optional URL to a blame for this file. */
+  {@param lines: ?}  /** lines (may be empty), or null for a binary file. Each line is a list of
+      entries with "classes" and "text" fields for pretty-printed spans. */
+  {@param? size: ?}  /** for binary files only, size in bytes. */
   {call .blobHeader data="all" /}
 
   {if $lines != null}
@@ -281,14 +266,12 @@
 
 /**
  * Detailed listing of an annotated tag.
- *
- * @param sha SHA of this tag.
- * @param? tagger optional map with "name", "email", and "time" keys for the
- *     tagger.
- * @param object SHA of the object this tag points to.
- * @param message tag message.
  */
 {template .tagDetail}
+  {@param sha: ?}  /** SHA of this tag. */
+  {@param? tagger: ?}  /** optional map with "name", "email", and "time" keys for the tagger. */
+  {@param object: ?}  /** SHA of the object this tag points to. */
+  {@param message: ?}  /** tag message. */
 <div class="u-monospace Metadata">
   <table>
     <tr>
@@ -320,23 +303,20 @@
 
 /**
  * Line about a git person identity.
- *
- * @param name name.
- * @param email email.
  */
 {template .person_}
+  {@param name: ?}  /** name. */
+  {@param email: ?}  /** email. */
 {$name}{if $email} &lt;{$email}&gt;{/if}
 {/template}
 
 /**
  * Preformatted message, possibly containing hyperlinks.
- *
- * @param className CSS class name for <pre> block.
- * @param message list of message parts, where each part contains:
- *     text: raw text of the part.
- *     url: optional URL that should be linked to from the part.
  */
 {template .message_ visibility="private"}
+  {@param className: ?}  /** CSS class name for <pre> block. */
+  {@param message: ?}  /** list of message parts, where each part contains: text: raw text of the
+      part. url: optional URL that should be linked to from the part. */
 <pre class="{$className}">
   {for $part in $message}
     {if $part.url}<a href="{$part.url}">{$part.text}</a>{else}{$part.text}{/if}
diff --git a/resources/com/google/gitiles/templates/PathDetail.soy b/resources/com/google/gitiles/templates/PathDetail.soy
index a5ae100..67bad2e 100644
--- a/resources/com/google/gitiles/templates/PathDetail.soy
+++ b/resources/com/google/gitiles/templates/PathDetail.soy
@@ -15,18 +15,17 @@
 
 /**
  * Detail page for a path within a tree.
- *
- * @param title human-readable name of this path.
- * @param repositoryName name of this repository.
- * @param? menuEntries menu entries.
- * @param? customVariant variant name for custom styling.
- * @param breadcrumbs breadcrumbs for this page.
- * @param type path type, matching one of the constant names defined in
- *         org.eclipse.jgit.lib.FileMode.
- * @param data path data, matching the params for one of .treeDetail,
- *     .blobDetail, .symlinkDetail, or .gitlinkDetail as appropriate.
  */
 {template .pathDetail stricthtml="false"}
+  {@param title: ?}  /** human-readable name of this path. */
+  {@param repositoryName: ?}  /** name of this repository. */
+  {@param? menuEntries: ?}  /** menu entries. */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
+  {@param breadcrumbs: ?}  /** breadcrumbs for this page. */
+  {@param type: ?}  /** path type, matching one of the constant names defined in
+      org.eclipse.jgit.lib.FileMode. */
+  {@param data: ?}  /** path data, matching the params for one of .treeDetail, .blobDetail,
+      .symlinkDetail, or .gitlinkDetail as appropriate. */
 {if $type == 'REGULAR_FILE' or $type == 'EXECUTABLE_FILE'}
   {call .header data="all"}
     {param css: [gitiles.PRETTIFY_CSS_URL] /}
@@ -58,11 +57,10 @@
 
 /**
  * Detail for a symbolic link.
- *
- * @param target target of this symlink.
- * @param? targetUrl optional URL for the target, if it is within this repo.
  */
 {template .symlinkDetail}
+  {@param target: ?}  /** target of this symlink. */
+  {@param? targetUrl: ?}  /** optional URL for the target, if it is within this repo. */
 <div class="symlink-detail">
   {msg desc="Lead-in text for the symbolic link target."}Symbolic link to{/msg}
   {sp}{if $targetUrl}<a href="{$targetUrl}">{$target}</a>{else}{$target}{/if}
@@ -71,13 +69,12 @@
 
 /**
  * Detail for a git submodule link.
- *
- * @param sha submodule commit SHA.
- * @param remoteUrl URL of the remote repository.
- * @param? httpUrl optional HTTP URL pointing to a web-browser-compatible URL of
- *     the remote repository.
  */
 {template .gitlinkDetail}
+  {@param sha: ?}  /** submodule commit SHA. */
+  {@param remoteUrl: ?}  /** URL of the remote repository. */
+  {@param? httpUrl: ?}  /** optional HTTP URL pointing to a web-browser-compatible URL of the remote
+      repository. */
 <div class="gitlink-detail">
   {msg desc="Lead-in text for the git link URL"}Submodule link to {$sha} of{/msg}
   {if $remoteUrl}
diff --git a/resources/com/google/gitiles/templates/RefList.soy b/resources/com/google/gitiles/templates/RefList.soy
index b1bb8ed..0815d41 100644
--- a/resources/com/google/gitiles/templates/RefList.soy
+++ b/resources/com/google/gitiles/templates/RefList.soy
@@ -16,15 +16,14 @@
 
 /**
  * List of all refs in a repository.
- *
- * @param repositoryName name of this repository.
- * @param? menuEntries menu entries.
- * @param? customVariant variant name for custom styling.
- * @param breadcrumbs breadcrumbs for this page.
- * @param branches list of branch objects with url, name, and isHead keys.
- * @param tags list of tag objects with url and name keys.
  */
 {template .refsDetail stricthtml="false"}
+  {@param repositoryName: ?}  /** name of this repository. */
+  {@param? menuEntries: ?}  /** menu entries. */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
+  {@param breadcrumbs: ?}  /** breadcrumbs for this page. */
+  {@param branches: ?}  /** list of branch objects with url, name, and isHead keys. */
+  {@param tags: ?}  /** list of tag objects with url and name keys. */
 {call .header}
   {param title: 'Refs' /}
   {param repositoryName: $repositoryName /}
@@ -56,11 +55,10 @@
 
 /**
  * List of a single type of refs
- *
- * @param type name of this type of refs, e.g. "Branches"
- * @param refs list of branch objects with url, name, and optional isHead keys.
  */
 {template .refList}
+  {@param type: ?}  /** name of this type of refs, e.g. "Branches" */
+  {@param refs: ?}  /** list of branch objects with url, name, and optional isHead keys. */
   <div class="RefList">
     <h3 class="RefList-title">{$type}</h3>
     <ul class="RefList-items">
diff --git a/resources/com/google/gitiles/templates/RepositoryIndex.soy b/resources/com/google/gitiles/templates/RepositoryIndex.soy
index af1af50..3d617d7 100644
--- a/resources/com/google/gitiles/templates/RepositoryIndex.soy
+++ b/resources/com/google/gitiles/templates/RepositoryIndex.soy
@@ -15,22 +15,21 @@
 
 /**
  * Index page for a repository.
- *
- * @param repositoryName name of this repository.
- * @param? menuEntries menu entries.
- * @param? customVariant variant name for custom styling.
- * @param breadcrumbs breadcrumbs for this page.
- * @param cloneUrl clone URL for this repository.
- * @param description description text of the repository.
- * @param? mirroredFromUrl URL this repository is mirrored from.
- * @param branches list of branch objects with url, name, and isHead keys.
- * @param? moreBranchesUrl URL to show more branches, if necessary.
- * @param tags list of tag objects with url and name keys.
- * @param? moreTagsUrl URL to show more branches, if necessary.
- * @param hasLog whether a log should be shown for HEAD.
- * @param? readmeHtml optional rendered README.md contents.
  */
 {template .repositoryIndex stricthtml="false"}
+  {@param repositoryName: ?}  /** name of this repository. */
+  {@param? menuEntries: ?}  /** menu entries. */
+  {@param? customVariant: ?}  /** variant name for custom styling. */
+  {@param breadcrumbs: ?}  /** breadcrumbs for this page. */
+  {@param cloneUrl: ?}  /** clone URL for this repository. */
+  {@param description: ?}  /** description text of the repository. */
+  {@param? mirroredFromUrl: ?}  /** URL this repository is mirrored from. */
+  {@param branches: ?}  /** list of branch objects with url, name, and isHead keys. */
+  {@param? moreBranchesUrl: ?}  /** URL to show more branches, if necessary. */
+  {@param tags: ?}  /** list of tag objects with url and name keys. */
+  {@param? moreTagsUrl: ?}  /** URL to show more branches, if necessary. */
+  {@param hasLog: ?}  /** whether a log should be shown for HEAD. */
+  {@param? readmeHtml: ?}  /** optional rendered README.md contents. */
 {if $readmeHtml}
   {call .header data="all"}
     {param title: $repositoryName /}
@@ -100,11 +99,10 @@
 
 /**
  * List of branches.
- *
- * @param? branches list of branch objects with url and name keys.
- * @param? moreBranchesUrl URL to show more branches, if necessary.
  */
 {template .branches_ visibility="private"}
+  {@param? branches: ?}  /** list of branch objects with url and name keys. */
+  {@param? moreBranchesUrl: ?}  /** URL to show more branches, if necessary. */
   {if length($branches)}
     {call .refList}
       {param type: 'Branches' /}
@@ -118,11 +116,10 @@
 
 /**
  * List of tags.
- *
- * @param? tags list of branch objects with url and name keys.
- * @param? moreTagsUrl URL to show more tags, if necessary.
  */
 {template .tags_ visibility="private"}
+  {@param? tags: ?}  /** list of branch objects with url and name keys. */
+  {@param? moreTagsUrl: ?}  /** URL to show more tags, if necessary. */
   {if length($tags)}
     {call .refList}
       {param type: 'Tags' /}
diff --git a/resources/com/google/gitiles/templates/RevisionDetail.soy b/resources/com/google/gitiles/templates/RevisionDetail.soy
index 2667afe..353432c 100644
--- a/resources/com/google/gitiles/templates/RevisionDetail.soy
+++ b/resources/com/google/gitiles/templates/RevisionDetail.soy
@@ -15,21 +15,19 @@
 
 /**
  * Detail page about a single revision.
- *
- * @param title human-readable revision name.
- * @param repositoryName name of this repository.
- * @param? menuEntries menu entries.
- * @param? customVariant variant name for styling.
- * @param breadcrumbs breadcrumbs for this page.
- * @param? hasBlob set to true if the revision or its peeled value is a blob.
- * @param? hasReadme set to true if the treeDetail has readmeHtml.
- * @param objects list of objects encountered when peeling this object. Each
- *     object has a "type" key with one of the
- *     org.eclipse.jgit.lib.Contants.TYPE_* constant strings, and a "data" key
- *     with an object whose keys correspond to the appropriate object detail
- *     template from ObjectDetail.soy.
  */
 {template .revisionDetail stricthtml="false"}
+  {@param title: ?}  /** human-readable revision name. */
+  {@param repositoryName: ?}  /** name of this repository. */
+  {@param? menuEntries: ?}  /** menu entries. */
+  {@param? customVariant: ?}  /** variant name for styling. */
+  {@param breadcrumbs: ?}  /** breadcrumbs for this page. */
+  {@param? hasBlob: ?}  /** set to true if the revision or its peeled value is a blob. */
+  {@param? hasReadme: ?}  /** set to true if the treeDetail has readmeHtml. */
+  {@param objects: ?}  /** list of objects encountered when peeling this object. Each object has a
+      "type" key with one of the org.eclipse.jgit.lib.Contants.TYPE_* constant strings, and a "data"
+      key with an object whose keys correspond to the appropriate object detail template from
+      ObjectDetail.soy. */
 {if $hasBlob}
   {call .header data="all"}
     {param css: [gitiles.PRETTIFY_CSS_URL] /}
