{"id":15685297,"url":"https://github.com/juanitofatas/wb","last_synced_at":"2025-05-07T18:09:16.276Z","repository":{"id":56897867,"uuid":"150083818","full_name":"JuanitoFatas/wb","owner":"JuanitoFatas","description":"📓WB -- Software Engineers's lab workbook 👩🏼‍🔬👨🏽‍🔬","archived":false,"fork":false,"pushed_at":"2019-02-10T15:07:28.000Z","size":25,"stargazers_count":9,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T18:04:59.338Z","etag":null,"topics":["developer","engineer","lab","notebook","productivity","ruby","software","tool","workbook"],"latest_commit_sha":null,"homepage":"https://github.com/JuanitoFatas/wb","language":"Ruby","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/JuanitoFatas.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-24T10:03:20.000Z","updated_at":"2024-08-30T07:37:37.000Z","dependencies_parsed_at":"2022-08-20T17:40:37.281Z","dependency_job_id":null,"html_url":"https://github.com/JuanitoFatas/wb","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanitoFatas%2Fwb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanitoFatas%2Fwb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanitoFatas%2Fwb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuanitoFatas%2Fwb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuanitoFatas","download_url":"https://codeload.github.com/JuanitoFatas/wb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252931555,"owners_count":21827112,"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":["developer","engineer","lab","notebook","productivity","ruby","software","tool","workbook"],"created_at":"2024-10-03T17:24:37.812Z","updated_at":"2025-05-07T18:09:16.212Z","avatar_url":"https://github.com/JuanitoFatas.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WB -- Software Engineers's Workbook\n\n[![Build Status](https://travis-ci.org/JuanitoFatas/wb.svg?branch=master)](https://travis-ci.org/JuanitoFatas/wb)\n\n[Background reading: Lab Notebooking for the Software Engineer](https://blog.nelhage.com/2010/06/lab-notebooking-for-the-software-engineer/):\n\n- Only append to the workbook\n- [Keep automatic backups](https://github.com/JuanitoFatas/wb/issues/1)\n- What to note?\n  - Measurement\n  - Non-trival search and found something\n  - Explicit design decision\n  - Whenever you wish you had written down\n\n## Installation\n\n    $ gem install wb\n\n## Usage\n\nSet `wb` up first:\n\n```\n$ wb setup # wb init + wb ignore\n```\n\nThis will create a config yaml at `~/.workbookrc`:\n\n```yaml\n# Auto generated by wb 1.0.0\nworkbook:\n  working_hours: \"9-17\"\n  personal: \"~/Dropbox/workbooks/personal.md\"\n  work: \"~/Dropbox/workbooks/work.md\"\n  project:\n    note_folder: \".note\"\n```\n\nand add following to `~/.gitignore_global`:\n\n```\n# ignore project notes by https://github.com/juanitofatas/wb\n/.note/\n```\n\nTo open a global workbook:\n\n```\nwb\n```\n\nThis will open workbook based on the working hour set in `~/.workbookrc`.\n\nInside working hour `wb` equals to:\n\n```\nwb work\n# opens \"~/Dropbox/workbooks/work.md\n```\n\nOutside working hour `wb` equals to:\n\n```\nwb personal\n# opens \"~/Dropbox/workbooks/personal.md\n```\n\nCreate a new workbook in the project you are working:\n\n```\nwb new\n```\n\nby default it creates a markdown workbook using today's date:\n\n```\n2018-09-24.md\n```\n\nThe date could be overrided in `~/.workbookrc`, either at `workbook` or `project` level:\n\nBased on [Ruby's `strftime`](https://ruby-doc.org/stdlib-2.5.1/libdoc/date/rdoc/DateTime.html#method-i-strftime):\n\n```\nworkbook:\n  date_format: %c\n```\n\n```\nworkbook:\n  project:\n    date_format: %D\n```\n\nThe extension could be overrided in `~/.workbookrc`, either at `workbook` or `project` level:\n\n```\nworkbook:\n  extension: rdoc\n```\n\n```\nworkbook:\n  project:\n    extension: txt\n```\n\nInvoking `wb new` again will use your editor `$EDITOR` to open the existing workbook.\n\nYou can also create a workbook with custom name under project by:\n\n```\n(on branch fix-nasty-bugs)\ngit rev-parse --abbrev-ref HEAD | xargs wb new\n\n# will create a new note named under {project.note_folder}:\n# 2018-09-24-fix-nasty-bugs.md\n```\n\nOpening local / global notebooks by:\n\n```\nwb open\n\n0: .note/2018-09-23.md\n1: .note/2018-09-24.md\n2: ~/Dropbox/workbooks/personal.md\n3: ~/Dropbox/workbooks/work.md\n```\n\nType in the notebook number you want to open.\n\nIf you remember the notebook name by heart, supply `NAME` to `wb open`:\n\n```\n# both works\nwb open .note/2018-09-23.md\nwb open 2018-09-23.md # opens .note/2018-09-23.md\nwb open personal.md # ~/Dropbox/workbooks/personal.md\n```\n\nFull documentation by `wb help`:\n\n```\nwb init       Initialize wb config yaml file\nwb ignore     Add {project.note_folder} to global gitignore\nwb setup      wb init + wb ignore\n\nwb config     Open wb config file\n\nwb            Open global notebook based on {working_hours}\nwb personal   Open global personal notebook\nwb work       Open global work notebook\n\nwb open       Open from all notes in {project.note_folder} and global notes\nwb open NAME  Open note by NAME\n\nwb new        Create/Open note of name {date_format}.{extension} under {project.note_folder}\nwb new NAME   Create note by {date_format}.NAME under {project.note_folder}\n```\n\nThank you for using `wb`.\n\nFeedback and improvement are welcome!\n\n## License, Contributor's Guidelines, Code of Conduct, and Credits\n\n- [MIT license](LICENSE.md)\n- [Moya Contributors Guidelines][moya] which TLDR: means we give out push access easily and often.\n- [Code of Conduct](CODE_OF_CONDUCT.md)\n- Notebook idea by [Nelson Elhage](https://blog.nelhage.com/about/)\n\n[moya]: https://github.com/Moya/contributors\n\n## Related\n\n- [Guidelines for Keeping a Laboratory Record](http://www.ruf.rice.edu/~bioslabs/tools/notebook/notebook.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuanitofatas%2Fwb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuanitofatas%2Fwb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuanitofatas%2Fwb/lists"}