diff --git a/src/Docfx.App/Config/BuildJsonConfig.cs b/src/Docfx.App/Config/BuildJsonConfig.cs index 78cc4c7eebf..5ad4447507e 100644 --- a/src/Docfx.App/Config/BuildJsonConfig.cs +++ b/src/Docfx.App/Config/BuildJsonConfig.cs @@ -9,6 +9,10 @@ namespace Docfx; +/// +/// BuildJsonConfig. +/// +/// [Serializable] internal class BuildJsonConfig { @@ -18,34 +22,66 @@ internal class BuildJsonConfig [JsonIgnore] private Dictionary _groups; + /// + /// Contains all the files to generate documentation, including metadata yml files and conceptual md files. + /// [JsonProperty("content")] public FileMapping Content { get; set; } + /// + /// Contains all the resource files that conceptual and metadata files dependent on, e.g. image files. + /// [JsonProperty("resource")] public FileMapping Resource { get; set; } + /// + /// Contains all the conceptual files which contains yaml header with uid and is intended to override the existing metadata yml files. + /// [JsonProperty("overwrite")] public FileMapping Overwrite { get; set; } + /// + /// Specifies pairing that is used for folder redirection rules. + /// + [Obsolete("May be removed in a future release.")] [JsonProperty("pairing")] public List Pairing { get; set; } + /// + /// Specifies the tags of xrefmap. + /// [JsonProperty("xrefTags")] public ListWithStringFallback XrefTags { get; set; } + /// + /// Specifies the urls of xrefmap used by content files. Supports local file path and HTTP/HTTPS urls. + /// [JsonProperty("xref")] public ListWithStringFallback XRefMaps { get; set; } + /// + /// Defines the output folder of the generated build files. + /// + [Obsolete("Use output instead.")] [JsonProperty("dest")] public string Destination { get; set; } + /// + /// Defines the output folder of the generated build files. + /// [JsonProperty("output")] public string Output { get; set; } + /// + /// Contains metadata that will be applied to every file, in key-value pair format. + /// [JsonProperty("globalMetadata")] [JsonConverter(typeof(JObjectDictionaryToObjectDictionaryConverter))] public Dictionary GlobalMetadata { get; set; } + /// + /// Specify a list of JSON file path containing globalMetadata settings. + /// [JsonProperty("globalMetadataFiles")] public ListWithStringFallback GlobalMetadataFilePaths { get; set; } = new ListWithStringFallback(); @@ -59,51 +95,119 @@ internal class BuildJsonConfig [JsonProperty("fileMetadata")] public Dictionary FileMetadata { get; set; } + /// + /// Specify tag parameters that are used by SchemaDrivenDocumentProcessor + /// + [Obsolete("May be removed in a future release.")] [JsonProperty("tagParameters")] public Dictionary TagParameters { get; set; } + /// + /// Specify a list of JSON file path containing fileMetadata settings. + /// [JsonProperty("fileMetadataFiles")] public ListWithStringFallback FileMetadataFilePaths { get; set; } = new ListWithStringFallback(); + /// + /// The templates applied to each file in the documentation. It can be a string or an array. + /// The latter ones will override the former ones if the name of the file inside the template collides. + /// If omitted, embedded default template will be used. + /// [JsonProperty("template")] public ListWithStringFallback Templates { get; set; } = new ListWithStringFallback(); + /// + /// The themes applied to the documentation. + /// Theme is used to customize the styles generated by template. + /// It can be a string or an array. + /// The latter ones will override the former ones if the name of the file inside the template collides. + /// If omitted, no theme will be applied, the default theme inside the template will be used. + /// [JsonProperty("theme")] public ListWithStringFallback Themes { get; set; } + /// + /// Specify PostProcessor array. + /// Build-in HtmlProcessor is automatically added by default. + /// + /// + /// + /// "postProcessors": ["ExtractSearchIndex"] + /// + /// [JsonProperty("postProcessors")] public ListWithStringFallback PostProcessors { get; set; } = new ListWithStringFallback(); + /// + /// Run in debug mode. With debug mode, raw model and view model will be exported + /// automatically when it encounters error when applying templates. + /// If not specified, it is false + /// [JsonProperty("debug")] public bool? EnableDebugMode { get; set; } + /// + /// The output folder for files generated for debugging purpose when in debug mode. + /// If not specified, it is ${TempPath}/docfx + /// [JsonProperty("debugOutput")] public string OutputFolderForDebugFiles { get; set; } + /// + /// If set to true, data model to run template script will be extracted in .raw.model.json extension. + /// [JsonProperty("exportRawModel")] public bool? ExportRawModel { get; set; } + /// + /// Specify the output folder for the raw model. + /// If not set, the raw model will be generated to the same folder as the output documentation. + /// [JsonProperty("rawModelOutputFolder")] public string RawModelOutputFolder { get; set; } + /// + /// If set to true, data model to apply template will be extracted in .view.model.json extension. + /// [JsonProperty("exportViewModel")] public bool? ExportViewModel { get; set; } + /// + /// Specify the output folder for the view model. + /// If not set, the view model will be generated to the same folder as the output documentation. + /// [JsonProperty("viewModelOutputFolder")] public string ViewModelOutputFolder { get; set; } + /// + /// If set to true, template will not be actually applied to the documents. + /// This option is always used with --exportRawModel or --exportViewModel is set so that only raw model files or view model files are generated. + /// [JsonProperty("dryRun")] public bool? DryRun { get; set; } + /// + /// Set the max parallelism, 0 is auto. + /// [JsonProperty("maxParallelism")] public int? MaxParallelism { get; set; } + /// + /// Set the parameters for markdown engine, value should be a JSON string. + /// [JsonProperty("markdownEngineProperties")] public MarkdownServiceProperties MarkdownEngineProperties { get; set; } + /// + /// Set the name of ICustomHrefGenerator derived class. + /// [JsonProperty("customLinkResolver")] public string CustomLinkResolver { get; set; } + /// + /// Define versions. + /// + [Obsolete("Use groups instead.")] [JsonProperty("versions")] public Dictionary Versions { @@ -117,6 +221,20 @@ public Dictionary Versions } } + /// + /// Define groups. + /// + /// + /// + /// groups:{ + /// "v1": { + /// "dest": "v1", + /// "xrefTags: [], + /// "extraMetadata01": {} + /// } + /// } + /// + /// [JsonProperty("groups")] public Dictionary Groups { @@ -132,12 +250,23 @@ public Dictionary Groups } + /// + /// If set to true, docfx does not dereference (aka. copy) file to the output folder. + /// Instead, it saves a link_to_path property inside manifest.json to indicate the physical location of that file. + /// [JsonProperty("keepFileLink")] public bool KeepFileLink { get; set; } + /// + /// Specifies the options for the sitemap.xml file. + /// [JsonProperty("sitemap")] public SitemapOptions SitemapOptions { get; set; } + /// + /// Disable fetching Git related information for articles. + /// By default it is enabled and may have side effect on performance when the repo is large. + /// [JsonProperty("disableGitFeatures")] public bool DisableGitFeatures { get; set; } } diff --git a/src/Docfx.App/Config/ContentPairingInfo.cs b/src/Docfx.App/Config/ContentPairingInfo.cs index f7474ed4c04..ac29a255067 100644 --- a/src/Docfx.App/Config/ContentPairingInfo.cs +++ b/src/Docfx.App/Config/ContentPairingInfo.cs @@ -5,12 +5,21 @@ namespace Docfx; +/// +/// Content pairing information used for options. +/// [Serializable] internal class ContentPairingInfo { + /// + /// Content folder. + /// [JsonProperty("contentFolder")] public string ContentFolder { get; set; } + /// + /// Overwrite fragment files folder. + /// [JsonProperty("overwriteFragmentsFolder")] public string OverwriteFragmentsFolder { get; set; } } diff --git a/src/Docfx.App/Config/FileMetadataPairs.cs b/src/Docfx.App/Config/FileMetadataPairs.cs index 4382eb5bb2a..a2c27ce4929 100644 --- a/src/Docfx.App/Config/FileMetadataPairs.cs +++ b/src/Docfx.App/Config/FileMetadataPairs.cs @@ -5,6 +5,11 @@ namespace Docfx; +/// +/// FileMetadataPairs. +/// +/// +/// [Serializable] [JsonConverter(typeof(FileMetadataPairsConverter))] internal class FileMetadataPairs @@ -12,6 +17,9 @@ internal class FileMetadataPairs // Order matters, the latter one overrides the former one private List _items; + /// + /// Gets FileMetadataPairs items. + /// public IReadOnlyList Items { get @@ -20,16 +28,25 @@ public IReadOnlyList Items } } + /// + /// Initializes a new instance of the class. + /// public FileMetadataPairs(List items) { _items = items; } + /// + /// Initializes a new instance of the class. + /// public FileMetadataPairs(FileMetadataPairsItem item) { _items = new List { item }; } + /// + /// Gets the element at the specified index. + /// public FileMetadataPairsItem this[int index] { get @@ -38,6 +55,9 @@ public FileMetadataPairsItem this[int index] } } + /// + /// Gets the number of elements. + /// public int Count { get diff --git a/src/Docfx.App/Config/FileMetadataPairsConverter.cs b/src/Docfx.App/Config/FileMetadataPairsConverter.cs index b771e772b02..3406e9a95c3 100644 --- a/src/Docfx.App/Config/FileMetadataPairsConverter.cs +++ b/src/Docfx.App/Config/FileMetadataPairsConverter.cs @@ -8,13 +8,18 @@ namespace Docfx; +/// +/// JsonConverter for FileMetadataPairs +/// internal class FileMetadataPairsConverter : JsonConverter { + /// public override bool CanConvert(Type objectType) { return objectType == typeof(FileMetadataPairs); } + /// public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var value = reader.Value; @@ -27,6 +32,7 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist return new FileMetadataPairs(jItems.Select(ParseItem).ToList()); } + /// public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteStartObject(); diff --git a/src/Docfx.App/Config/FileMetadataPairsItem.cs b/src/Docfx.App/Config/FileMetadataPairsItem.cs index 7da6686455f..f9d2c908f1d 100644 --- a/src/Docfx.App/Config/FileMetadataPairsItem.cs +++ b/src/Docfx.App/Config/FileMetadataPairsItem.cs @@ -6,9 +6,16 @@ namespace Docfx; +/// +/// Glob/Value pair to define define file's metadata. +/// +/// [Serializable] internal class FileMetadataPairsItem { + /// + /// The glob pattern to match the files. + /// public GlobMatcher Glob { get; } /// @@ -16,6 +23,9 @@ internal class FileMetadataPairsItem /// public object Value { get; } + /// + /// Initializes a new instance of the class. + /// public FileMetadataPairsItem(string pattern, object value) { Glob = new GlobMatcher(pattern); diff --git a/src/Docfx.App/Config/GroupConfig.cs b/src/Docfx.App/Config/GroupConfig.cs index dc413f6fb27..03b84d4a6b2 100644 --- a/src/Docfx.App/Config/GroupConfig.cs +++ b/src/Docfx.App/Config/GroupConfig.cs @@ -5,15 +5,27 @@ namespace Docfx; +/// +/// Group configuration. +/// [Serializable] internal class GroupConfig { + /// + /// Defines the output folder of the generated build files. + /// [JsonProperty("dest")] public string Destination { get; set; } + /// + /// Specifies the tags of xrefmap. + /// [JsonProperty("xrefTags")] public ListWithStringFallback XrefTags { get; set; } + /// + /// Extension metadata. + /// [JsonExtensionData] public Dictionary Metadata { get; set; } = new Dictionary(); } diff --git a/src/Docfx.App/Config/ListWithStringFallback.cs b/src/Docfx.App/Config/ListWithStringFallback.cs index 1510a0e886b..77104582a8d 100644 --- a/src/Docfx.App/Config/ListWithStringFallback.cs +++ b/src/Docfx.App/Config/ListWithStringFallback.cs @@ -5,14 +5,24 @@ namespace Docfx; +/// +/// ListWithStringFallback. +/// [JsonConverter(typeof(ListWithStringFallbackConverter))] [Serializable] internal class ListWithStringFallback : List { + /// + /// Initializes a new instance of the class. + /// public ListWithStringFallback() : base() { } + /// + /// Initializes a new instance of the class. + /// + /// The collection whose elements are copied to the new list. public ListWithStringFallback(IEnumerable list) : base(list) { } diff --git a/src/Docfx.App/Config/ListWithStringFallbackConverter.cs b/src/Docfx.App/Config/ListWithStringFallbackConverter.cs index b179ef80306..47c117f6274 100644 --- a/src/Docfx.App/Config/ListWithStringFallbackConverter.cs +++ b/src/Docfx.App/Config/ListWithStringFallbackConverter.cs @@ -6,13 +6,18 @@ namespace Docfx; +/// +/// JsonConverter for . +/// internal class ListWithStringFallbackConverter : JsonConverter { + /// public override bool CanConvert(Type objectType) { return objectType == typeof(FileMapping); } + /// public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var model = new ListWithStringFallback(); @@ -50,6 +55,7 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist return model; } + /// public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteStartArray(); diff --git a/src/Docfx.App/Config/MergeJsonConfig.cs b/src/Docfx.App/Config/MergeJsonConfig.cs index 684519726ff..8ad9894719b 100644 --- a/src/Docfx.App/Config/MergeJsonConfig.cs +++ b/src/Docfx.App/Config/MergeJsonConfig.cs @@ -5,11 +5,22 @@ namespace Docfx; +/// +/// MergeJsonConfig. +/// [JsonConverter(typeof(MergeJsonConfigConverter))] internal class MergeJsonConfig : List { + /// + /// Initializes a new instance of the class. + /// + /// The collection whose elements are copied to the new list. public MergeJsonConfig(IEnumerable configs) : base(configs) { } + /// + /// Initializes a new instance of the class. + /// + /// The collection whose elements are copied to the new list. public MergeJsonConfig(params MergeJsonItemConfig[] configs) : base(configs) { } diff --git a/src/Docfx.App/Config/MergeJsonConfigConverter.cs b/src/Docfx.App/Config/MergeJsonConfigConverter.cs index 85ec9badfbc..3081ff85504 100644 --- a/src/Docfx.App/Config/MergeJsonConfigConverter.cs +++ b/src/Docfx.App/Config/MergeJsonConfigConverter.cs @@ -6,13 +6,18 @@ namespace Docfx; +/// +/// JsonConverter for . +/// internal class MergeJsonConfigConverter : JsonConverter { + /// public override bool CanConvert(Type objectType) { return objectType == typeof(MergeJsonConfig); } + /// public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var model = new MergeJsonConfig(); @@ -51,6 +56,7 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist return model; } + /// public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { serializer.Serialize(writer, ((MergeJsonConfig)value).ToArray()); diff --git a/src/Docfx.App/Config/MergeJsonItemConfig.cs b/src/Docfx.App/Config/MergeJsonItemConfig.cs index 00105c4cf87..bcf1a6d3b8d 100644 --- a/src/Docfx.App/Config/MergeJsonItemConfig.cs +++ b/src/Docfx.App/Config/MergeJsonItemConfig.cs @@ -7,15 +7,27 @@ namespace Docfx; +/// +/// MergeJsonItemConfig. +/// [Serializable] internal class MergeJsonItemConfig { + /// + /// Defines the files to merge. + /// [JsonProperty("content")] public FileMapping Content { get; set; } + /// + /// Defines the output folder of the generated merge files. + /// [JsonProperty("dest")] public string Destination { get; set; } + /// + /// Contains metadata that will be applied to every file, in key-value pair format. + /// [JsonProperty("globalMetadata")] [JsonConverter(typeof(JObjectDictionaryToObjectDictionaryConverter))] public Dictionary GlobalMetadata { get; set; } @@ -30,6 +42,9 @@ internal class MergeJsonItemConfig [JsonProperty("fileMetadata")] public Dictionary FileMetadata { get; set; } + /// + /// Metadata that applies to toc files. + /// [JsonProperty("tocMetadata")] public ListWithStringFallback TocMetadata { get; set; } } diff --git a/src/Docfx.App/Config/PdfJsonConfig.cs b/src/Docfx.App/Config/PdfJsonConfig.cs index 1a1ecec8237..249dba24974 100644 --- a/src/Docfx.App/Config/PdfJsonConfig.cs +++ b/src/Docfx.App/Config/PdfJsonConfig.cs @@ -6,39 +6,79 @@ namespace Docfx; +/// +/// PdfJsonConfig. +/// +/// [Serializable] internal class PdfJsonConfig : BuildJsonConfig { + /// + /// Specifies the prefix of the generated PDF files. + /// [JsonProperty("name")] public string Name { get; set; } + /// + /// Specify the hostname to link not-in-TOC articles. + /// [JsonProperty("host")] public string Host { get; set; } + /// + /// Specify the locale of the pdf file. + /// [JsonProperty("locale")] public string Locale { get; set; } + /// + /// If specified, an appendices.pdf file is generated containing all the not-in-TOC articles. + /// [JsonProperty("generatesAppendices")] public bool GeneratesAppendices { get; set; } + /// + /// Specify whether or not to generate external links for PDF. + /// [JsonProperty("generatesExternalLink")] public bool GeneratesExternalLink { get; set; } + /// + /// If specified, the intermediate html files used to generate the PDF are not deleted after the PDF has been generated. + /// [JsonProperty("keepRawFiles")] public bool KeepRawFiles { get; set; } + /// + /// Specify whether or not to exclude a table of contents. + /// By default the value is false. + /// [JsonProperty("excludeDefaultToc")] public bool ExcludeDefaultToc { get; set; } + /// + /// Specify the output folder for the raw files, if not specified,raw files will by + /// default be saved to _raw subfolder under output folder if keepRawFiles is set to true + /// [JsonProperty("rawOutputFolder")] public string RawOutputFolder { get; set; } + /// + /// Specify whether or not to exclude a table of contents. + /// By default the value is false. + /// [JsonProperty("excludedTocs")] public List ExcludedTocs { get; set; } + /// + /// Specify the path for the css to generate pdf, default value is styles/default.css. + /// [JsonProperty("css")] public string CssFilePath { get; set; } + /// + /// Specify the base path for ExternalLinkFormat. + /// [JsonProperty("base")] public string BasePath { get; set; } diff --git a/src/Docfx.App/Config/WkhtmltopdfJsonConfig.cs b/src/Docfx.App/Config/WkhtmltopdfJsonConfig.cs index ae7fe0a3014..8c87204ffb7 100644 --- a/src/Docfx.App/Config/WkhtmltopdfJsonConfig.cs +++ b/src/Docfx.App/Config/WkhtmltopdfJsonConfig.cs @@ -6,7 +6,7 @@ namespace Docfx; /// -/// Holds configuration options specific to the wkhtmltopdf tooling used by the pdf command. +/// Holds configuration options specific to the wkhtmltopdf tooling used by the pdf command. /// [Serializable] internal class WkhtmltopdfJsonConfig diff --git a/src/Docfx.App/Helpers/DocumentBuilderWrapper.cs b/src/Docfx.App/Helpers/DocumentBuilderWrapper.cs index ccda725b2d0..004308c8c29 100644 --- a/src/Docfx.App/Helpers/DocumentBuilderWrapper.cs +++ b/src/Docfx.App/Helpers/DocumentBuilderWrapper.cs @@ -12,6 +12,8 @@ namespace Docfx; +#pragma warning disable CS0618 // Type or member is obsolete + internal static class DocumentBuilderWrapper { private static readonly Assembly[] s_pluginAssemblies = LoadPluginAssemblies(AppContext.BaseDirectory).ToArray(); diff --git a/src/Docfx.App/RunBuild.cs b/src/Docfx.App/RunBuild.cs index 08d7be8ace4..9aedfccd902 100644 --- a/src/Docfx.App/RunBuild.cs +++ b/src/Docfx.App/RunBuild.cs @@ -7,6 +7,8 @@ namespace Docfx; +#pragma warning disable CS0618 // Type or member is obsolete + internal static class RunBuild { public static string Exec(BuildJsonConfig config, BuildOptions options, string configDirectory, string outputDirectory = null) diff --git a/src/Docfx.App/RunPdf.cs b/src/Docfx.App/RunPdf.cs index 4e9b7a649c6..800cfa51568 100644 --- a/src/Docfx.App/RunPdf.cs +++ b/src/Docfx.App/RunPdf.cs @@ -8,6 +8,8 @@ namespace Docfx; +#pragma warning disable CS0618 // Type or member is obsolete + internal static class RunPdf { public static void Exec(PdfJsonConfig config, BuildOptions buildOptions, string configDirectory, string outputDirectory = null) diff --git a/src/Docfx.Common/FileMapping.cs b/src/Docfx.Common/FileMapping.cs index 43d2e331d51..b824a4de917 100644 --- a/src/Docfx.Common/FileMapping.cs +++ b/src/Docfx.Common/FileMapping.cs @@ -32,19 +32,35 @@ public class FileMapping { private List _items = new(); + /// + /// Flags to distinguish items are expanded or not. + /// public bool Expanded { get; set; } + /// + /// File mapping items. + /// public IReadOnlyList Items { get { return _items.AsReadOnly(); } } + /// + /// Initializes a new instance of the class. + /// public FileMapping() : base() { } + /// + /// Initializes a new instance of the class. + /// public FileMapping(IEnumerable items) { foreach (var item in items) this.Add(item); } + + /// + /// Initializes a new instance of the class. + /// public FileMapping(FileMappingItem item) { this.Add(item); diff --git a/src/Docfx.Dotnet/MetadataJsonConfig.cs b/src/Docfx.Dotnet/MetadataJsonConfig.cs index 54fa41b7273..71d7c421507 100644 --- a/src/Docfx.Dotnet/MetadataJsonConfig.cs +++ b/src/Docfx.Dotnet/MetadataJsonConfig.cs @@ -31,14 +31,27 @@ internal enum NamespaceLayout Nested, } +/// +/// MetadataJsonItemConfig. +/// +/// internal class MetadataJsonItemConfig { + /// + /// Defines the source projects to have metadata generated. + /// [JsonProperty("src")] public FileMapping Source { get; set; } + /// + /// Defines the output folder of the generated metadata files. + /// [JsonProperty("dest")] public string Destination { get; set; } + /// + /// If set to true, DocFX would not render triple-slash-comments in source code as markdown. + /// [JsonProperty("shouldSkipMarkup")] public bool? ShouldSkipMarkup { get; set; } @@ -48,12 +61,23 @@ internal class MetadataJsonItemConfig [JsonProperty("references")] public FileMapping References { get; set; } + /// + /// Defines the filter configuration file. + /// [JsonProperty("filter")] public string FilterConfigFile { get; set; } + + /// + /// Include private or internal APIs. + /// The default is false. + /// [JsonProperty("includePrivateMembers")] public bool IncludePrivateMembers { get; set; } + /// + /// Specify the name to use for the global namespace. + /// [JsonProperty("globalNamespaceId")] public string GlobalNamespaceId { get; set; } @@ -65,32 +89,68 @@ internal class MetadataJsonItemConfig [JsonProperty("properties")] public Dictionary MSBuildProperties { get; set; } + /// + /// Disables generation of view source links. + /// [JsonProperty("disableGitFeatures")] public bool DisableGitFeatures { get; set; } + /// + /// Specify the base directory that is used to resolve code source (e.g. `<code source="Example.cs">`). + /// [JsonProperty("codeSourceBasePath")] public string CodeSourceBasePath { get; set; } + /// + /// Disables the default filter configuration file. + /// [JsonProperty("disableDefaultFilter")] public bool DisableDefaultFilter { get; set; } + /// + /// Do not run dotnet restore before building the projects. + /// [JsonProperty("noRestore")] public bool NoRestore { get; set; } + /// + /// Defines how namespaces in TOC are organized. + /// When set to flattened, renders namespaces as a single flat list. + /// When set to nested, renders namespaces in a nested tree form. + /// The default is flattened. + /// [JsonProperty("namespaceLayout")] public NamespaceLayout NamespaceLayout { get; set; } + /// + /// Defines how member pages are organized. + /// When set to samePage, places members in the same page as their containing type. + /// When set to separatePages, places members in separate pages. + /// The default is samePage. + /// [JsonProperty("memberLayout")] public MemberLayout MemberLayout { get; set; } + /// + /// When enabled, continues documentation generation in case of compilation errors. + /// [JsonProperty("allowCompilationErrors")] public bool AllowCompilationErrors { get; set; } } +/// +/// MetadataJsonItemConfig +/// internal class MetadataJsonConfig : List { + /// + /// Initializes a new instance of the class. + /// public MetadataJsonConfig(IEnumerable configs) : base(configs) { } + /// + /// Initializes a new instance of the class. + /// public MetadataJsonConfig(params MetadataJsonItemConfig[] configs) : base(configs) { } diff --git a/src/docfx/Models/InitCommand.cs b/src/docfx/Models/InitCommand.cs index 15aa1c3a643..0ae81ab3096 100644 --- a/src/docfx/Models/InitCommand.cs +++ b/src/docfx/Models/InitCommand.cs @@ -239,7 +239,7 @@ private void GenerateSeedProject(string outputFolder, DefaultConfigModel config, /**/packages/ /**/bin/ /**/obj/ -{config.Build.Destination} +{config.Build.Output} "); var apiGitignore = Tuple.Create("api/.gitignore", @"############### # temp file #