From bb17ea5f2e2923a071365389150b7efc3345200e Mon Sep 17 00:00:00 2001 From: cbax Date: Tue, 22 Oct 2024 18:48:53 -0400 Subject: [PATCH] more static files --- deploy.playbook.yml | 23 +++ static/balun/privacy.txt | 15 ++ static/balun/tos.txt | 9 ++ static/css/midnight_green.css | 2 + static/css/nord.css | 231 +++++++++++++++++++++++++++++++ static/img/dam.gif | Bin 0 -> 36318 bytes static/img/powered_by_alpine.gif | Bin 0 -> 350 bytes static/sneezeline.html | 28 ++++ 8 files changed, 308 insertions(+) create mode 100644 deploy.playbook.yml create mode 100755 static/balun/privacy.txt create mode 100755 static/balun/tos.txt create mode 100644 static/css/midnight_green.css create mode 100644 static/css/nord.css create mode 100644 static/img/dam.gif create mode 100644 static/img/powered_by_alpine.gif create mode 100644 static/sneezeline.html diff --git a/deploy.playbook.yml b/deploy.playbook.yml new file mode 100644 index 0000000..6582815 --- /dev/null +++ b/deploy.playbook.yml @@ -0,0 +1,23 @@ +- name: cbax dev deploy + hosts: containers + tasks: + - name: Copy files + ansible.posix.synchronize: + src: "{{playbook_dir}}/" + dest: "/root/cbax_dev" + + - name: Move assets + ansible.builtin.copy: + remote_src: true + src: /root/cbax_dev/static/ + dest: /srv/http/cbax_dev/ + + - name: Tear down existing service + ansible.builtin.command: "docker compose down --rmi all" + args: + chdir: "$HOME/cbax_dev" + + - name: Create the new container + ansible.builtin.command: "docker compose up -d" + args: + chdir: "$HOME/cbax_dev" diff --git a/static/balun/privacy.txt b/static/balun/privacy.txt new file mode 100755 index 0000000..11ac349 --- /dev/null +++ b/static/balun/privacy.txt @@ -0,0 +1,15 @@ +Privacy Policy +References +In this whole document when being referred as "we" or "us", DosLab Electronics, LLC as a whole is meant with everybody responsible. +When referring to "personal data", your discord user-id and other information accessible to every other discord user is meant as well as personal information you pass on via a command usages. +Collection of data +We do not collect any kind of personal data that you didn't authorize. Messages are only processed when being asked to do so (e.g. by using one of the bulk setup commands). Data from presences (including custom statuses and others), messages contents and other personal user-generated content is not being saved in any way. +Data is only collected for providing services such as premium access. For this process only your user-id is stored to provide optimal experience + + Data is anonymously collected for analytic purposes. This means information such as when our bot got added to a server or command usages / errors. + We DO NOT connect this data to you as a user. This data is only used to optimize our services and advance the user experience. + +Distribution of data +None of your data is being distributed to anybody else, it is only used in internal processes to improve user experience and services. +Deletion of data +All user-related data can be deleted by us on request in the support server linked in useful links section. diff --git a/static/balun/tos.txt b/static/balun/tos.txt new file mode 100755 index 0000000..d1a864f --- /dev/null +++ b/static/balun/tos.txt @@ -0,0 +1,9 @@ +Terms of Service +Introduction and accepting of ToS +By inviting and using our bot you automatically agree to our Terms of Service below. +By accepting balun ("our", "we", "us") Terms of Service ("ToS") you agree that you've agreed to Discord's terms of service and meet every requirement mentioned there. You ("you", "your") also agree that you've read our privacy policy + and agreed to it. +Rights to use our service +You have the right to use our service as long as you don't use it in any way that would break or the rules of the guild ("server") you're in. We reserve the right to permanently block you from our services, deny support and/or services or report you to Discord. + +We are not responsible for content generated via our bot by users that is violating Discord terms of service in any way. diff --git a/static/css/midnight_green.css b/static/css/midnight_green.css new file mode 100644 index 0000000..0f87b5a --- /dev/null +++ b/static/css/midnight_green.css @@ -0,0 +1,2 @@ +@import url("https://fonts.googleapis.com/css?family=Nunito");html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,textarea,input,select,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-family:"Nunito",sans-serif;color:#eceff1}body,html{padding:0;margin:0;overflow-x:hidden;background-color:#37474f}nav{font-family:"Nunito",sans-serif;background-color:#212121;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex}nav header{padding:8px;display:inline}nav header a{text-decoration:none;color:#fff}nav header a:hover{color:#00c853}nav header+input:checked+div{display:block}nav div{display:none;margin-left:auto}nav div ul{list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 10px}nav div ul li a{display:inline-block;padding:8px;color:#fff;text-decoration:none}nav div ul li:hover{background-color:#00c853}nav div ul li ul{right:0;position:relative;background:pink}@media (max-width: 630px){nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}nav header{text-align:center}nav div{margin:auto}nav div ul{padding:0}nav div ul li{border-top-left-radius:5px;border-top-right-radius:5px}nav div ul li[active],nav div ul li.active{border:1px solid #00c853;border-bottom:none}blockquote{border-left:4px solid #00c853;padding:8px 5px;margin:0}blockquote p{font-size:0.4rem}}@media (min-width: 630px){nav div ul li.active,nav div ul li[active]{border:1px solid #00c853;border-bottom:none;border-top:none}nav header label{display:none}}section[container]{max-width:38em;margin:auto;padding:5px}h1{font-size:2.35em}h2{font-size:2em}h3{font-size:1.75em}h4{font-size:1.5em}h5{font-size:1.25em}h6{font-size:1em}a{color:#00c853}a:hover{color:#212121}mark{background-color:#00c853}code{font-family:monospace;background-color:#bdbdbd;padding-left:5px;padding-right:5px}blockquote{border-left:4px solid #00c853;padding:8px 10px;width:100%}blockquote p{font-style:italic;font-size:1.1rem}blockquote footer::before{content:"\2014 \00A0"}blockquote footer cite{font-style:italic;color:#bdbdbd}pre{background:#263238;overflow-x:auto;text-align:left;padding:5px}pre code{display:block;padding:0 10px;background:transparent}table{display:table;padding:5px;border-collapse:collapse}table thead,table tbody{text-align:left}table tr th,table tr td{padding:5px 10px;border-bottom:1px solid #00c853}div[overflow]{overflow-x:auto;max-width:100vw}div[overflow] ::-webkit-scrollbar{height:0}img{max-width:100%;border-radius:5px}form div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:10px 5px}form div p{margin:0px}form input,form select{font-size:1rem;padding:5px;border:none;color:#212121}form input:active,form input:focus,form select:active,form select:focus{outline-color:#00c853}form input[type="submit"]{padding:10px;background-color:#00c853;color:#eceff1;border-radius:5px;border:none;cursor:pointer}form input[type="submit"]:active,form input[type="submit"]:focus{outline:none}form input[type="submit"]:active{background-color:#212121;color:#00c853}form input[type="submit"]:disabled{background:#bdbdbd;cursor:not-allowed}form input[type="submit"][secondary]{background-color:#212121;color:#00c853}form input[type="submit"][secondary]:active{background-color:#00c853;color:initial}textarea{color:#212121;width:-webkit-fill-available;font-size:1rem;padding:5px}textarea:active,textarea:focus{outline-color:#00c853}button{padding:10px;background-color:#00c853;color:#eceff1;border-radius:5px;border:none;cursor:pointer}button:active,button:focus{outline:none}button:active{background-color:#212121;color:#00c853}button:disabled{background:#bdbdbd;cursor:not-allowed}button[secondary]{background-color:#212121;color:#00c853}button[secondary]:active{background-color:#00c853;color:initial}body>footer{background-color:#212121;position:relative;bottom:0;width:100%;padding:5px} +/*# sourceMappingURL=midnight-green.css.map */ \ No newline at end of file diff --git a/static/css/nord.css b/static/css/nord.css new file mode 100644 index 0000000..e492c4f --- /dev/null +++ b/static/css/nord.css @@ -0,0 +1,231 @@ +/* + * Copyright (c) 2016-present Sven Greb + * This source code is licensed under the MIT license found in the license file. + */ + +/* + * References: + * 1. https://www.w3.org/TR/css-variables + * 2. https://www.w3.org/TR/selectors/#root-pseudo + * 3. https://drafts.csswg.org/css-variables + * 4. https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables + * 5. https://warpspire.com/kss + * 6. https://github.com/kss-node/kss-node + */ + +/* +An arctic, north-bluish color palette. +Created for the clean- and minimal flat design pattern to achieve a optimal focus and readability for code syntax +highlighting and UI. +It consists of a total of sixteen, carefully selected, dimmed pastel colors for a eye-comfortable, but yet colorful +ambiance. + +Styleguide Nord +*/ + +:root { + /* + Base component color of "Polar Night". + + Used for texts, backgrounds, carets and structuring characters like curly- and square brackets. + + Markup: +
+ + Styleguide Nord - Polar Night + */ + --nord0: #2e3440; + + /* + Lighter shade color of the base component color. + + Used as a lighter background color for UI elements like status bars. + + Markup: +
+ + Styleguide Nord - Polar Night + */ + --nord1: #3b4252; + + /* + Lighter shade color of the base component color. + + Used as line highlighting in the editor. + In the UI scope it may be used as selection- and highlight color. + + Markup: +
+ + Styleguide Nord - Polar Night + */ + --nord2: #434c5e; + + /* + Lighter shade color of the base component color. + + Used for comments, invisibles, indent- and wrap guide marker. + In the UI scope used as pseudoclass color for disabled elements. + + Markup: +
+ + Styleguide Nord - Polar Night + */ + --nord3: #4c566a; + + /* + Base component color of "Snow Storm". + + Main color for text, variables, constants and attributes. + In the UI scope used as semi-light background depending on the theme shading design. + + Markup: +
+ + Styleguide Nord - Snow Storm + */ + --nord4: #d8dee9; + + /* + Lighter shade color of the base component color. + + Used as a lighter background color for UI elements like status bars. + Used as semi-light background depending on the theme shading design. + + Markup: +
+ + Styleguide Nord - Snow Storm + */ + --nord5: #e5e9f0; + + /* + Lighter shade color of the base component color. + + Used for punctuations, carets and structuring characters like curly- and square brackets. + In the UI scope used as background, selection- and highlight color depending on the theme shading design. + + Markup: +
+ + Styleguide Nord - Snow Storm + */ + --nord6: #eceff4; + + /* + Bluish core color. + + Used for classes, types and documentation tags. + + Markup: +
+ + Styleguide Nord - Frost + */ + --nord7: #8fbcbb; + + /* + Bluish core accent color. + + Represents the accent color of the color palette. + Main color for primary UI elements and methods/functions. + + Can be used for + - Markup quotes + - Markup link URLs + + Markup: +
+ + Styleguide Nord - Frost + */ + --nord8: #88c0d0; + + /* + Bluish core color. + + Used for language-specific syntactic/reserved support characters and keywords, operators, tags, units and + punctuations like (semi)colons,commas and braces. + + Markup: +
+ + Styleguide Nord - Frost + */ + --nord9: #81a1c1; + + /* + Bluish core color. + + Used for markup doctypes, import/include/require statements, pre-processor statements and at-rules (`@`). + + Markup: +
+ + Styleguide Nord - Frost + */ + --nord10: #5e81ac; + + /* + Colorful component color. + + Used for errors, git/diff deletion and linter marker. + + Markup: +
+ + Styleguide Nord - Aurora + */ + --nord11: #bf616a; + + /* + Colorful component color. + + Used for annotations. + + Markup: +
+ + Styleguide Nord - Aurora + */ + --nord12: #d08770; + + /* + Colorful component color. + + Used for escape characters, regular expressions and markup entities. + In the UI scope used for warnings and git/diff renamings. + + Markup: +
+ + Styleguide Nord - Aurora + */ + --nord13: #ebcb8b; + + /* + Colorful component color. + + Main color for strings and attribute values. + In the UI scope used for git/diff additions and success visualizations. + + Markup: +
+ + Styleguide Nord - Aurora + */ + --nord14: #a3be8c; + + /* + Colorful component color. + + Used for numbers. + + Markup: +
+ + Styleguide Nord - Aurora + */ + --nord15: #b48ead; +} diff --git a/static/img/dam.gif b/static/img/dam.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9bae89932b76db0d3be16015385528a312c6f14 GIT binary patch literal 36318 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 literal 0 HcmV?d00001 diff --git a/static/sneezeline.html b/static/sneezeline.html new file mode 100644 index 0000000..5418ec5 --- /dev/null +++ b/static/sneezeline.html @@ -0,0 +1,28 @@ + + + + + Sneezeline Bot + + + + +
+

Sneezeline Outage Checker Bot

+

Because a web page with a map counts as "valid notification"...

+

And a "valid notification" counts as a "planned service outage" and is not eligible for refund...

+

This bot coalesces live uptime data and outage notifications from breezeline residential services to determine "fault" in an attempt to get refunds for outages that cost me real money. (Δ of notification and ping can be significant enough for a refund)

+

If you're reading this you have access to the backend of the breezeline uptime monitoring and incident triage management servers. (Or you have a very fancy web crawler)

+ blback@cbax.dev +
+ +