The Markdown content of the page. You can use (== include {path}
==) to include content from a Markdown file. The content can be used
to produce the documentation page such as HTML format page.
The name of the page. It will be used as an identity of the page to
generate URI of the page, text of the link to this page in navigation,
etc. The full page name (start from the root page name to this page
concatenated with .) can be used as reference to the page in your
documentation. For example:
<pre><code>pages:
name: Tutorial
content: (== include tutorial.md ==)
subpages:
name: Java
content: (== include tutorial_java.md ==)
</code></pre>
You can reference Java page using Markdown reference link syntax:
[Java][Tutorial.Java].
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThe \u003ccode\u003ePage\u003c/code\u003e class represents a documentation page that can contain subpages, allowing for nested documentation structures.\u003c/p\u003e\n"],["\u003cp\u003eA \u003ccode\u003ePage\u003c/code\u003e object can be created using a default constructor or by copying an existing \u003ccode\u003ePage\u003c/code\u003e object via its constructor, \u003ccode\u003ePage(Page other)\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of a \u003ccode\u003ePage\u003c/code\u003e include \u003ccode\u003eName\u003c/code\u003e for identifying the page, \u003ccode\u003eContent\u003c/code\u003e for the Markdown content, and \u003ccode\u003eSubpages\u003c/code\u003e for defining nested pages.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ePage\u003c/code\u003e implements multiple interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, which gives it functionalities such as deep cloning, equality comparisons, and handling protocol buffer messages.\u003c/p\u003e\n"],["\u003cp\u003eThe class has several methods that handles actions such as calculating size, cloning, merging, comparing, writing and reading to/from a coded stream, and getting a string representation of the object.\u003c/p\u003e\n"]]],[],null,["# Class Page (2.17.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.17.0 (latest)](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.Page)\n- [2.15.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.15.0/Google.Api.Page)\n- [2.10.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.10.0/Google.Api.Page)\n- [2.2.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.2.0/Google.Api.Page) \n\n public sealed class Page : IMessage\u003cPage\u003e, IEquatable\u003cPage\u003e, IDeepCloneable\u003cPage\u003e, IBufferMessage, IMessage\n\nRepresents a documentation page. A page can contain subpages to represent\nnested documentation set structure. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Page \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Page](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.Page), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Page](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.Page), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Page](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api.Page), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals)\n\nNamespace\n---------\n\n[Google.Api](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Api)\n\nAssembly\n--------\n\nGoogle.Api.CommonProtos.dll\n\nConstructors\n------------\n\n### Page()\n\n public Page()\n\n### Page(Page)\n\n public Page(Page other)\n\nFields\n------\n\n### ContentFieldNumber\n\n public const int ContentFieldNumber = 2\n\nField number for the \"content\" field.\n\n### NameFieldNumber\n\n public const int NameFieldNumber = 1\n\nField number for the \"name\" field.\n\n### SubpagesFieldNumber\n\n public const int SubpagesFieldNumber = 3\n\nField number for the \"subpages\" field.\n\nProperties\n----------\n\n### Content\n\n public string Content { get; set; }\n\nThe Markdown content of the page. You can use `(== include {path}\n==)` to include content from a Markdown file. The content can be used\nto produce the documentation page such as HTML format page.\n\n### Descriptor\n\n public static MessageDescriptor Descriptor { get; }\n\n### Name\n\n public string Name { get; set; }\n\nThe name of the page. It will be used as an identity of the page to\ngenerate URI of the page, text of the link to this page in navigation,\netc. The full page name (start from the root page name to this page\nconcatenated with `.`) can be used as reference to the page in your\ndocumentation. For example:\n\\\u003cpre\\\u003e\\\u003ccode\\\u003epages:\n\n- name: Tutorial content: \\(== include tutorial.md ==\\) subpages:\n - name: Java content: \\(== include tutorial_java.md ==\\) \\\u003c/code\\\u003e\\\u003c/pre\\\u003e You can reference `Java` page using Markdown reference link syntax: `[Java][Tutorial.Java]`.\n\n### Parser\n\n public static MessageParser\u003cPage\u003e Parser { get; }\n\n### Subpages\n\n public RepeatedField\u003cPage\u003e Subpages { get; }\n\nSubpages of this page. The order of subpages specified here will be\nhonored in the generated docset.\n\nMethods\n-------\n\n### CalculateSize()\n\n public int CalculateSize()\n\n### Clone()\n\n public Page Clone()\n\n### Equals(Page)\n\n public bool Equals(Page other)\n\n### Equals(object)\n\n public override bool Equals(object other)\n\n**Overrides** \n[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object))\n\n### GetHashCode()\n\n public override int GetHashCode()\n\n**Overrides** \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)\n\n### MergeFrom(Page)\n\n public void MergeFrom(Page other)\n\n### MergeFrom(CodedInputStream)\n\n public void MergeFrom(CodedInputStream input)\n\n### ToString()\n\n public override string ToString()\n\n**Overrides** \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\n### WriteTo(CodedOutputStream)\n\n public void WriteTo(CodedOutputStream output)"]]