ankirb 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: