# Ribalta > Ribalta is a Markdown-inspired text language for themed visuals, with `:::` blocks, `{...}` attributes, themes, components, charts and interactivity. Its compiler turns the text into a JSON document that renderers draw. ## Guides - [Writing pages](https://viniciusadm.github.io/ribalta/guides/writing.md): Headings, paragraphs, emphasis, links, lists, quotes, code, tables, images, comments and notes. - [Page sizes and documents](https://viniciusadm.github.io/ribalta/guides/pages.md): Set the size of the pages with @page, use automatic height for long documents and give a single page its own size. - [Layout](https://viniciusadm.github.io/ribalta/guides/layout.md): Configure the page, arrange content in columns, stacks, rows and grids, and place elements precisely. - [Styling](https://viniciusadm.github.io/ribalta/guides/styling.md): Change colors, sizes, fonts, borders and shadows with attributes in braces, and create reusable styles. - [Themes](https://viniciusadm.github.io/ribalta/guides/themes.md): Pick a built-in theme, adjust colors and fonts, and share definitions across many documents. - [Header, footer and overlay](https://viniciusadm.github.io/ribalta/guides/header-footer.md): Write it once and repeat the same content, in the same place, on every page. - [Components](https://viniciusadm.github.io/ribalta/guides/components.md): Build reusable blocks with parameters, content and named slots to keep your pages consistent. - [Variables, data and repetition](https://viniciusadm.github.io/ribalta/guides/data.md): Use @let, @data, ::: for and ::: if to build pages from values and lists without repeating yourself. - [Interactivity and navigation](https://viniciusadm.github.io/ribalta/guides/interactive.md): Use @state, clicks, variants and go to build documents that react to whoever uses them and follow different paths. - [Step-by-step reveal](https://viniciusadm.github.io/ribalta/guides/reveal.md): Show a page's content gradually, one block, item or phrase at a time. - [Charts](https://viniciusadm.github.io/ribalta/guides/charts.md): Turn a table into a bar, line, area, pie or donut chart with the chart block. - [Images](https://viniciusadm.github.io/ribalta/guides/images.md): Use stored images or external addresses, adjust how they fit and use background images. ## Reference - [Syntax](https://viniciusadm.github.io/ribalta/reference/syntax.md): A quick reference to the whole Ribalta language, from document structure to escapes. - [Attributes](https://viniciusadm.github.io/ribalta/reference/attributes.md): Every attribute the compiler accepts, with its values, scales and units. - [Blocks](https://viniciusadm.github.io/ribalta/reference/blocks.md): Every built-in block in the language, with its form, content, own attributes and examples. - [Built-in themes](https://viniciusadm.github.io/ribalta/reference/themes.md): Colors, fonts, sizes and styles of each built-in Ribalta theme. - [Icons](https://viniciusadm.github.io/ribalta/reference/icons.md): How to use the built-in icons and the full list of available names. - [Error messages](https://viniciusadm.github.io/ribalta/reference/errors.md): Every diagnostic code the compiler can emit, with its cause, an example and the fix. ## Optional - [Full documentation in one file](https://viniciusadm.github.io/ribalta/llms-full.txt)