diff --git a/cmd/tclipd/static/css/base.css b/cmd/tclipd/static/css/base.css index 687c004..18f8413 100644 --- a/cmd/tclipd/static/css/base.css +++ b/cmd/tclipd/static/css/base.css @@ -107,7 +107,7 @@ } /* -! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com +! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */ /* @@ -1292,11 +1292,6 @@ select { float: right; } -.mx-4 { - margin-left: 1rem; - margin-right: 1rem; -} - .mx-auto { margin-left: auto; margin-right: auto; @@ -1328,10 +1323,6 @@ select { margin-left: 1.25rem; } -.mt-2 { - margin-top: 0.5rem; -} - .mt-4 { margin-top: 1rem; } @@ -1364,6 +1355,10 @@ select { display: contents; } +.h-8 { + height: 2rem; +} + .min-h-screen { min-height: 100vh; } @@ -1380,10 +1375,6 @@ select { max-width: 100%; } -.max-w-lg { - max-width: 32rem; -} - .max-w-sm { max-width: 24rem; } @@ -1392,6 +1383,10 @@ select { flex: 1 1 0%; } +.cursor-pointer { + cursor: pointer; +} + .list-disc { list-style-type: disc; } @@ -1408,6 +1403,14 @@ select { align-items: center; } +.gap-2 { + gap: 0.5rem; +} + +.self-start { + align-self: flex-start; +} + .rounded { border-radius: 0.25rem; } @@ -1420,8 +1423,8 @@ select { border-radius: 0.75rem; } -.border-0 { - border-width: 0px; +.border { + border-width: 1px; } .border-b { @@ -1432,28 +1435,33 @@ select { border-top-width: 1px; } +.border-blue-500 { + --tw-border-opacity: 1; + border-color: rgba(75, 112, 204, var(--tw-border-opacity, 1)); +} + .border-gray-200 { --tw-border-opacity: 1; - border-color: rgba(238, 235, 234, var(--tw-border-opacity)); + border-color: rgba(238, 235, 234, var(--tw-border-opacity, 1)); } -.bg-gray-100 { +.bg-blue-500 { --tw-bg-opacity: 1; - background-color: rgba(247, 245, 244, var(--tw-bg-opacity)); + background-color: rgba(75, 112, 204, var(--tw-bg-opacity, 1)); } -.bg-gray-600 { +.bg-gray-100 { --tw-bg-opacity: 1; - background-color: rgba(68, 67, 66, var(--tw-bg-opacity)); + background-color: rgba(247, 245, 244, var(--tw-bg-opacity, 1)); } .p-4 { padding: 1rem; } -.px-2 { - padding-left: 0.5rem; - padding-right: 0.5rem; +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; } .px-4 { @@ -1484,10 +1492,22 @@ select { padding-bottom: 0.5rem; } +.pt-2 { + padding-top: 0.5rem; +} + +.pt-3 { + padding-top: 0.75rem; +} + .pt-4 { padding-top: 1rem; } +.pt-5 { + padding-top: 1.25rem; +} + .text-right { text-align: right; } @@ -1527,14 +1547,19 @@ select { line-height: 1.5rem; } -.text-gray-900 { +.text-gray-100 { --tw-text-opacity: 1; - color: rgba(31, 30, 30, var(--tw-text-opacity)); + color: rgba(247, 245, 244, var(--tw-text-opacity, 1)); } -.text-white { +.text-gray-200 { --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); + color: rgba(238, 235, 234, var(--tw-text-opacity, 1)); +} + +.text-gray-900 { + --tw-text-opacity: 1; + color: rgba(31, 30, 30, var(--tw-text-opacity, 1)); } .underline { @@ -1547,39 +1572,55 @@ select { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } -.ring-1 { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +@media (prefers-color-scheme: dark) { + .dark\:prose-invert { + --tw-prose-body: var(--tw-prose-invert-body); + --tw-prose-headings: var(--tw-prose-invert-headings); + --tw-prose-lead: var(--tw-prose-invert-lead); + --tw-prose-links: var(--tw-prose-invert-links); + --tw-prose-bold: var(--tw-prose-invert-bold); + --tw-prose-counters: var(--tw-prose-invert-counters); + --tw-prose-bullets: var(--tw-prose-invert-bullets); + --tw-prose-hr: var(--tw-prose-invert-hr); + --tw-prose-quotes: var(--tw-prose-invert-quotes); + --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders); + --tw-prose-captions: var(--tw-prose-invert-captions); + --tw-prose-kbd: var(--tw-prose-invert-kbd); + --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows); + --tw-prose-code: var(--tw-prose-invert-code); + --tw-prose-pre-code: var(--tw-prose-invert-pre-code); + --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg); + --tw-prose-th-borders: var(--tw-prose-invert-th-borders); + --tw-prose-td-borders: var(--tw-prose-invert-td-borders); + } } -.ring-inset { - --tw-ring-inset: inset; +.marker\:text-gray-700 *::marker { + color: rgba(46, 45, 45, var(--tw-text-opacity, 1)); } -.ring-gray-300 { - --tw-ring-opacity: 1; - --tw-ring-color: rgba(218, 214, 213, var(--tw-ring-opacity)); +.marker\:text-gray-700::marker { + color: rgba(46, 45, 45, var(--tw-text-opacity, 1)); } .placeholder\:text-gray-400::-moz-placeholder { --tw-text-opacity: 1; - color: rgba(175, 172, 171, var(--tw-text-opacity)); + color: rgba(175, 172, 171, var(--tw-text-opacity, 1)); } .placeholder\:text-gray-400::placeholder { --tw-text-opacity: 1; - color: rgba(175, 172, 171, var(--tw-text-opacity)); + color: rgba(175, 172, 171, var(--tw-text-opacity, 1)); } -.hover\:bg-gray-500:hover { +.hover\:bg-blue-600:hover { --tw-bg-opacity: 1; - background-color: rgba(112, 110, 109, var(--tw-bg-opacity)); + background-color: rgba(63, 93, 179, var(--tw-bg-opacity, 1)); } .hover\:text-gray-500:hover { --tw-text-opacity: 1; - color: rgba(112, 110, 109, var(--tw-text-opacity)); + color: rgba(112, 110, 109, var(--tw-text-opacity, 1)); } .focus\:ring-2:focus { @@ -1592,6 +1633,11 @@ select { --tw-ring-inset: inset; } +.focus-visible\:bg-blue-600:focus-visible { + --tw-bg-opacity: 1; + background-color: rgba(63, 93, 179, var(--tw-bg-opacity, 1)); +} + .focus-visible\:outline:focus-visible { outline-style: solid; } @@ -1604,10 +1650,6 @@ select { outline-offset: 2px; } -.focus-visible\:outline-gray-600:focus-visible { - outline-color: rgba(68, 67, 66); -} - @media (min-width: 640px) { .sm\:text-sm { font-size: 0.875rem; @@ -1617,4 +1659,74 @@ select { .sm\:leading-6 { line-height: 1.5rem; } +} + +@media (prefers-color-scheme: dark) { + .dark\:border-blue-600 { + --tw-border-opacity: 1; + border-color: rgba(63, 93, 179, var(--tw-border-opacity, 1)); + } + + .dark\:border-gray-500 { + --tw-border-opacity: 1; + border-color: rgba(112, 110, 109, var(--tw-border-opacity, 1)); + } + + .dark\:border-gray-700 { + --tw-border-opacity: 1; + border-color: rgba(46, 45, 45, var(--tw-border-opacity, 1)); + } + + .dark\:bg-bg-app { + --tw-bg-opacity: 1; + background-color: rgba(24, 23, 23, var(--tw-bg-opacity, 1)); + } + + .dark\:bg-blue-600 { + --tw-bg-opacity: 1; + background-color: rgba(63, 93, 179, var(--tw-bg-opacity, 1)); + } + + .dark\:bg-gray-900 { + --tw-bg-opacity: 1; + background-color: rgba(31, 30, 30, var(--tw-bg-opacity, 1)); + } + + .dark\:text-gray-200 { + --tw-text-opacity: 1; + color: rgba(238, 235, 234, var(--tw-text-opacity, 1)); + } + + .dark\:text-gray-300 { + --tw-text-opacity: 1; + color: rgba(218, 214, 213, var(--tw-text-opacity, 1)); + } + + .dark\:marker\:text-gray-300 *::marker { + color: rgba(218, 214, 213, var(--tw-text-opacity, 1)); + } + + .dark\:marker\:text-gray-300::marker { + color: rgba(218, 214, 213, var(--tw-text-opacity, 1)); + } + + .dark\:hover\:bg-blue-500:hover { + --tw-bg-opacity: 1; + background-color: rgba(75, 112, 204, var(--tw-bg-opacity, 1)); + } + + .dark\:hover\:text-gray-100:hover { + --tw-text-opacity: 1; + color: rgba(247, 245, 244, var(--tw-text-opacity, 1)); + } + + .dark\:hover\:text-gray-300:hover { + --tw-text-opacity: 1; + color: rgba(218, 214, 213, var(--tw-text-opacity, 1)); + } + + .dark\:focus-visible\:bg-blue-500:focus-visible { + --tw-bg-opacity: 1; + background-color: rgba(75, 112, 204, var(--tw-bg-opacity, 1)); + } } \ No newline at end of file diff --git a/cmd/tclipd/static/css/prism-dark.css b/cmd/tclipd/static/css/prism-dark.css new file mode 100644 index 0000000..e7b28db --- /dev/null +++ b/cmd/tclipd/static/css/prism-dark.css @@ -0,0 +1,4 @@ +/* PrismJS 1.30.0 +https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apex+apl+applescript+aql+arduino+arff+armasm+arturo+asciidoc+aspnet+asm6502+asmatmel+autohotkey+autoit+avisynth+avro-idl+awk+bash+basic+batch+bbcode+bbj+bicep+birb+bison+bnf+bqn+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cfscript+chaiscript+cil+cilkc+cilkcpp+clojure+cmake+cobol+coffeescript+concurnas+csp+cooklang+coq+crystal+css-extras+csv+cue+cypher+d+dart+dataweave+dax+dhall+diff+django+dns-zone-file+docker+dot+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+false+firestore-security-rules+flow+fortran+ftl+gml+gap+gcode+gdscript+gedcom+gettext+gherkin+git+glsl+gn+linker-script+go+go-module+gradle+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+hoon+http+hpkp+hsts+ichigojam+icon+icu-message-format+idris+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jexl+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keepalived+keyman+kotlin+kumir+kusto+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+log+lolcode+lua+magma+makefile+markdown+markup-templating+mata+matlab+maxscript+mel+mermaid+metafont+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nevod+nginx+nim+nix+nsis+objectivec+ocaml+odin+opencl+openqasm+oz+parigp+parser+pascal+pascaligo+psl+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plant-uml+plsql+powerquery+powershell+processing+prolog+promql+properties+protobuf+pug+puppet+pure+purebasic+purescript+python+qsharp+q+qml+qore+r+racket+cshtml+jsx+tsx+reason+regex+rego+renpy+rescript+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+sml+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+squirrel+stan+stata+iecst+stylus+supercollider+swift+systemd+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+tremor+turtle+twig+typescript+typoscript+unrealscript+uorazor+uri+v+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+web-idl+wgsl+wiki+wolfram+wren+xeora+xml-doc+xojo+xquery+yaml+yang+zig&plugins=line-numbers */ +code[class*=language-],pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green} +pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right} diff --git a/cmd/tclipd/tmpl/base.html b/cmd/tclipd/tmpl/base.html index 65c1cd1..ceb4777 100644 --- a/cmd/tclipd/tmpl/base.html +++ b/cmd/tclipd/tmpl/base.html @@ -1,49 +1,78 @@ {{define "header"}} - - {{.Title}} - - - - - - -
-
-

