πŸ““WB -- Software Engineers's lab workbook πŸ‘©πŸΌβ€πŸ”¬πŸ‘¨πŸ½β€πŸ”¬
Switch branches/tags
Nothing to show
Clone or download
JuanitoFatas Add Code of Conduct (#8)
- Change License to markdown
Latest commit b64fb81 Oct 24, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
exe
lib
spec
.gitignore
.rspec
.travis.yml
CHANGELOG.md
CODE_OF_CONDUCT.md
Gemfile
Gemfile.lock
LICENSE.md
README.md
Rakefile
wb.gemspec

README.md

WB -- Software Engineers's Workbook

Build Status

Background reading: Lab Notebooking for the Software Engineer:

  • Only append to the workbook
  • Keep automatic backups
  • 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:

# 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:

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 open

0: .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 ignore

wb config     Open wb config file

wb            Open global notebook based on {working_hours}
wb personal   Open global personal notebook
wb work       Open global work notebook

wb open       Open from all notes in {project.note_folder} and global notes
wb open NAME  Open note by NAME

wb 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