Concordion Markdown extension v0.1.0

34 views
Skip to first unread message

Nigel Charman

unread,
Nov 30, 2015, 9:17:23 PM11/30/15
to conco...@googlegroups.com, concordion-dev
I'm pleased to announce the new Concordion Markdown extension. This allows you to write your specifications in Markdown rather than HTML, making it easier and quicker to write, and instrument, specifications.

See the README for documentation, or the example specifications and associated fixtures if you just want to see what it looks like.

Please consider this 0.1.0 version a beta release. The syntax may change as we head towards a 1.0.0 version in a few weeks. We'd really like some feedback to move it towards a 1.0.0.

The extension is based on Concordion 1.5.1. If you want the example command to work correctly, you'll need to also use Concordion 2.0 or later, which is currently published as a 2.0.0-SNAPSHOT release.

Please post feedback to our Google Group on:
  • the syntax
  • the documentation
  • any syntax issues that are hard to diagnose
  • any other suggestions
and raise issues on the issue tracker.

Thanks to John Hurst for helping with some early versions, and to David Peterson and Mark Derricutt for helping inspire this extension.

Nigel.

Daniel Katzel

unread,
Dec 1, 2015, 12:21:06 AM12/1/15
to Nigel Charman, conco...@googlegroups.com, concordion-dev
Very cool! 

I really like the use of links to specify the concordion commands.  That was a very clever way to be able to use them with tables.  I will start using this right away

--
You received this message because you are subscribed to the Google Groups "concordion-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to concordion-de...@googlegroups.com.
To post to this group, send email to concord...@googlegroups.com.
Visit this group at http://groups.google.com/group/concordion-dev.
To view this discussion on the web, visit https://groups.google.com/d/msgid/concordion-dev/565D032C.8080002%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

David Peterson

unread,
Dec 1, 2015, 10:31:34 AM12/1/15
to concordion-dev
Cunning! I wondered how you could instrument without introducing lots of visible clutter or some crazy new Markdown syntax. Nice job! This addresses one of the biggest drawbacks of Concordion.

David

Daniel Katzel

unread,
Dec 1, 2015, 2:00:02 PM12/1/15
to concordion-dev, conco...@googlegroups.com
Is there a way with the Markdown plugin to use the old Example class without using Concordion 2 Example command?

Trying to convert some old concordion specs to use markdown instead

Thanks

Nigel Charman

unread,
Dec 1, 2015, 2:13:19 PM12/1/15
to concord...@googlegroups.com
Hmm, good question. A couple of options:
  1. You use the example command format in your Markdown. We change the extension to look for the org.concordion.internal.command.ExampleCommand class in Concordion. If not found, the extension outputs the old example class rather than the new command, or
  2. You use the example command format in your Markdown. We don't change the extension. Instead you change your styling to apply the CSS to the concordion:example attribute rather than the example class. This would need you to either modify all your specs to add the CSS style, or write an extension to apply the additional styling.
The first would have the least impact on users. I might get time to do this in about 12 hours, or happy to accept a PR if you want to give it a go.

Nigel.
--
You received this message because you are subscribed to the Google Groups "concordion-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to concordion-de...@googlegroups.com.
To post to this group, send email to concord...@googlegroups.com.
Visit this group at http://groups.google.com/group/concordion-dev.

andrew...@xtra.co.nz

unread,
Dec 1, 2015, 9:48:32 PM12/1/15
to concordion-dev, conco...@googlegroups.com
Would it possible for the MarkdownExtension to search for <spec>.md and then <spec>.html if markdown file not found.  

This way I could specify the use of the extension in the base class and not worry about updating every fixture where I convert the specification over to markdown.  (I broke all our tests have expecting that behaviour :-) )

Daniel Katzel

unread,
Dec 1, 2015, 11:19:44 PM12/1/15
to concordion-dev
Thanks Nigel,
  I'll send a PR shortly
Message has been deleted

Nigel Charman

unread,
Dec 2, 2015, 3:26:01 AM12/2/15
to concord...@googlegroups.com
Sure, would you raise an issue on this please. Issues #3 and #4 are somewhat related and need a bit of thinking about how we handle different source file types.

Any thoughts about what we should do if both .md and .html files exist for the same fixture? Prefer the .md or .html or throw an exception?

I'm also considering whether we should bake this extension into core for Concordion 2.0, so this request would work well in that context.

Nigel.


On 02/12/15 15:48, andrew...@xtra.co.nz wrote:
Would it possible for the MarkdownExtension to search for <spec>.md and then <spec>.html if markdown file not found.  

This way I could specify the use of the extension in the base class and not worry about updating every fixture where I convert the specification over to markdown.  (I broke all our tests have expecting that behaviour :-) )

--
You received this message because you are subscribed to the Google Groups "concordion-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to concordion-de...@googlegroups.com.
To post to this group, send email to concord...@googlegroups.com.
Visit this group at http://groups.google.com/group/concordion-dev.

Steve Eynon

unread,
Dec 2, 2015, 10:18:54 AM12/2/15
to concordion-dev
The Markdown extension looks good, well done!

Using URLs for the commands is a smart idea, and is exactly what I did for Fancordion (see Command Syntax). Fancordion uses dialect of Markdown called Fandoc.

I always found the HTML formatting off-putting so would welcome the Markdown extension becoming part of the core.

Steve.

David Peterson

unread,
Dec 2, 2015, 2:54:17 PM12/2/15
to concordion-dev
It never occurred to me how flexible URIs can be. By the way, I love the documentation for Fancordion---complete, clear and concise!

David

Nigel Charman

unread,
Dec 4, 2015, 1:51:04 AM12/4/15
to concord...@googlegroups.com
+1 - the Fancordion site is excellent.

The Github markdown editor seems to be less forgiving with URIs. I just tried entering URIs such as [17](set:age) and Github no longer recognises it as a link.
--
You received this message because you are subscribed to the Google Groups "concordion-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to concordion-de...@googlegroups.com.
To post to this group, send email to concord...@googlegroups.com.
Visit this group at http://groups.google.com/group/concordion-dev.

j.r.

unread,
Dec 4, 2015, 2:08:46 PM12/4/15
to concordion-dev
just my two cents:
I like the idea that all existing specifications are executed for the same fixture. This ensures that even during transition from one type to another all tests stay green. :-)
btw. this is the actual behavior of Concordion.NET. You can specify in the configuration which file extensions you want to use for your specifications: http://concordion.org/dotnet/Configuration.html -> File extensions for specification documents
Reply all
Reply to author
Forward
0 new messages