mtlite 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/mtlite.rb +24 -1
- data.tar.gz.sig +3 -2
- metadata +7 -7
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82871eb2f41da3e1f961e5767252770326d5313e
|
4
|
+
data.tar.gz: 0fcd2d10894b4e1f7da8f77247a834237ab9b577
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f8b2b673496d50d2d5fddb33474274f6252b86dc83466e491cc45337c889ee94b87d2b1b24555ea79c57c144959a1e97b7b658917108e621fb0f9aeeae2ad06
|
7
|
+
data.tar.gz: 75126f472d9ea55b29d1424fe9b0bcc337e9edc5e6ea50814e104ff7b213c2183b65524f9c36a68d90c8ed2a46d14d5a9c7d46132d72d3344be4ead3c64a07c1
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/mtlite.rb
CHANGED
@@ -8,20 +8,41 @@ class MTLite
|
|
8
8
|
|
9
9
|
def initialize(raw_msg)
|
10
10
|
|
11
|
+
# if it looks like an MtLite list make it an MtLite list
|
12
|
+
# e.g. "a todo list:\n* line 1\n* line 2" =>
|
13
|
+
# a todo list: [* line 1 * line 2]
|
14
|
+
raw_msg.sub!(/^(?:[\*\[#][^\n]+\n?)+/,'[\0]')
|
15
|
+
raw_msg.gsub!(/\n/,' ')
|
16
|
+
|
17
|
+
|
18
|
+
# add br tags to checklist items
|
19
|
+
# todo list: [[x] line 1 [] line 2] =>
|
20
|
+
# todo list: <br/>[x] line 1 <br/>[] line 2
|
11
21
|
raw_msg.sub!(/\[\[.*\]/){|x| x[0..-2].gsub(/[^\n](\[[x\s]?\])/,'<br/>\1') }
|
22
|
+
|
23
|
+
# convert square brackets to unicode check boxes
|
24
|
+
# replaces a [] with a unicode checkbox,
|
25
|
+
# and [x] with a unicode checked checkbox
|
12
26
|
raw_msg = raw_msg.gsub(/\[\s*\]/,'☐').gsub(/\[x\]/,'☑')
|
27
|
+
|
28
|
+
# convert fractions using their associated unicode character
|
29
|
+
# i.e. 1/4, 1/2, 3/4
|
13
30
|
raw_msg = raw_msg.gsub('1/4','¼').gsub('1/2','½').gsub('3/4','¾')
|
14
31
|
|
32
|
+
# add strikethru to completed items
|
33
|
+
# e.g. -milk cow- becomes <del>milk cow</del>
|
15
34
|
raw_msg.gsub!(/\s-[^-]+-?[^-]+-[\s\]]/) do |x|
|
16
35
|
x.sub(/-([&\w]+.*\w+)-/,'<del>\1</del>')
|
17
36
|
end
|
18
37
|
|
38
|
+
# append a domain label after the URL
|
19
39
|
raw_msg.gsub!(/(?:^\[|\s\[)[^\]]+\]\((https?:\/\/[^\s]+)/) do |x|
|
20
40
|
s2 = x[/https?:\/\/([^\/]+)/,1].split(/\./)
|
21
41
|
r = s2.length >= 3 ? s2[1..-1] : s2
|
22
42
|
"%s [%s]" % [x, r.join('.')]
|
23
43
|
end
|
24
44
|
|
45
|
+
# generate html lists from mtlite 1-liner lists
|
25
46
|
raw_msg.gsub!(/\[[\*#][^\]]+\]/) do |list|
|
26
47
|
|
27
48
|
if not list[/\n/] then
|
@@ -39,7 +60,9 @@ class MTLite
|
|
39
60
|
end
|
40
61
|
|
41
62
|
msg = RDiscount.new(raw_msg).to_html.gsub(/<\/?p[^>]*>/,'')
|
63
|
+
# generate anchor tags for URLs which don't have anchor tags
|
42
64
|
msg.gsub!(/(?:^(https?:[^\s]+)|\s(https?:[^\s]+))/,' <a href="\2">\2</a>')
|
65
|
+
# add the target attribute to make all hyperlinks open in a new browser tab
|
43
66
|
msg.gsub!(/<a /,'<a target="_blank" ')
|
44
67
|
|
45
68
|
@msg = msg
|
@@ -58,4 +81,4 @@ class MTLite
|
|
58
81
|
@msg.gsub('<br/>',"\n").gsub(/<\/?.[^>]*>/,'')
|
59
82
|
end
|
60
83
|
|
61
|
-
end
|
84
|
+
end
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
����ee��z�A��R(Y��I1Mh����m5b13d<O�@E�� զ;6�}\R��Or�����jlq��-T�=��u��x�6���,G�����x��B�뱯��`�Uw�i�(ݬa��\�m�!o�"W�BF~U�,��J��0�pL>k���㥣�
|
2
|
+
���k�q2J��݁�� ���~�d��,�>��ύ�� �2��1��N�[��;ٜ�Q�
|
3
|
+
5�1<N���+��j�#��
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mtlite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,20 +31,20 @@ cert_chain:
|
|
31
31
|
5/TxC35nCZmPNpOqets9YZ3k51P68rX0BUcUlqXZn7VmkT1Un30VYxuWwUsOhOYA
|
32
32
|
dZmrX4ybr1RPCQ==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date:
|
34
|
+
date: 2014-01-29 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rdiscount
|
38
38
|
requirement: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '0'
|
50
50
|
description:
|
@@ -64,17 +64,17 @@ require_paths:
|
|
64
64
|
- lib
|
65
65
|
required_ruby_version: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
requirements: []
|
76
76
|
rubyforge_project:
|
77
|
-
rubygems_version: 2.
|
77
|
+
rubygems_version: 2.1.11
|
78
78
|
signing_key:
|
79
79
|
specification_version: 4
|
80
80
|
summary: mtlite
|
metadata.gz.sig
CHANGED
Binary file
|