From 2d125a3e1d671bf4ffe8238670872c71f653dc2d Mon Sep 17 00:00:00 2001 From: Anson Date: Thu, 22 May 2025 23:18:07 -0600 Subject: [PATCH] Import website --- .gitlab-ci.yml | 13 ++ website/.gitignore | 1 + website/LICENSE | 21 ++ website/css/mvp.css | 448 ++++++++++++++++++++++++++++++++++++++ website/favicon-16x16.png | Bin 0 -> 919 bytes website/favicon-32x32.png | Bin 0 -> 3225 bytes website/favicon.ico | Bin 0 -> 5430 bytes website/index.html | 300 +++++++++++++++++++++++++ website/js/index.js | 16 ++ website/plain.html | 80 +++++++ 10 files changed, 879 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 website/.gitignore create mode 100644 website/LICENSE create mode 100644 website/css/mvp.css create mode 100644 website/favicon-16x16.png create mode 100644 website/favicon-32x32.png create mode 100644 website/favicon.ico create mode 100644 website/index.html create mode 100644 website/js/index.js create mode 100644 website/plain.html diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..e4ef3e7 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,13 @@ +# This file is a template, and might need editing before it works on your project. +# Full project: https://gitlab.com/pages/plain-html +pages: + stage: deploy + script: + - mkdir public + - cp -r cp -r website/* public/ + - mv .public public + artifacts: + paths: + - public + only: + - main diff --git a/website/.gitignore b/website/.gitignore new file mode 100644 index 0000000..600d2d3 --- /dev/null +++ b/website/.gitignore @@ -0,0 +1 @@ +.vscode \ No newline at end of file diff --git a/website/LICENSE b/website/LICENSE new file mode 100644 index 0000000..2a6a69b --- /dev/null +++ b/website/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 2 Chainz Rest API + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/website/css/mvp.css b/website/css/mvp.css new file mode 100644 index 0000000..f7e4e05 --- /dev/null +++ b/website/css/mvp.css @@ -0,0 +1,448 @@ +/* MVP.css v1.6.2 - https://github.com/andybrewer/mvp */ + +:root { + --border-radius: 5px; + --box-shadow: 2px 2px 10px; + --color: #118bee; + --color-accent: #118bee15; + --color-bg: #fff; + --color-bg-secondary: #e9e9e9; + --color-secondary: #920de9; + --color-secondary-accent: #920de90b; + --color-shadow: #f4f4f4; + --color-text: #000; + --color-text-secondary: #999; + --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + --hover-brightness: 1.2; + --justify-important: center; + --justify-normal: left; + --line-height: 1.5; + --width-card: 285px; + --width-card-medium: 460px; + --width-card-wide: 800px; + --width-content: 1080px; +} + +/* +@media (prefers-color-scheme: dark) { + :root { + --color: #0097fc; + --color-accent: #0097fc4f; + --color-bg: #333; + --color-bg-secondary: #555; + --color-secondary: #e20de9; + --color-secondary-accent: #e20de94f; + --color-shadow: #bbbbbb20; + --color-text: #f7f7f7; + --color-text-secondary: #aaa; + } +} +*/ + +/* Layout */ +article aside { + background: var(--color-secondary-accent); + border-left: 4px solid var(--color-secondary); + padding: 0.01rem 0.8rem; +} + +body { + background: var(--color-bg); + color: var(--color-text); + font-family: var(--font-family); + line-height: var(--line-height); + margin: 0; + overflow-x: hidden; + padding: 1rem 0; +} + +footer, +header, +main { + margin: 0 auto; + max-width: var(--width-content); + padding: 2rem 1rem; +} + +hr { + background-color: var(--color-bg-secondary); + border: none; + height: 1px; + margin: 4rem 0; +} + +section { + display: flex; + flex-wrap: wrap; + justify-content: var(--justify-important); +} + +section aside { + border: 1px solid var(--color-bg-secondary); + border-radius: var(--border-radius); + box-shadow: var(--box-shadow) var(--color-shadow); + margin: 1rem; + padding: 1.25rem; + width: var(--width-card); +} + +section aside:hover { + box-shadow: var(--box-shadow) var(--color-bg-secondary); +} + +section aside img { + max-width: 100%; +} + +[hidden] { + display: none; +} + +/* Headers */ +article header, +div header, +main header { + padding-top: 0; +} + +header { + text-align: var(--justify-important); +} + +header a b, +header a em, +header a i, +header a strong { + margin-left: 0.5rem; + margin-right: 0.5rem; +} + +header nav img { + margin: 1rem 0; +} + +section header { + padding-top: 0; + width: 100%; +} + +/* Nav */ +nav { + align-items: center; + display: flex; + font-weight: bold; + justify-content: space-between; + margin-bottom: 7rem; +} + +nav ul { + list-style: none; + padding: 0; +} + +nav ul li { + display: inline-block; + margin: 0 0.5rem; + position: relative; + text-align: left; +} + +/* Nav Dropdown */ +nav ul li:hover ul { + display: block; +} + +nav ul li ul { + background: var(--color-bg); + border: 1px solid var(--color-bg-secondary); + border-radius: var(--border-radius); + box-shadow: var(--box-shadow) var(--color-shadow); + display: none; + height: auto; + left: -2px; + padding: .5rem 1rem; + position: absolute; + top: 1.7rem; + white-space: nowrap; + width: auto; +} + +nav ul li ul li, +nav ul li ul li a { + display: block; +} + +/* Typography */ +code, +samp { + background-color: var(--color-accent); + border-radius: var(--border-radius); + color: var(--color-text); + display: inline-block; + margin: 0 0.1rem; + padding: 0 0.5rem; +} + +details { + margin: 1.3rem 0; +} + +details summary { + font-weight: bold; + cursor: pointer; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: var(--line-height); +} + +mark { + padding: 0.1rem; +} + +ol li, +ul li { + padding: 0.2rem 0; +} + +p { + margin: 0.75rem 0; + padding: 0; +} + +pre { + margin: 1rem 0; + max-width: var(--width-card-wide); + padding: 1rem 0; +} + +pre code, +pre samp { + display: block; + max-width: var(--width-card-wide); + padding: 0.5rem 2rem; + white-space: pre-wrap; +} + +small { + color: var(--color-text-secondary); +} + +sup { + background-color: var(--color-secondary); + border-radius: var(--border-radius); + color: var(--color-bg); + font-size: xx-small; + font-weight: bold; + margin: 0.2rem; + padding: 0.2rem 0.3rem; + position: relative; + top: -2px; +} + +/* Links */ +a { + color: var(--color-secondary); + display: inline-block; + font-weight: bold; + text-decoration: none; +} + +a:hover { + filter: brightness(var(--hover-brightness)); + text-decoration: underline; +} + +a b, +a em, +a i, +a strong, +button { + border-radius: var(--border-radius); + display: inline-block; + font-size: medium; + font-weight: bold; + line-height: var(--line-height); + margin: 0.5rem 0; + padding: 1rem 2rem; +} + +button { + font-family: var(--font-family); +} + +button:hover { + cursor: pointer; + filter: brightness(var(--hover-brightness)); +} + +a b, +a strong, +button { + background-color: var(--color); + border: 2px solid var(--color); + color: var(--color-bg); +} + +a em, +a i { + border: 2px solid var(--color); + border-radius: var(--border-radius); + color: var(--color); + display: inline-block; + padding: 1rem 2rem; +} + +/* Images */ +figure { + margin: 0; + padding: 0; +} + +figure img { + max-width: 100%; +} + +figure figcaption { + color: var(--color-text-secondary); +} + +/* Forms */ + +button:disabled, +input:disabled { + background: var(--color-bg-secondary); + border-color: var(--color-bg-secondary); + color: var(--color-text-secondary); + cursor: not-allowed; +} + +button[disabled]:hover { + filter: none; +} + +form { + border: 1px solid var(--color-bg-secondary); + border-radius: var(--border-radius); + box-shadow: var(--box-shadow) var(--color-shadow); + display: block; + max-width: var(--width-card-wide); + min-width: var(--width-card); + padding: 1.5rem; + text-align: var(--justify-normal); +} + +form header { + margin: 1.5rem 0; + padding: 1.5rem 0; +} + +input, +label, +select, +textarea { + display: block; + font-size: inherit; + max-width: var(--width-card-wide); +} + +input[type="checkbox"], +input[type="radio"] { + display: inline-block; +} + +input[type="checkbox"]+label, +input[type="radio"]+label { + display: inline-block; + font-weight: normal; + position: relative; + top: 1px; +} + +input, +select, +textarea { + border: 1px solid var(--color-bg-secondary); + border-radius: var(--border-radius); + margin-bottom: 1rem; + padding: 0.4rem 0.8rem; +} + +input[readonly], +textarea[readonly] { + background-color: var(--color-bg-secondary); +} + +label { + font-weight: bold; + margin-bottom: 0.2rem; +} + +/* Tables */ +table { + border: 1px solid var(--color-bg-secondary); + border-radius: var(--border-radius); + border-spacing: 0; + display: inline-block; + max-width: 100%; + overflow-x: auto; + padding: 0; + white-space: nowrap; +} + +table td, +table th, +table tr { + padding: 0.4rem 0.8rem; + text-align: var(--justify-important); +} + +table thead { + background-color: var(--color); + border-collapse: collapse; + border-radius: var(--border-radius); + color: var(--color-bg); + margin: 0; + padding: 0; +} + +table thead th:first-child { + border-top-left-radius: var(--border-radius); +} + +table thead th:last-child { + border-top-right-radius: var(--border-radius); +} + +table thead th:first-child, +table tr td:first-child { + text-align: var(--justify-normal); +} + +table tr:nth-child(even) { + background-color: var(--color-accent); +} + +/* Quotes */ +blockquote { + display: block; + font-size: x-large; + line-height: var(--line-height); + margin: 1rem auto; + max-width: var(--width-card-medium); + padding: 1.5rem 1rem; + text-align: var(--justify-important); +} + +blockquote footer { + color: var(--color-text-secondary); + display: block; + font-size: small; + line-height: var(--line-height); + padding: 1.5rem 0; +} \ No newline at end of file diff --git a/website/favicon-16x16.png b/website/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd5c7e020a6c4c532bacf51f59d8fe903d83a50 GIT binary patch literal 919 zcmV;I18Dq-P)1)X9= zV7~7op~xVwlVGbQspvu6ZYPz74XMqA+e)#r=tB$*jZm&siElmQ(QJ*@%^p4VZK_&{ zmV27H*N*lZ@T|EhFE9uka1 z5ozJDx5)gn&C%9NnpzgSO+fBlLG-xoNFoHC0*2a+&)1G13UssyaJ5BSIfhHVC07&? zoc(lm`8fSpM3yDQ+y>%VViUu+#MJB;ga(JX%*&)Nz1S46ZsOFgQ^=}^Qr$yahZm1O zNT%3@q$sp*50KOGZAK#z(*CCme)~O5!=P>Z1U8QiDMbmUtNk=n8WV;)?-HyX9pz9{@_lxxV!7xk$E*Xk(#LDL#&g(%Q zMSGcue#t^~gnYrEO|q~)|4!}v4O(5Gzst-02h)UxM)+g1fXku4^;_ig%n_p#QzVrL z4XKxdoEz`rEJ1k}v@_oCoDmB9xU#L`U3x;faLdwY18w(bXxtzlCXN^l*7154IJpq; zv^&r$O@h5Dmh41TYZ&zg+0+(qPG6GE<_Hf@GTCoOYxxj|?oOfKyL-&6Awv$xI*c^k2tloj^1pM%9J>}EYPf4otW8Moa0VpsQ~#Hhe-v; tz#6{dzl<&{b8vEuW?LjskI^SL`5zn{Zgx3h$5j9T002ovPDHLkV1kgCuP*=q literal 0 HcmV?d00001 diff --git a/website/favicon-32x32.png b/website/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..1c86e14ce3767dd3d9547f61ded352c5f2ea5acd GIT binary patch literal 3225 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 LNkvXXu0mjfEjbJM literal 0 HcmV?d00001 diff --git a/website/favicon.ico b/website/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2f58d7417b8c305e6d4c5dc01b78de3e46021a94 GIT binary patch literal 5430 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 + + + + + + + + + + + + + + + + + + + + + + 2chainz.ansonbiggs.com + + + +
+ +
+
+ +
- 2 Chainz
+
+
+

