utopia-project 0.37.5 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - checksums.yaml.gz.sig +0 -0
 - data/context/documentation-guidelines.md +12 -7
 - data/lib/utopia/project/import_map.rb +1 -0
 - data/lib/utopia/project/version.rb +1 -1
 - data/pages/_page.xnode +9 -14
 - data/pages/controller.rb +0 -1
 - data/public/_components/@socketry/syntax/Syntax/CodeElement.js +293 -0
 - data/public/_components/@socketry/syntax/Syntax/Errors.js +52 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/apache.js +49 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/applescript.js +157 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/assembly.js +42 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/bash-script.js +108 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/bash.js +32 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/basic.js +232 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/c++.js +1 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/c.js +1 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/clang.js +201 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/cpp.js +1 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/csharp.js +166 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/css.js +244 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/diff.js +24 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/go.js +135 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/haskell.js +110 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/html.js +69 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/io.js +68 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/java.js +134 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/javascript.js +89 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/json.js +36 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/lisp.js +38 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/lua.js +87 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/markdown.js +112 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/nginx.js +37 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/objective-c.js +1 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/ocaml.js +225 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/pascal.js +166 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/patch.js +2 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/perl5.js +317 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/php-script.js +112 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/php.js +18 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/plain.js +20 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/protobuf.js +77 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/python.js +208 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/ruby.js +124 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/scala.js +81 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/smalltalk.js +30 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/sql.js +865 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/super-collider.js +70 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/swift.js +176 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/xml.js +76 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/xrb.js +33 -0
 - data/public/_components/@socketry/syntax/Syntax/Language/yaml.js +29 -0
 - data/public/_components/@socketry/syntax/Syntax/Language.js +276 -0
 - data/public/_components/@socketry/syntax/Syntax/Loader.js +78 -0
 - data/public/_components/@socketry/syntax/Syntax/Match.js +546 -0
 - data/public/_components/@socketry/syntax/Syntax/Rule.js +306 -0
 - data/public/_components/@socketry/syntax/Syntax.js +356 -0
 - data/public/_components/@socketry/syntax/license.md +21 -0
 - data/public/_components/@socketry/syntax/package.json +43 -0
 - data/public/_components/@socketry/syntax/readme.md +162 -0
 - data/public/_components/@socketry/syntax/themes/base/apache.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/applescript.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/assembly.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/bash.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/basic.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/c.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/clang.css +0 -0
 - data/public/_components/@socketry/syntax/themes/base/csharp.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/css.css +22 -0
 - data/public/_components/@socketry/syntax/themes/base/diff.css +48 -0
 - data/public/_components/@socketry/syntax/themes/base/go.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/haskell.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/html.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/io.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/java.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/javascript.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/json.css +41 -0
 - data/public/_components/@socketry/syntax/themes/base/lisp.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/lua.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/markdown.css +16 -0
 - data/public/_components/@socketry/syntax/themes/base/nginx.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/ocaml.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/pascal.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/perl5.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/php-script.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/php.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/plain.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/protobuf.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/python.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/ruby.css +23 -0
 - data/public/_components/@socketry/syntax/themes/base/scala.css +3 -0
 - data/public/_components/@socketry/syntax/themes/base/smalltalk.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/sql.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/super-collider.css +33 -0
 - data/public/_components/@socketry/syntax/themes/base/swift.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/syntax.css +63 -0
 - data/public/_components/@socketry/syntax/themes/base/xml.css +1 -0
 - data/public/_components/@socketry/syntax/themes/base/xrb.css +29 -0
 - data/public/_components/@socketry/syntax/themes/base/yaml.css +1 -0
 - data/public/_components/@socketry/syntax/themes/theming.md +233 -0
 - data/public/_static/sidebar.js +55 -22
 - data/public/_static/site.css +0 -4
 - data.tar.gz.sig +0 -0
 - metadata +96 -3
 - metadata.gz.sig +1 -3
 
| 
         @@ -0,0 +1,233 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Theming Guide
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            The `@socketry/syntax` library uses CSS custom properties (variables) with HSL colors to provide a flexible and maintainable theming system.
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            ## Key Benefits
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            1. **Ultra Simple**: Change just 3 variables to create a complete theme
         
     | 
| 
      
 8 
     | 
    
         
            +
            2. **Automatic Dark Mode**: Light and dark mode handled automatically
         
     | 
| 
      
 9 
     | 
    
         
            +
            3. **Automatic Color Harmony**: All colors derived from one base color using hue rotation
         
     | 
