omnizip 0.4.9-arm-linux → 0.4.11-arm-linux

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.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop-oss.yml +814 -0
  3. data/.rubocop.yml +15 -1
  4. data/.rubocop_todo.yml +7 -1
  5. data/CHANGELOG.md +17 -0
  6. data/Gemfile +23 -1
  7. data/README.adoc +101 -1282
  8. data/docs/compatibility.adoc +1 -2
  9. data/docs/lychee.toml +1 -7
  10. data/lib/omnizip/algorithms/deflate/constants.rb +5 -3
  11. data/lib/omnizip/implementations/rust/archive.rb +9 -41
  12. data/lib/omnizip/implementations/rust/ffi_library.rb +127 -0
  13. data/lib/omnizip/implementations/rust/fiddle_library.rb +144 -0
  14. data/lib/omnizip/implementations/rust/library.rb +39 -104
  15. data/lib/omnizip/implementations/rust.rb +2 -0
  16. data/lib/omnizip/version.rb +1 -1
  17. data/lib/tasks/docs.rake +146 -0
  18. data/readme-docs/rar-archives.adoc +505 -0
  19. data/scripts/generate_rar_oracle_fixtures.rb +177 -0
  20. data/vendor/libomnizip_ffi.so +0 -0
  21. metadata +21 -74
  22. data/TODO.refactor/00-overview.md +0 -67
  23. data/TODO.refactor/01-registry-base-class.md +0 -81
  24. data/TODO.refactor/02-error-hierarchy.md +0 -57
  25. data/TODO.refactor/03-autoload-entry-point.md +0 -69
  26. data/TODO.refactor/04-filter-base-consolidation.md +0 -49
  27. data/TODO.refactor/05-send-private-methods.md +0 -64
  28. data/TODO.refactor/06-instance-variable-access.md +0 -69
  29. data/TODO.refactor/07-respond-to-replacement.md +0 -237
  30. data/TODO.refactor/08-spec-doubles.md +0 -27
  31. data/TODO.refactor/09-cli-shared-module.md +0 -35
  32. data/TODO.refactor/10-format-detector-ocp.md +0 -34
  33. data/TODO.refactor/11-convenience-decoupling.md +0 -38
  34. data/TODO.refactor/12-thread-safety.md +0 -8
  35. data/TODO.refactor/13-lutaml-model-migration.md +0 -158
  36. data/TODO.refactor/14-add-missing-specs.md +0 -25
  37. data/docs/.github/workflows/docs.yml +0 -142
  38. data/docs/.gitignore +0 -21
  39. data/docs/Gemfile +0 -13
  40. data/docs/README.md +0 -101
  41. data/docs/_config.yml +0 -112
  42. data/docs/comparison/feature-matrix.adoc +0 -694
  43. data/docs/comparison/index.adoc +0 -113
  44. data/docs/comparison/vs-7zip.adoc +0 -309
  45. data/docs/comparison/vs-peazip.adoc +0 -77
  46. data/docs/comparison/vs-rubyzip.adoc +0 -342
  47. data/docs/comparison/vs-winrar.adoc +0 -100
  48. data/docs/concepts/index.adoc +0 -129
  49. data/docs/developer/architecture.adoc +0 -256
  50. data/docs/developer/contributing.adoc +0 -158
  51. data/docs/developer/index.adoc +0 -25
  52. data/docs/developer/testing.adoc +0 -212
  53. data/docs/getting-started/basic-usage.adoc +0 -263
  54. data/docs/getting-started/index.adoc +0 -42
  55. data/docs/getting-started/installation.adoc +0 -138
  56. data/docs/getting-started/quick-start.adoc +0 -183
  57. data/docs/getting-started/your-first-archive.adoc +0 -219
  58. data/docs/guides/advanced-features/encryption.adoc +0 -277
  59. data/docs/guides/advanced-features/index.adoc +0 -59
  60. data/docs/guides/advanced-features/parallel-processing.adoc +0 -144
  61. data/docs/guides/advanced-features/progress-tracking.adoc +0 -124
  62. data/docs/guides/advanced-features/streaming.adoc +0 -142
  63. data/docs/guides/archive-formats/gzip-format.adoc +0 -105
  64. data/docs/guides/archive-formats/index.adoc +0 -160
  65. data/docs/guides/archive-formats/ole-format.adoc +0 -151
  66. data/docs/guides/archive-formats/rar-format.adoc +0 -104
  67. data/docs/guides/archive-formats/rar5.adoc +0 -521
  68. data/docs/guides/archive-formats/rpm-format.adoc +0 -108
  69. data/docs/guides/archive-formats/seven-zip-format.adoc +0 -35
  70. data/docs/guides/archive-formats/tar-format.adoc +0 -106
  71. data/docs/guides/archive-formats/xz-format.adoc +0 -118
  72. data/docs/guides/archive-formats/zip-format.adoc +0 -35
  73. data/docs/guides/compression-algorithms/bzip2.adoc +0 -114
  74. data/docs/guides/compression-algorithms/deflate.adoc +0 -313
  75. data/docs/guides/compression-algorithms/index.adoc +0 -190
  76. data/docs/guides/compression-algorithms/lzma.adoc +0 -394
  77. data/docs/guides/compression-algorithms/lzma2.adoc +0 -244
  78. data/docs/guides/compression-algorithms/ppmd.adoc +0 -313
  79. data/docs/guides/compression-algorithms/zstandard.adoc +0 -296
  80. data/docs/guides/creating-archives.adoc +0 -348
  81. data/docs/guides/extracting-archives.adoc +0 -53
  82. data/docs/guides/format-conversion.adoc +0 -64
  83. data/docs/guides/index.adoc +0 -49
  84. data/docs/guides/migration-rubyzip.adoc +0 -217
  85. data/docs/guides/parity-archives.adoc +0 -605
  86. data/docs/guides/performance-tuning.adoc +0 -88
  87. data/docs/index.adoc +0 -228
  88. data/docs/reference/api/overview.adoc +0 -187
  89. data/docs/reference/cli/compress-command.adoc +0 -114
  90. data/docs/reference/cli/overview.adoc +0 -140
  91. data/docs/reference/index.adoc +0 -26
  92. data/docs/resources/faq.adoc +0 -185
  93. data/docs/resources/quick-reference.adoc +0 -222
  94. data/docs/troubleshooting/index.adoc +0 -207
