liquid_markdown 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/liquid_markdown/converter/plain_text.rb +1 -1
- data/lib/liquid_markdown/resolver.rb +0 -2
- data/lib/liquid_markdown/version.rb +1 -1
- data/liquid_markdown.gemspec +1 -1
- data/liquid_markdown.iml +33 -4
- data/presentation.md +78 -0
- data/presentation.pdf +0 -0
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17eb33f1e4bce5d17bcb38554b269225327e3f06
|
4
|
+
data.tar.gz: 432d01acd958edd79df49b3c77d2a6aaef80fff2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17ee388dcc1d06bf7cbaad6f043585424ed89fe34e52dc6dc4035e00babcf61cc3b3ce49ea33a818d0261b6f5906cb510212a8b2327549d22484d3715b4b5007
|
7
|
+
data.tar.gz: 99e965482bcfe948c3bce208d54a86646c577e417e91faea7fe50cb71d7be000358b3ea842189513f0483fc24bbcbd72e43f6b55daea607ded2d4b53972ea145
|
data/README.md
CHANGED
data/liquid_markdown.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ['Gary McGhee']
|
10
10
|
spec.email = ['gary@buzzware.com.au']
|
11
11
|
|
12
|
-
spec.summary = %q{Combines Liquid and Markdown templating for
|
12
|
+
spec.summary = %q{Combines Liquid and Markdown templating for safe customer-editable pages and emails. Also supports templates from the database}
|
13
13
|
spec.description = spec.summary
|
14
14
|
spec.homepage = 'https://github.com/buzzware/liquid_markdown'
|
15
15
|
spec.license = 'MIT'
|
data/liquid_markdown.iml
CHANGED
@@ -18,22 +18,47 @@
|
|
18
18
|
</content>
|
19
19
|
<orderEntry type="jdk" jdkName="RVM: ruby-2.2.5" jdkType="RUBY_SDK" />
|
20
20
|
<orderEntry type="sourceFolder" forTests="false" />
|
21
|
-
<orderEntry type="library" scope="PROVIDED" name="
|
22
|
-
<orderEntry type="library" scope="PROVIDED" name="
|
21
|
+
<orderEntry type="library" scope="PROVIDED" name="actioncable (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
22
|
+
<orderEntry type="library" scope="PROVIDED" name="actionmailer (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
23
|
+
<orderEntry type="library" scope="PROVIDED" name="actionpack (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
24
|
+
<orderEntry type="library" scope="PROVIDED" name="actionview (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
25
|
+
<orderEntry type="library" scope="PROVIDED" name="activejob (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
26
|
+
<orderEntry type="library" scope="PROVIDED" name="activemodel (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
27
|
+
<orderEntry type="library" scope="PROVIDED" name="activerecord (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
28
|
+
<orderEntry type="library" scope="PROVIDED" name="activesupport (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
29
|
+
<orderEntry type="library" scope="PROVIDED" name="arel (v8.0.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
30
|
+
<orderEntry type="library" scope="PROVIDED" name="awesome_print (v1.7.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
31
|
+
<orderEntry type="library" scope="PROVIDED" name="builder (v3.2.3, RVM: ruby-2.2.5) [gem]" level="application" />
|
23
32
|
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.14.6, RVM: ruby-2.2.5) [gem]" level="application" />
|
24
33
|
<orderEntry type="library" scope="PROVIDED" name="byebug (v9.0.6, RVM: ruby-2.2.5) [gem]" level="application" />
|
25
34
|
<orderEntry type="library" scope="PROVIDED" name="coderay (v1.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
35
|
+
<orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.0.5, RVM: ruby-2.2.5) [gem]" level="application" />
|
26
36
|
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.5, RVM: ruby-2.2.5) [gem]" level="application" />
|
27
|
-
<orderEntry type="library" scope="PROVIDED" name="
|
37
|
+
<orderEntry type="library" scope="PROVIDED" name="erubi (v1.6.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
38
|
+
<orderEntry type="library" scope="PROVIDED" name="globalid (v0.4.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
39
|
+
<orderEntry type="library" scope="PROVIDED" name="i18n (v0.8.4, RVM: ruby-2.2.5) [gem]" level="application" />
|
40
|
+
<orderEntry type="library" scope="PROVIDED" name="kramdown (v1.13.2, RVM: ruby-2.2.5) [gem]" level="application" />
|
41
|
+
<orderEntry type="library" scope="PROVIDED" name="liquid (v4.0.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
28
42
|
<orderEntry type="library" scope="PROVIDED" name="loofah (v2.0.3, RVM: ruby-2.2.5) [gem]" level="application" />
|
43
|
+
<orderEntry type="library" scope="PROVIDED" name="mail (v2.6.6, RVM: ruby-2.2.5) [gem]" level="application" />
|
29
44
|
<orderEntry type="library" scope="PROVIDED" name="method_source (v0.8.2, RVM: ruby-2.2.5) [gem]" level="application" />
|
30
45
|
<orderEntry type="library" scope="PROVIDED" name="mime-types (v3.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
31
46
|
<orderEntry type="library" scope="PROVIDED" name="mime-types-data (v3.2016.0521, RVM: ruby-2.2.5) [gem]" level="application" />
|
32
|
-
<orderEntry type="library" scope="PROVIDED" name="mini_portile2 (v2.
|
47
|
+
<orderEntry type="library" scope="PROVIDED" name="mini_portile2 (v2.2.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
48
|
+
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.10.2, RVM: ruby-2.2.5) [gem]" level="application" />
|
49
|
+
<orderEntry type="library" scope="PROVIDED" name="nio4r (v2.1.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
50
|
+
<orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.8.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
33
51
|
<orderEntry type="library" scope="PROVIDED" name="panoramic (v0.0.6, RVM: ruby-2.2.5) [gem]" level="application" />
|
34
52
|
<orderEntry type="library" scope="PROVIDED" name="pry (v0.10.4, RVM: ruby-2.2.5) [gem]" level="application" />
|
53
|
+
<orderEntry type="library" scope="PROVIDED" name="pry-byebug (v3.4.2, RVM: ruby-2.2.5) [gem]" level="application" />
|
54
|
+
<orderEntry type="library" scope="PROVIDED" name="pry-meta (v0.0.10, RVM: ruby-2.2.5) [gem]" level="application" />
|
55
|
+
<orderEntry type="library" scope="PROVIDED" name="pry-remote (v0.1.8, RVM: ruby-2.2.5) [gem]" level="application" />
|
56
|
+
<orderEntry type="library" scope="PROVIDED" name="rack (v2.0.3, RVM: ruby-2.2.5) [gem]" level="application" />
|
35
57
|
<orderEntry type="library" scope="PROVIDED" name="rack-test (v0.6.3, RVM: ruby-2.2.5) [gem]" level="application" />
|
58
|
+
<orderEntry type="library" scope="PROVIDED" name="rails (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
59
|
+
<orderEntry type="library" scope="PROVIDED" name="rails-dom-testing (v2.0.3, RVM: ruby-2.2.5) [gem]" level="application" />
|
36
60
|
<orderEntry type="library" scope="PROVIDED" name="rails-html-sanitizer (v1.0.3, RVM: ruby-2.2.5) [gem]" level="application" />
|
61
|
+
<orderEntry type="library" scope="PROVIDED" name="railties (v5.1.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
37
62
|
<orderEntry type="library" scope="PROVIDED" name="rake (v10.4.2, RVM: ruby-2.2.5) [gem]" level="application" />
|
38
63
|
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.5.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
39
64
|
<orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.5.2, RVM: ruby-2.2.5) [gem]" level="application" />
|
@@ -41,8 +66,12 @@
|
|
41
66
|
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.5.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
42
67
|
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.5.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
43
68
|
<orderEntry type="library" scope="PROVIDED" name="slop (v3.6.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
69
|
+
<orderEntry type="library" scope="PROVIDED" name="sprockets (v3.7.1, RVM: ruby-2.2.5) [gem]" level="application" />
|
44
70
|
<orderEntry type="library" scope="PROVIDED" name="sprockets-rails (v3.2.0, RVM: ruby-2.2.5) [gem]" level="application" />
|
45
71
|
<orderEntry type="library" scope="PROVIDED" name="thor (v0.19.4, RVM: ruby-2.2.5) [gem]" level="application" />
|
72
|
+
<orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.6, RVM: ruby-2.2.5) [gem]" level="application" />
|
73
|
+
<orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.3, RVM: ruby-2.2.5) [gem]" level="application" />
|
74
|
+
<orderEntry type="library" scope="PROVIDED" name="websocket-driver (v0.6.5, RVM: ruby-2.2.5) [gem]" level="application" />
|
46
75
|
<orderEntry type="library" scope="PROVIDED" name="websocket-extensions (v0.1.2, RVM: ruby-2.2.5) [gem]" level="application" />
|
47
76
|
</component>
|
48
77
|
</module>
|
data/presentation.md
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
theme: Next, 0
|
2
|
+
build-lists: true
|
3
|
+
|
4
|
+
# [fit] liquid_markdown gem
|
5
|
+
## by Buzzware
|
6
|
+
<br>
|
7
|
+
##simple, logical, customer-editable templates for pages and emails
|
8
|
+
|
9
|
+
---
|
10
|
+
# liquid_markdown solves all these problems at once :
|
11
|
+
|
12
|
+
1) HTML gives customers too much control, they make a mess and can create security risks eg. script tags
|
13
|
+
2) Customer editable templates need {{merge fields}} and perhaps some basic logic eg. if/then & loops but we can't let them insert arbitrary code (so no erb)
|
14
|
+
3) Editable templates means templates in the database, but sometimes you also want them in the file system too
|
15
|
+
|
16
|
+
---
|
17
|
+
# liquid_markdown solves all these problems at once (cont.) :
|
18
|
+
4) We want to do all this for pages and emails (rendered the same in Rails by ActionView)
|
19
|
+
5) We want to generate the text and html parts of an email with a single template
|
20
|
+
6) We want a html layout for inserting css, javascript, header tags etc for a non-html template despite Rails restriction on this
|
21
|
+
|
22
|
+
---
|
23
|
+
# Dependencies
|
24
|
+
|
25
|
+
1. liquid gem for {{templating}}
|
26
|
+
|
27
|
+
2. kramdown gem for \*\*markdown\*\*
|
28
|
+
|
29
|
+
3. panoramic gem for database templates
|
30
|
+
|
31
|
+
---
|
32
|
+
# liquid gem solves the customer facing template problem
|
33
|
+
|
34
|
+
1. Developed by Shopify.com, one of the oldest and most successful Rails sites
|
35
|
+
2. We can trust them for keeping customers from executing arbitray code on the server
|
36
|
+
3. merge fields, loops, conditionals, filters eg. strip_html_tags
|
37
|
+
4. Works with any text
|
38
|
+
|
39
|
+
---
|
40
|
+
# kramdown gem provides Markdown rendering, and some important extras
|
41
|
+
1. HTML class support for styling
|
42
|
+
2. Tables
|
43
|
+
3. PlainText converter (markdown can look a bit funky)
|
44
|
+
4. "probably the fastest pure-Ruby Markdown converter available"
|
45
|
+
|
46
|
+
---
|
47
|
+
# panoramic gem enables templates stored in the database
|
48
|
+
1. Implemented using Rails ActionView::Resolver
|
49
|
+
2. Can still use file-based templates eg. for development
|
50
|
+
3. Supports both database-first and file-first when loading
|
51
|
+
4. An optional integration, not a hard dependency
|
52
|
+
|
53
|
+
---
|
54
|
+
# Markdown is awesome for emails!
|
55
|
+
1. text and html parts of an email from a single template
|
56
|
+
2. raw markdown is almost good enough for the text part (we use Kramdown's PlainText converter to clean it up)
|
57
|
+
3. HTML part is rendered from Markdown
|
58
|
+
4. Unlike other markdown email gems, we support HTML layouts
|
59
|
+
5. Works with Zurb Foundation for Emails (formerly Ink)
|
60
|
+
|
61
|
+
---
|
62
|
+
# Crafting Rails 4 Applications
|
63
|
+
|
64
|
+
![inline 60%](https://imagery.pragprog.com/products/353/jvrails2.jpg?1368826914)
|
65
|
+
|
66
|
+
... for Detail on Rails ActionView::Resolver
|
67
|
+
|
68
|
+
---
|
69
|
+
### Thankyou to the gem authors
|
70
|
+
|
71
|
+
|
72
|
+
### Available from :
|
73
|
+
* https://github.com/buzzware/liquid_markdown
|
74
|
+
* https://rubygems.org/gems/liquid_markdown
|
75
|
+
|
76
|
+
### Happy to give access and credit for any contributions in documentation, features, fixes, examples
|
77
|
+
|
78
|
+
This presentation was written in markdown and is in the github repo above. It was rendered and played by Deskset for Mac.
|
data/presentation.pdf
ADDED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: liquid_markdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gary McGhee
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|
@@ -148,8 +148,8 @@ dependencies:
|
|
148
148
|
- - "~>"
|
149
149
|
- !ruby/object:Gem::Version
|
150
150
|
version: 0.0.10
|
151
|
-
description: Combines Liquid and Markdown templating for
|
152
|
-
|
151
|
+
description: Combines Liquid and Markdown templating for safe customer-editable pages
|
152
|
+
and emails. Also supports templates from the database
|
153
153
|
email:
|
154
154
|
- gary@buzzware.com.au
|
155
155
|
executables: []
|
@@ -176,6 +176,8 @@ files:
|
|
176
176
|
- lib/liquid_markdown/version.rb
|
177
177
|
- liquid_markdown.gemspec
|
178
178
|
- liquid_markdown.iml
|
179
|
+
- presentation.md
|
180
|
+
- presentation.pdf
|
179
181
|
homepage: https://github.com/buzzware/liquid_markdown
|
180
182
|
licenses:
|
181
183
|
- MIT
|
@@ -199,6 +201,6 @@ rubyforge_project:
|
|
199
201
|
rubygems_version: 2.4.8
|
200
202
|
signing_key:
|
201
203
|
specification_version: 4
|
202
|
-
summary: Combines Liquid and Markdown templating for
|
203
|
-
|
204
|
+
summary: Combines Liquid and Markdown templating for safe customer-editable pages
|
205
|
+
and emails. Also supports templates from the database
|
204
206
|
test_files: []
|