public metaDocScriptBlock AddIndex(metaDocumentSet indexSource, metaDocScriptBlock output = null) { if (output == null) { output = new metaDocScriptBlock(); } output.instructions.open("menu", "Documents", ""); foreach (metaDocument indexDoc in indexSource.documents) { output.instructions.c_link(indexDoc.documentTitle, indexDoc.name.add("index.html", "/"), indexDoc.name, indexDoc.documentDescription, appendLinkType.link); foreach (metaPage indexPage in indexDoc.pages) { string filepath = "{{{document_relpath}}}/" + indexPage.name + ".html"; //.t(templateFieldBasic.path_ext); output.instructions.open("page", indexPage.pageTitle, indexPage.pageDescription); output.instructions.c_link(indexPage.pageTitle, filepath, indexPage.name, indexPage.pageDescription, appendLinkType.link); output.instructions.close(); } } output.instructions.close(); if (!blocks.Contains(output)) { blocks.Add(output); } output.parent = this; return(output); }
/// <summary> /// Creates datatemplate for all Enum type members /// </summary> /// <param name="enumType">Type of an Enum to use as shemata</param> /// <param name="title">The title.</param> /// <param name="description">The description.</param> /// <returns></returns> public metaDocScriptBlock AddDataTemplate(Type enumType, string title = "", string description = "") { metaDocScriptBlock output = new metaDocScriptBlock(); if (imbSciStringExtensions.isNullOrEmpty(title)) { title = enumType.Name.imbTitleCamelOperation(true); } if (imbSciStringExtensions.isNullOrEmpty(description)) { description = "Showing all data mapped to enumeration (" + enumType.Name + ") members";// enumType.Name } output.instructions.open("data", title, description); var keys = enumType.GetEnumValues(); foreach (Enum key in keys) { string str_key = key.toStringSafe(); string str_value = "{{{" + key + "}}}"; output.instructions.AppendPair(str_key, str_value, " = ", false); } output.instructions.close(); blocks.Add(output); output.parent = this; return(output); }
/// <summary> /// Adds and returns customizable subscript block /// </summary> /// <returns></returns> public metaDocScriptBlock AddScriptBlock() { metaDocScriptBlock output = new metaDocScriptBlock(); blocks.Add(output); output.parent = this; return(output); }
/// <summary> /// Adds another block /// </summary> /// <param name="title">The title.</param> /// <param name="description">The description.</param> /// <param name="lines">The lines.</param> /// <returns></returns> public metaDocScriptBlock AddBlock(string title, string description, IEnumerable <string> lines) { metaDocScriptBlock output = new metaDocScriptBlock(); output.instructions.open("block", title, description); foreach (string ln in lines) { output.instructions.AppendLine(ln); } output.instructions.close(); blocks.Add(output); output.parent = this; return(output); }
public metaDocScriptBlock AddPropertyCollection(PropertyCollection properties, string title, string description) { metaDocScriptBlock output = new metaDocScriptBlock(); output.instructions.open("data", title, description); foreach (object key in properties.Keys) { object val = properties[key]; string str_key = key.toStringSafe(); string str_value = properties[key].toStringSafe(); if (str_value == "(..)") { if (val != null) { PropertyCollection pc = val.buildPropertyCollection <PropertyCollection>(true, false, "obj"); if (pc.Keys.Count > 0) { output.instructions.open("subdata", str_key + " : " + val.GetType().Name, "Object properties"); foreach (object objkey in pc.Keys) { string obj_key = objkey.toStringSafe(); string obj_value = pc[key].toStringSafe(); output.instructions.AppendPair(obj_key, str_value, " = ", false); } output.instructions.close(); } } } output.instructions.AppendPair(str_key, str_value, " = ", false); } output.instructions.close(); blocks.Add(output); output.parent = this; return(output); }
/// <summary> /// Adds the index skip this. /// </summary> /// <param name="indexSource">The index source.</param> /// <param name="skipThis">The skip this.</param> /// <param name="output">The output.</param> /// <returns></returns> public metaDocScriptBlock AddIndexSkipThis(metaDocument indexSource, metaPage skipThis, string customTitle = "", metaDocScriptBlock output = null) { if (output == null) { output = new metaDocScriptBlock(); } if (imbSciStringExtensions.isNullOrEmpty(customTitle)) { customTitle = "Pages"; } output.instructions.open("menu", customTitle, ""); foreach (metaPage indexPage in indexSource.pages) { if (indexPage != null) { if (indexPage != skipThis) { string filepath = "" + indexPage.name + ".html"; //.t(templateFieldBasic.path_ext); output.instructions.open("page", indexPage.pageTitle, indexPage.pageDescription); output.instructions.c_link(indexPage.pageTitle, filepath, indexPage.name, indexPage.pageDescription, appendLinkType.link); output.instructions.close(); } } } output.instructions.close(); if (!blocks.Contains(output)) { blocks.Add(output); } output.parent = this; return(output); }
public metaDocScriptBlock AddNavigation(IMetaContentNested navParent) { metaDocScriptBlock output = new metaDocScriptBlock(); output.instructions.open("nav", "Navigation", ""); output.instructions.c_link("Back", "../index.html", "home", "Back to main index page", appendLinkType.link); output.instructions.c_link("Index", "index.html", "home", "Back to main index page", appendLinkType.link); output.instructions.close(); //foreach (metaPage indexPage in indexSource.pages) //{ // String filepath = indexPage.name + ".html"; //.t(templateFieldBasic.path_ext); // output.instructions.c_link(indexPage.pageTitle, filepath, indexPage.name, indexPage.pageDescription, appendLinkType.link); //} blocks.Add(output); output.parent = this; return(output); }