mg2en 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ # gem version
2
+ module Mg2en
3
+ VERSION = '0.7.0'
4
+ end
@@ -0,0 +1,34 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'mg2en/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "mg2en"
8
+ gem.version = Mg2en::VERSION
9
+ gem.authors = ["Jeff Hutchison"]
10
+ gem.email = ["jeff@jeffhutchison.com"]
11
+ gem.description = gem.summary
12
+ gem.summary = %q{Convert MacGourmet plist export format to Evernote import format}
13
+ gem.homepage = "https://github.com/jhh/mg2en"
14
+ gem.license = 'MIT'
15
+ gem.date = Time.now.utc.strftime("%Y-%m-%d")
16
+
17
+ gem.files = `git ls-files`.split($/)
18
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
19
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
20
+ gem.require_paths = ["lib"]
21
+
22
+ gem.add_runtime_dependency('plist', '~> 3.1')
23
+ gem.add_runtime_dependency('builder', '~> 3.2')
24
+ gem.add_runtime_dependency('haml', '~> 4.0')
25
+ gem.add_runtime_dependency('image_science', '~> 1.2')
26
+ gem.add_runtime_dependency('activesupport', '~> 4.0')
27
+
28
+ gem.add_development_dependency 'pry'
29
+ gem.add_development_dependency 'rspec'
30
+ gem.add_development_dependency 'guard'
31
+ gem.add_development_dependency 'guard-rspec'
32
+ gem.add_development_dependency 'ruby_gntp'
33
+ gem.add_development_dependency 'libxml-ruby'
34
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mg2en::Direction do
4
+
5
+ context 'with valid input' do
6
+ let(:parser) do
7
+ Mg2en::Parser.new(File.dirname(__FILE__) + '/fixtures/1.mgourmet3')
8
+ end
9
+
10
+ it 'parses directions' do
11
+ d = parser.recipes[0].directions
12
+ expect(d[0].description).to eql('Prepare the ingredients.')
13
+ expect(d[0].label).to eql('Prepare')
14
+ expect(d[0].highlighted?).to be false
15
+ expect(d[1].highlighted?).to be true
16
+ end
17
+
18
+ it 'outputs direction' do
19
+ d = parser.recipes[1].directions
20
+ expect(d[0].to_s).to eql('Prepare Prepare the ingredients. false')
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,592 @@
1
+ <!--
2
+
3
+ Evernote Markup Language (ENML) 2.0 DTD
4
+
5
+ This expresses the structure of an XML document that can be used as the
6
+ 'content' of a Note within Evernote's data model.
7
+ The Evernote service will reject attempts to create or update notes if
8
+ their contents do not validate against this DTD.
9
+
10
+ This is based on a subset of XHTML which is intentionally broadened to
11
+ reject less real-world HTML, to reduce the likelihood of synchronization
12
+ failures. This means that all attributes are defined as CDATA instead of
13
+ more-restrictive types, and every HTML element may embed every other
14
+ HTML element.
15
+
16
+ Copyright (c) 2007-2009 Evernote Corp.
17
+
18
+ $Date: 2007/10/15 18:00:00 $
19
+
20
+ -->
21
+
22
+ <!--=========== External character mnemonic entities ===================-->
23
+
24
+ <!ENTITY % HTMLlat1 PUBLIC
25
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
26
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
27
+ %HTMLlat1;
28
+
29
+ <!ENTITY % HTMLsymbol PUBLIC
30
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
31
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
32
+ %HTMLsymbol;
33
+
34
+ <!ENTITY % HTMLspecial PUBLIC
35
+ "-//W3C//ENTITIES Special for XHTML//EN"
36
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
37
+ %HTMLspecial;
38
+
39
+ <!--=================== Generic Attributes ===============================-->
40
+
41
+ <!ENTITY % coreattrs
42
+ "style CDATA #IMPLIED
43
+ title CDATA #IMPLIED"
44
+ >
45
+
46
+ <!ENTITY % i18n
47
+ "lang CDATA #IMPLIED
48
+ xml:lang CDATA #IMPLIED
49
+ dir CDATA #IMPLIED"
50
+ >
51
+
52
+ <!ENTITY % focus
53
+ "accesskey CDATA #IMPLIED
54
+ tabindex CDATA #IMPLIED"
55
+ >
56
+
57
+ <!ENTITY % attrs
58
+ "%coreattrs;
59
+ %i18n;"
60
+ >
61
+
62
+ <!ENTITY % TextAlign
63
+ "align CDATA #IMPLIED"
64
+ >
65
+
66
+ <!ENTITY % cellhalign
67
+ "align CDATA #IMPLIED
68
+ char CDATA #IMPLIED
69
+ charoff CDATA #IMPLIED"
70
+ >
71
+
72
+ <!ENTITY % cellvalign
73
+ "valign CDATA #IMPLIED"
74
+ >
75
+
76
+ <!ENTITY % AnyContent
77
+ "( #PCDATA |
78
+ a |
79
+ abbr |
80
+ acronym |
81
+ address |
82
+ area |
83
+ b |
84
+ bdo |
85
+ big |
86
+ blockquote |
87
+ br |
88
+ caption |
89
+ center |
90
+ cite |
91
+ code |
92
+ col |
93
+ colgroup |
94
+ dd |
95
+ del |
96
+ dfn |
97
+ div |
98
+ dl |
99
+ dt |
100
+ em |
101
+ en-crypt |
102
+ en-media |
103
+ en-todo |
104
+ font |
105
+ h1 |
106
+ h2 |
107
+ h3 |
108
+ h4 |
109
+ h5 |
110
+ h6 |
111
+ hr |
112
+ i |
113
+ img |
114
+ ins |
115
+ kbd |
116
+ li |
117
+ map |
118
+ ol |
119
+ p |
120
+ pre |
121
+ q |
122
+ s |
123
+ samp |
124
+ small |
125
+ span |
126
+ strike |
127
+ strong |
128
+ sub |
129
+ sup |
130
+ table |
131
+ tbody |
132
+ td |
133
+ tfoot |
134
+ th |
135
+ thead |
136
+ tr |
137
+ tt |
138
+ u |
139
+ ul |
140
+ var )*"
141
+ >
142
+
143
+ <!--=========== Evernote-specific Elements and Attributes ===============-->
144
+
145
+ <!ELEMENT en-note %AnyContent;>
146
+ <!ATTLIST en-note
147
+ %attrs;
148
+ bgcolor CDATA #IMPLIED
149
+ text CDATA #IMPLIED
150
+ xmlns CDATA #FIXED 'http://xml.evernote.com/pub/enml2.dtd'
151
+ >
152
+
153
+ <!ELEMENT en-crypt (#PCDATA)>
154
+ <!ATTLIST en-crypt
155
+ hint CDATA #IMPLIED
156
+ cipher CDATA "RC2"
157
+ length CDATA "64"
158
+ >
159
+
160
+ <!ELEMENT en-todo EMPTY>
161
+ <!ATTLIST en-todo
162
+ checked (true|false) "false"
163
+ >
164
+
165
+ <!ELEMENT en-media EMPTY>
166
+ <!ATTLIST en-media
167
+ %attrs;
168
+ type CDATA #REQUIRED
169
+ hash CDATA #REQUIRED
170
+ height CDATA #IMPLIED
171
+ width CDATA #IMPLIED
172
+ usemap CDATA #IMPLIED
173
+ align CDATA #IMPLIED
174
+ border CDATA #IMPLIED
175
+ hspace CDATA #IMPLIED
176
+ vspace CDATA #IMPLIED
177
+ longdesc CDATA #IMPLIED
178
+ alt CDATA #IMPLIED
179
+ >
180
+
181
+ <!--=========== Simplified HTML Elements and Attributes ===============-->
182
+
183
+ <!ELEMENT a %AnyContent;>
184
+ <!ATTLIST a
185
+ %attrs;
186
+ %focus;
187
+ charset CDATA #IMPLIED
188
+ type CDATA #IMPLIED
189
+ name CDATA #IMPLIED
190
+ href CDATA #IMPLIED
191
+ hreflang CDATA #IMPLIED
192
+ rel CDATA #IMPLIED
193
+ rev CDATA #IMPLIED
194
+ shape CDATA #IMPLIED
195
+ coords CDATA #IMPLIED
196
+ target CDATA #IMPLIED
197
+ >
198
+
199
+ <!ELEMENT abbr %AnyContent;>
200
+ <!ATTLIST abbr
201
+ %attrs;
202
+ >
203
+
204
+ <!ELEMENT acronym %AnyContent;>
205
+ <!ATTLIST acronym
206
+ %attrs;
207
+ >
208
+
209
+ <!ELEMENT address %AnyContent;>
210
+ <!ATTLIST address
211
+ %attrs;
212
+ >
213
+
214
+ <!ELEMENT area %AnyContent;>
215
+ <!ATTLIST area
216
+ %attrs;
217
+ %focus;
218
+ shape CDATA #IMPLIED
219
+ coords CDATA #IMPLIED
220
+ href CDATA #IMPLIED
221
+ nohref CDATA #IMPLIED
222
+ alt CDATA #IMPLIED
223
+ target CDATA #IMPLIED
224
+ >
225
+
226
+ <!ELEMENT b %AnyContent;>
227
+ <!ATTLIST b
228
+ %attrs;
229
+ >
230
+
231
+ <!ELEMENT bdo %AnyContent;>
232
+ <!ATTLIST bdo
233
+ %coreattrs;
234
+ lang CDATA #IMPLIED
235
+ xml:lang CDATA #IMPLIED
236
+ dir CDATA #IMPLIED
237
+ >
238
+
239
+ <!ELEMENT big %AnyContent;>
240
+ <!ATTLIST big
241
+ %attrs;
242
+ >
243
+
244
+ <!ELEMENT blockquote %AnyContent;>
245
+ <!ATTLIST blockquote
246
+ %attrs;
247
+ cite CDATA #IMPLIED
248
+ >
249
+
250
+ <!ELEMENT br %AnyContent;>
251
+ <!ATTLIST br
252
+ %coreattrs;
253
+ clear CDATA #IMPLIED
254
+ >
255
+
256
+ <!ELEMENT caption %AnyContent;>
257
+ <!ATTLIST caption
258
+ %attrs;
259
+ align CDATA #IMPLIED
260
+ >
261
+
262
+ <!ELEMENT center %AnyContent;>
263
+ <!ATTLIST center
264
+ %attrs;
265
+ >
266
+
267
+ <!ELEMENT cite %AnyContent;>
268
+ <!ATTLIST cite
269
+ %attrs;
270
+ >
271
+
272
+ <!ELEMENT code %AnyContent;>
273
+ <!ATTLIST code
274
+ %attrs;
275
+ >
276
+
277
+ <!ELEMENT col %AnyContent;>
278
+ <!ATTLIST col
279
+ %attrs;
280
+ %cellhalign;
281
+ %cellvalign;
282
+ span CDATA #IMPLIED
283
+ width CDATA #IMPLIED
284
+ >
285
+
286
+ <!ELEMENT colgroup %AnyContent;>
287
+ <!ATTLIST colgroup
288
+ %attrs;
289
+ %cellhalign;
290
+ %cellvalign;
291
+ span CDATA #IMPLIED
292
+ width CDATA #IMPLIED
293
+ >
294
+
295
+ <!ELEMENT dd %AnyContent;>
296
+ <!ATTLIST dd
297
+ %attrs;
298
+ >
299
+
300
+ <!ELEMENT del %AnyContent;>
301
+ <!ATTLIST del
302
+ %attrs;
303
+ cite CDATA #IMPLIED
304
+ datetime CDATA #IMPLIED
305
+ >
306
+
307
+ <!ELEMENT dfn %AnyContent;>
308
+ <!ATTLIST dfn
309
+ %attrs;
310
+ >
311
+
312
+ <!ELEMENT div %AnyContent;>
313
+ <!ATTLIST div
314
+ %attrs;
315
+ %TextAlign;
316
+ >
317
+
318
+ <!ELEMENT dl %AnyContent;>
319
+ <!ATTLIST dl
320
+ %attrs;
321
+ compact CDATA #IMPLIED
322
+ >
323
+
324
+ <!ELEMENT dt %AnyContent;>
325
+ <!ATTLIST dt
326
+ %attrs;
327
+ >
328
+
329
+ <!ELEMENT em %AnyContent;>
330
+ <!ATTLIST em
331
+ %attrs;
332
+ >
333
+
334
+ <!ELEMENT font %AnyContent;>
335
+ <!ATTLIST font
336
+ %coreattrs;
337
+ %i18n;
338
+ size CDATA #IMPLIED
339
+ color CDATA #IMPLIED
340
+ face CDATA #IMPLIED
341
+ >
342
+
343
+ <!ELEMENT h1 %AnyContent;>
344
+ <!ATTLIST h1
345
+ %attrs;
346
+ %TextAlign;
347
+ >
348
+
349
+ <!ELEMENT h2 %AnyContent;>
350
+ <!ATTLIST h2
351
+ %attrs;
352
+ %TextAlign;
353
+ >
354
+
355
+ <!ELEMENT h3 %AnyContent;>
356
+ <!ATTLIST h3
357
+ %attrs;
358
+ %TextAlign;
359
+ >
360
+
361
+ <!ELEMENT h4 %AnyContent;>
362
+ <!ATTLIST h4
363
+ %attrs;
364
+ %TextAlign;
365
+ >
366
+
367
+ <!ELEMENT h5 %AnyContent;>
368
+ <!ATTLIST h5
369
+ %attrs;
370
+ %TextAlign;
371
+ >
372
+
373
+ <!ELEMENT h6 %AnyContent;>
374
+ <!ATTLIST h6
375
+ %attrs;
376
+ %TextAlign;
377
+ >
378
+
379
+ <!ELEMENT hr %AnyContent;>
380
+ <!ATTLIST hr
381
+ %attrs;
382
+ align CDATA #IMPLIED
383
+ noshade CDATA #IMPLIED
384
+ size CDATA #IMPLIED
385
+ width CDATA #IMPLIED
386
+ >
387
+
388
+ <!ELEMENT i %AnyContent;>
389
+ <!ATTLIST i
390
+ %attrs;
391
+ >
392
+
393
+ <!ELEMENT img %AnyContent;>
394
+ <!ATTLIST img
395
+ %attrs;
396
+ src CDATA #IMPLIED
397
+ alt CDATA #IMPLIED
398
+ name CDATA #IMPLIED
399
+ longdesc CDATA #IMPLIED
400
+ height CDATA #IMPLIED
401
+ width CDATA #IMPLIED
402
+ usemap CDATA #IMPLIED
403
+ ismap CDATA #IMPLIED
404
+ align CDATA #IMPLIED
405
+ border CDATA #IMPLIED
406
+ hspace CDATA #IMPLIED
407
+ vspace CDATA #IMPLIED
408
+ >
409
+
410
+ <!ELEMENT ins %AnyContent;>
411
+ <!ATTLIST ins
412
+ %attrs;
413
+ cite CDATA #IMPLIED
414
+ datetime CDATA #IMPLIED
415
+ >
416
+
417
+ <!ELEMENT kbd %AnyContent;>
418
+ <!ATTLIST kbd
419
+ %attrs;
420
+ >
421
+
422
+ <!ELEMENT li %AnyContent;>
423
+ <!ATTLIST li
424
+ %attrs;
425
+ type CDATA #IMPLIED
426
+ value CDATA #IMPLIED
427
+ >
428
+
429
+ <!ELEMENT map %AnyContent;>
430
+ <!ATTLIST map
431
+ %i18n;
432
+ title CDATA #IMPLIED
433
+ name CDATA #IMPLIED
434
+ >
435
+
436
+ <!ELEMENT ol %AnyContent;>
437
+ <!ATTLIST ol
438
+ %attrs;
439
+ type CDATA #IMPLIED
440
+ compact CDATA #IMPLIED
441
+ start CDATA #IMPLIED
442
+ >
443
+
444
+ <!ELEMENT p %AnyContent;>
445
+ <!ATTLIST p
446
+ %attrs;
447
+ %TextAlign;
448
+ >
449
+
450
+ <!ELEMENT pre %AnyContent;>
451
+ <!ATTLIST pre
452
+ %attrs;
453
+ width CDATA #IMPLIED
454
+ xml:space (preserve) #FIXED 'preserve'
455
+ >
456
+
457
+ <!ELEMENT q %AnyContent;>
458
+ <!ATTLIST q
459
+ %attrs;
460
+ cite CDATA #IMPLIED
461
+ >
462
+
463
+ <!ELEMENT s %AnyContent;>
464
+ <!ATTLIST s
465
+ %attrs;
466
+ >
467
+
468
+ <!ELEMENT samp %AnyContent;>
469
+ <!ATTLIST samp
470
+ %attrs;
471
+ >
472
+
473
+ <!ELEMENT small %AnyContent;>
474
+ <!ATTLIST small
475
+ %attrs;
476
+ >
477
+
478
+ <!ELEMENT span %AnyContent;>
479
+ <!ATTLIST span
480
+ %attrs;
481
+ >
482
+
483
+ <!ELEMENT strike %AnyContent;>
484
+ <!ATTLIST strike
485
+ %attrs;
486
+ >
487
+
488
+ <!ELEMENT strong %AnyContent;>
489
+ <!ATTLIST strong
490
+ %attrs;
491
+ >
492
+
493
+ <!ELEMENT sub %AnyContent;>
494
+ <!ATTLIST sub
495
+ %attrs;
496
+ >
497
+
498
+ <!ELEMENT sup %AnyContent;>
499
+ <!ATTLIST sup
500
+ %attrs;
501
+ >
502
+
503
+ <!ELEMENT table %AnyContent;>
504
+ <!ATTLIST table
505
+ %attrs;
506
+ summary CDATA #IMPLIED
507
+ width CDATA #IMPLIED
508
+ border CDATA #IMPLIED
509
+ cellspacing CDATA #IMPLIED
510
+ cellpadding CDATA #IMPLIED
511
+ align CDATA #IMPLIED
512
+ bgcolor CDATA #IMPLIED
513
+ >
514
+
515
+ <!ELEMENT tbody %AnyContent;>
516
+ <!ATTLIST tbody
517
+ %attrs;
518
+ %cellhalign;
519
+ %cellvalign;
520
+ >
521
+
522
+ <!ELEMENT td %AnyContent;>
523
+ <!ATTLIST td
524
+ %attrs;
525
+ %cellhalign;
526
+ %cellvalign;
527
+ abbr CDATA #IMPLIED
528
+ rowspan CDATA #IMPLIED
529
+ colspan CDATA #IMPLIED
530
+ nowrap CDATA #IMPLIED
531
+ bgcolor CDATA #IMPLIED
532
+ width CDATA #IMPLIED
533
+ height CDATA #IMPLIED
534
+ >
535
+
536
+ <!ELEMENT tfoot %AnyContent;>
537
+ <!ATTLIST tfoot
538
+ %attrs;
539
+ %cellhalign;
540
+ %cellvalign;
541
+ >
542
+
543
+ <!ELEMENT th %AnyContent;>
544
+ <!ATTLIST th
545
+ %attrs;
546
+ %cellhalign;
547
+ %cellvalign;
548
+ abbr CDATA #IMPLIED
549
+ rowspan CDATA #IMPLIED
550
+ colspan CDATA #IMPLIED
551
+ nowrap CDATA #IMPLIED
552
+ bgcolor CDATA #IMPLIED
553
+ width CDATA #IMPLIED
554
+ height CDATA #IMPLIED
555
+ >
556
+
557
+ <!ELEMENT thead %AnyContent;>
558
+ <!ATTLIST thead
559
+ %attrs;
560
+ %cellhalign;
561
+ %cellvalign;
562
+ >
563
+
564
+ <!ELEMENT tr %AnyContent;>
565
+ <!ATTLIST tr
566
+ %attrs;
567
+ %cellhalign;
568
+ %cellvalign;
569
+ bgcolor CDATA #IMPLIED
570
+ >
571
+
572
+ <!ELEMENT tt %AnyContent;>
573
+ <!ATTLIST tt
574
+ %attrs;
575
+ >
576
+
577
+ <!ELEMENT u %AnyContent;>
578
+ <!ATTLIST u
579
+ %attrs;
580
+ >
581
+
582
+ <!ELEMENT ul %AnyContent;>
583
+ <!ATTLIST ul
584
+ %attrs;
585
+ type CDATA #IMPLIED
586
+ compact CDATA #IMPLIED
587
+ >
588
+
589
+ <!ELEMENT var %AnyContent;>
590
+ <!ATTLIST var
591
+ %attrs;
592
+ >