inkpen 0.7.2 → 0.8.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.
data/config/importmap.rb CHANGED
@@ -1,170 +1,19 @@
1
- # Inkpen importmap configuration
2
- # These pins are automatically added to the host app's importmap
3
- # Using esm.sh for browser-compatible builds (no Node.js polyfills needed)
4
-
5
- # ProseMirror core (TipTap's underlying editor framework)
6
- pin "prosemirror-state", to: "https://esm.sh/prosemirror-state@1.4.3"
7
- pin "prosemirror-view", to: "https://esm.sh/prosemirror-view@1.33.8"
8
- pin "prosemirror-model", to: "https://esm.sh/prosemirror-model@1.22.3"
9
- pin "prosemirror-transform", to: "https://esm.sh/prosemirror-transform@1.9.0"
10
- pin "prosemirror-commands", to: "https://esm.sh/prosemirror-commands@1.5.2"
11
- pin "prosemirror-keymap", to: "https://esm.sh/prosemirror-keymap@1.2.2"
12
- pin "prosemirror-history", to: "https://esm.sh/prosemirror-history@1.4.1"
13
- pin "prosemirror-dropcursor", to: "https://esm.sh/prosemirror-dropcursor@1.8.1"
14
- pin "prosemirror-gapcursor", to: "https://esm.sh/prosemirror-gapcursor@1.3.2"
15
- pin "prosemirror-schema-list", to: "https://esm.sh/prosemirror-schema-list@1.4.1"
16
- pin "prosemirror-inputrules", to: "https://esm.sh/prosemirror-inputrules@1.4.0"
17
- pin "prosemirror-tables", to: "https://esm.sh/prosemirror-tables@1.4.0"
18
- pin "rope-sequence", to: "https://esm.sh/rope-sequence@1.3.4"
19
- pin "orderedmap", to: "https://esm.sh/orderedmap@2.1.1"
20
- pin "w3c-keyname", to: "https://esm.sh/w3c-keyname@2.2.8"
21
- pin "crelt", to: "https://esm.sh/crelt@1.0.6"
22
-
23
- # TipTap core
24
- pin "@tiptap/core", to: "https://esm.sh/@tiptap/core@2.10.3"
25
- pin "@tiptap/pm/state", to: "https://esm.sh/@tiptap/pm@2.10.3/state"
26
- pin "@tiptap/pm/view", to: "https://esm.sh/@tiptap/pm@2.10.3/view"
27
- pin "@tiptap/pm/model", to: "https://esm.sh/@tiptap/pm@2.10.3/model"
28
- pin "@tiptap/pm/transform", to: "https://esm.sh/@tiptap/pm@2.10.3/transform"
29
- pin "@tiptap/pm/commands", to: "https://esm.sh/@tiptap/pm@2.10.3/commands"
30
- pin "@tiptap/pm/keymap", to: "https://esm.sh/@tiptap/pm@2.10.3/keymap"
31
- pin "@tiptap/pm/history", to: "https://esm.sh/@tiptap/pm@2.10.3/history"
32
- pin "@tiptap/pm/dropcursor", to: "https://esm.sh/@tiptap/pm@2.10.3/dropcursor"
33
- pin "@tiptap/pm/gapcursor", to: "https://esm.sh/@tiptap/pm@2.10.3/gapcursor"
34
- pin "@tiptap/pm/schema-list", to: "https://esm.sh/@tiptap/pm@2.10.3/schema-list"
35
- pin "@tiptap/pm/inputrules", to: "https://esm.sh/@tiptap/pm@2.10.3/inputrules"
36
- pin "@tiptap/pm/tables", to: "https://esm.sh/@tiptap/pm@2.10.3/tables"
37
-
38
- # TipTap starter kit (includes common extensions)
39
- pin "@tiptap/starter-kit", to: "https://esm.sh/@tiptap/starter-kit@2.10.3"
40
-
41
- # TipTap extensions
42
- pin "@tiptap/extension-document", to: "https://esm.sh/@tiptap/extension-document@2.10.3"
43
- pin "@tiptap/extension-paragraph", to: "https://esm.sh/@tiptap/extension-paragraph@2.10.3"
44
- pin "@tiptap/extension-text", to: "https://esm.sh/@tiptap/extension-text@2.10.3"
45
- pin "@tiptap/extension-bold", to: "https://esm.sh/@tiptap/extension-bold@2.10.3"
46
- pin "@tiptap/extension-italic", to: "https://esm.sh/@tiptap/extension-italic@2.10.3"
47
- pin "@tiptap/extension-strike", to: "https://esm.sh/@tiptap/extension-strike@2.10.3"
48
- pin "@tiptap/extension-heading", to: "https://esm.sh/@tiptap/extension-heading@2.10.3"
49
- pin "@tiptap/extension-bullet-list", to: "https://esm.sh/@tiptap/extension-bullet-list@2.10.3"
50
- pin "@tiptap/extension-ordered-list", to: "https://esm.sh/@tiptap/extension-ordered-list@2.10.3"
51
- pin "@tiptap/extension-list-item", to: "https://esm.sh/@tiptap/extension-list-item@2.10.3"
52
- pin "@tiptap/extension-blockquote", to: "https://esm.sh/@tiptap/extension-blockquote@2.10.3"
53
- pin "@tiptap/extension-code-block", to: "https://esm.sh/@tiptap/extension-code-block@2.10.3"
54
- pin "@tiptap/extension-code", to: "https://esm.sh/@tiptap/extension-code@2.10.3"
55
- pin "@tiptap/extension-horizontal-rule", to: "https://esm.sh/@tiptap/extension-horizontal-rule@2.10.3"
56
- pin "@tiptap/extension-hard-break", to: "https://esm.sh/@tiptap/extension-hard-break@2.10.3"
57
- pin "@tiptap/extension-history", to: "https://esm.sh/@tiptap/extension-history@2.10.3"
58
- pin "@tiptap/extension-dropcursor", to: "https://esm.sh/@tiptap/extension-dropcursor@2.10.3"
59
- pin "@tiptap/extension-gapcursor", to: "https://esm.sh/@tiptap/extension-gapcursor@2.10.3"
60
- pin "@tiptap/extension-link", to: "https://esm.sh/@tiptap/extension-link@2.10.3"
61
-
62
- # Link extension dependencies
63
- pin "linkifyjs", to: "https://esm.sh/linkifyjs@4.1.3"
64
- pin "@tiptap/extension-placeholder", to: "https://esm.sh/@tiptap/extension-placeholder@2.10.3"
65
- pin "@tiptap/extension-table", to: "https://esm.sh/@tiptap/extension-table@2.10.3"
66
- pin "@tiptap/extension-table-row", to: "https://esm.sh/@tiptap/extension-table-row@2.10.3"
67
- pin "@tiptap/extension-table-cell", to: "https://esm.sh/@tiptap/extension-table-cell@2.10.3"
68
- pin "@tiptap/extension-table-header", to: "https://esm.sh/@tiptap/extension-table-header@2.10.3"
69
- pin "@tiptap/extension-image", to: "https://esm.sh/@tiptap/extension-image@2.10.3"
70
-
71
- # Task List extension
72
- pin "@tiptap/extension-task-list", to: "https://esm.sh/@tiptap/extension-task-list@2.10.3"
73
- pin "@tiptap/extension-task-item", to: "https://esm.sh/@tiptap/extension-task-item@2.10.3"
74
-
75
- # Mention extension
76
- pin "@tiptap/extension-mention", to: "https://esm.sh/@tiptap/extension-mention@2.10.3"
77
- pin "@tiptap/suggestion", to: "https://esm.sh/@tiptap/suggestion@2.10.3"
78
-
79
- # Syntax highlighting for code blocks
80
- pin "@tiptap/extension-code-block-lowlight", to: "https://esm.sh/@tiptap/extension-code-block-lowlight@2.10.3"
81
-
82
- # Typography extension (markdown shortcuts, smart quotes)
83
- pin "@tiptap/extension-typography", to: "https://esm.sh/@tiptap/extension-typography@2.10.3"
84
-
85
- # Text formatting marks
86
- pin "@tiptap/extension-highlight", to: "https://esm.sh/@tiptap/extension-highlight@2.10.3"
87
- pin "@tiptap/extension-underline", to: "https://esm.sh/@tiptap/extension-underline@2.10.3"
88
- pin "@tiptap/extension-subscript", to: "https://esm.sh/@tiptap/extension-subscript@2.10.3"
89
- pin "@tiptap/extension-superscript", to: "https://esm.sh/@tiptap/extension-superscript@2.10.3"
90
-
91
- # YouTube video embeds
92
- pin "@tiptap/extension-youtube", to: "https://esm.sh/@tiptap/extension-youtube@2.10.3"
93
-
94
- # Character count
95
- pin "@tiptap/extension-character-count", to: "https://esm.sh/@tiptap/extension-character-count@2.10.3"
96
-
97
- # BubbleMenu (floating toolbar on text selection)
98
- pin "@tiptap/extension-bubble-menu", to: "https://esm.sh/@tiptap/extension-bubble-menu@2.10.3"
99
-
100
- # FloatingMenu (toolbar on empty lines)
101
- pin "@tiptap/extension-floating-menu", to: "https://esm.sh/@tiptap/extension-floating-menu@2.10.3"
102
-
103
- # Tippy.js - required by BubbleMenu for positioning
104
- pin "tippy.js", to: "https://esm.sh/tippy.js@6.3.7"
105
- pin "@popperjs/core", to: "https://esm.sh/@popperjs/core@2.11.8"
106
-
107
- # Lowlight with bundled dependencies
108
- pin "lowlight", to: "https://esm.sh/lowlight@3?bundle"
109
-
110
- # Highlight.js core and common languages for syntax highlighting
111
- pin "highlight.js/lib/core", to: "https://esm.sh/highlight.js@11.9.0/lib/core"
112
- pin "highlight.js/lib/languages/javascript", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/javascript"
113
- pin "highlight.js/lib/languages/typescript", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/typescript"
114
- pin "highlight.js/lib/languages/ruby", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/ruby"
115
- pin "highlight.js/lib/languages/python", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/python"
116
- pin "highlight.js/lib/languages/css", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/css"
117
- pin "highlight.js/lib/languages/xml", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/xml"
118
- pin "highlight.js/lib/languages/json", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/json"
119
- pin "highlight.js/lib/languages/bash", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/bash"
120
- pin "highlight.js/lib/languages/sql", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/sql"
121
- pin "highlight.js/lib/languages/markdown", to: "https://esm.sh/highlight.js@11.9.0/lib/languages/markdown"
122
-
123
- # Emoji replacer extension (auto-replaces :emoji: shortcodes)
124
- pin "@tiptap-extend/emoji-replacer", to: "https://esm.sh/@tiptap-extend/emoji-replacer@2.1.6?deps=@tiptap/core@2.10.3"
125
-
126
- # Search and Replace extension
127
- pin "@sereneinserenade/tiptap-search-and-replace", to: "https://esm.sh/@sereneinserenade/tiptap-search-and-replace@0.1.1"
128
-
129
- # Footnotes extension
130
- pin "tiptap-footnotes", to: "https://esm.sh/tiptap-footnotes@2.0.4?deps=@tiptap/core@2.10.3,@tiptap/pm@2.10.3"
131
-
132
- # Inkpen controllers and extensions
133
- pin "inkpen", to: "inkpen/index.js"
134
- pin_all_from File.expand_path("../app/assets/javascripts/inkpen", __dir__), under: "inkpen"
135
-
136
- # Inkpen custom extensions - explicit pins required for nested directories
137
- pin "inkpen/extensions/section", to: "inkpen/extensions/section.js"
138
- pin "inkpen/extensions/preformatted", to: "inkpen/extensions/preformatted.js"
139
- pin "inkpen/extensions/slash_commands", to: "inkpen/extensions/slash_commands.js"
140
- pin "inkpen/extensions/block_gutter", to: "inkpen/extensions/block_gutter.js"
141
- pin "inkpen/extensions/drag_handle", to: "inkpen/extensions/drag_handle.js"
142
- pin "inkpen/extensions/toggle_block", to: "inkpen/extensions/toggle_block.js"
143
- pin "inkpen/extensions/columns", to: "inkpen/extensions/columns.js"
144
- pin "inkpen/extensions/callout", to: "inkpen/extensions/callout.js"
145
- pin "inkpen/extensions/block_commands", to: "inkpen/extensions/block_commands.js"
146
- pin "inkpen/extensions/enhanced_image", to: "inkpen/extensions/enhanced_image.js"
147
- pin "inkpen/extensions/file_attachment", to: "inkpen/extensions/file_attachment.js"
148
- pin "inkpen/extensions/embed", to: "inkpen/extensions/embed.js"
149
- pin "inkpen/extensions/advanced_table", to: "inkpen/extensions/advanced_table.js"
150
- pin "inkpen/extensions/table_of_contents", to: "inkpen/extensions/table_of_contents.js"
151
- pin "inkpen/extensions/database", to: "inkpen/extensions/database.js"
152
- pin "inkpen/extensions/document_section", to: "inkpen/extensions/document_section.js"
153
- pin "inkpen/extensions/section_title", to: "inkpen/extensions/section_title.js"
154
- pin "inkpen/extensions/export_commands", to: "inkpen/extensions/export_commands.js"
155
- pin "inkpen/extensions/content_embed", to: "inkpen/extensions/content_embed.js"
156
-
157
- # Export modules - explicit pins for relative import resolution
158
- pin "inkpen/export", to: "inkpen/export/index.js"
159
- pin "inkpen/export/markdown", to: "inkpen/export/markdown.js"
160
- pin "inkpen/export/html", to: "inkpen/export/html.js"
161
- pin "inkpen/export/pdf", to: "inkpen/export/pdf.js"
162
-
163
- # InkpenTable module - explicit pins for all sub-modules
164
- pin "inkpen/extensions/inkpen_table", to: "inkpen/extensions/inkpen_table/index.js"
165
- pin "inkpen/extensions/inkpen_table/inkpen_table", to: "inkpen/extensions/inkpen_table/inkpen_table.js"
166
- pin "inkpen/extensions/inkpen_table/inkpen_table_cell", to: "inkpen/extensions/inkpen_table/inkpen_table_cell.js"
167
- pin "inkpen/extensions/inkpen_table/inkpen_table_header", to: "inkpen/extensions/inkpen_table/inkpen_table_header.js"
168
- pin "inkpen/extensions/inkpen_table/table_menu", to: "inkpen/extensions/inkpen_table/table_menu.js"
169
- pin "inkpen/extensions/inkpen_table/table_helpers", to: "inkpen/extensions/inkpen_table/table_helpers.js"
170
- pin "inkpen/extensions/inkpen_table/table_constants", to: "inkpen/extensions/inkpen_table/table_constants.js"
1
+ # Inkpen importmap — single vendored bundle, no third-party CDN.
2
+ #
3
+ # Before 0.8.0 this file pinned ~70 modules to a third-party module CDN.
4
+ # Three production incidents on 2026-05-14 caused by CDN flakiness
5
+ # prompted vendoring everything into a single ESM bundle.
6
+ # Plan: 107-inkpen-docs/plans/05-vendor-bundle-cdn-decoupling.md
7
+ #
8
+ # The bundle is built from app/assets/javascripts/inkpen/index.js via
9
+ # `npm run build` and committed to the repo so consumers don't need to
10
+ # run the build themselves. Source map ships alongside for debugging.
11
+ #
12
+ # Host-provided externals (kept out of the bundle):
13
+ # @hotwired/stimulus — host registers controllers
14
+ # @hotwired/turbo-rails — host owns Turbo
15
+ #
16
+ # All other dependencies (TipTap@2.10.3, ProseMirror@1.x, lowlight,
17
+ # highlight.js, tippy.js, popperjs, linkifyjs, etc.) are inlined.
18
+
19
+ pin "inkpen", to: "inkpen.bundle.js"
@@ -0,0 +1,213 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Inkpen
4
+ ##
5
+ # PORO representing markdown mode configuration.
6
+ #
7
+ # MarkdownMode enables switching between WYSIWYG, raw markdown,
8
+ # and split view editing modes. When enabled, a mode toggle appears
9
+ # allowing users to edit content as markdown source.
10
+ #
11
+ # @example Basic usage
12
+ # markdown_mode = Inkpen::MarkdownMode.new(enabled: true)
13
+ #
14
+ # @example With split view default
15
+ # markdown_mode = Inkpen::MarkdownMode.new(
16
+ # enabled: true,
17
+ # default_mode: :split,
18
+ # sync_delay: 500
19
+ # )
20
+ #
21
+ # @example In editor
22
+ # editor = Inkpen::Editor.new(
23
+ # name: "post[body]",
24
+ # markdown_mode: Inkpen::MarkdownMode.new(enabled: true)
25
+ # )
26
+ #
27
+ # @see Inkpen::Editor Editor configuration
28
+ #
29
+ # @author Nauman Tariq
30
+ # @since 0.5.0
31
+ #
32
+ class MarkdownMode
33
+ ##
34
+ # Valid editing modes.
35
+ # @return [Array<Symbol>]
36
+ MODES = %i[wysiwyg markdown split].freeze
37
+
38
+ ##
39
+ # Valid placements for the mode toggle.
40
+ # @return [Array<Symbol>]
41
+ TOGGLE_PLACEMENTS = %i[top inline].freeze
42
+
43
+ ##
44
+ # Default sync delay in milliseconds for split view.
45
+ # @return [Integer]
46
+ DEFAULT_SYNC_DELAY = 300
47
+
48
+ ##
49
+ # @!attribute [r] enabled
50
+ # @return [Boolean] whether markdown mode is enabled
51
+ #
52
+ # @!attribute [r] default_mode
53
+ # @return [Symbol] the default editing mode
54
+ #
55
+ # @!attribute [r] show_toggle
56
+ # @return [Boolean] whether to show the mode toggle button
57
+ #
58
+ # @!attribute [r] toggle_placement
59
+ # @return [Symbol] where to place the mode toggle (:top, :inline)
60
+ #
61
+ # @!attribute [r] toolbar_button
62
+ # @return [Boolean] whether to show markdown toggle button in main toolbar
63
+ #
64
+ # @!attribute [r] sync_delay
65
+ # @return [Integer] debounce delay for split view sync (ms)
66
+ #
67
+ # @!attribute [r] keyboard_shortcuts
68
+ # @return [Boolean] whether keyboard shortcuts are enabled
69
+ #
70
+ attr_reader :default_mode, :show_toggle, :toggle_placement, :toolbar_button, :sync_delay, :keyboard_shortcuts
71
+
72
+ ##
73
+ # Initialize a new markdown mode configuration.
74
+ #
75
+ # @param enabled [Boolean] whether markdown mode is enabled
76
+ # @param default_mode [Symbol] initial mode (:wysiwyg, :markdown, :split)
77
+ # @param show_toggle [Boolean] show mode toggle button
78
+ # @param toggle_placement [Symbol] mode toggle placement (:top, :inline)
79
+ # @param toolbar_button [Boolean] show markdown toggle in formatting toolbar
80
+ # @param sync_delay [Integer] debounce delay for split sync (ms)
81
+ # @param keyboard_shortcuts [Boolean] enable keyboard shortcuts
82
+ #
83
+ def initialize(
84
+ enabled: false,
85
+ default_mode: :wysiwyg,
86
+ show_toggle: true,
87
+ toggle_placement: :top,
88
+ toolbar_button: false,
89
+ sync_delay: DEFAULT_SYNC_DELAY,
90
+ keyboard_shortcuts: true
91
+ )
92
+ @enabled = enabled
93
+ @default_mode = validate_mode(default_mode)
94
+ @show_toggle = show_toggle
95
+ @toggle_placement = validate_toggle_placement(toggle_placement)
96
+ @toolbar_button = toolbar_button
97
+ @sync_delay = sync_delay.to_i
98
+ @keyboard_shortcuts = keyboard_shortcuts
99
+ end
100
+
101
+ ##
102
+ # Check if markdown mode is enabled.
103
+ #
104
+ # @return [Boolean] true if enabled
105
+ #
106
+ def enabled?
107
+ @enabled
108
+ end
109
+
110
+ ##
111
+ # Check if the default mode is WYSIWYG.
112
+ #
113
+ # @return [Boolean] true if default is WYSIWYG
114
+ #
115
+ def wysiwyg_default?
116
+ default_mode == :wysiwyg
117
+ end
118
+
119
+ ##
120
+ # Check if the default mode is markdown.
121
+ #
122
+ # @return [Boolean] true if default is markdown
123
+ #
124
+ def markdown_default?
125
+ default_mode == :markdown
126
+ end
127
+
128
+ ##
129
+ # Check if the default mode is split view.
130
+ #
131
+ # @return [Boolean] true if default is split
132
+ #
133
+ def split_default?
134
+ default_mode == :split
135
+ end
136
+
137
+ ##
138
+ # Check if toggle should render inline with fixed toolbar.
139
+ #
140
+ # @return [Boolean] true if toggle placement is inline
141
+ #
142
+ def inline_toggle?
143
+ toggle_placement == :inline
144
+ end
145
+
146
+ ##
147
+ # Generate data attributes for Stimulus controller.
148
+ #
149
+ # @return [Hash] data attributes hash
150
+ #
151
+ def data_attributes
152
+ {
153
+ "inkpen--editor-markdown-enabled-value" => enabled?.to_s,
154
+ "inkpen--editor-markdown-mode-value" => default_mode.to_s,
155
+ "inkpen--editor-markdown-show-toggle-value" => show_toggle.to_s,
156
+ "inkpen--editor-markdown-toggle-placement-value" => toggle_placement.to_s,
157
+ "inkpen--editor-markdown-toolbar-button-value" => toolbar_button.to_s,
158
+ "inkpen--editor-markdown-sync-delay-value" => sync_delay.to_s,
159
+ "inkpen--editor-markdown-shortcuts-value" => keyboard_shortcuts.to_s
160
+ }
161
+ end
162
+
163
+ ##
164
+ # Convert to configuration hash for JavaScript.
165
+ #
166
+ # @return [Hash] configuration hash
167
+ #
168
+ def to_config
169
+ {
170
+ enabled: enabled?,
171
+ defaultMode: default_mode.to_s,
172
+ showToggle: show_toggle,
173
+ togglePlacement: toggle_placement.to_s,
174
+ toolbarButton: toolbar_button,
175
+ syncDelay: sync_delay,
176
+ keyboardShortcuts: keyboard_shortcuts
177
+ }
178
+ end
179
+
180
+ ##
181
+ # Convert to JSON representation.
182
+ #
183
+ # @return [String] JSON string
184
+ #
185
+ def to_json(*args)
186
+ to_config.to_json(*args)
187
+ end
188
+
189
+ private
190
+
191
+ ##
192
+ # Validate and normalize mode value.
193
+ #
194
+ # @param mode [Symbol, String] mode to validate
195
+ # @return [Symbol] validated mode
196
+ #
197
+ def validate_mode(mode)
198
+ mode = mode.to_sym
199
+ MODES.include?(mode) ? mode : :wysiwyg
200
+ end
201
+
202
+ ##
203
+ # Validate and normalize toggle placement.
204
+ #
205
+ # @param placement [Symbol, String] placement value
206
+ # @return [Symbol] validated placement
207
+ #
208
+ def validate_toggle_placement(placement)
209
+ placement = placement.to_sym
210
+ TOGGLE_PLACEMENTS.include?(placement) ? placement : :top
211
+ end
212
+ end
213
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Inkpen
4
- VERSION = "0.7.2"
4
+ VERSION = "0.8.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inkpen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nauman Tariq
@@ -51,6 +51,8 @@ files:
51
51
  - CLAUDE.md
