0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

マークダウンのメモに書いた日付(4/20)に自動で曜日(4/20(月))を付けるツールを作った

0
Posted at

マークダウンのメモに書いた日付(4/20)に自動で曜日(4/20(月))を付けるツールを作った

add-weekday とは

add-weekday は、マークダウンや議事録のテキストに含まれる日付に自動で曜日を付与するブラウザ完結ツール兼ゼロ依存 JavaScript ライブラリです。4/20 のような日付表記を貼り付けるだけで 4/20(月) に変換します。インストール不要、npm パッケージなし、script タグ 1 つで動きます。

公式サイト: https://add-weekday.com/
リポジトリ: https://github.com/zohiro00/add-weekday

add-weekday トップページ

作った動機

議事録やタスクリストをマークダウンで書いていると、こんなメモになりがちです。

## 来週の予定
- キックオフ: 4/22
- レビュー: 4/24
- リリース判定: 5/1

書いている本人は「4/22 って何曜日だっけ?」と毎回カレンダーを開いて確認していました。読み手にとっても、日付だけでは曜日感覚がつかめません。週明けなのか週末なのかで、タスクの重みは大きく変わります。

そこで、日付の隣に曜日が自動で入っていれば全部解決するのでは? と思い、テキストを貼り付けるだけで曜日を付与するツールを作りました。

デモ: Before / After

ブラウザで https://add-weekday.com/engine を開き、テキストを貼り付けるだけです。

add-weekday エンジン画面 — 左ペインに入力、右ペインに曜日付きの出力が即時反映される

左ペインにテキストを貼り付けると、右ペインに曜日付きのテキストが即時反映されます。ステータスバーには「12 dates detected」のように検出件数が表示されるので、変換漏れも一目で確認できます。

Before:

- キックオフ: 4/22
- レビュー: 4/28
- プロトタイプ提出: 5/8
- ステークホルダーデモ: 5/15
- 本番リリース: 2026/6/30

After:

- キックオフ: 4/22(水)
- レビュー: 4/28(火)
- プロトタイプ提出: 5/8(金)
- ステークホルダーデモ: 5/15(金)
- 本番リリース: 2026/6/30(火)

すべてブラウザ内で処理されるため、テキストがサーバーに送信されることはありません。社内議事録など機密性の高いテキストでも安心して使えます。

ライブラリとしての使い方

<script> タグ 1 つ読み込むだけで、グローバルに addWeekday 関数が生えます。

<script src="https://add-weekday.com/addWeekday.js"></script>
<script>
  const result = addWeekday("4/20 打ち合わせ\n5/1 リリース");
  console.log(result); // "4/20(月) 打ち合わせ\n5/1(木) リリース"
</script>

Node.js から使う場合は require() でも読み込めます。依存パッケージはゼロなので、node_modules を汚しません。

const addWeekday = require("./addWeekday.js");
console.log(addWeekday("4/20 打ち合わせ"));

主なオプション

第 2 引数にオプションオブジェクトを渡せます。

オプション 説明
format paren-ja / paren-en / bracket 出力フォーマット。(月) / (Mon) / [月]
yearMode current / next / nearest 年が省略された日付をどの年として扱うか
overwrite true / false 既に曜日が付いている場合に上書きするか

エンジン画面の左パネル(SETTINGS)からこれらのオプションを GUI で切り替えることもできます。

例えば英語表記にしたい場合:

addWeekday("4/20 meeting", { format: "paren-en" });
// "4/20(Mon) meeting"

yearMode: "nearest" を指定すると、現在日付に最も近い年で曜日を計算します。年度をまたぐ計画表に便利です。

対応フォーマット

代表的な入力パターンの挙動です。

入力 出力 補足
4/20 4/20(月) 年は現在年で計算
2024/04/20 2024/04/20(土) 年付きはその年で計算
4/20(月) 4/20(月) 既に曜日付きの場合は変更なし
2024-04-20 2024-04-20(土) ハイフン区切りも対応

既に曜日が入っているテキストは触らないので、部分的に手動で書いた議事録に対して安全に実行できます。

ゼロ依存・MIT ライセンス

  • ゼロ依存: package.jsondependencies は空です。addWeekday.js 1 ファイルで完結します
  • インストール不要: npm install は不要。<script> タグ 1 つで動きます
  • Node.js 互換: ブラウザだけでなく Node.js の require() でも読み込めます
  • MIT ライセンス: 社内ツールや商用プロダクトに自由に組み込めます

ソースコードは GitHub で公開しています。
https://github.com/zohiro00/add-weekday

まとめ

マークダウンの議事録やタスクリストで「日付に毎回曜日を書くのが面倒」という小さな手間を、ブラウザに貼り付けるだけで解決するツールを作りました。

「曜日が入っているだけでこんなに読みやすくなるのか」というのが、自分で使ってみての一番の発見でした。よかったら試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?