rb-mrml 0.1.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4912bff021fc3aa7e55feda7f6d198cea25dcd4fc881b7abaabb9bd0e2fb9bf2
4
+ data.tar.gz: 3db17492f1dd82341305bd7ccd8c0db2bf37f474d1256c58c535a85f081d6f30
5
+ SHA512:
6
+ metadata.gz: 1f5bb12c6d2948d19ac86a7f0f425be23d5dfb7603b0ebf03c322b1cecdda78302f8ebd0838dff30a677542d94d3dafe63bb05d7313ac7cba143598836a2c398
7
+ data.tar.gz: 31f3d645cb24940228f04fa7f65353859bcfe22d3db98662d5dda7ecd10b718d6999d7bbefe25e8511af6d70fdb055cef72d01769dda11e74cd044e230687402
data/LICENSE ADDED
@@ -0,0 +1,11 @@
1
+ Copyright (c) 2025 Paul Mucur.
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
+
5
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6
+
7
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
+
9
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
10
+
11
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md ADDED
@@ -0,0 +1,109 @@
1
+ # rb-mrml - Ruby bindings to MRML
2
+
3
+ Ruby bindings to [MRML][], a reimplementation of the [MJML][] markup language in Rust.
4
+
5
+ [![Build Status](https://github.com/mudge/rb-mrml/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/mudge/rb-mrml/actions)
6
+
7
+ **Current version:** 0.1.0
8
+ **Bundled MRML version:** 4.0.1
9
+
10
+ ```ruby
11
+ MRML.to_html("<mjml><mj-body></mj-body></mjml>")
12
+ #=> "<!doctype html>..."
13
+ ```
14
+
15
+ ## Requirements
16
+
17
+ This gem requires the following to run:
18
+
19
+ * [Ruby](https://www.ruby-lang.org/en/) 2.7 to 3.4
20
+
21
+ ### Native gems
22
+
23
+ Where possible, a pre-compiled native gem will be provided for the following platforms:
24
+
25
+ * Linux
26
+ * `aarch64-linux`, `arm-linux`, `x86-linux`, `x86_64-linux`
27
+ * `aarch64-linux-musl`, `x86_64-linux-musl` for [musl](https://musl.libc.org/)-based systems such as [Alpine](https://alpinelinux.org)
28
+ * macOS `x86_64-darwin` and `arm64-darwin`
29
+ * Windows `x64-mingw32` and `x64-mingw-ucrt`
30
+
31
+ ### Verifying the gems
32
+
33
+ SHA256 checksums are included in the [release
34
+ notes](https://github.com/mudge/rb-mrml/releases) for each version and can be
35
+ checked with `sha256sum`, e.g.
36
+
37
+ ```console
38
+ $ gem fetch rb-mrml -v 0.1.0
39
+ Fetching rb-mrml-0.1.0-arm64-darwin.gem
40
+ Downloaded rb-mrml-0.1.0-arm64-darwin
41
+ $ sha256sum rb-mrml-0.1.0-arm64-darwin.gem
42
+ 653c81b9fa347aa2ccbc360833b8de46de9ee04037c936ac67841f8edb14547b rb-mrml-0.1.0-arm64-darwin.gem
43
+ ```
44
+
45
+ [GPG](https://www.gnupg.org/) signatures are attached to each release (the
46
+ assets ending in `.sig`) and can be verified if you import [our signing key
47
+ `0x39AC3530070E0F75`](https://mudge.name/39AC3530070E0F75.asc) (or fetch it
48
+ from a public keyserver, e.g. `gpg --keyserver keyserver.ubuntu.com --recv-key
49
+ 0x39AC3530070E0F75`):
50
+
51
+ ```console
52
+ $ gpg --verify rb-mrml-0.1.0-arm64-darwin.gem.sig rb-mrml-0.1.0-arm64-darwin.gem
53
+ gpg: Signature made Fri 8 Nov 13:45:18 2024 GMT
54
+ gpg: using RSA key 702609D9C790F45B577D7BEC39AC3530070E0F75
55
+ gpg: Good signature from "Paul Mucur <mudge@mudge.name>" [unknown]
56
+ gpg: aka "Paul Mucur <paul@ghostcassette.com>" [unknown]
57
+ gpg: WARNING: This key is not certified with a trusted signature!
58
+ gpg: There is no indication that the signature belongs to the owner.
59
+ Primary key fingerprint: 7026 09D9 C790 F45B 577D 7BEC 39AC 3530 070E 0F75
60
+ ```
61
+
62
+ The fingerprint should be as shown above or you can independently verify it
63
+ with the ones shown in the footer of https://mudge.name.
64
+
65
+ ### Installing the `ruby` platform gem
66
+
67
+ > [!WARNING]
68
+ > We strongly recommend using the native gems where possible to avoid the need
69
+ > for compiling the Rust extension and its dependencies which will take longer
70
+ > and be less reliable.
71
+
72
+ If you wish to compile the gem, you will need to explicitly install the `ruby` platform gem:
73
+
74
+ ```ruby
75
+ # In your Gemfile with Bundler 2.3.18+
76
+ gem "rb-mrml", force_ruby_platform: true
77
+
78
+ # With Bundler 2.1+
79
+ bundle config set force_ruby_platform true
80
+
81
+ # With older versions of Bundler
82
+ bundle config force_ruby_platform true
83
+
84
+ # Without Bundler
85
+ gem install rb-mrml --platform=ruby
86
+ ```
87
+
88
+ You will need a full compiler toolchain for compiling Ruby Rust extensions (see
89
+ [rb-sys's "What dependencies do I need to build a Ruby extension in
90
+ Rust?"](https://github.com/oxidize-rb/rb-sys?tab=readme-ov-file#what-dependencies-do-i-need-to-build-a-ruby-extension-in-rust)).
91
+
92
+ ## Thanks
93
+
94
+ * Thanks to [Bytecode Alliance's `wastime-rb`](https://github.com/bytecodealliance/wasmtime-rb/tree/main) as an example of a Ruby Rust extension
95
+ * Thanks to [Jonian Guveli's "MRML Ruby"](https://github.com/hardpixel/mrml-ruby) as another implementation of Ruby bindings to MRML for older versions of Ruby
96
+
97
+ ## Contact
98
+
99
+ All issues and suggestions should go to [GitHub
100
+ Issues](https://github.com/mudge/rb-mrml/issues).
101
+
102
+ ## License
103
+
104
+ This library is licensed under the BSD 3-Clause License, see `LICENSE`.
105
+
106
+ Copyright © 2025, Paul Mucur.
107
+
108
+ [MRML]: https://github.com/jdrouet/mrml/tree/main
109
+ [MJML]: https://documentation.mjml.io/
Binary file
Binary file
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MRML
4
+ VERSION = "0.1.0"
5
+ end
data/lib/mrml.rb ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "mrml/version"
4
+
5
+ begin
6
+ RUBY_VERSION =~ /(\d+\.\d+)/
7
+ require "mrml/#{Regexp.last_match(1)}/mrml"
8
+ rescue LoadError
9
+ require "mrml/mrml"
10
+ end
data/lib/rb-mrml.rb ADDED
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "mrml"
metadata ADDED
@@ -0,0 +1,59 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rb-mrml
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: x64-mingw32
6
+ authors:
7
+ - Paul Mucur
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2025-01-13 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Ruby bindings to MRML, a reimplementation of the MJML markup language
14
+ in Rust.
15
+ email:
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - LICENSE
21
+ - README.md
22
+ - lib/mrml.rb
23
+ - lib/mrml/2.7/mrml.so
24
+ - lib/mrml/3.0/mrml.so
25
+ - lib/mrml/version.rb
26
+ - lib/rb-mrml.rb
27
+ homepage: https://github.com/mudge/rb-mrml
28
+ licenses:
29
+ - BSD-3-Clause
30
+ metadata:
31
+ bug_tracker_uri: https://github.com/mudge/rb-mrml/issues
32
+ changelog_uri: https://github.com/mudge/rb-mrml/blob/main/CHANGELOG.md
33
+ funding_uri: https://github.com/sponsors/mudge
34
+ homepage_uri: https://github.com/mudge/rb-mrml
35
+ source_code_uri: https://github.com/mudge/rb-mrml
36
+ rubygems_mfa_required: 'true'
37
+ post_install_message:
38
+ rdoc_options: []
39
+ require_paths:
40
+ - lib
41
+ required_ruby_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: '2.7'
46
+ - - "<"
47
+ - !ruby/object:Gem::Version
48
+ version: 3.1.dev
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ requirements: []
55
+ rubygems_version: 3.5.23
56
+ signing_key:
57
+ specification_version: 4
58
+ summary: Ruby bindings to MRML
59
+ test_files: []