Home

Awesome

Walto

Walto is a modern and lightweight wmk theme for documentation sites. It is based upon the Alto Hugo theme by Liam Bigelow on behalf of CloudCannon. For an example of it in use, see the wmk documentation site. Main features:

Dependencies

Configuration

Most of the settings affecting Walto are in the site part of wmk_config. They fall into 6 kinds: (1) General information about the page or website; (2) links and images for the header and footer; (3) attributes to add javascript or css additions to the header or body without having to touch templates; (4) navigation and search settings; (5) banner; and (6) colors.

General information

This is metadata that mainly affects the <head> part of the HTML for the page, although some of it has more visible effects.

Header and footer

HTML snippets

Navigation and search

Banner

The site.banner setting defines an optional banner shown at the very top of the page with an announcement or welcome message. When dismissed, it will not reappear in that particular browser. The banner has the following keys:

Colors

The setting site.colors can be used to almost completely redefine the color scheme of the page. Here are the contents of the default data/wmk_config.d/site/colors.yaml file of the theme:

light:
  typography:
    text: '#000000'
    flip-text: '#ffffff'
    text-main: '#363636'
    text-bright: '#000000'
    text-muted: '#70777f'
    links: '#0076d1'
    highlight: '#de935f'
    selection: '#9e9e9e'
    form-placeholder: '#949494'
    form-text: '#1d1d1d'
  background_colors:
    background-body: '#fff'
    background-input: '#efefef'
    background-alt: '#f7f7f7'
  code_block_colors:
    # measured-light
    base00: "#fdf9f5"
    base01: "#f9f5f1"
    base02: "#ffeada"
    base03: "#5a5a5a"
    base04: "#404040"
    base05: "#292929"
    base06: "#181818"
    base07: "#000000"
    base08: "#ac1f35"
    base09: "#ad5601"
    base0a: "#645a00"
    base0b: "#0c680c"
    base0c: "#01716f"
    base0d: "#0158ad"
    base0e: "#6645c2"
    base0f: "#a81a66"
  button_colors:
    button-base: '#d0cfcf'
    button-hover: '#9b9b9b'
  scrollbar_colors:
    scrollbar-thumb: '#aaaaaa'
    scrollbar-thumb-hover: '#9b9b9b'
  border_colors:
    border: '#dbdbdb'
  focus_colors:
    focus: '#0096bfab'
  pagefind_colors:
    pagefind-ui-primary: '#000000'
    pagefind-ui-secondary: '#000000'
    pagefind-ui-background: '#efefef'
    pagefind-ui-border: '#dbdbdb'
    pagefind-ui-tag: '#efefef'
dark:
  typography:
    text: '#e6edf3'
    flip-text: '#e6edf3'
    text-main: '#e6edf3'
    text-bright: '#ffffff'
    text-muted: '#c8c8c8'
    links: '#58a4e0'
    highlight: '#de935f'
    selection: '#616161'
    form-placeholder: '#e0e0e0'
    form-text: '#f0f0f0'
  background_colors:
    background-body: '#121516'
    background-input: '#1d1f21'
    background-alt: '#080808'
  code_block_colors:
    # railscasts
    base00: "#2b2b2b"
    base01: "#272935"
    base02: "#3a4055"
    base03: "#5a647e"
    base04: "#d4cfc9"
    base05: "#e6e1dc"
    base06: "#f4f1ed"
    base07: "#f9f7f3"
    base08: "#da4939"
    base09: "#cc7833"
    base0a: "#ffc66d"
    base0b: "#a5c261"
    base0c: "#519f50"
    base0d: "#6d9cbe"
    base0e: "#b6b3eb"
    base0f: "#bc9458"
  button_colors:
    button-base: '#2b2b2b'
    button-hover: '#606060'
  scrollbar_colors:
    scrollbar-thumb: '#555555'
  border_colors:
    border: '#dbdbdb'
  focus_colors:
    focus: '#0096bfab'
  pagefind_colors:
    pagefind-ui-primary: '#D8D8D8'
    pagefind-ui-secondary: '#D8D8D8'
    pagefind-ui-background: '#1d1f21'
    pagefind-ui-border: '#2b2b2b'
    pagefind-ui-tag: '#1d1f21'

As can be seen from the above, there are separate settings for light and dark mode, each of which is divided into logical sections. Most of them are self-explanatory. You only need to set the values for the colors that you actually modify (except for the pagefind-ui colors, since they apply to a separate stylesheet).

The code highlighting palette follows the base16 convention. A gallery with many such color palettes is available here.

Other settings

The following defaults set by Walto apply at the top level of the configuration file and are not part of the site section.

Content authoring

The only major consideration when authoring content for use by Waldo is to make sure that the main navigation menu is populated properly. Walto sets nav to auto by default, so the easiest and most natural way to do this is to add nav_section and nav_order (or weight) to the front matter in your content files. For details, see the wmk documentation.

The navigation menu can of course also be defined manually. In this case, be aware that Walto does not support multiple levels of nesting out of the box. It is designed for a simple list of links or sections, with each section only containing links and no subsections of their own.