diff --git a/src/Docfx.DataContracts.Common/TocItemViewModel.cs b/src/Docfx.DataContracts.Common/TocItemViewModel.cs index 274c9acfe27..7c4710bb920 100644 --- a/src/Docfx.DataContracts.Common/TocItemViewModel.cs +++ b/src/Docfx.DataContracts.Common/TocItemViewModel.cs @@ -92,6 +92,11 @@ public class TocItemViewModel [JsonPropertyName("order")] public int? Order { get; set; } + [YamlMember(Alias = Constants.PropertyName.Type)] + [JsonProperty(Constants.PropertyName.Type)] + [JsonPropertyName(Constants.PropertyName.Type)] + public string Type { get; set; } + [YamlIgnore] [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] diff --git a/src/Docfx.Dotnet/YamlViewModelExtensions.cs b/src/Docfx.Dotnet/YamlViewModelExtensions.cs index a07970ad1a5..b24dba95762 100644 --- a/src/Docfx.Dotnet/YamlViewModelExtensions.cs +++ b/src/Docfx.Dotnet/YamlViewModelExtensions.cs @@ -134,6 +134,7 @@ public static TocItemViewModel ToTocItemViewModel(this MetadataItem item, string { Uid = item.Name, Name = item.DisplayNames.GetLanguageProperty(SyntaxLanguage.Default), + Type = item.Type.ToString(), }; if (item.Type is MemberType.Namespace) diff --git a/templates/default/toc.html.primary.js b/templates/default/toc.html.primary.js index c1aac0714fa..174ad581cb0 100644 --- a/templates/default/toc.html.primary.js +++ b/templates/default/toc.html.primary.js @@ -51,6 +51,11 @@ function transformMemberPage(model) { "event": { key: "eventsInSubtitle" }, "operator": { key: "operatorsInSubtitle" }, "eii": { key: "eiisInSubtitle" }, + "class": { key: "classesInSubtitle" }, + "struct": { key: "structsInSubtitle" }, + "enum": { key: "enumsInSubtitle" }, + "interface": { key: "interfacesInSubtitle" }, + "namespace": { key: "namespacesInSubtitle" }, }; groupChildren(model); diff --git a/templates/default/toc.json.js b/templates/default/toc.json.js index 8c57d0016d2..89dcec15098 100644 --- a/templates/default/toc.json.js +++ b/templates/default/toc.json.js @@ -36,6 +36,11 @@ exports.transform = function (model) { "event": { key: "eventsInSubtitle" }, "operator": { key: "operatorsInSubtitle" }, "eii": { key: "eiisInSubtitle" }, + "class": { key: "classesInSubtitle" }, + "struct": { key: "structsInSubtitle" }, + "enum": { key: "enumsInSubtitle" }, + "interface": { key: "interfacesInSubtitle" }, + "namespace": { key: "namespacesInSubtitle" }, }; groupChildren(model); diff --git a/test/docfx.Tests/Api.verified.cs b/test/docfx.Tests/Api.verified.cs index 978bdf5a41f..3ec18946a74 100644 --- a/test/docfx.Tests/Api.verified.cs +++ b/test/docfx.Tests/Api.verified.cs @@ -2690,6 +2690,10 @@ public TocItemViewModel() { } [System.Text.Json.Serialization.JsonPropertyName("topicUid")] [YamlDotNet.Serialization.YamlMember(Alias="topicUid")] public string TopicUid { get; set; } + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + [YamlDotNet.Serialization.YamlMember(Alias="type")] + public string Type { get; set; } [Newtonsoft.Json.JsonProperty("uid")] [System.Text.Json.Serialization.JsonPropertyName("uid")] [YamlDotNet.Serialization.YamlMember(Alias="uid")]