| 
      
 10 
     | 
    
         
            +
            4. **Easy Customization**: Override the base or individual colors as needed
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            ## Theme Architecture
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            ### The Base Color System
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            Everything derives from three base variables:
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 19 
     | 
    
         
            +
            :host {
         
     | 
| 
      
 20 
     | 
    
         
            +
            	--syntax-base-hue: 270;           /* 0-360 degrees on the color wheel */
         
     | 
| 
      
 21 
     | 
    
         
            +
            	--syntax-base-saturation: 60%;    /* How vibrant the colors are */
         
     | 
| 
      
 22 
     | 
    
         
            +
            	--syntax-base-lightness: 50%;     /* How light/dark the colors are */
         
     | 
| 
      
 23 
     | 
    
         
            +
            }
         
     | 
| 
      
 24 
     | 
    
         
            +
            ```
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            **Dark mode** just adjusts saturation and lightness:
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 29 
     | 
    
         
            +
            @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 30 
     | 
    
         
            +
            	:host {
         
     | 
| 
      
 31 
     | 
    
         
            +
            		--syntax-base-saturation: 50%;  /* Slightly less saturated */
         
     | 
| 
      
 32 
     | 
    
         
            +
            		--syntax-base-lightness: 70%;   /* Much lighter for dark backgrounds */
         
     | 
| 
      
 33 
     | 
    
         
            +
            	}
         
     | 
| 
      
 34 
     | 
    
         
            +
            }
         
     | 
| 
      
 35 
     | 
    
         
            +
            ```
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            ### Automatic Color Derivation
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            All token colors are automatically calculated using hue rotation:
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 42 
     | 
    
         
            +
            --syntax-keyword: hsl(calc(var(--syntax-base-hue) + 30), ...);   /* 30° rotation */
         
     | 
| 
      
 43 
     | 
    
         
            +
            --syntax-string: hsl(calc(var(--syntax-base-hue) - 90), ...);    /* 90° opposite */
         
     | 
| 
      
 44 
     | 
    
         
            +
            --syntax-function: hsl(calc(var(--syntax-base-hue) - 60), ...);  /* 60° rotation */
         
     | 
| 
      
 45 
     | 
    
         
            +
            /* etc. */
         
     | 
| 
      
 46 
     | 
    
         
            +
            ```
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            This ensures all colors are harmonious and work together!
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            ## Creating Custom Themes
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            ### Method 1: Change the Base Hue (Recommended)
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            The simplest approach - just pick a different base color:
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 57 
     | 
    
         
            +
            .ocean-theme {
         
     | 
| 
      
 58 
     | 
    
         
            +
            	--syntax-base-hue: 200;  /* Blue - everything becomes ocean-themed! */
         
     | 
| 
      
 59 
     | 
    
         
            +
            }
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            .sunset-theme {
         
     | 
| 
      
 62 
     | 
    
         
            +
            	--syntax-base-hue: 30;   /* Orange - warm sunset colors */
         
     | 
| 
      
 63 
     | 
    
         
            +
            }
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
            .forest-theme {
         
     | 
| 
      
 66 
     | 
    
         
            +
            	--syntax-base-hue: 140;  /* Green - natural forest palette */
         
     | 
| 
      
 67 
     | 
    
         
            +
            }
         
     | 
| 
      
 68 
     | 
    
         
            +
            ```
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            Then apply it:
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            ```html
         
     | 
| 
      
 73 
     | 
    
         
            +
            <syntax-code language="javascript" class="ocean-theme">
         
     | 
| 
      
 74 
     | 
    
         
            +
            	// Your code here
         
     | 
| 
      
 75 
     | 
    
         
            +
            </syntax-code>
         
     | 
| 
      
 76 
     | 
    
         
            +
            ```
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
            ### Method 2: Adjust Saturation and Lightness
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
            For more subtle themes:
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 83 
     | 
    
         
            +
            .pastel-theme {
         
     | 
| 
      
 84 
     | 
    
         
            +
            	--syntax-base-saturation: 40%;  /* Less vibrant */
         
     | 
| 
      
 85 
     | 
    
         
            +
            	--syntax-base-lightness: 65%;   /* Lighter */
         
     | 
| 
      
 86 
     | 
    
         
            +
            }
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            .vivid-theme {
         
     | 
| 
      
 89 
     | 
    
         
            +
            	--syntax-base-saturation: 90%;  /* Very saturated */
         
     | 
| 
      
 90 
     | 
    
         
            +
            	--syntax-base-lightness: 45%;   /* Slightly darker */
         
     | 
| 
      
 91 
     | 
    
         
            +
            }
         
     | 
