opaque_id 1.1.0 → 1.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f4d5672d6b21c027f97ab270edb905e9bc63c3813c2a79a54c443f5fb348970
4
- data.tar.gz: 6a6e7f794aa7e932de44459c4f6711d9d1629e62321623dcfbff31594b12b32b
3
+ metadata.gz: 0b3fe09fbe6c8dd3f161f8067f1f4159b20d66987d4f83a1649bfebfe2d68af1
4
+ data.tar.gz: 3887547bac4c747e9c95b3ff1bbe456ea001d4e0a2432a2186d7a1343f3a40aa
5
5
  SHA512:
6
- metadata.gz: 655395d357f1198bcda2293c09a805149323cd658f96554b1b2783fca7ddd5bceae0c31ab7f666080ebc3809a00e98006011990b8b4254c28721e19bcab37c77
7
- data.tar.gz: 551ef07e9924648fe9d03b5f5980df15b14a7f90e1adcfdfb4bd0eef350c0f7f456bdc2adf0afcf6cbb5b905c51fc85c6d38d3aa278987643902f458703aae98
6
+ metadata.gz: d3a0326565ef4d064bc651805c9126d313d22cfffbc26fb10ce5f38a9be794a3d67611838465d74eb59e27313bf8a2db1f1669055b79410e9c4c1cbfd6697a1b
7
+ data.tar.gz: afe1a2e68f187435cd3efe01871f926b191335bf3bf19958afe66c6e8e873321809e17eb699ff3f6d58cb6175d3296288abdaaa5d8c2b9ccc0ab87cff8c99fe9
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "1.1.0"
2
+ ".": "1.3.0"
3
3
  }
