okami.mom/glamour
git clone https://git.nkp.pet/okami.mom/glamour
ef6bdc2
main
Glamour Style Guide
The JSON files in this directory are generated from the default styles. To re-generate them, run:
go generate ..
Block Elements
Block elements contain other elements and are rendered around them. All block elements support the following style settings:
| Attribute | Value | Description |
|---|---|---|
| block_prefix | string | Printed before the block's first element (in parent's style) |
| block_suffix | string | Printed after the block's last element (in parent's style) |
| prefix | string | Printed before the block's first element |
| suffix | string | Printed after the block's last element |
| indent | number | Specifies the indentation of the block |
| indent_token | string | Specifies the indentation format |
| margin | number | Specifies the margin around the block |
| color | color | Defines the default text color for the block |
| background_color | color | Defines the default background color for the block |
Elements inside a block inherit the block's following style settings:
| Attribute | Value | Description |
|---|---|---|
| color | color | Defines the default text color for the block |
| background_color | color | Defines the default background color for the block |
| bold | bool | Increases text intensity |
| faint | bool | Decreases text intensity |
| italic | bool | Prints the text in italic |
| crossed_out | bool | Enables strikethrough as text decoration |
| underline | bool | Enables underline as text decoration |
| overlined | bool | Enables overline as text decoration |
| blink | bool | Enables blinking text |
| conceal | bool | Conceals / hides the text |
| inverse | bool | Swaps fore- & background colors |
document
The document element represents the markdown's body.
Example
Style:
"document" : {"indent" :2 ,"background_color" :"234" ,"block_prefix" :"\n" ,"block_suffix" :"\n" }
paragraph
The paragraph element represents a paragraph in the document.
Example
Style:
"paragraph" : {"margin" :4 ,"color" :"15" ,"background_color" :"235" }
heading
The heading element represents a heading.
h1 - h6
The h1 to h6 elements represent headings. h1 defines the most important
heading, h6 the least important heading. Undefined attributes are inherited
from the heading element.
Example
Markdown:
# h1 ## h2 ### h3
Style:
"heading" : {"color" :"15" ,"background_color" :"57" },"h1" : {"prefix" :"=> " ,"suffix" :" <=" ,"margin" :2 ,"bold" :true ,"background_color" :"69" },"h2" : {"prefix" :"## " ,"margin" :4 },"h3" : {"prefix" :"### " ,"margin" :6 }
Output:

block_quote
The block_quote element represents a quote.
Example
Style:
"block_quote" : {"color" :"200" ,"indent" :1 ,"indent_token" :"=> " }
Output:

list
The list element represents a list in the document.
| Attribute | Value | Description |
|---|---|---|
| level_indent | number | Specifies the indentation for nested lists |
Example
Style:
"list" : {"color" :"15" ,"background_color" :"52" ,"level_indent" :4 }
code_block
The code_block element represents a block of code.
| Attribute | Value | Description |
|---|---|---|
| theme | string | Defines the Chroma theme used for syntax highlighting |
Example
Style:
"code_block" : {"color" :"200" ,"theme" :"solarized-dark" }
Output:

table
The table element represents a table of data.
Example
Markdown:
| Label | Value | | ------ | ----- | | First | foo | | Second | bar |
Style:
"table" : {"margin" :4 }
Output:

