hanamimastery-cli 0.2.2 → 0.3.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
  SHA256:
3
- metadata.gz: 62ba8407926d8d5187831a1d53ea95c3684a081440cc5c5173bbaa14d65f4732
4
- data.tar.gz: 723d318b0a95df0f1c536a9993ccc8f1ca95e8bd1e276496c2b9fe0ffb8df8dc
3
+ metadata.gz: 6f56928a78087f1f81bbfb204a6a7fe99a9699f3d2d5548e6c62dbcb8ced937e
4
+ data.tar.gz: 3cde3782ed0e096ebc60646478824f04265c6b8d5ab5438f1355983862fc55c8
5
5
  SHA512:
6
- metadata.gz: 2a66d110d143ede9bac6be2c74de8937fe692c76271e3f4db43529d81536ba998db4bce5ad3a55842f3152655a2092c3bc5207fe4c401c3d9bffa3b1e7b3a06f
7
- data.tar.gz: b811f2ea99386d5de89fd481bbe43f5d9daf73204d8eca666341ebf988a2a700ecd64db29bfaa15316e8186d207a9a7404a41f8e18d561cff7435bc4b2dbc94d
6
+ metadata.gz: 57472d81ba5d1a57dbde932ecef22251167504f4cf162bb23e8a04f0b02131e88ad17e1e850a3cecdbd61a13423808c42d7ffb8c886f22157d715c759de48a9f
7
+ data.tar.gz: 5b2ecf88571395e9446f01385ee51617040d1ba6d5a0fb4ddf4b7756ba407f365e3a9c7dcba66f49d12a926a1bc4dad654c655a3ca855d9ab30d5f667d3bdc13
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hanamimastery-cli (0.2.2)
4
+ hanamimastery-cli (0.3.0)
5
5
  commonmarker (~> 1.0.0.pre6)
6
6
  dry-cli (<= 1.0)
7
7
  dry-configurable (~> 1.0)
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Hanamimastery
4
+ module CLI
5
+ module Commands
6
+ class ToNotion < Dry::CLI::Command
7
+ desc 'Renders HTML out of Markdown'
8
+ argument :episode, type: :integer, required: :true, desc: "Episode's ID to render"
9
+ option :save, aliases: ['-s'], type: :boolean, default: false, desc: 'Save to file?'
10
+
11
+ include Deps[
12
+ repository: 'repositories.episodes',
13
+ transformation: 'transformations.to_pro'
14
+ ]
15
+
16
+ def call(episode:, save:, **)
17
+ content = repository.fetch(episode).content
18
+ processed = transformation.call(content)
19
+ save ? File.write("#{episode}-episode.html", processed) : puts(processed)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -16,7 +16,7 @@ module Hanamimastery
16
16
  def call(episode:, save:, **)
17
17
  content = repository.fetch(episode).content
18
18
  processed = transformation.call(content)
19
- save ? File.write("#{episode}-episode.html", processed) : puts(processed)
19
+ repository.replace(episode, processed)
20
20
  end
21
21
  end
22
22
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'commonmarker'
4
+
5
+ module Hanamimastery
6
+ module CLI
7
+ module Transformations
8
+ class ToPRO
9
+ # TODO: Make it Configurable
10
+ HOST = "https://hanamimastery.com"
11
+
12
+ # Transforms Markdown input to output compatible with Notion
13
+ #
14
+ def call(id, content)
15
+ image_patern = /\!(\[\[)(.+)(\]\])/
16
+ result
17
+ .gsub(image_pattern, "![#{'\2'.humanize.tr('-', ''))}](#{HOST}/images/episodes/#{id})")
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Hanamimastery
4
4
  module CLI
5
- VERSION = "0.2.2"
5
+ VERSION = "0.3.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanamimastery-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Wilgosz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-20 00:00:00.000000000 Z
11
+ date: 2023-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-cli
@@ -103,6 +103,7 @@ files:
103
103
  - lib/hanamimastery-cli.rb
104
104
  - lib/hanamimastery/cli.rb
105
105
  - lib/hanamimastery/cli/commands.rb
106
+ - lib/hanamimastery/cli/commands/to_notion.rb
106
107
  - lib/hanamimastery/cli/commands/to_pro.rb
107
108
  - lib/hanamimastery/cli/commands/touch.rb
108
109
  - lib/hanamimastery/cli/commands/unshot.rb
@@ -110,6 +111,7 @@ files:
110
111
  - lib/hanamimastery/cli/deps.rb
111
112
  - lib/hanamimastery/cli/errors.rb
112
113
  - lib/hanamimastery/cli/repositories/episodes.rb
114
+ - lib/hanamimastery/cli/transformations/to_notion.rb
113
115
  - lib/hanamimastery/cli/transformations/to_pro.rb
114
116
  - lib/hanamimastery/cli/transformations/touch.rb
115
117
  - lib/hanamimastery/cli/transformations/unshot.rb
@@ -138,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
140
  - !ruby/object:Gem::Version
139
141
  version: '0'
140
142
  requirements: []
141
- rubygems_version: 3.4.1
143
+ rubygems_version: 3.4.12
142
144
  signing_key:
143
145
  specification_version: 4
144
146
  summary: Command line p