/// <summary> /// Generates the name of the file. /// </summary> /// <param name="post">The post.</param> /// <returns></returns> public string GenerateFileName(PostInfo post) { DateTime postDate = post.dateCreated; string filename = string.Format("{0}-{1}-{2}-{3}", postDate.Year, postDate.Month, postDate.Day, post.title); filename = filename.Replace("\"", "-"); filename = filename.Replace("/", "-"); filename = filename.Replace(".", "-"); filename = filename.Replace(":", "-"); filename = filename + ".markdown"; return filename; }
/// <summary> /// Generates the file output. /// </summary> /// <param name="post">The post.</param> /// <param name="filename">The filename.</param> /// <param name="yaml">The yaml.</param> /// <param name="contentField">The content field.</param> /// <returns></returns> public string GenerateFileOutput(PostInfo post, string filename, List<MappingEntry> yaml, string contentField) { StringBuilder sb=new StringBuilder(); sb.Append(CreateYamlStringFromObject(yaml)); sb.Append(post.description); using (StreamWriter outfile=new StreamWriter(filename)) { outfile.Write(sb.ToString()); } return filename; }
/// <summary> /// Gets the value from post. /// </summary> /// <param name="post">The post.</param> /// <param name="fldInfo">The FLD info.</param> /// <returns></returns> private string GetValueFromPost(PostInfo post, FieldInfo fldInfo, out Sequence vals) { string value=string.Empty; vals = null; // vals will be null initially, switch(fldInfo.FieldType.Name) { case "DateTime": DateTime d=DateTime.Parse(fldInfo.GetValue(post).ToString()); value= d.ToString(); break; case "String": value = fldInfo.GetValue(post) as string; break; // vals will be updated in this case case "String[]": string []values = fldInfo.GetValue(post) as string[]; if(values==null) { return string.Empty; } vals=new Sequence(); foreach(string val in values) { Scalar ss = new Scalar {Text = val}; vals.Enties.Add(ss); } break; } return value; }