alchemy_cms 7.1.0.pre.b1 → 7.1.0.pre.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -0
- data/Gemfile +1 -1
- data/README.md +2 -2
- data/alchemy_cms.gemspec +1 -1
- data/app/assets/config/alchemy_manifest.js +3 -4
- data/app/assets/images/alchemy/missing-image.svg +1 -1
- data/app/assets/javascripts/alchemy/admin.js +0 -4
- data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +4 -4
- data/app/assets/javascripts/tinymce/icons/remixicons/icons.js +93 -0
- data/app/assets/javascripts/tinymce/plugins/alchemy_link/plugin.min.js +37 -18
- data/app/assets/stylesheets/alchemy/_variables.scss +11 -3
- data/app/assets/stylesheets/alchemy/archive.scss +5 -2
- data/app/assets/stylesheets/alchemy/buttons.scss +5 -4
- data/app/assets/stylesheets/alchemy/dialogs.scss +1 -1
- data/app/assets/stylesheets/alchemy/elements.scss +4 -5
- data/app/assets/stylesheets/alchemy/filter_field.scss +5 -0
- data/app/assets/stylesheets/tinymce/skins/content/alchemy/content.min.scss +69 -0
- data/app/assets/stylesheets/tinymce/skins/skintool.json +38 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.css +711 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.css +705 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.min.css +7 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.min.css +7 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.css +29 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.min.css +7 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/fonts/tinymce-mobile.woff +0 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.min.scss +3803 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.css +677 -0
- data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.min.css +7 -0
- data/app/controllers/alchemy/admin/pages_controller.rb +9 -4
- data/app/helpers/alchemy/admin/base_helper.rb +23 -10
- data/app/helpers/alchemy/base_helper.rb +16 -1
- data/app/javascript/alchemy_admin/components/button.js +1 -1
- data/app/javascript/alchemy_admin/components/clipboard_button.js +27 -0
- data/app/javascript/alchemy_admin/components/element_editor.js +2 -2
- data/app/javascript/alchemy_admin/components/tinymce.js +9 -21
- data/app/javascript/alchemy_admin/picture_editors.js +4 -2
- data/app/javascript/alchemy_admin/utils/debounce.js +10 -0
- data/app/javascript/alchemy_admin/utils/max.js +3 -0
- data/app/javascript/alchemy_admin.js +4 -10
- data/app/models/alchemy/page/page_naming.rb +7 -0
- data/app/models/alchemy/page.rb +2 -2
- data/app/models/alchemy/picture_variant.rb +11 -2
- data/app/models/concerns/alchemy/picture_thumbnails.rb +1 -1
- data/app/views/alchemy/admin/attachments/show.html.erb +10 -19
- data/app/views/alchemy/admin/crop.html.erb +1 -1
- data/app/views/alchemy/admin/nodes/index.html.erb +1 -0
- data/app/views/alchemy/admin/partials/_toolbar_button.html.erb +0 -1
- data/app/views/alchemy/admin/pictures/_archive.html.erb +3 -3
- data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +16 -3
- data/app/views/alchemy/admin/pictures/_picture.html.erb +3 -5
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -1
- data/app/views/alchemy/admin/resources/_filter.html.erb +1 -1
- data/app/views/alchemy/admin/resources/_per_page_select.html.erb +1 -1
- data/app/views/alchemy/admin/tinymce/_setup.html.erb +1 -2
- data/app/views/alchemy/ingredients/shared/_picture_tools.html.erb +2 -2
- data/app/views/layouts/alchemy/admin.html.erb +1 -1
- data/bundles/shoelace.js +10 -0
- data/bundles/tinymce.js +20 -0
- data/config/alchemy/config.yml +11 -10
- data/config/brakeman.ignore +0 -34
- data/config/importmap.rb +9 -14
- data/config/initializers/dragonfly.rb +1 -0
- data/config/locales/alchemy.en.yml +2 -0
- data/eslint.config.js +17 -0
- data/lib/alchemy/config.rb +24 -2
- data/lib/alchemy/engine.rb +2 -1
- data/lib/alchemy/forms/builder.rb +7 -0
- data/lib/alchemy/test_support/capybara_helpers.rb +1 -1
- data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +6 -6
- data/lib/alchemy/tinymce.rb +13 -2
- data/lib/alchemy/version.rb +1 -1
- data/package.json +20 -6
- data/rollup.config.mjs +65 -0
- data/vendor/assets/stylesheets/tinymce/skins/content/default/content.min.css +1 -0
- data/vendor/javascript/clipboard.min.js +7 -0
- data/vendor/javascript/flatpickr.min.js +1 -0
- data/vendor/javascript/keymaster.min.js +1 -0
- data/vendor/javascript/rails-ujs.min.js +1 -0
- data/vendor/javascript/shoelace.min.js +995 -0
- data/vendor/javascript/sortable.min.js +7 -0
- data/vendor/javascript/tinymce.min.js +1 -0
- data/vendor/javascript/ungap-custom-elements.min.js +3 -0
- metadata +31 -39
- data/.codeclimate.yml +0 -35
- data/.editorconfig +0 -23
- data/.github/FUNDING.yml +0 -4
- data/.github/ISSUE_TEMPLATE/Bug_report.md +0 -22
- data/.github/ISSUE_TEMPLATE/Feature_request.md +0 -17
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -18
- data/.github/workflows/backport.yml +0 -36
- data/.github/workflows/brakeman-analysis.yml +0 -46
- data/.github/workflows/lint.yml +0 -37
- data/.github/workflows/stale.yml +0 -33
- data/.github/workflows/test.yml +0 -125
- data/.gitignore +0 -32
- data/.hound.yml +0 -9
- data/.localeapp/config.rb +0 -8
- data/.prettierrc +0 -6
- data/.rspec +0 -1
- data/.rubocop.yml +0 -7
- data/.standard.yml +0 -4
- data/.yardopts +0 -5
- data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +0 -94
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.svg +0 -63
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.ttf +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.woff +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.svg +0 -129
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.ttf +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.woff +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/anchor.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/loader.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/object.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/img/trans.gif +0 -0
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +0 -2077
- data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +0 -10
- data/vendor/assets/javascripts/clipboard.min.js +0 -7
- data/vendor/assets/javascripts/keymaster.js +0 -296
- data/vendor/assets/javascripts/requestAnimationFrame.js +0 -31
- data/vendor/assets/javascripts/tinymce/license.txt +0 -504
- data/vendor/assets/javascripts/tinymce/tinymce.min.js +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 52cea190db8dfb6571f62d93f72942df0c05afbf7b7988b952da56cbbba5dd91
|
4
|
+
data.tar.gz: efd336249755bc11de59ff751be0af224ab9861f902df7ddd4226a97208840b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 587dee2f8372e32252543bbf6dd86bad7ab69d1734c2f129b3b6c4d11519e32f476f8605d2675e3df8cde2a1485ec470383baab818ab236895d61e0f37f9b631
|
7
|
+
data.tar.gz: dfdaa30ab9f4429d75fdc1bf4930cce9e5b093f9a5e4ca2a3a090008e90c0747b8efb6c7dc40fecc0874fd788db9de82da3a6e071eeed2c65e297ca2a3c9b7a2
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,34 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 7.1.0-rc1 (2024-01-15)
|
4
|
+
|
5
|
+
- Use title attribute for link_to_dialog and delete_button tooltip [#2688](https://github.com/AlchemyCMS/alchemy_cms/pull/2688) ([tvdeyen](https://github.com/tvdeyen))
|
6
|
+
- Add alchemy-clipboard-button component [#2687](https://github.com/AlchemyCMS/alchemy_cms/pull/2687) ([tvdeyen](https://github.com/tvdeyen))
|
7
|
+
- Fix layout of empty picture archive [#2686](https://github.com/AlchemyCMS/alchemy_cms/pull/2686) ([tvdeyen](https://github.com/tvdeyen))
|
8
|
+
- Fix Tinymce language config [#2685](https://github.com/AlchemyCMS/alchemy_cms/pull/2685) ([tvdeyen](https://github.com/tvdeyen))
|
9
|
+
- Add richtext input type for form builder [#2684](https://github.com/AlchemyCMS/alchemy_cms/pull/2684) ([tvdeyen](https://github.com/tvdeyen))
|
10
|
+
- Add support for legacy icon styles [#2683](https://github.com/AlchemyCMS/alchemy_cms/pull/2683) ([tvdeyen](https://github.com/tvdeyen))
|
11
|
+
- Fix imports of ES modules [#2682](https://github.com/AlchemyCMS/alchemy_cms/pull/2682) ([tvdeyen](https://github.com/tvdeyen))
|
12
|
+
- Use webp for image cropper [#2681](https://github.com/AlchemyCMS/alchemy_cms/pull/2681) ([tvdeyen](https://github.com/tvdeyen))
|
13
|
+
- Fix sizing of tinymce textarea [#2680](https://github.com/AlchemyCMS/alchemy_cms/pull/2680) ([tvdeyen](https://github.com/tvdeyen))
|
14
|
+
|
15
|
+
## 7.1.0-b2 (2024-01-09)
|
16
|
+
|
17
|
+
- Download and bundle third party JS packages with npm [#2679](https://github.com/AlchemyCMS/alchemy_cms/pull/2679) ([tvdeyen](https://github.com/tvdeyen))
|
18
|
+
- Remove legacy pages urls and folded pages if page gets destroyed [#2678](https://github.com/AlchemyCMS/alchemy_cms/pull/2678) ([tvdeyen](https://github.com/tvdeyen))
|
19
|
+
- Clear unnecessary legacy URLs [#2677](https://github.com/AlchemyCMS/alchemy_cms/pull/2677) ([mamhoff](https://github.com/mamhoff))
|
20
|
+
- Fix error linking text in tinymce [#2676](https://github.com/AlchemyCMS/alchemy_cms/pull/2676) ([tvdeyen](https://github.com/tvdeyen))
|
21
|
+
- Use WebP for all thumbnails [#2675](https://github.com/AlchemyCMS/alchemy_cms/pull/2675) ([tvdeyen](https://github.com/tvdeyen))
|
22
|
+
- Allow quality setting for webp images [#2674](https://github.com/AlchemyCMS/alchemy_cms/pull/2674) ([tvdeyen](https://github.com/tvdeyen))
|
23
|
+
- Do not remove background from non transparent images [#2673](https://github.com/AlchemyCMS/alchemy_cms/pull/2673) ([tvdeyen](https://github.com/tvdeyen))
|
24
|
+
- Update Tinymce to v6 [#2671](https://github.com/AlchemyCMS/alchemy_cms/pull/2671) ([tvdeyen](https://github.com/tvdeyen))
|
25
|
+
- Update Tinymce to v5 [#2670](https://github.com/AlchemyCMS/alchemy_cms/pull/2670) ([tvdeyen](https://github.com/tvdeyen))
|
26
|
+
- Fix missing image styles [#2667](https://github.com/AlchemyCMS/alchemy_cms/pull/2667) ([tvdeyen](https://github.com/tvdeyen))
|
27
|
+
- Preserve transparent backgrounds for PNGs [#2666](https://github.com/AlchemyCMS/alchemy_cms/pull/2666) ([tvdeyen](https://github.com/tvdeyen))
|
28
|
+
- Resource filter fixes [#2665](https://github.com/AlchemyCMS/alchemy_cms/pull/2665) ([tvdeyen](https://github.com/tvdeyen))
|
29
|
+
- [ruby - main] Update sqlite3 → 1.7.0 (unknown) [#2663](https://github.com/AlchemyCMS/alchemy_cms/pull/2663) ([depfu](https://github.com/apps/depfu))
|
30
|
+
- Fix brakeman offense [#2661](https://github.com/AlchemyCMS/alchemy_cms/pull/2661) ([tvdeyen](https://github.com/tvdeyen))
|
31
|
+
|
3
32
|
## 7.1.0-b1 (2023-12-28)
|
4
33
|
|
5
34
|
- Fix messages controller [#2658](https://github.com/AlchemyCMS/alchemy_cms/pull/2658) ([tvdeyen](https://github.com/tvdeyen))
|
data/Gemfile
CHANGED
@@ -8,7 +8,7 @@ rails_version = ENV.fetch("RAILS_VERSION", "7.1")
|
|
8
8
|
gem "rails", "~> #{rails_version}.0"
|
9
9
|
|
10
10
|
if ENV["DB"].nil? || ENV["DB"] == "sqlite"
|
11
|
-
gem "sqlite3", "~> 1.
|
11
|
+
gem "sqlite3", "~> 1.7.0"
|
12
12
|
end
|
13
13
|
if ENV["DB"] == "mysql" || ENV["DB"] == "mariadb"
|
14
14
|
gem "mysql2", "~> 0.5.1"
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
[![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](https://badge.fury.io/rb/alchemy_cms)
|
7
7
|
[![Maintainability](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/maintainability)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/maintainability)
|
8
8
|
[![Test Coverage](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/test_coverage)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/test_coverage)
|
9
|
-
[![
|
9
|
+
[![Lint](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/lint.yml/badge.svg)](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/lint.yml)
|
10
10
|
[![Depfu](https://badges.depfu.com/badges/ebe56d2dd7b7044a8ae700cc81212a8e/overview.svg)](https://depfu.com/github/AlchemyCMS/alchemy_cms?project_id=4600)
|
11
11
|
|
12
12
|
[![Backers on Open Collective](https://opencollective.com/alchemy_cms/backers/badge.svg?color=blue)](#backers)
|
@@ -51,7 +51,7 @@ Visit the existing demo at https://alchemy-demo.fly.dev/
|
|
51
51
|
|
52
52
|
## 🚂 Rails Version
|
53
53
|
|
54
|
-
**This version of AlchemyCMS runs with Rails 7.0**
|
54
|
+
**This version of AlchemyCMS runs with Rails 7.0 and 7.1**
|
55
55
|
|
56
56
|
* For a Rails 6.1 compatible version use the [`7.0-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/7.0-stable).
|
57
57
|
* For a Rails 6.0 compatible version use the [`6.1-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/6.1-stable).
|
data/alchemy_cms.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.requirements << "ImageMagick (libmagick), v6.6 or greater."
|
17
17
|
gem.required_ruby_version = ">= 3.0.0"
|
18
18
|
gem.license = "BSD New"
|
19
|
-
gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec
|
19
|
+
gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/|yarn|^\.}) }
|
20
20
|
gem.require_paths = ["lib"]
|
21
21
|
|
22
22
|
%w[
|
@@ -5,11 +5,10 @@
|
|
5
5
|
//= link alchemy/print.css
|
6
6
|
//= link alchemy/welcome.css
|
7
7
|
//= link tinymce/plugins/alchemy_link/plugin.min.js
|
8
|
-
//=
|
9
|
-
//= link_directory ../stylesheets/tinymce/skins/alchemy/ .css
|
10
|
-
//= link_directory ../stylesheets/tinymce/skins/alchemy/img/
|
11
|
-
//= link_directory ../stylesheets/tinymce/skins/alchemy/fonts/
|
8
|
+
//= link_directory ../stylesheets/tinymce/skins/ui/alchemy/ .css
|
9
|
+
//= link_directory ../stylesheets/tinymce/skins/content/alchemy/ .css
|
12
10
|
//= link_tree ../images/alchemy/
|
13
11
|
//= link_tree ../../../vendor/assets/fonts/
|
14
12
|
//= link_tree ../../../vendor/assets/images/
|
15
13
|
//= link_tree ../../javascript .js
|
14
|
+
//= link_tree ../../../vendor/javascript .js
|
@@ -1 +1 @@
|
|
1
|
-
<svg aria-hidden="true" focusable="false" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0
|
1
|
+
<svg aria-hidden="true" focusable="false" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path d="M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM4.20568 19.0002H19.7941L11.9999 5.50017L4.20568 19.0002ZM10.9999 16.0002H12.9999V18.0002H10.9999V16.0002ZM10.9999 9.00017H12.9999V14.0002H10.9999V9.00017Z" fill="currentColor"></path></svg>
|
@@ -1,11 +1,7 @@
|
|
1
1
|
// Alchemy CMS Sprockets Manifest
|
2
2
|
// ------------------------------
|
3
3
|
//= require jquery3
|
4
|
-
//= require tinymce/tinymce.min
|
5
4
|
//= require_tree ../../../../vendor/assets/javascripts/jquery_plugins/
|
6
|
-
//= require clipboard.min
|
7
|
-
//= require keymaster
|
8
|
-
//= require requestAnimationFrame
|
9
5
|
//= require handlebars
|
10
6
|
//= require alchemy/templates
|
11
7
|
//= require alchemy/alchemy.dialog
|
@@ -149,13 +149,13 @@ class window.Alchemy.LinkDialog extends Alchemy.Dialog
|
|
149
149
|
|
150
150
|
# Selects the correct tab for link type and fills all fields.
|
151
151
|
selectTab: ->
|
152
|
-
# Creating an temporary anchor node if we are linking an Picture Ingredient.
|
153
|
-
if (@link_object.getAttribute("is") == "alchemy-link-button")
|
154
|
-
@$link = $(@createTempLink())
|
155
152
|
# Restoring the bookmarked selection inside the TinyMCE of an Richtext.
|
156
|
-
|
153
|
+
if @link_object.node?.nodeName == 'A'
|
157
154
|
@$link = $(@link_object.node)
|
158
155
|
@link_object.selection.moveToBookmark(@link_object.bookmark)
|
156
|
+
# Creating an temporary anchor node if we are linking an Picture Ingredient.
|
157
|
+
else if @link_object.getAttribute && @link_object.getAttribute("is") == "alchemy-link-button"
|
158
|
+
@$link = $(@createTempLink())
|
159
159
|
else
|
160
160
|
return false
|
161
161
|
# Populate title and target fields.
|
@@ -0,0 +1,93 @@
|
|
1
|
+
tinymce.IconManager.add("remixicons", {
|
2
|
+
icons: {
|
3
|
+
"action-next":
|
4
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m12 13.2 5-5 1.4 1.4L12 16 5.6 9.6l1.5-1.4 4.9 5Z"/></svg>',
|
5
|
+
"action-prev":
|
6
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m12 10.8-5 5-1.4-1.4L12 8l6.4 6.4-1.5 1.4-4.9-5Z"/></svg>',
|
7
|
+
"align-center":
|
8
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M3 4h18v2H3V4Zm2 15h14v2H5v-2Zm-2-5h18v2H3v-2Zm2-5h14v2H5V9Z"/></svg>',
|
9
|
+
"align-justify":
|
10
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M3 4h18v2H3V4Zm0 15h18v2H3v-2Zm0-5h18v2H3v-2Zm0-5h18v2H3V9Z"/></svg>',
|
11
|
+
"align-left":
|
12
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M3 4h18v2H3V4Zm0 15h14v2H3v-2Zm0-5h18v2H3v-2Zm0-5h14v2H3V9Z"/></svg>',
|
13
|
+
"align-right":
|
14
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M3 4h18v2H3V4Zm4 15h14v2H7v-2Zm-4-5h18v2H3v-2Zm4-5h14v2H7V9Z"/></svg>',
|
15
|
+
"arrow-left":
|
16
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M7.8 11H20v2H7.8l5.4 5.4-1.4 1.4L4 12l7.8-7.8 1.4 1.4L7.8 11Z"/></svg>',
|
17
|
+
"arrow-right":
|
18
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m16.2 11-5.4-5.4 1.4-1.4L20 12l-7.8 7.8-1.4-1.4 5.4-5.4H4v-2h12.2Z"/></svg>',
|
19
|
+
bold: '<svg viewBox="0 0 24 24" width="16" height="16"><path d="M8 11h4.5a2.5 2.5 0 0 0 0-5H8v5Zm10 4.5c0 2.5-2 4.5-4.5 4.5H6V4h6.5a4.5 4.5 0 0 1 3.3 7.6c1.3.8 2.2 2.2 2.2 3.9ZM8 13v5h5.5a2.5 2.5 0 0 0 0-5H8Z"/></svg>',
|
20
|
+
bookmark:
|
21
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M5 2h14c.6 0 1 .4 1 1v19.1a.5.5 0 0 1-.8.5L12 18l-7.2 4.6A.5.5 0 0 1 4 22V3c0-.6.4-1 1-1Zm13 2H6v15.4l6-3.7 6 3.7V4Z"/></svg>',
|
22
|
+
cancel:
|
23
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M12 22a10 10 0 1 1 0-20 10 10 0 0 1 0 20Zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm0-9.4 2.8-2.8 1.4 1.4-2.8 2.8 2.8 2.8-1.4 1.4-2.8-2.8-2.8 2.8-1.4-1.4 2.8-2.8-2.8-2.8 1.4-1.4 2.8 2.8Z"/></svg>',
|
24
|
+
checkmark:
|
25
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M10 15.2 19.2 6l1.4 1.4L10 18l-6.4-6.4L5 10.2l5 5Z"/></svg>',
|
26
|
+
"chevron-down":
|
27
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m12 13.2 5-5 1.4 1.4L12 16 5.6 9.6l1.5-1.4 4.9 5Z"/></svg>',
|
28
|
+
"chevron-left":
|
29
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m10.8 12 5 5-1.4 1.4L8 12l6.4-6.4 1.4 1.5-5 4.9Z"/></svg>',
|
30
|
+
"chevron-right":
|
31
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m13.2 12-5-5 1.4-1.4L16 12l-6.4 6.4L8.2 17l5-5Z"/></svg>',
|
32
|
+
"chevron-up":
|
33
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m12 10.8-5 5-1.4-1.4L12 8l6.4 6.4-1.5 1.4-4.9-5Z"/></svg>',
|
34
|
+
close:
|
35
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m12 10.6 5-5 1.4 1.5-5 4.9 5 5-1.5 1.4-4.9-5-5 5L5.6 17l5-5-5-5L7 5.7l5 5Z"/></svg>',
|
36
|
+
"color-picker":
|
37
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M12 2c5.5 0 10 4 10 8.9 0 3-2.5 5.5-5.6 5.5h-2a1.7 1.7 0 0 0-1.2 2.8c.3.3.5.7.5 1.1 0 1-.8 1.7-1.7 1.7a10 10 0 0 1 0-20Zm-1.2 16.1c0-2 1.7-3.7 3.7-3.7h2c2 0 3.5-1.5 3.5-3.5C20 7 16.5 4 12 4a8 8 0 0 0-.7 16c-.3-.6-.5-1.2-.5-1.9ZM7.5 12a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm9 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3ZM12 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z"/></svg>',
|
38
|
+
"color-swatch-remove-color":
|
39
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m8.6 8.9-5 4.9L8.8 19h2.4l3.7-3.8L8.6 9ZM10 7.4l6.4 6.4 2.8-2.8-6.4-6.4L10 7.4ZM14 19h7v2H8l-6.5-6.5a1 1 0 0 1 0-1.4L12.1 2.5a1 1 0 0 1 1.4 0l7.8 7.8c.4.4.4 1 0 1.4L14 19Z"/></svg>',
|
40
|
+
fill: '<svg viewBox="0 0 24 24" width="16" height="16"><path d="M19.2 18.7 21 17l1.8 1.7a2.5 2.5 0 1 1-3.6 0ZM9 1.1l11.3 11.3c.4.4.4 1 0 1.4l-8.5 8.5a1 1 0 0 1-1.4 0l-8.5-8.5a1 1 0 0 1 0-1.4l7.8-7.8-2.1-2.1L8.9 1ZM11 6l-7 7h14l-7-7Z"/></svg>',
|
41
|
+
fullscreen:
|
42
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M8 3v2H4v4H2V3h6ZM2 21v-6h2v4h4v2H2Zm20 0h-6v-2h4v-4h2v6Zm0-12h-2V5h-4V3h6v6Z"/></svg>',
|
43
|
+
"highlight-bg-color":
|
44
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M19.2 18.7 21 17l1.8 1.7a2.5 2.5 0 1 1-3.6 0ZM9 1.1l11.3 11.3c.4.4.4 1 0 1.4l-8.5 8.5a1 1 0 0 1-1.4 0l-8.5-8.5a1 1 0 0 1 0-1.4l7.8-7.8-2.1-2.1L8.9 1ZM11 6l-7 7h14l-7-7Z"/></svg>',
|
45
|
+
"horizontal-rule":
|
46
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M2 11h2v2H2v-2Zm4 0h12v2H6v-2Zm14 0h2v2h-2v-2Z"/></svg>',
|
47
|
+
indent:
|
48
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M3 4h18v2H3V4Zm0 15h18v2H3v-2Zm8-5h10v2H11v-2Zm0-5h10v2H11V9Zm-4 3.5L3 16V9l4 3.5Z"/></svg>',
|
49
|
+
"insert-character":
|
50
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M14 20v-2.2a8.5 8.5 0 0 0 3.5-7c0-3-2-6-5.5-6s-5.5 3-5.5 6c0 3.2 1.6 5.9 3.5 7V20H3v-2h4.8C5.7 16.5 4 14 4 10.9 4 6.2 7.5 3 12 3s8 3.2 8 7.9c0 3-1.7 5.6-3.8 7.1H21v2h-7Z"/></svg>',
|
51
|
+
italic:
|
52
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M15 20H7v-2h3l2-12H9V4h8v2h-3l-2 12h3v2Z"/></svg>',
|
53
|
+
link: '<svg viewBox="0 0 24 24" width="16" height="16"><path d="m17.7 14.8-1.5-1.4 1.5-1.4A4 4 0 1 0 12 6.3l-1.4 1.5-1.4-1.5L10.6 5a6 6 0 0 1 8.5 8.5l-1.4 1.4Zm-2.9 2.9L13.4 19A6 6 0 0 1 5 10.6l1.4-1.4 1.5 1.4L6.3 12a4 4 0 0 0 5.7 5.7l1.4-1.5 1.4 1.5Zm0-10 1.4 1.5-7 7-1.4-1.4 7-7Z"/></svg>',
|
54
|
+
"more-drawer":
|
55
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M4.5 10.5c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5S6 12.8 6 12s-.7-1.5-1.5-1.5Zm15 0c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5S21 12.8 21 12s-.7-1.5-1.5-1.5Zm-7.5 0c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5 1.5-.7 1.5-1.5-.7-1.5-1.5-1.5Z"/></svg>',
|
56
|
+
"new-tab":
|
57
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M10 6v2H5v11h11v-5h2v6c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V7c0-.6.4-1 1-1h6Zm11-3v8h-2V6.4l-7.8 7.8-1.4-1.4L17.6 5H13V3h8Z"/></svg>',
|
58
|
+
"ordered-list":
|
59
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M5.8 3.5h-1l-1.5.4v1.5l1-.2v3.3H3V10h4V8.5H5.8v-5ZM10 4h11v2H10V4Zm0 7h11v2H10v-2Zm0 7h11v2H10v-2Zm-7.1-2.4A2.1 2.1 0 1 1 6.7 17l-1.4 1.6H7V20H3v-1.1L5.5 16l.1-.4a.6.6 0 0 0-1.2 0v.3H2.9v-.3Z"/></svg>',
|
60
|
+
outdent:
|
61
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M3 4h18v2H3V4Zm0 15h18v2H3v-2Zm8-5h10v2H11v-2Zm0-5h10v2H11V9Zm-8 3.5L7 9v7l-4-3.5Z"/></svg>',
|
62
|
+
paragraph:
|
63
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M12 6v15h-2v-5a6 6 0 0 1 0-12h10v2h-3v15h-2V6h-3Zm-2 0a4 4 0 1 0 0 8V6Z"/></svg>',
|
64
|
+
"paste-text":
|
65
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M13 6v15h-2V6H5V4h14v2h-6Z"/></svg>',
|
66
|
+
redo: '<svg viewBox="0 0 24 24" width="16" height="16"><path d="M18.2 7H11a6 6 0 0 0 0 12h9v2h-9a8 8 0 0 1 0-16h7.2l-2.6-2.5L17.1 1 22 6l-5 5-1.4-1.5L18.2 7Z"/></svg>',
|
67
|
+
"remove-formatting":
|
68
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m12.7 14-1.1 6h-2l1.3-7.7L3.5 5 5 3.5l15.6 15.6-1.4 1.4-6.4-6.4Zm-1-6.5L12 6h-1.8l-2-2H20v2h-6l-.5 3.3-1.7-1.8Z"/></svg>',
|
69
|
+
sourcecode:
|
70
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M17 8.5 18.3 7l5 4.9-5 5-1.4-1.5 3.5-3.5-3.6-3.5Zm-10 0L3.6 12l3.6 3.5L5.6 17 .6 12l5-5 1.5 1.5Z"/></svg>',
|
71
|
+
"strike-through":
|
72
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M17.2 14c.2.5.3 1 .3 1.7 0 1.4-.5 2.4-1.6 3.2-1 .7-2.5 1.1-4.3 1.1-1.7 0-3.3-.4-4.9-1.1v-2.3c1.5.9 3 1.3 4.7 1.3 2.5 0 3.8-.7 3.8-2.2a2.2 2.2 0 0 0-.7-1.7H3v-2h18v2h-3.8ZM13 11H7.6a3.2 3.2 0 0 1-1.1-2.5c0-1.3.5-2.3 1.4-3.2 1-.9 2.4-1.3 4.3-1.3 1.5 0 2.9.3 4.2 1V7c-1.2-.7-2.5-1-3.9-1-2.5 0-3.7.8-3.7 2.4 0 .4.2.7.6 1 .5.4 1 .6 1.6.8l2 .7Z"/></svg>',
|
73
|
+
subscript:
|
74
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m5.6 4 4.9 6 4.9-6H18l-6.2 7.5L18 19h-2.6l-4.9-6-5 6H3l6.2-7.5L3 4h2.6Zm16.2 12a.8.8 0 1 0-1.6.2l-1.1.3a2 2 0 1 1 3.3 1L20.7 19H23v1h-4v-1l2.6-2.4.2-.6Z"/></svg>',
|
75
|
+
superscript:
|
76
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m5.6 5 4.9 6 4.9-6H18l-6.2 7.5L18 20h-2.6l-4.9-6-5 6H3l6.2-7.5L3 5h2.6Zm16 1.6a.8.8 0 0 0-.6-1.4.8.8 0 0 0-.8 1l-1.1.3a2 2 0 1 1 3.3 1L20.7 9H23v1h-4V9l2.6-2.4Z"/></svg>',
|
77
|
+
"text-color":
|
78
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M15.2 14H8.8l-1.6 4H5l6-15h2l6 15h-2.2l-1.6-4Zm-.8-2L12 5.9 9.6 12h4.8ZM3 20h18v2H3v-2Z"/></svg>',
|
79
|
+
underline:
|
80
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M8 3v9a4 4 0 0 0 8 0V3h2v9a6 6 0 0 1-12 0V3h2ZM4 20h16v2H4v-2Z"/></svg>',
|
81
|
+
undo: '<svg viewBox="0 0 24 24" width="16" height="16"><path d="m5.8 7 2.6 2.5L6.9 11 2 6l5-5 1.4 1.5L5.8 5H13a8 8 0 1 1 0 16H4v-2h9a6 6 0 0 0 0-12H5.8Z"/></svg>',
|
82
|
+
unlink:
|
83
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m17.7 14.8-1.5-1.4 1.5-1.4A4 4 0 1 0 12 6.3l-1.4 1.5-1.4-1.5L10.6 5a6 6 0 0 1 8.5 8.5l-1.4 1.4Zm-2.9 2.9L13.4 19A6 6 0 0 1 5 10.6l1.4-1.4 1.5 1.4L6.3 12a4 4 0 0 0 5.7 5.7l1.4-1.5 1.4 1.5Zm0-10 1.4 1.5-7 7-1.4-1.4 7-7Zm-9-5.4 2-.5 1 3.8-2 .6-1-4Zm9.5 16 1.9-.5 1 4-2 .4-1-3.8ZM2.3 5.9l3.9 1-.6 2-3.8-1 .5-2Zm16 9.5 4 1-.6 2-3.9-1.1.6-2Z"/></svg>',
|
84
|
+
"unordered-list":
|
85
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M8 4h13v2H8V4ZM4.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm0 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm0 6.9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3ZM8 11h13v2H8v-2Zm0 7h13v2H8v-2Z"/></svg>',
|
86
|
+
visualblocks:
|
87
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M1 2v3h2V4h2v5H3.5v2h5V9H7V4h2v1h2V2H1Zm20 1h-7v2h6v14H4v-5H2v6c0 .6.4 1 1 1h18c.6 0 1-.4 1-1V4c0-.6-.4-1-1-1Z"/></svg>',
|
88
|
+
visualchars:
|
89
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="M12 6v15h-2v-5a6 6 0 0 1 0-12h10v2h-3v15h-2V6h-3Zm-2 0a4 4 0 1 0 0 8V6Z"/></svg>',
|
90
|
+
warning:
|
91
|
+
'<svg viewBox="0 0 24 24" width="16" height="16"><path d="m12.9 3 9.5 16.5a1 1 0 0 1-.9 1.5h-19a1 1 0 0 1-.9-1.5L11.1 3A1 1 0 0 1 13 3ZM4.2 19h15.6L12 5.5 4.2 19Zm6.8-3h2v2h-2v-2Zm0-7h2v5h-2V9Z"/></svg>'
|
92
|
+
}
|
93
|
+
})
|
@@ -1,19 +1,38 @@
|
|
1
|
-
tinymce.PluginManager.add(
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
};
|
14
|
-
var linkDialog = new Alchemy.LinkDialog(linkObject);
|
15
|
-
editor.focus();
|
16
|
-
linkDialog.open();
|
1
|
+
tinymce.PluginManager.add("alchemy_link", function (editor) {
|
2
|
+
const getAnchor = (selectedElm) => {
|
3
|
+
return editor.dom.getParent(selectedElm, "a[href]")
|
4
|
+
}
|
5
|
+
|
6
|
+
const openLinkDialog = () => {
|
7
|
+
if (Alchemy.currentDialog()) return
|
8
|
+
const linkObject = {
|
9
|
+
node: getAnchor(editor.selection.getNode()),
|
10
|
+
bookmark: editor.selection.getBookmark(),
|
11
|
+
selection: editor.selection,
|
12
|
+
editor: editor
|
17
13
|
}
|
18
|
-
|
19
|
-
|
14
|
+
const linkDialog = new Alchemy.LinkDialog(linkObject)
|
15
|
+
editor.focus()
|
16
|
+
linkDialog.open()
|
17
|
+
}
|
18
|
+
|
19
|
+
editor.ui.registry.addToggleButton("alchemy_link", {
|
20
|
+
icon: "link",
|
21
|
+
tooltip: "Insert/edit link",
|
22
|
+
onSetup(buttonApi) {
|
23
|
+
const onNodeChange = () => {
|
24
|
+
buttonApi.setActive(getAnchor(editor.selection.getNode()) !== null)
|
25
|
+
}
|
26
|
+
onNodeChange()
|
27
|
+
editor.on("NodeChange", onNodeChange)
|
28
|
+
return () => {
|
29
|
+
editor.off("NodeChange", onNodeChange)
|
30
|
+
}
|
31
|
+
},
|
32
|
+
onAction: openLinkDialog
|
33
|
+
})
|
34
|
+
|
35
|
+
// Replace the default link command with our own
|
36
|
+
editor.addCommand("mceLink", openLinkDialog)
|
37
|
+
editor.addShortcut("Meta+K", "", openLinkDialog)
|
38
|
+
})
|
@@ -30,7 +30,11 @@ $default-font-size: 1em !default;
|
|
30
30
|
$small-font-size: 0.9em !default;
|
31
31
|
$default-font-style: $default-font-size $default-font-family !default;
|
32
32
|
|
33
|
+
$default-padding: 4px !default;
|
34
|
+
$default-margin: $default-padding !default;
|
35
|
+
|
33
36
|
$dialog-header-height: 36px !default;
|
37
|
+
$dialog-header-padding: 0 2 * $default-padding !default;
|
34
38
|
$dialog-header-color: $dark-blue !default;
|
35
39
|
$dialog-header-text-color: $white !default;
|
36
40
|
$dialog-header-font-size: $default-font-size !default;
|
@@ -39,9 +43,6 @@ $dialog-overlay-color: rgb(100, 100, 100) !default;
|
|
39
43
|
$dialog-overlay-opacity: 0.4 !default;
|
40
44
|
$dialog-background-color: $light-gray !default;
|
41
45
|
|
42
|
-
$default-padding: 4px !default;
|
43
|
-
$default-margin: $default-padding !default;
|
44
|
-
|
45
46
|
$default-border-color: rgba(#afafaf, 0.5) !default;
|
46
47
|
$border-inset-color: lighten($default-border-color, 10%) !default;
|
47
48
|
$default-border-width: 1px !default;
|
@@ -84,6 +85,13 @@ $button-padding: $default-padding 5 * $default-padding !default;
|
|
84
85
|
$small-button-padding: 0.4em 0.8em !default;
|
85
86
|
$button-margin: $form-field-margin !default;
|
86
87
|
|
88
|
+
$icon-button-width: 30px !default;
|
89
|
+
$icon-button-height: 30px !default;
|
90
|
+
$icon-button-medium-width: 26px !default;
|
91
|
+
$icon-button-medium-height: 26px !default;
|
92
|
+
$icon-button-small-width: 15px !default;
|
93
|
+
$icon-button-small-height: 15px !default;
|
94
|
+
|
87
95
|
$secondary-button-bg-color: transparent !default;
|
88
96
|
$secondary-button-text-color: $text-color !default;
|
89
97
|
$secondary-button-border-color: $default-border-color !default;
|
@@ -69,9 +69,12 @@
|
|
69
69
|
img {
|
70
70
|
max-width: 100%;
|
71
71
|
max-height: 100%;
|
72
|
-
background: $thumbnail-background;
|
73
72
|
|
74
|
-
|
73
|
+
&:not([src*="alchemy/missing-image"]) {
|
74
|
+
background: $thumbnail-background;
|
75
|
+
}
|
76
|
+
|
77
|
+
&[src$=".svg"]:not([src*="alchemy/missing-image"]) {
|
75
78
|
width: var(--picture-width);
|
76
79
|
max-height: var(--picture-height);
|
77
80
|
}
|
@@ -52,18 +52,19 @@ input.button {
|
|
52
52
|
display: inline-flex;
|
53
53
|
align-items: center;
|
54
54
|
justify-content: center;
|
55
|
-
width:
|
56
|
-
height:
|
55
|
+
width: $icon-button-width;
|
56
|
+
height: $icon-button-height;
|
57
57
|
margin: 0;
|
58
58
|
padding: 0;
|
59
59
|
text-shadow: none;
|
60
60
|
border-radius: $default-border-radius;
|
61
61
|
|
62
62
|
&.small {
|
63
|
-
width:
|
64
|
-
height:
|
63
|
+
width: $icon-button-small-width;
|
64
|
+
height: $icon-button-small-height;
|
65
65
|
background: none;
|
66
66
|
border: none;
|
67
|
+
padding: 0; // button.small has padding
|
67
68
|
}
|
68
69
|
|
69
70
|
&.active,
|
@@ -126,7 +126,7 @@ $dialog-transition-duration: 150ms;
|
|
126
126
|
gap: $default-padding;
|
127
127
|
position: relative;
|
128
128
|
height: $dialog-header-height;
|
129
|
-
padding:
|
129
|
+
padding: $dialog-header-padding;
|
130
130
|
background: $dialog-header-color;
|
131
131
|
color: $dialog-header-text-color;
|
132
132
|
font-weight: normal;
|
@@ -555,8 +555,8 @@ alchemy-publish-element-button {
|
|
555
555
|
border-bottom-right-radius: $default-border-radius;
|
556
556
|
|
557
557
|
.icon_button {
|
558
|
-
width:
|
559
|
-
height:
|
558
|
+
width: $icon-button-medium-width;
|
559
|
+
height: $icon-button-medium-height;
|
560
560
|
}
|
561
561
|
}
|
562
562
|
|
@@ -604,9 +604,8 @@ alchemy-publish-element-button {
|
|
604
604
|
height: 120px;
|
605
605
|
|
606
606
|
.icon {
|
607
|
-
font-size:
|
608
|
-
color:
|
609
|
-
vertical-align: top;
|
607
|
+
font-size: 3em;
|
608
|
+
color: var(--color-grey_dark);
|
610
609
|
|
611
610
|
&.error {
|
612
611
|
font-size: 1.2em;
|
@@ -0,0 +1,69 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
|
3
|
+
* Licensed under the LGPL or a commercial license.
|
4
|
+
* For LGPL see License.txt in the project root for license information.
|
5
|
+
* For commercial licenses see https://www.tiny.cloud/
|
6
|
+
*/
|
7
|
+
|
8
|
+
@import "alchemy/variables";
|
9
|
+
|
10
|
+
html {
|
11
|
+
font-size: 13px;
|
12
|
+
}
|
13
|
+
|
14
|
+
body {
|
15
|
+
font-family: $default-font-family;
|
16
|
+
line-height: 1.4;
|
17
|
+
margin: 1em;
|
18
|
+
color: $text-color;
|
19
|
+
}
|
20
|
+
|
21
|
+
a {
|
22
|
+
color: $dark-blue;
|
23
|
+
}
|
24
|
+
|
25
|
+
table {
|
26
|
+
border-collapse: collapse;
|
27
|
+
}
|
28
|
+
|
29
|
+
table td,
|
30
|
+
table th {
|
31
|
+
border: 1px solid $default-border-color;
|
32
|
+
padding: 0.4rem;
|
33
|
+
}
|
34
|
+
|
35
|
+
figure {
|
36
|
+
display: table;
|
37
|
+
margin: 1rem auto;
|
38
|
+
}
|
39
|
+
|
40
|
+
figure figcaption {
|
41
|
+
color: $dark-gray;
|
42
|
+
display: block;
|
43
|
+
margin-top: 0.25rem;
|
44
|
+
text-align: center;
|
45
|
+
}
|
46
|
+
|
47
|
+
hr {
|
48
|
+
border-color: $default-border-color;
|
49
|
+
border-style: solid;
|
50
|
+
border-width: 1px 0 0 0;
|
51
|
+
}
|
52
|
+
|
53
|
+
code {
|
54
|
+
background-color: $light-gray;
|
55
|
+
border-radius: $default-border-radius;
|
56
|
+
padding: 0.1rem 0.2rem;
|
57
|
+
}
|
58
|
+
|
59
|
+
.mce-content-body:not([dir="rtl"]) blockquote {
|
60
|
+
border-left: 2px solid $default-border-color;
|
61
|
+
margin-left: 1.5rem;
|
62
|
+
padding-left: 1rem;
|
63
|
+
}
|
64
|
+
|
65
|
+
.mce-content-body[dir="rtl"] blockquote {
|
66
|
+
border-right: 2px solid $default-border-color;
|
67
|
+
margin-right: 1.5rem;
|
68
|
+
padding-right: 1rem;
|
69
|
+
}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
{
|
2
|
+
"backgroundColor": "#ffffff",
|
3
|
+
"skinName": "alchemy",
|
4
|
+
"contentCss": "body {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n line-height: 1.4;\n margin: 1rem;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ntable th,\ntable td {\n border: 1px solid #ccc;\n padding: .4rem;\n}\n\nfigure {\n display: table;\n margin: 1rem auto;\n}\n\nfigure figcaption {\n color: #999;\n display: block;\n margin-top: .25rem;\n text-align: center;\n}\n\nhr {\n border-color: #ccc;\n border-style: solid;\n border-width: 1px 0 0 0;\n}\n\ncode {\n background-color: #e8e8e8;\n border-radius: 3px;\n padding: .1rem .2rem;\n}\n\n.mce-content-body:not([dir=rtl]) {\n blockquote {\n border-left: 2px solid #ccc;\n margin-left: 1.5rem;\n padding-left: 1rem;\n }\n}\n\n// RTL\n.mce-content-body[dir=rtl] {\n blockquote {\n border-right: 2px solid #ccc;\n margin-right: 1.5rem;\n padding-right: 1rem;\n }\n}\n",
|
5
|
+
"initConfig": "tinymce.init({\n plugins: [\n \"a11ychecker advcode casechange formatpainter\",\n \"linkchecker autolink lists checklist\",\n \"media mediaembed pageembed permanentpen\",\n \"powerpaste table advtable tinymcespellchecker\"\n ],\n toolbar: \"formatselect | fontselect | bold italic strikethrough forecolor backcolor formatpainter | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | link insertfile image | removeformat | code | addcomment | checklist | casechange\",\n height: 360\n});",
|
6
|
+
"lessVariablesMap": {
|
7
|
+
"@background-color": "#fff",
|
8
|
+
"@toolbar-background-color": "#efefef",
|
9
|
+
"@menubar-background-color": "#efefef",
|
10
|
+
"@border-color": "rgba(175, 175, 175, 0.5)",
|
11
|
+
"@color-black": "#000",
|
12
|
+
"@color-white": "#fff",
|
13
|
+
"@color-tint": "rgba(45, 90, 141, 1)",
|
14
|
+
"@color-error": "rgba(239, 211, 211, 1)",
|
15
|
+
"@color-success": "rgba(226, 239, 211, 1)",
|
16
|
+
"@base-value": "13px",
|
17
|
+
"@control-border-radius": "3px",
|
18
|
+
"@panel-border-radius": "3px",
|
19
|
+
"@tinymce-border-radius": "3px",
|
20
|
+
"@font-weight-normal": "normal",
|
21
|
+
"@font-weight-bold": "bold",
|
22
|
+
"@toolbar-button-icon-color": "rgba(51, 59, 81, 0.75)",
|
23
|
+
"@toolbar-button-text-color": "rgba(51, 59, 81, 0.75)",
|
24
|
+
"@toolbar-button-hover-background-color": "rgba(175, 175, 175, 0.25)",
|
25
|
+
"@toolbar-button-hover-icon-color": "rgba(51, 59, 81, 0.8)",
|
26
|
+
"@toolbar-button-hover-text-color": "rgba(51, 59, 81, 0.8)",
|
27
|
+
"@toolbar-button-focus-background-color": "rgba(175, 175, 175, 0.25)",
|
28
|
+
"@toolbar-button-focus-icon-color": "@toolbar-button-hover-icon-color",
|
29
|
+
"@toolbar-button-focus-text-color": "@toolbar-button-hover-icon-color",
|
30
|
+
"@toolbar-button-active-background-color": "rgba(175, 175, 175, 0.5)",
|
31
|
+
"@toolbar-button-enabled-background-color": "rgba(175, 175, 175, 0.5)",
|
32
|
+
"@toolbar-button-active-icon-color": "@toolbar-button-hover-icon-color",
|
33
|
+
"@toolbar-button-active-text-color": "@toolbar-button-hover-icon-color",
|
34
|
+
"@toolbar-button-enabled-icon-color": "@toolbar-button-hover-icon-color",
|
35
|
+
"@toolbar-button-enabled-text-color": "@toolbar-button-hover-icon-color"
|
36
|
+
},
|
37
|
+
"lessVariables": "@background-color: #fff;\n@toolbar-background-color: #efefef;\n@menubar-background-color: #efefef;\n@border-color: rgba(175, 175, 175, 0.5);\n@color-black: #000;\n@color-white: #fff;\n@color-tint: rgba(45, 90, 141, 1);\n@color-error: rgba(239, 211, 211, 1);\n@color-success: rgba(226, 239, 211, 1);\n@base-value: 13px;\n@control-border-radius: 3px;\n@panel-border-radius: 3px;\n@tinymce-border-radius: 3px;\n@font-stack: \"Open Sans\", \"Lucida Grande\", \"Lucida Sans Unicode\",\n \"Lucida Sans\", Verdana, Tahoma, sans-serif;\n@font-weight-normal: normal;\n@font-weight-bold: bold;\n@toolbar-button-icon-color: rgba(51, 59, 81, 0.75);\n@toolbar-button-text-color: rgba(51, 59, 81, 0.75);\n@toolbar-button-hover-background-color: rgba(175, 175, 175, 0.25);\n@toolbar-button-hover-icon-color: rgba(51, 59, 81, 0.8);\n@toolbar-button-hover-text-color: rgba(51, 59, 81, 0.8);\n@toolbar-button-focus-background-color: rgba(175, 175, 175, 0.25);\n@toolbar-button-focus-icon-color: @toolbar-button-hover-icon-color;\n@toolbar-button-focus-text-color: @toolbar-button-hover-icon-color;\n@toolbar-button-active-background-color: rgba(175, 175, 175, 0.5);\n@toolbar-button-enabled-background-color: rgba(175, 175, 175, 0.5);\n@toolbar-button-active-icon-color: @toolbar-button-hover-icon-color;\n@toolbar-button-active-text-color: @toolbar-button-hover-icon-color;\n@toolbar-button-enabled-icon-color: @toolbar-button-hover-icon-color;\n@toolbar-button-enabled-text-color: @toolbar-button-hover-icon-color;\n"
|
38
|
+
}
|