Skip to content

Hihaheho/swon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SWON

Warning

Under Construction!

Focus

  • Minimalist
  • Schema-frieldly
  • Algebraic data model
  • JSON data model compatible
  • JSON schema compatible
  • Rich Editor Experience
  • Human friendly
  • Dedicated templating language
  • Programmatically editable

Example

$swon.version: https://swon.dev/versions/v0.1.0
title: test
language: en
target_window: Main

@ actions[]
$variant: use-script
script-id: title

@ actions[]
$variant: sleep
seconds = 2.0

@ actions[]
$variant: set-base-background-image
image: images/backgrounds/blank.png

@ actions[]
$variant: set-scene
scene: scenes/room_a.scn.ron

@ actions[] {
  $variant: set-text

  @ pages[]
  text: Hi,

  @ pages[]
  speaker: Ryo
  text: I'm Ryo.
}

TODO

  • swon-parol: Complete the grammar and parser
  • swon-ls: Syntax highlighting
  • swon-schema: SWON Schema specification
  • swon-ls: Schema validation
  • serde-swon: Serde support
  • swon-dev: Making the landing page on https://swon.dev
  • swon-fmt: Make the formatter
  • swon-cli: sub command to convert SWON to other formats
  • swon-lint: Some lint rules
  • swon-template: Templating extension for SWON files

Credits

  • Parol for the parser generator
  • TOML for the document structure and its minimalisity
  • jq for the key syntax
  • Serde for the data model and attributes (especially about enum representation)
  • JSON Schema for the idea of describing schema in the same language as the data
  • Helm for the idea of templating
  • YAML for easy nesting and the : syntax

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages