{"id":24887180,"url":"https://github.com/BrookJeynes/jido","last_synced_at":"2025-10-16T05:31:38.505Z","repository":{"id":239083405,"uuid":"798111746","full_name":"BrookJeynes/jido","owner":"BrookJeynes","description":"地圖 (Jido) is a lightweight Unix TUI file explorer designed for speed and simplicity.","archived":false,"fork":false,"pushed_at":"2025-05-29T06:24:59.000Z","size":1634,"stargazers_count":58,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-01T23:49:38.472Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BrookJeynes.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,"zenodo":null}},"created_at":"2024-05-09T05:45:43.000Z","updated_at":"2025-07-31T05:12:01.000Z","dependencies_parsed_at":"2024-05-09T22:43:14.675Z","dependency_job_id":"2232dc3a-262b-4e94-8e9b-ef3123017ecc","html_url":"https://github.com/BrookJeynes/jido","commit_stats":{"total_commits":56,"total_committers":2,"mean_commits":28.0,"dds":"0.017857142857142905","last_synced_commit":"d98dfabed6b59de2ea5736291c17747ae91c8880"},"previous_names":["brookjeynes/zfe","brookjeynes/jido"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/BrookJeynes/jido","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrookJeynes%2Fjido","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrookJeynes%2Fjido/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrookJeynes%2Fjido/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrookJeynes%2Fjido/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrookJeynes","download_url":"https://codeload.github.com/BrookJeynes/jido/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrookJeynes%2Fjido/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279159536,"owners_count":26116492,"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","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"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":[],"created_at":"2025-02-01T16:01:07.641Z","updated_at":"2025-10-16T05:31:38.496Z","avatar_url":"https://github.com/BrookJeynes.png","language":"Zig","funding_links":[],"categories":["Fundamentals"],"sub_categories":["Utility"],"readme":"# 地圖 (Jido)\n\n![Jido preview](./assets/preview.gif)\n\n**Jido** is a lightweight Unix TUI file explorer designed for speed and \nsimplicity.\n\nThe name 地圖 (지도) translates to \"map\" in English, reflecting Jido's \npurpose: helping you navigate and explore your file system with ease. With \nVim-like bindings and a minimalist interface, Jido focuses on speed and\nsimplicity.\n\nJido used Zig `0.14.0`.\n\n- [Installation](#installation)\n- [Integrations](#integrations)\n- [Key manual](#key-manual)\n- [Configuration](#configuration)\n- [Contributing](#contributing)\n\n## Installation\nTo install Jido, check the \"Releases\" page or build locally \nvia `zig build --release=safe`.\n\n## Integrations\n- `pdftotext` to view PDF text previews.\n- A terminal supporting the `kitty image protocol` to view images.\n\n## Key manual\nBelow are the default keybinds. Keybinds can be overwritten via the `Keybinds`\nconfig option. Some keybinds are unbound by default, see [Configuration](#configuration) \nfor more information.\n\n```\nGlobal:\n\u003cCTRL-c\u003e           :Exit.\n\u003cCTRL-r\u003e           :Reload config.\n\nNormal mode:\nj / \u003cDown\u003e         :Go down.\nk / \u003cUp\u003e           :Go up.\nh / \u003cLeft\u003e / -     :Go to the parent directory.\nl / \u003cRight\u003e        :Open item or change directory.\ng                  :Go to the top.\nG                  :Go to the bottom.\nc                  :Change directory via path. Will enter input mode.\nR                  :Rename item. Will enter input mode.\nD                  :Delete item.\nu                  :Undo delete/rename.\nd                  :Create directory. Will enter input mode.\n%                  :Create file. Will enter input mode.\n/                  :Fuzzy search directory. Will enter input mode.\n.                  :Toggle hidden files.\n:                  :Allows for Jido commands to be entered. Please refer to the \n                    \"Command mode\" section for available commands. Will enter \n                    input mode.\nv                  :Verbose mode. Provides more information about selected entry. \ny                  :Yank selected item. \np                  :Past yanked item. \n\nInput mode:\n\u003cEsc\u003e              :Cancel input.\n\u003cCR\u003e               :Confirm input.\n\nCommand mode:\n\u003cUp\u003e / \u003cDown\u003e      :Cycle previous commands.\n:q                 :Exit.\n:h                 :View available keybinds. 'q' to return to app.\n:config            :Navigate to config directory if it exists.\n:trash             :Navigate to trash directory if it exists.\n:empty_trash       :Empty trash if it exists. This action cannot be undone.\n:cd \u003cpath\u003e         :Change directory via path. Will enter input mode.\n```\n\n## Configuration\nConfigure `jido` by editing the external configuration file located at either:\n- `$HOME/.jido/config.json`\n- `$XDG_CONFIG_HOME/jido/config.json`.\n\nJido will look for these env variables specifically. If they are not set, Jido \nwill not be able to find the config file.\n\nAn example config file can be found [here](https://github.com/BrookJeynes/jido/blob/main/example-config.json).\n\nConfig schema:\n```\nConfig = struct {\n    .show_hidden: bool = true,\n    .sort_dirs:   bool = true,\n    .show_images: bool = true,           -- Images are only supported in a terminal \n                                            supporting the `kitty image protocol`.\n    .preview_file: bool = true,\n    .empty_trash_on_exit: bool = false,  -- Emptying the trash permanently deletes \n                                            all files within the trash. These \n                                            files are not recoverable past this \n                                            point.\n    .true_dir_size: bool = false,        -- Display size of directory including \n                                            all its children. This can and will \n                                            cause lag on deeply nested directories.\n    .keybinds: Keybinds,\n    .styles: Styles\n}\n\nKeybinds = struct {\n    .toggle_hidden_files: ?Char = '.',\n    .delete: ?Char = 'D',\n    .rename: ?Char = 'R',\n    .create_dir: ?Char = 'd',\n    .create_file: ?Char = '%',\n    .fuzzy_find: ?Char = '/',\n    .change_dir: ?Char = 'c',\n    .enter_command_mode: ?Char = ':',\n    .jump_top: ?Char = 'g',\n    .jump_bottom: ?Char = 'G',\n    .toggle_verbose_file_information: ?Char = 'v',\n    .force_delete: ?Char = null                      -- Files deleted this way are \n                                                        not recoverable\n    .yank: ?Char = 'y'\n    .paste: ?Char = 'p'\n}\n\nNotificationStyles = struct {\n    .box: vaxis.Style,\n    .err: vaxis.Style,\n    .warn: vaxis.Style,\n    .info: vaxis.Style\n}\n\nStyles = struct {\n    .selected_list_item: Style,\n    .list_item: Style,\n    .file_name: Style,\n    .file_information: Style\n    .notification: NotificationStyles,\n    .git_branch: Style\n}\n\nStyle = struct {\n    .fg: Color,\n    .bg: Color,\n    .ul: Color,\n    .ul_style = .{\n        off,\n        single,\n        double,\n        curly,\n        dotted,\n        dashed\n    }\n    .bold: bool,\n    .dim: bool,\n    .italic: bool,\n    .blink: bool,\n    .reverse: bool,\n    .invisible: bool,\n    .strikethrough: bool\n}\n\nColor = enum{\n    default,\n    index: u8,\n    rgb: [3]u8\n}\n\nChar = enum(u21)\n```\n\n## Contributing\nContributions, issues, and feature requests are always welcome via\n[GitHub](https://github.com/brookjeynes/jido) or\n[tangled](https://tangled.sh/@brookjeynes.dev/jido).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrookJeynes%2Fjido","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBrookJeynes%2Fjido","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrookJeynes%2Fjido/lists"}