data/CHANGELOG.md CHANGED
@@ -5,6 +5,56 @@ All notable changes to the OpaqueId gem will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.3.0](https://github.com/nyaggah/opaque_id/compare/opaque_id/v1.2.0...opaque_id/v1.3.0) (2025-10-02)
9
+
10
+
11
+ ### Features
12
+
13
+ * implement dynamic copyright year ([b86cea6](https://github.com/nyaggah/opaque_id/commit/b86cea66e60939377c6b0a67c1d385c9bf4bece3))
14
+ * improve documentation site theme and navigation ([304f845](https://github.com/nyaggah/opaque_id/commit/304f845a47397ea2a15f12d2c635144b39be431b))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * add frozen string literal comment to docs/Gemfile ([2d653a7](https://github.com/nyaggah/opaque_id/commit/2d653a7bbc071e67e94e63ebc1602768b8d04456))
20
+ * configure just-the-docs theme for GitHub Pages compatibility ([c2fb96c](https://github.com/nyaggah/opaque_id/commit/c2fb96c46e99fd5287520e01c3bc2dd7bd5d4817))
21
+ * resolve CSS linting warnings ([d01e8c0](https://github.com/nyaggah/opaque_id/commit/d01e8c05628b7f2bd8b39a13325112168cf4e689))
22
+ * update deprecated platform specifications in docs/Gemfile ([cf96134](https://github.com/nyaggah/opaque_id/commit/cf9613499150dd7152bff38aa8f8fe7ab9923eb5))
23
+
24
+
25
+ ### Documentation
26
+
27
+ * implement comprehensive documentation site with dark theme ([19cc9e3](https://github.com/nyaggah/opaque_id/commit/19cc9e30c584658559c5404a4518e871039cc223))
28
+ * implement comprehensive documentation site with dark theme ([a249c6a](https://github.com/nyaggah/opaque_id/commit/a249c6ad2253439f0d070620a914ff87597cf7cb))
29
+
30
+
31
+ ### Miscellaneous Chores
32
+
33
+ * configure just-the-docs theme ([3dfcac8](https://github.com/nyaggah/opaque_id/commit/3dfcac88099e65e61931e558e9242050bdbf0bc9))
34
+ * update Gemfile.lock after dependency check ([058281f](https://github.com/nyaggah/opaque_id/commit/058281f6e07f3c9a1057c6fbeb0200bccf221558))
35
+
36
+ ## [1.2.0](https://github.com/nyaggah/opaque_id/compare/opaque_id/v1.1.0...opaque_id/v1.2.0) (2025-10-02)
37
+
38
+
39
+ ### Features
40
+
41
+ * improve generator API and add custom column configuration ([5c1a570](https://github.com/nyaggah/opaque_id/commit/5c1a5703dee269f6985d26096942c086787296f3))
42
+
43
+
44
+ ### Styles
45
+
46
+ * improve code formatting in generator ([ce52021](https://github.com/nyaggah/opaque_id/commit/ce52021cd60e3594dc1ee34e5b96d48568008b5a))
47
+
48
+
49
+ ### Code Refactoring
50
+
51
+ * improve generator code quality and resolve RuboCop issues ([b658bbc](https://github.com/nyaggah/opaque_id/commit/b658bbcb29f6c0134f2bf256b24c5b3c2bccb265))
52
+
53
+
54
+ ### Tests
55
+
56
+ * add test for lowercase model names ([8ef4675](https://github.com/nyaggah/opaque_id/commit/8ef4675a0698d2cda054084360c9e80d956ddb14))
57
+
8
58
  ## [1.1.0](https://github.com/nyaggah/opaque_id/compare/opaque_id-v1.0.2...opaque_id/v1.1.0) (2025-10-02)
9
59
 
10
60
 
data/CODE_OF_CONDUCT.md CHANGED
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
17
17
  Examples of behavior that contributes to a positive environment for our
18
18
  community include:
19
19
 
20
- * Demonstrating empathy and kindness toward other people
21
- * Being respectful of differing opinions, viewpoints, and experiences
22
- * Giving and gracefully accepting constructive feedback
23
- * Accepting responsibility and apologizing to those affected by our mistakes,
20
+ - Demonstrating empathy and kindness toward other people
21
+ - Being respectful of differing opinions, viewpoints, and experiences
22
+ - Giving and gracefully accepting constructive feedback
23
+ - Accepting responsibility and apologizing to those affected by our mistakes,
24
24
  and learning from the experience
25
- * Focusing on what is best not just for us as individuals, but for the overall
25
+ - Focusing on what is best not just for us as individuals, but for the overall
26
26
  community
27
27
 
28
28
  Examples of unacceptable behavior include:
29
29
 
30
- * The use of sexualized language or imagery, and sexual attention or advances of
30
+ - The use of sexualized language or imagery, and sexual attention or advances of
31
31
  any kind
32
- * Trolling, insulting or derogatory comments, and personal or political attacks
33
- * Public or private harassment
34
- * Publishing others' private information, such as a physical or email address,
32
+ - Trolling, insulting or derogatory comments, and personal or political attacks
33
+ - Public or private harassment
34
+ - Publishing others' private information, such as a physical or email address,
35
35
  without their explicit permission
36
- * Other conduct which could reasonably be considered inappropriate in a
36
+ - Other conduct which could reasonably be considered inappropriate in a
37
37
  professional setting
38
38
 
39
39
  ## Enforcement Responsibilities
@@ -60,7 +60,7 @@ representative at an online or offline event.
60
60
 
61
61
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
62
  reported to the community leaders responsible for enforcement at
63
- [INSERT CONTACT METHOD].
63
+ [GitHub Issues](https://github.com/nyaggah/opaque_id/issues).
64
64
  All complaints will be reviewed and investigated promptly and fairly.
65
65
 
66
66
  All community leaders are obligated to respect the privacy and security of the
data/README.md CHANGED
@@ -1,7 +1,89 @@
1
1
  # OpaqueId
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/opaque_id.svg?icon=si%3Arubygems)](https://badge.fury.io/rb/opaque_id)
4
+ [![Ruby Style Guide](https://img.shields.io/badge/code_style-rubocop-brightgreen.svg)](https://github.com/rubocop/rubocop)
5
+ [![Gem Downloads](https://img.shields.io/gem/dt/opaque_id)](https://rubygems.org/gems/opaque_id)
6
+
3
7
  A Ruby gem for generating cryptographically secure, collision-free opaque IDs for ActiveRecord models. OpaqueId provides a drop-in replacement for `nanoid.rb` using Ruby's built-in `SecureRandom` methods with optimized algorithms for unbiased distribution.
4
8
 
9
+ ## Table of Contents
10
+
11
+ - [Features](#features)
12
+ - [Installation](#installation)
13
+ - [Requirements](#requirements)
14
+ - [Using Bundler (Recommended)](#using-bundler-recommended)
15
+ - [Manual Installation](#manual-installation)
16
+ - [From Source](#from-source)
17
+ - [Troubleshooting](#troubleshooting)
18
+ - [Quick Start](#quick-start)
19
+ - [1. Generate Migration and Update Model](#1-generate-migration-and-update-model)
20
+ - [2. Run Migration](#2-run-migration)
21
+ - [3. Use in Your Models](#3-use-in-your-models)
22
+ - [Usage](#usage)
23
+ - [Standalone ID Generation](#standalone-id-generation)
24
+ - [Real-World Examples](#real-world-examples)
25
+ - [ActiveRecord Integration](#activerecord-integration)
26
+ - [Rails Generator](#rails-generator)
27
+ - [Configuration Options](#configuration-options)
28
+ - [Configuration Details](#configuration-details)
29
+ - [Built-in Alphabets](#built-in-alphabets)
30
+ - [`ALPHANUMERIC_ALPHABET` (Default)](#alphanumeric_alphabet-default)
31
+ - [`STANDARD_ALPHABET`](#standard_alphabet)
32
+ - [Alphabet Comparison](#alphabet-comparison)
33
+ - [Custom Alphabets](#custom-alphabets)
34
+ - [Alphabet Selection Guide](#alphabet-selection-guide)
35
+ - [Algorithm Details](#algorithm-details)
36
+ - [Fast Path Algorithm (64-character alphabets)](#fast-path-algorithm-64-character-alphabets)
37
+ - [Unbiased Path Algorithm (other alphabets)](#unbiased-path-algorithm-other-alphabets)
38
+ - [Algorithm Selection](#algorithm-selection)
39
+ - [Performance Benchmarks](#performance-benchmarks)
40
+ - [Generation Speed (IDs per second)](#generation-speed-ids-per-second)
41
+ - [Memory Usage](#memory-usage)
42
+ - [Collision Probability](#collision-probability)
43
+ - [Performance Characteristics](#performance-characteristics)
44
+ - [Real-World Performance](#real-world-performance)
45
+ - [Performance Optimization Tips](#performance-optimization-tips)
46
+ - [Error Handling](#error-handling)
47
+ - [Security Considerations](#security-considerations)
48
+ - [Cryptographic Security](#cryptographic-security)
49
+ - [Security Best Practices](#security-best-practices)
50
+ - [Security Recommendations](#security-recommendations)
51
+ - [Threat Model Considerations](#threat-model-considerations)
52
+ - [Security Audit Checklist](#security-audit-checklist)
53
+ - [Use Cases](#use-cases)
54
+ - [E-Commerce Applications](#e-commerce-applications)
55
+ - [API Development](#api-development)
56
+ - [Content Management Systems](#content-management-systems)
57
+ - [User Management](#user-management)
58
+ - [Background Job Systems](#background-job-systems)
59
+ - [Short URL Services](#short-url-services)
60
+ - [Real-Time Applications](#real-time-applications)
61
+ - [Analytics and Tracking](#analytics-and-tracking)
62
+ - [Use Case Summary](#use-case-summary)
63
+ - [Development](#development)
64
+ - [Prerequisites](#prerequisites)
65
+ - [Setup](#setup)
66
+ - [Development Commands](#development-commands)
67
+ - [Project Structure](#project-structure)
68
+ - [Testing Strategy](#testing-strategy)
69
+ - [Release Process](#release-process)
70
+ - [Development Guidelines](#development-guidelines)
71
+ - [Contributing](#contributing)
72
+ - [Reporting Issues](#reporting-issues)
73
+ - [Issue Guidelines](#issue-guidelines)
74
+ - [Code of Conduct](#code-of-conduct)
75
+ - [Community Guidelines](#community-guidelines)
76
+ - [Getting Help](#getting-help)
77
+ - [License](#license)
78
+ - [License Summary](#license-summary)
79
+ - [Full License Text](#full-license-text)
80
+ - [License Compatibility](#license-compatibility)
81
+ - [Copyright](#copyright)
82
+ - [Third-Party Licenses](#third-party-licenses)
83
+ - [Legal Disclaimer](#legal-disclaimer)
84
+ - [Code of Conduct](#code-of-conduct-1)
85
+ - [Acknowledgements](#acknowledgements)
86
+
5
87
  ## Features
6
88
 
7
89
  - **🔐 Cryptographically Secure**: Uses Ruby's `SecureRandom` for secure ID generation
data/docs/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ _site
2
+ .sass-cache
3
+ .jekyll-cache
4
+ .jekyll-metadata
5
+ vendor
data/docs/404.html ADDED
@@ -0,0 +1,25 @@
1
+ ---
2
+ permalink: /404.html
3
+ layout: page
4
+ ---
5
+
6
+ <style type="text/css" media="screen">
7
+ .container {
8
+ margin: 10px auto;
9
+ max-width: 600px;
10
+ text-align: center;
11
+ }
12
+ h1 {
13
+ margin: 30px 0;
14
+ font-size: 4em;
15
+ line-height: 1;
16
+ letter-spacing: -1px;
17
+ }
18
+ </style>
19
+
20
+ <div class="container">
21
+ <h1>404</h1>
22
+
23
+ <p><strong>Page not found :(</strong></p>
24
+ <p>The requested page could not be found.</p>
25
+ </div>
data/docs/Gemfile ADDED
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Use GitHub Pages for deployment
6
+ gem 'github-pages', group: :jekyll_plugins
7
+
8
+ # Use Just the Docs theme (included in github-pages gem)
9
+ # gem 'just-the-docs' # This is included in github-pages gem
10
+
11
+ # If you have any plugins, put them here!
12
+ group :jekyll_plugins do
13
+ gem 'jekyll-feed', '~> 0.12'
14
+ gem 'jekyll-remote-theme'
15
+ gem 'jekyll-seo-tag'
16
+ gem 'jekyll-sitemap'
17
+ end
18
+
19
+ # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
20
+ # and associated library.
21
+ platforms :windows, :jruby do
22
+ gem 'tzinfo', '>= 1', '< 3'
23
+ gem 'tzinfo-data'
24
+ end
25
+
26
+ # Performance-booster for watching directories on Windows
27
+ gem 'wdm', '~> 0.1', platforms: [:windows]
28
+
29
+ # Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
30
+ # do not have a Java counterpart.
31
+ gem 'http_parser.rb', '~> 0.6.0', platforms: [:jruby]
data/docs/Gemfile.lock ADDED
@@ -0,0 +1,335 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ activesupport (8.0.3)
5
+ base64
6
+ benchmark (>= 0.3)
7
+ bigdecimal
8
+ concurrent-ruby (~> 1.0, >= 1.3.1)
9
+ connection_pool (>= 2.2.5)
10
+ drb
11
+ i18n (>= 1.6, < 2)
12
+ logger (>= 1.4.2)
13
+ minitest (>= 5.1)
14
+ securerandom (>= 0.3)
15
+ tzinfo (~> 2.0, >= 2.0.5)
16
+ uri (>= 0.13.1)
17
+ addressable (2.8.7)
18
+ public_suffix (>= 2.0.2, < 7.0)
19
+ base64 (0.3.0)
20
+ benchmark (0.4.1)
21
+ bigdecimal (3.2.3)
22
+ coffee-script (2.4.1)
23
+ coffee-script-source
24
+ execjs
25
+ coffee-script-source (1.12.2)
26
+ colorator (1.1.0)
27
+ commonmarker (0.23.12)
28
+ concurrent-ruby (1.3.5)
29
+ connection_pool (2.5.4)
30
+ csv (3.3.5)
31
+ dnsruby (1.73.0)
32
+ base64 (>= 0.2)
33
+ logger (~> 1.6)
34
+ simpleidn (~> 0.2.1)
35
+ drb (2.2.3)
36
+ em-websocket (0.5.3)
37
+ eventmachine (>= 0.12.9)
38
+ http_parser.rb (~> 0)
39
+ ethon (0.15.0)
40
+ ffi (>= 1.15.0)
41
+ eventmachine (1.2.7)
42
+ execjs (2.10.0)
43
+ faraday (2.14.0)
44
+ faraday-net_http (>= 2.0, < 3.5)
45
+ json
46
+ logger
47
+ faraday-net_http (3.4.1)
48
+ net-http (>= 0.5.0)
49
+ ffi (1.17.2)
50
+ ffi (1.17.2-aarch64-linux-gnu)
51
+ ffi (1.17.2-aarch64-linux-musl)
52
+ ffi (1.17.2-arm-linux-gnu)
53
+ ffi (1.17.2-arm-linux-musl)
54
+ ffi (1.17.2-arm64-darwin)
55
+ ffi (1.17.2-x86-linux-gnu)
56
+ ffi (1.17.2-x86-linux-musl)
57
+ ffi (1.17.2-x86_64-darwin)
58
+ ffi (1.17.2-x86_64-linux-gnu)
59
+ ffi (1.17.2-x86_64-linux-musl)
60
+ forwardable-extended (2.6.0)
61
+ gemoji (4.1.0)
62
+ github-pages (232)
63
+ github-pages-health-check (= 1.18.2)
64
+ jekyll (= 3.10.0)
65
+ jekyll-avatar (= 0.8.0)
66
+ jekyll-coffeescript (= 1.2.2)
67
+ jekyll-commonmark-ghpages (= 0.5.1)
68
+ jekyll-default-layout (= 0.1.5)
69
+ jekyll-feed (= 0.17.0)
70
+ jekyll-gist (= 1.5.0)
71
+ jekyll-github-metadata (= 2.16.1)
72
+ jekyll-include-cache (= 0.2.1)
73
+ jekyll-mentions (= 1.6.0)
74
+ jekyll-optional-front-matter (= 0.3.2)
75
+ jekyll-paginate (= 1.1.0)
76
+ jekyll-readme-index (= 0.3.0)
77
+ jekyll-redirect-from (= 0.16.0)
78
+ jekyll-relative-links (= 0.6.1)
79
+ jekyll-remote-theme (= 0.4.3)
80
+ jekyll-sass-converter (= 1.5.2)
81
+ jekyll-seo-tag (= 2.8.0)
82
+ jekyll-sitemap (= 1.4.0)
83
+ jekyll-swiss (= 1.0.0)
84
+ jekyll-theme-architect (= 0.2.0)
85
+ jekyll-theme-cayman (= 0.2.0)
86
+ jekyll-theme-dinky (= 0.2.0)
87
+ jekyll-theme-hacker (= 0.2.0)
88
+ jekyll-theme-leap-day (= 0.2.0)
89
+ jekyll-theme-merlot (= 0.2.0)
90
+ jekyll-theme-midnight (= 0.2.0)
91
+ jekyll-theme-minimal (= 0.2.0)
92
+ jekyll-theme-modernist (= 0.2.0)
93
+ jekyll-theme-primer (= 0.6.0)
94
+ jekyll-theme-slate (= 0.2.0)
95
+ jekyll-theme-tactile (= 0.2.0)
96
+ jekyll-theme-time-machine (= 0.2.0)
97
+ jekyll-titles-from-headings (= 0.5.3)
98
+ jemoji (= 0.13.0)
99
+ kramdown (= 2.4.0)
100
+ kramdown-parser-gfm (= 1.1.0)
101
+ liquid (= 4.0.4)
102
+ mercenary (~> 0.3)
103
+ minima (= 2.5.1)
104
+ nokogiri (>= 1.16.2, < 2.0)
105
+ rouge (= 3.30.0)
106
+ terminal-table (~> 1.4)
107
+ webrick (~> 1.8)
108
+ github-pages-health-check (1.18.2)
109
+ addressable (~> 2.3)
110
+ dnsruby (~> 1.60)
111
+ octokit (>= 4, < 8)
112
+ public_suffix (>= 3.0, < 6.0)
113
+ typhoeus (~> 1.3)
114
+ html-pipeline (2.14.3)
115
+ activesupport (>= 2)
116
+ nokogiri (>= 1.4)
117
+ http_parser.rb (0.8.0)
118
+ i18n (1.14.7)
119
+ concurrent-ruby (~> 1.0)
120
+ jekyll (3.10.0)
121
+ addressable (~> 2.4)
122
+ colorator (~> 1.0)
123
+ csv (~> 3.0)
124
+ em-websocket (~> 0.5)
125
+ i18n (>= 0.7, < 2)
126
+ jekyll-sass-converter (~> 1.0)
127
+ jekyll-watch (~> 2.0)
128
+ kramdown (>= 1.17, < 3)
129
+ liquid (~> 4.0)
130
+ mercenary (~> 0.3.3)
131
+ pathutil (~> 0.9)
132
+ rouge (>= 1.7, < 4)
133
+ safe_yaml (~> 1.0)
134
+ webrick (>= 1.0)
135
+ jekyll-avatar (0.8.0)
136
+ jekyll (>= 3.0, < 5.0)
137
+ jekyll-coffeescript (1.2.2)
138
+ coffee-script (~> 2.2)
139
+ coffee-script-source (~> 1.12)
140
+ jekyll-commonmark (1.4.0)
141
+ commonmarker (~> 0.22)
142
+ jekyll-commonmark-ghpages (0.5.1)
143
+ commonmarker (>= 0.23.7, < 1.1.0)
144
+ jekyll (>= 3.9, < 4.0)
145
+ jekyll-commonmark (~> 1.4.0)
146
+ rouge (>= 2.0, < 5.0)
147
+ jekyll-default-layout (0.1.5)
148
+ jekyll (>= 3.0, < 5.0)
149
+ jekyll-feed (0.17.0)
150
+ jekyll (>= 3.7, < 5.0)
151
+ jekyll-gist (1.5.0)
152
+ octokit (~> 4.2)
153
+ jekyll-github-metadata (2.16.1)
154
+ jekyll (>= 3.4, < 5.0)
155
+ octokit (>= 4, < 7, != 4.4.0)
156
+ jekyll-include-cache (0.2.1)
157
+ jekyll (>= 3.7, < 5.0)
158
+ jekyll-mentions (1.6.0)
159
+ html-pipeline (~> 2.3)
160
+ jekyll (>= 3.7, < 5.0)
161
+ jekyll-optional-front-matter (0.3.2)
162
+ jekyll (>= 3.0, < 5.0)
163
+ jekyll-paginate (1.1.0)
164
+ jekyll-readme-index (0.3.0)
165
+ jekyll (>= 3.0, < 5.0)
166
+ jekyll-redirect-from (0.16.0)
167
+ jekyll (>= 3.3, < 5.0)
168
+ jekyll-relative-links (0.6.1)
169
+ jekyll (>= 3.3, < 5.0)
170
+ jekyll-remote-theme (0.4.3)
171
+ addressable (~> 2.0)
172
+ jekyll (>= 3.5, < 5.0)
173
+ jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
174
+ rubyzip (>= 1.3.0, < 3.0)
175
+ jekyll-sass-converter (1.5.2)
176
+ sass (~> 3.4)
177
+ jekyll-seo-tag (2.8.0)
178
+ jekyll (>= 3.8, < 5.0)
179
+ jekyll-sitemap (1.4.0)
180
+ jekyll (>= 3.7, < 5.0)
181
+ jekyll-swiss (1.0.0)
182
+ jekyll-theme-architect (0.2.0)
183
+ jekyll (> 3.5, < 5.0)
184
+ jekyll-seo-tag (~> 2.0)
185
+ jekyll-theme-cayman (0.2.0)
186
+ jekyll (> 3.5, < 5.0)
187
+ jekyll-seo-tag (~> 2.0)
188
+ jekyll-theme-dinky (0.2.0)
189
+ jekyll (> 3.5, < 5.0)
190
+ jekyll-seo-tag (~> 2.0)
191
+ jekyll-theme-hacker (0.2.0)
192
+ jekyll (> 3.5, < 5.0)
193
+ jekyll-seo-tag (~> 2.0)
194
+ jekyll-theme-leap-day (0.2.0)
195
+ jekyll (> 3.5, < 5.0)
196
+ jekyll-seo-tag (~> 2.0)
197
+ jekyll-theme-merlot (0.2.0)
198
+ jekyll (> 3.5, < 5.0)
199
+ jekyll-seo-tag (~> 2.0)
200
+ jekyll-theme-midnight (0.2.0)
201
+ jekyll (> 3.5, < 5.0)
202
+ jekyll-seo-tag (~> 2.0)
203
+ jekyll-theme-minimal (0.2.0)
204
+ jekyll (> 3.5, < 5.0)
205
+ jekyll-seo-tag (~> 2.0)
206
+ jekyll-theme-modernist (0.2.0)
207
+ jekyll (> 3.5, < 5.0)
208
+ jekyll-seo-tag (~> 2.0)
209
+ jekyll-theme-primer (0.6.0)
210
+ jekyll (> 3.5, < 5.0)
211
+ jekyll-github-metadata (~> 2.9)
212
+ jekyll-seo-tag (~> 2.0)
213
+ jekyll-theme-slate (0.2.0)
214
+ jekyll (> 3.5, < 5.0)
215
+ jekyll-seo-tag (~> 2.0)
216
+ jekyll-theme-tactile (0.2.0)
217
+ jekyll (> 3.5, < 5.0)
218
+ jekyll-seo-tag (~> 2.0)
219
+ jekyll-theme-time-machine (0.2.0)
220
+ jekyll (> 3.5, < 5.0)
221
+ jekyll-seo-tag (~> 2.0)
222
+ jekyll-titles-from-headings (0.5.3)
223
+ jekyll (>= 3.3, < 5.0)
224
+ jekyll-watch (2.2.1)
225
+ listen (~> 3.0)
226
+ jemoji (0.13.0)
227
+ gemoji (>= 3, < 5)
228
+ html-pipeline (~> 2.2)
229
+ jekyll (>= 3.0, < 5.0)
230
+ json (2.15.0)
231
+ kramdown (2.4.0)
232
+ rexml
233
+ kramdown-parser-gfm (1.1.0)
234
+ kramdown (~> 2.0)
235
+ liquid (4.0.4)
236
+ listen (3.9.0)
237
+ rb-fsevent (~> 0.10, >= 0.10.3)
238
+ rb-inotify (~> 0.9, >= 0.9.10)
239
+ logger (1.7.0)
240
+ mercenary (0.3.6)
241
+ mini_portile2 (2.8.9)
242
+ minima (2.5.1)
243
+ jekyll (>= 3.5, < 5.0)
244
+ jekyll-feed (~> 0.9)
245
+ jekyll-seo-tag (~> 2.1)
246
+ minitest (5.25.5)
247
+ net-http (0.6.0)
248
+ uri
249
+ nokogiri (1.18.10)
250
+ mini_portile2 (~> 2.8.2)
251
+ racc (~> 1.4)
252
+ nokogiri (1.18.10-aarch64-linux-gnu)
253
+ racc (~> 1.4)
254
+ nokogiri (1.18.10-aarch64-linux-musl)
255
+ racc (~> 1.4)
256
+ nokogiri (1.18.10-arm-linux-gnu)
257
+ racc (~> 1.4)
258
+ nokogiri (1.18.10-arm-linux-musl)
259
+ racc (~> 1.4)
260
+ nokogiri (1.18.10-arm64-darwin)
261
+ racc (~> 1.4)
262
+ nokogiri (1.18.10-x86_64-darwin)
263
+ racc (~> 1.4)
264
+ nokogiri (1.18.10-x86_64-linux-gnu)
265
+ racc (~> 1.4)
266
+ nokogiri (1.18.10-x86_64-linux-musl)
267
+ racc (~> 1.4)
268
+ octokit (4.25.1)
269
+ faraday (>= 1, < 3)
270
+ sawyer (~> 0.9)
271
+ pathutil (0.16.2)
272
+ forwardable-extended (~> 2.6)
273
+ public_suffix (5.1.1)
274
+ racc (1.8.1)
275
+ rb-fsevent (0.11.2)
276
+ rb-inotify (0.11.1)
277
+ ffi (~> 1.0)
278
+ rexml (3.4.4)
279
+ rouge (3.30.0)
280
+ rubyzip (2.4.1)
281
+ safe_yaml (1.0.5)
282
+ sass (3.7.4)
283
+ sass-listen (~> 4.0.0)
284
+ sass-listen (4.0.0)
285
+ rb-fsevent (~> 0.9, >= 0.9.4)
286
+ rb-inotify (~> 0.9, >= 0.9.7)
287
+ sawyer (0.9.2)
288
+ addressable (>= 2.3.5)
289
+ faraday (>= 0.17.3, < 3)
290
+ securerandom (0.4.1)
291
+ simpleidn (0.2.3)
292
+ terminal-table (1.8.0)
293
+ unicode-display_width (~> 1.1, >= 1.1.1)
294
+ typhoeus (1.5.0)
295
+ ethon (>= 0.9.0, < 0.16.0)
296
+ tzinfo (2.0.6)
297
+ concurrent-ruby (~> 1.0)
298
+ unicode-display_width (1.8.0)
299
+ uri (1.0.3)
300
+ webrick (1.9.1)
301
+
302
+ PLATFORMS
303
+ aarch64-linux-android
304
+ aarch64-linux-gnu
305
+ aarch64-linux-musl
306
+ arm-linux-androideabi
307
+ arm-linux-gnu
308
+ arm-linux-gnueabihf
309
+ arm-linux-musl
310
+ arm-linux-musleabihf
311
+ arm64-darwin
312
+ riscv64-linux-android
313
+ riscv64-linux-gnu
314
+ riscv64-linux-musl
315
+ ruby
316
+ x86-linux-gnu
317
+ x86-linux-musl
318
+ x86_64-darwin
319
+ x86_64-linux-android
320
+ x86_64-linux-gnu
321
+ x86_64-linux-musl
322
+
323
+ DEPENDENCIES
324
+ github-pages
325
+ http_parser.rb (~> 0.6.0)
326
+ jekyll-feed (~> 0.12)
327
+ jekyll-remote-theme
328
+ jekyll-seo-tag
329
+ jekyll-sitemap
330
+ tzinfo (>= 1, < 3)
331
+ tzinfo-data
332
+ wdm (~> 0.1)
333
+
334
+ BUNDLED WITH
335
+ 2.7.2