mok-parser 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.rdoc +5 -0
- data/RELEASE +1 -1
- data/VERSION +1 -1
- data/lib/mokinlineparser.ry +12 -4
- data/lib/mokinlineparser.tab.rb +38 -30
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 979f9c3bab2b80999ba5c86cc58cd43b7f5007e3
|
4
|
+
data.tar.gz: 0f4e4a31757eb142a6907d4bc803ccbaf0d6f177
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce4ba3be3ad44a4ebf2e9d03ab1c618d32c8c6f1058c959b4fde44b9ef27d3473a2d6b885a4353cc1cc913f73e317206d7fbf67f528f51a7d7ee1b172c4556fb
|
7
|
+
data.tar.gz: 511c408a35309c8938fd30e8272a15529e3a0c3417ea81a8b5bf116381584bafe8f050ecf8157ece11a6c5e422b1fe122c551952acd57c79adc24a182f7c3f23
|
data/History.rdoc
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
== 0.3.1 2013-12-14
|
2
|
+
* new: Referenceエレメントにreference_base_directoryオプションを追加
|
3
|
+
* change: Mediaエレメントの media_directory オプションを media_base_directory
|
4
|
+
* パスが ルート・カレントディレクトリだった時に *_base_directory を無視するように変更
|
5
|
+
|
1
6
|
== 0.3.0 2013-12-12
|
2
7
|
* プロジェクト名を raf-parser から mok-parser に変更
|
3
8
|
|
data/RELEASE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2013-12-
|
1
|
+
2013-12-14
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/lib/mokinlineparser.ry
CHANGED
@@ -72,10 +72,7 @@ class InlineParser
|
|
72
72
|
|
73
73
|
media_strings : media_strings media_string { val.join }
|
74
74
|
| media_string {
|
75
|
-
|
76
|
-
val[0] = File.join(@options[:media_directory],val[0]) unless val[0] =~ /^.*:\/\/.*/
|
77
|
-
end
|
78
|
-
val[0]
|
75
|
+
mok_link_path(val[0], @options[:media_base_directory])
|
79
76
|
}
|
80
77
|
media : MEDIA_OPEN media_strings MEDIA_CLOSE {
|
81
78
|
mime = MimeMagic.by_extension(val[1].split(".").last)
|
@@ -222,6 +219,7 @@ class InlineParser
|
|
222
219
|
uri.slice!(-2,2)
|
223
220
|
uri = "#{uri}#{@options[:reference_extension]}"
|
224
221
|
end
|
222
|
+
uri = mok_link_path(uri, @options[:reference_base_directory])
|
225
223
|
Reference.new([title, uri])
|
226
224
|
}
|
227
225
|
# --- reference : end
|
@@ -515,6 +513,15 @@ def next_token
|
|
515
513
|
end
|
516
514
|
end
|
517
515
|
|
516
|
+
# reference, media エレメントのリンク用のパスを生成する
|
517
|
+
def mok_link_path(path, base_dir = nil)
|
518
|
+
path = path.strip
|
519
|
+
return path if base_dir.nil? or base_dir.empty? # non base_dir
|
520
|
+
return path if path =~ /^.*:\/\/.*/ # uri
|
521
|
+
return path if path =~ /^\/.*/ or path =~ /^\.\/.*/ # root or currentdirectory
|
522
|
+
File.join(base_dir,path)
|
523
|
+
end
|
524
|
+
|
518
525
|
---- header
|
519
526
|
require "parserutility"
|
520
527
|
require 'strscan'
|
@@ -523,6 +530,7 @@ require 'erb'
|
|
523
530
|
require 'mokelement'
|
524
531
|
|
525
532
|
module Mok
|
533
|
+
|
526
534
|
---- footer
|
527
535
|
if __FILE__ == $0
|
528
536
|
mok = InlineParser.new
|
data/lib/mokinlineparser.tab.rb
CHANGED
@@ -13,9 +13,10 @@ require 'erb'
|
|
13
13
|
require 'mokelement'
|
14
14
|
|
15
15
|
module Mok
|
16
|
+
|
16
17
|
class InlineParser < Racc::Parser
|
17
18
|
|
18
|
-
module_eval(<<'...end mokinlineparser.ry/module_eval...', 'mokinlineparser.ry',
|
19
|
+
module_eval(<<'...end mokinlineparser.ry/module_eval...', 'mokinlineparser.ry', 270)
|
19
20
|
include ParserUtility
|
20
21
|
|
21
22
|
EM_OPEN = '((*'
|
@@ -262,6 +263,15 @@ def next_token
|
|
262
263
|
end
|
263
264
|
end
|
264
265
|
|
266
|
+
# reference, media エレメントのリンク用のパスを生成する
|
267
|
+
def mok_link_path(path, base_dir = nil)
|
268
|
+
path = path.strip
|
269
|
+
return path if base_dir.nil? or base_dir.empty? # non base_dir
|
270
|
+
return path if path =~ /^.*:\/\/.*/ # uri
|
271
|
+
return path if path =~ /^\/.*/ or path =~ /^\.\/.*/ # root or currentdirectory
|
272
|
+
File.join(base_dir,path)
|
273
|
+
end
|
274
|
+
|
265
275
|
...end mokinlineparser.ry/module_eval...
|
266
276
|
##### State transition tables begin ###
|
267
277
|
|
@@ -888,15 +898,12 @@ module_eval(<<'.,.,', 'mokinlineparser.ry', 72)
|
|
888
898
|
|
889
899
|
module_eval(<<'.,.,', 'mokinlineparser.ry', 74)
|
890
900
|
def _reduce_55(val, _values)
|
891
|
-
|
892
|
-
val[0] = File.join(@options[:media_directory],val[0]) unless val[0] =~ /^.*:\/\/.*/
|
893
|
-
end
|
894
|
-
val[0]
|
901
|
+
mok_link_path(val[0], @options[:media_base_directory])
|
895
902
|
|
896
903
|
end
|
897
904
|
.,.,
|
898
905
|
|
899
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
906
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 77)
|
900
907
|
def _reduce_56(val, _values)
|
901
908
|
mime = MimeMagic.by_extension(val[1].split(".").last)
|
902
909
|
unless mime.nil?
|
@@ -961,19 +968,19 @@ module_eval(<<'.,.,', 'mokinlineparser.ry', 80)
|
|
961
968
|
|
962
969
|
# reduce 82 omitted
|
963
970
|
|
964
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
971
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 115)
|
965
972
|
def _reduce_83(val, _values)
|
966
973
|
val.join
|
967
974
|
end
|
968
975
|
.,.,
|
969
976
|
|
970
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
977
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 116)
|
971
978
|
def _reduce_84(val, _values)
|
972
979
|
val[0]
|
973
980
|
end
|
974
981
|
.,.,
|
975
982
|
|
976
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
983
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 119)
|
977
984
|
def _reduce_85(val, _values)
|
978
985
|
base, text = val[1].split("|",2)
|
979
986
|
text ||= base
|
@@ -1040,19 +1047,19 @@ module_eval(<<'.,.,', 'mokinlineparser.ry', 122)
|
|
1040
1047
|
|
1041
1048
|
# reduce 113 omitted
|
1042
1049
|
|
1043
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1050
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 157)
|
1044
1051
|
def _reduce_114(val, _values)
|
1045
1052
|
val.join
|
1046
1053
|
end
|
1047
1054
|
.,.,
|
1048
1055
|
|
1049
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1056
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 158)
|
1050
1057
|
def _reduce_115(val, _values)
|
1051
1058
|
val[0]
|
1052
1059
|
end
|
1053
1060
|
.,.,
|
1054
1061
|
|
1055
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1062
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 161)
|
1056
1063
|
def _reduce_116(val, _values)
|
1057
1064
|
base, text = val[1].split("=",2)
|
1058
1065
|
@variables ||= {}
|
@@ -1069,31 +1076,31 @@ module_eval(<<'.,.,', 'mokinlineparser.ry', 164)
|
|
1069
1076
|
end
|
1070
1077
|
.,.,
|
1071
1078
|
|
1072
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1079
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 175)
|
1073
1080
|
def _reduce_117(val, _values)
|
1074
1081
|
Manuedo.new(val[1])
|
1075
1082
|
end
|
1076
1083
|
.,.,
|
1077
1084
|
|
1078
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1085
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 180)
|
1079
1086
|
def _reduce_118(val, _values)
|
1080
1087
|
val[0]
|
1081
1088
|
end
|
1082
1089
|
.,.,
|
1083
1090
|
|
1084
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1091
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 183)
|
1085
1092
|
def _reduce_119(val, _values)
|
1086
1093
|
val.join
|
1087
1094
|
end
|
1088
1095
|
.,.,
|
1089
1096
|
|
1090
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1097
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 184)
|
1091
1098
|
def _reduce_120(val, _values)
|
1092
1099
|
val[0]
|
1093
1100
|
end
|
1094
1101
|
.,.,
|
1095
1102
|
|
1096
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1103
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 187)
|
1097
1104
|
def _reduce_121(val, _values)
|
1098
1105
|
label, title = val[1].split("|",2)
|
1099
1106
|
title ||= label
|
@@ -1104,25 +1111,25 @@ module_eval(<<'.,.,', 'mokinlineparser.ry', 190)
|
|
1104
1111
|
end
|
1105
1112
|
.,.,
|
1106
1113
|
|
1107
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1114
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 196)
|
1108
1115
|
def _reduce_122(val, _values)
|
1109
1116
|
val[0]
|
1110
1117
|
end
|
1111
1118
|
.,.,
|
1112
1119
|
|
1113
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1120
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 198)
|
1114
1121
|
def _reduce_123(val, _values)
|
1115
1122
|
val.join
|
1116
1123
|
end
|
1117
1124
|
.,.,
|
1118
1125
|
|
1119
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1126
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 199)
|
1120
1127
|
def _reduce_124(val, _values)
|
1121
1128
|
val[0]
|
1122
1129
|
end
|
1123
1130
|
.,.,
|
1124
1131
|
|
1125
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1132
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 202)
|
1126
1133
|
def _reduce_125(val, _values)
|
1127
1134
|
label, title = val[1].split("|",2)
|
1128
1135
|
title ||= label
|
@@ -1131,25 +1138,25 @@ module_eval(<<'.,.,', 'mokinlineparser.ry', 205)
|
|
1131
1138
|
end
|
1132
1139
|
.,.,
|
1133
1140
|
|
1134
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1141
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 209)
|
1135
1142
|
def _reduce_126(val, _values)
|
1136
1143
|
val[0]
|
1137
1144
|
end
|
1138
1145
|
.,.,
|
1139
1146
|
|
1140
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1147
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 211)
|
1141
1148
|
def _reduce_127(val, _values)
|
1142
1149
|
val.join
|
1143
1150
|
end
|
1144
1151
|
.,.,
|
1145
1152
|
|
1146
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1153
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 212)
|
1147
1154
|
def _reduce_128(val, _values)
|
1148
1155
|
val[0]
|
1149
1156
|
end
|
1150
1157
|
.,.,
|
1151
1158
|
|
1152
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1159
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 215)
|
1153
1160
|
def _reduce_129(val, _values)
|
1154
1161
|
title, uri = val[1].split("|",2)
|
1155
1162
|
uri ||= title
|
@@ -1157,6 +1164,7 @@ module_eval(<<'.,.,', 'mokinlineparser.ry', 218)
|
|
1157
1164
|
uri.slice!(-2,2)
|
1158
1165
|
uri = "#{uri}#{@options[:reference_extension]}"
|
1159
1166
|
end
|
1167
|
+
uri = mok_link_path(uri, @options[:reference_base_directory])
|
1160
1168
|
Reference.new([title, uri])
|
1161
1169
|
|
1162
1170
|
end
|
@@ -1220,31 +1228,31 @@ module_eval(<<'.,.,', 'mokinlineparser.ry', 218)
|
|
1220
1228
|
|
1221
1229
|
# reduce 158 omitted
|
1222
1230
|
|
1223
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1231
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 256)
|
1224
1232
|
def _reduce_159(val, _values)
|
1225
1233
|
val
|
1226
1234
|
end
|
1227
1235
|
.,.,
|
1228
1236
|
|
1229
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1237
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 258)
|
1230
1238
|
def _reduce_160(val, _values)
|
1231
1239
|
Verb.new(val[1])
|
1232
1240
|
end
|
1233
1241
|
.,.,
|
1234
1242
|
|
1235
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1243
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 262)
|
1236
1244
|
def _reduce_161(val, _values)
|
1237
1245
|
Plain.new(val[0])
|
1238
1246
|
end
|
1239
1247
|
.,.,
|
1240
1248
|
|
1241
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1249
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 263)
|
1242
1250
|
def _reduce_162(val, _values)
|
1243
1251
|
Plain.new([val[0].contents, val[1]])
|
1244
1252
|
end
|
1245
1253
|
.,.,
|
1246
1254
|
|
1247
|
-
module_eval(<<'.,.,', 'mokinlineparser.ry',
|
1255
|
+
module_eval(<<'.,.,', 'mokinlineparser.ry', 265)
|
1248
1256
|
def _reduce_163(val, _values)
|
1249
1257
|
val[0]
|
1250
1258
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mok-parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- garin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|