images-convert 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +29 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +15 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +25 -0
- data/.github/workflows/ci.yml +79 -0
- data/.github/workflows/release.yml +122 -0
- data/.gitignore +14 -0
- data/CHANGELOG.md +146 -0
- data/Gemfile +9 -0
- data/LICENSE +41 -0
- data/README.md +378 -0
- data/RELEASE_NOTES_v0.2.12.md +66 -0
- data/RELEASE_NOTES_v0.2.3.md +19 -0
- data/RELEASE_NOTES_v0.3.0.md +66 -0
- data/RELEASE_NOTES_v0.4.0.md +14 -0
- data/RELEASE_NOTES_v0.4.1.md +13 -0
- data/Rakefile +13 -0
- data/bin/images-convert +8 -0
- data/bin/imgconv +8 -0
- data/images-convert.gemspec +39 -0
- data/lib/images_convert/cleanup.rb +31 -0
- data/lib/images_convert/configuration.rb +303 -0
- data/lib/images_convert/mini_magick_stub.rb +121 -0
- data/lib/images_convert/version.rb +5 -0
- data/lib/images_convert/waifu2x_test_stub.rb +93 -0
- data/lib/images_convert.rb +1557 -0
- data/lib/rubygems_plugin.rb +34 -0
- data/lib/waifu2x/downloader.rb +89 -0
- data/lib/waifu2x/pdf_builder.rb +105 -0
- data/lib/waifu2x/processor.rb +301 -0
- data/lib/waifu2x/setup.rb +127 -0
- data/lib/waifu2x/version.rb +5 -0
- data/lib/waifu2x.rb +221 -0
- data/test/images/autumn.jpg +0 -0
- data/test/images/spring.jpg +0 -0
- data/test/images/summer.jpg +0 -0
- data/test/images/winter.jpg +0 -0
- data/test/support/waifu2x_test_stub.rb +91 -0
- data/test/test_config.rb +143 -0
- data/test/test_fixtures.rb +144 -0
- data/test/test_formats.rb +213 -0
- data/test/test_help.rb +33 -0
- data/test/test_helper.rb +17 -0
- data/test/test_helper_mini_magick_stub.rb +4 -0
- data/test/test_selection.rb +142 -0
- data/test/test_version.rb +16 -0
- data/test/test_waifu2x.rb +81 -0
- metadata +179 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5b4b4c07418b5c555846a61073d9983c46e7dd08dd37dac30eabf65c39ff6b99
|
4
|
+
data.tar.gz: 2f3a4c7eabb9e4f3ae538a8a6215b9c4fabcfb11cbd0ca53aa0d60dc1ab9d1b1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4845e03ec10d7663e26a486b548f8325a9b3e5daf975d9581107751698b3637e284b55f2f72c9d95921fbcf5e46e23ff1514eace84f989bb2a24eac71ff6383b
|
7
|
+
data.tar.gz: a8b357b5281848416b5fd164928fe13048b6a57750fc6772f5104dddc5af91bdc69357f3ef51fc6d4ef436b3dbcd310d99850dc331239fff9f8e15e9a1937dad
|
@@ -0,0 +1,29 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
labels: bug
|
5
|
+
---
|
6
|
+
|
7
|
+
## 概要
|
8
|
+
バグの簡単な説明
|
9
|
+
|
10
|
+
## 再現手順
|
11
|
+
1. 実行したコマンド:
|
12
|
+
```bash
|
13
|
+
# 例
|
14
|
+
images-convert convert 1000 --delete
|
15
|
+
```
|
16
|
+
2. 期待した挙動:
|
17
|
+
3. 実際の挙動:
|
18
|
+
|
19
|
+
## 環境情報
|
20
|
+
- OS / バージョン:
|
21
|
+
- Ruby バージョン (`ruby -v`):
|
22
|
+
- Gem バージョン (`images-convert -v`):
|
23
|
+
- ImageMagick バージョン (`magick -version` or `convert -version`):
|
24
|
+
|
25
|
+
## ログ / スクリーンショット
|
26
|
+
可能であれば貼り付けてください
|
27
|
+
|
28
|
+
## 追加情報
|
29
|
+
任意で、原因の推測や回避策などがあれば記載してください
|
@@ -0,0 +1,25 @@
|
|
1
|
+
## 概要
|
2
|
+
このPRの目的・背景
|
3
|
+
|
4
|
+
## 変更点
|
5
|
+
- 主要な変更を箇条書きで
|
6
|
+
|
7
|
+
## 動作確認
|
8
|
+
- 実行したコマンドや手順:
|
9
|
+
```bash
|
10
|
+
images-convert --help
|
11
|
+
images-convert convert sample.jpg output_dir/
|
12
|
+
```
|
13
|
+
- 期待どおり動作したことを確認
|
14
|
+
|
15
|
+
## 影響範囲
|
16
|
+
- 互換性への影響(破壊的変更の有無)
|
17
|
+
- パフォーマンス/セキュリティへの影響
|
18
|
+
|
19
|
+
## 関連Issue
|
20
|
+
- Close #123
|
21
|
+
|
22
|
+
## チェックリスト
|
23
|
+
- [ ] ドキュメント更新(README/CHANGELOG)
|
24
|
+
- [ ] テスト/ドライランでの動作確認
|
25
|
+
- [ ] 互換性・マイグレーションの確認
|
@@ -0,0 +1,79 @@
|
|
1
|
+
name: CI
|
2
|
+
# CI パイプライン。master ブランチやタグ push、PR 時にテストを実行する。
|
3
|
+
|
4
|
+
on:
|
5
|
+
push:
|
6
|
+
branches: [ master ]
|
7
|
+
tags: [ "v*" ]
|
8
|
+
pull_request:
|
9
|
+
branches: [ master ]
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
build:
|
13
|
+
# Ubuntu 最新版で Ruby 3.3 を使ったジョブを実行
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
strategy:
|
16
|
+
matrix:
|
17
|
+
ruby: [ '3.3' ]
|
18
|
+
|
19
|
+
steps:
|
20
|
+
- name: Checkout
|
21
|
+
uses: actions/checkout@v4
|
22
|
+
# リポジトリを取得
|
23
|
+
|
24
|
+
- name: Set up Ruby
|
25
|
+
uses: ruby/setup-ruby@v1
|
26
|
+
with:
|
27
|
+
ruby-version: ${{ matrix.ruby }}
|
28
|
+
bundler-cache: true
|
29
|
+
# Ruby と Bundler のセットアップ(キャッシュ利用)
|
30
|
+
|
31
|
+
- name: Install ImageMagick
|
32
|
+
run: |
|
33
|
+
sudo apt-get update
|
34
|
+
sudo apt-get install -y imagemagick
|
35
|
+
# MiniMagick が利用する ImageMagick をインストール
|
36
|
+
|
37
|
+
- name: Install dependencies
|
38
|
+
run: |
|
39
|
+
bundle install --jobs 4 --retry 3
|
40
|
+
# Gem 依存関係をインストール
|
41
|
+
|
42
|
+
- name: Run test suite
|
43
|
+
env:
|
44
|
+
IMGCONV_TEST_FAKE_MINIMAGICK: "1"
|
45
|
+
run: |
|
46
|
+
bundle exec rake test
|
47
|
+
# IMGCONV_TEST_FAKE_MINIMAGICK を有効化してテストスイートを実行
|
48
|
+
|
49
|
+
- name: Basic CLI smoke tests
|
50
|
+
run: |
|
51
|
+
# Show version
|
52
|
+
ruby -v
|
53
|
+
./bin/images-convert --version
|
54
|
+
# Show config (this will create default config file in CI)
|
55
|
+
./bin/images-convert config
|
56
|
+
# 簡易 CLI 動作確認(バージョン表示・設定表示)
|
57
|
+
|
58
|
+
- name: Check README links (badges)
|
59
|
+
run: |
|
60
|
+
grep -q "shields.io/gem/v/images-convert" README.md
|
61
|
+
grep -q "images-convert/actions/workflows/ci.yml/badge.svg" README.md
|
62
|
+
# README のバッジ URL が更新されているか確認
|
63
|
+
|
64
|
+
- name: Verify tag metadata
|
65
|
+
if: startsWith(github.ref, 'refs/tags/')
|
66
|
+
run: |
|
67
|
+
set -euo pipefail
|
68
|
+
TAG="${GITHUB_REF_NAME#v}"
|
69
|
+
CODE_VERSION=$(ruby -r ./lib/images_convert/version.rb -e 'print ImagesConvert::VERSION')
|
70
|
+
if [ "$CODE_VERSION" != "$TAG" ]; then
|
71
|
+
echo "Tag version ($TAG) does not match ImagesConvert::VERSION ($CODE_VERSION)."
|
72
|
+
exit 1
|
73
|
+
fi
|
74
|
+
NOTES_FILE="RELEASE_NOTES_v${TAG}.md"
|
75
|
+
if [ ! -f "$NOTES_FILE" ]; then
|
76
|
+
echo "Expected release notes file $NOTES_FILE for tag $TAG."
|
77
|
+
exit 1
|
78
|
+
fi
|
79
|
+
# タグ push 時は VERSION と Release Notes の整合性をチェック
|
@@ -0,0 +1,122 @@
|
|
1
|
+
name: Release
|
2
|
+
# タグ push (v*) をトリガーに Gem のビルド・公開、GitHub Release を自動作成
|
3
|
+
|
4
|
+
on:
|
5
|
+
push:
|
6
|
+
tags:
|
7
|
+
- "v*"
|
8
|
+
|
9
|
+
permissions:
|
10
|
+
contents: write
|
11
|
+
packages: read
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
build-and-publish:
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
steps:
|
17
|
+
- name: Checkout
|
18
|
+
uses: actions/checkout@v4
|
19
|
+
# リポジトリを取得
|
20
|
+
|
21
|
+
- name: Set up Ruby
|
22
|
+
uses: ruby/setup-ruby@v1
|
23
|
+
with:
|
24
|
+
ruby-version: '3.3'
|
25
|
+
bundler-cache: true
|
26
|
+
# Ruby 3.3 環境と Bundler キャッシュをセットアップ
|
27
|
+
|
28
|
+
- name: Verify tag consistency
|
29
|
+
id: verify
|
30
|
+
run: |
|
31
|
+
set -euo pipefail
|
32
|
+
TAG="${GITHUB_REF_NAME#v}"
|
33
|
+
CODE_VERSION=$(ruby -r ./lib/images_convert/version.rb -e 'print ImagesConvert::VERSION')
|
34
|
+
if [ "$CODE_VERSION" != "$TAG" ]; then
|
35
|
+
echo "Tag version ($TAG) does not match ImagesConvert::VERSION ($CODE_VERSION)."
|
36
|
+
exit 1
|
37
|
+
fi
|
38
|
+
NOTES_FILE="RELEASE_NOTES_v${TAG}.md"
|
39
|
+
if [ -f "$NOTES_FILE" ]; then
|
40
|
+
echo "release_notes_file=$NOTES_FILE" >> "$GITHUB_OUTPUT"
|
41
|
+
else
|
42
|
+
echo "Release notes file $NOTES_FILE not found; fallback to CHANGELOG.md"
|
43
|
+
echo "release_notes_file=CHANGELOG.md" >> "$GITHUB_OUTPUT"
|
44
|
+
fi
|
45
|
+
# タグと VERSION の整合性、およびリリースノートファイルを確認
|
46
|
+
|
47
|
+
- name: Install dependencies
|
48
|
+
run: |
|
49
|
+
bundle install --jobs 4 --retry 3
|
50
|
+
# Gem 依存関係をインストール
|
51
|
+
|
52
|
+
- name: Run test suite
|
53
|
+
env:
|
54
|
+
IMGCONV_TEST_FAKE_MINIMAGICK: "1"
|
55
|
+
run: |
|
56
|
+
bundle exec rake test
|
57
|
+
# リリース前にテストスイートを実行して品質担保
|
58
|
+
|
59
|
+
- name: Build gem
|
60
|
+
run: |
|
61
|
+
gem build images-convert.gemspec
|
62
|
+
ls -l *.gem
|
63
|
+
# gemspec から Gem をビルドし、生成物を確認
|
64
|
+
|
65
|
+
- name: Prepare RubyGems credentials
|
66
|
+
if: success()
|
67
|
+
env:
|
68
|
+
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|
69
|
+
run: |
|
70
|
+
mkdir -p ~/.gem
|
71
|
+
printf -- '---\n:rubygems_api_key: %s\n' "$RUBYGEMS_API_KEY" > ~/.gem/credentials
|
72
|
+
chmod 600 ~/.gem/credentials
|
73
|
+
# RubyGems の API キーを credential ファイルに書き込み、適切な権限に更新
|
74
|
+
|
75
|
+
- name: Push gem to RubyGems
|
76
|
+
if: success()
|
77
|
+
run: |
|
78
|
+
GEM_FILE=$(ls -1 images-convert-*.gem | tail -n1)
|
79
|
+
gem push "$GEM_FILE"
|
80
|
+
# 生成した Gem を RubyGems に公開
|
81
|
+
|
82
|
+
- name: Yank older gem versions (keep only latest)
|
83
|
+
if: success()
|
84
|
+
env:
|
85
|
+
GEM_NAME: images-convert
|
86
|
+
run: |
|
87
|
+
set -euo pipefail
|
88
|
+
CURRENT_TAG="${GITHUB_REF_NAME#v}"
|
89
|
+
echo "Current version: $CURRENT_TAG"
|
90
|
+
# Fetch versions from RubyGems API and list non-yanked versions other than current
|
91
|
+
TO_YANK=$(ruby -rjson -e '
|
92
|
+
gem = ENV["GEM_NAME"]
|
93
|
+
current = ENV["CURRENT_TAG"]
|
94
|
+
json = `curl -s https://rubygems.org/api/v1/versions/#{gem}.json`
|
95
|
+
data = JSON.parse(json)
|
96
|
+
keep = current
|
97
|
+
to_yank = data.select { |x| !x["yanked"] && x["number"] != keep }.map { |x| x["number"] }
|
98
|
+
puts to_yank.join("\n")
|
99
|
+
')
|
100
|
+
if [ -z "$TO_YANK" ]; then
|
101
|
+
echo "No older versions to yank."
|
102
|
+
else
|
103
|
+
echo "Yanking versions:\n$TO_YANK"
|
104
|
+
while IFS= read -r ver; do
|
105
|
+
[ -z "$ver" ] && continue
|
106
|
+
echo "> gem yank $GEM_NAME -v $ver"
|
107
|
+
gem yank "$GEM_NAME" -v "$ver" || true
|
108
|
+
done <<EOF
|
109
|
+
$TO_YANK
|
110
|
+
EOF
|
111
|
+
fi
|
112
|
+
# 最新版以外の公開済み Gem を必要に応じて yank し、旧版を非公開に
|
113
|
+
|
114
|
+
- name: Create GitHub Release
|
115
|
+
uses: softprops/action-gh-release@v2
|
116
|
+
with:
|
117
|
+
tag_name: ${{ github.ref_name }}
|
118
|
+
name: images-convert ${{ github.ref_name }}
|
119
|
+
body_path: ${{ steps.verify.outputs.release_notes_file }}
|
120
|
+
files: |
|
121
|
+
images-convert-*.gem
|
122
|
+
# GitHub Release を作成し、リリースノートと Gem ファイルを添付
|
data/.gitignore
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
# 変更履歴
|
2
|
+
|
3
|
+
## 0.4.1 - 2025-09-26
|
4
|
+
- 追加: `imgconv config reset` サブコマンドを導入し、確認付きで設定を既定値に復元(`--force` で確認省略可)
|
5
|
+
|
6
|
+
## 0.4.0 - 2025-09-26
|
7
|
+
- 追加: `imgconv setup` 対話式ウィザードを導入し、設定値を質問形式で更新可能に
|
8
|
+
- y/n 質問で現在値・既定値を併記し、形式選択などの入力ミスは再入力を促す検証を実装
|
9
|
+
- 終了時に変更内容を `旧値 => 新値` 形式で一覧表示し、新しい値をカラー表示
|
10
|
+
- ウィザード完了後に `imgconv config` を自動実行し、最新の設定状態を表示
|
11
|
+
- 追加: waifu2x (waifu2x-ncnn-vulkan) 統合による自動アップスケール機能
|
12
|
+
- `convert` コマンドでリサイズ指定が元画像を上回る場合、waifu2x に自動委譲
|
13
|
+
- `config set-waifu2x` サブコマンドを追加し、拡大率・ノイズ除去レベル・モデル等を CLI から設定可能に
|
14
|
+
- PDF 生成およびダウンロードパス上書きをサポート(`--output-mode pdf/both`, `--waifu2x-bin`, `--waifu2x-models-path` など)
|
15
|
+
- 改善: `lib/images_convert/mini_magick_stub.rb` を拡張し、寸法情報や `Image.ping` をスタブ化
|
16
|
+
- 追加: waifu2x 用テストスタブおよび `test/test_waifu2x.rb` を導入してアップスケール処理を検証
|
17
|
+
|
18
|
+
## 0.3.0 - 2025-09-25
|
19
|
+
- 改善: README の記載を整理し、テスト画像の出典や利用手順を明確化
|
20
|
+
- 整理: CLI 設定サブコマンドの案内文を `images-convert set` および `imgconv set` 系に統一
|
21
|
+
- 改善: テストコードをリファクタリングし、設定・変換周りのバリエーション検証を強化
|
22
|
+
- 削除: CLI から `--dry-run` オプションを廃止し、MiniMagick スタブによる実変換検証へ移行
|
23
|
+
- 修正: `convert` コマンドが `--recursive` / `--suffix` / `--output_dir` を正しく受け付けるよう `method_option` を整備
|
24
|
+
- 更新: `.github/PULL_REQUEST_TEMPLATE.md`, `README.md`, `CHANGELOG.md` の記述を最新仕様に合わせて刷新
|
25
|
+
- 修正: 引数なしで `imgconv` を実行した場合にヘルプを表示するよう前処理ロジックを更新
|
26
|
+
- 追加: `--latest-exif` オプションと `set-latest-mode` コマンドを導入し、EXIF 撮影日時を基準に最新 N 件を選択できるように対応
|
27
|
+
- 設定ファイルに `selection.latest_mode` を追加し、既定値/表示/保存をサポート
|
28
|
+
- EXIF 取得ができない場合はファイル更新日時にフォールバックし、その旨を通知
|
29
|
+
- `CLILatestSelectionTest` / `CLIConfigTest` に関連テストを追加
|
30
|
+
- `--latest-exif` オプションを使用することで、EXIF 撮影日時を基準に最新 N 件を選択できるようになります
|
31
|
+
- `set-latest-mode` コマンドを使用することで、`selection.latest_mode` を設定/表示/保存することができます
|
32
|
+
|
33
|
+
## 0.2.11 - 2025-09-24
|
34
|
+
- 追加: 包括的なテストスイートの追加
|
35
|
+
- ヘルプ機能のテスト(`test/test_help.rb`):
|
36
|
+
- `--help` の出力検証
|
37
|
+
- 選定機能とバルク変換のテスト(`test/test_selection.rb`):
|
38
|
+
- `--latest N` と `--all` のメッセージ検証
|
39
|
+
- `-N` ショートハンド
|
40
|
+
- `--suffix`, `--recursive`, `--overwrite` の動作
|
41
|
+
- 相対パス処理
|
42
|
+
- エラーハンドリング
|
43
|
+
- 設定機能のテスト(`test/test_config.rb`):
|
44
|
+
- `config.yml` の作成
|
45
|
+
- `config set` の機能
|
46
|
+
- パーセンテージリサイズのサポート
|
47
|
+
- `cleanup` コマンド
|
48
|
+
- フォーマット変換のテスト(`test/test_formats.rb`):
|
49
|
+
- クロスフォーマット変換(JPG/PNG/GIF/TIFF/BMP/ICO/PDF)
|
50
|
+
- 小文字フォーマット名のサポート
|
51
|
+
- 拡張子の不一致に対するエラー
|
52
|
+
- HEIC から JPG への変換
|
53
|
+
- ショートハンド構文(`imgconv heic jpeg 1000`)
|
54
|
+
- 未知フォーマットに対するエラー
|
55
|
+
- ヘルプ機能のテスト(`test/test_help.rb`):
|
56
|
+
- `--help` の出力検証
|
57
|
+
- テストの安定性向上:
|
58
|
+
- 未サポートフォーマットの自動スキップ
|
59
|
+
- 環境依存のテスト分離
|
60
|
+
|
61
|
+
## 0.2.9 - 2025-09-23
|
62
|
+
- 修正: 省略形(`-N`/`--all`)利用時に `target=nil` でクラッシュする不具合を修正
|
63
|
+
- `convert` 内で最新N件/全件の処理をディレクトリ判定より先に実行
|
64
|
+
- `File.directory?` 判定を `target && File.directory?(target)` にガード
|
65
|
+
|
66
|
+
## 0.2.7 - 2025-09-23
|
67
|
+
- 修正: CLI クラスの定数衝突を解消(`ImagesConvertCLI` に変更)
|
68
|
+
- 修正: 設定アクセサ(`default_*`)が未ロード時に `nil.dig` で落ちる問題を修正(`load` を呼んでから参照)
|
69
|
+
- 0.2.6 での Ruby 3.4 向け `match?(/.../)` 修正は維持
|
70
|
+
|
71
|
+
## 0.2.6 - 2025-09-23
|
72
|
+
- 修正: Ruby 3.4 で `match? /regex/` の構文が解釈されない問題を回避
|
73
|
+
- 正式な書式 `match?(/regex/)` に統一(`candidate_exts` / `normalized_to_format` / `find_input_file`)
|
74
|
+
|
75
|
+
## 0.2.5 - 2025-09-23
|
76
|
+
- 修正: RubyGems のドキュメントリンクを GitHub README に変更
|
77
|
+
- gemspec の `documentation_uri` を `https://github.com/Atelier-Mirai/images-convert#readme` に更新
|
78
|
+
- `homepage_uri` を README アンカー付きに、`source_code_uri` はリポジトリ直下に分離
|
79
|
+
|
80
|
+
## 0.2.4 - 2025-09-23
|
81
|
+
- 修正: RubyGems 上のホームページ/ドキュメントリンク不整合を修正
|
82
|
+
- gemspec の `homepage` を正しいリポジトリ `Atelier-Mirai/images-convert` に更新
|
83
|
+
- gemspec の `metadata` に `homepage_uri` / `source_code_uri` / `changelog_uri` / `documentation_uri` を追加
|
84
|
+
- README の CI バッジと clone URL を `images-convert` に統一
|
85
|
+
|
86
|
+
## 0.2.3 - 2025-09-23
|
87
|
+
- 機能追加: 「最新の画像 N 件」または「全件」を既定値に従って一括変換できるオプションを追加
|
88
|
+
- `-N`(例: `-1`, `-5`)… 最新の N 件を変換(`convert --latest N` のショートカット)
|
89
|
+
- `-0` / `--all` … すべての対象ファイルを変換
|
90
|
+
- サブコマンド省略時でも `images-convert -5` のように実行可能(内部的に `convert` を補完)
|
91
|
+
- 入力/出力ディレクトリや from/to/resize は設定ファイルの既定値(`images-convert config`)を使用
|
92
|
+
|
93
|
+
使用例:
|
94
|
+
```
|
95
|
+
images-convert -1 # 最新1件
|
96
|
+
images-convert -5 --delete # 最新5件、変換後に元ファイル削除
|
97
|
+
images-convert -0 --overwrite # 全件、上書き許可
|
98
|
+
images-convert convert --latest 3 # ロングオプション
|
99
|
+
images-convert convert --all
|
100
|
+
```
|
101
|
+
|
102
|
+
## 0.2.2 - 2025-09-23
|
103
|
+
- リネーム: プロジェクト/CLI 名を `convert-images` から `images-convert` に変更
|
104
|
+
- 短縮コマンドを追加: `imgcvt`(`images-convert` と同等のエイリアス)
|
105
|
+
- 設定ディレクトリを `~/.images-convert/` に変更(旧: `~/.convert-images/`)
|
106
|
+
|
107
|
+
移行ガイド:
|
108
|
+
- 旧: `convert-images convert 1000` → 新: `images-convert convert 1000`
|
109
|
+
- 旧設定の移行(任意): `mv ~/.convert-images ~/.images-convert`
|
110
|
+
|
111
|
+
## 0.2.1 - 2025-09-23
|
112
|
+
- 一括変換に対応(ディレクトリ→ディレクトリ)
|
113
|
+
- `convert-images src_dir dist_dir`
|
114
|
+
- `convert-images src_dir`(引数1つのときは暗黙 in-place: 出力先=入力先)
|
115
|
+
- 追加オプション
|
116
|
+
- `-f, --overwrite`: 既存の出力ファイルがある場合に上書き(デフォルトはスキップ)
|
117
|
+
- `-s, --suffix VALUE`: 出力ファイル名にサフィックス付与(例: `_converted`)
|
118
|
+
- `--recursive`: サブディレクトリを再帰処理
|
119
|
+
- `-d, --delete`: 一括変換でも削除をサポート(in-place時は自己削除を防止)
|
120
|
+
- 仕様メモ
|
121
|
+
- jpg/jpeg は入力両対応。出力拡張子は jpg に統一
|
122
|
+
|
123
|
+
## 0.2.0 - 2025-09-23
|
124
|
+
- 破壊的変更: CLI 仕様を変更し、`convert BASENAME` のみをサポート(`convert FROM TO BASENAME` を削除)
|
125
|
+
- 形式(from/to)やリサイズ、入出力ディレクトリは設定ファイル(`convert-images config` / `config set` / `config set-dir`)で管理
|
126
|
+
- コマンドラインでの from/to 直接指定は廃止
|
127
|
+
- インストールフローの簡素化(post-install メッセージファイルと gemspec フックを削除)
|
128
|
+
- 初回実行時の ImageMagick 導入支援(対話式・最小限・同意ベース)
|
129
|
+
- README を日本語化し簡素化
|
130
|
+
- 不要なセットアップスクリプトや補助バイナリを削除
|
131
|
+
- OS 判定のため `require 'rbconfig'` を追加
|
132
|
+
- 設定ファイル対応: デフォルトの変換形式/リサイズ/入出力ディレクトリをカスタマイズ可能
|
133
|
+
- config コマンド: 設定の表示と変更機能
|
134
|
+
- ディレクトリ設定対応: 入力・出力ディレクトリを個別に指定可能
|
135
|
+
- コマンドラインオプション: `-i/--input_dir` と `-o/--output_dir` を追加
|
136
|
+
- 自動設定ファイル作成: 初回実行時に `~/.convert-images/config.yml` を自動生成
|
137
|
+
- cleanup コマンド: アンインストール時の設定ファイル削除機能
|
138
|
+
- jpg/jpeg 正規化: 出力拡張子は jpg に統一、入力は .jpg/.jpeg を自動検出
|
139
|
+
|
140
|
+
移行ガイド:
|
141
|
+
- 旧: `convert-images heic jpg 1000`
|
142
|
+
- 新: `convert-images config set HEIC JPG 1920x` を一度実行し、以後は `convert-images 1000`
|
143
|
+
|
144
|
+
## 0.1.0 - 2025-09-23
|
145
|
+
- 初回リリース:MiniMagick/ImageMagick を利用する Thor ベースのCLI
|
146
|
+
- `convert` コマンドと `--delete` オプションを提供
|
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2025 Atelier Mirai
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
22
|
+
|
23
|
+
---
|
24
|
+
|
25
|
+
参考訳(日本語、非公式)
|
26
|
+
|
27
|
+
本ソフトウェアおよび関連文書ファイル(以下「ソフトウェア」)の複製を取得したすべての者に対し、
|
28
|
+
ソフトウェアを無制限に扱うこと(使用、複製、改変、結合、掲載、頒布、サブライセンス化、
|
29
|
+
および/またはソフトウェアのコピーを販売する権利、ならびにソフトウェアを提供された者に
|
30
|
+
これを許可する権利)を、無償で許可します。これは以下の条件に従うものとします。
|
31
|
+
|
32
|
+
上記の著作権表示および本許諾表示は、ソフトウェアのすべてのコピーまたは重要な部分に
|
33
|
+
記載されるものとします。
|
34
|
+
|
35
|
+
本ソフトウェアは「現状のまま」提供され、明示黙示を問わず、商品性、特定目的への適合性、
|
36
|
+
非侵害性を含むいかなる保証も行いません。いかなる場合も、著作者または著作権者は、契約行為、
|
37
|
+
不法行為、またはその他の行為に起因または関連して発生した、ソフトウェアまたはソフトウェアの
|
38
|
+
使用その他の取り扱いによって生じたいかなる請求、損害、その他の責任についても、一切の責任を
|
39
|
+
負いません。
|
40
|
+
|
41
|
+
注: 本日本語訳は便宜のための参考訳であり、法的効力を有するのは上記の英語原文です。
|