| 
      
 92 
     | 
    
         
            +
            ```
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
            ### Method 3: Override Specific Colors
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
            For fine-grained control:
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 99 
     | 
    
         
            +
            .custom-theme {
         
     | 
| 
      
 100 
     | 
    
         
            +
            	--syntax-base-hue: 280;  /* Purple base */
         
     | 
| 
      
 101 
     | 
    
         
            +
            	
         
     | 
| 
      
 102 
     | 
    
         
            +
            	/* But make strings green instead of the derived color */
         
     | 
| 
      
 103 
     | 
    
         
            +
            	--syntax-string: hsl(120, 60%, 40%);
         
     | 
| 
      
 104 
     | 
    
         
            +
            }
         
     | 
| 
      
 105 
     | 
    
         
            +
            ```
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
            ### Method 4: Custom Dark Mode
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
            Override dark mode values for specific themes:
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 112 
     | 
    
         
            +
            .my-theme {
         
     | 
| 
      
 113 
     | 
    
         
            +
            	--syntax-base-hue: 200;
         
     | 
| 
      
 114 
     | 
    
         
            +
            }
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
            @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 117 
     | 
    
         
            +
            	.my-theme {
         
     | 
| 
      
 118 
     | 
    
         
            +
            		/* Different hue in dark mode */
         
     | 
| 
      
 119 
     | 
    
         
            +
            		--syntax-base-hue: 180;
         
     | 
| 
      
 120 
     | 
    
         
            +
            		--syntax-base-saturation: 45%;
         
     | 
| 
      
 121 
     | 
    
         
            +
            		--syntax-base-lightness: 75%;
         
     | 
| 
      
 122 
     | 
    
         
            +
            	}
         
     | 
| 
      
 123 
     | 
    
         
            +
            }
         
     | 
| 
      
 124 
     | 
    
         
            +
            ```
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
            ## Token Types
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
            All token types automatically get colors derived from the base. You can override individual ones if needed:
         
     | 
| 
      
 129 
     | 
    
         
            +
             
     | 
| 
      
 130 
     | 
    
         
            +
            ### Programming Language Tokens
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
            - `keyword` - Language keywords (if, function, class)
         
     | 
| 
      
 133 
     | 
    
         
            +
            - `string` - String literals
         
     | 
| 
      
 134 
     | 
    
         
            +
            - `comment` - Code comments
         
     | 
| 
      
 135 
     | 
    
         
            +
            - `number` - Numeric literals
         
     | 
| 
      
 136 
     | 
    
         
            +
            - `operator` - Operators (+, -, *, etc.)
         
     | 
| 
      
 137 
     | 
    
         
            +
            - `function` - Function names
         
     | 
| 
      
 138 
     | 
    
         
            +
            - `constant` - Constants and literals
         
     | 
| 
      
 139 
     | 
    
         
            +
            - `type` - Type names
         
     | 
| 
      
 140 
     | 
    
         
            +
            - `preprocessor` - Preprocessor directives
         
     | 
| 
      
 141 
     | 
    
         
            +
            - `access` - Access modifiers (public, private)
         
     | 
| 
      
 142 
     | 
    
         
            +
            - `escape` - Escape sequences
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
            ### HTML/XML Tokens
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
            - `tag` - HTML/XML tags
         
     | 
| 
      
 147 
     | 
    
         
            +
            - `tag-name` - Tag names
         
     | 
| 
      
 148 
     | 
    
         
            +
            - `attribute` - Attributes
         
     | 
| 
      
 149 
     | 
    
         
            +
            - `entity` - HTML entities
         
     | 
| 
      
 150 
     | 
    
         
            +
            - `doctype` - DOCTYPE declarations
         
     | 
| 
      
 151 
     | 
    
         
            +
            - `cdata` - CDATA sections
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
      
 153 
     | 
    
         
            +
            ### Semantic Markdown Tokens
         
     | 
| 
      
 154 
     | 
    
         
            +
             
     | 
| 
      
 155 
     | 
    
         
            +
            - `heading` - Headers (# Heading)
         
     | 
| 
      
 156 
     | 
    
         
            +
            - `strong` - Bold text (**bold**)
         
     | 
| 
      
 157 
     | 
    
         
            +
            - `emphasis` - Italic text (*italic*)
         
     | 
| 
      
 158 
     | 
    
         
            +
            - `code` - Code blocks and inline code
         
     | 
| 
      
 159 
     | 
    
         
            +
            - `link` - Links and images
         
     | 
| 
      
 160 
     | 
    
         
            +
            - `quote` - Blockquotes
         
     | 
| 
      
 161 
     | 
    
         
            +
            - `list-marker` - List markers
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
      
 163 
     | 
    
         
            +
            ## Dark Mode
         
     | 
| 
      
 164 
     | 
    
         
            +
             
     | 
| 
      
 165 
     | 
    
         
            +
            Dark mode colors are automatically applied using `prefers-color-scheme`:
         
     | 
| 
      
 166 
     | 
    
         
            +
             
     | 
| 
      
 167 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 168 
     | 
    
         
            +
            @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 169 
     | 
    
         
            +
            	:host {
         
     | 
| 
      
 170 
     | 
    
         
            +
            		--syntax-keyword: hsl(var(--syntax-hue-primary), 50%, 70%);
         
     | 
| 
      
 171 
     | 
    
         
            +
            		/* Automatically lighter and less saturated for dark backgrounds */
         
     | 
| 
      
 172 
     | 
    
         
            +
            	}
         
     | 
| 
      
 173 
     | 
    
         
            +
            }
         
     | 
| 
      
 174 
     | 
    
         
            +
            ```
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
            You can override dark mode colors in your custom theme:
         
     | 