data/docs/index.adoc DELETED
@@ -1,228 +0,0 @@
1
- ---
2
- title: Home
3
- nav_order: 0
4
- ---
5
-
6
- == Omnizip: Pure Ruby compression library
7
-
8
- === Purpose
9
-
10
- Omnizip is a comprehensive pure Ruby implementation of compression algorithms and archive formats. Built on an extensible, registry-based architecture with clean object-oriented design, Omnizip provides full-featured compression capabilities without external dependencies.
11
-
12
- This implementation supports multiple compression algorithms (LZMA, LZMA2, BZip2, PPMd7/8, Deflate, Deflate64, Zstandard), preprocessing filters (BCJ variants, Delta), encryption (AES-256), and complete support for multiple archive formats (.7z, ZIP, RAR, TAR, ISO, CPIO, GZIP, XZ, BZIP2).
13
-
14
- It provides both a command-line interface and a programmatic Ruby API, making it ideal for applications requiring portable, dependency-free compression without relying on system-level libraries or external binaries.
15
-
16
- **Pure Ruby Implementation:** Works on all Ruby platforms (MRI, JRuby, TruffleRuby) with zero external dependencies. Performance is 10-60x slower than native implementations, which is an acceptable trade-off for maximum portability.
17
-
18
- === Quick Start
19
-
20
- Get started with Omnizip in minutes:
21
-
22
- * link:getting-started/installation.html[Install the gem and dependencies]
23
- * link:getting-started/quick-start.html[Compress your first file in 5 minutes]
24
- * link:getting-started/your-first-archive.html[Create your first archive]
25
-
26
- === Documentation Map
27
-
28
- ==== New to Omnizip?
29
-
30
- Follow this learning path:
31
-
32
- . Install Omnizip
33
- ** link:getting-started/installation.html[Installation Guide]
34
-
35
- . Quick Start (5 minutes)
36
- ** link:getting-started/quick-start.html[Quick Start Guide]
37
-
38
- . Create Your First Archive
39
- ** link:getting-started/your-first-archive.html[Create Your First Archive]
40
-
41
- . Learn Basic Operations
42
- ** link:guides/creating-archives.html[Create archives]
43
- ** link:guides/extracting-archives.html[Extract from archives]
44
-
45
- ==== Looking for Something Specific?
46
-
47
- **Working with Files**
48
-
49
- * link:guides/creating-archives.html[Create new archives]
50
- * link:guides/extracting-archives.html[Extract from archives]
51
- * link:guides/format-conversion.html[Convert between formats]
52
-
53
- **Compression Algorithms**
54
-
55
- * link:guides/compression-algorithms/lzma.html[LZMA/LZMA2 compression]
56
- * link:guides/compression-algorithms/bzip2.html[BZip2 compression]
57
- * link:guides/compression-algorithms/ppmd.html[PPMd7/PPMd8 compression]
58
- * link:guides/compression-algorithms/deflate.html[Deflate/Deflate64 compression]
59
- * link:guides/compression-algorithms/zstandard.html[Zstandard compression]
60
-
61
- **Archive Formats**
62
-
63
- * link:guides/archive-formats/seven-zip-format.html[7z archives]
64
- * link:guides/archive-formats/zip-format.html[ZIP archives]
65
- * link:guides/archive-formats/rar-format.html[RAR4/RAR5 archives]
66
- * link:guides/archive-formats/tar-format.html[TAR archives]
67
- * link:guides/archive-formats/gzip-format.html[GZIP files]
68
- * link:guides/archive-formats/xz-format.html[XZ files]
69
- * link:guides/archive-formats/rpm-format.html[RPM packages]
70
- * link:guides/archive-formats/ole-format.html[OLE compound documents]
71
-
72
- **Advanced Features**
73
-
74
- * link:guides/advanced-features/streaming.html[Streaming operations]
75
- * link:guides/advanced-features/parallel-processing.html[Parallel processing]
76
- * link:guides/advanced-features/encryption.html[Encryption]
77
- * link:guides/parity-archives.html[PAR2 error correction]
78
-
79
- **Reference Materials**
80
-
81
- * link:resources/quick-reference.html[Cheat sheet for common operations]
82
- * link:reference/cli/overview.html[Command-line interface documentation]
83
- * link:reference/api/overview.html[Ruby API documentation]
84
- * link:concepts/index.html[Core concepts explained]
85
- * link:developer/architecture.html[Design and implementation details]
86
-
87
- === Supported Compression Algorithms
88
-
89
- Omnizip supports 6 major compression algorithms:
90
-
91
- [cols="1,3,2"]
92
- |===
93
- |Algorithm |Description |Best For
94
-
95
- |LZMA/LZMA2
96
- |Dictionary-based compression with high ratio
97
- |Archives, backups, general compression
98
-
99
- |BZip2
100
- |Burrows-Wheeler Transform compression
101
- |Text files, source code
102
-
103
- |PPMd7/PPMd8
104
- |Prediction by Partial Matching
105
- |Text, documents, natural language
106
-
107
- |Deflate/Deflate64
108
- |ZIP-compatible compression
109
- |Cross-platform compatibility
110
-
111
- |Zstandard
112
- |Modern fast compression
113
- |Speed-sensitive applications
114
- |===
115
-
116
- === Supported Archive Formats
117
-
118
- Omnizip supports 12 archive formats:
119
-
120
- [cols="1,3,2"]
121
- |===
122
- |Format |Description |Common Use
123
-
124
- |.7z
125
- |7-Zip archives with solid compression
126
- |Software distribution, backups
127
-
128
- |ZIP
129
- |ZIP archives with ZIP64 support
130
- |Cross-platform archives
131
-
132
- |RAR4/RAR5
133
- |RAR archives with multi-volume support
134
- |Binary distribution, file sharing
135
-
136
- |TAR
137
- |TAR archives with POSIX extensions
138
- |Unix backups, software packaging
139
-
140
- |ISO 9660
141
- |ISO optical disc images
142
- |CD/DVD images
143
-
144
- |CPIO
145
- |CPIO archives
146
- |Unix system backups
147
-
148
- |GZIP
149
- |GZIP compressed files
150
- |Single file compression
151
-
152
- |XZ
153
- |XZ compressed files with LZMA2
154
- |System package compression
155
-
156
- |BZIP2
157
- |BZIP2 compressed files
158
- |Text file compression
159
-
160
- |RPM
161
- |RPM package archives with CPIO payload
162
- |Linux package management
163
-
164
- |OLE
165
- |OLE compound documents (MSI, DOC, XLS, PPT)
166
- |Windows compound files, installers
167
- |===
168
-
169
- === Key Features
170
-
171
- * **Pure Ruby** - No native dependencies, works on any Ruby platform
172
- * **Registry-Based** - Extensible plugin architecture for algorithms and formats
173
- * **Multiple Formats** - Support for 12+ archive formats
174
- * **Compression Profiles** - Smart algorithm selection based on file type
175
- * **Solid Archives** - Shared dictionary for better compression ratios
176
- * **Multi-Volume** - Split archives across multiple files
177
- * **Encryption** - AES-256 password protection
178
- * **PAR2 Support** - Error correction and recovery records
179
- * **CLI Tools** - Complete command-line interface
180
- * **Ruby API** - Full programmatic access
181
- * **Enumerable** - All collections support Ruby's Enumerable interface
182
-
183
- === Example Usage
184
-
185
- .Compressing a file
186
- [source,ruby]
187
- ----
188
- require 'omnizip'
189
-
190
- # Simple one-liner
191
- Omnizip.compress_file('input.txt', 'output.zip')
192
-
193
- # With options
194
- Omnizip.compress_file('input.txt', 'output.lzma',
195
- algorithm: :lzma,
196
- level: 9
197
- )
198
- ----
199
-
200
- .Command-line interface
201
- [source,bash]
202
- ----
203
- # Compress a file
204
- omnizip compress input.txt output.lzma --level 9
205
-
206
- # Create a .7z archive
207
- omnizip archive create backup.7z documents/ photos/
208
-
209
- # Extract an archive
210
- omnizip archive extract backup.7z output/
211
-
212
- # List archive contents
213
- omnizip archive list backup.7z
214
- ----
215
-
216
- === Getting help
217
-
218
- * **Documentation**: Browse the guides and reference sections
219
- * **Issues**: Report bugs at https://github.com/metanorma/omnizip/issues
220
- * **Source**: View the code at https://github.com/metanorma/omnizip
221
-
222
- === Related sections
223
-
224
- * link:getting-started/index.html[Installation and quick start]
225
- * link:guides/index.html[Comprehensive usage guides]
226
- * link:reference/index.html[API and CLI documentation]
227
- * link:concepts/index.html[Core concepts and architecture]
228
- * link:troubleshooting/index.html[Common problems and solutions]
@@ -1,187 +0,0 @@
1
- ---
2
- title: API Overview
3
- nav_order: 60
4
- parent: Reference
5
- ---
6
-
7
- == Ruby API Overview
8
-
9
- === General
10
-
11
- Omnizip provides a comprehensive Ruby API for all compression and archive operations.
12
-
13
- === Requiring the Library
14
-
15
- [source,ruby]
16
- ----
17
- require 'omnizip'
18
- ----
19
-
20
- === Convenience Methods
21
-
22
- ==== File Operations
23
-
24
- [source,ruby]
25
- ----
26
- # Compress a file
27
- Omnizip.compress_file('input.txt', 'output.lzma')
28
-
29
- # Decompress a file
30
- Omnizip.decompress_file('output.lzma', 'restored.txt')
31
-
32
- # Extract archive
33
- Omnizip.extract_archive('archive.7z', 'output/')
34
-
35
- # List archive contents
36
- Omnizip.list_archive('archive.7z')
37
- ----
38
-
39
- ==== Stream Operations
40
-
41
- [source,ruby]
42
- ----
43
- # Compress streams
44
- File.open('input.txt', 'rb') do |input|
45
- File.open('output.lzma', 'wb') do |output|
46
- Omnizip.compress_stream(input, output)
47
- end
48
- end
49
-
50
- # Decompress streams
51
- File.open('output.lzma', 'rb') do |input|
52
- File.open('restored.txt', 'wb') do |output|
53
- Omnizip.decompress_stream(input, output)
54
- end
55
- end
56
- ----
57
-
58
- === Registry-Based API
59
-
60
- ==== Algorithm Registry
61
-
62
- [source,ruby]
63
- ----
64
- # List available algorithms
65
- Omnizip::AlgorithmRegistry.registered.each do |name|
66
- puts "Algorithm: #{name}"
67
- end
68
-
69
- # Get algorithm instance
70
- lzma = Omnizip::AlgorithmRegistry.get(:lzma).new(level: 9)
71
-
72
- # Use algorithm
73
- File.open('input.txt', 'rb') do |input|
74
- File.open('output.lzma', 'wb') do |output|
75
- lzma.compress(input, output)
76
- end
77
- end
78
- ----
79
-
80
- ==== Format Registry
81
-
82
- [source,ruby]
83
- ----
84
- # List available formats
85
- Omnizip::FormatRegistry.registered.each do |name|
86
- puts "Format: #{name}"
87
- end
88
-
89
- # Create format-specific writer
90
- writer = Omnizip::FormatRegistry.get(:seven_zip).new_writer('archive.7z')
91
- writer.add_file('document.txt')
92
- writer.close
93
- ----
94
-
95
- === Archive Operations
96
-
97
- ==== Creating Archives
98
-
99
- [source,ruby]
100
- ----
101
- # 7z archive
102
- Omnizip::Formats::SevenZip.create('archive.7z') do |writer|
103
- writer.add_file('document.txt')
104
- writer.add_directory('photos/')
105
- end
106
-
107
- # ZIP archive
108
- writer = Omnizip::Formats::Zip::Writer.new('archive.zip')
109
- writer.add_file('document.txt')
110
- writer.add_directory('photos/')
111
- writer.write
112
- ----
113
-
114
- ==== Extracting Archives
115
-
116
- [source,ruby]
117
- ----
118
- # 7z archive
119
- Omnizip::Formats::SevenZip.open('archive.7z') do |reader|
120
- reader.extract_all('output/')
121
- end
122
-
123
- # ZIP archive (call .read to parse before extracting)
124
- reader = Omnizip::Formats::Zip::Reader.new('archive.zip').read
125
- reader.extract_all('output/')
126
- ----
127
-
128
- ==== Listing Contents
129
-
130
- [source,ruby]
131
- ----
132
- Omnizip::Formats::SevenZip.open('archive.7z') do |reader|
133
- reader.list_files.each do |entry|
134
- puts "#{entry.name}: #{entry.size} bytes"
135
- end
136
- end
137
- ----
138
-
139
- === Error Handling
140
-
141
- [source,ruby]
142
- ----
143
- begin
144
- Omnizip.compress_file('input.txt', 'output.lzma')
145
- rescue Omnizip::CompressionError => e
146
- puts "Compression failed: #{e.message}"
147
- rescue Omnizip::AlgorithmNotFoundError => e
148
- puts "Algorithm not found: #{e.message}"
149
- rescue IOError => e
150
- puts "I/O error: #{e.message}"
151
- end
152
- ----
153
-
154
- === Progress Tracking
155
-
156
- [source,ruby]
157
- ----
158
- # Create tracker with callback
159
- progress = Omnizip::ProgressTracker.new
160
-
161
- Omnizip.compress_file('large.txt', 'large.lzma',
162
- progress_callback: ->(percent) {
163
- puts "Progress: #{percent}%" if percent % 10 == 0
164
- }
165
- )
166
- ----
167
-
168
- === Configuration
169
-
170
- [source,ruby]
171
- ----
172
- # Set default compression level
173
- Omnizip.config.default_level = 7
174
-
175
- # Set default algorithm
176
- Omnizip.config.default_algorithm = :lzma2
177
-
178
- # Enable verbose output
179
- Omnizip.config.verbose = true
180
- ----
181
-
182
- === See Also
183
-
184
- * link:compression-api[Compression API] - Compression details
185
- * link:decompression-api[Decompression API] - Decompression details
186
- * link:archive-api[Archive API] - Archive operations
187
- * link:algorithm-registry[Algorithm Registry] - Algorithm management
@@ -1,114 +0,0 @@
1
- ---
2
- title: compress - Compress Files
3
- nav_order: 52
4
- parent: Reference
5
- ---
6
-
7
- == compress Command
8
-
9
- === General
10
-
11
- Compress individual files using various compression algorithms.
12
-
13
- === Syntax
14
-
15
- [source,bash]
16
- ----
17
- omnizip compress [OPTIONS] INPUT OUTPUT
18
- ----
19
-
20
- === Arguments
21
-
22
- `INPUT`:: Input file path (use `-` for stdin)
23
- `OUTPUT`:: Output file path (use `-` for stdout)
24
-
25
- === Options
26
-
27
- `--algorithm ALGORITHM`:: Compression algorithm (default: lzma)
28
- `--format FORMAT`:: Archive format (zip, 7z) for pipe mode
29
- `--level LEVEL`:: Compression level (1-9, default: 5)
30
- `--entry-name NAME`:: Entry name for pipe mode
31
- `--verbose`, `-v`:: Enable verbose output
32
-
33
- === Examples
34
-
35
- ==== Basic Compression
36
-
37
- [source,bash]
38
- ----
39
- omnizip compress input.txt output.lzma
40
- ----
41
-
42
- ==== With Algorithm
43
-
44
- [source,bash]
45
- ----
46
- # LZMA
47
- omnizip compress input.txt output.lzma --algorithm lzma
48
-
49
- # BZip2
50
- omnizip compress input.txt output.bz2 --algorithm bzip2
51
-
52
- # Zstandard
53
- omnizip compress input.txt output.zst --algorithm zstandard
54
- ----
55
-
56
- ==== With Level
57
-
58
- [source,bash]
59
- ----
60
- # Fast
61
- omnizip compress input.txt output.lzma --level 1
62
-
63
- # Maximum
64
- omnizip compress input.txt output.lzma --level 9
65
- ----
66
-
67
- ==== Pipe Mode
68
-
69
- [source,bash]
70
- ----
71
- # From stdin
72
- cat input.txt | omnizip compress - output.lzma
73
-
74
- # To stdout
75
- omnizip compress input.txt - > output.lzma
76
-
77
- # Full pipe
78
- cat input.txt | omnizip compress - - | other-command
79
- ----
80
-
81
- ==== With Format
82
-
83
- [source,bash]
84
- ----
85
- # Create ZIP
86
- cat input.txt | omnizip compress - output.zip --format zip
87
-
88
- # Create 7z
89
- cat input.txt | omnizip compress - output.7z --format 7z
90
- ----
91
-
92
- === Algorithms
93
-
94
- Available algorithms:
95
-
96
- * `lzma` - LZMA compression
97
- * `lzma2` - LZMA2 compression (default)
98
- * `bzip2` - BZip2 compression
99
- * `ppmd7` - PPMd7 compression
100
- * `deflate` - Deflate compression
101
- * `zstandard` - Zstandard compression
102
-
103
- === Performance Tips
104
-
105
- 1. **Use level 1-3** for temporary files
106
- 2. **Use level 5-7** for general compression
107
- 3. **Use level 8-9** for long-term storage
108
- 4. **Use Zstandard** for speed-sensitive applications
109
- 5. **Use LZMA2** for maximum compression
110
-
111
- === See Also
112
-
113
- * link:overview.html[CLI Overview] - Command-line interface
114
- * link:../api/overview.html[Ruby API Overview] - Programmatic interface
@@ -1,140 +0,0 @@
1
- ---
2
- title: CLI Overview
3
- nav_order: 51
4
- parent: Reference
5
- ---
6
-
7
- == Command-Line Interface Overview
8
-
9
- === General
10
-
11
- Omnizip provides a comprehensive command-line interface for all compression and archive operations.
12
-
13
- === Basic Syntax
14
-
15
- [source,bash]
16
- ----
17
- omnizip [global-options] COMMAND [command-options] [arguments]
18
- ----
19
-
20
- === Global Options
21
-
22
- `--version`, `-v`:: Show version information
23
- `--help`, `-h`:: Show help message
24
-
25
- === Available Commands
26
-
27
- ==== Compression Commands
28
-
29
- * link:compress-command[`compress`] - Compress a file or stream
30
- * link:decompress-command[`decompress`] - Decompress a file or stream
31
-
32
- ==== Archive Commands
33
-
34
- * link:archive-command[`archive create`] - Create an archive
35
- * link:archive-command[`archive extract`] - Extract an archive
36
- * link:archive-command[`archive list`] - List archive contents
37
- * link:archive-command[`archive metadata`] - View/edit archive metadata
38
-
39
- ==== Utility Commands
40
-
41
- * link:list-command[`list`] - List available algorithms
42
- * link:profile-command[`profile`] - Manage compression profiles
43
- * link:convert-command[`convert`] - Convert between formats
44
-
45
- === Common Patterns
46
-
47
- ==== Pipe Mode
48
-
49
- Use `-` for stdin/stdout:
50
-
51
- [source,bash]
52
- ----
53
- # Read from stdin
54
- cat input.txt | omnizip compress - output.lzma
55
-
56
- # Write to stdout
57
- omnizip compress input.txt - > output.lzma
58
-
59
- # Full pipe
60
- cat input.txt | omnizip compress - - | omnizip decompress - output.txt
61
- ----
62
-
63
- ==== Verbosity
64
-
65
- Enable detailed output with `--verbose`:
66
-
67
- [source,bash]
68
- ----
69
- omnizip compress input.txt output.lzma --verbose
70
- ----
71
-
72
- ==== Compression Levels
73
-
74
- Most commands accept compression levels:
75
-
76
- [source,bash]
77
- ----
78
- # Fast (1-3)
79
- omnizip compress input.txt output.lzma --level 1
80
-
81
- # Balanced (4-6)
82
- omnizip compress input.txt output.lzma --level 5
83
-
84
- # Maximum (7-9)
85
- omnizip compress input.txt output.lzma --level 9
86
- ----
87
-
88
- === Command Help
89
-
90
- Each command supports `--help`:
91
-
92
- [source,bash]
93
- ----
94
- omnizip compress --help
95
- omnizip archive create --help
96
- omnizip profile list --help
97
- ----
98
-
99
- === Exit Codes
100
-
101
- * `0` - Success
102
- * `1` - Error occurred
103
- * `2` - Invalid command or options
104
-
105
- === Environment Variables
106
-
107
- `OMNIZIP_LEVEL`:: Default compression level (1-9)
108
- `OMNIZIP_ALGORITHM`:: Default compression algorithm
109
- `OMNIZIP_THREADS`:: Number of threads for parallel operations
110
-
111
- === Examples
112
-
113
- ==== Quick Backup
114
-
115
- [source,bash]
116
- ----
117
- # Create compressed backup
118
- omnizip archive create backup.7z documents/ --level 7
119
-
120
- # Verify
121
- omnizip archive list backup.7z
122
-
123
- # Extract to test
124
- omnizip archive extract backup.7z /tmp/test/
125
- ----
126
-
127
- ==== Batch Processing
128
-
129
- [source,bash]
130
- ----
131
- # Compress all log files
132
- for log in *.log; do
133
- omnizip compress "$log" "${log}.lzma" --level 5
134
- done
135
- ----
136
-
137
- === Related Sections
138
-
139
- * link:compress-command.html[compress command] - Compress files
140
- * link:../api/overview.html[Ruby API] - Programmatic interface
@@ -1,26 +0,0 @@
1
- ---
2
- title: Reference
3
- nav_order: 50
4
- has_children: true
5
- ---
6
-
7
- == Reference
8
-
9
- Complete technical reference for Omnizip CLI and Ruby API.
10
-
11
- === Command-Line Interface
12
-
13
- * link:cli/overview.html[CLI Overview] - Command-line interface introduction
14
- * link:cli/compress-command.html[compress] - Compress files command reference
15
-
16
- === Ruby API
17
-
18
- * link:api/overview.html[API Overview] - Ruby API introduction and examples
19
-
20
- == Additional Resources
21
-
22
- For more detailed guides, see:
23
-
24
- * link:../guides/[How-To Guides] - Step-by-step guides for common tasks
25
- * link:../getting-started/[Getting Started] - Installation and quick start
26
- * link:../comparison/[Comparison] - Compare with other tools