Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/juanitofatas/wb
📓WB -- Software Engineers's lab workbook 👩🏼🔬👨🏽🔬
https://github.com/juanitofatas/wb
developer engineer lab notebook productivity ruby software tool workbook
Last synced: about 1 month ago
JSON representation
📓WB -- Software Engineers's lab workbook 👩🏼🔬👨🏽🔬
- Host: GitHub
- URL: https://github.com/juanitofatas/wb
- Owner: JuanitoFatas
- License: mit
- Created: 2018-09-24T10:03:20.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-10T15:07:28.000Z (almost 6 years ago)
- Last Synced: 2024-12-24T06:28:31.458Z (about 2 months ago)
- Topics: developer, engineer, lab, notebook, productivity, ruby, software, tool, workbook
- Language: Ruby
- Homepage: https://github.com/JuanitoFatas/wb
- Size: 24.4 KB
- Stars: 9
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# WB -- Software Engineers's Workbook
[![Build Status](https://travis-ci.org/JuanitoFatas/wb.svg?branch=master)](https://travis-ci.org/JuanitoFatas/wb)
[Background reading: Lab Notebooking for the Software Engineer](https://blog.nelhage.com/2010/06/lab-notebooking-for-the-software-engineer/):
- Only append to the workbook
- [Keep automatic backups](https://github.com/JuanitoFatas/wb/issues/1)
- What to note?
- Measurement
- Non-trival search and found something
- Explicit design decision
- Whenever you wish you had written down## Installation
$ gem install wb
## Usage
Set `wb` up first:
```
$ wb setup # wb init + wb ignore
```This will create a config yaml at `~/.workbookrc`:
```yaml
# Auto generated by wb 1.0.0
workbook:
working_hours: "9-17"
personal: "~/Dropbox/workbooks/personal.md"
work: "~/Dropbox/workbooks/work.md"
project:
note_folder: ".note"
```and add following to `~/.gitignore_global`:
```
# ignore project notes by https://github.com/juanitofatas/wb
/.note/
```To open a global workbook:
```
wb
```This will open workbook based on the working hour set in `~/.workbookrc`.
Inside working hour `wb` equals to:
```
wb work
# opens "~/Dropbox/workbooks/work.md
```Outside working hour `wb` equals to:
```
wb personal
# opens "~/Dropbox/workbooks/personal.md
```Create a new workbook in the project you are working:
```
wb new
```by default it creates a markdown workbook using today's date:
```
2018-09-24.md
```The date could be overrided in `~/.workbookrc`, either at `workbook` or `project` level:
Based on [Ruby's `strftime`](https://ruby-doc.org/stdlib-2.5.1/libdoc/date/rdoc/DateTime.html#method-i-strftime):
```
workbook:
date_format: %c
``````
workbook:
project:
date_format: %D
```The extension could be overrided in `~/.workbookrc`, either at `workbook` or `project` level:
```
workbook:
extension: rdoc
``````
workbook:
project:
extension: txt
```Invoking `wb new` again will use your editor `$EDITOR` to open the existing workbook.
You can also create a workbook with custom name under project by:
```
(on branch fix-nasty-bugs)
git rev-parse --abbrev-ref HEAD | xargs wb new# will create a new note named under {project.note_folder}:
# 2018-09-24-fix-nasty-bugs.md
```Opening local / global notebooks by:
```
wb open0: .note/2018-09-23.md
1: .note/2018-09-24.md
2: ~/Dropbox/workbooks/personal.md
3: ~/Dropbox/workbooks/work.md
```Type in the notebook number you want to open.
If you remember the notebook name by heart, supply `NAME` to `wb open`:
```
# both works
wb open .note/2018-09-23.md
wb open 2018-09-23.md # opens .note/2018-09-23.md
wb open personal.md # ~/Dropbox/workbooks/personal.md
```Full documentation by `wb help`:
```
wb init Initialize wb config yaml file
wb ignore Add {project.note_folder} to global gitignore
wb setup wb init + wb ignorewb config Open wb config file
wb Open global notebook based on {working_hours}
wb personal Open global personal notebook
wb work Open global work notebookwb open Open from all notes in {project.note_folder} and global notes
wb open NAME Open note by NAMEwb new Create/Open note of name {date_format}.{extension} under {project.note_folder}
wb new NAME Create note by {date_format}.NAME under {project.note_folder}
```Thank you for using `wb`.
Feedback and improvement are welcome!
## License, Contributor's Guidelines, Code of Conduct, and Credits
- [MIT license](LICENSE.md)
- [Moya Contributors Guidelines][moya] which TLDR: means we give out push access easily and often.
- [Code of Conduct](CODE_OF_CONDUCT.md)
- Notebook idea by [Nelson Elhage](https://blog.nelhage.com/about/)[moya]: https://github.com/Moya/contributors
## Related
- [Guidelines for Keeping a Laboratory Record](http://www.ruf.rice.edu/~bioslabs/tools/notebook/notebook.html)