Inline Elements
All inline elements support the following style settings:
| Attribute | Value | Description |
|---|---|---|
| block_prefix | string | Printed before the element (in parent's style) |
| block_suffix | string | Printed after the element (in parent's style) |
| prefix | string | Printed before the element |
| suffix | string | Printed after the element |
| color | color | Defines the default text color for the document |
| background_color | color | Defines the default background color for the document |
| bold | bool | Increases text intensity |
| faint | bool | Decreases text intensity |
| italic | bool | Prints the text in italic |
| crossed_out | bool | Enables strikethrough as text decoration |
| underline | bool | Enables underline as text decoration |
| overlined | bool | Enables overline as text decoration |
| blink | bool | Enables blinking text |
| conceal | bool | Conceals / hides the text |
| inverse | bool | Swaps fore- & background colors |
text
The text element represents a block of text.
Example
Style:
"text" : {"bold" :true ,"color" :"15" ,"background_color" :"57" }
item
The item element represents an item in a list.
Example
Markdown:
- First Item- Nested List Item- Second Item
Style:
"item" : {"block_prefix" :"• " }
Output:

enumeration
The enumeration element represents an item in an ordered list.
Example
Markdown:
1. First Item2. Second Item
Style:
"enumeration" : {"block_prefix" :". " }
Output:

task
The task element represents a task item.
| Attribute | Value | Description |
|---|---|---|
| ticked | string | Prefix for finished tasks |
| unticked | string | Prefix for unfinished tasks |
Example
Markdown:
- [x] Finished Task- [ ] Outstanding Task
Style:
"task" : {"ticked" :"✓ " ,"unticked" :"✗ " }
Output:

link
The link element represents a link.
Example
Markdown:
This is a [link](https://charm.sh).
Style:
"link" : {"color" :"123" ,"underline" :true ,"block_prefix" :"(" ,"block_suffix" :")" }
Output:

link_text
The link_text element represents the text associated with a link.
Example
Style:
"link_text" : {"color" :"123" ,"bold" :true }
image
The image element represents an image.
Example
Markdown:
.
Style:
"image" : {"color" :"123" ,"block_prefix" :"[Image: " ,"block_suffix" :"]" }
Output:

image_text
The image_text element represents the text associated with an image.
Example
Style:
"image_text" : {"color" :"8" }
code
The code element represents an inline code segment.
Example
Style:
"code" : {"color" :"200" }
Output:

emph
The emph element represents an emphasized text.
Example
Markdown:
This text is *emphasized*.
Style:
"emph" : {"italic" :true }
Output:

strong
The strong element represents important text.
Example
Markdown:
This text is **strong**.
Style:
"strong" : {"bold" :true }
Output:

strikethrough
The strikethrough element represents strikethrough text.
Example
Markdown:
~~Scratch this~~.
Style:
"strikethrough" : {"crossed_out" :true }
Output:

hr
The hr element represents a horizontal rule.
Example
Markdown:
---
Style:
"hr" : {"block_prefix" :"---" }
html_block
html_span
1# Glamour Style Guide 2 3The JSON files in this directory are generated from the default styles. To 4re-generate them, run: 5 6go generate .. 7 8## Block Elements 9 10Block elements contain other elements and are rendered around them. All block 11elements support the following style settings: 12 13| Attribute | Value | Description | 14| ---------------- | ------ | ------------------------------------------------------------ | 15| block_prefix | string | Printed before the block's first element (in parent's style) | 16| block_suffix | string | Printed after the block's last element (in parent's style) | 17| prefix | string | Printed before the block's first element | 18| suffix | string | Printed after the block's last element | 19| indent | number | Specifies the indentation of the block | 20| indent_token | string | Specifies the indentation format | 21| margin | number | Specifies the margin around the block | 22| color | color | Defines the default text color for the block | 23| background_color | color | Defines the default background color for the block | 24 25Elements inside a block inherit the block's following style settings: 26 27| Attribute | Value | Description | 28| ---------------- | ----- | -------------------------------------------------- | 29| color | color | Defines the default text color for the block | 30| background_color | color | Defines the default background color for the block | 31| bold | bool | Increases text intensity | 32| faint | bool | Decreases text intensity | 33| italic | bool | Prints the text in italic | 34| crossed_out | bool | Enables strikethrough as text decoration | 35| underline | bool | Enables underline as text decoration | 36| overlined | bool | Enables overline as text decoration | 37| blink | bool | Enables blinking text | 38| conceal | bool | Conceals / hides the text | 39| inverse | bool | Swaps fore- & background colors | 40 41### document 42 43The `document` element represents the markdown's body. 44 45#### Example 46 47Style: 48 49``` json 50"document": { 51"indent" : 2 , 52"background_color" : "234" , 53"block_prefix" : "\n" , 54"block_suffix" : "\n" 55} 56``` 57 58--- 59 60### paragraph 61 62The `paragraph` element represents a paragraph in the document. 63 64#### Example 65 66Style: 67 68``` json 69"paragraph": { 70"margin" : 4 , 71"color" : "15" , 72"background_color" : "235" 73} 74``` 75 76--- 77 78### heading 79 80The `heading` element represents a heading. 81 82### h1 - h6 83 84The `h1` to `h6` elements represent headings. `h1` defines the most important 85heading, `h6` the least important heading. Undefined attributes are inherited 86from the `heading` element. 87 88#### Example 89 90Markdown: 91 92``` markdown 93# h1 94 95## h2 96 97### h3 98``` 99 100Style: 101 102``` json 103"heading": { 104"color" : "15" , 105"background_color" : "57" 106}, 107"h1": { 108"prefix" : "=> " , 109"suffix" : " <=" , 110"margin" : 2 , 111"bold" : true , 112"background_color" : "69" 113}, 114"h2": { 115"prefix" : "## " , 116"margin" : 4 117}, 118"h3": { 119"prefix" : "### " , 120"margin" : 6 121} 122``` 123 124Output: 125 126 127 128--- 129 130### block_quote 131 132The `block_quote` element represents a quote. 133 134#### Example 135 136Style: 137 138``` json 139"block_quote": { 140"color" : "200" , 141"indent" : 1 , 142"indent_token" : "=> " 143} 144``` 145 146Output: 147 148 149 150--- 151 152### list 153 154The `list` element represents a list in the document. 155 156| Attribute | Value | Description | 157| ------------ | ------ | ------------------------------------------ | 158| level_indent | number | Specifies the indentation for nested lists | 159 160#### Example 161 162Style: 163 164``` json 165"list": { 166"color" : "15" , 167"background_color" : "52" , 168"level_indent" : 4 169} 170``` 171 172--- 173 174### code_block 175 176The `code_block` element represents a block of code. 177 178| Attribute | Value | Description | 179| --------- | ------ | --------------------------------------------------------------- | 180| theme | string | Defines the [Chroma][chroma] theme used for syntax highlighting | 181 182[chroma] : https://github.com/alecthomas/chroma 183 184#### Example 185 186Style: 187 188``` json 189"code_block": { 190"color" : "200" , 191"theme" : "solarized-dark" 192} 193``` 194 195Output: 196 197 198 199--- 200 201### table 202 203The `table` element represents a table of data. 204 205#### Example 206 207Markdown: 208 209``` markdown 210| Label | Value | 211| ------ | ----- | 212| First | foo | 213| Second | bar | 214``` 215 216Style: 217 218``` json 219"table": { 220"margin" : 4 221} 222``` 223 224Output: 225 226 227 228## Inline Elements 229 230All inline elements support the following style settings: 231 232| Attribute | Value | Description | 233| ---------------- | ------ | ----------------------------------------------------- | 234| block_prefix | string | Printed before the element (in parent's style) | 235| block_suffix | string | Printed after the element (in parent's style) | 236| prefix | string | Printed before the element | 237| suffix | string | Printed after the element | 238| color | color | Defines the default text color for the document | 239| background_color | color | Defines the default background color for the document | 240| bold | bool | Increases text intensity | 241| faint | bool | Decreases text intensity | 242| italic | bool | Prints the text in italic | 243| crossed_out | bool | Enables strikethrough as text decoration | 244| underline | bool | Enables underline as text decoration | 245| overlined | bool | Enables overline as text decoration | 246| blink | bool | Enables blinking text | 247| conceal | bool | Conceals / hides the text | 248| inverse | bool | Swaps fore- & background colors | 249 250### text 251 252The `text` element represents a block of text. 253 254#### Example 255 256Style: 257 258``` json 259"text": { 260"bold" : true , 261"color" : "15" , 262"background_color" : "57" 263} 264``` 265 266--- 267 268### item 269 270The `item` element represents an item in a list. 271 272#### Example 273 274Markdown: 275 276``` markdown 277- First Item 278- Nested List Item 279- Second Item 280``` 281 282Style: 283 284``` json 285"item": { 286"block_prefix" : "• " 287} 288``` 289 290Output: 291 292 293 294--- 295 296### enumeration 297 298The `enumeration` element represents an item in an ordered list. 299 300#### Example 301 302Markdown: 303 304``` markdown 3051. First Item 3062. Second Item 307``` 308 309Style: 310 311``` json 312"enumeration": { 313"block_prefix" : ". " 314} 315``` 316 317Output: 318 319 320 321--- 322 323### task 324 325The `task` element represents a task item. 326 327| Attribute | Value | Description | 328| --------- | ------ | --------------------------- | 329| ticked | string | Prefix for finished tasks | 330| unticked | string | Prefix for unfinished tasks | 331 332#### Example 333 334Markdown: 335 336``` markdown 337- [x] Finished Task 338- [ ] Outstanding Task 339``` 340 341Style: 342 343``` json 344"task": { 345"ticked" : "✓ " , 346"unticked" : "✗ " 347} 348``` 349 350Output: 351 352 353 354--- 355 356### link 357 358The `link` element represents a link. 359 360#### Example 361 362Markdown: 363 364``` markdown 365This is a [link](https://charm.sh). 366``` 367 368Style: 369 370``` json 371"link": { 372"color" : "123" , 373"underline" : true , 374"block_prefix" : "(" , 375"block_suffix" : ")" 376} 377``` 378 379Output: 380 381 382 383--- 384 385### link_text 386 387The `link_text` element represents the text associated with a link. 388 389#### Example 390 391Style: 392 393``` json 394"link_text": { 395"color" : "123" , 396"bold" : true 397} 398``` 399 400--- 401 402### image 403 404The `image` element represents an image. 405 406#### Example 407 408Markdown: 409 410``` markdown 411. 412``` 413 414Style: 415 416``` json 417"image": { 418"color" : "123" , 419"block_prefix" : "[Image: " , 420"block_suffix" : "]" 421} 422``` 423 424Output: 425 426 427 428--- 429 430### image_text 431 432The `image_text` element represents the text associated with an image. 433 434#### Example 435 436Style: 437 438``` json 439"image_text": { 440"color" : "8" 441} 442``` 443 444--- 445 446### code 447 448The `code` element represents an inline code segment. 449 450#### Example 451 452Style: 453 454``` json 455"code": { 456"color" : "200" 457} 458``` 459 460Output: 461 462 463 464--- 465 466### emph 467 468The `emph` element represents an emphasized text. 469 470#### Example 471 472Markdown: 473 474``` markdown 475This text is *emphasized*. 476``` 477 478Style: 479 480``` json 481"emph": { 482"italic" : true 483} 484``` 485 486Output: 487 488 489 490--- 491 492### strong 493 494The `strong` element represents important text. 495 496#### Example 497 498Markdown: 499 500``` markdown 501This text is **strong**. 502``` 503 504Style: 505 506``` json 507"strong": { 508"bold" : true 509} 510``` 511 512Output: 513 514 515 516--- 517 518### strikethrough 519 520The `strikethrough` element represents strikethrough text. 521 522#### Example 523 524Markdown: 525 526``` markdown 527~~Scratch this~~. 528``` 529 530Style: 531 532``` json 533"strikethrough": { 534"crossed_out" : true 535} 536``` 537 538Output: 539 540 541 542--- 543 544### hr 545 546The `hr` element represents a horizontal rule. 547 548#### Example 549 550Markdown: 551 552``` markdown 553--- 554``` 555 556Style: 557 558``` json 559"hr": { 560"block_prefix" : "---" 561} 562``` 563 564## html_block 565## html_span