{"id":13746968,"url":"https://github.com/jccguimaraes/atom-project-viewer","last_synced_at":"2025-05-09T08:30:58.102Z","repository":{"id":82954037,"uuid":"44448826","full_name":"jccguimaraes/atom-project-viewer","owner":"jccguimaraes","description":"Project Viewer - An Atom's package","archived":true,"fork":false,"pushed_at":"2019-08-07T10:36:55.000Z","size":1736,"stargazers_count":75,"open_issues_count":18,"forks_count":18,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-05-22T21:35:05.049Z","etag":null,"topics":["apm","atom","project-management"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/jccguimaraes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-10-17T18:16:11.000Z","updated_at":"2024-02-21T15:07:12.000Z","dependencies_parsed_at":"2024-01-13T01:43:54.126Z","dependency_job_id":null,"html_url":"https://github.com/jccguimaraes/atom-project-viewer","commit_stats":null,"previous_names":[],"tags_count":111,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jccguimaraes%2Fatom-project-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jccguimaraes%2Fatom-project-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jccguimaraes%2Fatom-project-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jccguimaraes%2Fatom-project-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jccguimaraes","download_url":"https://codeload.github.com/jccguimaraes/atom-project-viewer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224842555,"owners_count":17378990,"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":["apm","atom","project-management"],"created_at":"2024-08-03T06:01:08.486Z","updated_at":"2024-11-15T20:30:51.808Z","avatar_url":"https://github.com/jccguimaraes.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# README\n\n[![Join the chat at https://gitter.im/jccguimaraes/atom-project-viewer](http://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg?style=flat-square)](https://gitter.im/jccguimaraes/atom-project-viewer?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![All Contributors](https://img.shields.io/badge/all_contributors-16-orange.svg?style=flat-square)](#contributors)\n\n[![atom version](https://img.shields.io/badge/atom-1.18.0-orange.svg?style=flat-square)](https://atom.io/packages/project-viewer/)\n[![apm version](https://img.shields.io/apm/v/project-viewer.svg?style=flat-square)](https://atom.io/packages/project-viewer/)\n[![apm downloads](https://img.shields.io/apm/dm/project-viewer.svg?style=flat-square)](https://atom.io/packages/project-viewer/)\n\n[![Travis CI CI](https://travis-ci.org/jccguimaraes/atom-project-viewer.svg?branch=master)](https://travis-ci.org/jccguimaraes/atom-project-viewer)\n[![AppVeyor CI](https://ci.appveyor.com/api/projects/status/2t91cemmpf635p2e?svg=true\n)](https://ci.appveyor.com/project/jccguimaraes/atom-project-viewer)\n[![CircleCI CI](https://circleci.com/gh/jccguimaraes/atom-project-viewer/tree/master.svg?style=shield\u0026circle-token=c2215983920e08d193a80b5775760792c5d2e883\n)](https://circleci.com/gh/jccguimaraes/atom-project-viewer)\n\n## Table Of Contents\n\n* [Introduction](#introduction)\n* [Installation](#installation)\n* [Features](#features)\n* [Shortcuts](#shortcuts)\n* [Settings](#settings)\n* [Local File manipulation](#local-file-manipulation)\n  * [Group Schema](#group-schema)\n  * [Project Schema](#project-schema)\n* [Contributors](#contributors)\n* [Contacts](#contacts)\n* [A Special Thank You!](#a-special-thank-you)\n\n## Introduction\n\nThis is a package built for and by the Atom community. For contribution read [below](#contributors).\n\nThis package has grown so much over the last year that I felt the need to make it more stable and community friendly. And this required a more deep refactor with lots of new ideas and improvements, also huge amount of :heart: and :sweat_drops:.\n\nSo here it is! **Enjoy and contribute!** :earth_africa:\n\n\u003e Please keep in mind that after **Atom `1.17.0`** some functionalities changed, and implementations of this package are still being tested for stability.\n\n## Installation\n\nIn a terminal / command line write the following line `apm install project-viewer`.\n\nOr just find the package by accessing the menu **Atom → Preferences... → Install** and search for ***project-viewer***.\n\n## Features\n\n- Group nesting;\n  - \u003e Infinite nesting of `groups` which can contain also `projects`;\n  - \u003e `projects` can be at any level.\n- Sidebar Left / Right (first or last) position;\n- Auto hide sidebar with hover behavior;\n- Resizable panel;\n  - \u003e *Double click* to default width;\n- Hide header for more space;\n  - \u003e This is available through a config option, default is *not autohide*.\n- Focus toggle;\n  - \u003e Toggling focus will switch between current active element and the panel.\n- `SelectListView` integration;\n  - \u003e Only shows `projects`.\n- Traverse and select `projects` with `up` and `down` keys;\n- Toggle collapse / expand of `groups` with `left` and `right` keys;\n- `status-bar` with the `project`'s' *breadcrumb* path;\n- Drag \u0026 Drop `groups` and `projects`;\n  - Drag and drop a `group` or `project` into a `group` will add it as a child;\n  - Drag and drop a `group` or `project` into an `project` will add it as sibling of the dropped item;\n  - Drag and drop a `group` or `project` into a clear space in the panel will add it as a root child;\n  - Order dragged `group` / `project` accordingly with dropped `group` sorting.\n- Open the local database file for direct editing;\n- Old database schemas conversion tools;\n- Backup services (**GitHub's *private* gist**);\n- Editor for `groups` / `projects` creation and update;\n  - Create, update and remove `group` or `project`;\n  - Automatic set it's name according to first path base name added;\n  - Batch operation on a `project` creation;\n    - \u003e Ability to create individual `projects` when more than one path is provided;\n    - \u003e Each project will automatically have it's name set to it's path base name.\n  - Filtering icons;\n  - List of icons in editor as *only icons* or *icon and description*;\n    - \u003e This is available through a config option, default is *icon and description*.\n  - Sort children `groups` / `projects`.\n    - \u003e Sorting root `groups` / `projects` is done through a config option.\n- Context menu for delete, update and create new `group` or `project`;\n  - \u003e Create option is only available in `groups` or the `root`.\n- Show the given path in a file manager. (in `finder` or `explorer`'s alike');\n- Empty `groups` and / or `projects` list message;\n- Custom colors for `groups` and `projects`;\n- Custom colors for main title, for hovering on a `project` and for selected `project`;\n- Option to open a `project` in a new window or vice versa;\n  - \u003e This is available through a config option which will switch between what is the primary option, defaults to open in *same window*;\n  - \u003e Context menu switching also available.\n- Elevate current opened folders in `tree-view` to a `project`;\n- `Add Project Folder` and `Remove Project Folder` will update current selected project as well;\n- Keep context when switching from `projects`.\n  - \u003e This is available through a config option, default is *switch contexts*.\n\n## Shortcuts\n\n- `shift-ctrl-alt-c` toggles sidebar autohide;\n- `shift-ctrl-alt-v` toggles sidebar visibility;\n- `shift-ctrl-alt-n` open the editor tab;\n- `shift-ctrl-alt-m` toggle focus from active panel and the sidebar;\n- `shift-ctrl-alt-l` toggle the select list modal;\n\n## Settings\n\nSettings | Type | Description | Default\n---------|------|-------------|--------\n`visibilityOption` | `String` | Define what would be the default action for **project-viewer** visibility on startup. | `Display on startup`\n`visibilityActive` | `Boolean` | Relative to the interaction option selected above. | `true`\n`panelPosition` | `String` | Position the panel to the left or right of the main pane. | `Right`\n`autoHide` | `Boolean` | Panel has auto hide with hover behavior. | `false`\n`hideHeader` | `Boolean` | You can have more space for the list by hiding the header. | `false`\n`keepContext` | `Boolean` | When switching from items, if set to `true`, will keep current context. Also will not save contexts between switching. | `false`\n`openNewWindow` | `Boolean` | Always open items in a new window. | `false`\n`statusBar` | `Boolean` | Will show the breadcrumb to the current opened project in the `status-bar`. | `false`\n`customWidth` | `Integer` | Define a custom width for the panel.\u003cbr\u003e*double clicking* on the resizer will reset the width | 200\n`customHotZone` | `Integer` | Cursor movement within this width will make a hidden panel appear | 20\n`rootSortBy` | `Array` | Sets the root sort by. | `position`\n`onlyIcons` | `Boolean` | Will show only the icons in the icon\\'s list | `true`\n`customPalette` | `String` | Custom palette to use on editor | `#F1E4E8, #F7B05B, #595959, #CD5334, #EDB88B, #23282E, #263655, #F75468, #FF808F, #FFDB80, #292E1E, #248232, #2BA84A, #D8DAD3, #FCFFFC, #8EA604, #F5BB00, #EC9F05, #FF5722, #BF3100`\n`customSelectedColor` | `String` | Set custom selected project color | `''`\n`customHoverColor` | `String` | Set custom hover project color | `''`\n`customTitleColor` | `String` | Set custom main title color | `''`\n`packagesReload` | `String` | List of packages to reload | `status-bar, linter, linter-ui-default`\n`disclaimer` | `Object` | Show release notes on startup | `true`\n\n\u003e Keep in mind that this package uses Atom's Storage to save all groups and projects. It is wise to save it to the cloud (ex: you can import and export a private Gist through this package!).\n\n## Local File manipulation\n\nChange it at your own risk! :speak_no_evil:\n\n### Group Schema\n\nParameter | Type | Description | Default | Required\n----------|------|-------------|---------|---------\n`type` | `String` | The type of the model | `group` | `true`\n`name` | `String` | The name of the project | In theory... any string / emoji | `true`\n`sortBy` | `String` | Sorting of the nested `groups` and `projects` | Possible options are `position`, `reserve-position`, `alphabetically` and `reverse-alphabetically` | `true`\n`icon` | `String` | Custom icon `octicons` or `devicons` | `''` | `false`\n`color` | `String` | Custom color | `''` | `false`\n`expanded` | `Boolean` | `group` is collapsed or expanded | `false` | `true`\n`list` | `Array` | An array of models (`group` or `project` | `[]` | `true`\n\n### Project Schema\n\nParameter | Type | Description | Default | Required\n----------|------|-------------|---------|---------\n`type` | `String` | The type of the model | `project` | `true`\n`name` | `String` | The name of the project | In theory... any strj g / emoji | `true`\n`icon` | `String` | Custom icon `octicons` or `devicons` | `''` | `false`\n`color` | `String` | Custom color | `''` | `false`\n`devMode` | `Boolean` | *Not working for now* | `false` | `false`\n`config` | `Object` | *Not working for now* | `{}` | `false`\n`paths` | `Array` | An array of the root files beloging to the project | `[]` | `true`\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n| [\u003cimg src=\"https://avatars.githubusercontent.com/u/14871650?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eJoão Guimarães\u003c/sub\u003e](https://github.com/jccguimaraes)\u003cbr /\u003e💬 [🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Ajccguimaraes) [💻](https://github.com/jccguimaraes/atom-project-viewer/commits?author=jccguimaraes) 🎨 [📖](https://github.com/jccguimaraes/atom-project-viewer/commits?author=jccguimaraes) 👀 | [\u003cimg src=\"https://avatars.githubusercontent.com/u/1093709?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eHans Koch\u003c/sub\u003e](https://github.com/Hammster)\u003cbr /\u003e[💻](https://github.com/jccguimaraes/atom-project-viewer/commits?author=Hammster) | [\u003cimg src=\"https://avatars.githubusercontent.com/u/4084322?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eHolland Wilson\u003c/sub\u003e](https://github.com/DamnedScholar)\u003cbr /\u003e[💻](https://github.com/jccguimaraes/atom-project-viewer/commits?author=DamnedScholar) | [\u003cimg src=\"https://avatars.githubusercontent.com/u/7261682?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eRoman Huba\u003c/sub\u003e](https://github.com/amilor)\u003cbr /\u003e[💻](https://github.com/jccguimaraes/atom-project-viewer/commits?author=amilor) | [\u003cimg src=\"https://avatars.githubusercontent.com/u/10619585?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eLoann Neveu\u003c/sub\u003e](https://github.com/lneveu)\u003cbr /\u003e[💻](https://github.com/jccguimaraes/atom-project-viewer/commits?author=lneveu) [🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Alneveu) | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/12634286?v=3\u0026s=460\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eKristian Barrese\u003c/sub\u003e](https://github.com/bitkris-dev)\u003cbr /\u003e🎨 [🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Abitkris-dev) | [\u003cimg src=\"https://avatars.githubusercontent.com/u/2183606?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eNicole\u003c/sub\u003e](https://github.com/girlandhercode)\u003cbr /\u003e[🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Agirlandhercode) |\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n| [\u003cimg src=\"https://avatars.githubusercontent.com/u/405912?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eDamon Cook\u003c/sub\u003e](http://www.damonacook.com)\u003cbr /\u003e[🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Acolorful-tones) | [\u003cimg src=\"https://avatars.githubusercontent.com/u/12414689?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eZach Hudock\u003c/sub\u003e](https://github.com/zhudock)\u003cbr /\u003e[🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Azhudock) | [\u003cimg src=\"https://avatars.githubusercontent.com/u/5192692?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eFilip Paço\u003c/sub\u003e](https://github.com/CKLFP)\u003cbr /\u003e[🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3ACKLFP) | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/16349203?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eStephen Last\u003c/sub\u003e](https://github.com/stephen-last)\u003cbr /\u003e[🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Astephen-last) | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/647452?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eJonathan\u003c/sub\u003e](https://github.com/GreenGremlin)\u003cbr /\u003e[🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3AGreenGremlin) | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/434470?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e◬\u003c/sub\u003e](http://skratchdot.com/)\u003cbr /\u003e[🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Askratchdot) | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/14264874?v=3\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eErik G.\u003c/sub\u003e](https://github.com/erikgeiser)\u003cbr /\u003e[💻](https://github.com/jccguimaraes/atom-project-viewer/commits?author=erikgeiser) |\n| [\u003cimg src=\"https://avatars2.githubusercontent.com/u/3426685?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003enetizen\u003c/sub\u003e](https://github.com/rgawenda)\u003cbr /\u003e[💻](https://github.com/jccguimaraes/atom-project-viewer/commits?author=rgawenda) | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/14030524?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003eMarkus M. Deuerlein\u003c/sub\u003e](https://entidia.de)\u003cbr /\u003e[🐛](https://github.com/jccguimaraes/atom-project-viewer/issues?q=author%3Amdeuerlein) [💻](https://github.com/jccguimaraes/atom-project-viewer/commits?author=mdeuerlein) |\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!\n\n\u003e If you feel you were left out, just shout!\n\n## Contacts\n\nYou can follow me on [Twitter](https://twitter.com/jccguimaraes)\n\n## A Special Thank You!\n\nI thank you all for giving such great feedback! :beers: \u0026 :bear: for everyone.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjccguimaraes%2Fatom-project-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjccguimaraes%2Fatom-project-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjccguimaraes%2Fatom-project-viewer/lists"}