marksmith 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +60 -0
  4. data/Rakefile +8 -0
  5. data/app/assets/config/marksmith_manifest.js +2 -0
  6. data/app/assets/images/marksmith/svgs/bold.svg +3 -0
  7. data/app/assets/images/marksmith/svgs/code.svg +3 -0
  8. data/app/assets/images/marksmith/svgs/color-swatch copy.svg +3 -0
  9. data/app/assets/images/marksmith/svgs/color-swatch.svg +3 -0
  10. data/app/assets/images/marksmith/svgs/heading.svg +1 -0
  11. data/app/assets/images/marksmith/svgs/italic.svg +3 -0
  12. data/app/assets/images/marksmith/svgs/link copy.svg +3 -0
  13. data/app/assets/images/marksmith/svgs/link.svg +3 -0
  14. data/app/assets/images/marksmith/svgs/list-bullet.svg +3 -0
  15. data/app/assets/images/marksmith/svgs/list-todo.svg +1 -0
  16. data/app/assets/images/marksmith/svgs/numbered-list.svg +3 -0
  17. data/app/assets/images/marksmith/svgs/photo.svg +3 -0
  18. data/app/assets/images/marksmith/svgs/quote.svg +1 -0
  19. data/app/assets/stylesheets/marksmith/application.css +15 -0
  20. data/app/assets/stylesheets/marksmith.css +517 -0
  21. data/app/controllers/marksmith/application_controller.rb +4 -0
  22. data/app/controllers/marksmith/markdown_previews_controller.rb +8 -0
  23. data/app/frontend/entrypoints/application.css +6 -0
  24. data/app/frontend/entrypoints/application.js +29 -0
  25. data/app/frontend/entrypoints/javascript/controllers/application.js +9 -0
  26. data/app/frontend/entrypoints/javascript/controllers/index.js +7 -0
  27. data/app/frontend/entrypoints/javascript/controllers/marksmith_controller.js +111 -0
  28. data/app/helpers/marksmith/application_helper.rb +4 -0
  29. data/app/helpers/marksmith/helper.rb +21 -0
  30. data/app/jobs/marksmith/application_job.rb +4 -0
  31. data/app/mailers/marksmith/application_mailer.rb +6 -0
  32. data/app/models/marksmith/application_record.rb +5 -0
  33. data/app/models/marksmith/renderer.rb +23 -0
  34. data/app/views/layouts/marksmith/application.html.erb +17 -0
  35. data/app/views/marksmith/markdown_previews/create.turbo_stream.erb +6 -0
  36. data/app/views/marksmith/shared/_editor.html.erb +120 -0
  37. data/app/views/marksmith/shared/_rendered_body.html.erb +3 -0
  38. data/config/locales/marksmith.en.yml +33 -0
  39. data/config/routes.rb +3 -0
  40. data/config/vite.json +16 -0
  41. data/lib/marksmith/engine.rb +25 -0
  42. data/lib/marksmith/version.rb +3 -0
  43. data/lib/marksmith.rb +5 -0
  44. data/lib/tasks/marksmith_tasks.rake +4 -0
  45. metadata +131 -0
