{"id":18118364,"url":"https://github.com/sergioribera/sss","last_synced_at":"2025-04-05T14:08:50.446Z","repository":{"id":214835025,"uuid":"728854876","full_name":"SergioRibera/sss","owner":"SergioRibera","description":"SSS (Super ScreenShot) is a WIP: CLI/Lib to take amazing screenshot of code or screen","archived":false,"fork":false,"pushed_at":"2025-02-23T06:06:20.000Z","size":5253,"stargazers_count":116,"open_issues_count":7,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T11:12:12.590Z","etag":null,"topics":["code","rust","rust-lang","screen","screenshot"],"latest_commit_sha":null,"homepage":"https://sergioribera.github.io/sss/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SergioRibera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE-APACHE","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},"funding":{"github":["SergioRibera"]}},"created_at":"2023-12-07T21:00:06.000Z","updated_at":"2025-02-23T06:06:24.000Z","dependencies_parsed_at":"2024-01-10T20:38:48.449Z","dependency_job_id":"e87b3926-d2f5-4b7f-8840-e9534d52641e","html_url":"https://github.com/SergioRibera/sss","commit_stats":null,"previous_names":["sergioribera/code-screenshot","sergioribera/sss"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioRibera%2Fsss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioRibera%2Fsss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioRibera%2Fsss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioRibera%2Fsss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SergioRibera","download_url":"https://codeload.github.com/SergioRibera/sss/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345854,"owners_count":20924102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["code","rust","rust-lang","screen","screenshot"],"created_at":"2024-11-01T05:10:53.940Z","updated_at":"2025-04-05T14:08:50.424Z","avatar_url":"https://github.com/SergioRibera.png","language":"Rust","funding_links":["https://github.com/sponsors/SergioRibera"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://i.ibb.co/kPB2FQf/Sprite-0002.png\"\u003e\n\n# Super ScreenShot\n\nSuper ScreenShot is a set of libraries and tools for building screenshots in a standardized, high-performance image format made in rust.\n\n\u003cimg src=\"https://i.ibb.co/gbTvJ8WG/showcase.png\"\u003e\n\n## 🧩 Libraries\nIt provides different options depending on your needs.\n\n- [sss_lib](./crates/sss_lib): The base library for screenshot generation, providing the core functionality for the other tools.\n- [sss_code](./crates/sss_code): A terminal tool specifically designed to take screenshots of your code, making it easy to share and showcase your snippets.\n- [sss](./crates/sss_cli): A versatile terminal tool that allows you to capture screenshots of your entire screen or specific regions.\n\n## 🚀 Installation\n\u003e [!IMPORTANT]\n\u003e At the moment the tool is not available in any store. Please redirect to [releases](https://github.com/SergioRibera/sss/releases) section in order to download.\n\n### ❄️ Nix\n\nsss packages are built and cached automatically. To avoid unnecessary recompilations, you may use the binary cache.\n\n```nix\nnix.settings = {\n  builders-use-substitutes = true;\n  extra-substituters = [ \"https://sss.cachix.org\" ];\n  extra-trusted-public-keys = [ \"sss.cachix.org-1:YI2JMG95LEu62PC7VMz75N7bypEdUz9Z/Il1hkGH4AA=\" ];\n};\n```\n\n\u003e [!WARNING]\n\u003e While using the sss flake, overriding the nixpkgs input for sss will cause cache hits, i.e., you will have to build from source every time. To use the cache, do not override the Nixpkgs input.\n\nOn nix you can use the provided flake:\n\n```nix\n# flake.nix\n{\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n    sss = {\n      url = \"github:SergioRibera/sss\";\n      inputs.nixpkgs.follows = \"nixpkgs\";\n    };\n  };\n\n  outputs = { self, nixpkgs }: {\n    nixosConfigurations.\"\u003cyour_hostname\u003e\" = nixpkgs.lib.nixosSystem {\n      # ...\n      modules = [\n        # Add sss to modules to make it available\n        inputs.sss.nixosModules.default\n\n        {\n          programs.sss {\n            enable = true; # Enable principal cli to take screenshots\n            code = true; # Enable sss_code to capture code\n          }\n        }\n      ];\n      # ...\n    };\n  };\n}\n```\n\n### ❄️ Nix Home-Manager\n\n\u003e [!INFO]\n\u003e You can find more details about the available options at [here](./nix/hm-module.nix)\n\n```nix\nhome-manager.users.\"yourusername\" = ({\n  imports = [\n    inputs.sss.nixosModules.home-manager\n  ];\n\n  programs.sss = {\n    enable = true;\n    code = {\n      enable = true;\n      line-numbers = true;\n    };\n\n    general = {\n      shadow = true;\n      shadow-image = true;\n      author = \"@SergioRibera\";\n      colors = {\n        background = \"#FFFFFF\";\n        author = \"#000000\";\n      };\n    };\n  };\n};\n```\n\n## ⚙️ Configuration\n\u003e [!NOTE]\n\u003e To know how to configure it from a file, you can review the [default.toml](./examples/default_config.toml) file.\n\u003e\nAll cli arguments can be set from a single file in the path `~/.config/sss/config.toml`, right here you can place the configuration for `sss_code` and `sss`.\n\n## 💻 Usage\nYou can find examples and options in the following links.\n- [sss_cli](https://sergioribera.rustlang-es.org/sss/sss/): Screenshots of your screen.\n- [sss_code](https://sergioribera.rustlang-es.org/sss/sss_code/): Screenshots of your code.\n\n\n## 💡 Acknowledgments\n- [syntect](https://github.com/trishume/syntect): Rust library for syntax highlighting using Sublime Text syntax definitions.\n  - I use this library for code highlighting and parsing.\n- [djanho](https://github.com/viniciusmuller/djanho): Convert VSCode themes to (Neo)Vim colorschemes\n  - Use this project to understand how to import (Neo)vim themes.\n\n## 🏁 Other Goals\n- [silicon](https://github.com/Aloxaf/silicon): Create beautiful image of your source code.\n  - I used it as a basis for my code screenshot project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergioribera%2Fsss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergioribera%2Fsss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergioribera%2Fsss/lists"}