Skip to main content Svelte Highlight v7.23.1

LikeC4 language preview

1. Specification and model

element kinds, nested components, and a relationship
horizon-dark
specification {
  element actor {
    style {
      shape person
    }
  }
  element system
  element component
  relationship async
}

model {
  customer = actor 'Customer'
  cloud = system 'Our SaaS' {
    ui = component 'Frontend'
    api = component 'Backend'
    ui -> api 'requests' async
  }
  customer -> ui 'opens in browser'
}
atom-one-dark
specification {
  element actor {
    style {
      shape person
    }
  }
  element system
  element component
  relationship async
}

model {
  customer = actor 'Customer'
  cloud = system 'Our SaaS' {
    ui = component 'Frontend'
    api = component 'Backend'
    ui -> api 'requests' async
  }
  customer -> ui 'opens in browser'
}
github-dark
specification {
  element actor {
    style {
      shape person
    }
  }
  element system
  element component
  relationship async
}

model {
  customer = actor 'Customer'
  cloud = system 'Our SaaS' {
    ui = component 'Frontend'
    api = component 'Backend'
    ui -> api 'requests' async
  }
  customer -> ui 'opens in browser'
}
dracula
specification {
  element actor {
    style {
      shape person
    }
  }
  element system
  element component
  relationship async
}

model {
  customer = actor 'Customer'
  cloud = system 'Our SaaS' {
    ui = component 'Frontend'
    api = component 'Backend'
    ui -> api 'requests' async
  }
  customer -> ui 'opens in browser'
}
nord
specification {
  element actor {
    style {
      shape person
    }
  }
  element system
  element component
  relationship async
}

model {
  customer = actor 'Customer'
  cloud = system 'Our SaaS' {
    ui = component 'Frontend'
    api = component 'Backend'
    ui -> api 'requests' async
  }
  customer -> ui 'opens in browser'
}
github
specification {
  element actor {
    style {
      shape person
    }
  }
  element system
  element component
  relationship async
}

model {
  customer = actor 'Customer'
  cloud = system 'Our SaaS' {
    ui = component 'Frontend'
    api = component 'Backend'
    ui -> api 'requests' async
  }
  customer -> ui 'opens in browser'
}

2. Extend a system

a second file adding nested elements to cloud
horizon-dark
// cloud/service.c4
model {
  extend cloud {
    service1 = service 'Billing'
    service1 -> api 'charges' #async
  }
}
atom-one-dark
// cloud/service.c4
model {
  extend cloud {
    service1 = service 'Billing'
    service1 -> api 'charges' #async
  }
}
github-dark
// cloud/service.c4
model {
  extend cloud {
    service1 = service 'Billing'
    service1 -> api 'charges' #async
  }
}
dracula
// cloud/service.c4
model {
  extend cloud {
    service1 = service 'Billing'
    service1 -> api 'charges' #async
  }
}
nord
// cloud/service.c4
model {
  extend cloud {
    service1 = service 'Billing'
    service1 -> api 'charges' #async
  }
}
github
// cloud/service.c4
model {
  extend cloud {
    service1 = service 'Billing'
    service1 -> api 'charges' #async
  }
}

3. Landscape view

include everything except one component
horizon-dark
views {
  view index {
    title 'Landscape'
    include *
    exclude cloud.api
  }

  view of cloud {
    include *
    style customer {
      color green
    }
  }
}
atom-one-dark
views {
  view index {
    title 'Landscape'
    include *
    exclude cloud.api
  }

  view of cloud {
    include *
    style customer {
      color green
    }
  }
}
github-dark
views {
  view index {
    title 'Landscape'
    include *
    exclude cloud.api
  }

  view of cloud {
    include *
    style customer {
      color green
    }
  }
}
dracula
views {
  view index {
    title 'Landscape'
    include *
    exclude cloud.api
  }

  view of cloud {
    include *
    style customer {
      color green
    }
  }
}
nord
views {
  view index {
    title 'Landscape'
    include *
    exclude cloud.api
  }

  view of cloud {
    include *
    style customer {
      color green
    }
  }
}
github
views {
  view index {
    title 'Landscape'
    include *
    exclude cloud.api
  }

  view of cloud {
    include *
    style customer {
      color green
    }
  }
}