motion-qlcommonmark 1.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 +7 -0
- data/README.md +39 -0
- data/lib/motion-qlcommonmark.rb +7 -0
- data/lib/project/project.rb +39 -0
- data/lib/project/qlcommonmark.rb +81 -0
- data/lib/project/rake_tasks.rb +9 -0
- metadata +63 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b6cb1507aabef9d6d52eb4ba4d736064be892c41
|
4
|
+
data.tar.gz: 1878854f01bf56ce54182e4458ae2b7c28845970
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ac2d4bd786a0183fac63ccfc6b3abf1d79d9e2c96ac8ec550ee989e81ea53173ec637df1c89fca2930cc50f318560077578e08d7e18dcc86dbdd1de160e5d0ca
|
7
|
+
data.tar.gz: a293e56fcbd694b239c168a86d78619a80eb11d7ad03bf27d05cef64003e69f7b7cb070fc717230b44b218064819af2566d5cc236dd3e6393bb1922bc705e53b
|
data/README.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# motion-qlcommonmark
|
2
|
+
|
3
|
+
RubyMotion wrapper for the QuickLook generator [QLCommonMark](https://github.com/digitalmoksha/QLCommonMark)
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'motion-qlcommonmark'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle install
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install motion-qlcommonmark
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
When you do a build, the QuickLook generator is automatically installed, embedded into your app, and code signed with current signing certificate.
|
22
|
+
|
23
|
+
If you don't wish for the generator to be signed, you can add this to your `Rakefile`
|
24
|
+
|
25
|
+
```
|
26
|
+
Motion::Project::App.setup do |app|
|
27
|
+
app.qlcommonmark do |config|
|
28
|
+
config.signing_enabled = false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
```
|
32
|
+
|
33
|
+
## Contributing
|
34
|
+
|
35
|
+
1. Fork it
|
36
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
37
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
38
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
39
|
+
5. Create new Pull Request
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Motion::Project
|
2
|
+
|
3
|
+
class Config
|
4
|
+
variable :qlcommommark
|
5
|
+
|
6
|
+
#------------------------------------------------------------------------------
|
7
|
+
def qlcommonmark(&block)
|
8
|
+
@qlcommommark ||= Motion::Project::QLCommonMark.new(self)
|
9
|
+
if block
|
10
|
+
@qlcommommark.instance_eval &block
|
11
|
+
end
|
12
|
+
@qlcommommark
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Builder
|
17
|
+
|
18
|
+
# before app is signed, we need to install the generator into the app and sign
|
19
|
+
# if needed
|
20
|
+
#------------------------------------------------------------------------------
|
21
|
+
def codesign_with_qlcommommark(config, platform)
|
22
|
+
if File.directory?(config.qlcommonmark.vendored_generator_dir)
|
23
|
+
App.info 'QuickLook', "Copying generator to #{config.qlcommonmark.embedded_dir}"
|
24
|
+
FileUtils.mkdir_p(config.qlcommonmark.embedded_dir)
|
25
|
+
`cp -R "#{App.config.qlcommonmark.vendored_generator_file}" "#{config.qlcommonmark.embedded_dir}"`
|
26
|
+
|
27
|
+
if config.qlcommonmark.signing_enabled
|
28
|
+
App.info 'Codesign', config.qlcommonmark.embedded_file
|
29
|
+
`/usr/bin/codesign --force --sign '#{config.codesign_certificate}' "#{config.qlcommonmark.embedded_file}"`
|
30
|
+
end
|
31
|
+
end
|
32
|
+
codesign_without_qlcommommark(config, platform)
|
33
|
+
end
|
34
|
+
|
35
|
+
alias_method "codesign_without_qlcommommark", "codesign"
|
36
|
+
alias_method "codesign", "codesign_with_qlcommommark"
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
module Motion::Project
|
2
|
+
class QLCommonMark
|
3
|
+
|
4
|
+
attr_accessor :signing_enabled
|
5
|
+
|
6
|
+
FILE_NAME = 'QLCommonMark.qlgenerator'
|
7
|
+
ZIP_FILE = 'QLCommonMark.qlgenerator.zip'
|
8
|
+
|
9
|
+
#------------------------------------------------------------------------------
|
10
|
+
def initialize(config)
|
11
|
+
@config = config
|
12
|
+
@signing_enabled = true
|
13
|
+
check_and_install
|
14
|
+
end
|
15
|
+
|
16
|
+
#------------------------------------------------------------------------------
|
17
|
+
def vendored_generator_dir
|
18
|
+
"#{@config.project_dir}/vendor/QLCommonMark"
|
19
|
+
end
|
20
|
+
|
21
|
+
#------------------------------------------------------------------------------
|
22
|
+
def vendored_generator_file
|
23
|
+
"#{vendored_generator_dir}/#{FILE_NAME}"
|
24
|
+
end
|
25
|
+
|
26
|
+
#------------------------------------------------------------------------------
|
27
|
+
def vendored_zip_file
|
28
|
+
"#{vendored_generator_dir}/#{ZIP_FILE}"
|
29
|
+
end
|
30
|
+
|
31
|
+
#------------------------------------------------------------------------------
|
32
|
+
def distrib_zip_file
|
33
|
+
File.join(File.dirname(__FILE__), "../../vendor/#{ZIP_FILE}")
|
34
|
+
end
|
35
|
+
|
36
|
+
#------------------------------------------------------------------------------
|
37
|
+
def embedded_file
|
38
|
+
File.join(embedded_dir, FILE_NAME)
|
39
|
+
end
|
40
|
+
|
41
|
+
#------------------------------------------------------------------------------
|
42
|
+
def embedded_dir
|
43
|
+
File.join(App.config.app_bundle('MacOSX'), "Library/QuickLook")
|
44
|
+
end
|
45
|
+
|
46
|
+
#------------------------------------------------------------------------------
|
47
|
+
def installed?
|
48
|
+
File.directory?(vendored_generator_dir) && File.file?(vendored_generator_file)
|
49
|
+
end
|
50
|
+
|
51
|
+
# copy the zip from our gem into the vendor of project, and unzip it
|
52
|
+
#------------------------------------------------------------------------------
|
53
|
+
def install
|
54
|
+
FileUtils.rm_rf(vendored_generator_dir) if File.directory?(vendored_generator_dir) # force clean install
|
55
|
+
FileUtils.mkdir_p(vendored_generator_dir)
|
56
|
+
`cp #{distrib_zip_file} #{vendored_zip_file}`
|
57
|
+
`unzip #{vendored_zip_file} -d #{vendored_generator_dir}`
|
58
|
+
`rm #{vendored_zip_file}`
|
59
|
+
App.info 'QuickLook', 'Installed'
|
60
|
+
end
|
61
|
+
|
62
|
+
#------------------------------------------------------------------------------
|
63
|
+
def check_and_install
|
64
|
+
install unless installed?
|
65
|
+
end
|
66
|
+
|
67
|
+
#------------------------------------------------------------------------------
|
68
|
+
def verify_installation
|
69
|
+
if installed?
|
70
|
+
App.info "QuickLook", "Generator installed in #{vendored_generator_dir}"
|
71
|
+
else
|
72
|
+
App.fail "QuickLook generator not correctly copied to #{vendored_generator_dir}
|
73
|
+
Run `rake qlcommonmark:install` manually or, if the problem persists,
|
74
|
+
please explain your setup and problem as an issue on GitHub at:
|
75
|
+
https://github.com/digitalmoksha/motion-qlcommonmark/issues
|
76
|
+
"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
metadata
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: motion-qlcommonmark
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '1.0'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Brett Walker
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-04-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
description: RubyMotion wrapper for the QLCommonMark QuickLook generator
|
28
|
+
email:
|
29
|
+
- brett@digitalmoksha.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- README.md
|
35
|
+
- lib/motion-qlcommonmark.rb
|
36
|
+
- lib/project/project.rb
|
37
|
+
- lib/project/qlcommonmark.rb
|
38
|
+
- lib/project/rake_tasks.rb
|
39
|
+
homepage: https://github.com/digitalmoksha/motion-qlcommonmark
|
40
|
+
licenses:
|
41
|
+
- MIT
|
42
|
+
metadata: {}
|
43
|
+
post_install_message:
|
44
|
+
rdoc_options: []
|
45
|
+
require_paths:
|
46
|
+
- lib
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0'
|
52
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
requirements: []
|
58
|
+
rubyforge_project:
|
59
|
+
rubygems_version: 2.6.8
|
60
|
+
signing_key:
|
61
|
+
specification_version: 4
|
62
|
+
summary: RubyMotion wrapper for the QLCommonMark QuickLook generator
|
63
|
+
test_files: []
|