| 
      
 177 
     | 
    
         
            +
             
     | 
| 
      
 178 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 179 
     | 
    
         
            +
            .my-theme {
         
     | 
| 
      
 180 
     | 
    
         
            +
            	--syntax-keyword: hsl(300, 80%, 40%);
         
     | 
| 
      
 181 
     | 
    
         
            +
            }
         
     | 
| 
      
 182 
     | 
    
         
            +
             
     | 
| 
      
 183 
     | 
    
         
            +
            @media (prefers-color-scheme: dark) {
         
     | 
| 
      
 184 
     | 
    
         
            +
            	.my-theme {
         
     | 
| 
      
 185 
     | 
    
         
            +
            		--syntax-keyword: hsl(300, 60%, 75%);
         
     | 
| 
      
 186 
     | 
    
         
            +
            	}
         
     | 
| 
      
 187 
     | 
    
         
            +
            }
         
     | 
| 
      
 188 
     | 
    
         
            +
            ```
         
     | 
| 
      
 189 
     | 
    
         
            +
             
     | 
| 
      
 190 
     | 
    
         
            +
            ## Example Themes
         
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
      
 192 
     | 
    
         
            +
            ### Monochrome
         
     | 
| 
      
 193 
     | 
    
         
            +
             
     | 
| 
      
 194 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 195 
     | 
    
         
            +
            .monochrome {
         
     | 
| 
      
 196 
     | 
    
         
            +
            	--syntax-keyword: hsl(0, 0%, 20%);
         
     | 
| 
      
 197 
     | 
    
         
            +
            	--syntax-string: hsl(0, 0%, 30%);
         
     | 
| 
      
 198 
     | 
    
         
            +
            	--syntax-comment: hsl(0, 0%, 60%);
         
     | 
| 
      
 199 
     | 
    
         
            +
            	--syntax-function: hsl(0, 0%, 25%);
         
     | 
| 
      
 200 
     | 
    
         
            +
            }
         
     | 
| 
      
 201 
     | 
    
         
            +
            ```
         
     | 
| 
      
 202 
     | 
    
         
            +
             
     | 
| 
      
 203 
     | 
    
         
            +
            ### High Contrast
         
     | 
| 
      
 204 
     | 
    
         
            +
             
     | 
| 
      
 205 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 206 
     | 
    
         
            +
            .high-contrast {
         
     | 
| 
      
 207 
     | 
    
         
            +
            	--syntax-hue-primary: 270;
         
     | 
| 
      
 208 
     | 
    
         
            +
            	/* Increase saturation and contrast */
         
     | 
| 
      
 209 
     | 
    
         
            +
            	--syntax-keyword: hsl(var(--syntax-hue-primary), 100%, 30%);
         
     | 
| 
      
 210 
     | 
    
         
            +
            	--syntax-string: hsl(0, 100%, 35%);
         
     | 
| 
      
 211 
     | 
    
         
            +
            	--syntax-comment: hsl(0, 0%, 40%);
         
     | 
| 
      
 212 
     | 
    
         
            +
            }
         
     | 
| 
      
 213 
     | 
    
         
            +
            ```
         
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
            ### Pastel
         
     | 
| 
      
 216 
     | 
    
         
            +
             
     | 
| 
      
 217 
     | 
    
         
            +
            ```css
         
     | 
| 
      
 218 
     | 
    
         
            +
            .pastel {
         
     | 
| 
      
 219 
     | 
    
         
            +
            	/* Use same hues but with high lightness and low saturation */
         
     | 
| 
      
 220 
     | 
    
         
            +
            	--syntax-keyword: hsl(var(--syntax-hue-primary), 40%, 60%);
         
     | 
| 
      
 221 
     | 
    
         
            +
            	--syntax-string: hsl(var(--syntax-hue-tertiary), 40%, 60%);
         
     | 
| 
      
 222 
     | 
    
         
            +
            	--syntax-comment: hsl(var(--syntax-hue-neutral), 20%, 70%);
         
     | 
| 
      
 223 
     | 
    
         
            +
            }
         
     | 
