activeadmin_medium_editor 0.1.4 → 0.2.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +1 -1
  3. data/README.md +29 -30
  4. data/Rakefile +2 -2
  5. data/app/assets/javascripts/activeadmin/medium_editor/medium_editor.js +11 -3
  6. data/app/assets/javascripts/activeadmin/medium_editor/medium_editor.min.js +3 -3
  7. data/app/assets/javascripts/activeadmin/medium_editor_input.js +24 -7
  8. data/app/assets/stylesheets/activeadmin/_medium_editor_input.scss +90 -0
  9. data/app/assets/stylesheets/activeadmin/medium_editor/_settings.scss +6 -0
  10. data/app/assets/stylesheets/activeadmin/medium_editor/animations/_image-loading.scss +8 -0
  11. data/app/assets/stylesheets/activeadmin/medium_editor/animations/_pop-upwards.scss +20 -0
  12. data/app/assets/stylesheets/activeadmin/medium_editor/components/_anchor-preview.scss +24 -0
  13. data/app/assets/stylesheets/activeadmin/medium_editor/components/_file-dragging.scss +12 -0
  14. data/app/assets/stylesheets/activeadmin/medium_editor/components/_placeholder.scss +27 -0
  15. data/app/assets/stylesheets/activeadmin/medium_editor/components/_toolbar-form.scss +44 -0
  16. data/app/assets/stylesheets/activeadmin/medium_editor/components/_toolbar.scss +98 -0
  17. data/app/assets/stylesheets/activeadmin/medium_editor/medium_editor.scss +31 -0
  18. data/app/assets/stylesheets/activeadmin/medium_editor/themes/beagle.scss +120 -0
  19. data/app/assets/stylesheets/activeadmin/medium_editor/themes/bootstrap.scss +101 -0
  20. data/app/assets/stylesheets/activeadmin/medium_editor/themes/default.scss +87 -0
  21. data/app/assets/stylesheets/activeadmin/medium_editor/themes/flat.scss +90 -0
  22. data/app/assets/stylesheets/activeadmin/medium_editor/themes/mani.scss +87 -0
  23. data/app/assets/stylesheets/activeadmin/medium_editor/themes/roman.scss +87 -0
  24. data/app/assets/stylesheets/activeadmin/medium_editor/themes/tim.scss +101 -0
  25. data/app/assets/stylesheets/activeadmin/medium_editor/util/_clearfix.scss +7 -0
  26. data/lib/activeadmin/medium_editor.rb +2 -0
  27. data/lib/activeadmin/medium_editor/engine.rb +2 -0
  28. data/lib/activeadmin/medium_editor/version.rb +3 -1
  29. data/lib/activeadmin_medium_editor.rb +2 -0
  30. data/lib/formtastic/inputs/medium_editor_input.rb +3 -1
  31. metadata +152 -30
  32. data/.gitignore +0 -3
  33. data/Gemfile +0 -4
  34. data/activeadmin_medium_editor.gemspec +0 -19
  35. data/app/assets/stylesheets/activeadmin/_medium_editor_input.sass +0 -35
  36. data/app/assets/stylesheets/activeadmin/medium_editor/medium_editor.css +0 -230
  37. data/app/assets/stylesheets/activeadmin/medium_editor/medium_editor.min.css +0 -1
  38. data/app/assets/stylesheets/activeadmin/medium_editor/themes/beagle.css +0 -78
  39. data/app/assets/stylesheets/activeadmin/medium_editor/themes/beagle.min.css +0 -1
  40. data/app/assets/stylesheets/activeadmin/medium_editor/themes/bootstrap.css +0 -67
  41. data/app/assets/stylesheets/activeadmin/medium_editor/themes/bootstrap.min.css +0 -1
  42. data/app/assets/stylesheets/activeadmin/medium_editor/themes/default.css +0 -63
  43. data/app/assets/stylesheets/activeadmin/medium_editor/themes/default.min.css +0 -1
  44. data/app/assets/stylesheets/activeadmin/medium_editor/themes/flat.css +0 -58
  45. data/app/assets/stylesheets/activeadmin/medium_editor/themes/flat.min.css +0 -1
  46. data/app/assets/stylesheets/activeadmin/medium_editor/themes/mani.css +0 -57
  47. data/app/assets/stylesheets/activeadmin/medium_editor/themes/mani.min.css +0 -1
  48. data/app/assets/stylesheets/activeadmin/medium_editor/themes/roman.css +0 -58
  49. data/app/assets/stylesheets/activeadmin/medium_editor/themes/roman.min.css +0 -1
  50. data/app/assets/stylesheets/activeadmin/medium_editor/themes/tim.css +0 -67
  51. data/app/assets/stylesheets/activeadmin/medium_editor/themes/tim.min.css +0 -1
  52. data/screenshot.jpg +0 -0
