{"id":13582252,"url":"https://github.com/cgxeiji/scholar","last_synced_at":"2025-04-10T12:13:20.859Z","repository":{"id":53771056,"uuid":"154663167","full_name":"cgxeiji/scholar","owner":"cgxeiji","description":"Reference Manager in Go","archived":false,"fork":false,"pushed_at":"2021-03-15T06:05:10.000Z","size":560,"stargazers_count":62,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-07T21:11:21.572Z","etag":null,"topics":["biblatex","cli","go","golang","scholar"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/cgxeiji.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-25T11:58:19.000Z","updated_at":"2025-02-03T14:04:42.000Z","dependencies_parsed_at":"2022-09-26T20:53:16.348Z","dependency_job_id":null,"html_url":"https://github.com/cgxeiji/scholar","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgxeiji%2Fscholar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgxeiji%2Fscholar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgxeiji%2Fscholar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgxeiji%2Fscholar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cgxeiji","download_url":"https://codeload.github.com/cgxeiji/scholar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248217081,"owners_count":21066633,"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":["biblatex","cli","go","golang","scholar"],"created_at":"2024-08-01T15:02:32.096Z","updated_at":"2025-04-10T12:13:20.840Z","avatar_url":"https://github.com/cgxeiji.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Scholar: a CLI Reference Manager\n\nScholar is a terminal based reference manager written in Go, that helps you\nkeep track of your resources.  It uses YAML files to save the metadata. Entry\ntypes and fields are taken from the [BibLaTex\nformat](http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf).\nIt was inspired by [papis](https://github.com/papis/papis), a CLI reference\nmanager written in python.\n\n![Scholar\nDemo](https://github.com/cgxeiji/scholar/raw/master/img/scholar_demo.gif)\n\n## Features\n\nAdd any file using:\n```\n$ scholar add filename.ext\n```\n\nSpecify DOI or search for metadata on the web (currently only support for CrossRef):\n```\n$ scholar add filename.ext --doi=10.1007/978-94-011-6022-3_3\n\n$ scholar add general theory of relativity einstein 1992\n```\n\nUse multiple libraries for different types of entries:\n```\n$ scholar open einstein --library=research\n\n$ scholar add Harry Potter.epub --library=books\n```\n\nExport entries to BibLaTex by default:\n```\n$ scholar export \u003e references.bib\n\n$ scholar export --library=research \u003e research.bib\n```\n\nOr choose other formats:\n```\n$ scholar export --format=bibtex \u003e references.bib\n\n$ scholar export --format=ris \u003e references.bib\n```\n\nAnd much more:\n```\n$ scholar help\n\nScholar: a CLI Reference Manager\n\nScholar is a CLI reference manager that keeps track of\nyour documents metadata using YAML files with biblatex format.\n\nUsage:\n  scholar [flags]\n  scholar [command]\n\nAvailable Commands:\n  add         Add a new entry\n  config      Configure Scholar\n  edit        Edit an entry\n  export      Export entries\n  fetch       Prints the file path of the entry\n  help        Help about any command\n  import      Import a bibtex/biblatex file\n  open        Open an entry\n  remove      Remove an entry\n\nFlags:\n  -h, --help             help for scholar\n  -i, --interactive      toggle interactive mode (enabled by default)\n  -l, --library string   specify the library\n\nUse \"scholar [command] --help\" for more information about a command.\n```\n\n## Installation\n\nIf you do not have Go installed, follow this guide:\n\n- [The Go Programming Language: Getting Started](https://golang.org/doc/install)\n\nThen, run:\n```\ngo get -u github.com/cgxeiji/scholar\n```\n\nDone!\n\n## Interactive Mode\n\nBy default, Scholar will launch a selection screen when `edit`, `open`,\n`fetch`, or `remove` commands have a query with more than one entry.\n\nIf you want to use Scholar inside a script, you can disable interactive mode by\npassing the flag `-i`, or setting `interactive: false` in the configuration\nfile.\n\nWhen interactive mode is disabled, Scholar will return an `exit status 1` and\nthe number of entries found if there is more than one entry that matches the\nquery. Also, `remove` will delete the entry without confirmation.\n\n## TODO\n\n### General\n\n- [x] Add `-i` flag to enable/disable interactive mode.\n- [x] Add `interactive: true` settings in the configuration file.\n- [x] Make attached file path relative to entry, ~unless is an external file~.\n- [x] Be able to copy the file path to stdout.\n- [ ] Be able to reference a file instead of copying it.\n- [ ] Add support for attaching multiple files.\n\n### Add\n\n- [x] Add a flag for manual/auto input of metadata.\n- [x] Handle non-interactive mode for add.\n\n### Config\n\n- [ ] Add function to create a local configuration file.\n\n### Export\n\n- [x] Add different export formats.\n\n### Open\n\n- [ ] Add selection menu if multiple files are attached.\n- [ ] Open metadata if no file/url/DOI is attached.\n\n### Remove\n\n- [x] Add remove confirmation.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgxeiji%2Fscholar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcgxeiji%2Fscholar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgxeiji%2Fscholar/lists"}