Skip to content

Reference

Style guide

Everything the theme can render, on one page, with the source beside it.

Typography

Heading level one

Heading level two

Heading level three

Heading level four

Body copy sits at a comfortable measure — around 68 characters — because a line longer than that makes the eye lose its place on the return sweep. This paragraph contains bold text, italic text, inline code, a link, and a footnote-style aside.

A blockquote is set in the display face. It is for something somebody said, not for something you want to emphasise — emphasis has its own markup. The design system, on itself


Buttons

Primary

Secondary

Ghost

Soft

</svg> With an icon</a>

{% include components/button.html label="Primary" url="/contact/" style="primary" %}

Badges and chips

Default Accent Shipped Deprecated Breaking Live

Callouts

Note

The default. For an aside that is genuinely optional reading.

Info

For context the reader needs but did not ask for.

Success

For the happy path, or a confirmation that something worked.

Warning

For a foot-gun. Ignoring this costs the reader time.

Danger

For data loss, or anything that cannot be undone.

{% include components/callout.html type="warning" title="Governor limits apply"
   text="This runs inside a trigger." %}

Code

Fenced code blocks are highlighted by Rouge and get a language label and a copy button added by the theme script:

public with sharing class AccountService {
    // Bulkified by default — a query inside a loop is the most expensive
    // mistake you can make in Apex, and the easiest one to make.
    public static void touchAll(List<Account> accounts) {
        Map<Id, Account> byId = new Map<Id, Account>(accounts);
        List<Contact> children = [
            SELECT Id, AccountId FROM Contact WHERE AccountId IN :byId.keySet()
        ];

        for (Contact c : children) {
            c.Description = 'Touched ' + System.now().format();
        }

        update children;
    }
}
import { LightningElement, api, wire } from 'lwc';
import findAccounts from '@salesforce/apex/AccountService.find';

export default class AccountList extends LightningElement {
  @api recordId;
  @wire(findAccounts, { term: '$recordId' }) accounts;
}

Steps

  1. Create a scratch orgTakes about ninety seconds.
  2. Push the sourcesfdx force:source:push
  3. Assign the permission setOtherwise nothing is visible.

Tabs

Add the gem to your Gemfile and run bundle install.

Set remote_theme: in _config.yml — no gem required.

Clone the repository and edit it directly. Most flexible, hardest to update.

Accordion

Does the theme work on GitHub Pages?

Yes. Every plugin it uses is on the GitHub Pages allowlist.

Do I need Node?

No. There is no JavaScript build step — the one script file ships as-is.

Can I change the colour?

One line in _config.yml regenerates the entire ramp.

Stats

Uptime 99.98%
Page load 1.3s
Orgs shipped 40+
Certifications 8

Table

Front matter Type What it does
hero_style string statement, split, band or minimal
sidebar boolean Shows the right rail on an article
comments boolean Renders the comment thread, if one is configured
image path Cover image, and the Open Graph share image

Series stepper

Audio player

Listen · demo

Lesson list

  1. Why this Flow should be codeThe three signs an automation has outgrown the canvas.14 min
  2. Reading Apex before writing it18 min
  3. Your first trigger21 min

Outcomes & prerequisites

  • Read a production trigger without slowing down
  • Know the three collection types and when each earns its place
  • Comfortable building record-triggered Flows
  • A free Developer Edition org

Testimonial

The collections lesson alone was worth it.
Priya N. Salesforce Admin, 4 yrs

Repo card

Pagination

Certifications

Timeline

  1. 2018 Passed Platform Developer I

    On the second attempt, which nobody puts on LinkedIn.

  2. Now Working on integration architecture

Forms

We only use this to send the thing you asked for.
That is not an email address — it needs an @ in it.
to move to open esc to close Full search