marksmith 0.1.2 → 0.1.3

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: 5018de3478a97ddcec156c4245851720d0ea86d36a2002ab82ba9a145f6739cc
4
- data.tar.gz: 7fb9f7f2a8f702abad17476695f14bf65669af942609c2dffe1531bb71137f30
3
+ metadata.gz: 138a40e01855d847e9b295185fcf85edc6801e80c9bd94b1d8a55de7efb0b0f7
4
+ data.tar.gz: d29d99ff35c10fbc9e7deaadc84d7b27fdadb494732364cfda3003c69d397b81
5
5
  SHA512:
6
- metadata.gz: 813d6e4f66ac1a41c20afc5d1d6815d8695163badf4cb45ddbf49a1da394eb3c9436677610a61bf00bbf67e961abab9a6e5b89b1ccf61f203d82650d36f97292
7
- data.tar.gz: 10b74b2a3af7f5ee6ecea2d76d54efe3d91d9784c4f3bd38ba807a828f36a79ae722deaab0285c8b9027660b452380f35df2b84af945971b85ed7199a4bd3a91
6
+ metadata.gz: 5be1932c6cc7b5054cab6875a38c615977682b4e50f048c1f04ec29df9c46cec911c846e4eb7f2f9413702841b1a801145ea0a91431efd9c7b11c511725c4b09
7
+ data.tar.gz: 1dd261670a842ca375bc584cf1028b078e4c93d147ee8f0893952704993a741efea93341ea89a6b6b1106e742b1724056684b45a0c0fdd4cf42a9b8ddd1b2eaf
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # Marksmith
2
2
 