| 
      
 224 
     | 
    
         
            +
            ```
         
     | 
| 
      
 225 
     | 
    
         
            +
             
     | 
| 
      
 226 
     | 
    
         
            +
            ## Tips
         
     | 
| 
      
 227 
     | 
    
         
            +
             
     | 
| 
      
 228 
     | 
    
         
            +
            1. **Hue Relationships**: Use complementary (180° apart) or analogous (30° apart) hues for harmony
         
     | 
| 
      
 229 
     | 
    
         
            +
            2. **Saturation**: Lower saturation (20-40%) for subtle themes, higher (70-90%) for vibrant themes
         
     | 
| 
      
 230 
     | 
    
         
            +
            3. **Lightness**: Keep 30-50% for light mode, 60-80% for dark mode
         
     | 
| 
      
 231 
     | 
    
         
            +
            4. **Contrast**: Ensure sufficient contrast between text and background (WCAG AA: 4.5:1 minimum)
         
     | 
| 
      
 232 
     | 
    
         
            +
            5. **Testing**: Test themes in both light and dark mode
         
     | 
| 
      
 233 
     | 
    
         
            +
            6. **Consistency**: Use the hue variables to maintain color relationships across tokens
         
     | 
    
        data/public/_static/sidebar.js
    CHANGED
    
    | 
         @@ -11,28 +11,57 @@ 
     | 
|
| 
       11 
11 
     | 
    
         
             
            	if (!sidebarNav) return;
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            	const navLinks = sidebarNav.querySelectorAll('a[href*="#"]');
         
     | 
| 
       14 
     | 
    
         
            -
            	 
     | 
| 
      
 14 
     | 
    
         
            +
            	
         
     | 
| 
      
 15 
     | 
    
         
            +
            	// Build a map of sidebar links by their fragment IDs
         
     | 
| 
      
 16 
     | 
    
         
            +
            	const sidebarLinksByFragment = new Map();
         
     | 
| 
      
 17 
     | 
    
         
            +
            	navLinks.forEach(link => {
         
     | 
| 
       15 
18 
     | 
    
         
             
            		const href = link.getAttribute('href');
         
     | 
| 
       16 
     | 
    
         
            -
            		// Extract fragment from both "#section" and "page.html#section" formats
         
     | 
| 
       17 
19 
     | 
    
         
             
            		const fragmentIndex = href.indexOf('#');
         
     | 
| 
       18 
     | 
    
         
            -
            		if (fragmentIndex  
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            		 
     | 
| 
      
 20 
     | 
    
         
            +
            		if (fragmentIndex !== -1) {
         
     | 
| 
      
 21 
     | 
    
         
            +
            			const fragment = href.substring(fragmentIndex + 1);
         
     | 
| 
      
 22 
     | 
    
         
            +
            			sidebarLinksByFragment.set(fragment, link);
         
     | 
| 
      
 23 
     | 
    
         
            +
            		}
         
     | 
| 
      
 24 
     | 
    
         
            +
            	});
         
     | 
| 
      
 25 
     | 
    
         
            +
            	
         
     | 
| 
      
 26 
     | 
    
         
            +
            	if (sidebarLinksByFragment.size === 0) return;
         
     | 
| 
      
 27 
     | 
    
         
            +
            	
         
     | 
| 
      
 28 
     | 
    
         
            +
            	// Get all sections/headings on the page and annotate them with their sidebar link
         
     | 
| 
      
 29 
     | 
    
         
            +
            	const allSections = Array.from(document.querySelectorAll('section, h1, h2, h3, h4, h5, h6'))
         
     | 
| 
      
 30 
     | 
    
         
            +
            		.filter(el => el.id) // Only keep elements with IDs
         
     | 
| 
      
 31 
     | 
    
         
            +
            		.map(el => {
         
     | 
| 
      
 32 
     | 
    
         
            +
            			// Get the section element (section or heading's parent)
         
     | 
| 
      
 33 
     | 
    
         
            +
            			const sectionElement = el.tagName === 'SECTION' ? el : (el.closest('section') || el.parentElement);
         
     | 
| 
      
 34 
     | 
    
         
            +
            			return { element: sectionElement, id: el.id };
         
     | 
| 
      
 35 
     | 
    
         
            +
            		});
         
     | 
| 
      
 36 
     | 
    
         
            +
            	
         
     | 
| 
      
 37 
     | 
    
         
            +
            	// Annotate each section with which sidebar link should be active
         
     | 
| 
      
 38 
     | 
    
         
            +
            	// Walk through in DOM order and track the "last seen" sidebar link
         
     | 
| 
      
 39 
     | 
    
         
            +
            	let lastSeenSidebarId = null;
         
     | 
| 
      
 40 
     | 
    
         
            +
            	allSections.forEach(({element, id}) => {
         
     | 
| 
      
 41 
     | 
    
         
            +
            		if (sidebarLinksByFragment.has(id)) {
         
     | 
| 
      
 42 
     | 
    
         
            +
            			// This section has a sidebar link - use it
         
     | 
| 
      
 43 
     | 
    
         
            +
            			lastSeenSidebarId = id;
         
     | 
| 
      
 44 
     | 
    
         
            +
            		}
         
     | 
| 
      
 45 
     | 
    
         
            +
            		// Annotate the section element with the sidebar link to activate
         
     | 
| 
      
 46 
     | 
    
         
            +
            		if (lastSeenSidebarId) {
         
     | 
| 
      
 47 
     | 
    
         
            +
            			element.dataset.sidebarLink = lastSeenSidebarId;
         
     | 
| 
      
 48 
     | 
    
         
            +
            		}
         
     | 
| 
      
 49 
     | 
    
         
            +
            	});
         
     | 
| 
      
 50 
     | 
    
         
            +
            	
         
     | 
| 
      
 51 
     | 
    
         
            +
            	// Build sections array with link references for active state tracking
         
     | 
| 
      
 52 
     | 
    
         
            +
            	const sections = Array.from(sidebarLinksByFragment.entries()).map(([id, link]) => {
         
     | 
| 
      
 53 
     | 
    
         
            +
            		let sectionElement = document.getElementById(id);
         
     | 
| 
       22 
54 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
            		 
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
            			sectionElement = document.querySelector(`#${CSS.escape(fragment)}`);
         
     | 
