{"id":13421785,"url":"https://github.com/oriolmirosa/jupyterlab_materialdarker","last_synced_at":"2026-07-06T20:02:34.214Z","repository":{"id":30223798,"uuid":"124306749","full_name":"oriolmirosa/jupyterlab_materialdarker","owner":"oriolmirosa","description":"The Material Darker theme for JupyterLab","archived":false,"fork":false,"pushed_at":"2025-01-27T15:39:05.000Z","size":1675,"stargazers_count":167,"open_issues_count":6,"forks_count":17,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-10-22T00:02:08.584Z","etag":null,"topics":["jupyterlab","jupyterlab-extension","material-theme","theme"],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oriolmirosa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-07T23:24:13.000Z","updated_at":"2025-05-27T10:44:36.000Z","dependencies_parsed_at":"2025-03-17T21:02:30.850Z","dependency_job_id":null,"html_url":"https://github.com/oriolmirosa/jupyterlab_materialdarker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oriolmirosa/jupyterlab_materialdarker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oriolmirosa%2Fjupyterlab_materialdarker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oriolmirosa%2Fjupyterlab_materialdarker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oriolmirosa%2Fjupyterlab_materialdarker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oriolmirosa%2Fjupyterlab_materialdarker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oriolmirosa","download_url":"https://codeload.github.com/oriolmirosa/jupyterlab_materialdarker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oriolmirosa%2Fjupyterlab_materialdarker/sbom","scorecard":{"id":712389,"data":{"date":"2025-08-11","repo":{"name":"github.com/oriolmirosa/jupyterlab_materialdarker","commit":"d520065bdcdfd019f1f45d27122ac8a363ea2559"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/prep-release.yml:30","Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/check-release.yml:1","Warn: no topLevel permission defined: .github/workflows/enforce-label.yml:1","Warn: no topLevel permission defined: .github/workflows/prep-release.yml:1","Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/check-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-release.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/check-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/check-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-release.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/check-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/enforce-label.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/enforce-label.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/prep-release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/prep-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/prep-release.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/prep-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/oriolmirosa/jupyterlab_materialdarker/publish-release.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build.yml:77","Warn: pipCommand not pinned by hash: .github/workflows/build.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/build.yml:36","Warn: pipCommand not pinned by hash: .github/workflows/build.yml:46","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  11 third-party GitHubAction dependencies pinned","Info:   0 out of   4 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T08:31:41.195Z","repository_id":30223798,"created_at":"2025-08-22T08:31:41.195Z","updated_at":"2025-08-22T08:31:41.195Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35204409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyterlab","jupyterlab-extension","material-theme","theme"],"created_at":"2024-07-30T23:00:29.952Z","updated_at":"2026-07-06T20:02:34.207Z","avatar_url":"https://github.com/oriolmirosa.png","language":"CSS","funding_links":[],"categories":["Uncategorized","JupyterLab主题","JupyterLab Themes"],"sub_categories":["Uncategorized"],"readme":"# Material Darker JupyterLab Extension\n\n[![Github Actions Status](https://github.com/oriolmirosa/jupyterlab_materialdarker/workflows/Build/badge.svg)](https://github.com/oriolmirosa/jupyterlab_materialdarker/actions/workflows/build.yml)\n\nThis is my port of the [Material Darker theme](http://equinsuocha.io/material-theme/#/darker) for JupyterLab. It's a work in progress.\n\nThe extension has now been updated to support JupyterLab 4.x\n\n![The Material Darker theme on JupyterLab](https://user-images.githubusercontent.com/6955013/37124604-0450d6dc-2237-11e8-95d8-0e822ee92c49.png)\n\n## Requirements\n\n- JupyterLab \u003e= 4.5.0\n- Python \u003e= 3.9\n\n## Install\n\nTo install the extension, execute:\n\n```bash\npip install jupyterlab_materialdarker\n```\n\nAfter launching JupyterLab, select the `Material Darker` theme from the main menu: `Settings` \u003e `JupyterLab Theme` \u003e `Material Darker`\n\n## Uninstall\n\nTo remove the extension, execute:\n\n```bash\npip uninstall jupyterlab_materialdarker\n```\n\n## Contributing\n\n### Development install\n\nNote: You will need NodeJS to build the extension package.\n\nThe `jlpm` command is JupyterLab's pinned version of\n[yarn](https://yarnpkg.com/) that is installed with JupyterLab. You may use\n`yarn` or `npm` in lieu of `jlpm` below.\n\n```bash\n# Clone the repo to your local environment\n# Change directory to the jupyterlab_materialdarker directory\n# Install package in development mode\npip install -e \".\"\n# Link your development version of the extension with JupyterLab\njupyter labextension develop . --overwrite\n# Rebuild extension Typescript source after making changes\njlpm build\n```\n\nYou can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.\n\n```bash\n# Watch the source directory in one terminal, automatically rebuilding when needed\njlpm watch\n# Run JupyterLab in another terminal\njupyter lab\n```\n\nWith the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).\n\nBy default, the `jlpm build` command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:\n\n```bash\njupyter lab build --minimize=False\n```\n\n### Development uninstall\n\n```bash\npip uninstall jupyterlab_materialdarker\n```\n\nIn development mode, you will also need to remove the symlink created by `jupyter labextension develop`\ncommand. To find its location, you can run `jupyter labextension list` to figure out where the `labextensions`\nfolder is located. Then you can remove the symlink named `jupyterlab_materialdarker` within that folder.\n\n### Packaging the extension\n\nSee [RELEASE](RELEASE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foriolmirosa%2Fjupyterlab_materialdarker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foriolmirosa%2Fjupyterlab_materialdarker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foriolmirosa%2Fjupyterlab_materialdarker/lists"}