Bläddra i källkod

Removed history to remove references to password

master
dirkson 3 månader sedan
incheckning
b7497cbb14
16 ändrade filer med 6286 tillägg och 0 borttagningar
  1. 9
    0
      .gitignore
  2. 21
    0
      README.md
  3. 27
    0
      Tupfile
  4. 4
    0
      src/404.md
  5. 3
    0
      src/500.md
  6. 8
    0
      src/canary.md
  7. 253
    0
      src/cgui.md
  8. 10
    0
      src/contact.md
  9. 39
    0
      src/dep/Exception.php
  10. 4502
    0
      src/dep/PHPMailer.php
  11. 1326
    0
      src/dep/SMTP.php
  12. Binär
      src/img/ico/favicon.ico
  13. 25
    0
      src/index.md
  14. 57
    0
      src/submit.php
  15. 1
    0
      src/theme/footer.html
  16. 1
    0
      src/theme/header.html

+ 9
- 0
.gitignore Visa fil

@@ -0,0 +1,9 @@
1
+#Vim files
2
+*.un~
3
+*.swp
4
+# Object files
5
+obj/*
6
+# Build framework
7
+.tup
8
+# Output
9
+web/*

+ 21
- 0
README.md Visa fil

@@ -0,0 +1,21 @@
1
+# OrangeHatTech.com Website
2
+
3
+This repository contains the code for the orangehattech.com public-facing website.
4
+
5
+It utilizes The tup build system to package the website for production.
6
+
7
+To build:
8
+
9
+```
10
+tup init
11
+tup
12
+```
13
+
14
+All source files are in 'src'
15
+All output files will be put put in 'web'
16
+
17
+## Todo
18
+
19
+* Improve header source formatting
20
+* Strip hat out of header, add to http2 push
21
+

+ 27
- 0
Tupfile Visa fil

@@ -0,0 +1,27 @@
1
+#Figure out newest article
2
+#: |> cp src/news/`ls src/news -t | head -1` %o; |> obj/news.md
3
+
4
+#Cmark all the .md
5
+: foreach src/*.md |> cmark %f > %o |> obj/cmark/%B.html
6
+
7
+#minify all html
8
+: foreach src/theme/*.html |> minify %f > %o |> obj/theme/%B.html
9
+: foreach obj/cmark/*.html |> minify %f > %o |> obj/min/%B.html
10
+
11
+#Concat all webpages
12
+: foreach obj/min/*.html | obj/theme/*.html |> cat obj/theme/header.html %f obj/theme/footer.html > %o |> web/%B.html
13
+
14
+#Scour and output svg
15
+#: foreach src/svg/* |> scour3 --shorten-ids --set-precision=1 --no-line-breaks --strip-xml-space --enable-viewboxing --enable-comment-stripping --remove-descriptive-elements --strip-xml-prolog --indent=none %f %o |> web/%b
16
+#Hi! My name is svgcleaner. I eat SVGs. No idea why.
17
+#: foreach src/svg/* |> svgcleaner %f %o |> web/%b
18
+
19
+#Minify css
20
+: src/theme/*.css |> minify %f > %o |> web/%b
21
+
22
+#Move all our unchanged stuff to the final output dir
23
+: foreach src/img/ico/*.ico src/*.php obj/theme/*.html |> cp %f %o |> web/%b
24
+: foreach src/dep/*.php |> cp %f %o |> web/dep/%b
25
+
26
+#Brotli compression
27
+: foreach web/*.html web/*.svg web/*.css |> brotli %f -o %o |> web/%b.br

+ 4
- 0
src/404.md Visa fil

@@ -0,0 +1,4 @@
1
+# Error 404
2
+
3
+I can't quite seem to find that, sorry!
4
+

+ 3
- 0
src/500.md Visa fil

@@ -0,0 +1,3 @@
1
+# Error 500
2
+
3
+PHP has probably fallen over. Sorry, I'll try to fix that ASAP.

+ 8
- 0
src/canary.md Visa fil

@@ -0,0 +1,8 @@
1
+## Warrant Canary
2
+
3
+This page will be updated on January 1st and July 1st of each year. Ask me once to update if I forget.
4
+
5
+As of January 2019, I have not received any national security letters, or any other gag order from governmental agencies.
6
+
7
+
8
+

+ 253
- 0
src/cgui.md Visa fil

@@ -0,0 +1,253 @@
1
+## C Gui Libraries
2
+
3
+So you've decided to code a GUI in C. That's probably a horrible decision. But hey, I've made that horrible decision a bunch of times myself, so I can help!
4
+
5
+This document has a lot of my own biases in it, and I haven't used most of the tools I'm writing about. I'd recommend that you do your own research before coming to strong conclusions. This document is a starting point, not an ending point.
6
+
7
+LGPL is listed as a negative. This is because most people who care about a library being LGPL care because they have to avoid LGPL'd code. (Usually for static linking with closed source software)
8
+
9
+---
10
+
11
+### Cross platform libraries
12
+
13
+---
14
+
15
+*Code once, use everywhere. Generally "Everywhere" in this context is Windows, Linux, BSD, and OSX. Android apps have a complicated relationship with C code, and I don't know much about them.*
16
+
17
+#### <a href=https://github.com/vurtun/nuklear>Nuklear</a>
18
+
19
+I've used this library extensively. It's my personal favorite.
20
+
21
+<ul>
22
+<li class=p>Simple to use
23
+<li class=p>Extremely flexible
24
+<li class=p>Can render via opengl2/3, sdl, allegro, x11(lin), d3d(win), and gdi(win).
25
+<li class=p>Can be used to create GUIs inside existing rendering contexts.
26
+<li class=p>Public Domain licensed
27
+<li>Requires the use of a separate context-creation library.
28
+<li class=n>Everything is implemented in a single monolithic header file.
29
+<li class=n>Doesn't provide a native look and feel on any platform
30
+</ul>
31
+
32
+<h4><a href=https://github.com/andlabs/libui>Libui</a></h4>
33
+
34
+I haven't yet used this.
35
+<ul>
36
+<li class=p>Provides a native look and feel.
37
+<li class=p>MIT Licensed
38
+<li class=n>Can't be used to render to existing contexts
39
+</ul>
40
+
41
+<h4><a href=http://webserver2.tecgraf.puc-rio.br/iup/>IUP</a></h4>
42
+
43
+I've used this library.
44
+<ul>
45
+<li class=p>Cross platform <li class=n>Code once, use everywhere. Except Mac.
46
+<li class=p>Provides a native look and feel.
47
+<li class=n>Doesn't run on OSX.
48
+</ul>
49
+
50
+<h4><a href=http://libagar.org/>LibAgar</a></h4>
51
+
52
+I've used this, but ran into a breaking bug that I couldn't fix and the author didn't seem interested in fixing.
53
+
54
+<ul>
55
+<li class=p>Can be used to create GUIs inside existing rendering contexts.
56
+</ul>
57
+
58
+<h4><a href=https://www.gtk.org/>GTK+</a></h4>
59
+
60
+I haven't used this directly.
61
+
62
+<ul>
63
+<li class=p>Arguably the closest equivalent Linux has to a native GUI toolkit.
64
+<li class=n>LGPL license - No static compilation with arbitrarily licensed software
65
+<li class=n>Can't be used to render to existing contexts
66
+<li class=n>Difficult to utilize outside of Linux. (Partially due to LGPL licensing)
67
+</ul>
68
+
69
+<h4><a href=https://github.com/cimgui/cimgui>c-imgui</a></h4>
70
+
71
+I haven't used this.
72
+
73
+<ul>
74
+<li class=p>MIT Licensed
75
+<li class=p>Can be used to create GUIs inside existing rendering contexts.
76
+<li class=n>Wrapper for a C++ project.
77
+<li class=n>Doesn't provide a native look and feel on any platform
78
+</ul>
79
+
80
+<h4><a href=https://github.com/lc-soft/LCUI>LCUI</a></h4>
81
+
82
+I haven't used this and I can't imagine how it could possibly work.
83
+
84
+<ul>
85
+<li class=p>MIT Licensed
86
+<li class=n>Doesn't provide a native look and feel on any platform
87
+</ul>
88
+
89
+<h4><a href=https://sourceforge.net/projects/tinyfiledialogs/>Tinyfiledialogs</a></h4>
90
+
91
+I've used this. It was ok.
92
+
93
+<ul>
94
+<li class=p>ZLIB/PNG Licensed
95
+<li class=n>Only exposes a few pre-made dialogs
96
+<li class=n>Everything is implemented in a single monolithic header file.
97
+</ul>
98
+
99
+<h4><a href=https://git.orangehattech.com/dirkson/boksi>Boksi</a></h4>
100
+
101
+I made this. It's ok. It uses many of the libraries listed on this page to do its thing.
102
+
103
+<ul>
104
+<li class=p>MIT Licensed
105
+<li class=p>Extremely small, due to its use of dynamic loading to find an appropriate library.
106
+<li class=n>Only exposes an error box style dialog.
107
+<li class=n>Not particularly mature codebase.
108
+<li class=n>Dev is kinda funny looking.
109
+</ul>
110
+
111
+<h4><a href=https://github.com/raysan5/raygui>Raygui</a></h4>
112
+
113
+I haven't used this yet
114
+
115
+<ul>
116
+<li class=p>Zlib Licensed
117
+</ul>
118
+
119
+<h4><a href=https://en.wikipedia.org/wiki/Tk_(software)>Tk</a></h4>
120
+
121
+I haven't used this.
122
+
123
+<ul>
124
+<li class=n>Requires the use of an uncommon language (TCL) to specify the gui.
125
+<li class=n>Can't be used to render to existing contexts
126
+</ul>
127
+
128
+
129
+<h4><a href=http://wxc.sourceforge.net/>WxC</a></h4>
130
+
131
+An effort to expose WxWidgets to C.
132
+<ul>
133
+<li class=n>Last updated in 2013
134
+</ul>
135
+
136
+
137
+<h4><a href=http://www.xvt.com/>XVT</a></h4>
138
+
139
+<ul>
140
+<li class=p>Provides a native look and feel.
141
+<li class=p>Allows visual editing of GUIs.
142
+<li class=n>Crazy expensive. Wow. Wow so crazy expensive. Just buy a car instead.
143
+<li class=n><strong>Closed source software</strong>
144
+</ul>
145
+
146
+<hr/>
147
+
148
+<h3>Single platform libraries</h3>
149
+
150
+<hr/>
151
+
152
+<em>You'll need to code a separate solution for each targeted platform. Worth considering if you only need to target a single platform for whatever reason.</em>
153
+
154
+<h4>Win32 libs</h4>
155
+
156
+I haven't used this directly.
157
+
158
+<ul>
159
+<li>Windows only
160
+<li class=p>Native library
161
+<li class=p>Windows is probably the world's most popular OS, for reasons beyond the ken of mortal man
162
+<li class=n>Can't be used to render to existing contexts
163
+</ul>
164
+
165
+<h4>Xaw</h4>
166
+
167
+I've used this library lightly.
168
+
169
+<ul>
170
+<li>Linux/X11 only
171
+<li class=p>Easy to use
172
+<li class=n>Generally considered outdated
173
+</ul>
174
+
175
+<h4>Motif</h4>
176
+
177
+I don't have experience with this one.
178
+
179
+<ul>
180
+<li>Linux/X11 only
181
+<li class=n>Generally considered outdated
182
+</ul>
183
+
184
+
185
+<h4><a href=https://en.wikipedia.org/wiki/XForms_(toolkit)>XForms</a></h4>
186
+
187
+I don't have experience with this one.
188
+
189
+
190
+<ul>
191
+<li>Linux/X11 Only
192
+<li class=p>Allows visual editing of GUIs.
193
+<li class=n>LGPL
194
+</ul>
195
+
196
+
197
+<hr/><h3>Similar libraries</h3><hr/>
198
+
199
+<p><em>Sometimes you're doing something weird, and you need lower level access than most GUI libraries will provide. Don't worry, you can always roll you own!</em>
200
+
201
+<p><em>Oh, and on a personal note? 9 times out of 10, you're making a mistake somewhere if you're looking at these libraries. It's extremely likely that you can use something else to get a better result with less coding.</em>
202
+
203
+<h4>XLib</h4>
204
+
205
+I don't have experience with this one.
206
+
207
+<ul>
208
+<li class=n>Linux/X11 only
209
+<li class=n>Generally considered outdated: XCB is preferred for modern applications.
210
+</ul>
211
+
212
+<h4>XCB</h4>
213
+
214
+I don't have experience with this one. Modern replacement for XLib
215
+
216
+<ul>
217
+<li class=n>Linux/X11 only
218
+</ul>
219
+
220
+<h4>Xt</h4>
221
+
222
+I don't have experience with this one. Built on xlib. Powers XAW and Motif.
223
+
224
+<ul>
225
+<li class=n>Linux/X11 only
226
+<li class=n>Generally considered outdated
227
+</ul>
228
+
229
+<h4><a href=https://en.wikipedia.org/wiki/GDK>GDK</a></h4>
230
+
231
+I don't have direct experience with this one.
232
+
233
+<ul>
234
+<li>Powers GTK+
235
+<li class=n>Linux/X11 only
236
+<li class=n>LGPL
237
+</ul>
238
+
239
+
240
+<h4><a href=https://github.com/memononen/nanovg>NanoVG</a></h4>
241
+
242
+I've used this. Stands for Nano Vector Graphics.
243
+
244
+<ul>
245
+<li class=p>Cross platform
246
+<li class=p>Small
247
+<li class=p>Easy to use
248
+<li class=p>Fast
249
+<li class=p>Many back ends
250
+<li class=p>Exposes access to vector graphics
251
+<li class=n>Low level
252
+</ul>
253
+

+ 10
- 0
src/contact.md Visa fil

@@ -0,0 +1,10 @@
1
+
2
+<form action="submit.php" method="post">
3
+<input style=margin:auto;width:80%;padding:10px placeholder="Your Email Address" type=email name=e required><br><br>
4
+<textarea style=padding:10px;margin:auto;width:80%;height:20em placeholder="Type your Message Here...." name=m required></textarea><br><br>
5
+<input type="hidden" name="recaptcha_response" id="recaptchaResponse">
6
+<button style=width:20em;height:4em name=submit type=submit>Send</button>
7
+</form>
8
+
9
+<script src='https://www.google.com/recaptcha/api.js?render=6Lcfr4oUAAAAAEVYJi9cnZSYOIjP5PRDesVteHuk'></script>
10
+<script>grecaptcha.ready(function () {grecaptcha.execute('6Lcfr4oUAAAAAEVYJi9cnZSYOIjP5PRDesVteHuk', { action: 'contact' }).then(function (token) {var recaptchaResponse = document.getElementById('recaptchaResponse');recaptchaResponse.value = token;});});</script>

+ 39
- 0
src/dep/Exception.php Visa fil

@@ -0,0 +1,39 @@
1
+<?php
2
+/**
3
+ * PHPMailer Exception class.
4
+ * PHP Version 5.5.
5
+ *
6
+ * @see       https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
7
+ *
8
+ * @author    Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
9
+ * @author    Jim Jagielski (jimjag) <jimjag@gmail.com>
10
+ * @author    Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
11
+ * @author    Brent R. Matzelle (original founder)
12
+ * @copyright 2012 - 2017 Marcus Bointon
13
+ * @copyright 2010 - 2012 Jim Jagielski
14
+ * @copyright 2004 - 2009 Andy Prevost
15
+ * @license   http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
16
+ * @note      This program is distributed in the hope that it will be useful - WITHOUT
17
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
+ * FITNESS FOR A PARTICULAR PURPOSE.
19
+ */
20
+
21
+namespace PHPMailer\PHPMailer;
22
+
23
+/**
24
+ * PHPMailer exception handler.
25
+ *
26
+ * @author  Marcus Bointon <phpmailer@synchromedia.co.uk>
27
+ */
28
+class Exception extends \Exception
29
+{
30
+    /**
31
+     * Prettify error message output.
32
+     *
33
+     * @return string
34
+     */
35
+    public function errorMessage()
36
+    {
37
+        return '<strong>' . htmlspecialchars($this->getMessage()) . "</strong><br />\n";
38
+    }
39
+}