tclip/

- A private pastebin for your tailnet - -
+ + + {{.Title}} + + + + + + + + +
+
+

tclip/

+ A private pastebin for your tailnet + +
+
+ +
+

{{.Title}}

+ {{end}} + + {{define "footer"}} +
+ + + + -{{end}} +{{end}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/create.html b/cmd/tclipd/tmpl/create.html index e4f113f..413a85e 100644 --- a/cmd/tclipd/tmpl/create.html +++ b/cmd/tclipd/tmpl/create.html @@ -1,29 +1,43 @@ {{template "header" .}} +
- -
-
- -
- +
+ +
+ +
+ +
+ +
-
- + + -
-{{if len .RecentPastes | eq 0}} -

There are no pastes in the list. Create one to share with your team!

-{{else}} -

Recent pastes

-
    - {{range .RecentPastes}} -
  • {{.Filename}} - {{.CreatedAt}} - {{.PasterDisplayName}}
  • - {{end}} -
+
+ {{if len .RecentPastes | eq 0}} +

There are no pastes in the list. Create one to share with your team!

+ {{else}} +

Recent pastes

+
    + {{range .RecentPastes}} +
  • + {{.Filename}} - {{.CreatedAt}} - {{.PasterDisplayName}} +
  • + {{end}} +
+ + See all pastes -

See all pastes

-{{end}} + {{end}}
-{{template "footer" .}} +{{template "footer" .}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/error.html b/cmd/tclipd/tmpl/error.html index 52cd196..417beeb 100644 --- a/cmd/tclipd/tmpl/error.html +++ b/cmd/tclipd/tmpl/error.html @@ -1,10 +1,23 @@ {{template "header" .}} -

Oh noes! There was an error when trying to do this thing:

-
-{{.Error}}
-
+
+

There was an error while trying to resolve your request.

-

This is almost certainly not what was anticipated, and if you think you are seeing this in error, please contact your administrator or Tailscale support for help with the program itself.

+

+ If you think you are seeing this in error, please contact your administrator or Tailscale support for help with + the program itself. +

-{{template "footer" .}} + +
+

Relevant logs:

+ + +
+            {{.Error}}
+        
+
+
+ +
+{{template "footer" .}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/fancypost.html b/cmd/tclipd/tmpl/fancypost.html index 917d5a0..0a63382 100644 --- a/cmd/tclipd/tmpl/fancypost.html +++ b/cmd/tclipd/tmpl/fancypost.html @@ -1,42 +1,45 @@ - - {{.Title}} - - - - - + + + + +
+
+ {{.RawHTML}} +
+
+ - img { - max-width: 100%; - } - - - - -
-
- {{.RawHTML}} -
-
- - + \ No newline at end of file diff --git a/cmd/tclipd/tmpl/help.html b/cmd/tclipd/tmpl/help.html index d215d20..6044ef4 100644 --- a/cmd/tclipd/tmpl/help.html +++ b/cmd/tclipd/tmpl/help.html @@ -1,64 +1,114 @@ {{template "header" .}} -
-

Never seen this service before? Want to know how to use it? This page will help you learn more about your tailnet's pastebin tool.

- +
+

+ Never seen this service before? Want to know how to use it? This page will help you learn more about your + tailnet's pastebin tool. +

-

Command-line tool

+
    +
  • Command-line tool
  • -

    You can pipe commands or paste files to the pastebin using the command tclip. You can install it by installing the Go compiler toolkit and then running this command:

    +
  • + API + +
  • +
-
go install github.com/tailscale-dev/tclip/cmd/tclip@main
+

Command-line tool

-

Once it is installed, invoke it with the command tclip:

+

+ You can pipe commands or paste files to the pastebin using the command tclip. -

tclip ./foo.txt
+ You can install it by installing the Go compiler + toolkit and then running this command: +

-

and the program will print a URL that you can share with your team. You can also pipe the output from any command to it:

+
go install github.com/tailscale-dev/tclip/cmd/tclip@main
-
go test &2<1 | tclip -n go-test.txt
+

Once it is installed, invoke it with the command tclip:

-

API

+
tclip ./foo.txt
-

The pastebin service has an API call at /api/post that you can use to submit new pastes from command-line tools or your text editor. You use it by constructing either a basic HTML form post or a multipart form with these fields (both are required):

+

+ and the program will print a URL that you can share with your team. You can also pipe the output from any + command to it: +

- - - - - - - - - - - - - -
NameDescription
filenameThe name of the file you want to paste.
The file extension of the name will determine the syntax highlighting for that paste.
contentThe literal content of the paste.
This can be a function, a bit of prose, or an entire buffer of text.
+
go test &2<1 | tclip -n go-test.txt
-

The Accept header will determine what kind of response you get. By default, this service will return a redirect to the paste upon pastes being successfully created. If you do not want this behavior (such as if you are implementing support for your favorite text editor or testing with curl), set the Accept header to the value text/plain. This will make the server return the paste URL as normal text.

+

API

-

Here is an example curl command you can use to paste data to the service:

+

+ The pastebin service has an API call at /api/post that you can use to submit new pastes from + command-line tools or your text editor. You use it by constructing either a basic HTML form post or a multipart + form with these fields (both are required): +

-
curl http://paste/api/post -F filename=filename.txt -F content="test paste from curl" -H "Accept: text/plain"
+ + + + + -

Emacs package

+ + + + -

The default distribution of tclip ships with a package for GNU Emacs. This package will let you submit pastes from your editor. It requires the request package and exposes two interactive functions:

+ + + + +
NameDescription
filenameThe name of the file you want to paste.
The file extension of the name will determine the syntax + highlighting for that paste.
contentThe literal content of the paste.
This can be a function, a bit of prose, or an entire buffer of + text.
-
    -
  • M-x tclip-submit-region - submits the currently highlighted region to tclip
  • -
  • M-x tclip-submit-buffer - submits the contents of the current buffer to tclip
  • -
+

+ The Accept header will determine what kind of response you get. -

You can download this package from the tclip repository. You can install it by using M-x package-install-file or by opening it in Emacs and running M-x package-install-from-buffer. Please be sure that request is installed.

+ By default, this service will return a redirect to the paste upon pastes being successfully created. + + If you do not want this behavior (such as if you are implementing support for your favorite text editor or + testing with curl), set the Accept header to the value text/plain. + + This will make the server return the paste URL as normal text. +

+ +

Here is an example curl command you can use to paste data to the service:

+ +
curl http://paste/api/post -F filename=filename.txt -F content="test paste from curl" -H "Accept: text/plain"
+ +

Emacs package

+ +

+ The default distribution of tclip ships with a package for + GNU + Emacs. + + This package will let you submit pastes from your editor. It requires the + request package + and exposes two interactive functions: +

+ +
    +
  • M-x tclip-submit-region - submits the currently highlighted region to tclip
  • +
  • M-x tclip-submit-buffer - submits the contents of the current buffer to tclip
  • +
+ +

+ You can download this package + from the + tclip repository. + + You can install it by using M-x package-install-file or by opening it in Emacs and running + M-x package-install-from-buffer. Please be sure that request is installed. +

-{{template "footer" .}} + +{{template "footer" .}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/listpaste.html b/cmd/tclipd/tmpl/listpaste.html index 01041df..d6dc834 100644 --- a/cmd/tclipd/tmpl/listpaste.html +++ b/cmd/tclipd/tmpl/listpaste.html @@ -2,10 +2,21 @@
    {{range .Pastes}} -
  • {{.Filename}} - {{.CreatedAt}} - {{.PasterDisplayName}}
  • +
  • + {{.Filename}} - {{.CreatedAt}} - {{.PasterDisplayName}} +
  • {{end}}
-

{{if .Prev}}Prev - {{end}} Page {{.Page}} {{if .Next}} - Next{{end}}

+

+ {{if .Prev}} + Prev - {{end}} Page {{.Page}} {{if .Next}} + - + Next + {{end}} +

-{{template "footer" .}} +{{template "footer" .}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/nopastes.html b/cmd/tclipd/tmpl/nopastes.html index c7374d0..fa87d0f 100644 --- a/cmd/tclipd/tmpl/nopastes.html +++ b/cmd/tclipd/tmpl/nopastes.html @@ -1,5 +1,9 @@ {{template "header" .}} -

There are no pastes in the list. Try creating some!

+

+ There are no pastes in the list. -{{template "footer" .}} + Try creating some! +

+ +{{template "footer" .}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/notfound.html b/cmd/tclipd/tmpl/notfound.html index 78b77bf..11f0b1d 100644 --- a/cmd/tclipd/tmpl/notfound.html +++ b/cmd/tclipd/tmpl/notfound.html @@ -1,3 +1,9 @@ {{template "header" .}} -

The URL you requested could not be found. Please check your URL and hang up to try your call again.

-{{template "footer" .}} + +

+ The URL you requested could not be found. + + Please check your URL and hang up to try your call again. +

+ +{{template "footer" .}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/pastecreated.html b/cmd/tclipd/tmpl/pastecreated.html index ed87806..ea1fab7 100644 --- a/cmd/tclipd/tmpl/pastecreated.html +++ b/cmd/tclipd/tmpl/pastecreated.html @@ -1,8 +1,11 @@ {{template "header" .}} -
+
+ +
Your new paste has been created! Permalink -{{template "footer" .}} + +{{template "footer" .}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/publicindex.html b/cmd/tclipd/tmpl/publicindex.html index b5bb4ea..a0d39b2 100644 --- a/cmd/tclipd/tmpl/publicindex.html +++ b/cmd/tclipd/tmpl/publicindex.html @@ -1,7 +1,12 @@ {{template "header" .}} -
-

Hello! You have connected to a private pastebin run by a Tailscale user.

-

If this is your tailnet and you are not expecting to see this page, please connect to your tailnet and try your query again.

+
+

Hello! You have connected to a private pastebin run by a Tailscale user.

+ +

+ If this is your tailnet and you are not expecting to see this page, please connect to your tailnet and try + your query again. +

-{{template "footer" .}} + +{{template "footer" .}} \ No newline at end of file diff --git a/cmd/tclipd/tmpl/showpaste.html b/cmd/tclipd/tmpl/showpaste.html index 6287fd9..1849afe 100644 --- a/cmd/tclipd/tmpl/showpaste.html +++ b/cmd/tclipd/tmpl/showpaste.html @@ -1,42 +1,77 @@ {{template "header" .}} {{if .UserInfo}} {{if ne .PasterUserID .UserID}} -
{{.PasterDisplayName}} {{if ne .PasterProfilePicURL ""}}{{end}}
+
+ {{.PasterDisplayName}} + + {{if ne .PasterProfilePicURL ""}} + + {{end}} +
{{end}} {{else if .DisplayUser}} -
{{.PasterDisplayName}} {{if ne .PasterProfilePicURL ""}}{{end}}
+
+ {{.PasterDisplayName}} + + {{if ne .PasterProfilePicURL ""}} + + {{end}} +
{{end}} -

Created at {{.CreatedAt}}

+

Created at {{.CreatedAt}}

{{if .RawHTML}} -
-{{.RawHTML}} -
+
{{.RawHTML}}
{{else}} -
-
{{.Data}}
-
+
+
{{.Data}}

{{end}} -Permalink - Download - Raw{{if .RawHTML}} - Fancy{{end}}{{if eq .UserID .PasterUserID}} - Delete{{end}} + + Permalink + + - + + Download + + - + Raw + + {{if .RawHTML}} + - + Fancy + {{end}} + + {{if eq .UserID .PasterUserID}} + - + Delete + {{end}} + -{{template "footer" .}} +{{template "footer" .}} \ No newline at end of file diff --git a/package.json b/package.json index 2674997..84bdf7a 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "build:css": "tailwindcss -o cmd/tclipd/static/css/base.css" }, "dependencies": { - "@tailwindcss/forms": "^0.5.7", - "@tailwindcss/typography": "^0.5.13", - "tailwindcss": "^3.4.5" + "@tailwindcss/forms": "^0.5.10", + "@tailwindcss/typography": "^0.5.16", + "tailwindcss": "^3.4.17" } } diff --git a/tailwind.config.js b/tailwind.config.js index 7be3358..f7a4654 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,67 +1,67 @@ -module.exports = { - content: ["./cmd/tclipd/tmpl/*.html"], - theme: { - colors: { - blue: { - 0: "rgba(240, 245, 255)", - 50: "rgba(206, 222, 253)", - 100: "rgba(173, 199, 252)", - 200: "rgba(133, 170, 245)", - 300: "rgba(108, 148, 236)", - 400: "rgba(90, 130, 222)", - 500: "rgba(75, 112, 204)", - 600: "rgba(63, 93, 179)", - 700: "rgba(50, 73, 148)", - 800: "rgba(37, 53, 112)", - 900: "rgba(25, 34, 74)", - }, - gray: { - 0: "rgba(250, 249, 248)", - 50: "rgba(249, 247, 246)", - 100: "rgba(247, 245, 244)", - 200: "rgba(238, 235, 234)", - 300: "rgba(218, 214, 213)", - 400: "rgba(175, 172, 171)", - 500: "rgba(112, 110, 109)", - 600: "rgba(68, 67, 66)", - 700: "rgba(46, 45, 45)", - 800: "rgba(35, 34, 34)", - 900: "rgba(31, 30, 30)", - }, - red: { - 0: "rgba(255, 246, 244)", - 50: "rgba(255, 211, 207)", - 100: "rgba(255, 177, 171)", - 200: "rgba(246, 143, 135)", - 300: "rgba(228, 108, 99)", - 400: "rgba(208, 72, 65)", - 500: "rgba(178, 45, 48)", - 600: "rgba(148, 8, 33)", - 700: "rgba(118, 0, 18)", - 800: "rgba(90, 0, 0)", - 900: "rgba(66, 0, 0)", - }, - white: '#fff', - current: 'currentColor', +import forms from "@tailwindcss/forms" +import typography from "@tailwindcss/typography" + +export default { + content: ["./cmd/tclipd/tmpl/*.html"], + theme: { + colors: { + "bg-app": "rgba(24, 23, 23)", + blue: { + 0: "rgba(240, 245, 255)", + 50: "rgba(206, 222, 253)", + 100: "rgba(173, 199, 252)", + 200: "rgba(133, 170, 245)", + 300: "rgba(108, 148, 236)", + 400: "rgba(90, 130, 222)", + 500: "rgba(75, 112, 204)", + 600: "rgba(63, 93, 179)", + 700: "rgba(50, 73, 148)", + 800: "rgba(37, 53, 112)", + 900: "rgba(25, 34, 74)", + }, + gray: { + 0: "rgba(250, 249, 248)", + 50: "rgba(249, 247, 246)", + 100: "rgba(247, 245, 244)", + 200: "rgba(238, 235, 234)", + 300: "rgba(218, 214, 213)", + 400: "rgba(175, 172, 171)", + 500: "rgba(112, 110, 109)", + 600: "rgba(68, 67, 66)", + 700: "rgba(46, 45, 45)", + 800: "rgba(35, 34, 34)", + 900: "rgba(31, 30, 30)", }, - extend: { - typography: { - DEFAULT: { - css: { - 'code::before': { - 'content': '', - }, - 'code::after': { - 'content': '', - }, + red: { + 0: "rgba(255, 246, 244)", + 50: "rgba(255, 211, 207)", + 100: "rgba(255, 177, 171)", + 200: "rgba(246, 143, 135)", + 300: "rgba(228, 108, 99)", + 400: "rgba(208, 72, 65)", + 500: "rgba(178, 45, 48)", + 600: "rgba(148, 8, 33)", + 700: "rgba(118, 0, 18)", + 800: "rgba(90, 0, 0)", + 900: "rgba(66, 0, 0)", + }, + white: "#fff", + current: "currentColor", + }, + extend: { + typography: { + DEFAULT: { + css: { + "code::before": { + content: "", + }, + "code::after": { + content: "", }, }, }, }, }, - plugins: [ - require('@tailwindcss/forms'), - require('@tailwindcss/typography'), - ], - } - \ No newline at end of file + }, + plugins: [forms, typography], +} diff --git a/yarn.lock b/yarn.lock index e487cd7..c3e4674 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,9 +20,9 @@ wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" "@jridgewell/gen-mapping@^0.3.2": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -78,16 +78,16 @@ integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== "@tailwindcss/forms@^0.5.7": - version "0.5.9" - resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.9.tgz#b495c12575d6eae5865b2cbd9876b26d89f16f61" - integrity sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg== + version "0.5.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.10.tgz#0a1cd67b6933402f1985a04595bd24f9785aa302" + integrity sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw== dependencies: mini-svg-data-uri "^1.2.3" "@tailwindcss/typography@^0.5.13": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.15.tgz#007ab9870c86082a1c76e5b3feda9392c7c8d648" - integrity sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA== + version "0.5.16" + resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.16.tgz#a926c8f44d5c439b2915e231cad80058850047c6" + integrity sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA== dependencies: lodash.castarray "^4.4.0" lodash.isplainobject "^4.0.6" @@ -163,7 +163,7 @@ camelcase-css@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -chokidar@^3.5.3: +chokidar@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -195,7 +195,7 @@ commander@^4.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -cross-spawn@^7.0.0: +cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -234,21 +234,21 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== +fast-glob@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" @@ -260,11 +260,11 @@ fill-range@^7.1.1: to-regex-range "^5.0.1" foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.6" signal-exit "^4.0.1" fsevents@~2.3.2: @@ -317,10 +317,10 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-core-module@^2.13.0: - version "2.15.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: hasown "^2.0.2" @@ -360,20 +360,15 @@ jackspeak@^3.1.2: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -jiti@^1.21.0: - version "1.21.6" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== - -lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +jiti@^1.21.6: + version "1.21.7" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== -lilconfig@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" - integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== +lilconfig@^3.0.0, lilconfig@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" @@ -405,7 +400,7 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -439,10 +434,10 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.7: - version "3.3.8" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" - integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== +nanoid@^3.3.8: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -482,7 +477,7 @@ path-scurry@^1.11.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -picocolors@^1.0.0, picocolors@^1.1.0: +picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -518,7 +513,7 @@ postcss-js@^4.0.1: dependencies: camelcase-css "^2.0.1" -postcss-load-config@^4.0.1: +postcss-load-config@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== @@ -526,7 +521,7 @@ postcss-load-config@^4.0.1: lilconfig "^3.0.0" yaml "^2.3.4" -postcss-nested@^6.0.1: +postcss-nested@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== @@ -541,7 +536,7 @@ postcss-selector-parser@6.0.10: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.1.1: +postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: version "6.1.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== @@ -554,13 +549,13 @@ postcss-value-parser@^4.0.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.23: - version "8.4.47" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== +postcss@^8.4.47: + version "8.5.3" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== dependencies: - nanoid "^3.3.7" - picocolors "^1.1.0" + nanoid "^3.3.8" + picocolors "^1.1.1" source-map-js "^1.2.1" queue-microtask@^1.2.2: @@ -582,19 +577,19 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -resolve@^1.1.7, resolve@^1.22.2: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== +resolve@^1.1.7, resolve@^1.22.8: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== run-parallel@^1.1.9: version "1.2.0" @@ -673,7 +668,7 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -sucrase@^3.32.0: +sucrase@^3.35.0: version "3.35.0" resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== @@ -692,32 +687,32 @@ supports-preserve-symlinks-flag@^1.0.0: integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== tailwindcss@^3.4.5: - version "3.4.14" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.14.tgz#6dd23a7f54ec197b19159e91e3bb1e55e7aa73ac" - integrity sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA== + version "3.4.17" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.17.tgz#ae8406c0f96696a631c790768ff319d46d5e5a63" + integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" - chokidar "^3.5.3" + chokidar "^3.6.0" didyoumean "^1.2.2" dlv "^1.1.3" - fast-glob "^3.3.0" + fast-glob "^3.3.2" glob-parent "^6.0.2" is-glob "^4.0.3" - jiti "^1.21.0" - lilconfig "^2.1.0" - micromatch "^4.0.5" + jiti "^1.21.6" + lilconfig "^3.1.3" + micromatch "^4.0.8" normalize-path "^3.0.0" object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" + picocolors "^1.1.1" + postcss "^8.4.47" postcss-import "^15.1.0" postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" + postcss-load-config "^4.0.2" + postcss-nested "^6.2.0" + postcss-selector-parser "^6.1.2" + resolve "^1.22.8" + sucrase "^3.35.0" thenify-all@^1.0.0: version "1.6.0" @@ -776,6 +771,6 @@ wrap-ansi@^8.1.0: strip-ansi "^7.0.1" yaml@^2.3.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.0.tgz#14059ad9d0b1680d0f04d3a60fe00f3a857303c3" - integrity sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ== + version "2.7.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.0.tgz#aef9bb617a64c937a9a748803786ad8d3ffe1e98" + integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==