Component design
Grid system
Row is a grid 12 columns in size. A column can be of a size of one up to 12 column size.
Each possible size
Some relations
Some relations with padding
Color
| Text | Back | Back dark | |
|---|---|---|---|
| Primary | test | test | test |
| Secondary 1 | test | test | test |
| Secondary 2 | test | test | test |
Menu
Hero
GRM is a GeneRic Markup language
GRM is aimed to be:
- flexible as XML;
- simpler to parse than JSON;
- as easy to write as Markdown.
Sections headings
Title 1 (page title)
Title 2
Title 3
Title 4
Title 3
Title 2
Text display
Sit nemo iste amet explicabo pariatur inventore Est placeat odio facilis odio dicta incidunt. Nesciunt aliquam debitis magnam architecto iusto? Vero minus dolorem magnam eius eaque? Repellat elit excepturi error. Sit nemo iste amet explicabo pariatur inventore Est placeat odio facilis odio dicta incidunt. Nesciunt aliquam debitis magnam architecto iusto? Vero minus dolorem magnam eius eaque? Repellat elit excepturi error. Sit nemo iste amet explicabo pariatur inventore There is a link that can be visited. And here is some code and another code that can be inlined.Est placeat odio facilis odio dicta incidunt. Nesciunt aliquam debitis magnam architecto iusto? Vero minus dolorem magnam eius eaque? Repellat elit excepturi error. Sit nemo iste amet explicabo pariatur inventore Est placeat odio facilis odio dicta incidunt. Nesciunt aliquam debitis magnam architecto iusto? Vero minus dolorem magnam eius eaque? Repellat elit excepturi error.
Code examples
Code for one language
# This is an example.
{article-title Markup languages}
{section [title="What is a markup language?"]
{paragraph It {em structures} a text document.}
}
Code for multiple languages
XML
<root>
<-- This is an example. -->
<article-title>Markup languages</article-title>
<section title="What is a markup language">
<paragraph>It <em>structures</em> a text document.</paragraph>
</section>
</root>
JSON
[
{"article-title": "Markup languages"},
{"section": "What is a markup language"},
{
"paragraph": [
"It ",
{"em": "structures"},
" a text document."
]
}
]
Full example side-by-side
# This is an example.
{article-title Markup languages}
{section What is a markup language}
{paragraph It {em structures} a text document.}
XML
<root>
<article-title>Markup languages</article-title>
<section>What is a markup language</section>
<paragraph>It <em>structures<em> a text document.<paragraph>
</root>
JSON
[
{"article-title": "Markup languages"},
{"section": "What is a markup language"},
{
"paragraph": [
"It ",
{"em": "structures"},
" a text document."
]
}
]
Glossary
- Attribute
- An element which gives additional information for a Typed Node. An {voc-ref Attribute} has an Attribute Key and optionally an Attribute Value.
- Comment
- An element that is not interpreted by a GRM parser. The purpose of a {voc-ref Comment} is the same as the purpose of a comment in any programming languages or markup languages.
- GRM
- A markup language aimed to be short to write, easy to parse and customizable. GRM stands for "GeneRic Markup".
Rules
Encoding and characters
- Rule C1R01
- Unicode is used, and preferrably URF-8. A {voc-ref GRM} parser must support characters above the Basic Multilingual Plane (BMP) for which their Unicode code point is above U+FFFF. For example: emojis.
- Rule C1R02
-
GRM documents are case-sensible.
This means that
aandAare two distinct characters. - Rule C1R03
-
The following control characters are totally ignored by GRM.
This means that a GRM document containing them is valid, but the parser ignores them.
- From NULL (U+0000) to BACKSPACE (U+0008).
- From VERTICAL TAB (U+000B) to INFORMATION SEPARATOR ONE (U+001F).
- From DELETE (U+007F) to APPLICATION PROGRAM COMMAND (U+009F).
Syntax definition
List of general single characters
- newline
- The character
\n(NEWLINE, U+0001).
- tab
- The character
\t(HORIZONTAL TAB, U+0009).
- space
- The character SPACE (U+0020).
- whitespace
- A newline or tab or a space.
- letter
- Any character from
atozor fromAtoZ.
- invisible-char
-
Any character that cannot be seen by a reader.
In other words, it is a character for which a printer would not used any ink to display it.
Listing all possible {syn-ref invisible-char} is too daunting a task, so here is a non-exhaustive list.
- A whitespace.
- A character from this list from Characters.
- NO BREAK SPACE (U+00A0);
- SOFT HYPHEN (U+00AD);
- COMBINING GRAPHEME JOINER (U+034F);