snails 0.3.8 → 0.4.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/lib/snails/app.rb +8 -0
- data/lib/snails/markdown.rb +53 -0
- data/snails.gemspec +2 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f9dc7b09b85e7614ba0360b3df7668ed828013d9e23f774dee4b928d21f9b97
|
4
|
+
data.tar.gz: 49ebbbaf8f15bc38da0bc0cff9f862e3a4f28e5f46b83e80c0cf45c4078429f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 052555354beb82ac3abdca759b9c7cafbe526e7d05820d47d5503f810af1c580212d1ce21ce2fd8419dc46876283177062caf7f4ae2eaeabfa326de31af9ca39
|
7
|
+
data.tar.gz: 0e2002deff4953ff17be75918130b7f9bf267d16c3c710f5f139596d457417292842c0927d871f7706f29c8f199fa303c2f1053e3e9d30fbb56275b4dc28bd96
|
data/lib/snails/app.rb
CHANGED
@@ -353,6 +353,14 @@ module Snails
|
|
353
353
|
erb(view_name.to_sym, { layout: layout }.merge(opts))
|
354
354
|
end
|
355
355
|
|
356
|
+
def show_date(date)
|
357
|
+
date ? date.strftime("%d de %b, %Y") : ''
|
358
|
+
end
|
359
|
+
|
360
|
+
def show_time(time)
|
361
|
+
time ? time.strftime("%d de %b, %Y a las %H:%M") : ''
|
362
|
+
end
|
363
|
+
|
356
364
|
#########################################
|
357
365
|
# pagination
|
358
366
|
|
@@ -0,0 +1,53 @@
|
|
1
|
+
begin
|
2
|
+
require 'rinku'
|
3
|
+
require 'kramdown'
|
4
|
+
require 'sanitize'
|
5
|
+
|
6
|
+
module Snails
|
7
|
+
module Markdown
|
8
|
+
|
9
|
+
MARKDOWN_OPTS = {
|
10
|
+
input: 'GFM',
|
11
|
+
enable_coderay: true,
|
12
|
+
parse_block_html: false,
|
13
|
+
line_width: 72,
|
14
|
+
coderay_tab_width: 2,
|
15
|
+
coderay_line_numbers: nil,
|
16
|
+
coderay_default_lang: 'bash',
|
17
|
+
coderay_css: :class
|
18
|
+
}
|
19
|
+
|
20
|
+
SANITIZE_OPTS = Sanitize::Config::RELAXED
|
21
|
+
|
22
|
+
SANITIZE_OPTS[:elements] = %w(
|
23
|
+
p br a span sub sup strong em div hr abbr
|
24
|
+
ul ol li
|
25
|
+
blockquote pre code kbd
|
26
|
+
h1 h2 h3 h4 h5 h6
|
27
|
+
img object param del
|
28
|
+
)
|
29
|
+
|
30
|
+
SANITIZE_OPTS[:attributes] = {
|
31
|
+
:all => ['class', 'style', 'title', 'id'],
|
32
|
+
'a' => ['href', 'rel', 'name'],
|
33
|
+
'img' => ['src', 'title', 'alt', 'width', 'height']
|
34
|
+
}
|
35
|
+
|
36
|
+
SANITIZE_OPTS[:add_attributes] = { 'a' => {'rel' => 'nofollow', 'target' => '_blank'} }
|
37
|
+
|
38
|
+
def render_markdown(str, options = {})
|
39
|
+
html = Kramdown::Document.new(str, MARKDOWN_OPTS).to_html
|
40
|
+
html = Rinku.auto_link(html, :urls)
|
41
|
+
Sanitize.clean(html, SANITIZE_OPTS)
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
rescue LoadError => e
|
49
|
+
puts "Cannot load Snails's markdown lib. (#{e.class})"
|
50
|
+
puts "You need the `kramdown`, `rinku` and `sanitize` gems for this."
|
51
|
+
end
|
52
|
+
|
53
|
+
|
data/snails.gemspec
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "snails"
|
6
|
-
s.version = '0.
|
6
|
+
s.version = '0.4.0'
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
s.authors = ['Tomás Pollak']
|
9
9
|
s.email = ['tomas@forkhq.com']
|
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.add_development_dependency "fuubar", '>= 2.3.2'
|
18
18
|
|
19
19
|
s.add_runtime_dependency "i18n", ">= 1.0.1"
|
20
|
+
s.add_runtime_dependency "activerecord", "< 6.0"
|
20
21
|
s.add_runtime_dependency "sinatra-contrib", ">= 2.0.3"
|
21
22
|
s.add_runtime_dependency "sinatra-activerecord", ">= 2.0.13"
|
22
23
|
s.add_runtime_dependency "sinatra-flash", ">= 0.3.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomás Pollak
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -72,6 +72,20 @@ dependencies:
|
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 1.0.1
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: activerecord
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "<"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '6.0'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '6.0'
|
75
89
|
- !ruby/object:Gem::Dependency
|
76
90
|
name: sinatra-contrib
|
77
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -159,6 +173,7 @@ files:
|
|
159
173
|
- lib/snails.rb
|
160
174
|
- lib/snails/app.rb
|
161
175
|
- lib/snails/mailer.rb
|
176
|
+
- lib/snails/markdown.rb
|
162
177
|
- lib/snails/rspec.rb
|
163
178
|
- lib/snails/tasks.rb
|
164
179
|
- lib/snails/util.rb
|