52
52
  - README.md
53
53
  - Rakefile
54
+ - app/assets/javascripts/inkpen.bundle.js
55
+ - app/assets/javascripts/inkpen.bundle.js.map
54
56
  - app/assets/javascripts/inkpen/controllers/editor_controller.js
55
57
  - app/assets/javascripts/inkpen/controllers/sticky_toolbar_controller.js
56
58
  - app/assets/javascripts/inkpen/controllers/toolbar_controller.js
@@ -134,17 +136,18 @@ files:
134
136
  - lib/inkpen/extensions/slash_commands.rb
135
137
  - lib/inkpen/extensions/table.rb
136
138
  - lib/inkpen/extensions/task_list.rb
139
+ - lib/inkpen/markdown_mode.rb
137
140
  - lib/inkpen/sticky_toolbar.rb
138
141
  - lib/inkpen/toolbar.rb
139
142
  - lib/inkpen/version.rb
140
143
  - sig/inkpen.rbs
141
- homepage: https://github.com/Intellectaco/inkpen
144
+ homepage: https://github.com/nauman/inkpen
142
145
  licenses:
143
146
  - MIT
144
147
  metadata:
145
- changelog_uri: https://github.com/Intellectaco/inkpen/blob/main/CHANGELOG.md
146
- homepage_uri: https://github.com/Intellectaco/inkpen
147
- source_code_uri: https://github.com/Intellectaco/inkpen
148
+ changelog_uri: https://github.com/nauman/inkpen/blob/main/CHANGELOG.md
149
+ homepage_uri: https://github.com/nauman/inkpen
150
+ source_code_uri: https://github.com/nauman/inkpen
148
151
  rdoc_options: []
149
152
  require_paths:
150
153
  - lib
@@ -159,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
159
162
  - !ruby/object:Gem::Version
160
163
  version: '0'
161
164
  requirements: []
162
- rubygems_version: 3.6.9
165
+ rubygems_version: 3.6.7
163
166
  specification_version: 4
164
167
  summary: A TipTap-based rich text editor for Rails
165
168
  test_files: []