Skip to content

Instantly share code, notes, and snippets.

@alkemann
Created September 4, 2017 13:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alkemann/e160861f9a5384c7f0ec7e771da2a0f3 to your computer and use it in GitHub Desktop.
Save alkemann/e160861f9a5384c7f0ec7e771da2a0f3 to your computer and use it in GitHub Desktop.
A Patch trying to fix markdown code blocks
Index: src/main/java/io/github/swagger2markup/markup/builder/internal/AbstractMarkupDocBuilder.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/io/github/swagger2markup/markup/builder/internal/AbstractMarkupDocBuilder.java (date 1499692487000)
+++ src/main/java/io/github/swagger2markup/markup/builder/internal/AbstractMarkupDocBuilder.java (revision )
@@ -227,6 +227,20 @@
return listingBlock(replaceNewLines(text), null);
}
+ protected void delimitedBlockText(Markup begin, String text, Markup end, boolean skipLeadNewLine) {
+ Validate.notBlank(text, "text must not be blank");
+ if (!StringUtils.isBlank(begin.toString()))
+ documentBuilder.append(begin);
+ if (skipLeadNewLine == false)
+ documentBuilder.append(newLine);
+
+ documentBuilder.append(replaceNewLines(text)).append(newLine);
+ if (!StringUtils.isBlank(end.toString()))
+ documentBuilder.append(end).append(newLine);
+ documentBuilder.append(newLine);
+
+ }
+
protected void delimitedBlockText(Markup begin, String text, Markup end) {
Validate.notBlank(text, "text must not be blank");
if (!StringUtils.isBlank(begin.toString()))
Index: src/test/resources/expected/markdown/test.md
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/test/resources/expected/markdown/test.md (date 1499692487000)
+++ src/test/resources/expected/markdown/test.md (revision )
@@ -52,8 +52,7 @@
Source code listing
```
-```
-java :
+```java
MarkupDocBuilder builder = MarkupDocBuilders.documentBuilder(MarkupLanguage.MARKDOWN)
```
Index: src/main/java/io/github/swagger2markup/markup/builder/internal/markdown/MarkdownBuilder.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/io/github/swagger2markup/markup/builder/internal/markdown/MarkdownBuilder.java (date 1499692487000)
+++ src/main/java/io/github/swagger2markup/markup/builder/internal/markdown/MarkdownBuilder.java (revision )
@@ -122,18 +122,19 @@
if (admonition != null || title != null)
documentBuilder.append(" : ").append(newLine);
- delimitedBlockText(new Markup() {
+ Markup m = new Markup() {
public String toString() {
return BLOCK_STYLE.get(style);
}
- }, text);
+ };
+ delimitedBlockText(m, text, m, true);
return this;
}
@Override
public MarkupDocBuilder listingBlock(String text, String language) {
if (language != null)
- text = language + " :" + newLine + text;
+ text = language + newLine + text;
block(text, MarkupBlockStyle.LISTING);
return this;
}
Index: src/test/java/io/github/swagger2markup/markup/builder/MarkupDocBuilderTest.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/test/java/io/github/swagger2markup/markup/builder/MarkupDocBuilderTest.java (date 1499692487000)
+++ src/test/java/io/github/swagger2markup/markup/builder/MarkupDocBuilderTest.java (revision )
@@ -129,6 +129,19 @@
assertEquals("[[_mdb_test-anchor,text]]<<_mdb_test-anchor,text>>", prefixMarkup);
}
+ @Test
+ public void testMarkdownCodeBlock() throws IOException, URISyntaxException {
+ MarkupDocBuilder builder = MarkupDocBuilders.documentBuilder(MarkupLanguage.MARKDOWN);
+
+ builder = builder.listingBlock("$o = new Thing();", "php");
+ Path outputFile = Paths.get("build/test/markdown/test2");
+ builder.writeToFileWithoutExtension(builder.addFileExtension(outputFile), StandardCharsets.UTF_8);
+ builder.writeToFile(outputFile, StandardCharsets.UTF_8);
+
+ Path expectedFile = Paths.get(MarkupDocBuilderTest.class.getResource("/expected/markdown/test2.md").toURI());
+ DiffUtils.assertThatFileIsEqual(expectedFile, builder.addFileExtension(outputFile), "testMarkdown2.html");
+ }
+
@Test
public void testMarkdown() throws IOException, URISyntaxException {
MarkupDocBuilder builder = MarkupDocBuilders.documentBuilder(MarkupLanguage.MARKDOWN);
Index: src/test/resources/expected/markdown/test2.md
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/test/resources/expected/markdown/test2.md (revision )
+++ src/test/resources/expected/markdown/test2.md (revision )
@@ -0,0 +1,4 @@
+```php
+$o = new Thing();
+```
+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment