{"id":13586847,"url":"https://github.com/jeremywrnr/booker","last_synced_at":"2025-10-29T18:31:44.902Z","repository":{"id":49172932,"uuid":"44067451","full_name":"jeremywrnr/booker","owner":"jeremywrnr","description":":bookmark: tab-complete chrome bookmarks","archived":false,"fork":false,"pushed_at":"2023-01-31T07:32:58.000Z","size":1385,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-05-14T00:02:58.150Z","etag":null,"topics":["autocompletion","bookmark","bookmarks","chrome","ruby","zsh"],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/booker","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeremywrnr.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-11T20:01:38.000Z","updated_at":"2023-03-06T09:14:22.000Z","dependencies_parsed_at":"2023-02-17T23:00:29.467Z","dependency_job_id":null,"html_url":"https://github.com/jeremywrnr/booker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremywrnr%2Fbooker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremywrnr%2Fbooker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremywrnr%2Fbooker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremywrnr%2Fbooker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeremywrnr","download_url":"https://codeload.github.com/jeremywrnr/booker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238874313,"owners_count":19545161,"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":["autocompletion","bookmark","bookmarks","chrome","ruby","zsh"],"created_at":"2024-08-01T15:05:51.354Z","updated_at":"2025-10-29T18:31:39.586Z","avatar_url":"https://github.com/jeremywrnr.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# :bookmark: booker\n\n[![Build Status](https://app.travis-ci.com/jeremywrnr/booker.svg)](https://app.travis-ci.com/jeremywrnr/booker)\n[![MIT](https://img.shields.io/npm/l/alt.svg?style=flat)](http://jeremywrnr.com/mit-license)\n\na CLI chrome bookmark parser, with tab completion.\n\n![Screencast](http://i.imgur.com/yydqb3m.gif)\n\n\n## setup\n\n    [sudo] gem install booker\n    booker --install\n\nAlternatively, the installation can be done incrementally:\n\n    booker -i comp # adding tab completion (ZSH only)\n    booker -i conf # generate default config (~/.booker.yml)\n    booker -i book # locating bookmarks file\n\n\n## :bookmark: `booker` usage\n\n##### bookmark completion\n\n    booker [your_search_term]\u003cTAB\u003e\n\n##### opening a website\n\n    booker github.com/jeremywrnr/booker\n\n##### using a search engine\n\n    booker how to use the internet\n\n\n## about\nThis is a tool that allows you to tab complete (in zsh only) google chrome (gc)\nbookmarks, and then open them in the browser of your choice. gc stores the\nusers bookmarks in a large json file locally, so this can be read/parsed by the\ntool, and combined with an autocompletion mechanism (i used a zsh script, in\ncompletion) to easily open your bookmarks from the command line.\n\nI was inspired by the `kill` autocompletion that ships with oh-my-zsh, where\nyou are shown a list of the current processes, and you can tab through to\nselect which one you'd like to kill. The completion actually is somewhat\ncomplex - if I search for 'System', it will only show processes whose name or\ngroup match against that, but it tab through these matches numeric process IDs,\nwhich is the argument that `kill` actually takes. I learned that zsh\nautocompletion has a large learning curve, despite the good amount of\ndocumentation out there on it.\n\n\n## config\nYou can also edit the `~/.booker.yml` config file manually.\nbooker will also try to determine which command should be used to open your\nbrowser based on your operating system, but you can also explicitly choose\nwhich command you want use, by adding the following:\n\n    :browser: 'your-browser-command '\n\n## development / testing\nThere are some tests in `/spec`. If you clone this repo you can run them with\n`rake`. There is also a Makefile to install the gem, so you can run `make` and\nthat will build the gem locally. To develop the zsh completion script, clone\nthis repo, and run this command in `/completion`:\n\n    make \u0026\u0026 unfunction _booker \u0026\u0026 autoload -U _booker\n\n\n## todos\n- parse all args, then if number open bookmark\n- tab completion for other shells (bash, fish)\n- support opening multiple bookmarks: 1 1 1\n- fix failure on link w/ parens\n- implement more rspec testing\n- support other browsers? (firefox, safari)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeremywrnr%2Fbooker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeremywrnr%2Fbooker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeremywrnr%2Fbooker/lists"}