├── .github └── ISSUE_TEMPLATE │ └── bug_report.md ├── .gitignore ├── FUNDING.yml ├── LICENSE ├── README.md ├── build.py ├── colors ├── dark.yaml └── light.yaml ├── requirements.txt └── theme └── jetbrains ├── .idea ├── .gitignore ├── .name ├── misc.xml └── modules.xml ├── LICENSE ├── README.md ├── build.py ├── foundation-jetbrains.iml ├── resources ├── META-INF │ ├── plugin.xml │ ├── pluginIcon.svg │ └── pluginIcon_dark.svg └── schemes │ ├── dark.xml │ └── light.xml ├── screenshots ├── foundation-dark-small.png ├── foundation-dark.png ├── foundation-light-small.png └── foundation-light.png └── src ├── dark.theme.json └── light.theme.json /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Create a report 4 | title: '' 5 | labels: '' 6 | assignees: jontaydev 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Clone this repository 16 | 2. Open this file 17 | 3. Select this text... 18 | 19 | **Screenshots** 20 | If applicable, add screenshots to help explain your problem. 21 | 22 | **Application:** 23 | PyCharm, IntelliJ, etc 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | /.idea 3 | /output 4 | .DS_Store -------------------------------------------------------------------------------- /FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: espositocode 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Foundation 2 | 3 | A modern design with a dark and light theme. 4 | 5 | Supported apps: 6 | - [JetBrains](theme/jetbrains) 7 | 8 | To build, first install [sublate](https://github.com/espositocode/sublate): 9 | 10 | $ pip install sublate 11 | 12 | Then, run the build script: 13 | 14 | $ ./build.py 15 | -------------------------------------------------------------------------------- /build.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import sublate as sub 3 | 4 | sub.data.update({ 5 | "date": sub.date_iso(), 6 | "colors": sub.read("colors/*.yaml").values(), 7 | }) 8 | 9 | sub.rm("output") 10 | sub.cp("theme", "output") 11 | sub.run("output/*/build.py") 12 | -------------------------------------------------------------------------------- /colors/dark.yaml: -------------------------------------------------------------------------------- 1 | id: dark 2 | name: Foundation Dark 3 | colors: 4 | base03: "#131517" 5 | base02: "#1c1e20" 6 | base01: "#252729" 7 | base00: "#323436" 8 | base0: "#dddddd" 9 | base1: "#e9e9e9" 10 | base2: "#f6f6f6" 11 | base3: "#ffffff" 12 | blue: "#3485f7" 13 | none: "#00000000" -------------------------------------------------------------------------------- /colors/light.yaml: -------------------------------------------------------------------------------- 1 | id: light 2 | name: Foundation Light 3 | colors: 4 | base03: "#ffffff" 5 | base02: "#f6f6f6" 6 | base01: "#e9e9e9" 7 | base00: "#dddddd" 8 | blue: "#3485f7" 9 | none: "#00000000" -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | sublate==0.3 -------------------------------------------------------------------------------- /theme/jetbrains/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /theme/jetbrains/.idea/.name: -------------------------------------------------------------------------------- 1 | foundation-jetbrains -------------------------------------------------------------------------------- /theme/jetbrains/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /theme/jetbrains/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /theme/jetbrains/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License (MIT) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. -------------------------------------------------------------------------------- /theme/jetbrains/README.md: -------------------------------------------------------------------------------- 1 | # Foundation for JetBrains 2 | 3 | ## Build 4 | 5 | To build the plugin for IntelliJ, follow these steps: 6 | 7 | 1. Build this project with sublate From the project root: `sublate`. 8 | 2. Open the `build` directory with IntelliJ. 9 | 3. From the menubar, select Build -> Prepare Plugin Module For Deployment. 10 | 4. The plugin jar file will be exported to the `build` directory. 11 | 12 | ## Screenshots 13 | 14 | ### Foundation Dark: 15 | 16 | ![Foundation Dark](screenshots/foundation-dark.png) 17 | 18 | ### Foundation Light: 19 | 20 | ![Foundation Light](screenshots/foundation-light.png) 21 | -------------------------------------------------------------------------------- /theme/jetbrains/build.py: -------------------------------------------------------------------------------- 1 | import sublate as sub 2 | 3 | print("[+] JetBrains") 4 | 5 | for theme in sub.data["colors"]: 6 | sub.render(f"resources/schemes/{theme['id']}.xml", data={ 7 | "theme": theme, 8 | }) 9 | sub.render(f"src/{theme['id']}.theme.json", data={ 10 | "theme": theme 11 | }) 12 | 13 | sub.rm("build.py") 14 | -------------------------------------------------------------------------------- /theme/jetbrains/foundation-jetbrains.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /theme/jetbrains/resources/META-INF/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | foundation 3 | Foundation Theme 4 | Subtheme 5 | 1.4 6 | 7 | com.intellij.modules.lang 8 | 9 | 10 | 1.4 12 |
    13 |
  • Compatibility for 2022.x
  • 14 |
15 |

1.3

16 |
    17 |
  • Fixed separator foreground color
  • 18 |
19 |

1.2

20 |
    21 |
  • Fixed completion selection background color
  • 22 |
23 |

1.1

24 |
    25 |
  • Minor update to plugin metadata
  • 26 |
27 |

1.0

28 |
    29 |
  • Added foundation theme
  • 30 |
31 | ]]> 32 |
33 | 34 |
37 | Contributions are welcome with GitHub. Screenshots were taken with Atom Material Icons and Operator Mono. 38 |