@@ -0,0 +1,517 @@
1
+ /*! tailwindcss v4.0.0-beta.10 | MIT License | https://tailwindcss.com */
2
+ @layer theme, base, components, utilities;
3
+ @layer theme {
4
+ :root {
5
+ --ms-font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
6
+ 'Segoe UI Symbol', 'Noto Color Emoji';
7
+ --ms-font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
8
+ --ms-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
9
+ 'Courier New', monospace;
10
+ --ms-color-red-50: oklch(0.971 0.013 17.38);
11
+ --ms-color-red-100: oklch(0.936 0.032 17.717);
12
+ --ms-color-red-200: oklch(0.885 0.062 18.334);
13
+ --ms-color-red-300: oklch(0.808 0.114 19.571);
14
+ --ms-color-red-400: oklch(0.704 0.191 22.216);
15
+ --ms-color-red-500: oklch(0.637 0.237 25.331);
16
+ --ms-color-red-600: oklch(0.577 0.245 27.325);
17
+ --ms-color-red-700: oklch(0.505 0.213 27.518);
18
+ --ms-color-red-800: oklch(0.444 0.177 26.899);
19
+ --ms-color-red-900: oklch(0.396 0.141 25.723);
20
+ --ms-color-red-950: oklch(0.258 0.092 26.042);
21
+ --ms-color-orange-50: oklch(0.98 0.016 73.684);
22
+ --ms-color-orange-100: oklch(0.954 0.038 75.164);
23
+ --ms-color-orange-200: oklch(0.901 0.076 70.697);
24
+ --ms-color-orange-300: oklch(0.837 0.128 66.29);
25
+ --ms-color-orange-400: oklch(0.75 0.183 55.934);
26
+ --ms-color-orange-500: oklch(0.705 0.213 47.604);
27
+ --ms-color-orange-600: oklch(0.646 0.222 41.116);
28
+ --ms-color-orange-700: oklch(0.553 0.195 38.402);
29
+ --ms-color-orange-800: oklch(0.47 0.157 37.304);
30
+ --ms-color-orange-900: oklch(0.408 0.123 38.172);
31
+ --ms-color-orange-950: oklch(0.266 0.079 36.259);
32
+ --ms-color-amber-50: oklch(0.987 0.022 95.277);
33
+ --ms-color-amber-100: oklch(0.962 0.059 95.617);
34
+ --ms-color-amber-200: oklch(0.924 0.12 95.746);
35
+ --ms-color-amber-300: oklch(0.879 0.169 91.605);
36
+ --ms-color-amber-400: oklch(0.828 0.189 84.429);
37
+ --ms-color-amber-500: oklch(0.769 0.188 70.08);
38
+ --ms-color-amber-600: oklch(0.666 0.179 58.318);
39
+ --ms-color-amber-700: oklch(0.555 0.163 48.998);
40
+ --ms-color-amber-800: oklch(0.473 0.137 46.201);
41
+ --ms-color-amber-900: oklch(0.414 0.112 45.904);
42
+ --ms-color-amber-950: oklch(0.279 0.077 45.635);
43
+ --ms-color-yellow-50: oklch(0.987 0.026 102.212);
44
+ --ms-color-yellow-100: oklch(0.973 0.071 103.193);
45
+ --ms-color-yellow-200: oklch(0.945 0.129 101.54);
46
+ --ms-color-yellow-300: oklch(0.905 0.182 98.111);
47
+ --ms-color-yellow-400: oklch(0.852 0.199 91.936);
48
+ --ms-color-yellow-500: oklch(0.795 0.184 86.047);
49
+ --ms-color-yellow-600: oklch(0.681 0.162 75.834);
50
+ --ms-color-yellow-700: oklch(0.554 0.135 66.442);
51
+ --ms-color-yellow-800: oklch(0.476 0.114 61.907);
52
+ --ms-color-yellow-900: oklch(0.421 0.095 57.708);
53
+ --ms-color-yellow-950: oklch(0.286 0.066 53.813);
54
+ --ms-color-lime-50: oklch(0.986 0.031 120.757);
55
+ --ms-color-lime-100: oklch(0.967 0.067 122.328);
56
+ --ms-color-lime-200: oklch(0.938 0.127 124.321);
57
+ --ms-color-lime-300: oklch(0.897 0.196 126.665);
58
+ --ms-color-lime-400: oklch(0.841 0.238 128.85);
59
+ --ms-color-lime-500: oklch(0.768 0.233 130.85);
60
+ --ms-color-lime-600: oklch(0.648 0.2 131.684);
61
+ --ms-color-lime-700: oklch(0.532 0.157 131.589);
62
+ --ms-color-lime-800: oklch(0.453 0.124 130.933);
63
+ --ms-color-lime-900: oklch(0.405 0.101 131.063);
64
+ --ms-color-lime-950: oklch(0.274 0.072 132.109);
65
+ --ms-color-green-50: oklch(0.982 0.018 155.826);
66
+ --ms-color-green-100: oklch(0.962 0.044 156.743);
67
+ --ms-color-green-200: oklch(0.925 0.084 155.995);
68
+ --ms-color-green-300: oklch(0.871 0.15 154.449);
69
+ --ms-color-green-400: oklch(0.792 0.209 151.711);
70
+ --ms-color-green-500: oklch(0.723 0.219 149.579);
71
+ --ms-color-green-600: oklch(0.627 0.194 149.214);
72
+ --ms-color-green-700: oklch(0.527 0.154 150.069);
73
+ --ms-color-green-800: oklch(0.448 0.119 151.328);
74
+ --ms-color-green-900: oklch(0.393 0.095 152.535);
75
+ --ms-color-green-950: oklch(0.266 0.065 152.934);
76
+ --ms-color-emerald-50: oklch(0.979 0.021 166.113);
77
+ --ms-color-emerald-100: oklch(0.95 0.052 163.051);
78
+ --ms-color-emerald-200: oklch(0.905 0.093 164.15);
79
+ --ms-color-emerald-300: oklch(0.845 0.143 164.978);
80
+ --ms-color-emerald-400: oklch(0.765 0.177 163.223);
81
+ --ms-color-emerald-500: oklch(0.696 0.17 162.48);
82
+ --ms-color-emerald-600: oklch(0.596 0.145 163.225);
83
+ --ms-color-emerald-700: oklch(0.508 0.118 165.612);
84
+ --ms-color-emerald-800: oklch(0.432 0.095 166.913);
85
+ --ms-color-emerald-900: oklch(0.378 0.077 168.94);
86
+ --ms-color-emerald-950: oklch(0.262 0.051 172.552);
87
+ --ms-color-teal-50: oklch(0.984 0.014 180.72);
88
+ --ms-color-teal-100: oklch(0.953 0.051 180.801);
89
+ --ms-color-teal-200: oklch(0.91 0.096 180.426);
90
+ --ms-color-teal-300: oklch(0.855 0.138 181.071);
91
+ --ms-color-teal-400: oklch(0.777 0.152 181.912);
92
+ --ms-color-teal-500: oklch(0.704 0.14 182.503);
93
+ --ms-color-teal-600: oklch(0.6 0.118 184.704);
94
+ --ms-color-teal-700: oklch(0.511 0.096 186.391);
95
+ --ms-color-teal-800: oklch(0.437 0.078 188.216);
96
+ --ms-color-teal-900: oklch(0.386 0.063 188.416);
97
+ --ms-color-teal-950: oklch(0.277 0.046 192.524);
98
+ --ms-color-cyan-50: oklch(0.984 0.019 200.873);
99
+ --ms-color-cyan-100: oklch(0.956 0.045 203.388);
100
+ --ms-color-cyan-200: oklch(0.917 0.08 205.041);
101
+ --ms-color-cyan-300: oklch(0.865 0.127 207.078);
102
+ --ms-color-cyan-400: oklch(0.789 0.154 211.53);
103
+ --ms-color-cyan-500: oklch(0.715 0.143 215.221);
104
+ --ms-color-cyan-600: oklch(0.609 0.126 221.723);
105
+ --ms-color-cyan-700: oklch(0.52 0.105 223.128);
106
+ --ms-color-cyan-800: oklch(0.45 0.085 224.283);
107
+ --ms-color-cyan-900: oklch(0.398 0.07 227.392);
108
+ --ms-color-cyan-950: oklch(0.302 0.056 229.695);
109
+ --ms-color-sky-50: oklch(0.977 0.013 236.62);
110
+ --ms-color-sky-100: oklch(0.951 0.026 236.824);
111
+ --ms-color-sky-200: oklch(0.901 0.058 230.902);
112
+ --ms-color-sky-300: oklch(0.828 0.111 230.318);
113
+ --ms-color-sky-400: oklch(0.746 0.16 232.661);
114
+ --ms-color-sky-500: oklch(0.685 0.169 237.323);
115
+ --ms-color-sky-600: oklch(0.588 0.158 241.966);
116
+ --ms-color-sky-700: oklch(0.5 0.134 242.749);
117
+ --ms-color-sky-800: oklch(0.443 0.11 240.79);
118
+ --ms-color-sky-900: oklch(0.391 0.09 240.876);
119
+ --ms-color-sky-950: oklch(0.293 0.066 243.157);
120
+ --ms-color-blue-50: oklch(0.97 0.014 254.604);
121
+ --ms-color-blue-100: oklch(0.932 0.032 255.585);
122
+ --ms-color-blue-200: oklch(0.882 0.059 254.128);
123
+ --ms-color-blue-300: oklch(0.809 0.105 251.813);
124
+ --ms-color-blue-400: oklch(0.707 0.165 254.624);
125
+ --ms-color-blue-500: oklch(0.623 0.214 259.815);
126
+ --ms-color-blue-600: oklch(0.546 0.245 262.881);
127
+ --ms-color-blue-700: oklch(0.488 0.243 264.376);
128
+ --ms-color-blue-800: oklch(0.424 0.199 265.638);
129
+ --ms-color-blue-900: oklch(0.379 0.146 265.522);
130
+ --ms-color-blue-950: oklch(0.282 0.091 267.935);
131
+ --ms-color-indigo-50: oklch(0.962 0.018 272.314);
132
+ --ms-color-indigo-100: oklch(0.93 0.034 272.788);
133
+ --ms-color-indigo-200: oklch(0.87 0.065 274.039);
134
+ --ms-color-indigo-300: oklch(0.785 0.115 274.713);
135
+ --ms-color-indigo-400: oklch(0.673 0.182 276.935);
136
+ --ms-color-indigo-500: oklch(0.585 0.233 277.117);
137
+ --ms-color-indigo-600: oklch(0.511 0.262 276.966);
138
+ --ms-color-indigo-700: oklch(0.457 0.24 277.023);
139
+ --ms-color-indigo-800: oklch(0.398 0.195 277.366);
140
+ --ms-color-indigo-900: oklch(0.359 0.144 278.697);
141
+ --ms-color-indigo-950: oklch(0.257 0.09 281.288);
142
+ --ms-color-violet-50: oklch(0.969 0.016 293.756);
143
+ --ms-color-violet-100: oklch(0.943 0.029 294.588);
144
+ --ms-color-violet-200: oklch(0.894 0.057 293.283);
145
+ --ms-color-violet-300: oklch(0.811 0.111 293.571);
146
+ --ms-color-violet-400: oklch(0.702 0.183 293.541);
147
+ --ms-color-violet-500: oklch(0.606 0.25 292.717);
148
+ --ms-color-violet-600: oklch(0.541 0.281 293.009);
149
+ --ms-color-violet-700: oklch(0.491 0.27 292.581);
150
+ --ms-color-violet-800: oklch(0.432 0.232 292.759);
151
+ --ms-color-violet-900: oklch(0.38 0.189 293.745);
152
+ --ms-color-violet-950: oklch(0.283 0.141 291.089);
153
+ --ms-color-purple-50: oklch(0.977 0.014 308.299);
154
+ --ms-color-purple-100: oklch(0.946 0.033 307.174);
155
+ --ms-color-purple-200: oklch(0.902 0.063 306.703);
156
+ --ms-color-purple-300: oklch(0.827 0.119 306.383);
157
+ --ms-color-purple-400: oklch(0.714 0.203 305.504);
158
+ --ms-color-purple-500: oklch(0.627 0.265 303.9);
159
+ --ms-color-purple-600: oklch(0.558 0.288 302.321);
160
+ --ms-color-purple-700: oklch(0.496 0.265 301.924);
161
+ --ms-color-purple-800: oklch(0.438 0.218 303.724);
162
+ --ms-color-purple-900: oklch(0.381 0.176 304.987);
163
+ --ms-color-purple-950: oklch(0.291 0.149 302.717);
164
+ --ms-color-fuchsia-50: oklch(0.977 0.017 320.058);
165
+ --ms-color-fuchsia-100: oklch(0.952 0.037 318.852);
166
+ --ms-color-fuchsia-200: oklch(0.903 0.076 319.62);
167
+ --ms-color-fuchsia-300: oklch(0.833 0.145 321.434);
168
+ --ms-color-fuchsia-400: oklch(0.74 0.238 322.16);
169
+ --ms-color-fuchsia-500: oklch(0.667 0.295 322.15);
170
+ --ms-color-fuchsia-600: oklch(0.591 0.293 322.896);
171
+ --ms-color-fuchsia-700: oklch(0.518 0.253 323.949);
172
+ --ms-color-fuchsia-800: oklch(0.452 0.211 324.591);
173
+ --ms-color-fuchsia-900: oklch(0.401 0.17 325.612);
174
+ --ms-color-fuchsia-950: oklch(0.293 0.136 325.661);
175
+ --ms-color-pink-50: oklch(0.971 0.014 343.198);
176
+ --ms-color-pink-100: oklch(0.948 0.028 342.258);
177
+ --ms-color-pink-200: oklch(0.899 0.061 343.231);
178
+ --ms-color-pink-300: oklch(0.823 0.12 346.018);
179
+ --ms-color-pink-400: oklch(0.718 0.202 349.761);
180
+ --ms-color-pink-500: oklch(0.656 0.241 354.308);
181
+ --ms-color-pink-600: oklch(0.592 0.249 0.584);
182
+ --ms-color-pink-700: oklch(0.525 0.223 3.958);
183
+ --ms-color-pink-800: oklch(0.459 0.187 3.815);
184
+ --ms-color-pink-900: oklch(0.408 0.153 2.432);
185
+ --ms-color-pink-950: oklch(0.284 0.109 3.907);
186
+ --ms-color-rose-50: oklch(0.969 0.015 12.422);
187
+ --ms-color-rose-100: oklch(0.941 0.03 12.58);
188
+ --ms-color-rose-200: oklch(0.892 0.058 10.001);
189
+ --ms-color-rose-300: oklch(0.81 0.117 11.638);
190
+ --ms-color-rose-400: oklch(0.712 0.194 13.428);
191
+ --ms-color-rose-500: oklch(0.645 0.246 16.439);
192
+ --ms-color-rose-600: oklch(0.586 0.253 17.585);
193
+ --ms-color-rose-700: oklch(0.514 0.222 16.935);
194
+ --ms-color-rose-800: oklch(0.455 0.188 13.697);
195
+ --ms-color-rose-900: oklch(0.41 0.159 10.272);
196
+ --ms-color-rose-950: oklch(0.271 0.105 12.094);
197
+ --ms-color-slate-50: oklch(0.984 0.003 247.858);
198
+ --ms-color-slate-100: oklch(0.968 0.007 247.896);
199
+ --ms-color-slate-200: oklch(0.929 0.013 255.508);
200
+ --ms-color-slate-300: oklch(0.869 0.022 252.894);
201
+ --ms-color-slate-400: oklch(0.704 0.04 256.788);
202
+ --ms-color-slate-500: oklch(0.554 0.046 257.417);
203
+ --ms-color-slate-600: oklch(0.446 0.043 257.281);
204
+ --ms-color-slate-700: oklch(0.372 0.044 257.287);
205
+ --ms-color-slate-800: oklch(0.279 0.041 260.031);
206
+ --ms-color-slate-900: oklch(0.208 0.042 265.755);
207
+ --ms-color-slate-950: oklch(0.129 0.042 264.695);
208
+ --ms-color-gray-50: oklch(0.985 0.002 247.839);
209
+ --ms-color-gray-100: oklch(0.967 0.003 264.542);
210
+ --ms-color-gray-200: oklch(0.928 0.006 264.531);
211
+ --ms-color-gray-300: oklch(0.872 0.01 258.338);
212
+ --ms-color-gray-400: oklch(0.707 0.022 261.325);
213
+ --ms-color-gray-500: oklch(0.551 0.027 264.364);
214
+ --ms-color-gray-600: oklch(0.446 0.03 256.802);
215
+ --ms-color-gray-700: oklch(0.373 0.034 259.733);
216
+ --ms-color-gray-800: oklch(0.278 0.033 256.848);
217
+ --ms-color-gray-900: oklch(0.21 0.034 264.665);
218
+ --ms-color-gray-950: oklch(0.13 0.028 261.692);
219
+ --ms-color-zinc-50: oklch(0.985 0 0);
220
+ --ms-color-zinc-100: oklch(0.967 0.001 286.375);
221
+ --ms-color-zinc-200: oklch(0.92 0.004 286.32);
222
+ --ms-color-zinc-300: oklch(0.871 0.006 286.286);
223
+ --ms-color-zinc-400: oklch(0.705 0.015 286.067);
224
+ --ms-color-zinc-500: oklch(0.552 0.016 285.938);
225
+ --ms-color-zinc-600: oklch(0.442 0.017 285.786);
226
+ --ms-color-zinc-700: oklch(0.37 0.013 285.805);
227
+ --ms-color-zinc-800: oklch(0.274 0.006 286.033);
228
+ --ms-color-zinc-900: oklch(0.21 0.006 285.885);
229
+ --ms-color-zinc-950: oklch(0.141 0.005 285.823);
230
+ --ms-color-neutral-50: oklch(0.985 0 0);
231
+ --ms-color-neutral-100: oklch(0.97 0 0);
232
+ --ms-color-neutral-200: oklch(0.922 0 0);
233
+ --ms-color-neutral-300: oklch(0.87 0 0);
234
+ --ms-color-neutral-400: oklch(0.708 0 0);
235
+ --ms-color-neutral-500: oklch(0.556 0 0);
236
+ --ms-color-neutral-600: oklch(0.439 0 0);
237
+ --ms-color-neutral-700: oklch(0.371 0 0);
238
+ --ms-color-neutral-800: oklch(0.269 0 0);
239
+ --ms-color-neutral-900: oklch(0.205 0 0);
240
+ --ms-color-neutral-950: oklch(0.145 0 0);
241
+ --ms-color-stone-50: oklch(0.985 0.001 106.423);
242
+ --ms-color-stone-100: oklch(0.97 0.001 106.424);
243
+ --ms-color-stone-200: oklch(0.923 0.003 48.717);
244
+ --ms-color-stone-300: oklch(0.869 0.005 56.366);
245
+ --ms-color-stone-400: oklch(0.709 0.01 56.259);
246
+ --ms-color-stone-500: oklch(0.553 0.013 58.071);
247
+ --ms-color-stone-600: oklch(0.444 0.011 73.639);
248
+ --ms-color-stone-700: oklch(0.374 0.01 67.558);
249
+ --ms-color-stone-800: oklch(0.268 0.007 34.298);
250
+ --ms-color-stone-900: oklch(0.216 0.006 56.043);
251
+ --ms-color-stone-950: oklch(0.147 0.004 49.25);
252
+ --ms-color-black: #000;
253
+ --ms-color-white: #fff;
254
+ --ms-spacing: 0.25rem;
255
+ --ms-breakpoint-sm: 40rem;
256
+ --ms-breakpoint-md: 48rem;
257
+ --ms-breakpoint-lg: 64rem;
258
+ --ms-breakpoint-xl: 80rem;
259
+ --ms-breakpoint-2xl: 96rem;
260
+ --ms-container-3xs: 16rem;
261
+ --ms-container-2xs: 18rem;
262
+ --ms-container-xs: 20rem;
263
+ --ms-container-sm: 24rem;
264
+ --ms-container-md: 28rem;
265
+ --ms-container-lg: 32rem;
266
+ --ms-container-xl: 36rem;
267
+ --ms-container-2xl: 42rem;
268
+ --ms-container-3xl: 48rem;
269
+ --ms-container-4xl: 56rem;
270
+ --ms-container-5xl: 64rem;
271
+ --ms-container-6xl: 72rem;
272
+ --ms-container-7xl: 80rem;
273
+ --ms-text-xs: 0.75rem;
274
+ --ms-text-xs--line-height: calc(1 / 0.75);
275
+ --ms-text-sm: 0.875rem;
276
+ --ms-text-sm--line-height: calc(1.25 / 0.875);
277
+ --ms-text-base: 1rem;
278
+ --ms-text-base--line-height: calc(1.5 / 1);
279
+ --ms-text-lg: 1.125rem;
280
+ --ms-text-lg--line-height: calc(1.75 / 1.125);
281
+ --ms-text-xl: 1.25rem;
282
+ --ms-text-xl--line-height: calc(1.75 / 1.25);
283
+ --ms-text-2xl: 1.5rem;
284
+ --ms-text-2xl--line-height: calc(2 / 1.5);
285
+ --ms-text-3xl: 1.875rem;
286
+ --ms-text-3xl--line-height: calc(2.25 / 1.875);
287
+ --ms-text-4xl: 2.25rem;
288
+ --ms-text-4xl--line-height: calc(2.5 / 2.25);
289
+ --ms-text-5xl: 3rem;
290
+ --ms-text-5xl--line-height: 1;
291
+ --ms-text-6xl: 3.75rem;
292
+ --ms-text-6xl--line-height: 1;
293
+ --ms-text-7xl: 4.5rem;
294
+ --ms-text-7xl--line-height: 1;
295
+ --ms-text-8xl: 6rem;
296
+ --ms-text-8xl--line-height: 1;
297
+ --ms-text-9xl: 8rem;
298
+ --ms-text-9xl--line-height: 1;
299
+ --ms-font-weight-thin: 100;
300
+ --ms-font-weight-extralight: 200;
301
+ --ms-font-weight-light: 300;
302
+ --ms-font-weight-normal: 400;
303
+ --ms-font-weight-medium: 500;
304
+ --ms-font-weight-semibold: 600;
305
+ --ms-font-weight-bold: 700;
306
+ --ms-font-weight-extrabold: 800;
307
+ --ms-font-weight-black: 900;
308
+ --ms-tracking-tighter: -0.05em;
309
+ --ms-tracking-tight: -0.025em;
310
+ --ms-tracking-normal: 0em;
311
+ --ms-tracking-wide: 0.025em;
312
+ --ms-tracking-wider: 0.05em;
313
+ --ms-tracking-widest: 0.1em;
314
+ --ms-leading-tight: 1.25;
315
+ --ms-leading-snug: 1.375;
316
+ --ms-leading-normal: 1.5;
317
+ --ms-leading-relaxed: 1.625;
318
+ --ms-leading-loose: 2;
319
+ --ms-radius-xs: 0.125rem;
320
+ --ms-radius-sm: 0.25rem;
321
+ --ms-radius-md: 0.375rem;
322
+ --ms-radius-lg: 0.5rem;
323
+ --ms-radius-xl: 0.75rem;
324
+ --ms-radius-2xl: 1rem;
325
+ --ms-radius-3xl: 1.5rem;
326
+ --ms-radius-4xl: 2rem;
327
+ --ms-shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
328
+ --ms-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
329
+ --ms-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
330
+ --ms-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
331
+ --ms-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
332
+ --ms-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
333
+ --ms-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
334
+ --ms-inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);
335
+ --ms-inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
336
+ --ms-inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);
337
+ --ms-drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);
338
+ --ms-drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
339
+ --ms-drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
340
+ --ms-drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
341
+ --ms-drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
342
+ --ms-drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
343
+ --ms-ease-in: cubic-bezier(0.4, 0, 1, 1);
344
+ --ms-ease-out: cubic-bezier(0, 0, 0.2, 1);
345
+ --ms-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
346
+ --ms-animate-spin: spin 1s linear infinite;
347
+ --ms-animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
348
+ --ms-animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
349
+ --ms-animate-bounce: bounce 1s infinite;
350
+ --ms-blur-xs: 4px;
351
+ --ms-blur-sm: 8px;
352
+ --ms-blur-md: 12px;
353
+ --ms-blur-lg: 16px;
354
+ --ms-blur-xl: 24px;
355
+ --ms-blur-2xl: 40px;
356
+ --ms-blur-3xl: 64px;
357
+ --ms-perspective-dramatic: 100px;
358
+ --ms-perspective-near: 300px;
359
+ --ms-perspective-normal: 500px;
360
+ --ms-perspective-midrange: 800px;
361
+ --ms-perspective-distant: 1200px;
362
+ --ms-aspect-video: 16 / 9;
363
+ --ms-default-transition-duration: 150ms;
364
+ --ms-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
365
+ --ms-default-font-family: var(--font-sans);
366
+ --ms-default-font-feature-settings: var(--font-sans--font-feature-settings);
367
+ --ms-default-font-variation-settings: var(--font-sans--font-variation-settings);
368
+ --ms-default-mono-font-family: var(--font-mono);
369
+ --ms-default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
370
+ --ms-default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
371
+ }
372
+ }
373
+ @layer utilities {
374
+ .ms\:\@container {
375
+ container-type: inline-size;
376
+ }
377
+ .ms\:pointer-events-none {
378
+ pointer-events: none;
379
+ }
380
+ .ms\:flex {
381
+ display: flex;
382
+ }
383
+ .ms\:hidden {
384
+ display: none;
385
+ }
386
+ .ms\:inline {
387
+ display: inline;
388
+ }
389
+ .ms\:size-4 {
390
+ width: calc(var(--ms-spacing) * 4);
391
+ height: calc(var(--ms-spacing) * 4);
392
+ }
393
+ .ms\:w-full {
394
+ width: 100%;
395
+ }
396
+ .ms\:flex-1 {
397
+ flex: 1;
398
+ }
399
+ .ms\:grow {
400
+ flex-grow: 1;
401
+ }
402
+ .ms\:cursor-pointer {
403
+ cursor: pointer;
404
+ }
405
+ .ms\:flex-col {
406
+ flex-direction: column;
407
+ }
408
+ .ms\:flex-col-reverse {
409
+ flex-direction: column-reverse;
410
+ }
411
+ .ms\:flex-wrap {
412
+ flex-wrap: wrap;
413
+ }
414
+ .ms\:gap-y-1 {
415
+ row-gap: calc(var(--ms-spacing) * 1);
416
+ }
417
+ .ms\:rounded {
418
+ border-radius: 0.25rem;
419
+ }
420
+ .ms\:border {
421
+ border-style: var(--tw-border-style);
422
+ border-width: 1px;
423
+ }
424
+ .ms\:border-0 {
425
+ border-style: var(--tw-border-style);
426
+ border-width: 0px;
427
+ }
428
+ .ms\:border-t {
429
+ border-top-style: var(--tw-border-style);
430
+ border-top-width: 1px;
431
+ }
432
+ .ms\:border-none {
433
+ --tw-border-style: none;
434
+ border-style: none;
435
+ }
436
+ .ms\:border-zinc-300 {
437
+ border-color: var(--ms-color-zinc-300);
438
+ }
439
+ .ms\:bg-zinc-50 {
440
+ background-color: var(--ms-color-zinc-50);
441
+ }
442
+ .ms\:bg-zinc-200 {
443
+ background-color: var(--ms-color-zinc-200);
444
+ }
445
+ .ms\:bg-none {
446
+ background-image: none;
447
+ }
448
+ .ms\:px-1\.5 {
449
+ padding-inline: calc(var(--ms-spacing) * 1.5);
450
+ }
451
+ .ms\:px-2 {
452
+ padding-inline: calc(var(--ms-spacing) * 2);
453
+ }
454
+ .ms\:px-3 {
455
+ padding-inline: calc(var(--ms-spacing) * 3);
456
+ }
457
+ .ms\:py-1 {
458
+ padding-block: calc(var(--ms-spacing) * 1);
459
+ }
460
+ .ms\:py-2 {
461
+ padding-block: calc(var(--ms-spacing) * 2);
462
+ }
463
+ .ms\:focus-within\:border-zinc-500 {
464
+ &:focus-within {
465
+ border-color: var(--ms-color-zinc-500);
466
+ }
467
+ }
468
+ .ms\:hover\:bg-zinc-200 {
469
+ &:hover {
470
+ @media (hover: hover) {
471
+ background-color: var(--ms-color-zinc-200);
472
+ }
473
+ }
474
+ }
475
+ .ms\:focus\:outline-none {
476
+ &:focus {
477
+ --tw-outline-style: none;
478
+ outline-style: none;
479
+ }
480
+ }
481
+ .ms\:\@md\:flex-row {
482
+ @container (width >= 28rem) {
483
+ flex-direction: row;
484
+ }
485
+ }
486
+ }
487
+ @keyframes spin {
488
+ to {
489
+ transform: rotate(360deg);
490
+ }
491
+ }
492
+ @keyframes ping {
493
+ 75%, 100% {
494
+ transform: scale(2);
495
+ opacity: 0;
496
+ }
497
+ }
498
+ @keyframes pulse {
499
+ 50% {
500
+ opacity: 0.5;
501
+ }
502
+ }
503
+ @keyframes bounce {
504
+ 0%, 100% {
505
+ transform: translateY(-25%);
506
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
507
+ }
508
+ 50% {
509
+ transform: none;
510
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
511
+ }
512
+ }
513
+ @property --tw-border-style {
514
+ syntax: "*";
515
+ inherits: false;
516
+ initial-value: solid;
517
+ }
@@ -0,0 +1,4 @@
1
+ module Marksmith
2
+ class ApplicationController < ActionController::Base
3
+ end
4
+ end
@@ -0,0 +1,8 @@
1
+ module Marksmith
2
+ class MarkdownPreviewsController < ApplicationController
3
+ def create
4
+ @body = Marksmith::Renderer.new.renderer.render(params[:body])
5
+ end
6
+ end
7
+ end
8
+
@@ -0,0 +1,6 @@
1
+ @layer theme, base, components, utilities;
2
+
3
+ @import "tailwindcss/theme" layer(theme) prefix(ms);
4
+ @import "tailwindcss/utilities" layer(utilities) prefix(ms);
5
+
6
+ @source "./../../views/";
@@ -0,0 +1,29 @@
1
+ // To see this message, add the following to the `<head>` section in your
2
+ // views/layouts/application.html.erb
3
+ //
4
+ // <%= vite_client_tag %>
5
+ // <%= vite_javascript_tag 'application' %>
6
+ console.log('Vite ⚡️ Rails?')
7
+
8
+ // If using a TypeScript entrypoint file:
9
+ // <%= vite_typescript_tag 'application' %>
10
+ //
11
+ // If you want to use .jsx or .tsx, add the extension:
12
+ // <%= vite_javascript_tag 'application.jsx' %>
13
+
14
+ console.log('Visit the guide for more information: ', 'https://vite-ruby.netlify.app/guide/rails')
15
+
16
+ // Example: Load Rails libraries in Vite.
17
+ //
18
+ import '@hotwired/turbo-rails'
19
+
20
+ import "./javascript/controllers/index"
21
+ //
22
+ // import ActiveStorage from '@rails/activestorage'
23
+ // ActiveStorage.start()
24
+ //
25
+ // // Import all channels.
26
+ // const channels = import.meta.globEager('./**/*_channel.js')
27
+
28
+ // Example: Import a stylesheet in app/frontend/index.css
29
+ import './application.css'
@@ -0,0 +1,9 @@
1
+ import { Application } from "@hotwired/stimulus"
2
+
3
+ const application = Application.start()
4
+
5
+ // Configure Stimulus development experience
6
+ application.debug = false
7
+ window.Stimulus = application
8
+
9
+ export { application }
@@ -0,0 +1,7 @@
1
+ import { application } from "./application"
2
+
3
+ import MarksmithController from "./marksmith_controller"
4
+ // import MarksmithController from "./../../../../../app/assets/builds/marksmith.esm.js"
5
+ // console.log(MarksmithController)
6
+
7
+ application.register("marksmith", MarksmithController)