frameit 2.5.1 → 2.6.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 +4 -4
- data/README.md +31 -31
- data/bin/frameit +11 -0
- data/lib/frameit.rb +5 -0
- data/lib/frameit/frame_converter.rb +23 -2
- data/lib/frameit/offsets.rb +22 -8
- data/lib/frameit/options.rb +14 -0
- data/lib/frameit/screenshot.rb +1 -1
- data/lib/frameit/template_finder.rb +65 -19
- data/lib/frameit/version.rb +1 -1
- metadata +20 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ca41caa77fe286974535798d0cfd0b7e9d40817f
|
|
4
|
+
data.tar.gz: b3c561df48818d59d872d441a78794d8c18a69a0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3239ebd211e9c2c6bc9037cbd780d338b29dad61a63cd3e4a6b203a354fc73d6549a9ae23d62d93e4db9b88a28ccaac8968cc53abcafd42fded6e64e34578ece
|
|
7
|
+
data.tar.gz: 66b4c0349ae6c2c019ec9981d5593c40a192e1aef344dda7d9b63cd870509ffcdb37abc2f94384d86ab59c1dfb3b26610b315b8da35fbb187336324e95fd4c30
|
data/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
<h3 align="center">
|
|
2
|
-
<a href="https://github.com/fastlane/fastlane">
|
|
3
|
-
<img src="assets/fastlane.png" width="150" />
|
|
2
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/fastlane">
|
|
3
|
+
<img src="../fastlane/assets/fastlane.png" width="150" />
|
|
4
4
|
<br />
|
|
5
5
|
fastlane
|
|
6
6
|
</a>
|
|
7
7
|
</h3>
|
|
8
8
|
<p align="center">
|
|
9
|
-
<a href="https://github.com/fastlane/deliver">deliver</a> •
|
|
10
|
-
<a href="https://github.com/fastlane/snapshot">snapshot</a> •
|
|
9
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/deliver">deliver</a> •
|
|
10
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/snapshot">snapshot</a> •
|
|
11
11
|
<b>frameit</b> •
|
|
12
|
-
<a href="https://github.com/fastlane/pem">pem</a> •
|
|
13
|
-
<a href="https://github.com/fastlane/sigh">sigh</a> •
|
|
14
|
-
<a href="https://github.com/fastlane/produce">produce</a> •
|
|
15
|
-
<a href="https://github.com/fastlane/cert">cert</a> •
|
|
16
|
-
<a href="https://github.com/fastlane/spaceship">spaceship</a> •
|
|
17
|
-
<a href="https://github.com/fastlane/pilot">pilot</a> •
|
|
12
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/pem">pem</a> •
|
|
13
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/sigh">sigh</a> •
|
|
14
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/produce">produce</a> •
|
|
15
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/cert">cert</a> •
|
|
16
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/spaceship">spaceship</a> •
|
|
17
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/pilot">pilot</a> •
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
|
19
|
-
<a href="https://github.com/fastlane/gym">gym</a> •
|
|
20
|
-
<a href="https://github.com/fastlane/scan">scan</a> •
|
|
21
|
-
<a href="https://github.com/fastlane/match">match</a>
|
|
19
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
|
20
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
|
22
22
|
</p>
|
|
23
23
|
-------
|
|
24
24
|
|
|
@@ -30,9 +30,9 @@ frameit
|
|
|
30
30
|
============
|
|
31
31
|
|
|
32
32
|
[](https://twitter.com/FastlaneTools)
|
|
33
|
-
[](https://github.com/fastlane/
|
|
33
|
+
[](https://github.com/fastlane/fastlane/blob/master/frameit/LICENSE)
|
|
34
34
|
[](http://rubygems.org/gems/frameit)
|
|
35
|
-
[](https://circleci.com/gh/fastlane/fastlane)
|
|
36
36
|
|
|
37
37
|
###### Quickly put your screenshots into the right device frames
|
|
38
38
|
|
|
@@ -122,7 +122,7 @@ When using `frameit` without titles on top, the screenshots will have the full r
|
|
|
122
122
|
|
|
123
123
|
# Titles and Background (optional)
|
|
124
124
|
|
|
125
|
-
With `frameit` 2.0 you are now able to add a custom background, title and text colors to your screenshots.
|
|
125
|
+
With `frameit` 2.0 you are now able to add a custom background, title and text colors to your screenshots.
|
|
126
126
|
|
|
127
127
|
A working example can be found in the [fastlane examples](https://github.com/fastlane/examples/tree/master/MindNode/screenshots) project.
|
|
128
128
|
|
|
@@ -185,12 +185,12 @@ To define the title and optionally the keyword, put two `.strings` files into th
|
|
|
185
185
|
|
|
186
186
|
The `keyword.strings` and `title.strings` are standard `.strings` file you already use for your iOS apps, making it easy to use your existing translation service to get localized titles.
|
|
187
187
|
|
|
188
|
-
**Note:** These `.strings` files **MUST** be utf-16 encoded (UTF-16 LE with BOM). They also must begin with an empty line. If you are having trouble see [issue #
|
|
188
|
+
**Note:** These `.strings` files **MUST** be utf-16 encoded (UTF-16 LE with BOM). They also must begin with an empty line. If you are having trouble see [issue #1740](https://github.com/fastlane/fastlane/issues/1740)
|
|
189
189
|
|
|
190
190
|
|
|
191
191
|
#### Uploading screenshots to iTC
|
|
192
192
|
|
|
193
|
-
Use [deliver](https://github.com/fastlane/deliver) to upload all screenshots to iTunes Connect completely automatically :rocket:
|
|
193
|
+
Use [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) to upload all screenshots to iTunes Connect completely automatically :rocket:
|
|
194
194
|
|
|
195
195
|
### Mac
|
|
196
196
|
|
|
@@ -231,23 +231,23 @@ Check out the [MindNode example project](https://github.com/fastlane/examples/tr
|
|
|
231
231
|
## [`fastlane`](https://fastlane.tools) Toolchain
|
|
232
232
|
|
|
233
233
|
- [`fastlane`](https://fastlane.tools): Connect all deployment tools into one streamlined workflow
|
|
234
|
-
- [`deliver`](https://github.com/fastlane/deliver): Upload screenshots, metadata and your app to the App Store
|
|
235
|
-
- [`snapshot`](https://github.com/fastlane/snapshot): Automate taking localized screenshots of your iOS app on every device
|
|
236
|
-
- [`pem`](https://github.com/fastlane/pem): Automatically generate and renew your push notification profiles
|
|
237
|
-
- [`sigh`](https://github.com/fastlane/sigh): Because you would rather spend your time building stuff than fighting provisioning
|
|
238
|
-
- [`produce`](https://github.com/fastlane/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
|
|
239
|
-
- [`cert`](https://github.com/fastlane/cert): Automatically create and maintain iOS code signing certificates
|
|
240
|
-
- [`spaceship`](https://github.com/fastlane/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
|
|
241
|
-
- [`pilot`](https://github.com/fastlane/pilot): The best way to manage your TestFlight testers and builds from your terminal
|
|
234
|
+
- [`deliver`](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata and your app to the App Store
|
|
235
|
+
- [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS app on every device
|
|
236
|
+
- [`pem`](https://github.com/fastlane/fastlane/tree/master/pem): Automatically generate and renew your push notification profiles
|
|
237
|
+
- [`sigh`](https://github.com/fastlane/fastlane/tree/master/sigh): Because you would rather spend your time building stuff than fighting provisioning
|
|
238
|
+
- [`produce`](https://github.com/fastlane/fastlane/tree/master/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
|
|
239
|
+
- [`cert`](https://github.com/fastlane/fastlane/tree/master/cert): Automatically create and maintain iOS code signing certificates
|
|
240
|
+
- [`spaceship`](https://github.com/fastlane/fastlane/tree/master/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
|
|
241
|
+
- [`pilot`](https://github.com/fastlane/fastlane/tree/master/pilot): The best way to manage your TestFlight testers and builds from your terminal
|
|
242
242
|
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
|
|
243
|
-
- [`gym`](https://github.com/fastlane/gym): Building your iOS apps has never been easier
|
|
244
|
-
- [`scan`](https://github.com/fastlane/scan): The easiest way to run tests of your iOS and Mac app
|
|
245
|
-
- [`match`](https://github.com/fastlane/match): Easily sync your certificates and profiles across your team using git
|
|
243
|
+
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
|
|
244
|
+
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
|
245
|
+
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
|
246
246
|
|
|
247
247
|
##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
|
|
248
248
|
|
|
249
249
|
## Generate localized screenshots
|
|
250
|
-
Check out [`snapshot`](https://github.com/fastlane/snapshot) to automatically generate screenshots using ```UI Automation```.
|
|
250
|
+
Check out [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot) to automatically generate screenshots using ```UI Automation```.
|
|
251
251
|
|
|
252
252
|
## Alternative location to store device_frames
|
|
253
253
|
|
|
@@ -277,7 +277,7 @@ brew install imagemagick
|
|
|
277
277
|
Please submit an issue on GitHub and provide information about your setup
|
|
278
278
|
|
|
279
279
|
# Code of Conduct
|
|
280
|
-
Help us keep `frameit` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/
|
|
280
|
+
Help us keep `frameit` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
|
|
281
281
|
|
|
282
282
|
# License
|
|
283
283
|
This project is licensed under the terms of the MIT license. See the LICENSE file.
|
data/bin/frameit
CHANGED
|
@@ -19,6 +19,7 @@ class FrameItApplication
|
|
|
19
19
|
program :help_formatter, :compact
|
|
20
20
|
|
|
21
21
|
global_option('--verbose') { $verbose = true }
|
|
22
|
+
FastlaneCore::CommanderGenerator.new.generate(Frameit::Options.available_options)
|
|
22
23
|
|
|
23
24
|
default_command :black
|
|
24
25
|
|
|
@@ -27,6 +28,7 @@ class FrameItApplication
|
|
|
27
28
|
c.description = "Adds a black frame around all screenshots."
|
|
28
29
|
|
|
29
30
|
c.action do |args, options|
|
|
31
|
+
load_config(options)
|
|
30
32
|
Frameit::Runner.new.run('.', Frameit::Color::BLACK)
|
|
31
33
|
end
|
|
32
34
|
end
|
|
@@ -36,6 +38,7 @@ class FrameItApplication
|
|
|
36
38
|
c.description = "Adds a silver frame around all screenshots."
|
|
37
39
|
|
|
38
40
|
c.action do |args, options|
|
|
41
|
+
load_config(options)
|
|
39
42
|
Frameit::Runner.new.run('.', Frameit::Color::SILVER)
|
|
40
43
|
end
|
|
41
44
|
end
|
|
@@ -53,6 +56,14 @@ class FrameItApplication
|
|
|
53
56
|
|
|
54
57
|
run!
|
|
55
58
|
end
|
|
59
|
+
|
|
60
|
+
private
|
|
61
|
+
|
|
62
|
+
def load_config(options)
|
|
63
|
+
o = options.__hash__.dup
|
|
64
|
+
o.delete(:verbose)
|
|
65
|
+
Frameit.config = FastlaneCore::Configuration.create(Frameit::Options.available_options, o)
|
|
66
|
+
end
|
|
56
67
|
end
|
|
57
68
|
|
|
58
69
|
begin
|
data/lib/frameit.rb
CHANGED
|
@@ -11,10 +11,15 @@ require 'frameit/template_finder'
|
|
|
11
11
|
require 'frameit/strings_parser'
|
|
12
12
|
require 'frameit/mac_editor'
|
|
13
13
|
require 'frameit/dependency_checker'
|
|
14
|
+
require 'frameit/options'
|
|
14
15
|
|
|
15
16
|
require 'fastlane_core'
|
|
16
17
|
|
|
17
18
|
module Frameit
|
|
19
|
+
class << self
|
|
20
|
+
attr_accessor :config
|
|
21
|
+
end
|
|
22
|
+
|
|
18
23
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|
|
19
24
|
UI = FastlaneCore::UI
|
|
20
25
|
end
|
|
@@ -9,7 +9,7 @@ module Frameit
|
|
|
9
9
|
|
|
10
10
|
def setup_frames
|
|
11
11
|
UI.success "----------------------------------------------------"
|
|
12
|
-
UI.success "Looks like you
|
|
12
|
+
UI.success "Looks like you'd like to install new device templates"
|
|
13
13
|
UI.success "The images can not be pre-installed due to licensing"
|
|
14
14
|
UI.success "Press Enter to get started"
|
|
15
15
|
UI.success "----------------------------------------------------"
|
|
@@ -18,7 +18,7 @@ module Frameit
|
|
|
18
18
|
system("open '#{DOWNLOAD_URL}'")
|
|
19
19
|
UI.success "----------------------------------------------------"
|
|
20
20
|
UI.success "Download the zip files for the following devices"
|
|
21
|
-
UI.success "iPhone 6s, iPhone 6s Plus, iPhone
|
|
21
|
+
UI.success "iPhone 6s, iPhone 6s Plus, iPhone SE, iPad mini 4 and iPad Pro"
|
|
22
22
|
UI.success "You only need to download the devices you want to use"
|
|
23
23
|
UI.success "Press Enter when you downloaded the zip files"
|
|
24
24
|
UI.success "----------------------------------------------------"
|
|
@@ -64,6 +64,27 @@ module Frameit
|
|
|
64
64
|
|
|
65
65
|
UI.important "Converting PSD file '#{psd}'"
|
|
66
66
|
image = MiniMagick::Image.open(psd)
|
|
67
|
+
|
|
68
|
+
if psd =~ /iPhone-SE/
|
|
69
|
+
UI.success "Removing white background 🚫 ⬜️"
|
|
70
|
+
|
|
71
|
+
# The iPhone-SE screenshots from April 2016 have
|
|
72
|
+
# 3 layers, a background, a product, and the 'put your image here' layer
|
|
73
|
+
# imagemagick seems to add an additional layer with no label which this the
|
|
74
|
+
# composite of all three. We want to remove the background and composite layer
|
|
75
|
+
good_layers = image.layers.reject do |layer|
|
|
76
|
+
label = layer.details['Properties']['label']
|
|
77
|
+
label.to_s.length == 0 || label =~ /White B/i
|
|
78
|
+
end
|
|
79
|
+
product_layer = good_layers.shift
|
|
80
|
+
|
|
81
|
+
good_layers.each do |layer|
|
|
82
|
+
product_layer.layers << layer
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
image = product_layer
|
|
86
|
+
end
|
|
87
|
+
|
|
67
88
|
if image
|
|
68
89
|
image.format 'png'
|
|
69
90
|
image.trim
|
data/lib/frameit/offsets.rb
CHANGED
|
@@ -19,10 +19,17 @@ module Frameit
|
|
|
19
19
|
'width' => 530
|
|
20
20
|
}
|
|
21
21
|
when size::IOS_40
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
if Frameit.config[:use_legacy_iphone5s]
|
|
23
|
+
return {
|
|
24
|
+
'offset' => "+54+197",
|
|
25
|
+
'width' => 544
|
|
26
|
+
}
|
|
27
|
+
else
|
|
28
|
+
return {
|
|
29
|
+
'offset' => "+48+178",
|
|
30
|
+
'width' => 485
|
|
31
|
+
}
|
|
32
|
+
end
|
|
26
33
|
when size::IOS_35
|
|
27
34
|
return {
|
|
28
35
|
'offset' => "+59+260",
|
|
@@ -52,10 +59,17 @@ module Frameit
|
|
|
52
59
|
'width' => 946
|
|
53
60
|
}
|
|
54
61
|
when size::IOS_40
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
if Frameit.config[:use_legacy_iphone5s]
|
|
63
|
+
return {
|
|
64
|
+
'offset' => "+201+48",
|
|
65
|
+
'width' => 970
|
|
66
|
+
}
|
|
67
|
+
else
|
|
68
|
+
return {
|
|
69
|
+
'offset' => "+177+41",
|
|
70
|
+
'width' => 859
|
|
71
|
+
}
|
|
72
|
+
end
|
|
59
73
|
when size::IOS_35
|
|
60
74
|
return {
|
|
61
75
|
'offset' => "+258+52",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Frameit
|
|
2
|
+
class Options
|
|
3
|
+
def self.available_options
|
|
4
|
+
@options ||= [
|
|
5
|
+
FastlaneCore::ConfigItem.new(key: :use_legacy_iphone5s,
|
|
6
|
+
env_name: "FRAMEIT_USE_LEGACY_IPHONE_5_S",
|
|
7
|
+
optional: true,
|
|
8
|
+
is_string: false,
|
|
9
|
+
description: "use iPhone 5s instead of iPhone SE frames",
|
|
10
|
+
default_value: false)
|
|
11
|
+
]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/frameit/screenshot.rb
CHANGED
|
@@ -1,38 +1,84 @@
|
|
|
1
1
|
module Frameit
|
|
2
2
|
# Responsible for finding the correct device
|
|
3
3
|
class TemplateFinder
|
|
4
|
+
|
|
5
|
+
class FilenameTransform
|
|
6
|
+
def initialize(device_name)
|
|
7
|
+
@device_name = device_name
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Example: iPhone_5s_Vert_SpaceGray_sRGB
|
|
12
|
+
class Type1Transform < FilenameTransform
|
|
13
|
+
def transform(color, orientation)
|
|
14
|
+
# Note the * on the end to handle the _sRGB part
|
|
15
|
+
"#{@device_name}_#{orientation}_#{color}*"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Example: iPad-Pro-Space-Gray-vertical.png
|
|
20
|
+
class Type2Transform < FilenameTransform
|
|
21
|
+
def transform(color, orientation)
|
|
22
|
+
fixed_color = color == 'SpaceGray' ? "Space-Gray" : "Silver"
|
|
23
|
+
fixed_orientation = orientation == 'Horz' ? 'horizontal' : 'vertical'
|
|
24
|
+
"#{@device_name}-#{fixed_color}-#{fixed_orientation}"
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Example: iPhone-SE-Space-Gray
|
|
29
|
+
# Note that 'vertical' is implied
|
|
30
|
+
class Type3Transform < FilenameTransform
|
|
31
|
+
def transform(color, orientation)
|
|
32
|
+
fixed_color = color == 'SpaceGray' ? "Space-Gray" : "Silver"
|
|
33
|
+
filename = "#{@device_name}-#{fixed_color}"
|
|
34
|
+
if orientation == 'Horz'
|
|
35
|
+
"#{filename}-horizontal"
|
|
36
|
+
else
|
|
37
|
+
filename
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
DEVICE_TO_TRANSFORM_TYPE = {
|
|
43
|
+
'iPhone-SE' => Type3Transform.new('iPhone-SE'),
|
|
44
|
+
'iPad-Pro' => Type2Transform.new('iPad-Pro'),
|
|
45
|
+
'iPad-mini' => Type2Transform.new('iPad-mini'),
|
|
46
|
+
'iPhone-6s' => Type2Transform.new('iPhone-6s'),
|
|
47
|
+
'iPhone-6s-Plus' => Type2Transform.new('iPhone-6s-Plus')
|
|
48
|
+
}
|
|
49
|
+
|
|
4
50
|
# This will detect the screen size and choose the correct template
|
|
5
51
|
def self.get_template(screenshot)
|
|
6
52
|
return nil if screenshot.mac?
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if screenshot.device_name.include?('iPad') || screenshot.device_name.include?('6s')
|
|
15
|
-
parts = [
|
|
16
|
-
screenshot.device_name,
|
|
17
|
-
(screenshot.color == 'SpaceGray' ? "Space-Gray" : "Silver"),
|
|
18
|
-
(screenshot.orientation_name == "Horz" ? "horizontal" : "vertical")
|
|
19
|
-
]
|
|
20
|
-
joiner = "-"
|
|
21
|
-
end
|
|
53
|
+
|
|
54
|
+
transformer = DEVICE_TO_TRANSFORM_TYPE[screenshot.device_name]
|
|
55
|
+
|
|
56
|
+
# The "original" pattern is the type 1 transform
|
|
57
|
+
# so if we don't have something more specific, go for that
|
|
58
|
+
transformer ||= Type1Transform.new(screenshot.device_name)
|
|
59
|
+
filename = transformer.transform(screenshot.color, screenshot.orientation_name)
|
|
22
60
|
|
|
23
61
|
templates_path = [ENV['HOME'], FrameConverter::FRAME_PATH].join('/')
|
|
24
|
-
templates = Dir["../**/#{
|
|
25
|
-
templates += Dir["#{templates_path}/**/#{
|
|
62
|
+
templates = Dir["../**/#{filename}.{png,jpg}"] # local directory
|
|
63
|
+
templates += Dir["#{templates_path}/**/#{filename}.{png,jpg}"] # ~/.frameit folder
|
|
64
|
+
|
|
65
|
+
UI.verbose "Looking for #{filename} and found #{templates.count}"
|
|
26
66
|
|
|
27
67
|
if templates.count == 0
|
|
28
68
|
if screenshot.screen_size == Deliver::AppScreenshot::ScreenSize::IOS_35
|
|
29
69
|
UI.important "Unfortunately 3.5\" device frames were discontinued. Skipping screen '#{screenshot.path}'"
|
|
30
|
-
UI.error "Looked for: '#{
|
|
70
|
+
UI.error "Looked for: '#{filename}.png'"
|
|
71
|
+
elsif screenshot.device_name == 'iPhone-SE'
|
|
72
|
+
UI.error "By default frameit uses the iPhone SE for screenshots"
|
|
73
|
+
UI.error "Unable to find a frame #{filename}.png"
|
|
74
|
+
UI.error "You can download iPhone-SE templates from '#{FrameConverter::DOWNLOAD_URL}'"
|
|
75
|
+
UI.error "and store them in '#{templates_path}'"
|
|
76
|
+
UI.error "\nIf you'd prefer to use the old iPhone 5s templates, add the option --use_legacy_iphone5s"
|
|
31
77
|
else
|
|
32
78
|
UI.error "Could not find a valid template for screenshot '#{screenshot.path}'"
|
|
33
79
|
UI.error "You can download new templates from '#{FrameConverter::DOWNLOAD_URL}'"
|
|
34
80
|
UI.error "and store them in '#{templates_path}'"
|
|
35
|
-
UI.error "Missing file: '#{
|
|
81
|
+
UI.error "Missing file: '#{filename}.png'"
|
|
36
82
|
end
|
|
37
83
|
return nil
|
|
38
84
|
else
|
data/lib/frameit/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: frameit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Felix Krause
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-04-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: fastlane_core
|
|
@@ -114,6 +114,20 @@ dependencies:
|
|
|
114
114
|
- - "~>"
|
|
115
115
|
- !ruby/object:Gem::Version
|
|
116
116
|
version: 3.1.0
|
|
117
|
+
- !ruby/object:Gem::Dependency
|
|
118
|
+
name: rspec_junit_formatter
|
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - "~>"
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: 0.2.3
|
|
124
|
+
type: :development
|
|
125
|
+
prerelease: false
|
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
127
|
+
requirements:
|
|
128
|
+
- - "~>"
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: 0.2.3
|
|
117
131
|
- !ruby/object:Gem::Dependency
|
|
118
132
|
name: pry
|
|
119
133
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -190,14 +204,14 @@ dependencies:
|
|
|
190
204
|
requirements:
|
|
191
205
|
- - "~>"
|
|
192
206
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: 0.
|
|
207
|
+
version: 0.38.0
|
|
194
208
|
type: :development
|
|
195
209
|
prerelease: false
|
|
196
210
|
version_requirements: !ruby/object:Gem::Requirement
|
|
197
211
|
requirements:
|
|
198
212
|
- - "~>"
|
|
199
213
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: 0.
|
|
214
|
+
version: 0.38.0
|
|
201
215
|
description: Quickly put your screenshots into the right device frames
|
|
202
216
|
email:
|
|
203
217
|
- frameit@krausefx.com
|
|
@@ -218,6 +232,7 @@ files:
|
|
|
218
232
|
- lib/frameit/frame_converter.rb
|
|
219
233
|
- lib/frameit/mac_editor.rb
|
|
220
234
|
- lib/frameit/offsets.rb
|
|
235
|
+
- lib/frameit/options.rb
|
|
221
236
|
- lib/frameit/runner.rb
|
|
222
237
|
- lib/frameit/screenshot.rb
|
|
223
238
|
- lib/frameit/strings_parser.rb
|
|
@@ -243,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
243
258
|
version: '0'
|
|
244
259
|
requirements: []
|
|
245
260
|
rubyforge_project:
|
|
246
|
-
rubygems_version: 2.
|
|
261
|
+
rubygems_version: 2.6.2
|
|
247
262
|
signing_key:
|
|
248
263
|
specification_version: 4
|
|
249
264
|
summary: Quickly put your screenshots into the right device frames
|