Merge "Add droiddoc_template module for templates-sdk" am: b8dad216ff
am: ee2e5d2092
Change-Id: I17aabae0b28cc86b8e9450fa7ee4a58283ea5c57
diff --git a/res/assets/templates-sdk/class.cs b/res/assets/templates-sdk/class.cs
index 66134f8..776d2b2 100644
--- a/res/assets/templates-sdk/class.cs
+++ b/res/assets/templates-sdk/class.cs
@@ -14,7 +14,13 @@
<?cs set:count = #1 ?>
<?cs each:method = methods ?>
<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
- <tr class="api apilevel-<?cs var:method.since ?>" >
+ <tr class="api apilevel-<?cs var:method.since ?>"<?cs
+ if:method.since ?>
+ data-version-added="<?cs var:method.since ?>"<?cs
+ /if ?><?cs
+ if:method.deprecatedsince
+ ?> data-version-deprecated="<?cs var:method.deprecatedsince ?>"<?cs
+ /if ?> >
<?cs # leave out this cell if there is no return type = if constructors ?>
<?cs if:subcount(method.returnType) ?>
<td><code>
@@ -45,7 +51,13 @@
?><?cs def:write_field_summary(fields, included) ?>
<?cs set:count = #1 ?>
<?cs each:field=fields ?>
- <tr class="api apilevel-<?cs var:field.since ?>" >
+ <tr class="api apilevel-<?cs var:field.since ?>"<?cs
+ if:field.since ?>
+ data-version-added="<?cs var:field.since ?>"<?cs
+ /if ?><?cs
+ if:field.deprecatedsince
+ ?> data-version-deprecated="<?cs var:field.deprecatedsince ?>"<?cs
+ /if ?> >
<td><code>
<?cs var:field.scope ?>
<?cs var:field.static ?>
@@ -66,7 +78,13 @@
?><?cs def:write_constant_summary(fields, included) ?>
<?cs set:count = #1 ?>
<?cs each:field=fields ?>
- <tr class="api apilevel-<?cs var:field.since ?>" >
+ <tr class="api apilevel-<?cs var:field.since ?>"<?cs
+ if:field.since ?>
+ data-version-added="<?cs var:field.since ?>"<?cs
+ /if ?><?cs
+ if:field.deprecatedsince
+ ?> data-version-deprecated="<?cs var:field.deprecatedsince ?>"<?cs
+ /if ?> >
<td><code><?cs call:type_link(field.type) ?></code></td>
<td width="100%">
<code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code>
@@ -83,7 +101,13 @@
?><?cs def:write_attr_summary(attrs, included) ?>
<?cs set:count = #1 ?>
<?cs each:attr=attrs ?>
- <tr class="api apilevel-<?cs var:attr.since ?>" >
+ <tr class="api apilevel-<?cs var:attr.since ?>"<?cs
+ if:attr.since ?>
+ data-version-added="<?cs var:attr.since ?>"<?cs
+ /if ?><?cs
+ if:attr.deprecatedsince
+ ?> data-version-deprecated="<?cs var:attr.deprecatedsince ?>"<?cs
+ /if ?> >
<td><?cs if:included ?><a href="<?cs var:toroot ?><?cs var:attr.href ?>"><?cs /if
?><code><?cs var:attr.name ?></code><?cs if:included ?></a><?cs /if ?></td>
<td width="100%">
@@ -100,7 +124,13 @@
?><?cs def:write_inners_summary(classes) ?>
<?cs set:count = #1 ?>
<?cs each:cl=class.inners ?>
- <tr class="api apilevel-<?cs var:cl.since ?>" >
+ <tr class="api apilevel-<?cs var:cl.since ?>"<?cs
+ if:cl.since ?>
+ data-version-added="<?cs var:cl.since ?>"<?cs
+ /if ?><?cs
+ if:cl.deprecatedsince
+ ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs
+ /if ?> >
<td class="jd-typecol"><code>
<?cs var:cl.scope ?>
<?cs var:cl.static ?>
@@ -131,7 +161,13 @@
<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
<A NAME="<?cs var:field.anchor ?>"></A>
<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
-<div class="api apilevel-<?cs var:field.since ?>">
+<div class="api apilevel-<?cs var:field.since ?>"<?cs
+ if:field.since ?>
+ data-version-added="<?cs var:field.since ?>"<?cs
+ /if ?><?cs
+ if:field.deprecatedsince
+ ?> data-version-deprecated="<?cs var:field.deprecatedsince ?>"<?cs
+ /if ?> >
<h3 class="api-name"><?cs var:field.name ?></h3>
<div class="api-level">
<?cs call:since_tags(field) ?>
@@ -163,7 +199,13 @@
<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
<A NAME="<?cs var:method.anchor ?>"></A>
<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
-<div class="api apilevel-<?cs var:method.since ?>">
+<div class="api apilevel-<?cs var:method.since ?>"<?cs
+ if:method.since ?>
+ data-version-added="<?cs var:method.since ?>"<?cs
+ /if ?><?cs
+ if:method.deprecatedsince
+ ?> data-version-deprecated="<?cs var:method.deprecatedsince ?>"<?cs
+ /if ?>>
<h3 class="api-name"><?cs var:method.name ?></h3>
<div class="api-level">
<div><?cs call:since_tags(method) ?></div>
@@ -209,11 +251,29 @@
<html<?cs if:devsite ?> devsite<?cs /if ?>>
<?cs include:"head_tag.cs" ?>
<?cs include:"body_tag.cs" ?>
+<div itemscope itemtype="http://developers.google.com/ReferenceObject">
+<!-- This DIV closes at the end of the BODY -->
+ <meta itemprop="name" content="<?cs var:class.qualifiedType.label ?>" />
+ <?cs if:(dac&&class.artifact)
+ ?><meta itemprop="path" content="<?cs
+ if:class.deprecatedsince ?>Deprecated<?cs
+ else ?>Support Library<?cs /if ?>" /><?cs
+ elif:(dac&&class.since)
+ ?><meta itemprop="path" content="<?cs
+ if:class.deprecatedsince ?>Deprecated<?cs
+ else ?>API level <?cs var:class.since ?><?cs /if ?>" /><?cs
+ /if ?>
<?cs include:"header.cs" ?>
<?cs # Includes api-info-block DIV at top of page. Standard Devsite uses right nav. ?>
<?cs if:dac ?><?cs include:"page_info.cs" ?><?cs /if ?>
<?cs # This DIV spans the entire document to provide scope for some scripts ?>
-<div class="api apilevel-<?cs var:class.since ?>" id="jd-content">
+<div class="api apilevel-<?cs var:class.since ?>" id="jd-content"<?cs
+ if:class.since ?>
+ data-version-added="<?cs var:class.since ?>"<?cs
+ /if ?><?cs
+ if:class.deprecatedsince
+ ?> data-version-deprecated="<?cs var:class.deprecatedsince ?>"<?cs
+ /if ?> >
<?cs # this next line must be exactly like this to be parsed by eclipse ?>
<!-- ======== START OF CLASS DATA ======== -->
<?cs
@@ -369,7 +429,13 @@
<tr><th><h3>Inherited XML attributes</h3></th></tr>
<?cs each:cl=class.inherited ?>
<?cs if:subcount(cl.attrs) ?>
-<tr class="api apilevel-<?cs var:cl.since ?>" >
+<tr class="api apilevel-<?cs var:cl.since ?>"<?cs
+ if:cl.since ?>
+ data-version-added="<?cs var:cl.since ?>"<?cs
+ /if ?><?cs
+ if:cl.deprecatedsince
+ ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs
+ /if ?> >
<td colspan="2"><?cs
if:enable_javascript ?><?cs
call:expando_trigger("inherited-attrs-"+cl.qualified, "closed") ?><?cs
@@ -400,7 +466,13 @@
<tr><th colspan="2"><h3>Enum values</h3></th></tr>
<?cs set:count = #1 ?>
<?cs each:field=class.enumConstants ?>
- <tr class="api apilevel-<?cs var:field.since ?>" >
+ <tr class="api apilevel-<?cs var:field.since ?>"<?cs
+ if:field.since ?>
+ data-version-added="<?cs var:field.since ?>"<?cs
+ /if ?><?cs
+ if:field.deprecatedsince
+ ?> data-version-deprecated="<?cs var:field.deprecatedsince ?>"<?cs
+ /if ?> >
<td><code><?cs call:type_link(field.type) ?></code> </td>
<td width="100%">
<code><?cs call:cond_link(field.name, toroot, field.href, cl.included) ?></code>
@@ -429,7 +501,13 @@
<tr><th><h3>Inherited constants</h3></th></tr>
<?cs each:cl=class.inherited ?>
<?cs if:subcount(cl.constants) ?>
- <tr class="api apilevel-<?cs var:cl.since ?>" >
+ <tr class="api apilevel-<?cs var:cl.since ?>"<?cs
+ if:cl.since ?>
+ data-version-added="<?cs var:cl.since ?>"<?cs
+ /if ?><?cs
+ if:cl.deprecatedsince
+ ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs
+ /if ?> >
<td><?cs
if:enable_javascript ?><?cs
call:expando_trigger("inherited-constants-"+cl.qualified, "closed") ?><?cs
@@ -470,7 +548,13 @@
<tr><th><h3>Inherited fields</h3></th></tr>
<?cs each:cl=class.inherited ?>
<?cs if:subcount(cl.fields) ?>
- <tr class="api apilevel-<?cs var:cl.since ?>" >
+ <tr class="api apilevel-<?cs var:cl.since ?>"<?cs
+ if:cl.since ?>
+ data-version-added="<?cs var:cl.since ?>"<?cs
+ /if ?><?cs
+ if:cl.deprecatedsince
+ ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs
+ /if ?> >
<td><?cs
if:enable_javascript ?><?cs
call:expando_trigger("inherited-fields-"+cl.qualified, "closed") ?><?cs
@@ -538,7 +622,13 @@
<tr><th><h3>Inherited methods</h3></th></tr>
<?cs each:cl=class.inherited ?>
<?cs if:subcount(cl.methods) ?>
-<tr class="api apilevel-<?cs var:cl.since ?>" >
+<tr class="api apilevel-<?cs var:cl.since ?>"<?cs
+ if:cl.since ?>
+ data-version-added="<?cs var:cl.since ?>"<?cs
+ /if ?><?cs
+ if:cl.deprecatedsince
+ ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs
+ /if ?> >
<td colspan="2"><?cs
if:enable_javascript ?><?cs
call:expando_trigger("inherited-methods-"+cl.qualified, "closed") ?><?cs
@@ -671,5 +761,6 @@
<?cs include:"footer.cs" ?>
<?cs include:"trailer.cs" ?>
<?cs /if ?>
+</div><!-- end devsite ReferenceObject -->
</body>
</html>
diff --git a/res/assets/templates-sdk/classes.cs b/res/assets/templates-sdk/classes.cs
index 007b57e..bc6b98d 100644
--- a/res/assets/templates-sdk/classes.cs
+++ b/res/assets/templates-sdk/classes.cs
@@ -24,7 +24,13 @@
<table>
<?cs set:cur_row = #0 ?>
<?cs each:cl = letter ?>
- <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:cl.since ?>" >
+ <tr class="api apilevel-<?cs var:cl.since ?>"<?cs
+ if:cl.since ?>
+ data-version-added="<?cs var:cl.since ?>"<?cs
+ /if ?><?cs
+ if:cl.deprecatedsince
+ ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs
+ /if ?> >
<td class="jd-linkcol"><?cs call:type_link(cl.type) ?></td>
<td class="jd-descrcol" width="100%">
<?cs call:short_descr(cl) ?>
diff --git a/res/assets/templates-sdk/head_tag.cs b/res/assets/templates-sdk/head_tag.cs
index 1f24860..50e36fa 100644
--- a/res/assets/templates-sdk/head_tag.cs
+++ b/res/assets/templates-sdk/head_tag.cs
@@ -12,171 +12,16 @@
<?cs /if ?><?cs
# END if/else devsite ?></title><?cs
####### If building devsite, add some meta data needed for when generating the top nav ######### ?><?cs
-if:devsite ?>
- <meta name="top_category" value="<?cs
- if:ndk ?>ndk<?cs
- elif:(guide||develop||training||reference||tools||sdk||google||reference.gms||reference.gcm||samples) ?>develop<?cs
- elif:(topic||libraries||instantapps||perf||arc) ?>develop<?cs
- elif:(distribute||googleplay||essentials||users||engage||monetize||disttools||stories||analyze) ?>distribute<?cs
- elif:(design||vision||material||patterns||devices||designdownloads) ?>design<?cs
- elif:(about||versions||wear||tv||auto) ?>about<?cs
- elif:wearpreview ?>about<?cs
- elif:work ?>about<?cs
- elif:preview ?>preview<?cs
- else ?>none<?cs
- /if ?>" /><?cs set:dac_subcategory_set = #1 ?>
- <meta name="subcategory" value="<?cs
- if:ndk ?><?cs
- if:guide ?>guide<?cs
- elif:samples ?>samples<?cs
- if:(samplesDocPage&&!samplesProjectIndex) ?> samples-docpage<?cs /if ?><?cs
- elif:reference ?>reference<?cs
- elif:downloads ?>downloads<?cs
- else ?>none<?cs set:dac_subcategory_set = #0 ?><?cs /if ?><?cs
- else ?><?cs
- if:(guide||develop||training||reference||tools||sdk||samples) ?><?cs
- if:guide ?>guide<?cs
- elif:training ?><?cs
- if:page.trainingcourse ?>trainingcourse<?cs
- else ?>training<?cs /if ?><?cs
- elif:reference ?>reference<?cs
- elif:samples ?>samples<?cs
- if:(samplesDocPage&&!samplesProjectIndex) ?> samples-docpage<?cs /if ?><?cs
- else ?>none<?cs set:dac_subcategory_set = #0 ?><?cs /if ?><?cs
- elif:(google||reference.gms||reference.gcm) ?>google<?cs
- elif:(topic||libraries||perf||arc) ?><?cs
- if:libraries ?>libraries<?cs
- elif:instantapps ?>instantapps<?cs
- elif:perf ?>perf<?cs
- elif:arc ?>arc<?cs
- else ?>none<?cs set:dac_subcategory_set = #0 ?><?cs /if ?><?cs
- elif:(distribute||googleplay||essentials||users||engage||monetize||disttools||stories||analyze) ?><?cs
- if:googleplay ?>googleplay<?cs
- elif:essentials ?>essentials<?cs
- elif:users ?>users<?cs
- elif:engage ?>engage<?cs
- elif:monetize ?>monetize<?cs
- elif:disttools ?>disttools<?cs
- elif:stories ?>stories<?cs
- elif:analyze ?>analyze<?cs
- else ?>none<?cs set:dac_subcategory_set = #0 ?><?cs /if ?><?cs
- elif:(about||versions||wear||tv||auto) ?>about<?cs
- elif:preview ?>preview<?cs
- elif:wearpreview ?>wear<?cs
- elif:work ?>work<?cs
- elif:design ?>design<?cs
- elif:walkthru ?>walkthru<?cs
- else ?>none<?cs set:dac_subcategory_set = #0 ?><?cs /if ?><?cs
- /if ?>" /><?cs
- if:nonavpage ?>
- <meta name="hide_toc" value='True' /><?cs
- elif: !nonavpage && dac_subcategory_set && !tools && !sdk ?>
- <meta name="book_path" value="<?cs
- if:!dac ?><?cs
- if:book.path ?><?cs var:book.path ?><?cs
- else ?>/_book.yaml<?cs
- /if ?>" /><?cs
- else ?><?cs
- if:ndk ?>/ndk<?cs
- if:guide ?>/guides<?cs
- elif:samples ?>/samples<?cs
- elif:reference ?>/reference<?cs
- elif:downloads ?>/downloads<?cs /if ?><?cs
- elif:library.root ?>/reference/<?cs var:library.root ?><?cs
- else ?><?cs
- if:(guide||develop||training||reference||tools||sdk||samples) ?><?cs
- if:guide ?>/guide<?cs
- elif:training ?>/training<?cs
- elif:reference ?>/reference<?cs
- elif:samples ?>/samples<?cs /if ?><?cs
- elif:(google||reference.gms||reference.gcm) ?>/google<?cs
- elif:(topic||libraries||perf) ?>/topic<?cs
- if:libraries ?>/libraries<?cs
- elif:instantapps ?>/instant-apps<?cs
- elif:perf ?>/performance<?cs
- elif:arc ?>/arc<?cs /if ?><?cs
- elif:(distribute||googleplay||essentials||users||engage||monetize||disttools||stories||analyze) ?>/distribute<?cs
- if:googleplay ?>/googleplay<?cs
- elif:essentials ?>/essentials<?cs
- elif:users ?>/users<?cs
- elif:engage ?>/engage<?cs
- elif:monetize ?>/monetize<?cs
- elif:disttools ?>/tools<?cs
- elif:stories ?>/stories<?cs
- elif:analyze ?>/analyze<?cs /if ?><?cs
- elif:(about||versions||wear||tv||auto) ?>/about<?cs
- elif:preview ?>/preview<?cs
- elif:wearpreview ?>/wear/preview<?cs
- elif:work ?>/work<?cs
- elif:design ?>/design<?cs
- elif:walkthru ?>/walkthru<?cs /if ?><?cs
- /if ?>/_book.yaml" /><?cs
- /if ?><?cs
- /if ?>
- <meta name="project_path" value="<?cs
- if:!dac ?><?cs
- if:project.path ?><?cs var:project.path ?><?cs
- else ?>/_project.yaml<?cs
- /if ?>" /><?cs
- else ?><?cs
- if:(guide||develop||training||reference||tools||sdk||samples) ?><?cs
- if:guide ?>/guide<?cs
- elif:training ?>/training<?cs
- elif:reference ?>/reference<?cs
- elif:samples ?>/samples<?cs /if ?><?cs
- elif:(google||reference.gms||reference.gcm) ?>/google<?cs
- elif:(topic||libraries) ?>/develop<?cs
- elif:(distribute||googleplay||essentials||users||engage||monetize||disttools||stories||analyze) ?>/distribute<?cs
- if:googleplay ?>/googleplay<?cs
- elif:essentials ?>/essentials<?cs
- elif:users ?>/users<?cs
- elif:engage ?>/engage<?cs
- elif:monetize ?>/monetize<?cs
- elif:disttools ?>/tools<?cs
- elif:stories ?>/stories<?cs
- elif:analyze ?>/analyze<?cs
- else ?><?cs /if ?><?cs
- elif:(about||versions||wear||tv||auto) ?><?cs
- if:versions ?>/about/versions<?cs
- elif:wear ?>/wear<?cs
- elif:tv ?>/tv<?cs
- elif:auto ?>/auto<?cs
- else ?>/about<?cs /if ?><?cs
- elif:wearpreview ?>/wear/preview<?cs
- elif:work ?>/work<?cs
- elif:preview ?>/preview<?cs
- elif:design ?>/design<?cs /if ?>/_project.yaml" /><?cs
- /if ?><?cs
- if:page.tags && page.tags != "" ?>
- <meta name="keywords" value='<?cs var:page.tags ?>' /><?cs
- /if ?><?cs
- if:meta.tags && meta.tags != "" ?>
- <meta name="meta_tags" value='<?cs var:meta.tags ?>' /><?cs
- /if ?><?cs
- if:fullpage ?>
- <meta name="full_width" value="True" /><?cs
- /if ?><?cs
- if:page.landing ?>
- <meta name="page_type" value="landing" /><?cs
- /if ?><?cs
- if:page.article ?>
- <meta name="page_type" value="article" /><?cs
- /if ?><?cs
- if:page.image ?>
- <meta name="image_path" value='<?cs var:page.image ?>' /><?cs
- /if ?><?cs
- if:excludeFromSuggestions ?>
- <meta name="hide_from_search_suggest" value="true" /><?cs
- /if ?><?cs
- if:reference ?>
+if:devsite ?><?cs
+ # if this build set `library.root` then set a django variable to be used by the subsequent
+ # _reference-head-tags.html file for the book path (or ignored if its no longer needed)
+ ?><?cs
+ if:library.root ?>
+ {% setvar book_path %}/reference/<?cs var:library.root ?>/_book.yaml{% endsetvar %}<?cs
+ /if ?>
+ {% include "_shared/_reference-head-tags.html" %}
<meta name="body_class" value="api apilevel-<?cs var:class.since ?><?cs var:package.since ?>" /><?cs
- /if ?><?cs
- if:!dac ?>
- <meta name="hide_page_heading" value="true" /><?cs
- /if ?><?cs
-/if ?><?cs # END if/else devsite ?><?cs
-
- if:!devsite ?>
+else ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta content="IE=edge" http-equiv="X-UA-Compatible">
diff --git a/res/assets/templates-sdk/macros_override.cs b/res/assets/templates-sdk/macros_override.cs
index 453eb59..dab5dcc 100644
--- a/res/assets/templates-sdk/macros_override.cs
+++ b/res/assets/templates-sdk/macros_override.cs
@@ -23,7 +23,13 @@
<?cs set:count = #1 ?>
<table class="jd-sumtable-expando">
<?cs each:cl=classes ?>
- <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:cl.type.since ?>" >
+ <tr class="api apilevel-<?cs var:cl.type.since ?>"<?cs
+ if:cl.type.since ?>
+ data-version-added="<?cs var:cl.type.since ?>"<?cs
+ /if ?><?cs
+ if:cl.type.deprecatedsince
+ ?> data-version-deprecated="<?cs var:cl.type.deprecatedsince ?>"<?cs
+ /if ?> >
<td class="jd-linkcol"><?cs call:type_link(cl.type) ?></td>
<td class="jd-descrcol" width="100%">
<?cs call:short_descr(cl) ?>
diff --git a/res/assets/templates-sdk/package.cs b/res/assets/templates-sdk/package.cs
index 6a16bc0..ab66449 100644
--- a/res/assets/templates-sdk/package.cs
+++ b/res/assets/templates-sdk/package.cs
@@ -6,10 +6,22 @@
<html<?cs if:devsite ?> devsite<?cs /if ?>>
<?cs include:"head_tag.cs" ?>
<?cs include:"body_tag.cs" ?>
+<div itemscope itemtype="http://developers.google.com/ReferenceObject" >
+<!-- This DIV closes at the end of the BODY -->
+ <meta itemprop="name" content="<?cs var:page.title ?>" />
+ <?cs if:(dac&&package.since)
+ ?><meta itemprop="path" content="API level <?cs var:package.since ?>" /><?cs
+ /if ?>
<?cs include:"header.cs" ?>
<?cs # Includes api-info-block DIV at top of page. Standard Devsite uses right nav. ?>
<?cs if:dac ?><?cs include:"page_info.cs" ?><?cs /if ?>
-<div class="api apilevel-<?cs var:package.since ?>" id="jd-content">
+<div class="api apilevel-<?cs var:package.since ?>" id="jd-content"<?cs
+ if:package.since ?>
+ data-version-added="<?cs var:package.since ?>"<?cs
+ /if ?><?cs
+ if:package.deprecatedsince
+ ?> data-version-deprecated="<?cs var:package.deprecatedsince ?>"<?cs
+ /if ?> >
<h1><?cs var:package.name ?></h1>
@@ -61,5 +73,6 @@
<?cs include:"footer.cs" ?>
<?cs include:"trailer.cs" ?>
<?cs /if ?>
+</div><!-- end devsite ReferenceObject -->
</body>
</html>
diff --git a/res/assets/templates-sdk/page_info.cs b/res/assets/templates-sdk/page_info.cs
index 4bdda67..3b7fbc4 100644
--- a/res/assets/templates-sdk/page_info.cs
+++ b/res/assets/templates-sdk/page_info.cs
@@ -27,10 +27,12 @@
<?cs if:class.artifact ?>
<br><?cs call:artifact_tags(class) ?>
<?cs /if ?>
- <?cs if:class.deprecatedsince ?>
- <br>Deprecated since
+ <?cs if:class.deprecatedsince ?><?cs
+ if:class.artifact ?><br>Deprecated since version <?cs var:class.deprecatedsince ?><?cs
+ else ?><br>Deprecated since
<a href="<?cs var:toroot ?>guide/topics/manifest/uses-sdk-element.html#ApiLevels">API level
- <?cs var:class.deprecatedsince ?></a>
+ <?cs var:class.deprecatedsince ?></a><?cs
+ /if ?>
<?cs /if ?>
<?cs call:federated_refs(class) ?>
</div>