예제 #1
0
파일: Markdownify.cs 프로젝트: hyrmn/Strike
        public Markdownify(Options options, RenderMethods rendereMethods, MsieJsEngine engine)
        {
            this.engine = engine;
            var markedJsText = GetMarkedJsText();
            engine.Execute(markedJsText);

            var js = GetContructionJs(options, rendereMethods);
            engine.Execute(js);
        }
예제 #2
0
파일: Markdownify.cs 프로젝트: hyrmn/Strike
        /// <summary>
        /// Get the js to construct a new marked renderer.
        /// </summary>
        public string GetContructionJs(Options options, RenderMethods renderMethods)
        {
            var renderExtensions = renderMethods.GetRenderExtensionsJs();

            var optionsAsJs = options.GetOptionsJs();
            return string.Format(@"
            var renderer = new marked.Renderer();
            {0}
            marked.setOptions({1});", renderExtensions, optionsAsJs);
        }
예제 #3
0
        /// <summary>
        /// Get the js to construct a new marked renderer.
        /// </summary>
        public string GetContructionJs(Options options, RenderMethods renderMethods)
        {
            var renderExtensions = renderMethods.GetRenderExtensionsJs();

            var optionsAsJs = options.GetOptionsJs();

            return(string.Format(@"
var renderer = new marked.Renderer();
{0}
marked.setOptions({1});", renderExtensions, optionsAsJs));
        }
예제 #4
0
        Markdownify(Options options, RenderMethods rendereMethods, MsieJsEngine engine)
        {
            this.engine = engine;
            var markedJsText = GetMarkedJsText();

            engine.Execute(markedJsText);

            var js = GetContructionJs(options, rendereMethods);

            engine.Execute(js);
        }
예제 #5
0
        public static IGraphicsAdapter Create(RenderMethods pMethod)
        {
            switch (pMethod)
            {
            case RenderMethods.DirectX:
                return(new DirectXAdapter());

            case RenderMethods.OpenGL:
                throw new NotImplementedException();

            default:
                throw new UnknownEnumException(typeof(RenderMethods), pMethod);
            }
        }
예제 #6
0
    public void InvokeRootMarkedJsMember()
    {
        var input = "![text](href.png \"text\")";

        var rendereMethods = new RenderMethods
        {
            Image = @"
function (href, title, text) {
    text = 'replaced text';
    return marked.Renderer.prototype.image.apply(this, arguments);
}"
        };

        using (var markdownify = new Markdownify(new Options(), rendereMethods))
        {
            var transform = markdownify.Transform(input);
            Assert.AreEqual("<p><img src=\"href.png\" alt=\"replaced text\" title=\"text\"></p>\n", transform);
        }
    }
예제 #7
0
    public void RendererTest()
    {
        var input = @"
```
the code
```
---";

        var rendereMethods = new RenderMethods
        {
            Code = @"function(code,language) {
  return '<mycode>' + code + '</mycode>';
};",
            Hr   = "function(){ return '<myhr>';}"
        };

        using (var markdownify = new Markdownify(new Options(), rendereMethods))
        {
            var transform = markdownify.Transform(input);
            Assert.AreEqual("<mycode>the code</mycode><myhr>", transform);
        }
    }
예제 #8
0
파일: Markdownify.cs 프로젝트: hyrmn/Strike
 public Markdownify(Options options, RenderMethods rendereMethods)
     : this(options, rendereMethods, new MsieJsEngine(JsEngineMode.Auto))
 {
 }
예제 #9
0
 public Markdownify(Options options, RenderMethods rendereMethods) : this(options, rendereMethods, new V8ScriptEngine())
 {
 }
예제 #10
0
파일: Markdownify.cs 프로젝트: hyrmn/Strike
 public Markdownify(Options options, RenderMethods rendereMethods)
     : this(options, rendereMethods, new V8ScriptEngine())
 {
 }
예제 #11
0
 public Markdownify(Options options, RenderMethods rendereMethods)
     : this(options, rendereMethods, new MsieJsEngine(JsEngineMode.Auto))
 {
 }