| 
      
 55 
     | 
    
         
            +
            		if (!sectionElement && id !== CSS.escape(id)) {
         
     | 
| 
      
 56 
     | 
    
         
            +
            			sectionElement = document.querySelector(`#${CSS.escape(id)}`);
         
     | 
| 
       26 
57 
     | 
    
         
             
            		}
         
     | 
| 
       27 
58 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
            		// The element we found should be the section container, not just the heading
         
     | 
| 
       29 
     | 
    
         
            -
            		// If it's a heading, find its parent section
         
     | 
| 
       30 
59 
     | 
    
         
             
            		if (sectionElement && sectionElement.tagName.match(/^H[1-6]$/)) {
         
     | 
| 
       31 
60 
     | 
    
         
             
            			sectionElement = sectionElement.closest('section') || sectionElement.parentElement;
         
     | 
| 
       32 
61 
     | 
    
         
             
            		}
         
     | 
| 
       33 
62 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
            		return { link, sectionElement, id:  
     | 
| 
       35 
     | 
    
         
            -
            	}).filter( 
     | 
| 
      
 63 
     | 
    
         
            +
            		return sectionElement ? { link, sectionElement, id } : null;
         
     | 
| 
      
 64 
     | 
    
         
            +
            	}).filter(Boolean);
         
     | 
| 
       36 
65 
     | 
    
         | 
| 
       37 
66 
     | 
    
         
             
            	if (sections.length === 0) return;
         
     | 
| 
       38 
67 
     | 
    
         | 
| 
         @@ -41,26 +70,30 @@ 
     | 
|
| 
       41 