+ 4502
- 0
src/dep/PHPMailer.php
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 1326
- 0
src/dep/SMTP.php
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


Binär
src/img/ico/favicon.ico Visa fil


+ 25
- 0
src/index.md Visa fil

@@ -0,0 +1,25 @@
1
+Hi there!
2
+
3
+I'm Jeff, and I've been operating as the "Orange Hat Tech" for several years now. I do whatever technical work happens to cross my path. Currently, I'm:
4
+
5
+* Writing <a href="https://git.orangehattech.com/dirkson">MIT Licensed, C99 libraries</a>
6
+* Trying to make the world's most accurate butter-based space combat simulator, <a href=https://scrumbleship.com/>ScrumbleShip</a>.
7
+* Administering my linux server out of Kansas City, where it runs the various websites and services I provide people.
8
+
9
+In the past, I've:
10
+
11
+* Administered linux servers for frogstar.com, a Minecraft server, and the Zen Community of Oregon.
12
+* Fixed computers for small businesses and anyone else who needed it.
13
+* Messed around with <a href=cgui>C GUI libraries</a>
14
+* Built a few websites using a system called Drupal.
15
+Administered the minecraft server <a href=http://www.dirkocraft.net/ rel=nofollow>Dirkocraft</a>
16
+* Taught various computer courses for my local city's recreation department.
17
+* Discovered and explored several small caves.
18
+
19
+If you need to contact me, <a href=contact>please click here.</a>
20
+
21
+If you like small birds and government gag orders, <a href=canary>please click here.</a>
22
+
23
+Cheers,
24
+
25
+-Jeff