+ +
+ New Quote
+
+ Tweet Quote +
+

+ +
+
+
+
+

Usage

+
+
+ Quote + +

+ Returns a random 2 Chainz Quote in json format like the + following example: +

+ +

+ send a get request to + https://chainz-rest.azurewebsites.net/quote +

+ +
{
+          "quote": "I got a pocket full of money, it got me walking all slew-foot"
+        }
+ +
+ Parameters + +

+ This endpoint also supports an optional batch parameter + to get more than one quote per request. Maximum quotes that the + endpoint will return is the amount of quotes in + quotes.py + and is subject to change. An example return from + + https://chainz-rest.azurewebsites.net/quote?batch=2 +

+ +
{
+          "quotes": [
+          "I'm in the kitchen. Yams errrrrwhere.",
+          "Started from the trap, now I rap"
+          ]
+        }
+
+
+ +
Alias +

+ Returns a random 2 Chainz alias in json format. The + return values are weighted and a full list can be seen in + aliases.py. +

+

+ send a get request to + https://chainz-rest.azurewebsites.net/alias +

+
{
+          "alias": "Dos Cadenas"
+        }
+
+
+
+
+

+ Projects built using 2chainz.ansonbiggs.com (Your project could be here!) +

+
+ + +
+
+
+
+

Frequently Asked Questions

+
+ + + + + +
+
+ + + + + diff --git a/website/js/index.js b/website/js/index.js new file mode 100644 index 0000000..6236b18 --- /dev/null +++ b/website/js/index.js @@ -0,0 +1,16 @@ +getQuote(); + +function getQuote() { + fetch("https://api.chainz.rest/quote", { method: "GET" }) + .then(resp => resp.json()) + .then(function(data) { + document.getElementById("quote").innerHTML = data.quote; + + const tweet = encodeURIComponent( + `"${data.quote}" -@2chainz via https://2.chainz.rest` + ); + document.getElementById( + "tweet" + ).href = `https://twitter.com/intent/tweet?text=${tweet}`; + }); +} diff --git a/website/plain.html b/website/plain.html new file mode 100644 index 0000000..18cbe28 --- /dev/null +++ b/website/plain.html @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + 2.chainz.rest + + + +
+ Make an Asian want hibachi +
- 2 Chainz
+
+ + + + +