hanamimastery-cli 0.2.1 → 0.3.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 +4 -4
- data/CHANGELOG.md +9 -0
- data/Gemfile.lock +1 -1
- data/exe/hanamimastery +2 -0
- data/lib/hanamimastery/cli/commands/to_notion.rb +24 -0
- data/lib/hanamimastery/cli/commands/to_pro.rb +1 -1
- data/lib/hanamimastery/cli/container.rb +14 -3
- data/lib/hanamimastery/cli/{error.rb → errors.rb} +3 -1
- data/lib/hanamimastery/cli/transformations/to_notion.rb +22 -0
- data/lib/hanamimastery/cli/version.rb +1 -1
- data/lib/hanamimastery/cli.rb +3 -6
- data/lib/hanamimastery-cli.rb +3 -0
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f56928a78087f1f81bbfb204a6a7fe99a9699f3d2d5548e6c62dbcb8ced937e
|
4
|
+
data.tar.gz: 3cde3782ed0e096ebc60646478824f04265c6b8d5ab5438f1355983862fc55c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57472d81ba5d1a57dbde932ecef22251167504f4cf162bb23e8a04f0b02131e88ad17e1e850a3cecdbd61a13423808c42d7ffb8c886f22157d715c759de48a9f
|
7
|
+
data.tar.gz: 5b2ecf88571395e9446f01385ee51617040d1ba6d5a0fb4ddf4b7756ba407f365e3a9c7dcba66f49d12a926a1bc4dad654c655a3ca855d9ab30d5f667d3bdc13
|
data/CHANGELOG.md
CHANGED
@@ -25,3 +25,12 @@ Added new command to render HTML version of premium episodes.
|
|
25
25
|
|
26
26
|
**PRO**
|
27
27
|
Transformes episode's markdown into HTML ready to be used in Podia editor.
|
28
|
+
|
29
|
+
|
30
|
+
## [0.2.1] - 2023-01-20
|
31
|
+
|
32
|
+
- Fixed incorrect dependency loading key
|
33
|
+
|
34
|
+
## [0.2.2] - 2023-01-20
|
35
|
+
|
36
|
+
- Improved zeitwer configuration for file loading
|
data/Gemfile.lock
CHANGED
data/exe/hanamimastery
CHANGED
@@ -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
|
-
|
19
|
+
repository.replace(episode, processed)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -7,13 +7,24 @@ module Hanamimastery
|
|
7
7
|
use :zeitwerk
|
8
8
|
|
9
9
|
configure do |config|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
root = File.expand_path("../../..", __dir__)
|
11
|
+
config.root = root
|
12
|
+
config.autoloader.tag = "hanamimastery-cli"
|
13
|
+
config.autoloader.inflector = Zeitwerk::GemInflector.new("#{root}/hanamimastery-cli.rb")
|
14
|
+
config.autoloader.push_dir(root)
|
15
|
+
config.autoloader.ignore(
|
16
|
+
"#{root}/hanamimastery-cli.rb",
|
17
|
+
"#{root}/hanamimastery/cli/{errors,version,deps,container}.rb"
|
18
|
+
)
|
19
|
+
|
13
20
|
config.inflector = Dry::Inflector.new do |inflections|
|
14
21
|
inflections.acronym('CLI')
|
15
22
|
inflections.acronym('PRO')
|
16
23
|
end
|
24
|
+
|
25
|
+
config.component_dirs.add 'lib' do |dir|
|
26
|
+
dir.namespaces.add "hanamimastery/cli", key: nil
|
27
|
+
end
|
17
28
|
end
|
18
29
|
end
|
19
30
|
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, "")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/hanamimastery/cli.rb
CHANGED
@@ -1,16 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'dry/cli'
|
4
|
+
require 'hanamimastery/cli/version'
|
5
|
+
require 'hanamimastery/cli/errors'
|
6
|
+
require 'hanamimastery/cli/deps'
|
4
7
|
|
5
8
|
module Hanamimastery
|
6
9
|
module CLI
|
7
|
-
require_relative 'cli/version'
|
8
|
-
require_relative 'cli/error'
|
9
|
-
require_relative 'cli/deps'
|
10
|
-
require_relative 'cli/commands'
|
11
|
-
|
12
10
|
extend Dry::CLI::Registry
|
13
|
-
|
14
11
|
register 'touch', Commands::Touch
|
15
12
|
register 'unshot', Commands::Unshot
|
16
13
|
register 'pro', Commands::ToPRO
|
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.
|
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-
|
11
|
+
date: 2023-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-cli
|
@@ -100,15 +100,18 @@ files:
|
|
100
100
|
- README.md
|
101
101
|
- Rakefile
|
102
102
|
- exe/hanamimastery
|
103
|
+
- lib/hanamimastery-cli.rb
|
103
104
|
- lib/hanamimastery/cli.rb
|
104
105
|
- lib/hanamimastery/cli/commands.rb
|
106
|
+
- lib/hanamimastery/cli/commands/to_notion.rb
|
105
107
|
- lib/hanamimastery/cli/commands/to_pro.rb
|
106
108
|
- lib/hanamimastery/cli/commands/touch.rb
|
107
109
|
- lib/hanamimastery/cli/commands/unshot.rb
|
108
110
|
- lib/hanamimastery/cli/container.rb
|
109
111
|
- lib/hanamimastery/cli/deps.rb
|
110
|
-
- lib/hanamimastery/cli/
|
112
|
+
- lib/hanamimastery/cli/errors.rb
|
111
113
|
- lib/hanamimastery/cli/repositories/episodes.rb
|
114
|
+
- lib/hanamimastery/cli/transformations/to_notion.rb
|
112
115
|
- lib/hanamimastery/cli/transformations/to_pro.rb
|
113
116
|
- lib/hanamimastery/cli/transformations/touch.rb
|
114
117
|
- lib/hanamimastery/cli/transformations/unshot.rb
|
@@ -137,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
140
|
- !ruby/object:Gem::Version
|
138
141
|
version: '0'
|
139
142
|
requirements: []
|
140
|
-
rubygems_version: 3.4.
|
143
|
+
rubygems_version: 3.4.12
|
141
144
|
signing_key:
|
142
145
|
specification_version: 4
|
143
146
|
summary: Command line p
|