Project

mdlogbook

0.0
No release in over 3 years
mdlogbook (mlb) parses Markdown-formatted work logs and displays aggregated work hours as a list or calendar view. Supports flexible period specifiers for month, week, and day ranges.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 0.0.5
 Project Readme

Mdlogbook

Markdownで書いた作業記録から勤務時間を集計し、一覧・カレンダー・グラフ・抽出・匿名化形式で表示するCLIツールです。

できること

  • Markdownで書いた日々の作業記録を集計する
  • 一覧形式・カレンダー形式・折れ線グラフ・グリッド・ヒートマップで表示する
  • 当月・過去の月・週・直近N日・四半期・年など、さまざまな期間を指定して確認する
  • プロジェクトごとに設定を切り替えて集計する
  • 記録ファイルをエディタで開いて追記する
  • AI向けに生のMarkdown抽出・匿名化出力・匿名化辞書出力を行う

より詳しい説明は使い方ガイドを参照してください。

入力形式

入力ファイルは、日付、作業名、時間帯付きの記録をMarkdownで並べた形式です。

# 2026-03-01
## 開発
* 09:30-12:00 (2.50)
* 13:00-18:00 (5.00)

# 2026-03-02
## 会議
* 10:00-11:30 (1.50)
## 開発
* 13:00-19:00 (6.00)
  • # YYYY-MM-DDで日付を表す
  • ## ...で作業区分や案件名を表す
  • * HH:MM-HH:MM (x.xx)で作業時間帯と記録時間を表す

記録時間(かっこ内の値)と時刻から計算した差分が一致しない場合、--simple/--calendarでは警告がstderrに表示されます。日をまたぐ時間帯は23:30-24:30のように24:xxで記述します。23:30-00:30も1時間として集計されますが、非推奨の書き方として警告されます。

基本的な使い方

インストール

gem install mdlogbook

最初に設定ファイルを作成する

mlb --init

日々の記録を確認する

作業後にターミナルでmlbを実行すると、当月のログファイルを自動的に選択して集計します。

mlb          # 今月を一覧表示
mlb -c       # 今月をカレンダー表示
  • 一覧形式(デフォルト): 日付・時間帯・作業名を1行ずつ表示し、月の合計と達成率を表示
  • カレンダー形式: 日ごとの合計時間を月間カレンダーで表示し、週・曜日の集計も表示

ログファイルを編集する

mlb -e       # 当月ファイルをエディタで開く(当日の行にカーソルを移動)

使用するエディタを設定しておく必要があります。

詳細は使い方ガイド・エディタの設定を参照してください。

過去の記録を参照する

mlb m1            # 先月
mlb 2026/1        # 2026年1月
mlb 2026/1 2026/3 # 2026年1〜3月を月別表示
mlb w..1          # 今週+先週
mlb D30           # 直近30日間

指定方法の詳細は使い方ガイド・対象期間の指定にまとめています。

詳しい使い方

詳しいセットアップ、設定ファイル、期間指定、出力オプション、シェルコンプリーションは使い方ガイドを参照してください。

開発

依存関係のセットアップ:

bin/setup

テストとスタイルチェック:

bundle exec rake test
bundle exec rubocop
bundle exec rake