forked from HEL/rivet-typst
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Typst
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Typst
		
	
	
	
	
	
| #import "../src/lib.typ": schema
 | |
| #import "../src/util.typ"
 | |
| 
 | |
| #let example-preamble = "import \"../src/lib.typ\": *;"
 | |
| 
 | |
| #let example(src, show-src: true, vertical: false, fill: true) = {
 | |
|   src = src.text.trim()
 | |
|   let full-src = example-preamble + src
 | |
|   let body = eval(full-src)
 | |
| 
 | |
|   block(width: 100%,
 | |
|     align(center,
 | |
|       box(
 | |
|         stroke: black + 1pt,
 | |
|         radius: .5em,
 | |
|         fill: if fill {orange.lighten(95%)} else {none},
 | |
|         if show-src {
 | |
|           let src-block = align(left, raw(src, lang: "typc"))
 | |
|           table(
 | |
|             columns: if vertical {1} else {2},
 | |
|             inset: 1em,
 | |
|             align: horizon + center,
 | |
|             stroke: none,
 | |
|             body,
 | |
|             if vertical {table.hline()} else {table.vline()}, src-block
 | |
|           )
 | |
|         } else {
 | |
|           table(
 | |
|             inset: 1em,
 | |
|             body
 | |
|           )
 | |
|         }
 | |
|       )
 | |
|     )
 | |
|   )
 | |
| }
 | |
| 
 | |
| #let config-config = example(raw("
 | |
| let ex = schema.load(```yaml
 | |
| structures:
 | |
|   main:
 | |
|     bits: 4
 | |
|     ranges:
 | |
|       3-0:
 | |
|         name: default
 | |
| ```)
 | |
| schema.render(ex, config: config.config())
 | |
| "))
 | |
| 
 | |
| #let config-dark = example(raw("
 | |
| let ex = schema.load(```yaml
 | |
| structures:
 | |
|   main:
 | |
|     bits: 4
 | |
|     ranges:
 | |
|       3-0:
 | |
|         name: dark
 | |
| ```)
 | |
| schema.render(ex, config: config.dark())
 | |
| "))
 | |
| 
 | |
| #let config-blueprint = example(raw("
 | |
| let ex = schema.load(```yaml
 | |
| structures:
 | |
|   main:
 | |
|     bits: 4
 | |
|     ranges:
 | |
|       3-0:
 | |
|         name: blueprint
 | |
| ```)
 | |
| schema.render(ex, config: config.blueprint())
 | |
| ")) |