distorted 0.4.0 → 0.5.2
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 +4 -4
- data/README.md +15 -6
- metadata +38 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb15ff31f83ed99c4baf79f956129ffa49755646dc37a67dc294361f048899ad
|
4
|
+
data.tar.gz: 9d90f3beba6d8bb00c0a396a2adc01aea5bcf6cfbf6e417a7f85f15ec340f4cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4caaab9149da9f09928d100cda0272da3c85b675274c8a4a236b7e684a26fa179b9dde22f360231bfec549f38064bb1d6da5979869e9d0a433e466cacdc7cac5
|
7
|
+
data.tar.gz: d567b630fbbc60ae3d140e51e4ae58a71d4ba94a236847eec6c21d6db425668b6bd590ac66de5b9c933bbc2830807340a31bca88fca09e068c968a139eff4ee7
|
data/README.md
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
`DistorteD` is a multimedia framework for Jekyll websites.
|
4
4
|
|
5
5
|
Right now this repo contains two Gems:
|
6
|
-
- `DistorteD-Jekyll` contains anything and everything that depends on Jekyll.
|
7
|
-
- `DistorteD-Ruby` contains just the abstract media file format handling code. It's separate so I can use those functions in other contexts and/or easily replace the Ruby core if necessary.
|
6
|
+
- [`DistorteD-Jekyll`](https://rubygems.org/gems/distorted-jekyll) contains anything and everything that depends on Jekyll.
|
7
|
+
- [`DistorteD-Ruby`](https://rubygems.org/gems/distorted) contains just the abstract media file format handling code. It's separate so I can use those functions in other contexts and/or easily replace the Ruby core if necessary.
|
8
8
|
|
9
9
|
## Motivation
|
10
10
|
|
@@ -27,7 +27,7 @@ I wanted a solution that fit all of my preferences:
|
|
27
27
|
- I try to [avoid shelling out](https://julialang.org/blog/2012/03/shelling-out-sucks/) if possible, mostly for the sake of efficiency with very large Jekyll sites so we aren't forking and spawning an entire shell just to call `convert` or `ffmpeg` for every single image in every single page. That means avoiding some popular libraries like [mini_magick](https://github.com/minimagick/minimagick/blob/master/lib/mini_magick/shell.rb) and [streamio-ffmpeg](https://github.com/streamio/streamio-ffmpeg/blob/master/lib/streamio-ffmpeg.rb).
|
28
28
|
- I want to support many media types (images, videos, PDF, SVG, etc) with the same syntax and workflow on the source side, and with consistent look-and-feel on the output side.
|
29
29
|
- I want my media files to be able to live in the same directory as their corresponding post/page Markdown. This is something I think Hugo gets right with its concept of [Page Bundles](https://gohugo.io/content-management/page-bundles/). You can get similar functionality with [jekyll-postfiles](https://nhoizey.github.io/jekyll-postfiles/), but it won't generate thumbnails or `<img>`/`<picture>` tags for you. Most Jekyll asset plugins want me to have a single images folder for my entire site.
|
30
|
-
- I don't want to depend on any APIs, so plugins like [jekyll-cloudinary](https://nhoizey.github.io/jekyll-cloudinary/)
|
30
|
+
- I don't want to depend on any APIs, so plugins like [jekyll-cloudinary](https://nhoizey.github.io/jekyll-cloudinary/), [S3_Video](https://gist.github.com/TimShi/a48fa83abbc8a0242557), and [jekyll-imgix](https://docs.imgix.com/libraries/jekyll-imgix) are out.
|
31
31
|
- I want automatic format conversion to maximize compatibility and efficiency, e.g. JPEGs and PNGs should also generate a WebP, native WebPs should generate JPEG or PNG for older browsers, single-frame GIFs should generate a PNG/WebP, animated GIFs should generate an MPEG-4 (or other format) video, all videos should generate HLS and DASH segments/playlists, etc.
|
32
32
|
- I want to good defaults handling of things like EXIF tag sanitization, auto-rotation, smart cropping, and chosen formats. Any of these options should be configurable per-instance with a Maruku/Kramdown-style [attribute list](https://golem.ph.utexas.edu/~distler/maruku/proposal.html).
|
33
33
|
|
@@ -37,10 +37,13 @@ Images are fairly well supported and are enabled by default. Video support is ve
|
|
37
37
|
|
38
38
|
## Installation
|
39
39
|
|
40
|
-
Add
|
40
|
+
Add to your site's Gemfile:
|
41
41
|
|
42
42
|
```ruby
|
43
|
-
|
43
|
+
group :jekyll_plugins do
|
44
|
+
gem 'distorted-jekyll'
|
45
|
+
gem 'distorted'
|
46
|
+
end
|
44
47
|
```
|
45
48
|
|
46
49
|
And then execute:
|
@@ -107,6 +110,12 @@ Or, for a DD grid:
|
|
107
110
|
|
108
111
|
Here's an example of embedding an example image in a Jekyll demo site's first post. No site configuration was changed aside from installing the Gem.
|
109
112
|
|
113
|
+
The Markdown:
|
114
|
+
|
115
|
+
```
|
116
|
+

|
117
|
+
```
|
118
|
+
|
110
119
|
The log output:
|
111
120
|
|
112
121
|
```
|
@@ -135,7 +144,7 @@ And the actual template output that ends up in the final page:
|
|
135
144
|
<source srcset="/jekyll/update/2020/06/17/DistorteD-small.webp" media="(max-width: 400px)" />
|
136
145
|
<source srcset="/jekyll/update/2020/06/17/DistorteD-medium.webp" media="(min-width: 800px)" />
|
137
146
|
<source srcset="/jekyll/update/2020/06/17/DistorteD-large.webp" media="(min-width: 1500px)" />
|
138
|
-
<img src="/jekyll/update/2020/06/17/DistorteD.png" alt="DistorteD logo" title="
|
147
|
+
<img src="/jekyll/update/2020/06/17/DistorteD.png" alt="DistorteD logo" title="This is so cool" loading="eager" />
|
139
148
|
</picture>
|
140
149
|
</a>
|
141
150
|
<span style="clear: left;"></span>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: distorted
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Allison Reid
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,34 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: gstreamer
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.4'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.4'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: mime-types
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.0'
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
84
|
name: ruby-vips
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,33 +95,33 @@ dependencies:
|
|
67
95
|
- !ruby/object:Gem::Version
|
68
96
|
version: '2.0'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
98
|
+
name: svg_optimizer
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
101
|
- - "~>"
|
74
102
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
103
|
+
version: 0.2.5
|
76
104
|
type: :runtime
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
108
|
- - "~>"
|
81
109
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
110
|
+
version: 0.2.5
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
112
|
+
name: hexapdf
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
115
|
- - "~>"
|
88
116
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
117
|
+
version: 0.11.9
|
90
118
|
type: :runtime
|
91
119
|
prerelease: false
|
92
120
|
version_requirements: !ruby/object:Gem::Requirement
|
93
121
|
requirements:
|
94
122
|
- - "~>"
|
95
123
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
124
|
+
version: 0.11.9
|
97
125
|
description: Ruby implementation of core file-format operations used by DistorteD-Jekyll.
|
98
126
|
email:
|
99
127
|
- root@cooltrainer.org
|
@@ -114,14 +142,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
114
142
|
requirements:
|
115
143
|
- - ">="
|
116
144
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
145
|
+
version: 2.7.0
|
118
146
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
147
|
requirements:
|
120
148
|
- - ">="
|
121
149
|
- !ruby/object:Gem::Version
|
122
150
|
version: '0'
|
123
151
|
requirements: []
|
124
|
-
rubygems_version: 3.1.
|
152
|
+
rubygems_version: 3.1.4
|
125
153
|
signing_key:
|
126
154
|
specification_version: 4
|
127
155
|
summary: Media transformation framework core functionality.
|