github.com/charmbracelet/glamour@v0.7.0/styles/README.md (about) 1 # Glamour Style Guide 2 3 The JSON files in this directory are generated from the default styles. To 4 re-generate them, run: 5 6 go generate .. 7 8 ## Block Elements 9 10 Block elements contain other elements and are rendered around them. All block 11 elements 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 25 Elements 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 43 The `document` element represents the markdown's body. 44 45 #### Example 46 47 Style: 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 62 The `paragraph` element represents a paragraph in the document. 63 64 #### Example 65 66 Style: 67 68 ```json 69 "paragraph": { 70 "margin": 4, 71 "color": "15", 72 "background_color": "235" 73 } 74 ``` 75 76 --- 77 78 ### heading 79 80 The `heading` element represents a heading. 81 82 ### h1 - h6 83 84 The `h1` to `h6` elements represent headings. `h1` defines the most important 85 heading, `h6` the least important heading. Undefined attributes are inherited 86 from the `heading` element. 87 88 #### Example 89 90 Markdown: 91 92 ```markdown 93 # h1 94 95 ## h2 96 97 ### h3 98 ``` 99 100 Style: 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 124 Output: 125 126  127 128 --- 129 130 ### block_quote 131 132 The `block_quote` element represents a quote. 133 134 #### Example 135 136 Style: 137 138 ```json 139 "block_quote": { 140 "color": "200", 141 "indent": 1, 142 "indent_token": "=> " 143 } 144 ``` 145 146 Output: 147 148  149 150 --- 151 152 ### list 153 154 The `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 162 Style: 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 176 The `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 186 Style: 187 188 ```json 189 "code_block": { 190 "color": "200", 191 "theme": "solarized-dark" 192 } 193 ``` 194 195 Output: 196 197  198 199 --- 200 201 ### table 202 203 The `table` element represents a table of data. 204 205 #### Example 206 207 Markdown: 208 209 ```markdown 210 | Label | Value | 211 | ------ | ----- | 212 | First | foo | 213 | Second | bar | 214 ``` 215 216 Style: 217 218 ```json 219 "table": { 220 "margin": 4 221 } 222 ``` 223 224 Output: 225 226  227 228 ## Inline Elements 229 230 All 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 252 The `text` element represents a block of text. 253 254 #### Example 255 256 Style: 257 258 ```json 259 "text": { 260 "bold": true, 261 "color": "15", 262 "background_color": "57" 263 } 264 ``` 265 266 --- 267 268 ### item 269 270 The `item` element represents an item in a list. 271 272 #### Example 273 274 Markdown: 275 276 ```markdown 277 - First Item 278 - Nested List Item 279 - Second Item 280 ``` 281 282 Style: 283 284 ```json 285 "item": { 286 "block_prefix": "• " 287 } 288 ``` 289 290 Output: 291 292  293 294 --- 295 296 ### enumeration 297 298 The `enumeration` element represents an item in an ordered list. 299 300 #### Example 301 302 Markdown: 303 304 ```markdown 305 1. First Item 306 2. Second Item 307 ``` 308 309 Style: 310 311 ```json 312 "enumeration": { 313 "block_prefix": ". " 314 } 315 ``` 316 317 Output: 318 319  320 321 --- 322 323 ### task 324 325 The `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 334 Markdown: 335 336 ```markdown 337 - [x] Finished Task 338 - [ ] Outstanding Task 339 ``` 340 341 Style: 342 343 ```json 344 "task": { 345 "ticked": "✓ ", 346 "unticked": "✗ " 347 } 348 ``` 349 350 Output: 351 352  353 354 --- 355 356 ### link 357 358 The `link` element represents a link. 359 360 #### Example 361 362 Markdown: 363 364 ```markdown 365 This is a [link](https://charm.sh). 366 ``` 367 368 Style: 369 370 ```json 371 "link": { 372 "color": "123", 373 "underline": true, 374 "block_prefix": "(", 375 "block_suffix": ")" 376 } 377 ``` 378 379 Output: 380 381  382 383 --- 384 385 ### link_text 386 387 The `link_text` element represents the text associated with a link. 388 389 #### Example 390 391 Style: 392 393 ```json 394 "link_text": { 395 "color": "123", 396 "bold": true 397 } 398 ``` 399 400 --- 401 402 ### image 403 404 The `image` element represents an image. 405 406 #### Example 407 408 Markdown: 409 410 ```markdown 411 . 412 ``` 413 414 Style: 415 416 ```json 417 "image": { 418 "color": "123", 419 "block_prefix": "[Image: ", 420 "block_suffix": "]" 421 } 422 ``` 423 424 Output: 425 426  427 428 --- 429 430 ### image_text 431 432 The `image_text` element represents the text associated with an image. 433 434 #### Example 435 436 Style: 437 438 ```json 439 "image_text": { 440 "color": "8" 441 } 442 ``` 443 444 --- 445 446 ### code 447 448 The `code` element represents an inline code segment. 449 450 #### Example 451 452 Style: 453 454 ```json 455 "code": { 456 "color": "200" 457 } 458 ``` 459 460 Output: 461 462  463 464 --- 465 466 ### emph 467 468 The `emph` element represents an emphasized text. 469 470 #### Example 471 472 Markdown: 473 474 ```markdown 475 This text is *emphasized*. 476 ``` 477 478 Style: 479 480 ```json 481 "emph": { 482 "italic": true 483 } 484 ``` 485 486 Output: 487 488  489 490 --- 491 492 ### strong 493 494 The `strong` element represents important text. 495 496 #### Example 497 498 Markdown: 499 500 ```markdown 501 This text is **strong**. 502 ``` 503 504 Style: 505 506 ```json 507 "strong": { 508 "bold": true 509 } 510 ``` 511 512 Output: 513 514  515 516 --- 517 518 ### strikethrough 519 520 The `strikethrough` element represents strikethrough text. 521 522 #### Example 523 524 Markdown: 525 526 ```markdown 527 ~~Scratch this~~. 528 ``` 529 530 Style: 531 532 ```json 533 "strikethrough": { 534 "crossed_out": true 535 } 536 ``` 537 538 Output: 539 540  541 542 --- 543 544 ### hr 545 546 The `hr` element represents a horizontal rule. 547 548 #### Example 549 550 Markdown: 551 552 ```markdown 553 --- 554 ``` 555 556 Style: 557 558 ```json 559 "hr": { 560 "block_prefix": "---" 561 } 562 ``` 563 564 ## html_block 565 ## html_span