<commit_before><commit_msg>Added an example of how to use an external theme.<commit_after>using Structurizr.Api;

namespace Structurizr.Examples
{

    /// <summary>
    /// This is an example of how to use an external theme.
    /// 
    /// The live workspace is available to view at https://structurizr.com/share/38898
    /// </summary>
    class Theme
    {

        private const long WorkspaceId = 38898;
        private const string ApiKey = "";
        private const string ApiSecret = "";

        static void Main()
        {
            Workspace workspace = new Workspace("Theme", "This is a model of my software system.");
            Model model = workspace.Model;

            Person user = model.AddPerson("User", "A user of my software system.");
            SoftwareSystem softwareSystem = model.AddSoftwareSystem("Software System", "My software system.");
            user.Uses(softwareSystem, "Uses");

            ViewSet viewSet = workspace.Views;
            SystemContextView contextView = viewSet.CreateSystemContextView(softwareSystem, "SystemContext", "An example of a System Context diagram.");
            contextView.AddAllSoftwareSystems();
            contextView.AddAllPeople();

            // add a theme
            viewSet.Configuration.Theme = "https://raw.githubusercontent.com/structurizr/dotnet/master/Structurizr.Examples/Theme/theme.json";

            StructurizrClient structurizrClient = new StructurizrClient(ApiKey, ApiSecret);
            structurizrClient.PutWorkspace(WorkspaceId, workspace);
        }

    }
}
{'fraction_non_alphanumeric': 0.09660908509277032, 'fraction_numerical': 0.006397952655150352, 'mean_word_length': 2.562642369020501, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4095259', 'n_tokens_mistral': 415, 'n_tokens_neox': 396, 'n_words': 114}