@@ -0,0 +1,98 @@
1
+ %medium-toolbar-arrow {
2
+ border-style: solid;
3
+ content: '';
4
+ display: block;
5
+ height: 0;
6
+ left: 50%;
7
+ margin-left: -8px;
8
+ position: absolute;
9
+ width: 0;
10
+ }
11
+
12
+ .medium-toolbar-arrow-under:after {
13
+ @extend %medium-toolbar-arrow;
14
+ border-width: 8px 8px 0 8px;
15
+ }
16
+
17
+ .medium-toolbar-arrow-over:before {
18
+ @extend %medium-toolbar-arrow;
19
+ border-width: 0 8px 8px 8px;
20
+ top: -8px;
21
+ }
22
+
23
+ .medium-editor-toolbar {
24
+ font-family: $font-sans-serif;
25
+ font-size: 16px;
26
+ left: 0;
27
+ position: absolute;
28
+ top: 0;
29
+ visibility: hidden;
30
+ z-index: $z-toolbar;
31
+
32
+ ul {
33
+ margin: 0;
34
+ padding: 0;
35
+ }
36
+
37
+ li {
38
+ float: left;
39
+ list-style: none;
40
+ margin: 0;
41
+ padding: 0;
42
+
43
+ button {
44
+ box-sizing: border-box;
45
+ cursor: pointer;
46
+ display: block;
47
+ font-size: 14px;
48
+ line-height: 1.33;
49
+ margin: 0;
50
+ padding: 15px;
51
+ text-decoration: none;
52
+
53
+ &:focus {
54
+ outline: none;
55
+ }
56
+ }
57
+
58
+ .medium-editor-action-underline {
59
+ text-decoration: underline;
60
+ }
61
+
62
+ .medium-editor-action-pre {
63
+ font-family: $font-fixed;
64
+ font-size: 12px;
65
+ font-weight: 100;
66
+ padding: 15px 0;
67
+ }
68
+ }
69
+ }
70
+
71
+ .medium-editor-toolbar-active {
72
+ visibility: visible;
73
+ }
74
+
75
+ .medium-editor-sticky-toolbar {
76
+ position: fixed;
77
+ top: 1px;
78
+ }
79
+
80
+ .medium-editor-relative-toolbar {
81
+ position: relative;
82
+ }
83
+
84
+ .medium-editor-toolbar-active.medium-editor-stalker-toolbar {
85
+ animation: medium-editor-pop-upwards 160ms forwards linear;
86
+ }
87
+
88
+ .medium-editor-toolbar-actions {
89
+ @extend %clearfix;
90
+ }
91
+
92
+ .medium-editor-action-bold {
93
+ font-weight: bolder;
94
+ }
95
+
96
+ .medium-editor-action-italic {
97
+ font-style: italic;
98
+ }
@@ -0,0 +1,31 @@
1
+ @import "settings";
2
+ @import "animations/image-loading";
3
+ @import "animations/pop-upwards";
4
+ @import "components/anchor-preview";
5
+ @import "components/file-dragging";
6
+ @import "components/placeholder";
7
+ @import "components/toolbar";
8
+ @import "components/toolbar-form";
9
+ @import "util/clearfix";
10
+
11
+ // contenteditable rules
12
+ .medium-editor-element {
13
+ word-wrap: break-word;
14
+ min-height: 30px;
15
+
16
+ img {
17
+ max-width: 100%;
18
+ }
19
+
20
+ sub {
21
+ vertical-align: sub;
22
+ }
23
+
24
+ sup {
25
+ vertical-align: super;
26
+ }
27
+ }
28
+
29
+ .medium-editor-hidden {
30
+ display: none;
31
+ }
@@ -0,0 +1,120 @@
1
+ // theme settings
2
+ $medium-editor-bgcolor: #000;
3
+ $medium-editor-button-size: 40px;
4
+ $medium-editor-button-active-text-color: #a2d7c7;
5
+ $medium-editor-hover-color: $medium-editor-bgcolor;
6
+ $medium-editor-link-color: #ccc;
7
+ $medium-editor-border-radius: 50px;
8
+ $medium-editor-placeholder-color: #f8f5f3;
9
+
10
+ // theme rules
11
+ .medium-toolbar-arrow-under:after {
12
+ border-color: $medium-editor-bgcolor transparent transparent transparent;
13
+ top: $medium-editor-button-size;
14
+ }
15
+
16
+ .medium-toolbar-arrow-over:before {
17
+ border-color: transparent transparent $medium-editor-bgcolor transparent;
18
+ }
19
+
20
+ .medium-editor-toolbar {
21
+ background-color: $medium-editor-bgcolor;
22
+ border: none;
23
+ border-radius: $medium-editor-border-radius;
24
+
25
+ li {
26
+ button {
27
+ background-color: transparent;
28
+ border: none;
29
+ box-sizing: border-box;
30
+ color: $medium-editor-link-color;
31
+ height: $medium-editor-button-size;
32
+ min-width: $medium-editor-button-size;
33
+ padding: 5px 12px;
34
+ transition: background-color .2s ease-in, color .2s ease-in;
35
+ &:hover {
36
+ background-color: $medium-editor-hover-color;
37
+ color: $medium-editor-button-active-text-color;
38
+ }
39
+ }
40
+
41
+ .medium-editor-button-first {
42
+ border-bottom-left-radius: $medium-editor-border-radius;
43
+ border-top-left-radius: $medium-editor-border-radius;
44
+ padding-left: 24px;
45
+ }
46
+
47
+ .medium-editor-button-last {
48
+ border-bottom-right-radius: $medium-editor-border-radius;
49
+ border-right: none;
50
+ border-top-right-radius: $medium-editor-border-radius;
51
+ padding-right: 24px
52
+ }
53
+
54
+ .medium-editor-button-active {
55
+ background-color: $medium-editor-hover-color;
56
+ color: $medium-editor-button-active-text-color;
57
+ }
58
+ }
59
+ }
60
+
61
+ .medium-editor-toolbar-form {
62
+ background: $medium-editor-bgcolor;
63
+ border-radius: $medium-editor-border-radius;
64
+ color: $medium-editor-link-color;
65
+ overflow: hidden;
66
+
67
+ .medium-editor-toolbar-input {
68
+ background: $medium-editor-bgcolor;
69
+ box-sizing: border-box;
70
+ color: $medium-editor-link-color;
71
+ height: $medium-editor-button-size;
72
+ padding-left: 16px;
73
+ width: 220px;
74
+
75
+ &::-webkit-input-placeholder {
76
+ color: $medium-editor-placeholder-color;
77
+ color: rgba($medium-editor-placeholder-color, .8);
78
+ }
79
+ &:-moz-placeholder { /* Firefox 18- */
80
+ color: $medium-editor-placeholder-color;
81
+ color: rgba($medium-editor-placeholder-color, .8);
82
+ }
83
+ &::-moz-placeholder { /* Firefox 19+ */
84
+ color: $medium-editor-placeholder-color;
85
+ color: rgba($medium-editor-placeholder-color, .8);
86
+ }
87
+ &:-ms-input-placeholder {
88
+ color: $medium-editor-placeholder-color;
89
+ color: rgba($medium-editor-placeholder-color, .8);
90
+ }
91
+ }
92
+
93
+ a {
94
+ color: $medium-editor-link-color;
95
+ transform: translateY(2px);
96
+ }
97
+
98
+ .medium-editor-toolbar-close {
99
+ margin-right: 16px;
100
+ }
101
+ }
102
+
103
+ .medium-editor-toolbar-anchor-preview {
104
+ background: $medium-editor-bgcolor;
105
+ border-radius: $medium-editor-border-radius;
106
+ padding: 5px 12px;
107
+ }
108
+
109
+ .medium-editor-anchor-preview {
110
+ a {
111
+ color: $medium-editor-link-color;
112
+ text-decoration: none;
113
+ }
114
+ }
115
+
116
+ .medium-editor-toolbar-actions {
117
+ li, button {
118
+ border-radius: $medium-editor-border-radius;
119
+ }
120
+ }
@@ -0,0 +1,101 @@
1
+ // theme settings
2
+ $medium-editor-bgcolor: #428bca;
3
+ $medium-editor-border-color: #357ebd;
4
+ $medium-editor-button-size: 60px;
5
+ $medium-editor-button-active-text-color: #fff;
6
+ $medium-editor-hover-color: #3276b1;
7
+ $medium-editor-link-color: #fff;
8
+ $medium-editor-border-radius: 4px;
9
+ $medium-editor-placeholder-color: #fff;
10
+
11
+ // theme rules
12
+ .medium-toolbar-arrow-under:after {
13
+ border-color: $medium-editor-bgcolor transparent transparent transparent;
14
+ top: $medium-editor-button-size;
15
+ }
16
+
17
+ .medium-toolbar-arrow-over:before {
18
+ border-color: transparent transparent $medium-editor-bgcolor transparent;
19
+ }
20
+
21
+ .medium-editor-toolbar {
22
+ background-color: $medium-editor-bgcolor;
23
+ border: 1px solid $medium-editor-border-color;
24
+ border-radius: $medium-editor-border-radius;
25
+
26
+ li {
27
+ button {
28
+ background-color: transparent;
29
+ border: none;
30
+ border-right: 1px solid $medium-editor-border-color;
31
+ box-sizing: border-box;
32
+ color: $medium-editor-link-color;
33
+ height: $medium-editor-button-size;
34
+ min-width: $medium-editor-button-size;
35
+ transition: background-color .2s ease-in, color .2s ease-in;
36
+ &:hover {
37
+ background-color: $medium-editor-hover-color;
38
+ color: $medium-editor-button-active-text-color;
39
+ }
40
+ }
41
+
42
+ .medium-editor-button-first {
43
+ border-bottom-left-radius: $medium-editor-border-radius;
44
+ border-top-left-radius: $medium-editor-border-radius;
45
+ }
46
+
47
+ .medium-editor-button-last {
48
+ border-bottom-right-radius: $medium-editor-border-radius;
49
+ border-right: none;
50
+ border-top-right-radius: $medium-editor-border-radius;
51
+ }
52
+
53
+ .medium-editor-button-active {
54
+ background-color: $medium-editor-hover-color;
55
+ color: $medium-editor-button-active-text-color;
56
+ }
57
+ }
58
+ }
59
+
60
+ .medium-editor-toolbar-form {
61
+ background: $medium-editor-bgcolor;
62
+ border-radius: $medium-editor-border-radius;
63
+ color: #fff;
64
+
65
+ .medium-editor-toolbar-input {
66
+ background: $medium-editor-bgcolor;
67
+ color: $medium-editor-link-color;
68
+ height: $medium-editor-button-size;
69
+
70
+ &::-webkit-input-placeholder {
71
+ color: $medium-editor-placeholder-color;
72
+ color: rgba($medium-editor-placeholder-color, .8);
73
+ }
74
+ &:-moz-placeholder { /* Firefox 18- */
75
+ color: $medium-editor-placeholder-color;
76
+ color: rgba($medium-editor-placeholder-color, .8);
77
+ }
78
+ &::-moz-placeholder { /* Firefox 19+ */
79
+ color: $medium-editor-placeholder-color;
80
+ color: rgba($medium-editor-placeholder-color, .8);
81
+ }
82
+ &:-ms-input-placeholder {
83
+ color: $medium-editor-placeholder-color;
84
+ color: rgba($medium-editor-placeholder-color, .8);
85
+ }
86
+ }
87
+
88
+ a {
89
+ color: $medium-editor-link-color;
90
+ }
91
+ }
92
+
93
+ .medium-editor-toolbar-anchor-preview {
94
+ background: $medium-editor-bgcolor;
95
+ border-radius: $medium-editor-border-radius;
96
+ color: $medium-editor-link-color;
97
+ }
98
+
99
+ .medium-editor-placeholder:after {
100
+ color: $medium-editor-border-color;
101
+ }
@@ -0,0 +1,87 @@
1
+ // theme settings
2
+ $medium-editor-bgcolor: #242424;
3
+ $medium-editor-button-size: 50px;
4
+ $medium-editor-border-radius: 5px;
5
+
6
+ // theme rules
7
+ .medium-toolbar-arrow-under:after {
8
+ border-color: $medium-editor-bgcolor transparent transparent transparent;
9
+ top: $medium-editor-button-size;
10
+ }
11
+
12
+ .medium-toolbar-arrow-over:before {
13
+ border-color: transparent transparent $medium-editor-bgcolor transparent;
14
+ top: -8px;
15
+ }
16
+
17
+ .medium-editor-toolbar {
18
+ background-color: $medium-editor-bgcolor;
19
+ background: linear-gradient(to bottom, $medium-editor-bgcolor, rgba($medium-editor-bgcolor, 0.75));
20
+ border: 1px solid #000;
21
+ border-radius: $medium-editor-border-radius;
22
+ box-shadow: 0 0 3px #000;
23
+
24
+ li {
25
+ button {
26
+ background-color: $medium-editor-bgcolor;
27
+ background: linear-gradient(to bottom, $medium-editor-bgcolor, rgba($medium-editor-bgcolor, 0.89));
28
+ border: 0;
29
+ border-right: 1px solid #000;
30
+ border-left: 1px solid #333;
31
+ border-left: 1px solid rgba(#fff, .1);
32
+ box-shadow: 0 2px 2px rgba(0,0,0,0.3);
33
+ color: #fff;
34
+ height: $medium-editor-button-size;
35
+ min-width: $medium-editor-button-size;
36
+ transition: background-color .2s ease-in;
37
+
38
+ &:hover {
39
+ background-color: #000;
40
+ color: yellow;
41
+ }
42
+ }
43
+
44
+ .medium-editor-button-first {
45
+ border-bottom-left-radius: $medium-editor-border-radius;
46
+ border-top-left-radius: $medium-editor-border-radius;
47
+ }
48
+
49
+ .medium-editor-button-last {
50
+ border-bottom-right-radius: $medium-editor-border-radius;
51
+ border-top-right-radius: $medium-editor-border-radius;
52
+ }
53
+
54
+ .medium-editor-button-active {
55
+ background-color: #000;
56
+ background: linear-gradient(to bottom, $medium-editor-bgcolor, rgba(#000, 0.89));
57
+ color: #fff;
58
+ }
59
+ }
60
+ }
61
+
62
+ .medium-editor-toolbar-form {
63
+ background: $medium-editor-bgcolor;
64
+ border-radius: $medium-editor-border-radius;
65
+ color: #999;
66
+
67
+ .medium-editor-toolbar-input {
68
+ background: $medium-editor-bgcolor;
69
+ box-sizing: border-box;
70
+ color: #ccc;
71
+ height: $medium-editor-button-size;
72
+ }
73
+
74
+ a {
75
+ color: #fff;
76
+ }
77
+ }
78
+
79
+ .medium-editor-toolbar-anchor-preview {
80
+ background: $medium-editor-bgcolor;
81
+ border-radius: $medium-editor-border-radius;
82
+ color: #fff;
83
+ }
84
+
85
+ .medium-editor-placeholder:after {
86
+ color: #b3b3b1;
87
+ }
@@ -0,0 +1,90 @@
1
+ // theme settings
2
+ $medium-editor-bgcolor: #57ad68;
3
+ $medium-editor-border-color: #fff;
4
+ $medium-editor-button-size: 60px;
5
+ $medium-editor-button-active-text-color: #fff;
6
+ $medium-editor-link-color: #fff;
7
+ $medium-editor-placeholder-color: #fff;
8
+
9
+ // theme rules
10
+ .medium-toolbar-arrow-under:after {
11
+ top: $medium-editor-button-size;
12
+ border-color: $medium-editor-bgcolor transparent transparent transparent;
13
+ }
14
+
15
+ .medium-toolbar-arrow-over:before {
16
+ top: -8px;
17
+ border-color: transparent transparent $medium-editor-bgcolor transparent;
18
+ }
19
+
20
+ .medium-editor-toolbar {
21
+ background-color: $medium-editor-bgcolor;
22
+
23
+ li {
24
+ padding: 0;
25
+
26
+ button {
27
+ min-width: $medium-editor-button-size;
28
+ height: $medium-editor-button-size;
29
+ border: none;
30
+ border-right: 1px solid lighten($medium-editor-bgcolor, 20);
31
+ background-color: transparent;
32
+ color: $medium-editor-link-color;
33
+ transition: background-color .2s ease-in, color .2s ease-in;
34
+ &:hover {
35
+ background-color: darken($medium-editor-bgcolor, 20);
36
+ color: $medium-editor-button-active-text-color;
37
+ }
38
+ }
39
+
40
+ .medium-editor-button-active {
41
+ background-color: darken($medium-editor-bgcolor, 30);
42
+ color: $medium-editor-button-active-text-color;
43
+ }
44
+
45
+ .medium-editor-button-last {
46
+ border-right: none;
47
+ }
48
+ }
49
+ }
50
+
51
+ .medium-editor-toolbar-form {
52
+ .medium-editor-toolbar-input {
53
+ height: $medium-editor-button-size;
54
+ background: $medium-editor-bgcolor;
55
+ color: $medium-editor-link-color;
56
+
57
+ &::-webkit-input-placeholder {
58
+ color: $medium-editor-placeholder-color;
59
+ color: rgba($medium-editor-placeholder-color, .8);
60
+ }
61
+
62
+ &:-moz-placeholder { /* Firefox 18- */
63
+ color: $medium-editor-placeholder-color;
64
+ color: rgba($medium-editor-placeholder-color, .8);
65
+ }
66
+
67
+ &::-moz-placeholder { /* Firefox 19+ */
68
+ color: $medium-editor-placeholder-color;
69
+ color: rgba($medium-editor-placeholder-color, .8);
70
+ }
71
+
72
+ &:-ms-input-placeholder {
73
+ color: $medium-editor-placeholder-color;
74
+ color: rgba($medium-editor-placeholder-color, .8);
75
+ }
76
+ }
77
+
78
+ a {
79
+ color: $medium-editor-link-color;
80
+ }
81
+ }
82
+
83
+ .medium-editor-toolbar-anchor-preview {
84
+ background: $medium-editor-bgcolor;
85
+ color: $medium-editor-link-color;
86
+ }
87
+
88
+ .medium-editor-placeholder:after {
89
+ color: lighten($medium-editor-bgcolor, 20);
90
+ }