70 
     | 
    
         
             
            	function updateActiveLink(updatePageState = true) {
         
     | 
| 
       42 
71 
     | 
    
         
             
            		let activeSectionData = null;
         
     | 
| 
       43 
72 
     | 
    
         
             
            		let smallestValidBottom = Infinity;
         
     | 
| 
      
 73 
     | 
    
         
            +
            		let currentSectionElement = null;
         
     | 
| 
       44 
74 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
            		// Find  
     | 
| 
       46 
     | 
    
         
            -
            		 
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            			const { sectionElement } = sectionData;
         
     | 
| 
       49 
     | 
    
         
            -
            			const rect = sectionElement.getBoundingClientRect();
         
     | 
| 
      
 75 
     | 
    
         
            +
            		// Find which section the user is currently viewing
         
     | 
| 
      
 76 
     | 
    
         
            +
            		allSections.forEach(({element}) => {
         
     | 
| 
      
 77 
     | 
    
         
            +
            			const rect = element.getBoundingClientRect();
         
     | 
| 
       50 
78 
     | 
    
         
             
            			const sectionBottom = rect.bottom;
         
     | 
| 
       51 
79 
     | 
    
         | 
| 
       52 
80 
     | 
    
         
             
            			// Get the actual bottom padding for this section
         
     | 
| 
       53 
     | 
    
         
            -
            			const bottomPadding = parseFloat(getComputedStyle( 
     | 
| 
      
 81 
     | 
    
         
            +
            			const bottomPadding = parseFloat(getComputedStyle(element).paddingBottom);
         
     | 
| 
       54 
82 
     | 
    
         | 
| 
       55 
83 
     | 
    
         
             
            			// We want the section whose bottom is closest to the top but still visible
         
     | 
| 
       56 
84 
     | 
    
         
             
            			if (sectionBottom > bottomPadding && sectionBottom < smallestValidBottom) {
         
     | 
| 
       57 
85 
     | 
    
         
             
            				smallestValidBottom = sectionBottom;
         
     | 
| 
       58 
     | 
    
         
            -
            				 
     | 
| 
      
 86 
     | 
    
         
            +
            				currentSectionElement = element;
         
     | 
| 
       59 
87 
     | 
    
         
             
            			}
         
     | 
| 
       60 
88 
     | 
    
         
             
            		});
         
     | 
| 
       61 
89 
     | 
    
         | 
| 
       62 
     | 
    
         
            -
            		//  
     | 
| 
       63 
     | 
    
         
            -
            		 
     | 
| 
      
 90 
     | 
    
         
            +
            		// Look up which sidebar link should be active using the data attribute
         
     | 
| 
      
 91 
     | 
    
         
            +
            		if (currentSectionElement && currentSectionElement.dataset.sidebarLink) {
         
     | 
| 
      
 92 
     | 
    
         
            +
            			const sidebarLinkId = currentSectionElement.dataset.sidebarLink;
         
     | 
| 
      
 93 
     | 
    
         
            +
            			activeSectionData = sections.find(s => s.id === sidebarLinkId);
         
     | 
| 
      
 94 
     | 
    
         
            +
            		}
         
     | 
| 
      
 95 
     | 
    
         
            +
            		
         
     | 
| 
      
 96 
     | 
    
         
            +
            		// If still no section found, fall back to the last section
         
     | 
| 
       64 
97 
     | 
    
         
             
            		if (!activeSectionData && sections.length > 0) {
         
     | 
| 
       65 
98 
     | 
    
         
             
            			activeSectionData = sections[sections.length - 1];
         
     | 
| 
       66 
99 
     | 
    
         
             
            		}
         
     | 
    
        data/public/_static/site.css
    CHANGED
    
    
    
        data.tar.gz.sig
    CHANGED
    
    | 
         Binary file 
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: utopia-project
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.38.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Samuel Williams
         
     | 
| 
         @@ -117,14 +117,14 @@ dependencies: 
     | 
|
| 
       117 
117 
     | 
    
         
             
                requirements:
         
     | 
| 
       118 
118 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       119 
119 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       120 
     | 
    
         
            -
                    version: '2. 
     | 
| 
      
 120 
     | 
    
         
            +
                    version: '2.32'
         
     | 
| 
       121 
121 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       122 
122 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       123 
123 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       124 
124 
     | 
    
         
             
                requirements:
         
     | 
| 
       125 
125 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       126 
126 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       127 
     | 
    
         
            -
                    version: '2. 
     | 
| 
      
 127 
     | 
    
         
            +
                    version: '2.32'
         
     | 
| 
       128 
128 
     | 
    
         
             
            executables: []
         
     | 
| 
       129 
129 
     | 
    
         
             
            extensions: []
         
     | 
| 
       130 
130 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
         @@ -174,6 +174,99 @@ files: 
     | 
|
| 
       174 
174 
     | 
    
         
             
            - pages/source/controller.rb
         
     | 
| 
       175 
175 
     | 
    
         
             
            - pages/source/index.xnode
         
     | 
| 
       176 
176 
     | 
    
         
             
            - pages/source/show.xnode
         
     | 
| 
      
 177 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax.js
         
     | 
| 
      
 178 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/CodeElement.js
         
     | 
| 
      
 179 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Errors.js
         
     | 
| 
      
 180 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language.js
         
     | 
| 
      
 181 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/apache.js
         
     | 
| 
      
 182 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/applescript.js
         
     | 
| 
      
 183 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/assembly.js
         
     | 
| 
      
 184 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/bash-script.js
         
     | 
| 
      
 185 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/bash.js
         
     | 
| 
      
 186 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/basic.js
         
     | 
| 
      
 187 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/c++.js
         
     | 
| 
      
 188 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/c.js
         
     | 
| 
      
 189 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/clang.js
         
     | 
| 
      
 190 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/cpp.js
         
     | 
| 
      
 191 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/csharp.js
         
     | 
| 
      
 192 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/css.js
         
     | 
| 
      
 193 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/diff.js
         
     | 
| 
      
 194 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/go.js
         
     | 
| 
      
 195 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/haskell.js
         
     | 
| 
      
 196 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/html.js
         
     | 
| 
      
 197 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/io.js
         
     | 
| 
      
 198 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/java.js
         
     | 
| 
      
 199 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/javascript.js
         
     | 
| 
      
 200 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/json.js
         
     | 
| 
      
 201 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/lisp.js
         
     | 
| 
      
 202 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/lua.js
         
     | 
| 
      
 203 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/markdown.js
         
     | 
| 
      
 204 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/nginx.js
         
     | 
| 
      
 205 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/objective-c.js
         
     | 
| 
      
 206 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/ocaml.js
         
     | 
| 
      
 207 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/pascal.js
         
     | 
| 
      
 208 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/patch.js
         
     | 
| 
      
 209 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/perl5.js
         
     | 
| 
      
 210 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/php-script.js
         
     | 
| 
      
 211 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/php.js
         
     | 
| 
      
 212 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/plain.js
         
     | 
| 
      
 213 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/protobuf.js
         
     | 
| 
      
 214 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/python.js
         
     | 
| 
      
 215 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/ruby.js
         
     | 
| 
      
 216 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/scala.js
         
     | 
| 
      
 217 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/smalltalk.js
         
     | 
| 
      
 218 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/sql.js
         
     | 
| 
      
 219 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/super-collider.js
         
     | 
| 
      
 220 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/swift.js
         
     | 
| 
      
 221 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/xml.js
         
     | 
| 
      
 222 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/xrb.js
         
     | 
| 
      
 223 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Language/yaml.js
         
     | 
| 
      
 224 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Loader.js
         
     | 
| 
      
 225 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Match.js
         
     | 
| 
      
 226 
     | 
    
         
            +
            - public/_components/@socketry/syntax/Syntax/Rule.js
         
     | 
| 
      
 227 
     | 
    
         
            +
            - public/_components/@socketry/syntax/license.md
         
     | 
| 
      
 228 
     | 
    
         
            +
            - public/_components/@socketry/syntax/package.json
         
     | 
| 
      
 229 
     | 
    
         
            +
            - public/_components/@socketry/syntax/readme.md
         
     | 
| 
      
 230 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/apache.css
         
     | 
| 
      
 231 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/applescript.css
         
     | 
| 
      
 232 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/assembly.css
         
     | 
| 
      
 233 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/bash.css
         
     | 
| 
      
 234 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/basic.css
         
     | 
| 
      
 235 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/c.css
         
     | 
| 
      
 236 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/clang.css
         
     | 
| 
      
 237 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/csharp.css
         
     | 
| 
      
 238 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/css.css
         
     | 
| 
      
 239 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/diff.css
         
     | 
| 
      
 240 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/go.css
         
     | 
| 
      
 241 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/haskell.css
         
     | 
| 
      
 242 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/html.css
         
     | 
| 
      
 243 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/io.css
         
     | 
| 
      
 244 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/java.css
         
     | 
| 
      
 245 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/javascript.css
         
     | 
| 
      
 246 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/json.css
         
     | 
| 
      
 247 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/lisp.css
         
     | 
| 
      
 248 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/lua.css
         
     | 
| 
      
 249 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/markdown.css
         
     | 
| 
      
 250 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/nginx.css
         
     | 
| 
      
 251 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/ocaml.css
         
     | 
| 
      
 252 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/pascal.css
         
     | 
| 
      
 253 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/perl5.css
         
     | 
| 
      
 254 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/php-script.css
         
     | 
| 
      
 255 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/php.css
         
     | 
| 
      
 256 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/plain.css
         
     | 
| 
      
 257 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/protobuf.css
         
     | 
| 
      
 258 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/python.css
         
     | 
| 
      
 259 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/ruby.css
         
     | 
| 
      
 260 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/scala.css
         
     | 
| 
      
 261 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/smalltalk.css
         
     | 
| 
      
 262 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/sql.css
         
     | 
| 
      
 263 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/super-collider.css
         
     | 
| 
      
 264 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/swift.css
         
     | 
| 
      
 265 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/syntax.css
         
     | 
| 
      
 266 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/xml.css
         
     | 
| 
      
 267 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/xrb.css
         
     | 
| 
      
 268 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/base/yaml.css
         
     | 
| 
      
 269 
     | 
    
         
            +
            - public/_components/@socketry/syntax/themes/theming.md
         
     | 
| 
       177 
270 
     | 
    
         
             
            - public/_components/jquery-litebox/jquery.litebox.css
         
     | 
| 
       178 
271 
     | 
    
         
             
            - public/_components/jquery-litebox/jquery.litebox.gallery.css
         
     | 
| 
       179 
272 
     | 
    
         
             
            - public/_components/jquery-litebox/jquery.litebox.js
         
     | 
    
        metadata.gz.sig
    CHANGED
    
    | 
         @@ -1,3 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
            J��8n�n}���h�nr�9W�:�s���$
         
     | 
| 
       3 
     | 
    
         
            -
            X�����$�R���5�79{���J�zaT�b�>jWd_�Ě����Lt�mtЂ~E��I8��p�v3��_�/��Հ����X*I{�סx~��FHL+�
         
     | 
| 
      
 1 
     | 
    
         
            +
            dd^�N�=!dѰ�Cޠ�����M���6����er�<�\��F�A<M�M��詴���)>$g��'�e2k�ep������.�f�#��m �}3��Vx���߹�c`�G�ڷ)�/���h��~��p�OK��T2,C죄Ӹ���S/�-�t|�w٨� �(�C}��U
         
     |