How to format posts
The VASSAL forum supports MarkDown to format posts. MarkDown is a simple mark-up language inspired by E-mail best-practices. While simple, it allows for rich text formatting that can make your posts stand-out and convey information in a concise way.
Other well-known mark-up languages include HTML and [LATEX]
How to format posts
The VASSAL forum supports MarkDown to format posts. MarkDown is a simple mark-up language inspired by E-mail best-practices. While simple, it allows for rich text formatting that can make your posts stand-out and convey information in a concise way.
Other well-known mark-up languages include HTML and LATEX. Common to mark-up languages is that you write text focusing on the content, rather than the form, and then rely on the back-end to present your meaning in an appropriate fashion.
Before starting the post
Be sure to pick the Category that is most appropriate for your post
Category | Use |
---|---|
Site Feedback | Questions, etc about the forum itself |
General Discussion | Topics that are general in nature and does not fit in elsewhere |
Technical Support & Bugs | Problems or questions about VASSAL itself |
Feature Requests | Wishes for features to include into VASSAL |
Development | Discussion about VASSAL development |
Module Discussion | Questions etc. about specific modules |
Module Design | Discussion about making modules |
Module Support | Trouble with specific modules |
Opponents Wanted | Call for playing a game with VASSAL |
Game in Progress | Specific instances of games being played |
News | News on VASSAL, modules, etc. of general interest. this category is moderated |
Documentation | Posts documenting features and usage of VASSAL |
See also the pinned About the … category post at the top of each category.
Editting the post
When you start a new post, you will see a toolbar on top of the edit box.
This provide a point’n’click way to format your message. However, all the buttons do, is to insert the appropriate MarkDown code in your message, and it is useful to know what that MarkDown code looks like.
Indention
Spaces at the start of lines are significant. For example, if you have a list, and you want to break a an item into paragraphs, then the indention (or number of spaces at the start of the line) should match the current indention level of the list.
For example
- This is an item
And this is another paragraph under that item
to give
-
This is an item
And this is another paragraph under that item
This also applies in other contexts where indention is in use.
Full Quote
[quote id="user, post:number, topic:id, full:boolean]
...
[/quote]
This generates a quote of some previous post with identifier id
by user user
. Here, number
is the sub-post number and full
denotes if the quote is in full or not.
This tag is strictly speaking not MarkDown tag.
Bold face
**This is in bold face**
__And so is this__
Text can be made bold face by putting two asterisk *
or underscores _
before and after the text. Note that there should be no space between the *
s or _
s and the front and end of the text.
Bold and italic can be combined: **_Foo_**
yields Foo
Italic
_This is in italic_
*And so is this*
Text can be made italic by putting one underscore _
or asterisk *
before and after the text. Note that there should be no space between the *
s or _
s and the front and end of the text.
Italic and bold can be combined: _**Foo**_
yields Foo
Links
[this is the link text](this is what is lined to)
To insert a link, put your link text in square brackets [...]
followed immediately by the link in parentheses (...)
.
For example
[BoardGameGeek web-site](https://boardgamegeek.com)
produces BoardGameGeek web-site.
Quotes
> This is a quote
>
>> This is a deeper quote
To quote, put >
at the start of the line (at the current indention). If the quote contains other quotes, put further >
s.
For example
> Never in the field of human conflict was so much owed by so many to so few.
results in
Never in the field of human conflict was so much owed by so many to few. [Winston Churchill]
Note, the start of the line means relative to the current indention. That is, if you put a quote inside a list, you will need to indent by the current list indent, as in
- Another quote:
> I would say to the House, as I said to those who have joined this Government, I have nothing to offer but blood, toil, tears and sweat. [_Winston Churchill_]
to yield
-
Another quote:
I would say to the House, as I said to those who have joined this Government, I have nothing to offer but blood, toil, tears and sweat. [Winston Churchill]
Literal text or blocks
Blocks
```
This is a literal block
```
`This is literal (inline) text
To put messages, logs, or code, into a post, use three back-tics ```
before and after the text you want to be literally shown. Within the block, no formatting is done, and all spaces are preserved. This is especially useful when posting error messages of logs, showing command lines, or citing code.
The preceding ```
can be followed by a language specification, for code and similar.
For example
```Java
class Foo extends Bar
{
public Foo() {}
}
```
to give
class Foo extends Bar
{
public Foo() {}
}
In-line
In this text, `this` is literal
Literal text can also be put in-line by putting a single back-tick
` before and after the text.
For example,
Create a `LayerTrait` in the prototype
will yield
Create a LayerTrait
in the prototype.
Images

To put an image into the post, put an exclamation point, followed by scare brackets []
- possibly empty, or with alternative text, followed by the URL (Universal Resource Locator) of the image.
For example

gives
Uploaded images
To upload an image to a post, press the button and select the image to upload. You will get code a la

in the post. You can remove the size
part if you do not want that. The URL is a bit special in that it is only valid in the VASSAL forum. However, it is accessible throughout the forum.
List (un-numbered)
- This is an item
- This is the second item
* This is a sub item of the second item
Lists are easily made by putting a hyphen -
or asterisk *
at the start of the line (at the current indention). Sub-lists are made by indenting the sub-lists by the current indention (2 spaces).
A list item can be broken into several paragraphs by putting in an empty line and indenting by the current indention.
For example
The game consists of
- A board
* Counters
- 300 counters representing Axis units
* Of which 150 are airborne
Note that Axis airborne units cannot actually perform air-drops
- 200 counters representing Allied units
- Of which 150 are airborne
Note that some of these are deployed by parachute while others by gliders
- 3 d10 dice
to give
The game consists of
- A board
- Counters
-
300 counters representing Axis units
-
Of which 150 are airborne
Note that Axis airborne units cannot actually perform air-drops
-
-
200 counters representing Allied units
-
Of which 150 are airborne
Note that some of these are deployed by parachute while others by gliders
-
-
- 3 d10 dice
Numbered list
1. First item
1. Second item
3. This is a sub item of the second item
Numbered lists are easily made by putting a hyphen a number followed by a period .
at the start of the line (at the current indention). Sub-lists are made by indenting the sub-lists by the current indention (3 spaces).
The actual number does not matter, except for the first item of a list. The numbering will start with that number. In that way, one can continue a numbered list after a non-list paragraph
For example
1. First item
1. Second item
1. First sub-item
3. Second sub-item
Intervening paragraph, next numbered list start at 3.
3. Third item, continuing the list above
will give
- First item
- Second item
- First sub-item
- Second sub-item
Intervening paragraph, next numbered list start at 3.
- Third item, continuing the list above
Emoji’s
Use the drop-down menu to select an emoji. The will typically appear as :emoji-name:
in the code.
Strictly speaking, this is not MarkDown syntax.
Date and time
Use the pop-up dialog to select a date, time, and time-zone and other features. The insert will appear as
[date=YYYY-MM-DD time=HH:mm:ss timezone="timezone"]
in the code. Note that users will see the date and time in their own time-zone and locale format.
Tables
| Header | Header |
|---------|---------|
| Content | Content |
| Content | Content |
Tables are entered in the so-called piped format. A table starts with a number of headers separated by pipes |
. The headers can be empty, but the pipes must be there.
Then follows a line with each column content is one or more hyphens -
separated by pipes |
.
After the dividing line, any number of lines follow with the content of each cell being divided by a |
.
Note that spaces are not significant.
For example
| Game | Complexity | Duration |
|------|------------|----------|
| Afrika Korps | 3 | 4 hours |
| The African Campaign | 8 | Days |
yields
Game | Complexity | Duration |
---|---|---|
Afrika Korps | 3 | 4 hours |
The African Campaign | 8 | Days |
Collapsable sections
[details="Title"]
Content
[/details]
To make a collapsable section, surround the content of the section with [details="TITLE"]
and [/details]
. Here, TITLE
will become the title of the section.
This is really not a MarkDown feature.
For example
[details="More information"]
The North African campaign was a prolonged and ...
[/details]
which gives
More information
The North African campaign was a prolonged and …
Poll
[poll type=TYPE results=CHOICE public=CHOICE]
<list of choices>
A poll question can be made by putting [poll ...]
and [/poll]
around a list of choices. The argument type=regular
allows user to select a single choice (radio-box), while type=multiple
will allow multiple choices (possibly limited by min
and max
). Whether to show the results of the poll can be chosen by results=
and public=BOOLEAN
.
This is really not a MarkDown feature.
For example
Which is your favourite PBEM tool?
[poll type=regular]
* VASSAL
* CyberBoard
* ZunTzu
[/poll]
which gives
Which is your favourite PBEM tool?
- VASSAL
- CyberBoard
- ZunTzu
Spoiler text
[spoiler]
Hidden content
[/spoiler]
If you put [spoiler]
and [/spoiler]
around text, then that text will be blurred. A user can reveal the text by clicking the blurred text.
This is really not a MarkDown feature.
For example
It is possible to win Axis & Allies as the German by doing a single specific move:
[spoiler]
I wont tell what it is :smiley:
[/spoiler]
to give
It is possible to win Axis & Allies as the German by doing a single specific move:
I wont tell what it is
Table of contents
This will insert the HTML tag
<div data-theme-toc="true"> </div>
at the start of the post so that a table of content will be generated. This is mainly useful for documentation posts or similar. This post has such a tag.
This is really not a MarkDown feature.
Headings
# First level heading
## Second level heading
### Third level heading
A heading can created by putting one or more hash marks #
at the start of a line, followed by a space and the heading title. The number of hash-marks determine the heading level (#
for top-level heading, ##
for the first sub-level, ###
for the third, and so on).
Headings are most useful in longer posts or documentation posts.
(LaTeX - Wikipedia). Common to mark-up languages is that you write text focusing on the content, rather than the form, and then rely on the back-end to present your meaning in an appropriate fashion.
Before starting the post
Be sure to pick the Category that is most appropriate for your post
Category | Use |
---|---|
Site Feedback | Questions, etc about the forum itself |
General Discussion | Topics that are general in nature and does not fit in elsewhere |
Technical Support & Bugs | Problems or questions about VASSAL itself |
Feature Requests | Wishes for features to include into VASSAL |
Development | Discussion about VASSAL development |
Module Discussion | Questions etc. about specific modules |
Module Design | Discussion about making modules |
Module Support | Trouble with specific modules |
Opponents Wanted | Call for playing a game with VASSAL |
Game in Progress | Specific instances of games being played |
News | News on VASSAL, modules, etc. of general interest. this category is moderated |
Documentation | Posts documenting features and usage of VASSAL |
See also the pinned About the … category post at the top of each category.
Editting the post
When you start a new post, you will see a toolbar on top of the edit box.
This provide a point’n’click way to format your message. However, all the buttons do, is to insert the appropriate MarkDown code in your message, and it is useful to know what that MarkDown code looks like.
Indention
Spaces at the start of lines are significant. For example, if you have a list, and you want to break a an item into paragraphs, then the indention (or number of spaces at the start of the line) should match the current indention level of the list.
For example
- This is an item
And this is another paragraph under that item
to give
-
This is an item
And this is another paragraph under that item
This also applies in other contexts where indention is in use.
Full Quote
[quote id="user, post:number, topic:id, full:boolean]
...
[/quote]
This generates a quote of some previous post with identifier id
by user user
. Here, number
is the sub-post number and full
denotes if the quote is in full or not.
This tag is strictly speaking not MarkDown tag.
Bold face
**This is in bold face**
__And so is this__
Text can be made bold face by putting two asterisk *
or underscores _
before and after the text. Note that there should be no space between the *
s or _
s and the front and end of the text.
Bold and italic can be combined: **_Foo_**
yields Foo
Italic
_This is in italic_
*And so is this*
Text can be made italic by putting one underscore _
or asterisk *
before and after the text. Note that there should be no space between the *
s or _
s and the front and end of the text.
Italic and bold can be combined: _**Foo**_
yields Foo
Links
[this is the link text](this is what is lined to)
To insert a link, put your link text in square brackets [...]
followed immediately by the link in parentheses (...)
.
For example
[BoardGameGeek web-site](https://boardgamegeek.com)
produces BoardGameGeek web-site.
Quotes
> This is a quote
>
>> This is a deeper quote
To quote, put >
at the start of the line (at the current indention). If the quote contains other quotes, put further >
s.
For example
> Never in the field of human conflict was so much owed by so many to so few.
results in
Never in the field of human conflict was so much owed by so many to few. [Winston Churchill]
Note, the start of the line means relative to the current indention. That is, if you put a quote inside a list, you will need to indent by the current list indent, as in
- Another quote:
> I would say to the House, as I said to those who have joined this Government, I have nothing to offer but blood, toil, tears and sweat. [_Winston Churchill_]
to yield
-
Another quote:
I would say to the House, as I said to those who have joined this Government, I have nothing to offer but blood, toil, tears and sweat. [Winston Churchill]
Literal text or blocks
Blocks
```
This is a literal block
```
`This is literal (inline) text
To put messages, logs, or code, into a post, use three back-tics ```
before and after the text you want to be literally shown. Within the block, no formatting is done, and all spaces are preserved. This is especially useful when posting error messages of logs, showing command lines, or citing code.
The preceding ```
can be followed by a language specification, for code and similar.
For example
```Java
class Foo extends Bar
{
public Foo() {}
}
```
to give
class Foo extends Bar
{
public Foo() {}
}
In-line
In this text, `this` is literal
Literal text can also be put in-line by putting a single back-tick
` before and after the text.
For example,
Create a `LayerTrait` in the prototype
will yield
Create a LayerTrait
in the prototype.
Images

To put an image into the post, put an exclamation point, followed by scare brackets []
- possibly empty, or with alternative text, followed by the URL (Universal Resource Locator) of the image.
For example

gives
Uploaded images
To upload an image to a post, press the button and select the image to upload. You will get code a la

in the post. You can remove the size
part if you do not want that. The URL is a bit special in that it is only valid in the VASSAL forum. However, it is accessible throughout the forum.
List (un-numbered)
- This is an item
- This is the second item
* This is a sub item of the second item
Lists are easily made by putting a hyphen -
or asterisk *
at the start of the line (at the current indention). Sub-lists are made by indenting the sub-lists by the current indention (2 spaces).
A list item can be broken into several paragraphs by putting in an empty line and indenting by the current indention.
For example
The game consists of
- A board
* Counters
- 300 counters representing Axis units
* Of which 150 are airborne
Note that Axis airborne units cannot actually perform air-drops
- 200 counters representing Allied units
- Of which 150 are airborne
Note that some of these are deployed by parachute while others by gliders
- 3 d10 dice
to give
The game consists of
- A board
- Counters
-
300 counters representing Axis units
-
Of which 150 are airborne
Note that Axis airborne units cannot actually perform air-drops
-
-
200 counters representing Allied units
-
Of which 150 are airborne
Note that some of these are deployed by parachute while others by gliders
-
-
- 3 d10 dice
Numbered list
1. First item
1. Second item
3. This is a sub item of the second item
Numbered lists are easily made by putting a hyphen a number followed by a period .
at the start of the line (at the current indention). Sub-lists are made by indenting the sub-lists by the current indention (3 spaces).
The actual number does not matter, except for the first item of a list. The numbering will start with that number. In that way, one can continue a numbered list after a non-list paragraph
For example
1. First item
1. Second item
1. First sub-item
3. Second sub-item
Intervening paragraph, next numbered list start at 3.
3. Third item, continuing the list above
will give
- First item
- Second item
- First sub-item
- Second sub-item
Intervening paragraph, next numbered list start at 3.
- Third item, continuing the list above
Emoji’s
Use the drop-down menu to select an emoji. The will typically appear as :emoji-name:
in the code.
Strictly speaking, this is not MarkDown syntax.
Date and time
Use the pop-up dialog to select a date, time, and time-zone and other features. The insert will appear as
[date=YYYY-MM-DD time=HH:mm:ss timezone="timezone"]
in the code. Note that users will see the date and time in their own time-zone and locale format.
Tables
| Header | Header |
|---------|---------|
| Content | Content |
| Content | Content |
Tables are entered in the so-called piped format. A table starts with a number of headers separated by pipes |
. The headers can be empty, but the pipes must be there.
Then follows a line with each column content is one or more hyphens -
separated by pipes |
.
After the dividing line, any number of lines follow with the content of each cell being divided by a |
.
Note that spaces are not significant.
For example
| Game | Complexity | Duration |
|------|------------|----------|
| Afrika Korps | 3 | 4 hours |
| The African Campaign | 8 | Days |
yields
Game | Complexity | Duration |
---|---|---|
Afrika Korps | 3 | 4 hours |
The African Campaign | 8 | Days |
Collapsable sections
[details="Title"]
Content
[/details]
To make a collapsable section, surround the content of the section with [details="TITLE"]
and [/details]
. Here, TITLE
will become the title of the section.
This is really not a MarkDown feature.
For example
[details="More information"]
The North African campaign was a prolonged and ...
[/details]
which gives
More information
The North African campaign was a prolonged and …
Poll
[poll type=TYPE results=CHOICE public=CHOICE]
<list of choices>
A poll question can be made by putting [poll ...]
and [/poll]
around a list of choices. The argument type=regular
allows user to select a single choice (radio-box), while type=multiple
will allow multiple choices (possibly limited by min
and max
). Whether to show the results of the poll can be chosen by results=
and public=BOOLEAN
.
This is really not a MarkDown feature.
For example
Which is your favourite PBEM tool?
[poll type=regular]
* VASSAL
* CyberBoard
* ZunTzu
[/poll]
which gives
Which is your favourite PBEM tool?
- VASSAL
- CyberBoard
- ZunTzu
Spoiler text
[spoiler]
Hidden content
[/spoiler]
If you put [spoiler]
and [/spoiler]
around text, then that text will be blurred. A user can reveal the text by clicking the blurred text.
This is really not a MarkDown feature.
For example
It is possible to win Axis & Allies as the German by doing a single specific move:
[spoiler]
I wont tell what it is :smiley:
[/spoiler]
to give
It is possible to win Axis & Allies as the German by doing a single specific move:
I wont tell what it is
Table of contents
This will insert the HTML tag
<div data-theme-toc="true"> </div>
at the start of the post so that a table of content will be generated. This is mainly useful for documentation posts or similar. This post has such a tag.
This is really not a MarkDown feature.
Headings
# First level heading
## Second level heading
### Third level heading
A heading can created by putting one or more hash marks #
at the start of a line, followed by a space and the heading title. The number of hash-marks determine the heading level (#
for top-level heading, ##
for the first sub-level, ###
for the third, and so on).
Headings are most useful in longer posts or documentation posts.