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);
            }
        }
示例#3
0
        /// <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;
            }
        }
示例#4
0
        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));
                }
            }
        }