+ 57
- 0
src/submit.php Visa fil

@@ -0,0 +1,57 @@
1
+<?php
2
+
3
+require 'dep/PHPMailer.php';
4
+require 'dep/SMTP.php';
5
+require 'dep/Exception.php';
6
+use PHPMailer\PHPMailer\PHPMailer;
7
+
8
+include('header.html');
9
+
10
+if ($_SERVER['REQUEST_METHOD'] != 'POST') {
11
+	echo "<h3>Captcha issue. Sorry! Please try again.</h3></div><br></div>";
12
+	return false;
13
+}
14
+
15
+include 'dep/passwords.php';
16
+
17
+$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
18
+$recaptcha_secret = '6Lcfr4oUAAAAAOGq_qmr43e66cqbXSAj9yVbmb6e';
19
+$recaptcha_response = $_POST['recaptcha_response'];
20
+
21
+$recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response);
22
+$recaptcha = json_decode($recaptcha);
23
+
24
+if ($recaptcha->score < 0.5) {
25
+	echo "<h3>Captcha issue. Sorry! Please try again.</h3></div><br></div>";
26
+	return false;
27
+}
28
+
29
+
30
+$mail = new PHPMailer(true);
31
+
32
+$mail->isSMTP();
33
+$mail->Host = 'smtp.zoho.com';
34
+$mail->SMTPAuth = true;
35
+$mail->Username = $smtpusername;
36
+$mail->Password = $smtppassword;
37
+$mail->Port = 465;
38
+$mail->SMTPSecure = 'ssl';
39
+
40
+$mail->From = 'noreply@orangehattech.com';
41
+$mail->FromName = 'orangehattech.com';
42
+$mail->addAddress('jeff@orangehattech.com');     // Add a recipient
43
+$mail->addReplyTo($_POST['e']);
44
+
45
+$mail->WordWrap = 50;                                 // Set word wrap to 50 characters
46
+$mail->Subject = 'OHT Contact';
47
+$mail->Body    = $_POST['m'];
48
+
49
+if(!$mail->send()) {
50
+	echo "Message could not be sent. Sorry. I'll try to fix that soon.";
51
+} else {
52
+	echo "<h3>Message received. Give me a day or two to reply. Thank you!</h3>";
53
+}
54
+
55
+include('footer.html');
56
+
57
+?>

