Module: Jekyll::J1_Filters
- Defined in:
- lib/starter_web/_plugins/filters.rb
Constant Summary collapse
- EMPTY_LINE =
/^\s*\n/
- MULTIPLE_SPACES =
/ +/
- ALL_SPACES =
/\s+/
- COMMENT_LINE =
/^\s*#.*\n|\s*#.*\n/
- HTML_COMMENT_LINE =
HTML_COMMENT_LINE = /^s*<!–.*–>|s*<!–.*–>/
/<!--[\d\D]*?-->/
- JS_COMMENT_LINE =
/^\s*\/\/[\d\D]*?\s*$/
- NOTHING =
''.freeze
- SPACE =
' '.freeze
- ADOC_TAG_LINE =
/^\s*(:\S+\:.*$)/
- JBX_INDEX_TAG =
/\s+!!(\S+)!!\s+/
- ADOC_HEAD_LINE =
/^\s*(=+\s+\S+.*$)/
- LIQUID_TAG =
/({%\s*\S+\s*%})/
- ADOC_INLINE_COMMENT =
/^\s*(\/\/.*$)/
Instance Method Summary collapse
-
#contain_substr(input, substr) ⇒ Object
————————————————————————– contain_substr: check if a string contains a substring.
-
#contains(input, substr) ⇒ Object
————————————————————————– contains: check if a string contains a substring.
- #is_array(input) ⇒ Object
- #is_fixnum(input) ⇒ Object
- #is_hash(input) ⇒ Object
- #is_numeric(input) ⇒ Object
-
#is_string(input) ⇒ Object
————————————————————————– is_XXXX:.
-
#is_type(input) ⇒ Object
————————————————————————– is_type:.
-
#json(input) ⇒ Object
————————————————————————– json:.
-
#merge(input, hash) ⇒ Object
————————————————————————– merge: merge two hashes (input <- hash).
-
#newline_to_nothing(input) ⇒ Object
————————————————————————– newline_to_space: Replace all newlines by space.
-
#newline_to_space(input) ⇒ Object
————————————————————————– newline_to_space: Replace all newlines by space.
-
#rand(input) ⇒ Object
————————————————————————– rand:.
-
#read_index(input) ⇒ Object
————————————————————————– read_index:.
-
#regex_replace(input, regex, replacement = NOTHING) ⇒ Object
————————————————————————– regex_replace:.
-
#regex_replace_first(input, regex, replacement = NOTHING) ⇒ Object
————————————————————————– regex_replace_first: replace the FIRST occurence.
-
#strip_adoc(input) ⇒ Object
————————————————————————– strip_adoc:.
-
#strip_all_spaces(input) ⇒ Object
————————————————————————– strip_all_spaces:.
-
#strip_comments(input) ⇒ Object
————————————————————————– strip_comments:.
-
#strip_empty_lines(input) ⇒ Object
————————————————————————– strip_empty_lines:.
-
#strip_html_comments(input) ⇒ Object
————————————————————————– strip_html_comments:.
-
#strip_js_comments(input) ⇒ Object
————————————————————————– strip_js_comments:.
-
#strip_liquid_tag(input) ⇒ Object
————————————————————————– strip_liquid_tag:.
-
#strip_multiple_spaces(input) ⇒ Object
————————————————————————– strip_multiple_spaces:.
-
#strip_my_html(input) ⇒ Object
————————————————————————– strip_my_html:.
Instance Method Details
#contain_substr(input, substr) ⇒ Object
contain_substr: check if a string contains a substring
Example:
106 107 108 |
# File 'lib/starter_web/_plugins/filters.rb', line 106 def contain_substr(input, substr) input.include?(substr) ? true : false end |
#contains(input, substr) ⇒ Object
contains: check if a string contains a substring
Example:
96 97 98 |
# File 'lib/starter_web/_plugins/filters.rb', line 96 def contains(input, substr) input.include?(substr) ? true : false end |
#is_array(input) ⇒ Object
283 284 285 286 |
# File 'lib/starter_web/_plugins/filters.rb', line 283 def is_array(input) input.kind_of?(Array) return type end |
#is_fixnum(input) ⇒ Object
274 275 276 |
# File 'lib/starter_web/_plugins/filters.rb', line 274 def is_fixnum(input) input.kind_of?(Fixnum) end |
#is_hash(input) ⇒ Object
288 289 290 |
# File 'lib/starter_web/_plugins/filters.rb', line 288 def is_hash(input) input.kind_of?(Hash) end |
#is_numeric(input) ⇒ Object
278 279 280 281 |
# File 'lib/starter_web/_plugins/filters.rb', line 278 def is_numeric(input) return true if input =~ /\A\d+\Z/ true if Float(input) rescue false end |
#is_string(input) ⇒ Object
is_XXXX:
"Duck typing" methods to determine the object (base) class
returns true|false
Example:
270 271 272 |
# File 'lib/starter_web/_plugins/filters.rb', line 270 def is_string(input) input.kind_of?(String) end |
#is_type(input) ⇒ Object
is_type:
Example:
257 258 259 |
# File 'lib/starter_web/_plugins/filters.rb', line 257 def is_type(input) "#{input.class}".to_s.strip.downcase end |
#json(input) ⇒ Object
json:
Example:
247 248 249 |
# File 'lib/starter_web/_plugins/filters.rb', line 247 def json(input) input.to_json end |
#merge(input, hash) ⇒ Object
merge: merge two hashes (input <- hash)
Example:
{% assign nav_bar_options = nav_bar_default | merge: nav_bar_config %}
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/starter_web/_plugins/filters.rb', line 71 def merge(input, hash) unless input.respond_to?(:to_hash) raise ArgumentError.new("merge filter requires hash arguments: arg_input") end # if hash to merge is NOT a hash or empty return first hash (input) unless hash.respond_to?(:to_hash) input end if hash.nil? || hash.empty? input else merged = input.dup hash.each do |k, v| merged[k] = v end merged end end |
#newline_to_nothing(input) ⇒ Object
newline_to_space:
Replace all newlines by space
Example:
310 311 312 |
# File 'lib/starter_web/_plugins/filters.rb', line 310 def newline_to_nothing(input) input.to_s.gsub(/\n/, NOTHING) end |
#newline_to_space(input) ⇒ Object
newline_to_space:
Replace all newlines by space
Example:
299 300 301 |
# File 'lib/starter_web/_plugins/filters.rb', line 299 def newline_to_space(input) input.to_s.gsub(/\n/, SPACE) end |
#rand(input) ⇒ Object
rand:
Example:
236 237 238 239 |
# File 'lib/starter_web/_plugins/filters.rb', line 236 def rand(input) max = input.to_i Random.new.rand(1..max) end |
#read_index(input) ⇒ Object
read_index:
Example:
227 228 |
# File 'lib/starter_web/_plugins/filters.rb', line 227 def read_index(input) end |
#regex_replace(input, regex, replacement = NOTHING) ⇒ Object
regex_replace:
Example:
126 127 128 |
# File 'lib/starter_web/_plugins/filters.rb', line 126 def regex_replace(input, regex, replacement = NOTHING) input.to_s.gsub(Regexp.new(regex), replacement.to_s) end |
#regex_replace_first(input, regex, replacement = NOTHING) ⇒ Object
regex_replace_first: replace the FIRST occurence
Example:
116 117 118 |
# File 'lib/starter_web/_plugins/filters.rb', line 116 def regex_replace_first(input, regex, replacement = NOTHING) input.to_s.sub(Regexp.new(regex), replacement.to_s) end |
#strip_adoc(input) ⇒ Object
strip_adoc:
Example:
196 197 198 |
# File 'lib/starter_web/_plugins/filters.rb', line 196 def strip_adoc(input) input.to_s.gsub(ADOC_TAG_LINE, SPACE).gsub(ADOC_INLINE_COMMENT, SPACE).gsub(ADOC_HEAD_LINE, SPACE) end |
#strip_all_spaces(input) ⇒ Object
strip_all_spaces:
Example:
186 187 188 |
# File 'lib/starter_web/_plugins/filters.rb', line 186 def strip_all_spaces(input) input.to_s.gsub(Regexp.new(ALL_SPACES), SPACE) end |
#strip_comments(input) ⇒ Object
strip_comments:
Example:
146 147 148 |
# File 'lib/starter_web/_plugins/filters.rb', line 146 def strip_comments(input) input.to_s.gsub(Regexp.new(COMMENT_LINE), NOTHING) end |
#strip_empty_lines(input) ⇒ Object
strip_empty_lines:
Example:
136 137 138 |
# File 'lib/starter_web/_plugins/filters.rb', line 136 def strip_empty_lines(input) input.to_s.gsub(Regexp.new(EMPTY_LINE), NOTHING) end |
#strip_html_comments(input) ⇒ Object
strip_html_comments:
Example:
156 157 158 |
# File 'lib/starter_web/_plugins/filters.rb', line 156 def strip_html_comments(input) input.to_s.gsub(Regexp.new(HTML_COMMENT_LINE), NOTHING) end |
#strip_js_comments(input) ⇒ Object
strip_js_comments:
Example:
166 167 168 |
# File 'lib/starter_web/_plugins/filters.rb', line 166 def strip_js_comments(input) input.to_s.gsub(Regexp.new(JS_COMMENT_LINE), NOTHING) end |
#strip_liquid_tag(input) ⇒ Object
strip_liquid_tag:
Example:
206 207 208 |
# File 'lib/starter_web/_plugins/filters.rb', line 206 def strip_liquid_tag(input) input.to_s.gsub(LIQUID_TAG, SPACE) end |
#strip_multiple_spaces(input) ⇒ Object
strip_multiple_spaces:
Example:
176 177 178 |
# File 'lib/starter_web/_plugins/filters.rb', line 176 def strip_multiple_spaces(input) input.to_s.gsub(Regexp.new(MULTIPLE_SPACES), SPACE) end |
#strip_my_html(input) ⇒ Object
strip_my_html:
Example:
216 217 218 219 |
# File 'lib/starter_web/_plugins/filters.rb', line 216 def strip_my_html(input) space = ' '.freeze input.to_s.gsub(/<script.*?<\/script>/m, space).gsub(/<!--.*?-->/m, space).gsub(/<style.*?<\/style>/m, space).gsub(/<.*?>/m, space) end |