3
+ [![CI](https://github.com/avo-hq/marksmith/actions/workflows/ci.yml/badge.svg)](https://github.com/avo-hq/marksmith/actions/workflows/ci.yml)
4
+
3
5
  Marksmith is a GitHub-style markdown editor for Rails apps.
4
6
 
5
- It supports Active Storage attachments and comes with a built-in mardown preview renderer.
7
+ It supports Active Storage attachments and comes with a built-in markdown preview renderer.
6
8
 
7
9
  ![Marksmith logo](./marksmith.png)
8
10
 
@@ -170,6 +172,35 @@ In your `show.html.erb` view or the place where you want to render the compiled
170
172
  > sanitize(body, tags: %w(table th tr td span) + ActionView::Helpers::SanitizeHelper.sanitizer_vendor.safe_list_sanitizer.allowed_tags.to_a)
171
173
  > ```
172
174
 
175
+ ### Customize the renderer
176
+
177
+ You can customize the renderer by overriding the `Marksmith::Renderer` model.
178
+
179
+ ```ruby
180
+ # app/models/marksmith/renderer.rb
181
+ require "redcarpet"
182
+
183
+ module Marksmith
184
+ class Renderer
185
+ def renderer
186
+ ::Redcarpet::Markdown.new(
187
+ ::Redcarpet::Render::HTML,
188
+ tables: true,
189
+ lax_spacing: true,
190
+ fenced_code_blocks: true,
191
+ space_after_headers: true,
192
+ hard_wrap: true,
193
+ autolink: true,
194
+ strikethrough: true,
195
+ underline: true,
196
+ highlight: true,
197
+ quote: true,
198
+ with_toc_data: true
199
+ )
200
+ end
201
+ end
202
+ end
203
+ ```
173
204
 
174
205
  ## Active Storage
175
206
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Marksmith 0.1.2
2
+ Marksmith 0.1.3
3
3
  */
4
4
  var ListContinuationController = (function () {
5
5
  'use strict';
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Marksmith 0.1.2
2
+ Marksmith 0.1.3
3
3
  */
4
4
  var ListContinuationController = (function (stimulus) {
5
5
  'use strict';
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Marksmith 0.1.2
2
+ Marksmith 0.1.3
3
3
  */
4
4
  var MarksmithController = (function () {
5
5
  'use strict';
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Marksmith 0.1.2
2
+ Marksmith 0.1.3
3
3
  */
4
4
  var MarksmithController = (function (stimulus) {
5
5
  'use strict';
@@ -829,8 +829,8 @@
829
829
  .ms\:cursor-pointer {
830
830
  cursor: pointer;
831
831
  }
832
- .ms\:resize-y {
833
- resize: vertical;
832
+ .ms\:resize-none {
833
+ resize: none;
834
834
  }
835
835
  .ms\:flex-col {
836
836
  flex-direction: column;
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
-
3
- class Marksmith::MarkdownField::EditComponent < Avo::Fields::EditComponent
4
- def unique_id
5
- [@field.type, @resource&.singular_route_key, @field.id].compact.join("_")
2
+ if defined?(Avo)
3
+ class Marksmith::MarkdownField::EditComponent < Avo::Fields::EditComponent
4
+ def unique_id
5
+ [@field.type, @resource&.singular_route_key, @field.id].compact.join("_")
6
+ end
6
7
  end
7
8
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
-
3
- class Marksmith::MarkdownField::ShowComponent < Avo::Fields::ShowComponent
2
+ if defined?(Avo)
3
+ class Marksmith::MarkdownField::ShowComponent < Avo::Fields::ShowComponent
4
+ end
4
5
  end
@@ -84,7 +84,7 @@
84
84
  <%= content_tag :div, class: "ms:flex ms:flex-1 ms:flex-col ms:size-full", data: { marksmith_target: "fieldContainer" } do %>
85
85
  <%= text_area_tag field_name, value,
86
86
  id: name,
87
- class: class_names("ms:flex ms:flex-1 ms:rounded ms:border-none ms:resize-y ms:focus:outline-none ms:font-mono ms:focus:ring-0 ms:leading-normal ms:p-2 ms:text-sm", classes),
87
+ class: class_names("ms:flex ms:flex-1 ms:rounded ms:border-none ms:resize-none ms:focus:outline-none ms:font-mono ms:focus:ring-0 ms:leading-normal ms:p-2 ms:text-sm", classes),
88
88
  rows: rows,
89
89
  data: {
90
90
  action: "drop->marksmith#dropUpload paste->marksmith#pasteUpload",
@@ -53,6 +53,11 @@ module Marksmith
53
53
  Avo.asset_manager.register_stimulus_controller "marksmith", "MarksmithController"
54
54
  Avo.asset_manager.register_stimulus_controller "list-continuation", "ListContinuationController"
55
55
  end
56
+ else
57
+ # Ignore the markdown_field components if Avo is not defined
58
+ app.autoloaders.main.ignore(
59
+ root.join("app", "components", "marksmith", "markdown_field"),
60
+ )
56
61
  end
57
62
  end
58
63
  end
@@ -1,3 +1,3 @@
1
1
  module Marksmith
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marksmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Marin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-03 00:00:00.000000000 Z
11
+ date: 2025-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -84,9 +84,6 @@ files:
84
84
  - app/frontend/entrypoints/javascript/controllers/index.js
85
85
  - app/frontend/entrypoints/javascript/controllers/list_continuation_controller.js
86
86
  - app/frontend/entrypoints/javascript/controllers/marksmith_controller.js
87
- - app/helpers/marksmith/application_helper.rb
88
- - app/jobs/marksmith/application_job.rb
89
- - app/mailers/marksmith/application_mailer.rb
90
87
  - app/models/marksmith/application_record.rb
91
88
  - app/models/marksmith/renderer.rb
92
89
  - app/views/layouts/marksmith/application.html.erb
@@ -127,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
124
  - !ruby/object:Gem::Version
128
125
  version: '0'
129
126
  requirements: []
130
- rubygems_version: 3.5.22
127
+ rubygems_version: 3.5.9
131
128
  signing_key:
132
129
  specification_version: 4
133
130
  summary: Marksmith is a GitHub-style markdown editor for Ruby on Rails applications.
@@ -1,4 +0,0 @@
1
- module Marksmith
2
- module ApplicationHelper
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module Marksmith
2
- class ApplicationJob < ActiveJob::Base
3
- end
4
- end
@@ -1,6 +0,0 @@
1
- module Marksmith
2
- class ApplicationMailer < ActionMailer::Base
3
- default from: "from@example.com"
4
- layout "mailer"
5
- end
6
- end