ankirb 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e067d42f5f163a0c774309b1e50d79cc0a53c77
4
- data.tar.gz: 611ebd148c7631dc737a39999b3db1fe8c23293e
3
+ metadata.gz: 87d7373f7c03a2d839df64d8c6e6f50532be6f4d
4
+ data.tar.gz: 11220833871161919fa564250e1a4b954fc49f2e
5
5
  SHA512:
6
- metadata.gz: b697663dbbcb09b0f2ddbe54e2b73ea3b65612c0607db83248517bcbd03030dd80f5553524fec5a2526e630db8ab7fb7f2762fcc84892a7d6af27dce45481ffc
7
- data.tar.gz: 496c5c34f38826594377fc9403cecf2a87950c90f8224bc133a218d3b051193da119a63c48f09c56957a8dcce55899b83d0aa4ca6467f67134c0f87a89fb413a
6
+ metadata.gz: 3a701edd015461c1b8992eba94226f4d5424bcc64be149b2170a232d6ce492f80d4e3e5f1d7537114fb6a5a3a0da532087deb22530bde68ede8fde2c2f26092d
7
+ data.tar.gz: 30c7c63f0fe9978fdd098a587579081223a80776a79920f985ee8ec2a25a9399af651d203471065a1697b563eedaceadf29eb66f049fdb0267b021299db19be4
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/ankirb.svg)](https://badge.fury.io/rb/ankirb) [![Build Status](https://travis-ci.org/rkachowski/anki-rb.svg?branch=master)](https://travis-ci.org/rkachowski/anki-rb)
4
4
 
5
- A basic gem to create [Anki](http://ankisrs.net/) decks (.apkg)
5
+ A basic gem to create [Anki](http://ankisrs.net/) decks (.apkg). Supports integrated media (audio, images and videos).
6
6
 
7
7
  ## Installation
8
8
 
@@ -43,7 +43,6 @@ module Anki
43
43
  def initialize content
44
44
  @content = content
45
45
  @media = []
46
- scan_content_for_media
47
46
  end
48
47
 
49
48
  def << thing
@@ -51,17 +50,11 @@ module Anki
51
50
  @media << thing
52
51
  else
53
52
  @content << thing
54
- scan_content_for_media
55
53
  end
56
54
  end
57
55
 
58
56
  def to_s
59
57
  @content
60
58
  end
61
- private
62
-
63
- def scan_content_for_media
64
- #todo: check if content contains a media reference and apply that
65
- end
66
59
  end
67
60
  end
@@ -37,7 +37,8 @@ module Anki
37
37
 
38
38
  faces_with_media.each do |face|
39
39
  face.media.each do |media_reference|
40
- face << MediaManager.get_tag_for(media_reference)
40
+ face.content = Media.process(media_reference, face.content)
41
+
41
42
  FileUtils.cp media_reference, File.join(path, media.length.to_s)
42
43
  media[media.size.to_s] = File.basename(media_reference)
43
44
  end
@@ -1,21 +1,28 @@
1
1
  require 'mimemagic'
2
2
  module Anki
3
- class MediaManager
3
+ class Media
4
4
 
5
-
6
- def self.get_tag_for filepath
5
+ def self.process filepath, str
7
6
  media = MimeMagic.by_magic(File.open(filepath))
8
7
  case
9
8
  when media.image?
10
- when media.video?
11
- when media.audio?
12
- "[sound:#{File.basename(filepath)}]"
9
+ tag = %(<img src="#{File.basename(filepath)}"/>)
10
+
11
+ if str.match(/{{img}}/)
12
+ str.sub!(/{{img}}/, tag)
13
+ else
14
+ str << tag
15
+ end
16
+ when media.audio?, media.video? #video also has a sound tag, idk
17
+ str << "[sound:#{File.basename(filepath)}]"
13
18
  else
14
19
  raise "Unknown media type - #{filepath}"
15
20
  end
16
21
  end
17
22
 
18
23
  def self.valid_media? filepath
24
+ return false unless File.exists?(filepath)
25
+
19
26
  media = MimeMagic.by_magic(File.open(filepath))
20
27
  if media.image? or media.video? or media.audio?
21
28
  true
@@ -1,3 +1,3 @@
1
1
  module Anki
2
- VERSION = '0.1.4' unless const_defined?(:VERSION)
2
+ VERSION = '0.2.0' unless const_defined?(:VERSION)
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ankirb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donald Hutchison
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-18 00:00:00.000000000 Z
11
+ date: 2016-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -144,7 +144,7 @@ files:
144
144
  - lib/ankirb/export/apkg.rb
145
145
  - lib/ankirb/export/db.rb
146
146
  - lib/ankirb/export/defaults.rb
147
- - lib/ankirb/util/media_manager.rb
147
+ - lib/ankirb/util/media.rb
148
148
  - lib/ankirb/version.rb
149
149
  homepage: https://github.com/rkachowski/anki-rb
150
150
  licenses: