private void SetOptions(MarkdownOptionInfo mdOptionInfo) { if (!string.IsNullOrEmpty(Header1Color)) { mdOptionInfo.Header1 = Header1Color; } if (!string.IsNullOrEmpty(Header2Color)) { mdOptionInfo.Header2 = Header2Color; } if (!string.IsNullOrEmpty(Header3Color)) { mdOptionInfo.Header3 = Header3Color; } if (!string.IsNullOrEmpty(Header4Color)) { mdOptionInfo.Header4 = Header4Color; } if (!string.IsNullOrEmpty(Header5Color)) { mdOptionInfo.Header5 = Header5Color; } if (!string.IsNullOrEmpty(Header6Color)) { mdOptionInfo.Header6 = Header6Color; } if (!string.IsNullOrEmpty(Code)) { mdOptionInfo.Code = Code; } if (!string.IsNullOrEmpty(ImageAltTextForegroundColor)) { mdOptionInfo.Image = ImageAltTextForegroundColor; } if (!string.IsNullOrEmpty(LinkForegroundColor)) { mdOptionInfo.Link = LinkForegroundColor; } if (!string.IsNullOrEmpty(ItalicsForegroundColor)) { mdOptionInfo.EmphasisItalics = ItalicsForegroundColor; } if (!string.IsNullOrEmpty(BoldForegroundColor)) { mdOptionInfo.EmphasisBold = BoldForegroundColor; } }
/// <summary> /// Override EndProcessing. /// </summary> protected override void EndProcessing() { MarkdownOptionInfo mdOptionInfo = null; switch (ParameterSetName) { case ThemeParamSet: mdOptionInfo = new MarkdownOptionInfo(); if (string.Equals(Theme, LightThemeName, StringComparison.OrdinalIgnoreCase)) { mdOptionInfo.SetLightTheme(); } else if (string.Equals(Theme, DarkThemeName, StringComparison.OrdinalIgnoreCase)) { mdOptionInfo.SetDarkTheme(); } break; case InputObjectParamSet: object baseObj = InputObject.BaseObject; mdOptionInfo = baseObj as MarkdownOptionInfo; if (mdOptionInfo == null) { var errorMessage = StringUtil.Format(ConvertMarkdownStrings.InvalidInputObjectType, baseObj.GetType()); ErrorRecord errorRecord = new ErrorRecord( new ArgumentException(errorMessage), "InvalidObject", ErrorCategory.InvalidArgument, InputObject); } break; case IndividualSetting: mdOptionInfo = new MarkdownOptionInfo(); SetOptions(mdOptionInfo); break; } var sessionVar = SessionState.PSVariable; sessionVar.Set(MarkdownOptionInfoVariableName, mdOptionInfo); if (PassThru.IsPresent) { WriteObject(mdOptionInfo); } }
/// <summary> /// Read the MarkdownOptionInfo set in SessionState. /// </summary> protected override void BeginProcessing() { mdOption = SessionState.PSVariable.GetValue("MarkdownOptionInfo", new MarkdownOptionInfo()) as MarkdownOptionInfo; if (mdOption == null) { throw new InvalidOperationException(); } if (AsVT100EncodedString) { conversionType = MarkdownConversionType.VT100; } }
private void ConvertEachFile(IEnumerable <string> paths, MarkdownConversionType conversionType, bool isLiteral, MarkdownOptionInfo optionInfo) { foreach (var path in paths) { var resolvedPaths = ResolvePath(path, isLiteral); foreach (var resolvedPath in resolvedPaths) { WriteObject( MarkdownConverter.Convert( ReadContentFromFile(resolvedPath)?.Result, conversionType, optionInfo)); } } }