Data Files & Programmatic Access

The Gogh project includes several structured data files that list all available themes and their properties. These files, located in the data/ directory of the repository, can be used for programmatic access, integrations, or building other tools on top of the Gogh theme collection.

data/themes.json

This is the primary data source, containing an array of all themes as JSON objects.

Schema:

Each theme object in the array follows this structure:

{
  "name": "string - The full name of the theme.",
  "author": "string - The original author of the color scheme, if known.",
  "variant": "string - 'light' or 'dark' if applicable.",
  "color_01": "string - Hex code for Black (Host).",
  "color_02": "string - Hex code for Red (Syntax string).",
  "color_03": "string - Hex code for Green (Command).",
  "color_04": "string - Hex code for Yellow (Command second).",
  "color_05": "string - Hex code for Blue (Path).",
  "color_06": "string - Hex code for Magenta (Syntax var).",
  "color_07": "string - Hex code for Cyan (Prompt).",
  "color_08": "string - Hex code for White.",
  "color_09": "string - Hex code for Bright Black.",
  "color_10": "string - Hex code for Bright Red (Command error).",
  "color_11": "string - Hex code for Bright Green (Exec).",
  "color_12": "string - Hex code for Bright Yellow.",
  "color_13": "string - Hex code for Bright Blue (Folder).",
  "color_14": "string - Hex code for Bright Magenta.",
  "color_15": "string - Hex code for Bright Cyan.",
  "color_16": "string - Hex code for Bright White.",
  "background": "string - Hex code for the terminal background.",
  "foreground": "string - Hex code for the default text color.",
  "cursor": "string - Hex code for the cursor.",
  "hash": "string - A unique SHA256 hash of the theme's properties."
}

Example Entry (Dracula.json):

{
  "name": "Dracula",
  "author": "Dracula (https://draculatheme.com)",
  "variant": "dark",
  "color_01": "#262626",
  "color_02": "#E64747",
  "color_03": "#42E66C",
  "color_04": "#E4F34A",
  "color_05": "#9B6BDF",
  "color_06": "#E356A7",
  "color_07": "#75D7EC",
  "color_08": "#F8F8F2",
  "color_09": "#7A7A7A",
  "color_10": "#FF5555",
  "color_11": "#50FA7B",
  "color_12": "#F1FA8C",
  "color_13": "#BD93F9",
  "color_14": "#FF79C6",
  "color_15": "#8BE9FD",
  "color_16": "#F9F9FB",
  "background": "#282A36",
  "foreground": "#F8F8F2",
  "cursor": "#F8F8F2",
  "hash": "407cedb9b79be33f3f7dcc9ef7f19feda921b2b08dcf9ad9b8f997ef2e6c35ac"
}

Other Data Files

  • data/themes-min.json: A minified version of themes.json.
  • data/themes.csv: The same theme data in CSV format.
  • data/wcag.json / wcag-min.json: Contains accessibility contrast ratio data for each theme's foreground color against its background, as well as for all 16 palette colors against the background.