From 029f550a04721c786b1d0021ac9551f2a6e62aed Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Tue, 30 Aug 2016 02:44:21 +0900 Subject: [PATCH 01/18] [ZEPPELIN-1387] Support table in markdown interpreter --- markdown/pom.xml | 10 +- .../apache/zeppelin/markdown/Markdown.java | 15 ++- .../zeppelin/markdown/MarkdownTest.java | 91 ++++++++++++++++++- 3 files changed, 102 insertions(+), 14 deletions(-) diff --git a/markdown/pom.xml b/markdown/pom.xml index 9a24b2cbbca..9d089474ad5 100644 --- a/markdown/pom.xml +++ b/markdown/pom.xml @@ -41,14 +41,14 @@ - org.commonjava.googlecode.markdown4j - markdown4j - 2.2-cj-1.0 + org.slf4j + slf4j-api - org.slf4j - slf4j-api + org.pegdown + pegdown + 1.6.0 diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java index 4a26dac0fe8..1ffdc3e8bc7 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java @@ -29,7 +29,8 @@ import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion; import org.apache.zeppelin.scheduler.Scheduler; import org.apache.zeppelin.scheduler.SchedulerFactory; -import org.markdown4j.Markdown4jProcessor; +import org.pegdown.Extensions; +import org.pegdown.PegDownProcessor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,7 +38,7 @@ * Markdown interpreter for Zeppelin. */ public class Markdown extends Interpreter { - private Markdown4jProcessor md; + private PegDownProcessor md; static final Logger LOGGER = LoggerFactory.getLogger(Markdown.class); public Markdown(Properties property) { @@ -46,7 +47,10 @@ public Markdown(Properties property) { @Override public void open() { - md = new Markdown4jProcessor(); + md = new PegDownProcessor( + Extensions.ALL_WITH_OPTIONALS, + 5000 /** max parsing timeout as millis */ + ); } @Override @@ -56,8 +60,9 @@ public void close() {} public InterpreterResult interpret(String st, InterpreterContext interpreterContext) { String html; try { - html = md.process(st); - } catch (IOException | java.lang.RuntimeException e) { + html = md.markdownToHtml(st); + if (null == html) throw new RuntimeException("Cannot parse markdown"); + } catch (java.lang.RuntimeException e) { LOGGER.error("Exception in Markdown while interpret ", e); return new InterpreterResult(Code.ERROR, InterpreterUtils.getMostRelevantMessage(e)); } diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java index ae1c17e7592..d49040c7c96 100644 --- a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java +++ b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java @@ -29,20 +29,103 @@ public class MarkdownTest { + Markdown md; + @Before public void setUp() throws Exception { + md = new Markdown(new Properties()); + md.open(); } @After public void tearDown() throws Exception { + md.close(); } @Test - public void test() { - Markdown md = new Markdown(new Properties()); - md.open(); + public void testStrikethrough() { InterpreterResult result = md.interpret("This is ~~deleted~~ text", null); - assertEquals("

This is deleted text

\n", result.message()); + assertEquals("

This is deleted text

", result.message()); + } + + @Test + public void testItalics() { + InterpreterResult result = md.interpret("This is *italics* text", null); + assertEquals("

This is italics text

", result.message()); + } + + @Test + public void testStrongEmphasis() { + InterpreterResult result = md.interpret("This is **strong emphasis** text", null); + assertEquals("

This is strong emphasis text

", result.message()); + } + + @Test + public void testSimpleTable() { + InterpreterResult result = md.interpret( + "Markdown | Less | Pretty\n" + + "--- | --- | ---\n" + + "*Still* | `renders` | **nicely**\n" + + "1 | 2 | 3", null); + + assertEquals( + "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
Markdown Less Pretty
Still renders nicely
1 2 3
", + result.message()); } + @Test + public void testAlignedTable() { + InterpreterResult result = md.interpret( + "| First Header | Second Header | Third Header |\n" + + "| :----------- | :-----------: | -------------------: |\n" + + "| First row | Data | Very long data entry |\n" + + "| Second row | **Cell** | *Cell* |", + null + ); + + assertEquals( + "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
", + result.message() + ); + } } From fa14b3ed75c051ad6da0e3955ef8debf4d231b13 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 31 Aug 2016 00:44:13 +0900 Subject: [PATCH 02/18] style: Apply google java code style guide --- .../apache/zeppelin/markdown/Markdown.java | 13 +- .../zeppelin/markdown/MarkdownTest.java | 181 +++++++++--------- 2 files changed, 95 insertions(+), 99 deletions(-) diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java index 1ffdc3e8bc7..1f3dc21151d 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java @@ -34,9 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** - * Markdown interpreter for Zeppelin. - */ +/** Markdown interpreter for Zeppelin. */ public class Markdown extends Interpreter { private PegDownProcessor md; static final Logger LOGGER = LoggerFactory.getLogger(Markdown.class); @@ -47,10 +45,7 @@ public Markdown(Properties property) { @Override public void open() { - md = new PegDownProcessor( - Extensions.ALL_WITH_OPTIONALS, - 5000 /** max parsing timeout as millis */ - ); + md = new PegDownProcessor(Extensions.ALL_WITH_OPTIONALS, 5000); } @Override @@ -84,8 +79,8 @@ public int getProgress(InterpreterContext context) { @Override public Scheduler getScheduler() { - return SchedulerFactory.singleton().createOrGetParallelScheduler( - Markdown.class.getName() + this.hashCode(), 5); + return SchedulerFactory.singleton() + .createOrGetParallelScheduler(Markdown.class.getName() + this.hashCode(), 5); } @Override diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java index d49040c7c96..f1aa54be427 100644 --- a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java +++ b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java @@ -29,103 +29,104 @@ public class MarkdownTest { - Markdown md; + Markdown md; - @Before - public void setUp() throws Exception { - md = new Markdown(new Properties()); - md.open(); - } + @Before + public void setUp() throws Exception { + md = new Markdown(new Properties()); + md.open(); + } - @After - public void tearDown() throws Exception { - md.close(); - } + @After + public void tearDown() throws Exception { + md.close(); + } - @Test - public void testStrikethrough() { - InterpreterResult result = md.interpret("This is ~~deleted~~ text", null); - assertEquals("

This is deleted text

", result.message()); - } + @Test + public void testStrikethrough() { + InterpreterResult result = md.interpret("This is ~~deleted~~ text", null); + assertEquals("

This is deleted text

", result.message()); + } - @Test - public void testItalics() { - InterpreterResult result = md.interpret("This is *italics* text", null); - assertEquals("

This is italics text

", result.message()); - } + @Test + public void testItalics() { + InterpreterResult result = md.interpret("This is *italics* text", null); + assertEquals("

This is italics text

", result.message()); + } - @Test - public void testStrongEmphasis() { - InterpreterResult result = md.interpret("This is **strong emphasis** text", null); - assertEquals("

This is strong emphasis text

", result.message()); - } + @Test + public void testStrongEmphasis() { + InterpreterResult result = md.interpret("This is **strong emphasis** text", null); + assertEquals("

This is strong emphasis text

", result.message()); + } - @Test - public void testSimpleTable() { - InterpreterResult result = md.interpret( - "Markdown | Less | Pretty\n" + - "--- | --- | ---\n" + - "*Still* | `renders` | **nicely**\n" + - "1 | 2 | 3", null); + @Test + public void testSimpleTable() { + InterpreterResult result = + md.interpret( + "Markdown | Less | Pretty\n" + + "--- | --- | ---\n" + + "*Still* | `renders` | **nicely**\n" + + "1 | 2 | 3", + null); - assertEquals( - "\n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
Markdown Less Pretty
Still renders nicely
1 2 3
", - result.message()); - } + assertEquals( + "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
Markdown Less Pretty
Still renders nicely
1 2 3
", + result.message()); + } - @Test - public void testAlignedTable() { - InterpreterResult result = md.interpret( - "| First Header | Second Header | Third Header |\n" + - "| :----------- | :-----------: | -------------------: |\n" + - "| First row | Data | Very long data entry |\n" + - "| Second row | **Cell** | *Cell* |", - null - ); + @Test + public void testAlignedTable() { + InterpreterResult result = + md.interpret( + "| First Header | Second Header | Third Header |\n" + + "| :----------- | :-----------: | -------------------: |\n" + + "| First row | Data | Very long data entry |\n" + + "| Second row | **Cell** | *Cell* |", + null); - assertEquals( - "\n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
", - result.message() - ); - } + assertEquals( + "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
", + result.message()); + } } From 7aecdcb536a7561fb67f2e1404d4bcb3921774da Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 31 Aug 2016 00:55:47 +0900 Subject: [PATCH 03/18] chore: Add pegdown to the binary license list --- zeppelin-distribution/src/bin_license/LICENSE | 1 + 1 file changed, 1 insertion(+) diff --git a/zeppelin-distribution/src/bin_license/LICENSE b/zeppelin-distribution/src/bin_license/LICENSE index b33ad64b108..dfc8dee8440 100644 --- a/zeppelin-distribution/src/bin_license/LICENSE +++ b/zeppelin-distribution/src/bin_license/LICENSE @@ -115,6 +115,7 @@ The following components are provided under Apache License. (Apache 2.0) Servlet API (org.mortbay.jetty:servlet-api:2.5-20081211 - https://en.wikipedia.org/wiki/Jetty_(web_server)) (Apache 2.0) Google HTTP Client Library for Java (com.google.http-client:google-http-client-jackson2:1.21.0 - https://github.com/google/google-http-java-client/tree/dev/google-http-client-jackson2) (Apache 2.0) angular-esri-map (https://github.com/Esri/angular-esri-map) + (Apache 2.0) pegdown (org.pegdown:pegdown:1.6.0 - https://github.com/sirthias/pegdown) ======================================================================== MIT licenses From 603d3db4068f1eed5a8647489da80c945ac23cfb Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Wed, 31 Aug 2016 13:18:25 +0900 Subject: [PATCH 04/18] fix: Add missing transitive deps for pegdown --- zeppelin-distribution/src/bin_license/LICENSE | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/zeppelin-distribution/src/bin_license/LICENSE b/zeppelin-distribution/src/bin_license/LICENSE index dfc8dee8440..fc87e76fed6 100644 --- a/zeppelin-distribution/src/bin_license/LICENSE +++ b/zeppelin-distribution/src/bin_license/LICENSE @@ -116,6 +116,8 @@ The following components are provided under Apache License. (Apache 2.0) Google HTTP Client Library for Java (com.google.http-client:google-http-client-jackson2:1.21.0 - https://github.com/google/google-http-java-client/tree/dev/google-http-client-jackson2) (Apache 2.0) angular-esri-map (https://github.com/Esri/angular-esri-map) (Apache 2.0) pegdown (org.pegdown:pegdown:1.6.0 - https://github.com/sirthias/pegdown) + (Apache 2.0) parboiled-java (org.parboiled:parboiled-java:1.1.7 - https://github.com/sirthias/parboiled) + (Apache 2.0) parboiled-core (org.parboiled:parboiled-core:1.1.7 - https://github.com/sirthias/parboiled) ======================================================================== MIT licenses @@ -192,10 +194,12 @@ The following components are provided under the BSD-style License. (BSD-like) Scala Actors library (org.scala-lang:scala-actors:2.11.7 - http://www.scala-lang.org/) (BSD-like) Scala Compiler (org.scala-lang:scala-compiler:2.11.7 - http://www.scala-lang.org/) (BSD-like) Scala Compiler (org.scala-lang:scala-reflect:2.11.7 - http://www.scala-lang.org/) - (BSD-like) ASM (asm:asm:jar:3.1 - http://asm.ow2.org/) - Copyright (c) 2000-2011 INRIA, France Telecom + (BSD-like) ASM asm (asm:asm:jar:3.1 - http://asm.ow2.org/) - Copyright (c) 2000-2011 INRIA, France Telecom + (BSD-like) ASM asm-tree (org.ow2.asm:asm-tree:5.0.3 - http://asm.ow2.org/) - Copyright (c) 2000-2011 INRIA, France Telecom + (BSD-like) ASM asm-analysis (org.ow2.asm:asm-analysis:5.0.3 - http://asm.ow2.org/) - Copyright (c) 2000-2011 INRIA, France Telecom + (BSD-like) ASM asm-utils (org.ow2.asm:asm-utils:5.0.3 - http://asm.ow2.org/) - Copyright (c) 2000-2011 INRIA, France Telecom (New BSD License) Py4J (net.sf.py4j:py4j:0.9 - http://py4j.sourceforge.net/) (New BSD License) Py4J (net.sf.py4j:py4j:0.10.1 - http://py4j.sourceforge.net/) - https://github.com/bartdag/py4j/blob/0.10.1/LICENSE.txt - (New BSD License) Markdown4j (org.commonjava.googlecode.markdown4j:markdown4j:jar:2.2-cj-1.0 - https://code.google.com/p/markdown4j/) (BSD 3 Clause) Paranamer (com.thoughtworks.paranamer:paranamer:jar:2.6) - https://github.com/paul-hammant/paranamer/blob/paranamer-parent-2.6/LICENSE.txt (BSD 3 Clause) netlib core (com.github.fommil.netlib:core:1.1.2 - https://github.com/fommil/netlib-java/core) (BSD 3 Clause) JPMML-Model (org.jpmml:pmml-model:1.2.7 - https://github.com/jpmml/jpmml-model) From f7419492adde2ad0d71e8f189b3a4ace9a80a9a8 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Thu, 1 Sep 2016 03:19:20 +0900 Subject: [PATCH 05/18] fix: Add styles for markdown - Wrap parsed DOM with div which has `markdown` class attr - Style them with github flavored markdown style ([github-markdown-css](https://github.com/sindresorhus/github-markdown-css)) - add [github-markdown-css](https://github.com/sindresorhus/github-markdown-css) license to `zeppelin-distribution` --- .../apache/zeppelin/markdown/Markdown.java | 18 +- zeppelin-distribution/src/bin_license/LICENSE | 1 + .../LICENSE-github-markdown-css-2.4.0 | 21 + .../src/app/interpreter/interpreter.css | 693 ++++++++++++++++++ 4 files changed, 730 insertions(+), 3 deletions(-) create mode 100644 zeppelin-distribution/src/bin_license/licenses/LICENSE-github-markdown-css-2.4.0 diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java index 1f3dc21151d..97fd71dc0b0 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java @@ -17,7 +17,6 @@ package org.apache.zeppelin.markdown; -import java.io.IOException; import java.util.List; import java.util.Properties; @@ -30,7 +29,9 @@ import org.apache.zeppelin.scheduler.Scheduler; import org.apache.zeppelin.scheduler.SchedulerFactory; import org.pegdown.Extensions; +import org.pegdown.LinkRenderer; import org.pegdown.PegDownProcessor; +import org.pegdown.ast.RootNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,13 +55,24 @@ public void close() {} @Override public InterpreterResult interpret(String st, InterpreterContext interpreterContext) { String html; + try { - html = md.markdownToHtml(st); - if (null == html) throw new RuntimeException("Cannot parse markdown"); + String parsed = md.markdownToHtml(st); + if (null == parsed) throw new RuntimeException("Cannot parse markdown syntax string to HTML"); + + /** wrap with markdown class div to support markdown syntax using css */ + html = + new StringBuilder() + .append("
\n") + .append(parsed) + .append("\n
") + .toString(); + } catch (java.lang.RuntimeException e) { LOGGER.error("Exception in Markdown while interpret ", e); return new InterpreterResult(Code.ERROR, InterpreterUtils.getMostRelevantMessage(e)); } + return new InterpreterResult(Code.SUCCESS, "%html " + html); } diff --git a/zeppelin-distribution/src/bin_license/LICENSE b/zeppelin-distribution/src/bin_license/LICENSE index fc87e76fed6..83905f5f4e0 100644 --- a/zeppelin-distribution/src/bin_license/LICENSE +++ b/zeppelin-distribution/src/bin_license/LICENSE @@ -154,6 +154,7 @@ The text of each license is also included at licenses/LICENSE-[project]-[version (The MIT License) bcprov-jdk15on v1.51 (org.bouncycastle:bcprov-jdk15on:jar:1.51 - http://www.bouncycastle.org/java.html) - http://www.bouncycastle.org/licence.html (The MIT License) AnchorJS (https://github.com/bryanbraun/anchorjs) - https://github.com/bryanbraun/anchorjs/blob/master/README.md#license (The MIT License) moment-duration-format v1.3.0 (https://github.com/jsmreese/moment-duration-format) - https://github.com/jsmreese/moment-duration-format/blob/master/LICENSE + (The MIT License) github-markdown-css (https://github.com/sindresorhus/github-markdown-css) - https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/license The following components are provided under the MIT License. diff --git a/zeppelin-distribution/src/bin_license/licenses/LICENSE-github-markdown-css-2.4.0 b/zeppelin-distribution/src/bin_license/licenses/LICENSE-github-markdown-css-2.4.0 new file mode 100644 index 00000000000..654d0bfe943 --- /dev/null +++ b/zeppelin-distribution/src/bin_license/licenses/LICENSE-github-markdown-css-2.4.0 @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/zeppelin-web/src/app/interpreter/interpreter.css b/zeppelin-web/src/app/interpreter/interpreter.css index ee4f81db614..ee0bf1e5240 100644 --- a/zeppelin-web/src/app/interpreter/interpreter.css +++ b/zeppelin-web/src/app/interpreter/interpreter.css @@ -109,3 +109,696 @@ color: #000; opacity: .5; } + +/** + * github flavored markdown style + */ + +.markdown { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + line-height: 1.5; + color: #333; + font-size: 16px; + line-height: 1.5; + word-wrap: break-word; +} + +.markdown .pl-c { + color: #969896; +} + +.markdown .pl-c1, +.markdown .pl-s .pl-v { + color: #0086b3; +} + +.markdown .pl-e, +.markdown .pl-en { + color: #795da3; +} + +.markdown .pl-smi, +.markdown .pl-s .pl-s1 { + color: #333; +} + +.markdown .pl-ent { + color: #63a35c; +} + +.markdown .pl-k { + color: #a71d5d; +} + +.markdown .pl-s, +.markdown .pl-pds, +.markdown .pl-s .pl-pse .pl-s1, +.markdown .pl-sr, +.markdown .pl-sr .pl-cce, +.markdown .pl-sr .pl-sre, +.markdown .pl-sr .pl-sra { + color: #183691; +} + +.markdown .pl-v { + color: #ed6a43; +} + +.markdown .pl-id { + color: #b52a1d; +} + +.markdown .pl-ii { + color: #f8f8f8; + background-color: #b52a1d; +} + +.markdown .pl-sr .pl-cce { + font-weight: bold; + color: #63a35c; +} + +.markdown .pl-ml { + color: #693a17; +} + +.markdown .pl-mh, +.markdown .pl-mh .pl-en, +.markdown .pl-ms { + font-weight: bold; + color: #1d3e81; +} + +.markdown .pl-mq { + color: #008080; +} + +.markdown .pl-mi { + font-style: italic; + color: #333; +} + +.markdown .pl-mb { + font-weight: bold; + color: #333; +} + +.markdown .pl-md { + color: #bd2c00; + background-color: #ffecec; +} + +.markdown .pl-mi1 { + color: #55a532; + background-color: #eaffea; +} + +.markdown .pl-mdr { + font-weight: bold; + color: #795da3; +} + +.markdown .pl-mo { + color: #1d3e81; +} + +.markdown .octicon { + display: inline-block; + vertical-align: text-top; + fill: currentColor; +} + +.markdown a { + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +.markdown a:active, +.markdown a:hover { + outline-width: 0; +} + +.markdown strong { + font-weight: inherit; +} + +.markdown strong { + font-weight: bolder; +} + +.markdown h1 { + font-size: 2em; + margin: 0.67em 0; +} + +.markdown img { + border-style: none; +} + +.markdown svg:not(:root) { + overflow: hidden; +} + +.markdown code, +.markdown kbd, +.markdown pre { + font-family: monospace, monospace; + font-size: 1em; +} + +.markdown hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +.markdown input { + font: inherit; + margin: 0; +} + +.markdown input { + overflow: visible; +} + +.markdown button:-moz-focusring, +.markdown [type="button"]:-moz-focusring, +.markdown [type="reset"]:-moz-focusring, +.markdown [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +.markdown [type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +.markdown * { + box-sizing: border-box; +} + +.markdown input { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +.markdown a { + color: #4078c0; + text-decoration: none; +} + +.markdown a:hover, +.markdown a:active { + text-decoration: underline; +} + +.markdown strong { + font-weight: 600; +} + +.markdown hr { + height: 0; + margin: 15px 0; + overflow: hidden; + background: transparent; + border: 0; + border-bottom: 1px solid #ddd; +} + +.markdown hr::before { + display: table; + content: ""; +} + +.markdown hr::after { + display: table; + clear: both; + content: ""; +} + +.markdown table { + border-spacing: 0; + border-collapse: collapse; +} + +.markdown td, +.markdown th { + padding: 0; +} + +.markdown h1, +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + margin-top: 0; + margin-bottom: 0; +} + +.markdown h1 { + font-size: 32px; + font-weight: 600; +} + +.markdown h2 { + font-size: 24px; + font-weight: 600; +} + +.markdown h3 { + font-size: 20px; + font-weight: 600; +} + +.markdown h4 { + font-size: 16px; + font-weight: 600; +} + +.markdown h5 { + font-size: 14px; + font-weight: 600; +} + +.markdown h6 { + font-size: 12px; + font-weight: 600; +} + +.markdown p { + margin-top: 0; + margin-bottom: 10px; +} + +.markdown blockquote { + margin: 0; +} + +.markdown ul, +.markdown ol { + padding-left: 0; + margin-top: 0; + margin-bottom: 0; +} + +.markdown ol ol, +.markdown ul ol { + list-style-type: lower-roman; +} + +.markdown ul ul ol, +.markdown ul ol ol, +.markdown ol ul ol, +.markdown ol ol ol { + list-style-type: lower-alpha; +} + +.markdown dd { + margin-left: 0; +} + +.markdown code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; +} + +.markdown pre { + margin-top: 0; + margin-bottom: 0; + font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; +} + +.markdown .octicon { + vertical-align: text-bottom; +} + +.markdown input { + -webkit-font-feature-settings: "liga" 0; + font-feature-settings: "liga" 0; +} + +.markdown .form-select::-ms-expand { + opacity: 0; +} + +.markdown::before { + display: table; + content: ""; +} + +.markdown::after { + display: table; + clear: both; + content: ""; +} + +.markdown>*:first-child { + margin-top: 0 !important; +} + +.markdown>*:last-child { + margin-bottom: 0 !important; +} + +.markdown a:not([href]) { + color: inherit; + text-decoration: none; +} + +.markdown .anchor { + float: left; + padding-right: 4px; + margin-left: -20px; + line-height: 1; +} + +.markdown .anchor:focus { + outline: none; +} + +.markdown p, +.markdown blockquote, +.markdown ul, +.markdown ol, +.markdown dl, +.markdown table, +.markdown pre { + margin-top: 0; + margin-bottom: 16px; +} + +.markdown hr { + height: 0.25em; + padding: 0; + margin: 24px 0; + background-color: #e7e7e7; + border: 0; +} + +.markdown blockquote { + padding: 0 1em; + color: #777; + border-left: 0.25em solid #ddd; +} + +.markdown blockquote>:first-child { + margin-top: 0; +} + +.markdown blockquote>:last-child { + margin-bottom: 0; +} + +.markdown kbd { + display: inline-block; + padding: 3px 5px; + font-size: 11px; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; +} + +.markdown h1, +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + margin-top: 24px; + margin-bottom: 16px; + font-weight: 600; + line-height: 1.25; +} + +.markdown h1 .octicon-link, +.markdown h2 .octicon-link, +.markdown h3 .octicon-link, +.markdown h4 .octicon-link, +.markdown h5 .octicon-link, +.markdown h6 .octicon-link { + color: #000; + vertical-align: middle; + visibility: hidden; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + text-decoration: none; +} + +.markdown h1:hover .anchor .octicon-link, +.markdown h2:hover .anchor .octicon-link, +.markdown h3:hover .anchor .octicon-link, +.markdown h4:hover .anchor .octicon-link, +.markdown h5:hover .anchor .octicon-link, +.markdown h6:hover .anchor .octicon-link { + visibility: visible; +} + +.markdown h1 { + padding-bottom: 0.3em; + font-size: 2em; + border-bottom: 1px solid #eee; +} + +.markdown h2 { + padding-bottom: 0.3em; + font-size: 1.5em; + border-bottom: 1px solid #eee; +} + +.markdown h3 { + font-size: 1.25em; +} + +.markdown h4 { + font-size: 1em; +} + +.markdown h5 { + font-size: 0.875em; +} + +.markdown h6 { + font-size: 0.85em; + color: #777; +} + +.markdown ul, +.markdown ol { + padding-left: 2em; +} + +.markdown ul ul, +.markdown ul ol, +.markdown ol ol, +.markdown ol ul { + margin-top: 0; + margin-bottom: 0; +} + +.markdown li>p { + margin-top: 16px; +} + +.markdown li+li { + margin-top: 0.25em; +} + +.markdown dl { + padding: 0; +} + +.markdown dl dt { + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: bold; +} + +.markdown dl dd { + padding: 0 16px; + margin-bottom: 16px; +} + +.markdown table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; +} + +.markdown table th { + font-weight: bold; +} + +.markdown table th, +.markdown table td { + padding: 6px 13px; + border: 1px solid #ddd; +} + +.markdown table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} + +.markdown table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.markdown img { + max-width: 100%; + box-sizing: content-box; + background-color: #fff; +} + +.markdown code { + padding: 0; + padding-top: 0.2em; + padding-bottom: 0.2em; + margin: 0; + font-size: 85%; + background-color: rgba(0,0,0,0.04); + border-radius: 3px; +} + +.markdown code::before, +.markdown code::after { + letter-spacing: -0.2em; + content: "\00a0"; +} + +.markdown pre { + word-wrap: normal; +} + +.markdown pre>code { + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; +} + +.markdown .highlight { + margin-bottom: 16px; +} + +.markdown .highlight pre { + margin-bottom: 0; + word-break: normal; +} + +.markdown .highlight pre, +.markdown pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f7f7f7; + border-radius: 3px; +} + +.markdown pre code { + display: inline; + max-width: auto; + padding: 0; + margin: 0; + overflow: visible; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; +} + +.markdown pre code::before, +.markdown pre code::after { + content: normal; +} + +.markdown .pl-0 { + padding-left: 0 !important; +} + +.markdown .pl-1 { + padding-left: 3px !important; +} + +.markdown .pl-2 { + padding-left: 6px !important; +} + +.markdown .pl-3 { + padding-left: 12px !important; +} + +.markdown .pl-4 { + padding-left: 24px !important; +} + +.markdown .pl-5 { + padding-left: 36px !important; +} + +.markdown .pl-6 { + padding-left: 48px !important; +} + +.markdown .full-commit .btn-outline:not(:disabled):hover { + color: #4078c0; + border: 1px solid #4078c0; +} + +.markdown kbd { + display: inline-block; + padding: 3px 5px; + font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; +} + +.markdown :checked+.radio-label { + position: relative; + z-index: 1; + border-color: #4078c0; +} + +.markdown .task-list-item { + list-style-type: none; +} + +.markdown .task-list-item+.task-list-item { + margin-top: 3px; +} + +.markdown .task-list-item input { + margin: 0 0.2em 0.25em -1.6em; + vertical-align: middle; +} + +.markdown hr { + border-bottom-color: #eee; +} From 9cf31d0bbc9db4b8be2ab1e1ca62b72c7d596cca Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Thu, 1 Sep 2016 23:25:26 +0900 Subject: [PATCH 06/18] fix: Use markdown-body class (default) --- .../apache/zeppelin/markdown/Markdown.java | 2 +- .../src/app/interpreter/interpreter.css | 370 +++++++++--------- 2 files changed, 186 insertions(+), 186 deletions(-) diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java index 97fd71dc0b0..3394f75b1a9 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java @@ -63,7 +63,7 @@ public InterpreterResult interpret(String st, InterpreterContext interpreterCont /** wrap with markdown class div to support markdown syntax using css */ html = new StringBuilder() - .append("
\n") + .append("
\n") .append(parsed) .append("\n
") .toString(); diff --git a/zeppelin-web/src/app/interpreter/interpreter.css b/zeppelin-web/src/app/interpreter/interpreter.css index ee0bf1e5240..6fa59a31a4d 100644 --- a/zeppelin-web/src/app/interpreter/interpreter.css +++ b/zeppelin-web/src/app/interpreter/interpreter.css @@ -114,7 +114,7 @@ * github flavored markdown style */ -.markdown { +.markdown-body { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; line-height: 1.5; @@ -124,201 +124,201 @@ word-wrap: break-word; } -.markdown .pl-c { +.markdown-body .pl-c { color: #969896; } -.markdown .pl-c1, -.markdown .pl-s .pl-v { +.markdown-body .pl-c1, +.markdown-body .pl-s .pl-v { color: #0086b3; } -.markdown .pl-e, -.markdown .pl-en { +.markdown-body .pl-e, +.markdown-body .pl-en { color: #795da3; } -.markdown .pl-smi, -.markdown .pl-s .pl-s1 { +.markdown-body .pl-smi, +.markdown-body .pl-s .pl-s1 { color: #333; } -.markdown .pl-ent { +.markdown-body .pl-ent { color: #63a35c; } -.markdown .pl-k { +.markdown-body .pl-k { color: #a71d5d; } -.markdown .pl-s, -.markdown .pl-pds, -.markdown .pl-s .pl-pse .pl-s1, -.markdown .pl-sr, -.markdown .pl-sr .pl-cce, -.markdown .pl-sr .pl-sre, -.markdown .pl-sr .pl-sra { +.markdown-body .pl-s, +.markdown-body .pl-pds, +.markdown-body .pl-s .pl-pse .pl-s1, +.markdown-body .pl-sr, +.markdown-body .pl-sr .pl-cce, +.markdown-body .pl-sr .pl-sre, +.markdown-body .pl-sr .pl-sra { color: #183691; } -.markdown .pl-v { +.markdown-body .pl-v { color: #ed6a43; } -.markdown .pl-id { +.markdown-body .pl-id { color: #b52a1d; } -.markdown .pl-ii { +.markdown-body .pl-ii { color: #f8f8f8; background-color: #b52a1d; } -.markdown .pl-sr .pl-cce { +.markdown-body .pl-sr .pl-cce { font-weight: bold; color: #63a35c; } -.markdown .pl-ml { +.markdown-body .pl-ml { color: #693a17; } -.markdown .pl-mh, -.markdown .pl-mh .pl-en, -.markdown .pl-ms { +.markdown-body .pl-mh, +.markdown-body .pl-mh .pl-en, +.markdown-body .pl-ms { font-weight: bold; color: #1d3e81; } -.markdown .pl-mq { +.markdown-body .pl-mq { color: #008080; } -.markdown .pl-mi { +.markdown-body .pl-mi { font-style: italic; color: #333; } -.markdown .pl-mb { +.markdown-body .pl-mb { font-weight: bold; color: #333; } -.markdown .pl-md { +.markdown-body .pl-md { color: #bd2c00; background-color: #ffecec; } -.markdown .pl-mi1 { +.markdown-body .pl-mi1 { color: #55a532; background-color: #eaffea; } -.markdown .pl-mdr { +.markdown-body .pl-mdr { font-weight: bold; color: #795da3; } -.markdown .pl-mo { +.markdown-body .pl-mo { color: #1d3e81; } -.markdown .octicon { +.markdown-body .octicon { display: inline-block; vertical-align: text-top; fill: currentColor; } -.markdown a { +.markdown-body a { background-color: transparent; -webkit-text-decoration-skip: objects; } -.markdown a:active, -.markdown a:hover { +.markdown-body a:active, +.markdown-body a:hover { outline-width: 0; } -.markdown strong { +.markdown-body strong { font-weight: inherit; } -.markdown strong { +.markdown-body strong { font-weight: bolder; } -.markdown h1 { +.markdown-body h1 { font-size: 2em; margin: 0.67em 0; } -.markdown img { +.markdown-body img { border-style: none; } -.markdown svg:not(:root) { +.markdown-body svg:not(:root) { overflow: hidden; } -.markdown code, -.markdown kbd, -.markdown pre { +.markdown-body code, +.markdown-body kbd, +.markdown-body pre { font-family: monospace, monospace; font-size: 1em; } -.markdown hr { +.markdown-body hr { box-sizing: content-box; height: 0; overflow: visible; } -.markdown input { +.markdown-body input { font: inherit; margin: 0; } -.markdown input { +.markdown-body input { overflow: visible; } -.markdown button:-moz-focusring, -.markdown [type="button"]:-moz-focusring, -.markdown [type="reset"]:-moz-focusring, -.markdown [type="submit"]:-moz-focusring { +.markdown-body button:-moz-focusring, +.markdown-body [type="button"]:-moz-focusring, +.markdown-body [type="reset"]:-moz-focusring, +.markdown-body [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } -.markdown [type="checkbox"] { +.markdown-body [type="checkbox"] { box-sizing: border-box; padding: 0; } -.markdown * { +.markdown-body * { box-sizing: border-box; } -.markdown input { +.markdown-body input { font-family: inherit; font-size: inherit; line-height: inherit; } -.markdown a { +.markdown-body a { color: #4078c0; text-decoration: none; } -.markdown a:hover, -.markdown a:active { +.markdown-body a:hover, +.markdown-body a:active { text-decoration: underline; } -.markdown strong { +.markdown-body strong { font-weight: 600; } -.markdown hr { +.markdown-body hr { height: 0; margin: 15px 0; overflow: hidden; @@ -327,170 +327,170 @@ border-bottom: 1px solid #ddd; } -.markdown hr::before { +.markdown-body hr::before { display: table; content: ""; } -.markdown hr::after { +.markdown-body hr::after { display: table; clear: both; content: ""; } -.markdown table { +.markdown-body table { border-spacing: 0; border-collapse: collapse; } -.markdown td, -.markdown th { +.markdown-body td, +.markdown-body th { padding: 0; } -.markdown h1, -.markdown h2, -.markdown h3, -.markdown h4, -.markdown h5, -.markdown h6 { +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { margin-top: 0; margin-bottom: 0; } -.markdown h1 { +.markdown-body h1 { font-size: 32px; font-weight: 600; } -.markdown h2 { +.markdown-body h2 { font-size: 24px; font-weight: 600; } -.markdown h3 { +.markdown-body h3 { font-size: 20px; font-weight: 600; } -.markdown h4 { +.markdown-body h4 { font-size: 16px; font-weight: 600; } -.markdown h5 { +.markdown-body h5 { font-size: 14px; font-weight: 600; } -.markdown h6 { +.markdown-body h6 { font-size: 12px; font-weight: 600; } -.markdown p { +.markdown-body p { margin-top: 0; margin-bottom: 10px; } -.markdown blockquote { +.markdown-body blockquote { margin: 0; } -.markdown ul, -.markdown ol { +.markdown-body ul, +.markdown-body ol { padding-left: 0; margin-top: 0; margin-bottom: 0; } -.markdown ol ol, -.markdown ul ol { +.markdown-body ol ol, +.markdown-body ul ol { list-style-type: lower-roman; } -.markdown ul ul ol, -.markdown ul ol ol, -.markdown ol ul ol, -.markdown ol ol ol { +.markdown-body ul ul ol, +.markdown-body ul ol ol, +.markdown-body ol ul ol, +.markdown-body ol ol ol { list-style-type: lower-alpha; } -.markdown dd { +.markdown-body dd { margin-left: 0; } -.markdown code { +.markdown-body code { font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; } -.markdown pre { +.markdown-body pre { margin-top: 0; margin-bottom: 0; font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; } -.markdown .octicon { +.markdown-body .octicon { vertical-align: text-bottom; } -.markdown input { +.markdown-body input { -webkit-font-feature-settings: "liga" 0; font-feature-settings: "liga" 0; } -.markdown .form-select::-ms-expand { +.markdown-body .form-select::-ms-expand { opacity: 0; } -.markdown::before { +.markdown-body::before { display: table; content: ""; } -.markdown::after { +.markdown-body::after { display: table; clear: both; content: ""; } -.markdown>*:first-child { +.markdown-body>*:first-child { margin-top: 0 !important; } -.markdown>*:last-child { +.markdown-body>*:last-child { margin-bottom: 0 !important; } -.markdown a:not([href]) { +.markdown-body a:not([href]) { color: inherit; text-decoration: none; } -.markdown .anchor { +.markdown-body .anchor { float: left; padding-right: 4px; margin-left: -20px; line-height: 1; } -.markdown .anchor:focus { +.markdown-body .anchor:focus { outline: none; } -.markdown p, -.markdown blockquote, -.markdown ul, -.markdown ol, -.markdown dl, -.markdown table, -.markdown pre { +.markdown-body p, +.markdown-body blockquote, +.markdown-body ul, +.markdown-body ol, +.markdown-body dl, +.markdown-body table, +.markdown-body pre { margin-top: 0; margin-bottom: 16px; } -.markdown hr { +.markdown-body hr { height: 0.25em; padding: 0; margin: 24px 0; @@ -498,21 +498,21 @@ border: 0; } -.markdown blockquote { +.markdown-body blockquote { padding: 0 1em; color: #777; border-left: 0.25em solid #ddd; } -.markdown blockquote>:first-child { +.markdown-body blockquote>:first-child { margin-top: 0; } -.markdown blockquote>:last-child { +.markdown-body blockquote>:last-child { margin-bottom: 0; } -.markdown kbd { +.markdown-body kbd { display: inline-block; padding: 3px 5px; font-size: 11px; @@ -526,102 +526,102 @@ box-shadow: inset 0 -1px 0 #bbb; } -.markdown h1, -.markdown h2, -.markdown h3, -.markdown h4, -.markdown h5, -.markdown h6 { +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { margin-top: 24px; margin-bottom: 16px; font-weight: 600; line-height: 1.25; } -.markdown h1 .octicon-link, -.markdown h2 .octicon-link, -.markdown h3 .octicon-link, -.markdown h4 .octicon-link, -.markdown h5 .octicon-link, -.markdown h6 .octicon-link { +.markdown-body h1 .octicon-link, +.markdown-body h2 .octicon-link, +.markdown-body h3 .octicon-link, +.markdown-body h4 .octicon-link, +.markdown-body h5 .octicon-link, +.markdown-body h6 .octicon-link { color: #000; vertical-align: middle; visibility: hidden; } -.markdown h1:hover .anchor, -.markdown h2:hover .anchor, -.markdown h3:hover .anchor, -.markdown h4:hover .anchor, -.markdown h5:hover .anchor, -.markdown h6:hover .anchor { +.markdown-body h1:hover .anchor, +.markdown-body h2:hover .anchor, +.markdown-body h3:hover .anchor, +.markdown-body h4:hover .anchor, +.markdown-body h5:hover .anchor, +.markdown-body h6:hover .anchor { text-decoration: none; } -.markdown h1:hover .anchor .octicon-link, -.markdown h2:hover .anchor .octicon-link, -.markdown h3:hover .anchor .octicon-link, -.markdown h4:hover .anchor .octicon-link, -.markdown h5:hover .anchor .octicon-link, -.markdown h6:hover .anchor .octicon-link { +.markdown-body h1:hover .anchor .octicon-link, +.markdown-body h2:hover .anchor .octicon-link, +.markdown-body h3:hover .anchor .octicon-link, +.markdown-body h4:hover .anchor .octicon-link, +.markdown-body h5:hover .anchor .octicon-link, +.markdown-body h6:hover .anchor .octicon-link { visibility: visible; } -.markdown h1 { +.markdown-body h1 { padding-bottom: 0.3em; font-size: 2em; border-bottom: 1px solid #eee; } -.markdown h2 { +.markdown-body h2 { padding-bottom: 0.3em; font-size: 1.5em; border-bottom: 1px solid #eee; } -.markdown h3 { +.markdown-body h3 { font-size: 1.25em; } -.markdown h4 { +.markdown-body h4 { font-size: 1em; } -.markdown h5 { +.markdown-body h5 { font-size: 0.875em; } -.markdown h6 { +.markdown-body h6 { font-size: 0.85em; color: #777; } -.markdown ul, -.markdown ol { +.markdown-body ul, +.markdown-body ol { padding-left: 2em; } -.markdown ul ul, -.markdown ul ol, -.markdown ol ol, -.markdown ol ul { +.markdown-body ul ul, +.markdown-body ul ol, +.markdown-body ol ol, +.markdown-body ol ul { margin-top: 0; margin-bottom: 0; } -.markdown li>p { +.markdown-body li>p { margin-top: 16px; } -.markdown li+li { +.markdown-body li+li { margin-top: 0.25em; } -.markdown dl { +.markdown-body dl { padding: 0; } -.markdown dl dt { +.markdown-body dl dt { padding: 0; margin-top: 16px; font-size: 1em; @@ -629,12 +629,12 @@ font-weight: bold; } -.markdown dl dd { +.markdown-body dl dd { padding: 0 16px; margin-bottom: 16px; } -.markdown table { +.markdown-body table { display: block; width: 100%; overflow: auto; @@ -642,32 +642,32 @@ word-break: keep-all; } -.markdown table th { +.markdown-body table th { font-weight: bold; } -.markdown table th, -.markdown table td { +.markdown-body table th, +.markdown-body table td { padding: 6px 13px; border: 1px solid #ddd; } -.markdown table tr { +.markdown-body table tr { background-color: #fff; border-top: 1px solid #ccc; } -.markdown table tr:nth-child(2n) { +.markdown-body table tr:nth-child(2n) { background-color: #f8f8f8; } -.markdown img { +.markdown-body img { max-width: 100%; box-sizing: content-box; background-color: #fff; } -.markdown code { +.markdown-body code { padding: 0; padding-top: 0.2em; padding-bottom: 0.2em; @@ -677,17 +677,17 @@ border-radius: 3px; } -.markdown code::before, -.markdown code::after { +.markdown-body code::before, +.markdown-body code::after { letter-spacing: -0.2em; content: "\00a0"; } -.markdown pre { +.markdown-body pre { word-wrap: normal; } -.markdown pre>code { +.markdown-body pre>code { padding: 0; margin: 0; font-size: 100%; @@ -697,17 +697,17 @@ border: 0; } -.markdown .highlight { +.markdown-body .highlight { margin-bottom: 16px; } -.markdown .highlight pre { +.markdown-body .highlight pre { margin-bottom: 0; word-break: normal; } -.markdown .highlight pre, -.markdown pre { +.markdown-body .highlight pre, +.markdown-body pre { padding: 16px; overflow: auto; font-size: 85%; @@ -716,7 +716,7 @@ border-radius: 3px; } -.markdown pre code { +.markdown-body pre code { display: inline; max-width: auto; padding: 0; @@ -728,45 +728,45 @@ border: 0; } -.markdown pre code::before, -.markdown pre code::after { +.markdown-body pre code::before, +.markdown-body pre code::after { content: normal; } -.markdown .pl-0 { +.markdown-body .pl-0 { padding-left: 0 !important; } -.markdown .pl-1 { +.markdown-body .pl-1 { padding-left: 3px !important; } -.markdown .pl-2 { +.markdown-body .pl-2 { padding-left: 6px !important; } -.markdown .pl-3 { +.markdown-body .pl-3 { padding-left: 12px !important; } -.markdown .pl-4 { +.markdown-body .pl-4 { padding-left: 24px !important; } -.markdown .pl-5 { +.markdown-body .pl-5 { padding-left: 36px !important; } -.markdown .pl-6 { +.markdown-body .pl-6 { padding-left: 48px !important; } -.markdown .full-commit .btn-outline:not(:disabled):hover { +.markdown-body .full-commit .btn-outline:not(:disabled):hover { color: #4078c0; border: 1px solid #4078c0; } -.markdown kbd { +.markdown-body kbd { display: inline-block; padding: 3px 5px; font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; @@ -780,25 +780,25 @@ box-shadow: inset 0 -1px 0 #bbb; } -.markdown :checked+.radio-label { +.markdown-body :checked+.radio-label { position: relative; z-index: 1; border-color: #4078c0; } -.markdown .task-list-item { +.markdown-body .task-list-item { list-style-type: none; } -.markdown .task-list-item+.task-list-item { +.markdown-body .task-list-item+.task-list-item { margin-top: 3px; } -.markdown .task-list-item input { +.markdown-body .task-list-item input { margin: 0 0.2em 0.25em -1.6em; vertical-align: middle; } -.markdown hr { +.markdown-body hr { border-bottom-color: #eee; } From c33c71590ae8dd5fbe09091d95d6f81614bf3e43 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Fri, 2 Sep 2016 00:28:24 +0900 Subject: [PATCH 07/18] fix: Remove the ANCHORLINKS option - added some markdown syntax tests --- .../apache/zeppelin/markdown/Markdown.java | 20 +- .../zeppelin/markdown/MarkdownTest.java | 227 ++++++++++++++---- 2 files changed, 193 insertions(+), 54 deletions(-) diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java index 3394f75b1a9..1ec17d64437 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java @@ -44,9 +44,19 @@ public Markdown(Properties property) { super(property); } + /** wrap with markdown class div to styling DOM using css */ + public static String wrapHtmlWithMarkdownClassDiv(String html) { + return new StringBuilder() + .append("
\n") + .append(html) + .append("\n
") + .toString(); + } + @Override public void open() { - md = new PegDownProcessor(Extensions.ALL_WITH_OPTIONALS, 5000); + int pegdownOptions = Extensions.ALL_WITH_OPTIONALS - Extensions.ANCHORLINKS; + md = new PegDownProcessor(pegdownOptions, 5000); } @Override @@ -60,13 +70,7 @@ public InterpreterResult interpret(String st, InterpreterContext interpreterCont String parsed = md.markdownToHtml(st); if (null == parsed) throw new RuntimeException("Cannot parse markdown syntax string to HTML"); - /** wrap with markdown class div to support markdown syntax using css */ - html = - new StringBuilder() - .append("
\n") - .append(parsed) - .append("\n
") - .toString(); + html = wrapHtmlWithMarkdownClassDiv(parsed); } catch (java.lang.RuntimeException e) { LOGGER.error("Exception in Markdown while interpret ", e); diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java index f1aa54be427..4d7052661d5 100644 --- a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java +++ b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java @@ -22,7 +22,7 @@ import java.util.Properties; import org.apache.zeppelin.interpreter.InterpreterResult; -import org.apache.zeppelin.markdown.Markdown; +import static org.apache.zeppelin.markdown.Markdown.wrapHtmlWithMarkdownClassDiv; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -42,22 +42,155 @@ public void tearDown() throws Exception { md.close(); } + @Test + public void testHeader() { + InterpreterResult r1 = md.interpret("# H1", null); + assertEquals(wrapHtmlWithMarkdownClassDiv("

H1

"), r1.message()); + + InterpreterResult r2 = md.interpret("## H2", null); + assertEquals(wrapHtmlWithMarkdownClassDiv("

H2

"), r2.message()); + + InterpreterResult r3 = md.interpret("### H3", null); + assertEquals(wrapHtmlWithMarkdownClassDiv("

H3

"), r3.message()); + + InterpreterResult r4 = md.interpret("#### H4", null); + assertEquals(wrapHtmlWithMarkdownClassDiv("

H4

"), r4.message()); + + InterpreterResult r5 = md.interpret("##### H5", null); + assertEquals(wrapHtmlWithMarkdownClassDiv("
H5
"), r5.message()); + + InterpreterResult r6 = md.interpret("###### H6", null); + assertEquals(wrapHtmlWithMarkdownClassDiv("
H6
"), r6.message()); + + InterpreterResult r7 = md.interpret("Alt-H1\n" + "======", null); + assertEquals(wrapHtmlWithMarkdownClassDiv("

Alt-H1

"), r7.message()); + + InterpreterResult r8 = md.interpret("Alt-H2\n" + "------", null); + assertEquals(wrapHtmlWithMarkdownClassDiv("

Alt-H2

"), r8.message()); + } + @Test public void testStrikethrough() { InterpreterResult result = md.interpret("This is ~~deleted~~ text", null); - assertEquals("

This is deleted text

", result.message()); + assertEquals( + wrapHtmlWithMarkdownClassDiv("

This is deleted text

"), result.message()); } @Test public void testItalics() { InterpreterResult result = md.interpret("This is *italics* text", null); - assertEquals("

This is italics text

", result.message()); + assertEquals( + wrapHtmlWithMarkdownClassDiv("

This is italics text

"), result.message()); } @Test public void testStrongEmphasis() { InterpreterResult result = md.interpret("This is **strong emphasis** text", null); - assertEquals("

This is strong emphasis text

", result.message()); + assertEquals( + wrapHtmlWithMarkdownClassDiv("

This is strong emphasis text

"), + result.message()); + } + + @Test + public void testOrderedList() { + InterpreterResult result = + md.interpret("1. First ordered list item\n" + "2. Another item", null); + assertEquals( + wrapHtmlWithMarkdownClassDiv( + "
    \n" + + "
  1. First ordered list item
  2. \n" + + "
  3. Another item
  4. \n" + + "
"), + result.message()); + } + + @Test + public void testUnorderedList() { + InterpreterResult result = + md.interpret( + "* Unordered list can use asterisks\n" + "- Or minuses\n" + "+ Or pluses", null); + assertEquals( + wrapHtmlWithMarkdownClassDiv( + "
    \n" + + "
  • Unordered list can use asterisks
  • \n" + + "
  • Or minuses
  • \n" + + "
  • Or pluses
  • \n" + + "
"), + result.message()); + } + + @Test + public void testLinks() { + InterpreterResult result = + md.interpret( + "[I'm an inline-style link](https://www.google.com)\n" + + "\n" + + "[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n" + + "\n" + + "[I'm a reference-style link][Arbitrary case-insensitive reference text]\n" + + "\n" + + "[I'm a relative reference to a repository file](../blob/master/LICENSE)\n" + + "\n" + + "[You can use numbers for reference-style link definitions][1]\n" + + "\n" + + "Or leave it empty and use the [link text itself].\n" + + "\n" + + "URLs and URLs in angle brackets will automatically get turned into links. \n" + + "http://www.example.com or and sometimes \n" + + "example.com (but not on Github, for example).\n" + + "\n" + + "Some text to show that the reference links can follow later.\n" + + "\n" + + "[arbitrary case-insensitive reference text]: https://www.mozilla.org\n" + + "[1]: http://slashdot.org\n" + + "[link text itself]: http://www.reddit.com", + null); + assertEquals( + wrapHtmlWithMarkdownClassDiv( + "

I’m an inline-style link

\n" + + "

I’m an inline-style link with title

\n" + + "

I’m a reference-style link

\n" + + "

I’m a relative reference to a repository file

\n" + + "

You can use numbers for reference-style link definitions

\n" + + "

Or leave it empty and use the link text itself.

\n" + + "

URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or http://www.example.com and sometimes
example.com (but not on Github, for example).

\n" + + "

Some text to show that the reference links can follow later.

"), + result.message()); + } + + @Test + public void testInlineCode() { + InterpreterResult result = md.interpret("Inline `code` has `back-ticks around` it.", null); + assertEquals( + wrapHtmlWithMarkdownClassDiv( + "

Inline code has back-ticks around it.

"), + result.message()); + } + + @Test + public void testBlockQuotes() { + InterpreterResult r1 = + md.interpret( + "> Blockquotes are very handy in email to emulate reply text.\n" + + "> This line is part of the same quote.", + null); + assertEquals( + wrapHtmlWithMarkdownClassDiv( + "
\n" + + "

Blockquotes are very handy in email to emulate reply text.
This line is part of the same quote.

\n" + + "
"), + r1.message()); + + InterpreterResult r2 = + md.interpret( + "> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote. ", + null); + assertEquals( + wrapHtmlWithMarkdownClassDiv( + "
\n" + + "

This is a very long line that will still be quoted properly when it wraps. Oh boy let’s keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can put Markdown into a blockquote.

\n" + + "
"), + r2.message()); } @Test @@ -71,27 +204,28 @@ public void testSimpleTable() { null); assertEquals( - "\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + "
Markdown Less Pretty
Still renders nicely
1 2 3
", + wrapHtmlWithMarkdownClassDiv( + "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
Markdown Less Pretty
Still renders nicely
1 2 3
"), result.message()); } @@ -106,27 +240,28 @@ public void testAlignedTable() { null); assertEquals( - "\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + "
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
", + wrapHtmlWithMarkdownClassDiv( + "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
"), result.message()); } } From 55a2f1025483b8be705bfd94734c968a6acfa9ce Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Fri, 2 Sep 2016 23:24:35 +0900 Subject: [PATCH 08/18] fix: Add MarkdownParser interface to support mulitple parsers --- ...Markdown.java => MarkdownInterpreter.java} | 41 +-- .../zeppelin/markdown/MarkdownParser.java | 6 + .../zeppelin/markdown/PegdownParser.java | 45 +++ .../zeppelin/markdown/MarkdownTest.java | 267 ---------------- .../zeppelin/markdown/PegdownParserTest.java | 302 ++++++++++++++++++ 5 files changed, 365 insertions(+), 296 deletions(-) rename markdown/src/main/java/org/apache/zeppelin/markdown/{Markdown.java => MarkdownInterpreter.java} (62%) create mode 100644 markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownParser.java create mode 100644 markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java delete mode 100644 markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java create mode 100644 markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java similarity index 62% rename from markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java rename to markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java index 1ec17d64437..c216baa4cab 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java @@ -28,52 +28,35 @@ import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion; import org.apache.zeppelin.scheduler.Scheduler; import org.apache.zeppelin.scheduler.SchedulerFactory; -import org.pegdown.Extensions; -import org.pegdown.LinkRenderer; -import org.pegdown.PegDownProcessor; -import org.pegdown.ast.RootNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** Markdown interpreter for Zeppelin. */ -public class Markdown extends Interpreter { - private PegDownProcessor md; - static final Logger LOGGER = LoggerFactory.getLogger(Markdown.class); +/** MarkdownInterpreter interpreter for Zeppelin. */ +public class MarkdownInterpreter extends Interpreter { + private final Logger logger = LoggerFactory.getLogger(MarkdownInterpreter.class); - public Markdown(Properties property) { - super(property); - } + private MarkdownParser parser; - /** wrap with markdown class div to styling DOM using css */ - public static String wrapHtmlWithMarkdownClassDiv(String html) { - return new StringBuilder() - .append("
\n") - .append(html) - .append("\n
") - .toString(); + public MarkdownInterpreter(Properties property) { + super(property); } @Override public void open() { - int pegdownOptions = Extensions.ALL_WITH_OPTIONALS - Extensions.ANCHORLINKS; - md = new PegDownProcessor(pegdownOptions, 5000); + parser = new PegdownParser(); } @Override public void close() {} @Override - public InterpreterResult interpret(String st, InterpreterContext interpreterContext) { + public InterpreterResult interpret(String markdownText, InterpreterContext interpreterContext) { String html; try { - String parsed = md.markdownToHtml(st); - if (null == parsed) throw new RuntimeException("Cannot parse markdown syntax string to HTML"); - - html = wrapHtmlWithMarkdownClassDiv(parsed); - - } catch (java.lang.RuntimeException e) { - LOGGER.error("Exception in Markdown while interpret ", e); + html = parser.render(markdownText); + } catch (Exception e) { + logger.error("Exception in MarkdownInterpreter while interpret ", e); return new InterpreterResult(Code.ERROR, InterpreterUtils.getMostRelevantMessage(e)); } @@ -96,7 +79,7 @@ public int getProgress(InterpreterContext context) { @Override public Scheduler getScheduler() { return SchedulerFactory.singleton() - .createOrGetParallelScheduler(Markdown.class.getName() + this.hashCode(), 5); + .createOrGetParallelScheduler(MarkdownInterpreter.class.getName() + this.hashCode(), 5); } @Override diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownParser.java new file mode 100644 index 00000000000..7266e004a57 --- /dev/null +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownParser.java @@ -0,0 +1,6 @@ +package org.apache.zeppelin.markdown; + +/** Abstract Markdown Parser. */ +public interface MarkdownParser { + String render(String markdownText); +} diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java new file mode 100644 index 00000000000..7d71721ccb9 --- /dev/null +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java @@ -0,0 +1,45 @@ +package org.apache.zeppelin.markdown; + +import org.pegdown.Extensions; +import org.pegdown.PegDownProcessor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** Pegdown Markdown Parser. */ +public class PegdownParser implements MarkdownParser { + private PegDownProcessor processor; + + private final Logger logger = LoggerFactory.getLogger(PegdownParser.class); + + public PegdownParser() { + int pegdownOptions = Extensions.ALL_WITH_OPTIONALS - Extensions.ANCHORLINKS; + int parsingTimeoutAsMillis = 5000; + processor = new PegDownProcessor(pegdownOptions, parsingTimeoutAsMillis); + } + + @Override + public String render(String markdownText) { + String html = ""; + + try { + String parsed = processor.markdownToHtml(markdownText); + if (null == parsed) throw new RuntimeException("Cannot parse markdown syntax string to HTML"); + + html = wrapWithMarkdownClassDiv(parsed); + + } catch (RuntimeException e) { + logger.error("Failed to parsed markdown text", e); + } + + return html; + } + + /** wrap with markdown class div to styling DOM using css */ + public static String wrapWithMarkdownClassDiv(String html) { + return new StringBuilder() + .append("
\n") + .append(html) + .append("\n
") + .toString(); + } +} diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java deleted file mode 100644 index 4d7052661d5..00000000000 --- a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java +++ /dev/null @@ -1,267 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.zeppelin.markdown; - -import static org.junit.Assert.assertEquals; - -import java.util.Properties; - -import org.apache.zeppelin.interpreter.InterpreterResult; -import static org.apache.zeppelin.markdown.Markdown.wrapHtmlWithMarkdownClassDiv; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -public class MarkdownTest { - - Markdown md; - - @Before - public void setUp() throws Exception { - md = new Markdown(new Properties()); - md.open(); - } - - @After - public void tearDown() throws Exception { - md.close(); - } - - @Test - public void testHeader() { - InterpreterResult r1 = md.interpret("# H1", null); - assertEquals(wrapHtmlWithMarkdownClassDiv("

H1

"), r1.message()); - - InterpreterResult r2 = md.interpret("## H2", null); - assertEquals(wrapHtmlWithMarkdownClassDiv("

H2

"), r2.message()); - - InterpreterResult r3 = md.interpret("### H3", null); - assertEquals(wrapHtmlWithMarkdownClassDiv("

H3

"), r3.message()); - - InterpreterResult r4 = md.interpret("#### H4", null); - assertEquals(wrapHtmlWithMarkdownClassDiv("

H4

"), r4.message()); - - InterpreterResult r5 = md.interpret("##### H5", null); - assertEquals(wrapHtmlWithMarkdownClassDiv("
H5
"), r5.message()); - - InterpreterResult r6 = md.interpret("###### H6", null); - assertEquals(wrapHtmlWithMarkdownClassDiv("
H6
"), r6.message()); - - InterpreterResult r7 = md.interpret("Alt-H1\n" + "======", null); - assertEquals(wrapHtmlWithMarkdownClassDiv("

Alt-H1

"), r7.message()); - - InterpreterResult r8 = md.interpret("Alt-H2\n" + "------", null); - assertEquals(wrapHtmlWithMarkdownClassDiv("

Alt-H2

"), r8.message()); - } - - @Test - public void testStrikethrough() { - InterpreterResult result = md.interpret("This is ~~deleted~~ text", null); - assertEquals( - wrapHtmlWithMarkdownClassDiv("

This is deleted text

"), result.message()); - } - - @Test - public void testItalics() { - InterpreterResult result = md.interpret("This is *italics* text", null); - assertEquals( - wrapHtmlWithMarkdownClassDiv("

This is italics text

"), result.message()); - } - - @Test - public void testStrongEmphasis() { - InterpreterResult result = md.interpret("This is **strong emphasis** text", null); - assertEquals( - wrapHtmlWithMarkdownClassDiv("

This is strong emphasis text

"), - result.message()); - } - - @Test - public void testOrderedList() { - InterpreterResult result = - md.interpret("1. First ordered list item\n" + "2. Another item", null); - assertEquals( - wrapHtmlWithMarkdownClassDiv( - "
    \n" - + "
  1. First ordered list item
  2. \n" - + "
  3. Another item
  4. \n" - + "
"), - result.message()); - } - - @Test - public void testUnorderedList() { - InterpreterResult result = - md.interpret( - "* Unordered list can use asterisks\n" + "- Or minuses\n" + "+ Or pluses", null); - assertEquals( - wrapHtmlWithMarkdownClassDiv( - "
    \n" - + "
  • Unordered list can use asterisks
  • \n" - + "
  • Or minuses
  • \n" - + "
  • Or pluses
  • \n" - + "
"), - result.message()); - } - - @Test - public void testLinks() { - InterpreterResult result = - md.interpret( - "[I'm an inline-style link](https://www.google.com)\n" - + "\n" - + "[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n" - + "\n" - + "[I'm a reference-style link][Arbitrary case-insensitive reference text]\n" - + "\n" - + "[I'm a relative reference to a repository file](../blob/master/LICENSE)\n" - + "\n" - + "[You can use numbers for reference-style link definitions][1]\n" - + "\n" - + "Or leave it empty and use the [link text itself].\n" - + "\n" - + "URLs and URLs in angle brackets will automatically get turned into links. \n" - + "http://www.example.com or and sometimes \n" - + "example.com (but not on Github, for example).\n" - + "\n" - + "Some text to show that the reference links can follow later.\n" - + "\n" - + "[arbitrary case-insensitive reference text]: https://www.mozilla.org\n" - + "[1]: http://slashdot.org\n" - + "[link text itself]: http://www.reddit.com", - null); - assertEquals( - wrapHtmlWithMarkdownClassDiv( - "

I’m an inline-style link

\n" - + "

I’m an inline-style link with title

\n" - + "

I’m a reference-style link

\n" - + "

I’m a relative reference to a repository file

\n" - + "

You can use numbers for reference-style link definitions

\n" - + "

Or leave it empty and use the link text itself.

\n" - + "

URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or http://www.example.com and sometimes
example.com (but not on Github, for example).

\n" - + "

Some text to show that the reference links can follow later.

"), - result.message()); - } - - @Test - public void testInlineCode() { - InterpreterResult result = md.interpret("Inline `code` has `back-ticks around` it.", null); - assertEquals( - wrapHtmlWithMarkdownClassDiv( - "

Inline code has back-ticks around it.

"), - result.message()); - } - - @Test - public void testBlockQuotes() { - InterpreterResult r1 = - md.interpret( - "> Blockquotes are very handy in email to emulate reply text.\n" - + "> This line is part of the same quote.", - null); - assertEquals( - wrapHtmlWithMarkdownClassDiv( - "
\n" - + "

Blockquotes are very handy in email to emulate reply text.
This line is part of the same quote.

\n" - + "
"), - r1.message()); - - InterpreterResult r2 = - md.interpret( - "> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote. ", - null); - assertEquals( - wrapHtmlWithMarkdownClassDiv( - "
\n" - + "

This is a very long line that will still be quoted properly when it wraps. Oh boy let’s keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can put Markdown into a blockquote.

\n" - + "
"), - r2.message()); - } - - @Test - public void testSimpleTable() { - InterpreterResult result = - md.interpret( - "Markdown | Less | Pretty\n" - + "--- | --- | ---\n" - + "*Still* | `renders` | **nicely**\n" - + "1 | 2 | 3", - null); - - assertEquals( - wrapHtmlWithMarkdownClassDiv( - "\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + "
Markdown Less Pretty
Still renders nicely
1 2 3
"), - result.message()); - } - - @Test - public void testAlignedTable() { - InterpreterResult result = - md.interpret( - "| First Header | Second Header | Third Header |\n" - + "| :----------- | :-----------: | -------------------: |\n" - + "| First row | Data | Very long data entry |\n" - + "| Second row | **Cell** | *Cell* |", - null); - - assertEquals( - wrapHtmlWithMarkdownClassDiv( - "\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + "
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
"), - result.message()); - } -} diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java new file mode 100644 index 00000000000..aed71ccbae5 --- /dev/null +++ b/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java @@ -0,0 +1,302 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.zeppelin.markdown; + +import static org.junit.Assert.assertEquals; + +import java.util.Properties; + +import org.apache.zeppelin.interpreter.InterpreterResult; +import static org.apache.zeppelin.markdown.PegdownParser.wrapWithMarkdownClassDiv; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class PegdownParserTest { + + MarkdownInterpreter pegdownInterpreter; + + @Before + public void setUp() throws Exception { + pegdownInterpreter = new MarkdownInterpreter(new Properties()); + pegdownInterpreter.open(); + } + + @After + public void tearDown() throws Exception { + pegdownInterpreter.close(); + } + + @Test + public void testHeader() { + InterpreterResult r1 = pegdownInterpreter.interpret("# H1", null); + assertEquals(wrapWithMarkdownClassDiv("

H1

"), r1.message()); + + InterpreterResult r2 = pegdownInterpreter.interpret("## H2", null); + assertEquals(wrapWithMarkdownClassDiv("

H2

"), r2.message()); + + InterpreterResult r3 = pegdownInterpreter.interpret("### H3", null); + assertEquals(wrapWithMarkdownClassDiv("

H3

"), r3.message()); + + InterpreterResult r4 = pegdownInterpreter.interpret("#### H4", null); + assertEquals(wrapWithMarkdownClassDiv("

H4

"), r4.message()); + + InterpreterResult r5 = pegdownInterpreter.interpret("##### H5", null); + assertEquals(wrapWithMarkdownClassDiv("
H5
"), r5.message()); + + InterpreterResult r6 = pegdownInterpreter.interpret("###### H6", null); + assertEquals(wrapWithMarkdownClassDiv("
H6
"), r6.message()); + + InterpreterResult r7 = pegdownInterpreter.interpret("Alt-H1\n" + "======", null); + assertEquals(wrapWithMarkdownClassDiv("

Alt-H1

"), r7.message()); + + InterpreterResult r8 = pegdownInterpreter.interpret("Alt-H2\n" + "------", null); + assertEquals(wrapWithMarkdownClassDiv("

Alt-H2

"), r8.message()); + } + + @Test + public void testStrikethrough() { + InterpreterResult result = pegdownInterpreter.interpret("This is ~~deleted~~ text", null); + assertEquals( + wrapWithMarkdownClassDiv("

This is deleted text

"), result.message()); + } + + @Test + public void testItalics() { + InterpreterResult result = pegdownInterpreter.interpret("This is *italics* text", null); + assertEquals( + wrapWithMarkdownClassDiv("

This is italics text

"), result.message()); + } + + @Test + public void testStrongEmphasis() { + InterpreterResult result = + pegdownInterpreter.interpret("This is **strong emphasis** text", null); + assertEquals( + wrapWithMarkdownClassDiv("

This is strong emphasis text

"), + result.message()); + } + + @Test + public void testOrderedList() { + String input = + new StringBuilder() + .append("1. First ordered list item\n") + .append("2. Another item") + .toString(); + + String expected = + new StringBuilder() + .append("
    \n") + .append("
  1. First ordered list item
  2. \n") + .append("
  3. Another item
  4. \n") + .append("
") + .toString(); + + InterpreterResult result = pegdownInterpreter.interpret(input, null); + assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); + } + + @Test + public void testUnorderedList() { + String input = + new StringBuilder() + .append("* Unordered list can use asterisks\n") + .append("- Or minuses\n") + .append("+ Or pluses") + .toString(); + + String expected = + new StringBuilder() + .append("
    \n") + .append("
  • Unordered list can use asterisks
  • \n") + .append("
  • Or minuses
  • \n") + .append("
  • Or pluses
  • \n") + .append("
") + .toString(); + + InterpreterResult result = pegdownInterpreter.interpret(input, null); + assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); + } + + @Test + public void testLinks() { + String input = + new StringBuilder() + .append("[I'm an inline-style link](https://www.google.com)\n") + .append("\n") + .append( + "[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n") + .append("\n") + .append("[I'm a reference-style link][Arbitrary case-insensitive reference text]\n") + .append("\n") + .append("[I'm a relative reference to a repository file](../blob/master/LICENSE)\n") + .append("\n") + .append("[You can use numbers for reference-style link definitions][1]\n") + .append("\n") + .append("Or leave it empty and use the [link text itself].\n") + .append("\n") + .append("URLs and URLs in angle brackets will automatically get turned into links. \n") + .append("http://www.example.com or and sometimes \n") + .append("example.com (but not on Github, for example).\n") + .append("\n") + .append("Some text to show that the reference links can follow later.\n") + .append("\n") + .append("[arbitrary case-insensitive reference text]: https://www.mozilla.org\n") + .append("[1]: http://slashdot.org\n") + .append("[link text itself]: http://www.reddit.com") + .toString(); + + String expected = + new StringBuilder() + .append( + "

I’m an inline-style link

\n") + .append( + "

I’m an inline-style link with title

\n") + .append( + "

I’m a reference-style link

\n") + .append( + "

I’m a relative reference to a repository file

\n") + .append( + "

You can use numbers for reference-style link definitions

\n") + .append( + "

Or leave it empty and use the link text itself.

\n") + .append( + "

URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or http://www.example.com and sometimes
example.com (but not on Github, for example).

\n") + .append("

Some text to show that the reference links can follow later.

") + .toString(); + + InterpreterResult result = pegdownInterpreter.interpret(input, null); + assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); + } + + @Test + public void testInlineCode() { + InterpreterResult result = + pegdownInterpreter.interpret("Inline `code` has `back-ticks around` it.", null); + assertEquals( + wrapWithMarkdownClassDiv( + "

Inline code has back-ticks around it.

"), + result.message()); + } + + @Test + public void testBlockQuotes() { + InterpreterResult r1 = + pegdownInterpreter.interpret( + "> Blockquotes are very handy in email to emulate reply text.\n" + + "> This line is part of the same quote.", + null); + assertEquals( + wrapWithMarkdownClassDiv( + "
\n" + + "

Blockquotes are very handy in email to emulate reply text.
This line is part of the same quote.

\n" + + "
"), + r1.message()); + + InterpreterResult r2 = + pegdownInterpreter.interpret( + "> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **MarkdownInterpreter** into a blockquote. ", + null); + assertEquals( + wrapWithMarkdownClassDiv( + "
\n" + + "

This is a very long line that will still be quoted properly when it wraps. Oh boy let’s keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can put MarkdownInterpreter into a blockquote.

\n" + + "
"), + r2.message()); + } + + @Test + public void testSimpleTable() { + String input = + new StringBuilder() + .append("MarkdownInterpreter | Less | Pretty\n") + .append("--- | --- | ---\n") + .append("*Still* | `renders` | **nicely**\n") + .append("1 | 2 | 3") + .toString(); + + String expected = + new StringBuilder() + .append("\n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append("
MarkdownInterpreter Less Pretty
Still renders nicely
1 2 3
") + .toString(); + + InterpreterResult result = pegdownInterpreter.interpret(input, null); + assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); + } + + @Test + public void testAlignedTable() { + + String input = + new StringBuilder() + .append("| First Header | Second Header | Third Header |\n") + .append("| :----------- | :-----------: | -------------------: |\n") + .append("| First row | Data | Very long data entry |\n") + .append("| Second row | **Cell** | *Cell* |") + .toString(); + + String expected = + new StringBuilder() + .append("\n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append("
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
") + .toString(); + + InterpreterResult result = pegdownInterpreter.interpret(input, null); + assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); + } +} From bf9100de31fb630ea19c61eda0f9b89f8382dd20 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Fri, 2 Sep 2016 23:25:03 +0900 Subject: [PATCH 09/18] chore: Restore markdown4j dependency --- markdown/pom.xml | 6 ++++++ zeppelin-distribution/src/bin_license/LICENSE | 1 + 2 files changed, 7 insertions(+) diff --git a/markdown/pom.xml b/markdown/pom.xml index 9d089474ad5..6f25f3e8e1e 100644 --- a/markdown/pom.xml +++ b/markdown/pom.xml @@ -45,6 +45,12 @@ slf4j-api + + org.commonjava.googlecode.markdown4j + markdown4j + 2.2-cj-1.0 + + org.pegdown pegdown diff --git a/zeppelin-distribution/src/bin_license/LICENSE b/zeppelin-distribution/src/bin_license/LICENSE index 83905f5f4e0..3ac76f303f8 100644 --- a/zeppelin-distribution/src/bin_license/LICENSE +++ b/zeppelin-distribution/src/bin_license/LICENSE @@ -199,6 +199,7 @@ The following components are provided under the BSD-style License. (BSD-like) ASM asm-tree (org.ow2.asm:asm-tree:5.0.3 - http://asm.ow2.org/) - Copyright (c) 2000-2011 INRIA, France Telecom (BSD-like) ASM asm-analysis (org.ow2.asm:asm-analysis:5.0.3 - http://asm.ow2.org/) - Copyright (c) 2000-2011 INRIA, France Telecom (BSD-like) ASM asm-utils (org.ow2.asm:asm-utils:5.0.3 - http://asm.ow2.org/) - Copyright (c) 2000-2011 INRIA, France Telecom + (New BSD License) Markdown4j (org.commonjava.googlecode.markdown4j:markdown4j:jar:2.2-cj-1.0 - https://code.google.com/p/markdown4j/) (New BSD License) Py4J (net.sf.py4j:py4j:0.9 - http://py4j.sourceforge.net/) (New BSD License) Py4J (net.sf.py4j:py4j:0.10.1 - http://py4j.sourceforge.net/) - https://github.com/bartdag/py4j/blob/0.10.1/LICENSE.txt (BSD 3 Clause) Paranamer (com.thoughtworks.paranamer:paranamer:jar:2.6) - https://github.com/paul-hammant/paranamer/blob/paranamer-parent-2.6/LICENSE.txt From d2d4455118191dfc89fc789dfefecfccc4c210cb Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Fri, 2 Sep 2016 23:28:50 +0900 Subject: [PATCH 10/18] style: Reformat using intellij-java-google-style --- .../markdown/MarkdownInterpreter.java | 2 +- .../zeppelin/markdown/PegdownParser.java | 9 +- .../zeppelin/markdown/PegdownParserTest.java | 294 +++++++++--------- 3 files changed, 152 insertions(+), 153 deletions(-) diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java index c216baa4cab..84bb7c1e766 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java @@ -79,7 +79,7 @@ public int getProgress(InterpreterContext context) { @Override public Scheduler getScheduler() { return SchedulerFactory.singleton() - .createOrGetParallelScheduler(MarkdownInterpreter.class.getName() + this.hashCode(), 5); + .createOrGetParallelScheduler(MarkdownInterpreter.class.getName() + this.hashCode(), 5); } @Override diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java index 7d71721ccb9..2236785d6b2 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java @@ -26,7 +26,6 @@ public String render(String markdownText) { if (null == parsed) throw new RuntimeException("Cannot parse markdown syntax string to HTML"); html = wrapWithMarkdownClassDiv(parsed); - } catch (RuntimeException e) { logger.error("Failed to parsed markdown text", e); } @@ -37,9 +36,9 @@ public String render(String markdownText) { /** wrap with markdown class div to styling DOM using css */ public static String wrapWithMarkdownClassDiv(String html) { return new StringBuilder() - .append("
\n") - .append(html) - .append("\n
") - .toString(); + .append("
\n") + .append(html) + .append("\n
") + .toString(); } } diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java index aed71ccbae5..9cea9d3921e 100644 --- a/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java +++ b/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java @@ -73,40 +73,40 @@ public void testHeader() { public void testStrikethrough() { InterpreterResult result = pegdownInterpreter.interpret("This is ~~deleted~~ text", null); assertEquals( - wrapWithMarkdownClassDiv("

This is deleted text

"), result.message()); + wrapWithMarkdownClassDiv("

This is deleted text

"), result.message()); } @Test public void testItalics() { InterpreterResult result = pegdownInterpreter.interpret("This is *italics* text", null); assertEquals( - wrapWithMarkdownClassDiv("

This is italics text

"), result.message()); + wrapWithMarkdownClassDiv("

This is italics text

"), result.message()); } @Test public void testStrongEmphasis() { InterpreterResult result = - pegdownInterpreter.interpret("This is **strong emphasis** text", null); + pegdownInterpreter.interpret("This is **strong emphasis** text", null); assertEquals( - wrapWithMarkdownClassDiv("

This is strong emphasis text

"), - result.message()); + wrapWithMarkdownClassDiv("

This is strong emphasis text

"), + result.message()); } @Test public void testOrderedList() { String input = - new StringBuilder() - .append("1. First ordered list item\n") - .append("2. Another item") - .toString(); + new StringBuilder() + .append("1. First ordered list item\n") + .append("2. Another item") + .toString(); String expected = - new StringBuilder() - .append("
    \n") - .append("
  1. First ordered list item
  2. \n") - .append("
  3. Another item
  4. \n") - .append("
") - .toString(); + new StringBuilder() + .append("
    \n") + .append("
  1. First ordered list item
  2. \n") + .append("
  3. Another item
  4. \n") + .append("
") + .toString(); InterpreterResult result = pegdownInterpreter.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); @@ -115,20 +115,20 @@ public void testOrderedList() { @Test public void testUnorderedList() { String input = - new StringBuilder() - .append("* Unordered list can use asterisks\n") - .append("- Or minuses\n") - .append("+ Or pluses") - .toString(); + new StringBuilder() + .append("* Unordered list can use asterisks\n") + .append("- Or minuses\n") + .append("+ Or pluses") + .toString(); String expected = - new StringBuilder() - .append("
    \n") - .append("
  • Unordered list can use asterisks
  • \n") - .append("
  • Or minuses
  • \n") - .append("
  • Or pluses
  • \n") - .append("
") - .toString(); + new StringBuilder() + .append("
    \n") + .append("
  • Unordered list can use asterisks
  • \n") + .append("
  • Or minuses
  • \n") + .append("
  • Or pluses
  • \n") + .append("
") + .toString(); InterpreterResult result = pegdownInterpreter.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); @@ -137,49 +137,49 @@ public void testUnorderedList() { @Test public void testLinks() { String input = - new StringBuilder() - .append("[I'm an inline-style link](https://www.google.com)\n") - .append("\n") - .append( - "[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n") - .append("\n") - .append("[I'm a reference-style link][Arbitrary case-insensitive reference text]\n") - .append("\n") - .append("[I'm a relative reference to a repository file](../blob/master/LICENSE)\n") - .append("\n") - .append("[You can use numbers for reference-style link definitions][1]\n") - .append("\n") - .append("Or leave it empty and use the [link text itself].\n") - .append("\n") - .append("URLs and URLs in angle brackets will automatically get turned into links. \n") - .append("http://www.example.com or and sometimes \n") - .append("example.com (but not on Github, for example).\n") - .append("\n") - .append("Some text to show that the reference links can follow later.\n") - .append("\n") - .append("[arbitrary case-insensitive reference text]: https://www.mozilla.org\n") - .append("[1]: http://slashdot.org\n") - .append("[link text itself]: http://www.reddit.com") - .toString(); + new StringBuilder() + .append("[I'm an inline-style link](https://www.google.com)\n") + .append("\n") + .append( + "[I'm an inline-style link with title](https://www.google.com \"Google's Homepage\")\n") + .append("\n") + .append("[I'm a reference-style link][Arbitrary case-insensitive reference text]\n") + .append("\n") + .append("[I'm a relative reference to a repository file](../blob/master/LICENSE)\n") + .append("\n") + .append("[You can use numbers for reference-style link definitions][1]\n") + .append("\n") + .append("Or leave it empty and use the [link text itself].\n") + .append("\n") + .append("URLs and URLs in angle brackets will automatically get turned into links. \n") + .append("http://www.example.com or and sometimes \n") + .append("example.com (but not on Github, for example).\n") + .append("\n") + .append("Some text to show that the reference links can follow later.\n") + .append("\n") + .append("[arbitrary case-insensitive reference text]: https://www.mozilla.org\n") + .append("[1]: http://slashdot.org\n") + .append("[link text itself]: http://www.reddit.com") + .toString(); String expected = - new StringBuilder() - .append( - "

I’m an inline-style link

\n") - .append( - "

I’m an inline-style link with title

\n") - .append( - "

I’m a reference-style link

\n") - .append( - "

I’m a relative reference to a repository file

\n") - .append( - "

You can use numbers for reference-style link definitions

\n") - .append( - "

Or leave it empty and use the link text itself.

\n") - .append( - "

URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or http://www.example.com and sometimes
example.com (but not on Github, for example).

\n") - .append("

Some text to show that the reference links can follow later.

") - .toString(); + new StringBuilder() + .append( + "

I’m an inline-style link

\n") + .append( + "

I’m an inline-style link with title

\n") + .append( + "

I’m a reference-style link

\n") + .append( + "

I’m a relative reference to a repository file

\n") + .append( + "

You can use numbers for reference-style link definitions

\n") + .append( + "

Or leave it empty and use the link text itself.

\n") + .append( + "

URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or http://www.example.com and sometimes
example.com (but not on Github, for example).

\n") + .append("

Some text to show that the reference links can follow later.

") + .toString(); InterpreterResult result = pegdownInterpreter.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); @@ -188,73 +188,73 @@ public void testLinks() { @Test public void testInlineCode() { InterpreterResult result = - pegdownInterpreter.interpret("Inline `code` has `back-ticks around` it.", null); + pegdownInterpreter.interpret("Inline `code` has `back-ticks around` it.", null); assertEquals( - wrapWithMarkdownClassDiv( - "

Inline code has back-ticks around it.

"), - result.message()); + wrapWithMarkdownClassDiv( + "

Inline code has back-ticks around it.

"), + result.message()); } @Test public void testBlockQuotes() { InterpreterResult r1 = - pegdownInterpreter.interpret( - "> Blockquotes are very handy in email to emulate reply text.\n" - + "> This line is part of the same quote.", - null); + pegdownInterpreter.interpret( + "> Blockquotes are very handy in email to emulate reply text.\n" + + "> This line is part of the same quote.", + null); assertEquals( - wrapWithMarkdownClassDiv( - "
\n" - + "

Blockquotes are very handy in email to emulate reply text.
This line is part of the same quote.

\n" - + "
"), - r1.message()); + wrapWithMarkdownClassDiv( + "
\n" + + "

Blockquotes are very handy in email to emulate reply text.
This line is part of the same quote.

\n" + + "
"), + r1.message()); InterpreterResult r2 = - pegdownInterpreter.interpret( - "> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **MarkdownInterpreter** into a blockquote. ", - null); + pegdownInterpreter.interpret( + "> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **MarkdownInterpreter** into a blockquote. ", + null); assertEquals( - wrapWithMarkdownClassDiv( - "
\n" - + "

This is a very long line that will still be quoted properly when it wraps. Oh boy let’s keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can put MarkdownInterpreter into a blockquote.

\n" - + "
"), - r2.message()); + wrapWithMarkdownClassDiv( + "
\n" + + "

This is a very long line that will still be quoted properly when it wraps. Oh boy let’s keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can put MarkdownInterpreter into a blockquote.

\n" + + "
"), + r2.message()); } @Test public void testSimpleTable() { String input = - new StringBuilder() - .append("MarkdownInterpreter | Less | Pretty\n") - .append("--- | --- | ---\n") - .append("*Still* | `renders` | **nicely**\n") - .append("1 | 2 | 3") - .toString(); + new StringBuilder() + .append("MarkdownInterpreter | Less | Pretty\n") + .append("--- | --- | ---\n") + .append("*Still* | `renders` | **nicely**\n") + .append("1 | 2 | 3") + .toString(); String expected = - new StringBuilder() - .append("\n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append("
MarkdownInterpreter Less Pretty
Still renders nicely
1 2 3
") - .toString(); + new StringBuilder() + .append("\n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append("
MarkdownInterpreter Less Pretty
Still renders nicely
1 2 3
") + .toString(); InterpreterResult result = pegdownInterpreter.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); @@ -264,37 +264,37 @@ public void testSimpleTable() { public void testAlignedTable() { String input = - new StringBuilder() - .append("| First Header | Second Header | Third Header |\n") - .append("| :----------- | :-----------: | -------------------: |\n") - .append("| First row | Data | Very long data entry |\n") - .append("| Second row | **Cell** | *Cell* |") - .toString(); + new StringBuilder() + .append("| First Header | Second Header | Third Header |\n") + .append("| :----------- | :-----------: | -------------------: |\n") + .append("| First row | Data | Very long data entry |\n") + .append("| Second row | **Cell** | *Cell* |") + .toString(); String expected = - new StringBuilder() - .append("\n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append(" \n") - .append("
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
") - .toString(); + new StringBuilder() + .append("\n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append(" \n") + .append("
First Header Second Header Third Header
First row Data Very long data entry
Second row Cell Cell
") + .toString(); InterpreterResult result = pegdownInterpreter.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); From 2b6516cad31b08d12d0f2e76d3bca3a1c8209eb7 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Sat, 3 Sep 2016 01:49:06 +0900 Subject: [PATCH 11/18] feat: Support markdown.parser.type attr in md --- .../zeppelin/markdown/Markdown4jParser.java | 31 +++++++++++ .../markdown/MarkdownInterpreter.java | 40 +++++++++++++-- .../zeppelin/markdown/PegdownParser.java | 14 ++--- .../main/resources/interpreter-setting.json | 11 +++- .../markdown/Markdown4jParserTest.java | 51 +++++++++++++++++++ .../zeppelin/markdown/PegdownParserTest.java | 50 +++++++++--------- 6 files changed, 161 insertions(+), 36 deletions(-) create mode 100644 markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java create mode 100644 markdown/src/test/java/org/apache/zeppelin/markdown/Markdown4jParserTest.java diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java new file mode 100644 index 00000000000..0f1780a5b93 --- /dev/null +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java @@ -0,0 +1,31 @@ +package org.apache.zeppelin.markdown; + +import org.markdown4j.Markdown4jProcessor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +/** Markdown Parser using markdown4j processor . */ +public class Markdown4jParser implements MarkdownParser { + private final Logger logger = LoggerFactory.getLogger(Markdown4jParser.class); + + private Markdown4jProcessor processor; + + public Markdown4jParser() { + processor = new Markdown4jProcessor(); + } + + @Override + public String render(String markdownText) { + String html = ""; + + try { + html = processor.process(markdownText); + } catch (IOException e) { + logger.error("Cannot parse markdown text to HTML using markdown4j", e); + } + + return html; + } +} diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java index 84bb7c1e766..d12e0b9566b 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java @@ -22,6 +22,7 @@ import org.apache.zeppelin.interpreter.Interpreter; import org.apache.zeppelin.interpreter.InterpreterContext; +import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder; import org.apache.zeppelin.interpreter.InterpreterResult; import org.apache.zeppelin.interpreter.InterpreterResult.Code; import org.apache.zeppelin.interpreter.InterpreterUtils; @@ -33,17 +34,50 @@ /** MarkdownInterpreter interpreter for Zeppelin. */ public class MarkdownInterpreter extends Interpreter { - private final Logger logger = LoggerFactory.getLogger(MarkdownInterpreter.class); + private static final Logger LOGGER = LoggerFactory.getLogger(MarkdownInterpreter.class); private MarkdownParser parser; + /** Markdown Parser Type. */ + public enum MarkdownParserType { + PEGDOWN { + @Override + public String toString() { + return PARSER_TYPE_PEGDOWN; + } + }, + + MARKDOWN4j { + @Override + public String toString() { + return PARSER_TYPE_MARKDOWN4J; + } + } + } + + public static final String MARKDOWN_PARSER_TYPE = "markdown.parser.type"; + public static final String PARSER_TYPE_PEGDOWN = "pegdown"; + public static final String PARSER_TYPE_MARKDOWN4J = "markdown4j"; + public MarkdownInterpreter(Properties property) { super(property); } + public static MarkdownParser createMarkdownParser(String parserType) { + LOGGER.debug("Creating " + parserType + " markdown interpreter"); + + if (MarkdownParserType.PEGDOWN.toString().equals(parserType)) { + return new PegdownParser(); + } else { + /** default parser. */ + return new Markdown4jParser(); + } + } + @Override public void open() { - parser = new PegdownParser(); + String parserType = getProperty(MARKDOWN_PARSER_TYPE); + parser = createMarkdownParser(parserType); } @Override @@ -56,7 +90,7 @@ public InterpreterResult interpret(String markdownText, InterpreterContext inter try { html = parser.render(markdownText); } catch (Exception e) { - logger.error("Exception in MarkdownInterpreter while interpret ", e); + LOGGER.error("Exception in MarkdownInterpreter while interpret ", e); return new InterpreterResult(Code.ERROR, InterpreterUtils.getMostRelevantMessage(e)); } diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java index 2236785d6b2..a9e8f7d014b 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java @@ -5,12 +5,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** Pegdown Markdown Parser. */ +/** Markdown Parser using pegdown processor. */ public class PegdownParser implements MarkdownParser { - private PegDownProcessor processor; - private final Logger logger = LoggerFactory.getLogger(PegdownParser.class); + private PegDownProcessor processor; + public PegdownParser() { int pegdownOptions = Extensions.ALL_WITH_OPTIONALS - Extensions.ANCHORLINKS; int parsingTimeoutAsMillis = 5000; @@ -23,17 +23,19 @@ public String render(String markdownText) { try { String parsed = processor.markdownToHtml(markdownText); - if (null == parsed) throw new RuntimeException("Cannot parse markdown syntax string to HTML"); + if (null == parsed) { + throw new RuntimeException("Cannot parse markdown text to HTML using pegdown"); + } html = wrapWithMarkdownClassDiv(parsed); } catch (RuntimeException e) { - logger.error("Failed to parsed markdown text", e); + logger.error("Cannot parse markdown text to HTML using pegdown", e); } return html; } - /** wrap with markdown class div to styling DOM using css */ + /** wrap with markdown class div to styling DOM using css. */ public static String wrapWithMarkdownClassDiv(String html) { return new StringBuilder() .append("
\n") diff --git a/markdown/src/main/resources/interpreter-setting.json b/markdown/src/main/resources/interpreter-setting.json index 1e5d10c31fa..78ad7359117 100644 --- a/markdown/src/main/resources/interpreter-setting.json +++ b/markdown/src/main/resources/interpreter-setting.json @@ -2,7 +2,14 @@ { "group": "md", "name": "md", - "className": "org.apache.zeppelin.markdown.Markdown", - "properties": null + "className": "org.apache.zeppelin.markdown.MarkdownInterpreter", + "properties": { + "markdown.parser.type": { + "envName": "MARKDOWN_PARSER_TYPE", + "propertyName": "markdown.parser.type", + "defaultValue": "markdown4j", + "description": "Markdown Parser Type. Available values: markdown4j, pegdown. Default = markdown4j" + } + } } ] diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/Markdown4jParserTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/Markdown4jParserTest.java new file mode 100644 index 00000000000..6da2757149a --- /dev/null +++ b/markdown/src/test/java/org/apache/zeppelin/markdown/Markdown4jParserTest.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.zeppelin.markdown; + +import org.apache.zeppelin.interpreter.InterpreterResult; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.util.Properties; + +import static org.junit.Assert.assertEquals; + +public class Markdown4jParserTest { + + MarkdownInterpreter md; + + @Before + public void setUp() throws Exception { + Properties props = new Properties(); + props.put(MarkdownInterpreter.MARKDOWN_PARSER_TYPE, MarkdownInterpreter.PARSER_TYPE_MARKDOWN4J); + md = new MarkdownInterpreter(props); + md.open(); + } + + @After + public void tearDown() throws Exception { + md.close(); + } + + @Test + public void testStrikethrough() { + InterpreterResult result = md.interpret("This is ~~deleted~~ text", null); + assertEquals("

This is deleted text

\n", result.message()); + } +} diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java index 9cea9d3921e..66d6d7681a0 100644 --- a/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java +++ b/markdown/src/test/java/org/apache/zeppelin/markdown/PegdownParserTest.java @@ -29,64 +29,65 @@ public class PegdownParserTest { - MarkdownInterpreter pegdownInterpreter; + MarkdownInterpreter md; @Before public void setUp() throws Exception { - pegdownInterpreter = new MarkdownInterpreter(new Properties()); - pegdownInterpreter.open(); + Properties props = new Properties(); + props.put(MarkdownInterpreter.MARKDOWN_PARSER_TYPE, MarkdownInterpreter.PARSER_TYPE_PEGDOWN); + md = new MarkdownInterpreter(props); + md.open(); } @After public void tearDown() throws Exception { - pegdownInterpreter.close(); + md.close(); } @Test public void testHeader() { - InterpreterResult r1 = pegdownInterpreter.interpret("# H1", null); + InterpreterResult r1 = md.interpret("# H1", null); assertEquals(wrapWithMarkdownClassDiv("

H1

"), r1.message()); - InterpreterResult r2 = pegdownInterpreter.interpret("## H2", null); + InterpreterResult r2 = md.interpret("## H2", null); assertEquals(wrapWithMarkdownClassDiv("

H2

"), r2.message()); - InterpreterResult r3 = pegdownInterpreter.interpret("### H3", null); + InterpreterResult r3 = md.interpret("### H3", null); assertEquals(wrapWithMarkdownClassDiv("

H3

"), r3.message()); - InterpreterResult r4 = pegdownInterpreter.interpret("#### H4", null); + InterpreterResult r4 = md.interpret("#### H4", null); assertEquals(wrapWithMarkdownClassDiv("

H4

"), r4.message()); - InterpreterResult r5 = pegdownInterpreter.interpret("##### H5", null); + InterpreterResult r5 = md.interpret("##### H5", null); assertEquals(wrapWithMarkdownClassDiv("
H5
"), r5.message()); - InterpreterResult r6 = pegdownInterpreter.interpret("###### H6", null); + InterpreterResult r6 = md.interpret("###### H6", null); assertEquals(wrapWithMarkdownClassDiv("
H6
"), r6.message()); - InterpreterResult r7 = pegdownInterpreter.interpret("Alt-H1\n" + "======", null); + InterpreterResult r7 = md.interpret("Alt-H1\n" + "======", null); assertEquals(wrapWithMarkdownClassDiv("

Alt-H1

"), r7.message()); - InterpreterResult r8 = pegdownInterpreter.interpret("Alt-H2\n" + "------", null); + InterpreterResult r8 = md.interpret("Alt-H2\n" + "------", null); assertEquals(wrapWithMarkdownClassDiv("

Alt-H2

"), r8.message()); } @Test public void testStrikethrough() { - InterpreterResult result = pegdownInterpreter.interpret("This is ~~deleted~~ text", null); + InterpreterResult result = md.interpret("This is ~~deleted~~ text", null); assertEquals( wrapWithMarkdownClassDiv("

This is deleted text

"), result.message()); } @Test public void testItalics() { - InterpreterResult result = pegdownInterpreter.interpret("This is *italics* text", null); + InterpreterResult result = md.interpret("This is *italics* text", null); assertEquals( wrapWithMarkdownClassDiv("

This is italics text

"), result.message()); } @Test public void testStrongEmphasis() { - InterpreterResult result = - pegdownInterpreter.interpret("This is **strong emphasis** text", null); + InterpreterResult result = md.interpret("This is **strong emphasis** text", null); assertEquals( wrapWithMarkdownClassDiv("

This is strong emphasis text

"), result.message()); @@ -108,7 +109,7 @@ public void testOrderedList() { .append("") .toString(); - InterpreterResult result = pegdownInterpreter.interpret(input, null); + InterpreterResult result = md.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); } @@ -130,7 +131,7 @@ public void testUnorderedList() { .append("") .toString(); - InterpreterResult result = pegdownInterpreter.interpret(input, null); + InterpreterResult result = md.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); } @@ -181,14 +182,13 @@ public void testLinks() { .append("

Some text to show that the reference links can follow later.

") .toString(); - InterpreterResult result = pegdownInterpreter.interpret(input, null); + InterpreterResult result = md.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); } @Test public void testInlineCode() { - InterpreterResult result = - pegdownInterpreter.interpret("Inline `code` has `back-ticks around` it.", null); + InterpreterResult result = md.interpret("Inline `code` has `back-ticks around` it.", null); assertEquals( wrapWithMarkdownClassDiv( "

Inline code has back-ticks around it.

"), @@ -198,7 +198,7 @@ public void testInlineCode() { @Test public void testBlockQuotes() { InterpreterResult r1 = - pegdownInterpreter.interpret( + md.interpret( "> Blockquotes are very handy in email to emulate reply text.\n" + "> This line is part of the same quote.", null); @@ -210,7 +210,7 @@ public void testBlockQuotes() { r1.message()); InterpreterResult r2 = - pegdownInterpreter.interpret( + md.interpret( "> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **MarkdownInterpreter** into a blockquote. ", null); assertEquals( @@ -256,7 +256,7 @@ public void testSimpleTable() { .append("") .toString(); - InterpreterResult result = pegdownInterpreter.interpret(input, null); + InterpreterResult result = md.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); } @@ -296,7 +296,7 @@ public void testAlignedTable() { .append("") .toString(); - InterpreterResult result = pegdownInterpreter.interpret(input, null); + InterpreterResult result = md.interpret(input, null); assertEquals(wrapWithMarkdownClassDiv(expected), result.message()); } } From d228423d636c2d7d9ca4d8c7b7c211433c5c0706 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Sun, 4 Sep 2016 13:33:49 +0900 Subject: [PATCH 12/18] docs: Update markdown docs config, examples --- .../markdown-example-markdown4j-parser.png | Bin 0 -> 264309 bytes .../markdown-example-pegdown-parser.png | Bin 0 -> 147514 bytes .../docs-img/markdown-interpreter-setting.png | Bin 32571 -> 67890 bytes docs/interpreter/markdown.md | 34 ++++++++++++++++-- 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 docs/assets/themes/zeppelin/img/docs-img/markdown-example-markdown4j-parser.png create mode 100644 docs/assets/themes/zeppelin/img/docs-img/markdown-example-pegdown-parser.png diff --git a/docs/assets/themes/zeppelin/img/docs-img/markdown-example-markdown4j-parser.png b/docs/assets/themes/zeppelin/img/docs-img/markdown-example-markdown4j-parser.png new file mode 100644 index 0000000000000000000000000000000000000000..e3455e31ce3ee96ef822c27e51d25556f889746c GIT binary patch literal 264309 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

X(&t{d~tQgZ#9@A8~B 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%0DkOB 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¬XtBM0|Zj*BJs>_&;YvzO}8oz~s)I7)NT3wU_)@BYhPz^+j~_ zkz#gfJG1ztu`U+l6^?|xG8#vCfPqgUa}jTqiUC$t`goQ)*vzia7y(#-WQ|fk#Xd4U zVls-^!dLj-D#VrO()@wBH!B4-My>{-Lzwz*E4vZCgxn4Kv^j`JjXT@*`KF!a`jg#f zW=pJso(#o#5*rn;{&HDXmWgm_J9)8<)O-8o+Xj6IhRy+@(1s$YXMr|Mh{iQ;aiVp$ zXo7o-uBV4-P8X1AzWhpSK>U-EO{6Vo>07jRH2a3^6=36hOK}$CX7hNL6_SD~5)SOG zSGIbS{4)l)&8DWW{^_C*%fh2cqqRCg85}@drFmRykUvNhQySR+8IWJB4O=`4a5KBH zLJ!|uF#Upzh#G+H_r^3ic)od096Ff}nV9(r&Z?T7S}0r#j~+i>8b0lD>|X=HJYXB1 ziHR_AVmRg$6?@Ltw%1y8J1AMWz=eP|uDl1#L~N!H>AcO5*9K_`WXJ}Xqqd%AV5!)}@ zyaqH7UJTS%By&h|{3#VuXVyjlDS@0v-cXTMMdFpHv&x}TK7BS4^O<9%0p6NwjXwAq zM()%>7Jm8CLsOXpk&D|yxbXOiuh%`=T+M{_uGoh%BlA}83Oeom>iKRyIisl|Gd3Mx zm`+LRbQgZeY!Kq@xB#ydU#N2SnCLFK8(5(>j-O!^%^}|0SE7>~R~0qOq^&99=Wv?) z*222oPB}@nHug!HI{o)}x|g3y#SDCPAeNBOZ>tE}cjGM#v}P-J_Fq5~b1=8>etSo6b5-_T?$kOts|C^NPYPb#Tn-%daf5#4IpfLtV2!08=f9jW+9#*^J zp>t8K8&fJ7@YcHFu9V^URq=f;88rWdAgBln@CLnAa*AV=ht&TI zVErW%Rtj!u8tQi9rxE`J2Eh1YtzoyImP}zhdC`AI7MeD1nFp21$h7~29sZ&R|1(|k zzqBF{c+22S?0jJVPgvpKzTo?}OoHfFE`|S!ED(h!FooaXJTcLkeOdXm1q<`1p`xQ) Jp=cfPzW@V_0N?-s literal 0 HcmV?d00001 diff --git a/docs/assets/themes/zeppelin/img/docs-img/markdown-example-pegdown-parser.png b/docs/assets/themes/zeppelin/img/docs-img/markdown-example-pegdown-parser.png new file mode 100644 index 0000000000000000000000000000000000000000..21e8bc5bb7c8f6daf834dc53075752a677b4b20f GIT binary patch literal 147514 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 G_IoLA(8 z9=JJ!~`(H1}YOJPirS{Ty#36NOv1EP^;EUQcp`_S@u$O79i1$pUqKnS7pdjW(I3Cy1j_}3S{Fss zOwotlXsY$1PM>iK{D#^ur+Nktc!>k@0n@*oXa(2V+YAT2%A4Ok$)5;2vt&-3ss*f< z`G_6`m9d$hmXJ=h^i?xSfnG2OLjhD z`*&Ua=eL=tWBCUd%hy*q1dX1%EDp*6-3)FZ6&kNwWgVntt~h#-SF`91P=-;-Q%mOu zoZc9?9m>3ckN1}WriSR7Fe)@U3>0ilLxDy!H74RutKPc90o!{<4Qdaw_@{gs&5p^U zc25U$6u$!vYb6k^6;ttNe-73^514j25NR25g6E !Z|rGo6IfY*1p#rSrpdM2OvS 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 S!n+ILkF1oUWWI#1_x}StrB71; literal 0 HcmV?d00001 diff --git a/docs/assets/themes/zeppelin/img/docs-img/markdown-interpreter-setting.png b/docs/assets/themes/zeppelin/img/docs-img/markdown-interpreter-setting.png index 7b294e1eb1178cffb0206fc779d2014eebebaee0..33c13ec31baf929d834246d5dc7c667866c64181 100644 GIT binary patch literal 67890 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

4Q4pL-Yp7U`iYu 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ʲ{KiE<1F^W)&7>8NcWU16=>}~gZZ zQ$8%g0&|jsXnJ~9w&*ldn~fbcpVDiQEH=}y8F_=wLgwWJi1Ey&&c^dDH{e~ssEH2V5(i>J&6fC;(IWCrGbQ~Z_=VH!)aD0v z_BrK7l)>}`m|eFpyr;N7saJBQyl6zDJf)SBf&=)qT~=9?7ffS)9!hkfp}8a6Q-OGb z^7-GDnK0SXjo%N#5|pexNanNC>$Oh@vS^cUmheYRHVOMV3Xc0+_)g7MU_7$&@ce$eJN=$bb+OOn_QR~|uSZq#y`E*sv z4Ox&s6HVYAJ7szQ4C!6iqqVrHbR2H|^sQWKS@UW0kfFz#*TSTFb=2#54ilCWMCU5m z{row)gacb}9C>K9-Wq?tY|U39#=T&OL($j|Aglnu5C%At+w5;(CZT|@E+aSt$uHRoZHMDQ9Eeb9Ju=F-$JBY(t z&On+UnuZ1|Rdolwh1YP7b$X?yrT2hNq45s6_M@taZmu&cf{yH^O0KN>Fs6PTA-to1 z7xVX?U&EXjU}3ycj*6oWCOZMWjrYuHZw}085JZ|~E8oMWO|H`@hky>4JSh@LxMdVq zhK$HMgDa8WK%==`#f+jo9oqR~{raO$&Sc-yT!|Mm`Zm)2UMZH)zB1tXx!ut(+xFZ^ zRTe4cQMREUG8>v|wY{RWM=_lE4Xrz6@e9-^5xbQ%dHB0$E_{r~2r{43d@6#{FDChG45{;3g#`kic96~0mnVThlOIfhvdcnS=-QVtW`|TnZu7DS$UY;toaV?;VF!@edQhiciC@f&X1y z;YOiS{AEA6F?FkIP_?mj=Z4=adfB^plWK4c*8+<42SF&`4mDj`-Y^9PnY5rEGZ=lF z?qqZ+F}CAwx#?H+-7g=N@rgYPo|KqW^T{sxVKdj4_DRFduZ}tAdqVtN?J^F#a(CUH|=qFYR{M4U$u>@GWFko<<}$p_xJw0E`RK~|L&Lno}>To z;tS1YXDl0EFaZl^Fd-W+pdLhOmKaIVSUuOP1vW?VKu;16ChA+|INqc)W=xdvE6B?eT0=?H z>mJbj4?&dk?)_p};F6(v08C^OK+As$4$^Yo+&oK-MVG8zS)UkYO(XAGa-&3T&9um%i&crXZ< zi-DH1+*~=jD}loM_}gs?k;z)%2w)0m>Aa`|H-}J4fRRnMTrBHhc=ZEL{FDaZ=J+F1 zCUX7ri|uc>CO($)T58fC|+R>d&lLJx*XyF%wDfb`M`~3Mg$&!-Wq~m(|)x0!&gpcLRm9 zV_38kDr_cTZKj=;B$97#bKJOjySVMV8CNL|@RqV*Vf9bfl$mbzDE_e`=#O7DFwUyV zr;1Fu3=LGNp?l;Jt4g_MG|1klvJzr)7M=vfQ-)OOsgO}Ksv{sDWknBFX@IVA0p|GQ zFw*!6d5RRzT^Xp?s2-P!2>GOvlVCelJvQ|6XwwF=6wu*Qt3Uujl}fhVOx@wJ6<0B1 zlt zQ$AbWaicXDVBgmg?d=VOpYlhWQ#Jz5x}Ez%LcBbw%PfHeFk>$WR0N3Oi$WzO2-nAvkuhug;=yg#u1$-%&Vjq;EhZVyG+7on^ z)fbQTKZiL+#n*K2zq&zInbI2Xlnnfu&3?~?eESKYlV9J0tzp5O2ja{a)l&#)v&FfA9Q68^B-?bU2#@FINK_za`)g8cNeMA?k;0!ECM`31KE}*L&mtR=TsKtEl z2~_y;5YOs7X@3d0wp8k(eLe?GWp+z}L!jGIr>~p#K*WQ}upb(2iy!ml9?*L5f-O{t znK&tQlxJVT3Ot3*7Nq%<+P+*}o{dxig5VlBVwT?1FnU4#Tee9K6`B$p9JRAjceq!x z9aD!)p4k$|=|yTeFkDk1%G}7~`H+&iLQAN@@CbNRt52?n6m5)uE>lwYq58zvFq~Yt z@j;!h=t}kU(bkM8bL{@(5#Nq41V V^!~Ls29}WowlHud4GMLjWEwIs6aP6^Ht;L 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 literal 32571 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 c?k{|Ob*#N$rTLF;_ZS&M-G2R#aI>Hq)$ diff --git a/docs/interpreter/markdown.md b/docs/interpreter/markdown.md index 84e1395a495..80b48e429ff 100644 --- a/docs/interpreter/markdown.md +++ b/docs/interpreter/markdown.md @@ -25,14 +25,44 @@ limitations under the License. ## Overview [Markdown](http://daringfireball.net/projects/markdown/) is a plain text formatting syntax designed so that it can be converted to HTML. -Apache Zeppelin uses markdown4j. For more examples and extension support, please checkout [here](https://code.google.com/p/markdown4j/). +Apache Zeppelin uses [markdown4j](https://github.com/sirthias/pegdown) and [pegdown](https://github.com/sirthias/pegdown) as markdown engines. + In Zeppelin notebook, you can use ` %md ` in the beginning of a paragraph to invoke the Markdown interpreter and generate static html from Markdown plain text. -In Zeppelin, Markdown interpreter is enabled by default. +In Zeppelin, Markdown interpreter is enabled by default and uses [markdown4j](https://github.com/sirthias/pegdown) engine. +## Configuration + + + + + + + + + + + +
NameDefault ValueDescription
markdown.parser.typemarkdown4jMarkdown Parser Type.
Available values: markdown4j, pegdown.
+ ## Example + The following example demonstrates the basic usage of Markdown in a Zeppelin notebook. + +### Markdowj4 Parser + +`markdown4j` parser provides [YUML](http://yuml.me/) and [Websequence](https://www.websequencediagrams.com/) extensions + + + + +### Pegdown Parser + +`pegdown` parser provides github flavored markdown. + + + From 947a92acf7cfef8744b28ae65695410a28179b52 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Sun, 4 Sep 2016 13:36:23 +0900 Subject: [PATCH 13/18] chore: Add license to newly created java files --- .../zeppelin/markdown/Markdown4jParser.java | 17 +++++++++++++++++ .../zeppelin/markdown/MarkdownParser.java | 17 +++++++++++++++++ .../apache/zeppelin/markdown/PegdownParser.java | 17 +++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java index 0f1780a5b93..80cb3394653 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.zeppelin.markdown; import org.markdown4j.Markdown4jProcessor; diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownParser.java index 7266e004a57..056ca26ca80 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownParser.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownParser.java @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.zeppelin.markdown; /** Abstract Markdown Parser. */ diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java index a9e8f7d014b..497058bb69e 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.zeppelin.markdown; import org.pegdown.Extensions; From 297733f196aac4f0cec1077b8d6ec7a5deb09220 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Sun, 4 Sep 2016 23:10:37 +0900 Subject: [PATCH 14/18] fix: Modify github-markdown-css license - move the license file from `bin_license/` to `license/` - extract source code from `interpreter.css` to clarify - add css description to `markdown.css` like `font-awesome.min.css` --- LICENSE | 1 + .../LICENSE-github-markdown-css-2.4.0 | 0 zeppelin-distribution/src/bin_license/LICENSE | 1 - .../src/app/interpreter/interpreter.css | 693 ------------------ zeppelin-web/src/app/interpreter/markdown.css | 693 ++++++++++++++++++ 5 files changed, 694 insertions(+), 694 deletions(-) rename {zeppelin-distribution/src/bin_license/licenses => licenses}/LICENSE-github-markdown-css-2.4.0 (100%) create mode 100644 zeppelin-web/src/app/interpreter/markdown.css diff --git a/LICENSE b/LICENSE index b243d2c68b5..d66719ebe1f 100644 --- a/LICENSE +++ b/LICENSE @@ -234,6 +234,7 @@ The text of each license is also included at licenses/LICENSE-[project]-[version (The MIT License) Simple line icons v1.0.0 (http://thesabbir.github.io/simple-line-icons/) - https://github.com/thesabbir/simple-line-icons/tree/1.0.0 (The MIT License) jekyll-bootstrap 0.3.0 (https://github.com/plusjade/jekyll-bootstrap) - https://github.com/plusjade/jekyll-bootstrap (The MIT License) jekyll 1.3.0 (http://jekyllrb.com/) - https://github.com/jekyll/jekyll/blob/v1.3.0/LICENSE + (The MIT License) github-markdown-css 2.4.0 (https://github.com/sindresorhus/github-markdown-css) - https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/license ======================================================================== MIT-style licenses diff --git a/zeppelin-distribution/src/bin_license/licenses/LICENSE-github-markdown-css-2.4.0 b/licenses/LICENSE-github-markdown-css-2.4.0 similarity index 100% rename from zeppelin-distribution/src/bin_license/licenses/LICENSE-github-markdown-css-2.4.0 rename to licenses/LICENSE-github-markdown-css-2.4.0 diff --git a/zeppelin-distribution/src/bin_license/LICENSE b/zeppelin-distribution/src/bin_license/LICENSE index 3ac76f303f8..8c9c34c1107 100644 --- a/zeppelin-distribution/src/bin_license/LICENSE +++ b/zeppelin-distribution/src/bin_license/LICENSE @@ -154,7 +154,6 @@ The text of each license is also included at licenses/LICENSE-[project]-[version (The MIT License) bcprov-jdk15on v1.51 (org.bouncycastle:bcprov-jdk15on:jar:1.51 - http://www.bouncycastle.org/java.html) - http://www.bouncycastle.org/licence.html (The MIT License) AnchorJS (https://github.com/bryanbraun/anchorjs) - https://github.com/bryanbraun/anchorjs/blob/master/README.md#license (The MIT License) moment-duration-format v1.3.0 (https://github.com/jsmreese/moment-duration-format) - https://github.com/jsmreese/moment-duration-format/blob/master/LICENSE - (The MIT License) github-markdown-css (https://github.com/sindresorhus/github-markdown-css) - https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/license The following components are provided under the MIT License. diff --git a/zeppelin-web/src/app/interpreter/interpreter.css b/zeppelin-web/src/app/interpreter/interpreter.css index 6fa59a31a4d..ee4f81db614 100644 --- a/zeppelin-web/src/app/interpreter/interpreter.css +++ b/zeppelin-web/src/app/interpreter/interpreter.css @@ -109,696 +109,3 @@ color: #000; opacity: .5; } - -/** - * github flavored markdown style - */ - -.markdown-body { - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - line-height: 1.5; - color: #333; - font-size: 16px; - line-height: 1.5; - word-wrap: break-word; -} - -.markdown-body .pl-c { - color: #969896; -} - -.markdown-body .pl-c1, -.markdown-body .pl-s .pl-v { - color: #0086b3; -} - -.markdown-body .pl-e, -.markdown-body .pl-en { - color: #795da3; -} - -.markdown-body .pl-smi, -.markdown-body .pl-s .pl-s1 { - color: #333; -} - -.markdown-body .pl-ent { - color: #63a35c; -} - -.markdown-body .pl-k { - color: #a71d5d; -} - -.markdown-body .pl-s, -.markdown-body .pl-pds, -.markdown-body .pl-s .pl-pse .pl-s1, -.markdown-body .pl-sr, -.markdown-body .pl-sr .pl-cce, -.markdown-body .pl-sr .pl-sre, -.markdown-body .pl-sr .pl-sra { - color: #183691; -} - -.markdown-body .pl-v { - color: #ed6a43; -} - -.markdown-body .pl-id { - color: #b52a1d; -} - -.markdown-body .pl-ii { - color: #f8f8f8; - background-color: #b52a1d; -} - -.markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #63a35c; -} - -.markdown-body .pl-ml { - color: #693a17; -} - -.markdown-body .pl-mh, -.markdown-body .pl-mh .pl-en, -.markdown-body .pl-ms { - font-weight: bold; - color: #1d3e81; -} - -.markdown-body .pl-mq { - color: #008080; -} - -.markdown-body .pl-mi { - font-style: italic; - color: #333; -} - -.markdown-body .pl-mb { - font-weight: bold; - color: #333; -} - -.markdown-body .pl-md { - color: #bd2c00; - background-color: #ffecec; -} - -.markdown-body .pl-mi1 { - color: #55a532; - background-color: #eaffea; -} - -.markdown-body .pl-mdr { - font-weight: bold; - color: #795da3; -} - -.markdown-body .pl-mo { - color: #1d3e81; -} - -.markdown-body .octicon { - display: inline-block; - vertical-align: text-top; - fill: currentColor; -} - -.markdown-body a { - background-color: transparent; - -webkit-text-decoration-skip: objects; -} - -.markdown-body a:active, -.markdown-body a:hover { - outline-width: 0; -} - -.markdown-body strong { - font-weight: inherit; -} - -.markdown-body strong { - font-weight: bolder; -} - -.markdown-body h1 { - font-size: 2em; - margin: 0.67em 0; -} - -.markdown-body img { - border-style: none; -} - -.markdown-body svg:not(:root) { - overflow: hidden; -} - -.markdown-body code, -.markdown-body kbd, -.markdown-body pre { - font-family: monospace, monospace; - font-size: 1em; -} - -.markdown-body hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -.markdown-body input { - font: inherit; - margin: 0; -} - -.markdown-body input { - overflow: visible; -} - -.markdown-body button:-moz-focusring, -.markdown-body [type="button"]:-moz-focusring, -.markdown-body [type="reset"]:-moz-focusring, -.markdown-body [type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -.markdown-body [type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -.markdown-body * { - box-sizing: border-box; -} - -.markdown-body input { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -.markdown-body a { - color: #4078c0; - text-decoration: none; -} - -.markdown-body a:hover, -.markdown-body a:active { - text-decoration: underline; -} - -.markdown-body strong { - font-weight: 600; -} - -.markdown-body hr { - height: 0; - margin: 15px 0; - overflow: hidden; - background: transparent; - border: 0; - border-bottom: 1px solid #ddd; -} - -.markdown-body hr::before { - display: table; - content: ""; -} - -.markdown-body hr::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body table { - border-spacing: 0; - border-collapse: collapse; -} - -.markdown-body td, -.markdown-body th { - padding: 0; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body h1 { - font-size: 32px; - font-weight: 600; -} - -.markdown-body h2 { - font-size: 24px; - font-weight: 600; -} - -.markdown-body h3 { - font-size: 20px; - font-weight: 600; -} - -.markdown-body h4 { - font-size: 16px; - font-weight: 600; -} - -.markdown-body h5 { - font-size: 14px; - font-weight: 600; -} - -.markdown-body h6 { - font-size: 12px; - font-weight: 600; -} - -.markdown-body p { - margin-top: 0; - margin-bottom: 10px; -} - -.markdown-body blockquote { - margin: 0; -} - -.markdown-body ul, -.markdown-body ol { - padding-left: 0; - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body ol ol, -.markdown-body ul ol { - list-style-type: lower-roman; -} - -.markdown-body ul ul ol, -.markdown-body ul ol ol, -.markdown-body ol ul ol, -.markdown-body ol ol ol { - list-style-type: lower-alpha; -} - -.markdown-body dd { - margin-left: 0; -} - -.markdown-body code { - font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; - font-size: 12px; -} - -.markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; -} - -.markdown-body .octicon { - vertical-align: text-bottom; -} - -.markdown-body input { - -webkit-font-feature-settings: "liga" 0; - font-feature-settings: "liga" 0; -} - -.markdown-body .form-select::-ms-expand { - opacity: 0; -} - -.markdown-body::before { - display: table; - content: ""; -} - -.markdown-body::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body>*:first-child { - margin-top: 0 !important; -} - -.markdown-body>*:last-child { - margin-bottom: 0 !important; -} - -.markdown-body a:not([href]) { - color: inherit; - text-decoration: none; -} - -.markdown-body .anchor { - float: left; - padding-right: 4px; - margin-left: -20px; - line-height: 1; -} - -.markdown-body .anchor:focus { - outline: none; -} - -.markdown-body p, -.markdown-body blockquote, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body pre { - margin-top: 0; - margin-bottom: 16px; -} - -.markdown-body hr { - height: 0.25em; - padding: 0; - margin: 24px 0; - background-color: #e7e7e7; - border: 0; -} - -.markdown-body blockquote { - padding: 0 1em; - color: #777; - border-left: 0.25em solid #ddd; -} - -.markdown-body blockquote>:first-child { - margin-top: 0; -} - -.markdown-body blockquote>:last-child { - margin-bottom: 0; -} - -.markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font-size: 11px; - line-height: 10px; - color: #555; - vertical-align: middle; - background-color: #fcfcfc; - border: solid 1px #ccc; - border-bottom-color: #bbb; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #bbb; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 24px; - margin-bottom: 16px; - font-weight: 600; - line-height: 1.25; -} - -.markdown-body h1 .octicon-link, -.markdown-body h2 .octicon-link, -.markdown-body h3 .octicon-link, -.markdown-body h4 .octicon-link, -.markdown-body h5 .octicon-link, -.markdown-body h6 .octicon-link { - color: #000; - vertical-align: middle; - visibility: hidden; -} - -.markdown-body h1:hover .anchor, -.markdown-body h2:hover .anchor, -.markdown-body h3:hover .anchor, -.markdown-body h4:hover .anchor, -.markdown-body h5:hover .anchor, -.markdown-body h6:hover .anchor { - text-decoration: none; -} - -.markdown-body h1:hover .anchor .octicon-link, -.markdown-body h2:hover .anchor .octicon-link, -.markdown-body h3:hover .anchor .octicon-link, -.markdown-body h4:hover .anchor .octicon-link, -.markdown-body h5:hover .anchor .octicon-link, -.markdown-body h6:hover .anchor .octicon-link { - visibility: visible; -} - -.markdown-body h1 { - padding-bottom: 0.3em; - font-size: 2em; - border-bottom: 1px solid #eee; -} - -.markdown-body h2 { - padding-bottom: 0.3em; - font-size: 1.5em; - border-bottom: 1px solid #eee; -} - -.markdown-body h3 { - font-size: 1.25em; -} - -.markdown-body h4 { - font-size: 1em; -} - -.markdown-body h5 { - font-size: 0.875em; -} - -.markdown-body h6 { - font-size: 0.85em; - color: #777; -} - -.markdown-body ul, -.markdown-body ol { - padding-left: 2em; -} - -.markdown-body ul ul, -.markdown-body ul ol, -.markdown-body ol ol, -.markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body li>p { - margin-top: 16px; -} - -.markdown-body li+li { - margin-top: 0.25em; -} - -.markdown-body dl { - padding: 0; -} - -.markdown-body dl dt { - padding: 0; - margin-top: 16px; - font-size: 1em; - font-style: italic; - font-weight: bold; -} - -.markdown-body dl dd { - padding: 0 16px; - margin-bottom: 16px; -} - -.markdown-body table { - display: block; - width: 100%; - overflow: auto; - word-break: normal; - word-break: keep-all; -} - -.markdown-body table th { - font-weight: bold; -} - -.markdown-body table th, -.markdown-body table td { - padding: 6px 13px; - border: 1px solid #ddd; -} - -.markdown-body table tr { - background-color: #fff; - border-top: 1px solid #ccc; -} - -.markdown-body table tr:nth-child(2n) { - background-color: #f8f8f8; -} - -.markdown-body img { - max-width: 100%; - box-sizing: content-box; - background-color: #fff; -} - -.markdown-body code { - padding: 0; - padding-top: 0.2em; - padding-bottom: 0.2em; - margin: 0; - font-size: 85%; - background-color: rgba(0,0,0,0.04); - border-radius: 3px; -} - -.markdown-body code::before, -.markdown-body code::after { - letter-spacing: -0.2em; - content: "\00a0"; -} - -.markdown-body pre { - word-wrap: normal; -} - -.markdown-body pre>code { - padding: 0; - margin: 0; - font-size: 100%; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; -} - -.markdown-body .highlight { - margin-bottom: 16px; -} - -.markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; -} - -.markdown-body .highlight pre, -.markdown-body pre { - padding: 16px; - overflow: auto; - font-size: 85%; - line-height: 1.45; - background-color: #f7f7f7; - border-radius: 3px; -} - -.markdown-body pre code { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; -} - -.markdown-body pre code::before, -.markdown-body pre code::after { - content: normal; -} - -.markdown-body .pl-0 { - padding-left: 0 !important; -} - -.markdown-body .pl-1 { - padding-left: 3px !important; -} - -.markdown-body .pl-2 { - padding-left: 6px !important; -} - -.markdown-body .pl-3 { - padding-left: 12px !important; -} - -.markdown-body .pl-4 { - padding-left: 24px !important; -} - -.markdown-body .pl-5 { - padding-left: 36px !important; -} - -.markdown-body .pl-6 { - padding-left: 48px !important; -} - -.markdown-body .full-commit .btn-outline:not(:disabled):hover { - color: #4078c0; - border: 1px solid #4078c0; -} - -.markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; - line-height: 10px; - color: #555; - vertical-align: middle; - background-color: #fcfcfc; - border: solid 1px #ccc; - border-bottom-color: #bbb; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #bbb; -} - -.markdown-body :checked+.radio-label { - position: relative; - z-index: 1; - border-color: #4078c0; -} - -.markdown-body .task-list-item { - list-style-type: none; -} - -.markdown-body .task-list-item+.task-list-item { - margin-top: 3px; -} - -.markdown-body .task-list-item input { - margin: 0 0.2em 0.25em -1.6em; - vertical-align: middle; -} - -.markdown-body hr { - border-bottom-color: #eee; -} diff --git a/zeppelin-web/src/app/interpreter/markdown.css b/zeppelin-web/src/app/interpreter/markdown.css new file mode 100644 index 00000000000..bfcbed7dff8 --- /dev/null +++ b/zeppelin-web/src/app/interpreter/markdown.css @@ -0,0 +1,693 @@ +/** + * github-markdown-css 2.4.0 by @sindresorhus - https://github.com/sindresorhus/github-markdown-css + * License - https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/license (MIT License) + */ + +.markdown-body { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + line-height: 1.5; + color: #333; + font-size: 16px; + line-height: 1.5; + word-wrap: break-word; +} + +.markdown-body .pl-c { + color: #969896; +} + +.markdown-body .pl-c1, +.markdown-body .pl-s .pl-v { + color: #0086b3; +} + +.markdown-body .pl-e, +.markdown-body .pl-en { + color: #795da3; +} + +.markdown-body .pl-smi, +.markdown-body .pl-s .pl-s1 { + color: #333; +} + +.markdown-body .pl-ent { + color: #63a35c; +} + +.markdown-body .pl-k { + color: #a71d5d; +} + +.markdown-body .pl-s, +.markdown-body .pl-pds, +.markdown-body .pl-s .pl-pse .pl-s1, +.markdown-body .pl-sr, +.markdown-body .pl-sr .pl-cce, +.markdown-body .pl-sr .pl-sre, +.markdown-body .pl-sr .pl-sra { + color: #183691; +} + +.markdown-body .pl-v { + color: #ed6a43; +} + +.markdown-body .pl-id { + color: #b52a1d; +} + +.markdown-body .pl-ii { + color: #f8f8f8; + background-color: #b52a1d; +} + +.markdown-body .pl-sr .pl-cce { + font-weight: bold; + color: #63a35c; +} + +.markdown-body .pl-ml { + color: #693a17; +} + +.markdown-body .pl-mh, +.markdown-body .pl-mh .pl-en, +.markdown-body .pl-ms { + font-weight: bold; + color: #1d3e81; +} + +.markdown-body .pl-mq { + color: #008080; +} + +.markdown-body .pl-mi { + font-style: italic; + color: #333; +} + +.markdown-body .pl-mb { + font-weight: bold; + color: #333; +} + +.markdown-body .pl-md { + color: #bd2c00; + background-color: #ffecec; +} + +.markdown-body .pl-mi1 { + color: #55a532; + background-color: #eaffea; +} + +.markdown-body .pl-mdr { + font-weight: bold; + color: #795da3; +} + +.markdown-body .pl-mo { + color: #1d3e81; +} + +.markdown-body .octicon { + display: inline-block; + vertical-align: text-top; + fill: currentColor; +} + +.markdown-body a { + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +.markdown-body a:active, +.markdown-body a:hover { + outline-width: 0; +} + +.markdown-body strong { + font-weight: inherit; +} + +.markdown-body strong { + font-weight: bolder; +} + +.markdown-body h1 { + font-size: 2em; + margin: 0.67em 0; +} + +.markdown-body img { + border-style: none; +} + +.markdown-body svg:not(:root) { + overflow: hidden; +} + +.markdown-body code, +.markdown-body kbd, +.markdown-body pre { + font-family: monospace, monospace; + font-size: 1em; +} + +.markdown-body hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +.markdown-body input { + font: inherit; + margin: 0; +} + +.markdown-body input { + overflow: visible; +} + +.markdown-body button:-moz-focusring, +.markdown-body [type="button"]:-moz-focusring, +.markdown-body [type="reset"]:-moz-focusring, +.markdown-body [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +.markdown-body [type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +.markdown-body * { + box-sizing: border-box; +} + +.markdown-body input { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +.markdown-body a { + color: #4078c0; + text-decoration: none; +} + +.markdown-body a:hover, +.markdown-body a:active { + text-decoration: underline; +} + +.markdown-body strong { + font-weight: 600; +} + +.markdown-body hr { + height: 0; + margin: 15px 0; + overflow: hidden; + background: transparent; + border: 0; + border-bottom: 1px solid #ddd; +} + +.markdown-body hr::before { + display: table; + content: ""; +} + +.markdown-body hr::after { + display: table; + clear: both; + content: ""; +} + +.markdown-body table { + border-spacing: 0; + border-collapse: collapse; +} + +.markdown-body td, +.markdown-body th { + padding: 0; +} + +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { + margin-top: 0; + margin-bottom: 0; +} + +.markdown-body h1 { + font-size: 32px; + font-weight: 600; +} + +.markdown-body h2 { + font-size: 24px; + font-weight: 600; +} + +.markdown-body h3 { + font-size: 20px; + font-weight: 600; +} + +.markdown-body h4 { + font-size: 16px; + font-weight: 600; +} + +.markdown-body h5 { + font-size: 14px; + font-weight: 600; +} + +.markdown-body h6 { + font-size: 12px; + font-weight: 600; +} + +.markdown-body p { + margin-top: 0; + margin-bottom: 10px; +} + +.markdown-body blockquote { + margin: 0; +} + +.markdown-body ul, +.markdown-body ol { + padding-left: 0; + margin-top: 0; + margin-bottom: 0; +} + +.markdown-body ol ol, +.markdown-body ul ol { + list-style-type: lower-roman; +} + +.markdown-body ul ul ol, +.markdown-body ul ol ol, +.markdown-body ol ul ol, +.markdown-body ol ol ol { + list-style-type: lower-alpha; +} + +.markdown-body dd { + margin-left: 0; +} + +.markdown-body code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; +} + +.markdown-body pre { + margin-top: 0; + margin-bottom: 0; + font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; +} + +.markdown-body .octicon { + vertical-align: text-bottom; +} + +.markdown-body input { + -webkit-font-feature-settings: "liga" 0; + font-feature-settings: "liga" 0; +} + +.markdown-body .form-select::-ms-expand { + opacity: 0; +} + +.markdown-body::before { + display: table; + content: ""; +} + +.markdown-body::after { + display: table; + clear: both; + content: ""; +} + +.markdown-body>*:first-child { + margin-top: 0 !important; +} + +.markdown-body>*:last-child { + margin-bottom: 0 !important; +} + +.markdown-body a:not([href]) { + color: inherit; + text-decoration: none; +} + +.markdown-body .anchor { + float: left; + padding-right: 4px; + margin-left: -20px; + line-height: 1; +} + +.markdown-body .anchor:focus { + outline: none; +} + +.markdown-body p, +.markdown-body blockquote, +.markdown-body ul, +.markdown-body ol, +.markdown-body dl, +.markdown-body table, +.markdown-body pre { + margin-top: 0; + margin-bottom: 16px; +} + +.markdown-body hr { + height: 0.25em; + padding: 0; + margin: 24px 0; + background-color: #e7e7e7; + border: 0; +} + +.markdown-body blockquote { + padding: 0 1em; + color: #777; + border-left: 0.25em solid #ddd; +} + +.markdown-body blockquote>:first-child { + margin-top: 0; +} + +.markdown-body blockquote>:last-child { + margin-bottom: 0; +} + +.markdown-body kbd { + display: inline-block; + padding: 3px 5px; + font-size: 11px; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; +} + +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { + margin-top: 24px; + margin-bottom: 16px; + font-weight: 600; + line-height: 1.25; +} + +.markdown-body h1 .octicon-link, +.markdown-body h2 .octicon-link, +.markdown-body h3 .octicon-link, +.markdown-body h4 .octicon-link, +.markdown-body h5 .octicon-link, +.markdown-body h6 .octicon-link { + color: #000; + vertical-align: middle; + visibility: hidden; +} + +.markdown-body h1:hover .anchor, +.markdown-body h2:hover .anchor, +.markdown-body h3:hover .anchor, +.markdown-body h4:hover .anchor, +.markdown-body h5:hover .anchor, +.markdown-body h6:hover .anchor { + text-decoration: none; +} + +.markdown-body h1:hover .anchor .octicon-link, +.markdown-body h2:hover .anchor .octicon-link, +.markdown-body h3:hover .anchor .octicon-link, +.markdown-body h4:hover .anchor .octicon-link, +.markdown-body h5:hover .anchor .octicon-link, +.markdown-body h6:hover .anchor .octicon-link { + visibility: visible; +} + +.markdown-body h1 { + padding-bottom: 0.3em; + font-size: 2em; + border-bottom: 1px solid #eee; +} + +.markdown-body h2 { + padding-bottom: 0.3em; + font-size: 1.5em; + border-bottom: 1px solid #eee; +} + +.markdown-body h3 { + font-size: 1.25em; +} + +.markdown-body h4 { + font-size: 1em; +} + +.markdown-body h5 { + font-size: 0.875em; +} + +.markdown-body h6 { + font-size: 0.85em; + color: #777; +} + +.markdown-body ul, +.markdown-body ol { + padding-left: 2em; +} + +.markdown-body ul ul, +.markdown-body ul ol, +.markdown-body ol ol, +.markdown-body ol ul { + margin-top: 0; + margin-bottom: 0; +} + +.markdown-body li>p { + margin-top: 16px; +} + +.markdown-body li+li { + margin-top: 0.25em; +} + +.markdown-body dl { + padding: 0; +} + +.markdown-body dl dt { + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: bold; +} + +.markdown-body dl dd { + padding: 0 16px; + margin-bottom: 16px; +} + +.markdown-body table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; +} + +.markdown-body table th { + font-weight: bold; +} + +.markdown-body table th, +.markdown-body table td { + padding: 6px 13px; + border: 1px solid #ddd; +} + +.markdown-body table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} + +.markdown-body table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.markdown-body img { + max-width: 100%; + box-sizing: content-box; + background-color: #fff; +} + +.markdown-body code { + padding: 0; + padding-top: 0.2em; + padding-bottom: 0.2em; + margin: 0; + font-size: 85%; + background-color: rgba(0,0,0,0.04); + border-radius: 3px; +} + +.markdown-body code::before, +.markdown-body code::after { + letter-spacing: -0.2em; + content: "\00a0"; +} + +.markdown-body pre { + word-wrap: normal; +} + +.markdown-body pre>code { + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; +} + +.markdown-body .highlight { + margin-bottom: 16px; +} + +.markdown-body .highlight pre { + margin-bottom: 0; + word-break: normal; +} + +.markdown-body .highlight pre, +.markdown-body pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f7f7f7; + border-radius: 3px; +} + +.markdown-body pre code { + display: inline; + max-width: auto; + padding: 0; + margin: 0; + overflow: visible; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; +} + +.markdown-body pre code::before, +.markdown-body pre code::after { + content: normal; +} + +.markdown-body .pl-0 { + padding-left: 0 !important; +} + +.markdown-body .pl-1 { + padding-left: 3px !important; +} + +.markdown-body .pl-2 { + padding-left: 6px !important; +} + +.markdown-body .pl-3 { + padding-left: 12px !important; +} + +.markdown-body .pl-4 { + padding-left: 24px !important; +} + +.markdown-body .pl-5 { + padding-left: 36px !important; +} + +.markdown-body .pl-6 { + padding-left: 48px !important; +} + +.markdown-body .full-commit .btn-outline:not(:disabled):hover { + color: #4078c0; + border: 1px solid #4078c0; +} + +.markdown-body kbd { + display: inline-block; + padding: 3px 5px; + font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; +} + +.markdown-body :checked+.radio-label { + position: relative; + z-index: 1; + border-color: #4078c0; +} + +.markdown-body .task-list-item { + list-style-type: none; +} + +.markdown-body .task-list-item+.task-list-item { + margin-top: 3px; +} + +.markdown-body .task-list-item input { + margin: 0 0.2em 0.25em -1.6em; + vertical-align: middle; +} + +.markdown-body hr { + border-bottom-color: #eee; +} From 85a5e3ac8cac3e98d1f71413ddf47b57150d1dd7 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Mon, 5 Sep 2016 17:15:28 +0900 Subject: [PATCH 15/18] fix: Use bower to install github-markdown-css --- zeppelin-web/bower.json | 3 +- zeppelin-web/src/app/interpreter/markdown.css | 693 ------------------ zeppelin-web/src/index.html | 1 + 3 files changed, 3 insertions(+), 694 deletions(-) delete mode 100644 zeppelin-web/src/app/interpreter/markdown.css diff --git a/zeppelin-web/bower.json b/zeppelin-web/bower.json index e20493fa7fc..5ec18a75bdb 100644 --- a/zeppelin-web/bower.json +++ b/zeppelin-web/bower.json @@ -33,7 +33,8 @@ "handsontable": "~0.24.2", "moment-duration-format": "^1.3.0", "select2": "^4.0.3", - "angular-esri-map": "~2.0.0" + "angular-esri-map": "~2.0.0", + "github-markdown-css": "^2.4.0" }, "devDependencies": { "angular-mocks": "1.5.0" diff --git a/zeppelin-web/src/app/interpreter/markdown.css b/zeppelin-web/src/app/interpreter/markdown.css deleted file mode 100644 index bfcbed7dff8..00000000000 --- a/zeppelin-web/src/app/interpreter/markdown.css +++ /dev/null @@ -1,693 +0,0 @@ -/** - * github-markdown-css 2.4.0 by @sindresorhus - https://github.com/sindresorhus/github-markdown-css - * License - https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/license (MIT License) - */ - -.markdown-body { - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - line-height: 1.5; - color: #333; - font-size: 16px; - line-height: 1.5; - word-wrap: break-word; -} - -.markdown-body .pl-c { - color: #969896; -} - -.markdown-body .pl-c1, -.markdown-body .pl-s .pl-v { - color: #0086b3; -} - -.markdown-body .pl-e, -.markdown-body .pl-en { - color: #795da3; -} - -.markdown-body .pl-smi, -.markdown-body .pl-s .pl-s1 { - color: #333; -} - -.markdown-body .pl-ent { - color: #63a35c; -} - -.markdown-body .pl-k { - color: #a71d5d; -} - -.markdown-body .pl-s, -.markdown-body .pl-pds, -.markdown-body .pl-s .pl-pse .pl-s1, -.markdown-body .pl-sr, -.markdown-body .pl-sr .pl-cce, -.markdown-body .pl-sr .pl-sre, -.markdown-body .pl-sr .pl-sra { - color: #183691; -} - -.markdown-body .pl-v { - color: #ed6a43; -} - -.markdown-body .pl-id { - color: #b52a1d; -} - -.markdown-body .pl-ii { - color: #f8f8f8; - background-color: #b52a1d; -} - -.markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #63a35c; -} - -.markdown-body .pl-ml { - color: #693a17; -} - -.markdown-body .pl-mh, -.markdown-body .pl-mh .pl-en, -.markdown-body .pl-ms { - font-weight: bold; - color: #1d3e81; -} - -.markdown-body .pl-mq { - color: #008080; -} - -.markdown-body .pl-mi { - font-style: italic; - color: #333; -} - -.markdown-body .pl-mb { - font-weight: bold; - color: #333; -} - -.markdown-body .pl-md { - color: #bd2c00; - background-color: #ffecec; -} - -.markdown-body .pl-mi1 { - color: #55a532; - background-color: #eaffea; -} - -.markdown-body .pl-mdr { - font-weight: bold; - color: #795da3; -} - -.markdown-body .pl-mo { - color: #1d3e81; -} - -.markdown-body .octicon { - display: inline-block; - vertical-align: text-top; - fill: currentColor; -} - -.markdown-body a { - background-color: transparent; - -webkit-text-decoration-skip: objects; -} - -.markdown-body a:active, -.markdown-body a:hover { - outline-width: 0; -} - -.markdown-body strong { - font-weight: inherit; -} - -.markdown-body strong { - font-weight: bolder; -} - -.markdown-body h1 { - font-size: 2em; - margin: 0.67em 0; -} - -.markdown-body img { - border-style: none; -} - -.markdown-body svg:not(:root) { - overflow: hidden; -} - -.markdown-body code, -.markdown-body kbd, -.markdown-body pre { - font-family: monospace, monospace; - font-size: 1em; -} - -.markdown-body hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -.markdown-body input { - font: inherit; - margin: 0; -} - -.markdown-body input { - overflow: visible; -} - -.markdown-body button:-moz-focusring, -.markdown-body [type="button"]:-moz-focusring, -.markdown-body [type="reset"]:-moz-focusring, -.markdown-body [type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -.markdown-body [type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -.markdown-body * { - box-sizing: border-box; -} - -.markdown-body input { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -.markdown-body a { - color: #4078c0; - text-decoration: none; -} - -.markdown-body a:hover, -.markdown-body a:active { - text-decoration: underline; -} - -.markdown-body strong { - font-weight: 600; -} - -.markdown-body hr { - height: 0; - margin: 15px 0; - overflow: hidden; - background: transparent; - border: 0; - border-bottom: 1px solid #ddd; -} - -.markdown-body hr::before { - display: table; - content: ""; -} - -.markdown-body hr::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body table { - border-spacing: 0; - border-collapse: collapse; -} - -.markdown-body td, -.markdown-body th { - padding: 0; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body h1 { - font-size: 32px; - font-weight: 600; -} - -.markdown-body h2 { - font-size: 24px; - font-weight: 600; -} - -.markdown-body h3 { - font-size: 20px; - font-weight: 600; -} - -.markdown-body h4 { - font-size: 16px; - font-weight: 600; -} - -.markdown-body h5 { - font-size: 14px; - font-weight: 600; -} - -.markdown-body h6 { - font-size: 12px; - font-weight: 600; -} - -.markdown-body p { - margin-top: 0; - margin-bottom: 10px; -} - -.markdown-body blockquote { - margin: 0; -} - -.markdown-body ul, -.markdown-body ol { - padding-left: 0; - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body ol ol, -.markdown-body ul ol { - list-style-type: lower-roman; -} - -.markdown-body ul ul ol, -.markdown-body ul ol ol, -.markdown-body ol ul ol, -.markdown-body ol ol ol { - list-style-type: lower-alpha; -} - -.markdown-body dd { - margin-left: 0; -} - -.markdown-body code { - font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; - font-size: 12px; -} - -.markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; -} - -.markdown-body .octicon { - vertical-align: text-bottom; -} - -.markdown-body input { - -webkit-font-feature-settings: "liga" 0; - font-feature-settings: "liga" 0; -} - -.markdown-body .form-select::-ms-expand { - opacity: 0; -} - -.markdown-body::before { - display: table; - content: ""; -} - -.markdown-body::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body>*:first-child { - margin-top: 0 !important; -} - -.markdown-body>*:last-child { - margin-bottom: 0 !important; -} - -.markdown-body a:not([href]) { - color: inherit; - text-decoration: none; -} - -.markdown-body .anchor { - float: left; - padding-right: 4px; - margin-left: -20px; - line-height: 1; -} - -.markdown-body .anchor:focus { - outline: none; -} - -.markdown-body p, -.markdown-body blockquote, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body pre { - margin-top: 0; - margin-bottom: 16px; -} - -.markdown-body hr { - height: 0.25em; - padding: 0; - margin: 24px 0; - background-color: #e7e7e7; - border: 0; -} - -.markdown-body blockquote { - padding: 0 1em; - color: #777; - border-left: 0.25em solid #ddd; -} - -.markdown-body blockquote>:first-child { - margin-top: 0; -} - -.markdown-body blockquote>:last-child { - margin-bottom: 0; -} - -.markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font-size: 11px; - line-height: 10px; - color: #555; - vertical-align: middle; - background-color: #fcfcfc; - border: solid 1px #ccc; - border-bottom-color: #bbb; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #bbb; -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 24px; - margin-bottom: 16px; - font-weight: 600; - line-height: 1.25; -} - -.markdown-body h1 .octicon-link, -.markdown-body h2 .octicon-link, -.markdown-body h3 .octicon-link, -.markdown-body h4 .octicon-link, -.markdown-body h5 .octicon-link, -.markdown-body h6 .octicon-link { - color: #000; - vertical-align: middle; - visibility: hidden; -} - -.markdown-body h1:hover .anchor, -.markdown-body h2:hover .anchor, -.markdown-body h3:hover .anchor, -.markdown-body h4:hover .anchor, -.markdown-body h5:hover .anchor, -.markdown-body h6:hover .anchor { - text-decoration: none; -} - -.markdown-body h1:hover .anchor .octicon-link, -.markdown-body h2:hover .anchor .octicon-link, -.markdown-body h3:hover .anchor .octicon-link, -.markdown-body h4:hover .anchor .octicon-link, -.markdown-body h5:hover .anchor .octicon-link, -.markdown-body h6:hover .anchor .octicon-link { - visibility: visible; -} - -.markdown-body h1 { - padding-bottom: 0.3em; - font-size: 2em; - border-bottom: 1px solid #eee; -} - -.markdown-body h2 { - padding-bottom: 0.3em; - font-size: 1.5em; - border-bottom: 1px solid #eee; -} - -.markdown-body h3 { - font-size: 1.25em; -} - -.markdown-body h4 { - font-size: 1em; -} - -.markdown-body h5 { - font-size: 0.875em; -} - -.markdown-body h6 { - font-size: 0.85em; - color: #777; -} - -.markdown-body ul, -.markdown-body ol { - padding-left: 2em; -} - -.markdown-body ul ul, -.markdown-body ul ol, -.markdown-body ol ol, -.markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body li>p { - margin-top: 16px; -} - -.markdown-body li+li { - margin-top: 0.25em; -} - -.markdown-body dl { - padding: 0; -} - -.markdown-body dl dt { - padding: 0; - margin-top: 16px; - font-size: 1em; - font-style: italic; - font-weight: bold; -} - -.markdown-body dl dd { - padding: 0 16px; - margin-bottom: 16px; -} - -.markdown-body table { - display: block; - width: 100%; - overflow: auto; - word-break: normal; - word-break: keep-all; -} - -.markdown-body table th { - font-weight: bold; -} - -.markdown-body table th, -.markdown-body table td { - padding: 6px 13px; - border: 1px solid #ddd; -} - -.markdown-body table tr { - background-color: #fff; - border-top: 1px solid #ccc; -} - -.markdown-body table tr:nth-child(2n) { - background-color: #f8f8f8; -} - -.markdown-body img { - max-width: 100%; - box-sizing: content-box; - background-color: #fff; -} - -.markdown-body code { - padding: 0; - padding-top: 0.2em; - padding-bottom: 0.2em; - margin: 0; - font-size: 85%; - background-color: rgba(0,0,0,0.04); - border-radius: 3px; -} - -.markdown-body code::before, -.markdown-body code::after { - letter-spacing: -0.2em; - content: "\00a0"; -} - -.markdown-body pre { - word-wrap: normal; -} - -.markdown-body pre>code { - padding: 0; - margin: 0; - font-size: 100%; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; -} - -.markdown-body .highlight { - margin-bottom: 16px; -} - -.markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; -} - -.markdown-body .highlight pre, -.markdown-body pre { - padding: 16px; - overflow: auto; - font-size: 85%; - line-height: 1.45; - background-color: #f7f7f7; - border-radius: 3px; -} - -.markdown-body pre code { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; -} - -.markdown-body pre code::before, -.markdown-body pre code::after { - content: normal; -} - -.markdown-body .pl-0 { - padding-left: 0 !important; -} - -.markdown-body .pl-1 { - padding-left: 3px !important; -} - -.markdown-body .pl-2 { - padding-left: 6px !important; -} - -.markdown-body .pl-3 { - padding-left: 12px !important; -} - -.markdown-body .pl-4 { - padding-left: 24px !important; -} - -.markdown-body .pl-5 { - padding-left: 36px !important; -} - -.markdown-body .pl-6 { - padding-left: 48px !important; -} - -.markdown-body .full-commit .btn-outline:not(:disabled):hover { - color: #4078c0; - border: 1px solid #4078c0; -} - -.markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; - line-height: 10px; - color: #555; - vertical-align: middle; - background-color: #fcfcfc; - border: solid 1px #ccc; - border-bottom-color: #bbb; - border-radius: 3px; - box-shadow: inset 0 -1px 0 #bbb; -} - -.markdown-body :checked+.radio-label { - position: relative; - z-index: 1; - border-color: #4078c0; -} - -.markdown-body .task-list-item { - list-style-type: none; -} - -.markdown-body .task-list-item+.task-list-item { - margin-top: 3px; -} - -.markdown-body .task-list-item input { - margin: 0 0.2em 0.25em -1.6em; - vertical-align: middle; -} - -.markdown-body hr { - border-bottom-color: #eee; -} diff --git a/zeppelin-web/src/index.html b/zeppelin-web/src/index.html index 9a8ae6fbb88..9b049552d59 100644 --- a/zeppelin-web/src/index.html +++ b/zeppelin-web/src/index.html @@ -46,6 +46,7 @@ + From 4d1cb3cb989cc1ef31fef9f0bca6f5a5f9fb0355 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Mon, 5 Sep 2016 23:32:40 +0900 Subject: [PATCH 16/18] fix: Typo in docs/interpreter/markdown.md --- docs/interpreter/markdown.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/interpreter/markdown.md b/docs/interpreter/markdown.md index 80b48e429ff..a5ddd2fb155 100644 --- a/docs/interpreter/markdown.md +++ b/docs/interpreter/markdown.md @@ -25,11 +25,11 @@ limitations under the License. ## Overview [Markdown](http://daringfireball.net/projects/markdown/) is a plain text formatting syntax designed so that it can be converted to HTML. -Apache Zeppelin uses [markdown4j](https://github.com/sirthias/pegdown) and [pegdown](https://github.com/sirthias/pegdown) as markdown engines. +Apache Zeppelin uses [markdown4j](https://github.com/jdcasey/markdown4j) and [pegdown](https://github.com/sirthias/pegdown) as markdown parsers. In Zeppelin notebook, you can use ` %md ` in the beginning of a paragraph to invoke the Markdown interpreter and generate static html from Markdown plain text. -In Zeppelin, Markdown interpreter is enabled by default and uses [markdown4j](https://github.com/sirthias/pegdown) engine. +In Zeppelin, Markdown interpreter is enabled by default and uses the [markdown4j](https://github.com/jdcasey/markdown4j) parser. @@ -53,13 +53,12 @@ The following example demonstrates the basic usage of Markdown in a Zeppelin not -### Markdowj4 Parser +### Markdown4j Parser `markdown4j` parser provides [YUML](http://yuml.me/) and [Websequence](https://www.websequencediagrams.com/) extensions - ### Pegdown Parser `pegdown` parser provides github flavored markdown. From 8b1e0170aa0964c26656aa126a67f417b78678bd Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Thu, 8 Sep 2016 00:17:33 +0900 Subject: [PATCH 17/18] chore: Move github-markdown-css license to bin_licenses --- LICENSE | 1 - zeppelin-distribution/src/bin_license/LICENSE | 1 + .../src/bin_license/licenses}/LICENSE-github-markdown-css-2.4.0 | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename {licenses => zeppelin-distribution/src/bin_license/licenses}/LICENSE-github-markdown-css-2.4.0 (100%) diff --git a/LICENSE b/LICENSE index d66719ebe1f..b243d2c68b5 100644 --- a/LICENSE +++ b/LICENSE @@ -234,7 +234,6 @@ The text of each license is also included at licenses/LICENSE-[project]-[version (The MIT License) Simple line icons v1.0.0 (http://thesabbir.github.io/simple-line-icons/) - https://github.com/thesabbir/simple-line-icons/tree/1.0.0 (The MIT License) jekyll-bootstrap 0.3.0 (https://github.com/plusjade/jekyll-bootstrap) - https://github.com/plusjade/jekyll-bootstrap (The MIT License) jekyll 1.3.0 (http://jekyllrb.com/) - https://github.com/jekyll/jekyll/blob/v1.3.0/LICENSE - (The MIT License) github-markdown-css 2.4.0 (https://github.com/sindresorhus/github-markdown-css) - https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/license ======================================================================== MIT-style licenses diff --git a/zeppelin-distribution/src/bin_license/LICENSE b/zeppelin-distribution/src/bin_license/LICENSE index 8c9c34c1107..e599084904b 100644 --- a/zeppelin-distribution/src/bin_license/LICENSE +++ b/zeppelin-distribution/src/bin_license/LICENSE @@ -154,6 +154,7 @@ The text of each license is also included at licenses/LICENSE-[project]-[version (The MIT License) bcprov-jdk15on v1.51 (org.bouncycastle:bcprov-jdk15on:jar:1.51 - http://www.bouncycastle.org/java.html) - http://www.bouncycastle.org/licence.html (The MIT License) AnchorJS (https://github.com/bryanbraun/anchorjs) - https://github.com/bryanbraun/anchorjs/blob/master/README.md#license (The MIT License) moment-duration-format v1.3.0 (https://github.com/jsmreese/moment-duration-format) - https://github.com/jsmreese/moment-duration-format/blob/master/LICENSE + (The MIT License) github-markdown-css 2.4.0 (https://github.com/sindresorhus/github-markdown-css) - https://github.com/sindresorhus/github-markdown-css/blob/gh-pages/license The following components are provided under the MIT License. diff --git a/licenses/LICENSE-github-markdown-css-2.4.0 b/zeppelin-distribution/src/bin_license/licenses/LICENSE-github-markdown-css-2.4.0 similarity index 100% rename from licenses/LICENSE-github-markdown-css-2.4.0 rename to zeppelin-distribution/src/bin_license/licenses/LICENSE-github-markdown-css-2.4.0 From e08929a093f6b85df2a7f2137cda2dc205433512 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Thu, 8 Sep 2016 00:24:49 +0900 Subject: [PATCH 18/18] fix: Handle more specific exception in catch block --- .../zeppelin/markdown/Markdown4jParser.java | 5 ++-- .../markdown/MarkdownInterpreter.java | 3 ++- .../zeppelin/markdown/PegdownParser.java | 23 +++++++------------ 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java index 80cb3394653..68ca41b3fc9 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/Markdown4jParser.java @@ -25,8 +25,6 @@ /** Markdown Parser using markdown4j processor . */ public class Markdown4jParser implements MarkdownParser { - private final Logger logger = LoggerFactory.getLogger(Markdown4jParser.class); - private Markdown4jProcessor processor; public Markdown4jParser() { @@ -40,7 +38,8 @@ public String render(String markdownText) { try { html = processor.process(markdownText); } catch (IOException e) { - logger.error("Cannot parse markdown text to HTML using markdown4j", e); + // convert checked exception to non-checked exception + throw new RuntimeException(e); } return html; diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java index d12e0b9566b..ca2eb7356e1 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/MarkdownInterpreter.java @@ -17,6 +17,7 @@ package org.apache.zeppelin.markdown; +import java.io.IOException; import java.util.List; import java.util.Properties; @@ -89,7 +90,7 @@ public InterpreterResult interpret(String markdownText, InterpreterContext inter try { html = parser.render(markdownText); - } catch (Exception e) { + } catch (RuntimeException e) { LOGGER.error("Exception in MarkdownInterpreter while interpret ", e); return new InterpreterResult(Code.ERROR, InterpreterUtils.getMostRelevantMessage(e)); } diff --git a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java index 497058bb69e..bbadd977d8e 100644 --- a/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java +++ b/markdown/src/main/java/org/apache/zeppelin/markdown/PegdownParser.java @@ -24,8 +24,6 @@ /** Markdown Parser using pegdown processor. */ public class PegdownParser implements MarkdownParser { - private final Logger logger = LoggerFactory.getLogger(PegdownParser.class); - private PegDownProcessor processor; public PegdownParser() { @@ -37,27 +35,22 @@ public PegdownParser() { @Override public String render(String markdownText) { String html = ""; + String parsed = processor.markdownToHtml(markdownText); - try { - String parsed = processor.markdownToHtml(markdownText); - if (null == parsed) { - throw new RuntimeException("Cannot parse markdown text to HTML using pegdown"); - } - - html = wrapWithMarkdownClassDiv(parsed); - } catch (RuntimeException e) { - logger.error("Cannot parse markdown text to HTML using pegdown", e); + if (null == parsed) { + throw new RuntimeException("Cannot parse markdown text to HTML using pegdown"); } + html = wrapWithMarkdownClassDiv(parsed); return html; } /** wrap with markdown class div to styling DOM using css. */ public static String wrapWithMarkdownClassDiv(String html) { return new StringBuilder() - .append("

") - .toString(); + .append("
\n") + .append(html) + .append("\n
") + .toString(); } }