+ 1
- 0
src/theme/footer.html Visa fil

@@ -0,0 +1 @@
1
+</div><br></div>

+ 1
- 0
src/theme/header.html Visa fil

@@ -0,0 +1 @@
1
+<!DOCTYPE html><title>Orange Hat Tech</title><link rel=icon href=favicon.ico><meta charset=UTF-8><style>a{color:#fd6500}body{background-color:#248}div{margin:auto;border-radius:40px;border:4px solid #fd6500}h1{color:#fb9;text-align:center;min-height:85px}</style><div style=background-color:#444;max-width:800px;><svg style=padding:1%;float:left;height:113px viewbox="0 0 3162 2160"><defs><linearGradient id="A" x1="392.951" x2="386.098" y1="330.168" y2="363.391"/><linearGradient id="B" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="C" x1="320.775" x2="306.92" y1="335.323" y2="398.788"/></defs><g transform="translate(-1716.6 -3062.3) scale(8.87678)"><g fill-rule="evenodd"><path d="M256.6 439.4c2.2-9.7 4.4-76.6 24-75.5 69.9 2.1 140.8-74.3 193.2 86.6 28.4 5.9 49.5 22.5 60.5 34.4 52.8 57-70.3 105-176 100.5-126.4-5.3-234.2-96.3-101.6-146z" fill="#f60"/><path d="M255.9 439.7c-57.2 21.6-69 51-54 77.7 9.4-21.2 32-39.3 64.6-50.7a41.1 41.1 0 0 1-10.7-26.7v-.3zm216.6 7a42 42 0 0 1-12.8 22c43 12.4 76.5 31.8 84.8 55.3 5-12.1 2.5-25.3-10.2-39a117.9 117.9 0 0 0-60.5-34.5l-1.3-3.7z" fill="#a74100"/><path d="M470 444.1l-.9 3.6c-.5 2.4-2.8 5.4-7 8.4-4 3-9.9 6-17 8.8a223.2 223.2 0 0 1-55.7 12.4c-26.8 2.8-57.4 2.2-84.6-8.1a120.8 120.8 0 0 1-45.7-28.9l-2-1.2h-1.9l-.6-1.3c-.6 1.9-2.5 13.9-3 21.3-.5 6.8-.5 10.9-.2 14.7l.5.9.2.2c5.2 9.1 24 20.7 42.2 28.3 14.1 6 34.8 8.7 59.2 10a248 248 0 0 0 71-6.7c21.3-5 38.8-12.9 48-24.8l.1-.3 3.6-4.8s1.1-3.8 1.1-8.8c0-8-.3-15.7-5-20.9z"/></g><path d="M284.8 463.2s-3.3 7.4-5 17.7-.2 13.7-.2 13.7c4.5 2.5 9.4 4.8 14.2 6.8 13 5.4 34.5 8.6 56.7 9.8 0 0 .9-4 2.3-14 1.5-9.9-.1-16.7-.1-16.7a139.8 139.8 0 0 1-68-17.3z" fill="#585858" fill-opacity=".6"/><path d="M298.2 363.4c4.7 0 18.8 1.8 38 11.8 24 12.5 24.9 16.6 56.7 18.9 0 0 10.2.8 16.7-5.7 6.4-6.4 3.2-19.3-18.3-21-21.5-1.9-34-6.5-53.7-5.4l-44 2.1 6.4-.4" fill="#781f1c" fill-opacity=".5"/><path d="M383.9 345c-34.1-1.3-69.3 17.3-103.2 16.3-3.1-.2-6 1-8.4 3.2a26 26 0 0 0-5.8 8.2c-3.1 6.7-5.3 15.4-7 24.4-1.6 9-2.7 18.3-3.6 26-.7 7-1.2 12.1-1.7 14.5-32.5 12.4-50.9 27.4-57.8 43.8-7 16.6-1.5 34 12 49.4 27 30.5 86 54.5 149.7 57.2 53.3 2.3 110.8-8.6 148.8-27.4 19-9.4 33.2-20.8 39.4-34.2 6.2-13.3 3.6-28.5-10-43.2a120.6 120.6 0 0 0-60.5-35c-13-39.5-27.2-65-42.6-80.6A70 70 0 0 0 384 345zm-.2 5.3c16 .6 31 5.9 45.8 21 14.6 15 28.8 40 41.8 80a2.6 2.6 0 0 0 2 1.7 115.5 115.5 0 0 1 59.1 33.7c12.7 13.8 14.5 26 9.2 37.5-5.4 11.6-18.7 22.5-37 31.7-36.9 18.2-93.8 29.1-146.3 26.9-62.5-2.7-120.6-26.8-146-55.5-12.7-14.4-17.2-29.3-11-43.9 6-14.5 23.5-29.2 56.3-41.5a2.6 2.6 0 0 0 1.6-2.4c.7-3 1.2-8.5 2-15.8.8-7.6 1.9-16.8 3.5-25.6a98.3 98.3 0 0 1 6.6-23.1c1.4-3 3-5.2 4.5-6.6 1.6-1.4 3-2 4.7-2 36 1.2 71.2-17.3 103.2-16.1z" fill-rule="evenodd"/><ellipse cx="299.9" cy="372.9" rx="26.5" ry="11.9" fill="#f60"/><path d="M294.6 358.2c-4.7 0-11.4-.1-16.6 2.5-4.9 2.4-7.7 5.9-7.7 5.9-2.2 2.7 2 6 4.1 3.3 0 0 2.1-2.6 5.9-4.5a38 38 0 0 1 14.3-2c4 0 18 1.7 36.8 11.5 23.8 12.4 25.7 16.9 57.7 19.2 3.6.4 3.2-.6-.4-.8-28-2.3-32.1-7-55-21.5a75.2 75.2 0 0 0-39-13.6z"/><path d="M362.8 403.3c-9.8 2.7-11.9 4.7-30.2 4.7-18.4 0-50.9-21.8-50.9-31.9s21.7-9.7 37.3 0c43.8 27.2 55.7 23.8 43.8 27.2z" fill="url(#C)"/><path d="M383.3 352.4c-14.1 0-20.6.4-27.8 5.9 12.7-1.6 19.5.2 33.8 3.8 16.9 4.2 27.7 7.3 37.4 12.4-3.4-8.7-21-19.3-36.2-21.6-2.4-.4-4.8-.5-7.2-.5z" fill="url(#A)"/></g></svg><h1>Orange Hat Tech</h1><div style=background-color:#000;color:#fff;width:85%;padding:3%>

Laddar…
Avbryt
Spara