39 | 40 |
41 | 42 | ]]> 43 |
44 | 45 | 46 | 47 | 48 | 49 |
50 | -------------------------------------------------------------------------------- /theme/jetbrains/resources/META-INF/pluginIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /theme/jetbrains/resources/META-INF/pluginIcon_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /theme/jetbrains/resources/schemes/dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2019-07-05T11:35:25 4 | idea 5 | 2019.2.0.0 6 | {{date}} 7 | Darcula 8 | 9 | 10 | 16 | 17 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /theme/jetbrains/resources/schemes/light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2019-06-07T17:20:09 4 | idea 5 | 2019.2.0.0 6 | {{date}} 7 | Default 8 | 9 | 10 | 20 | 21 | 29 | 35 | 40 | 45 | 52 | 58 | 64 | 70 | 76 | 82 | 87 | 90 | 95 | 100 | 107 | 113 | 119 | 125 | 130 | 136 | 142 | 148 | 154 | 159 | 164 | 170 | 177 | 184 | 189 | 194 | 199 | 204 | 209 | 214 | 219 | 224 | 229 | 234 | 239 | 244 | 249 | 254 | 259 | 264 | 272 | 278 | 283 | 289 | 294 | 299 | 304 | 309 | 314 | 319 | 324 | 329 | 336 | 342 | 348 | 355 | 362 | 367 | 374 | 380 | 388 | 393 | 398 | 403 | 408 | 409 | 410 | -------------------------------------------------------------------------------- /theme/jetbrains/screenshots/foundation-dark-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subtheme-dev/foundation/9738a49b9e252037bb110c0e76c5ef6c0c3c316f/theme/jetbrains/screenshots/foundation-dark-small.png -------------------------------------------------------------------------------- /theme/jetbrains/screenshots/foundation-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subtheme-dev/foundation/9738a49b9e252037bb110c0e76c5ef6c0c3c316f/theme/jetbrains/screenshots/foundation-dark.png -------------------------------------------------------------------------------- /theme/jetbrains/screenshots/foundation-light-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subtheme-dev/foundation/9738a49b9e252037bb110c0e76c5ef6c0c3c316f/theme/jetbrains/screenshots/foundation-light-small.png -------------------------------------------------------------------------------- /theme/jetbrains/screenshots/foundation-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/subtheme-dev/foundation/9738a49b9e252037bb110c0e76c5ef6c0c3c316f/theme/jetbrains/screenshots/foundation-light.png -------------------------------------------------------------------------------- /theme/jetbrains/src/dark.theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "{{theme.name}}", 3 | "dark": true, 4 | "author": "Subtheme", 5 | "editorScheme": "/schemes/dark.xml", 6 | "ui": { 7 | "*": { 8 | "background": "{{theme.colors.base02}}", 9 | "borderColor": "{{theme.colors.base03}}", 10 | "disabledBackground": "{{theme.colors.base01}}", 11 | "disabledBorderColor": "{{theme.colors.base03}}", 12 | "inactiveBackground": "{{theme.colors.base00}}", 13 | "lightSelectionBackground": "{{theme.colors.base00}}", 14 | "lightSelectionInactiveBackground": "{{theme.colors.base01}}", 15 | "lineSeparatorColor": "{{theme.colors.base03}}", 16 | "selectionBackground": "{{theme.colors.blue}}", 17 | "selectionInactiveBackground": "{{theme.colors.base00}}", 18 | "separatorColor": "{{theme.colors.base03}}", 19 | "separatorForeground": "{{theme.colors.base0}}", 20 | "underlineColor": "{{theme.colors.blue}}", 21 | "underlineHeight": 2 22 | }, 23 | "Borders": { 24 | "color": "{{theme.colors.base03}}", 25 | "ContrastBorderColor": "{{theme.colors.base03}}" 26 | }, 27 | "Button": { 28 | "arc": 8, 29 | "default": { 30 | "endBackground": "{{theme.colors.blue}}", 31 | "endBorderColor": "00000000", 32 | "focusedBorderColor": "{{theme.colors.blue}}", 33 | "startBackground": "{{theme.colors.blue}}", 34 | "startBorderColor": "00000000" 35 | }, 36 | "endBackground": "{{theme.colors.base00}}", 37 | "endBorderColor": "{{theme.colors.base00}}", 38 | "focusedBorderColor": "{{theme.colors.blue}}", 39 | "shadowColor": "00000000", 40 | "startBackground": "{{theme.colors.base00}}", 41 | "startBorderColor": "{{theme.colors.base00}}" 42 | }, 43 | "CompletionPopup": { 44 | "selectionBackground": "{{theme.colors.base00}}" 45 | }, 46 | "DefaultTabs": { 47 | "background": "{{theme.colors.base01}}", 48 | "hoverBackground": "{{theme.colors.base03}}", 49 | "underlineColor": "{{theme.colors.blue}}", 50 | "underlinedTabBackground": "{{theme.colors.base01}}", 51 | "underlineHeight": 2 52 | }, 53 | "EditorTabs": { 54 | "background": "{{theme.colors.base01}}", 55 | "inactiveMaskColor": "{{theme.colors.base01}}", 56 | "inactiveUnderlineColor": "{{theme.colors.base01}}", 57 | "underlinedTabBackground": "{{theme.colors.base02}}", 58 | "underlineColor": "{{theme.colors.blue}}", 59 | "underlineHeight": 2 60 | }, 61 | "FileColor": { 62 | "Yellow": "00000000" 63 | }, 64 | "Popup": { 65 | "background": "{{theme.colors.base01}}", 66 | "Header": { 67 | "activeBackground": "{{theme.colors.base00}}", 68 | "inactiveBackground": "{{theme.colors.base00}}" 69 | } 70 | }, 71 | "SearchEverywhere": { 72 | "Tab": { 73 | "selectedBackground": "{{theme.colors.base00}}" 74 | } 75 | }, 76 | "SidePanel": { 77 | "background": "{{theme.colors.base01}}" 78 | }, 79 | "StatusBar": { 80 | "borderColor": "{{theme.colors.base03}}", 81 | "hoverBackground": "{{theme.colors.base03}}" 82 | }, 83 | "TabbedPane": { 84 | "hoverColor": "{{theme.colors.base01}}" 85 | }, 86 | "Table": { 87 | "stripeColor": "{{theme.colors.base01}}" 88 | }, 89 | "ToolWindow": { 90 | "Header": { 91 | "background": "{{theme.colors.base01}}", 92 | "borderColor": "{{theme.colors.base03}}", 93 | "inactiveBackground": "{{theme.colors.base01}}" 94 | }, 95 | "Button": { 96 | "hoverBackground": "{{theme.colors.base03}}", 97 | "selectedBackground": "{{theme.colors.base03}}" 98 | } 99 | }, 100 | "Tree": { 101 | "background": "{{theme.colors.base01}}", 102 | "rowHeight": 20 103 | } 104 | } 105 | } -------------------------------------------------------------------------------- /theme/jetbrains/src/light.theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "{{theme.name}}", 3 | "dark": false, 4 | "author": "Subtheme", 5 | "editorScheme": "/schemes/light.xml", 6 | "ui": { 7 | "*": { 8 | "background": "{{theme.colors.base03}}", 9 | "borderColor": "{{theme.colors.base01}}", 10 | "disabledBackground": "{{theme.colors.base02}}", 11 | "disabledBorderColor": "{{theme.colors.base01}}", 12 | "inactiveBackground": "{{theme.colors.base01}}", 13 | "lightSelectionBackground": "{{theme.colors.base01}}", 14 | "lightSelectionInactiveBackground": "{{theme.colors.base02}}", 15 | "lineSeparatorColor": "{{theme.colors.base01}}", 16 | "selectionBackground": "{{theme.colors.blue}}", 17 | "selectionInactiveBackground": "{{theme.colors.base01}}", 18 | "separatorColor": "{{theme.colors.base01}}", 19 | "separatorForeground": "{{theme.colors.base00}}", 20 | "underlineColor": "{{theme.colors.blue}}", 21 | "underlineHeight": 2 22 | }, 23 | "Borders": { 24 | "color": "{{theme.colors.base01}}", 25 | "ContrastBorderColor": "{{theme.colors.base01}}" 26 | }, 27 | "Button": { 28 | "arc": 8, 29 | "default": { 30 | "endBackground": "{{theme.colors.blue}}", 31 | "endBorderColor": "00000000", 32 | "focusedBorderColor": "{{theme.colors.blue}}", 33 | "startBackground": "{{theme.colors.blue}}", 34 | "startBorderColor": "00000000" 35 | }, 36 | "endBackground": "{{theme.colors.base01}}", 37 | "endBorderColor": "{{theme.colors.base01}}", 38 | "focusedBorderColor": "{{theme.colors.blue}}", 39 | "shadowColor": "00000000", 40 | "startBackground": "{{theme.colors.base01}}", 41 | "startBorderColor": "{{theme.colors.base01}}" 42 | }, 43 | "CompletionPopup": { 44 | "selectionBackground": "{{theme.colors.base00}}" 45 | }, 46 | "DefaultTabs": { 47 | "background": "{{theme.colors.base02}}", 48 | "hoverBackground": "{{theme.colors.base01}}", 49 | "underlineColor": "{{theme.colors.blue}}", 50 | "underlinedTabBackground": "{{theme.colors.base02}}", 51 | "underlineHeight": 2 52 | }, 53 | "EditorTabs": { 54 | "background": "{{theme.colors.base02}}", 55 | "inactiveMaskColor": "{{theme.colors.base02}}", 56 | "inactiveUnderlineColor": "{{theme.colors.base02}}", 57 | "underlinedTabBackground": "{{theme.colors.base03}}", 58 | "underlineColor": "{{theme.colors.blue}}", 59 | "underlineHeight": 2 60 | }, 61 | "FileColor": { 62 | "Yellow": "00000000" 63 | }, 64 | "Popup": { 65 | "background": "{{theme.colors.base01}}", 66 | "Header": { 67 | "activeBackground": "{{theme.colors.base01}}", 68 | "inactiveBackground": "{{theme.colors.base01}}" 69 | } 70 | }, 71 | "SearchEverywhere": { 72 | "Tab": { 73 | "selectedBackground": "{{theme.colors.base01}}" 74 | } 75 | }, 76 | "SidePanel": { 77 | "background": "{{theme.colors.base02}}" 78 | }, 79 | "StatusBar": { 80 | "borderColor": "{{theme.colors.base01}}", 81 | "hoverBackground": "{{theme.colors.base01}}" 82 | }, 83 | "TabbedPane": { 84 | "hoverColor": "{{theme.colors.base01}}" 85 | }, 86 | "Table": { 87 | "stripeColor": "{{theme.colors.base02}}" 88 | }, 89 | "ToolWindow": { 90 | "Header": { 91 | "background": "{{theme.colors.base02}}", 92 | "borderColor": "{{theme.colors.base01}}", 93 | "inactiveBackground": "{{theme.colors.base02}}" 94 | }, 95 | "Button": { 96 | "hoverBackground": "{{theme.colors.base01}}", 97 | "selectedBackground": "{{theme.colors.base01}}", 98 | "selectedForeground": "000000" 99 | } 100 | }, 101 | "Tree": { 102 | "background": "{{theme.colors.base02}}", 103 | "rowHeight": 20 104 | } 105 | } 106 | } --------------------------------------------------------------------------------