x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<form class="lexxy" action="/lookbook/home/index" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="xDfTm52lLFBR0X8WFE54SBPmYoPuFJ6zmXL99CBPqCpCF6PDKNWwO4zLlBNwCJRLifcJrbZdeJAV_o-E1m7M-A" autocomplete="off" /> <lexxy-editor placeholder="Write away..." name="content" value="<h2>Hey there,</h2><p> This is a document written in Lexxy. Feel free to type, play around with formatting, paste links, or hit <code>:</code> to drop in an emoji!</p><h3>Features</h3><ul> <li value="1"> Lexxy is built on top of Lexical, the powerful text editor framework from Meta. </li> <li value="2"> Good HTML semantics. Paragraphs are real<br/>tags, as they should be. </li> <li value="3">Markdown support: shortcuts, auto-formatting on paste.</li> <li value="4"> The <strong>rich</strong> <em>text</em> <i><strong>styles</strong></i> you <s>want</s> expect. </li> <li value="5"> Text highlights <mark style="color: var(--highlight-1);">color</mark>, <mark style="background-color: var(--highlight-bg-6);">background</mark>, or <mark style="color: var(--highlight-3);background-color: var(--highlight-bg-3);" >both</mark >; with <mark style="color: var(--highlight-7);"><strong>other</strong></mark> <s><mark style="background-color: var(--highlight-bg-3);">styles</mark></s> <i ><mark style="color: var(--highlight-5);"><strong>too</strong></mark></i >. </li> <li value="6">Real-time code syntax highlighting.</li> <li value="7">Create links by pasting URLs on selected text.</li> <li value="8"> Configurable prompts. Support for mentions and other interactive prompts with multiple loading and filtering strategies. </li> <li value="9">Preview attachments like PDFs and Videos in the editor.</li> <li value="10"> Works seamlessly with Action Text, generating the same canonical HTML format it expects for attachments. </li></ul><pre data-language="css" data-highlight-language="css">body {<br> font-size: 20px;<br>}</pre><figure class="lexxy-content__table-wrapper"> <table> <tbody> <tr> <th class="lexxy-content__table-cell--header"><p>Name</p></th> <th class="lexxy-content__table-cell--header"><p>Age</p></th> </tr> <tr> <td><p>John</p></td> <td><p>25</p></td> </tr> <tr> <td><p>Jane</p></td> <td><p>26</p></td> </tr> </tbody> </table></figure>" class="lexxy-content" data-direct-upload-url="https://csszero.lazaronixon.com/rails/active_storage/direct_uploads" data-blob-url-template="https://csszero.lazaronixon.com/rails/active_storage/blobs/redirect/:signed_id/:filename"></lexxy-editor></form>1
2
3
<%= form_with url: nil, class: "lexxy" do |form| %> <%= rich_text_area_tag "content", render("rich_content"), placeholder: "Write away..." %><% end %>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@import url("https://esm.sh/@37signals/lexxy@0.9.24/dist/stylesheets/lexxy.css");:root { --lexxy-color-ink: var(--color-text); --lexxy-color-ink-medium: var(--color-text-subtle); --lexxy-color-ink-light: var(--color-border-dark); --lexxy-color-ink-lighter: var(--color-border); --lexxy-color-ink-lightest: var(--color-border-light); --lexxy-color-ink-inverted: var(--color-text-reversed); --lexxy-color-accent-dark: var(--color-link); --lexxy-color-accent-medium: var(--lexxy-color-accent-dark); --lexxy-color-accent-light: var(--color-border-light); --lexxy-color-accent-lightest: var(--lexxy-color-accent-light); --lexxy-font-base: var(--font-system-ui); --lexxy-font-mono: var(--font-monospace-code);}:where(lexxy-toolbar) { background: var(--lexxy-color-canvas); border-color: var(--lexxy-color-ink-lighter); border-start-end-radius: .35rem; border-start-start-radius: .35rem; font-size: var(--text-base); line-height: var(--leading-none);}.lexxy-editor__content { outline: 0;}.lexxy-editor__toolbar-button::after { box-sizing: content-box;}.lexxy-code-language-picker { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 19.5c-.7 0-1.3-.3-1.7-.8l-9.8-11.1c-.7-.8-.6-1.9.2-2.6.8-.6 1.9-.6 2.5.2l8.6 9.8c0 .1.2.1.4 0l8.6-9.8c.7-.8 1.8-.9 2.6-.2s.9 1.8.2 2.6l-9.8 11.1c-.4.5-1.1.8-1.7.8z' fill='%23808080'/%3E%3C/svg%3E");}.lexxy--borderless { lexxy-toolbar { border-radius: 0; } lexxy-editor { border-block-end: 0; border-inline: 0; border-radius: 0; }}.lexxy--sticky-toolbar { lexxy-toolbar { inset-block-start: 0; position: sticky; z-index: 10; }}
Java Script is not required or multiple files are needed, check the notes.
No notes provided.