Compare commits

...

51 Commits

Author SHA1 Message Date
1a9df45e55 Added advice from Josh Clark
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-05-10 17:14:00 +01:00
d5d7f74fd0 Added some advice from lobste.rs
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-05-03 07:11:07 +01:00
934c4f4de3 Added advice from Aaron Patterson
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-05-03 07:04:38 +01:00
1ff611b3ed Added advice from Márk Sági-Kazár
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-05-01 14:23:58 +01:00
e2372b378a Fix typo
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-05-01 09:53:36 +01:00
c4d3194a7f Added toilet tip to speaking post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-05-01 08:03:25 +01:00
252f5143d1 Added talk on public speaking
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-04-30 20:08:25 +01:00
9a0cf62882 Updated profile image
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-02-17 16:38:29 +00:00
c267ec35a4 Added Node-RED bot post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-02-09 09:08:03 +00:00
fd867c7262 Updarte social share image
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-02-02 08:28:23 +00:00
3bdc78303d Added LinkedIn API post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-02-02 07:47:52 +00:00
4aafc98be9 Fix strikethrough
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-01-17 15:37:51 +00:00
84bae3759d Updated post with cloudflare details
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-01-17 15:14:51 +00:00
98ff90f460 Update cloud native now post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-01-14 13:40:12 +00:00
ab55d75296 Added Cloud Native Now post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-01-14 11:51:50 +00:00
f69df643f7 Added og:article:author meta tag
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-01-05 19:51:27 +00:00
2e328133cc Updated social links
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-01-04 16:06:54 +00:00
ac1744869d Added Bootstrapping a Civo cluster with OpenTofu and Flux
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2025-01-03 11:08:19 +00:00
68e1e77843 Added fediverse creator meta tag
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2024-07-03 09:25:04 +01:00
675f56d9c5 Added link to Michaels post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2024-06-24 14:49:01 +01:00
7bf40c1263 Typo
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2024-06-24 14:46:12 +01:00
3586eeb6bf Updated resources
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2024-06-24 13:03:33 +01:00
ee9a16865e Added kubernetes resources post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2024-06-24 11:38:31 +01:00
a1533640cf Added EMF Camp post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2024-06-07 16:24:06 +01:00
d48d4dcb14 Update broken links
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2024-05-21 15:24:06 +01:00
bdd2e8c79a Update blocked routes
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2023-10-10 09:46:15 +01:00
b36d394308 Added post about renovate custom datasources
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2023-10-03 21:59:45 +01:00
a8295a7321 Fixed broken links
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2023-09-23 20:33:19 +01:00
a3f0a74535 Update list of filtered routes
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2023-09-04 12:19:16 +01:00
0e5cce4a52 Added redis data migration post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2023-09-04 10:07:25 +01:00
2007c280c8 Added Ian tweet
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2023-03-03 08:43:47 +00:00
03aadb59fe Replaced tweet images while still possible
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2023-02-03 14:47:58 +00:00
0f90c7c0d0 Update filter routes 2022-07-22 18:38:12 +00:00
fbf3657b77 Remove draft post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-21 08:02:32 +01:00
21f1d9216c Updated redirect rules
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-21 07:03:17 +01:00
0bd69bd3f3 Handle more missing icons
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-19 07:08:25 +01:00
de146693aa Added missing image
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-19 07:05:32 +01:00
57bd0f0fcc Updated favicons
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-19 06:55:41 +01:00
41e4d4dab0 Added tweet from Ian about nsenter
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-15 21:05:18 +01:00
176a5855de Fixed redirect
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-05 07:23:58 +01:00
1b2e0d7501 Added redirect logic
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-05 05:41:52 +01:00
db94ace86e fixed typo in title 2022-07-05 04:04:16 +00:00
60babf9451 Fixed typo
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-04 09:13:46 +01:00
b5d6232b59 Added managing kubernetes post
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-07-04 06:50:57 +01:00
3a123ab8ee Include pico.css in src
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-06-22 20:13:42 +01:00
652cee0e2e Migrated T.I.L. posts to blog
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-06-22 20:04:49 +01:00
080912401b Updated docker image location
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-05-29 17:25:41 +01:00
8acfafab45 Updated index title
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-05-29 17:12:18 +01:00
0e97c82aa1 Fixed typo issue
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-05-29 17:10:29 +01:00
6307509542 Updated mastodon link 2022-05-14 22:06:37 +00:00
118c8f89c0 Longer initial glitch
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2022-05-03 07:03:56 +01:00
161 changed files with 6580 additions and 157 deletions

View File

@@ -1,4 +1,4 @@
FROM node:16-alpine
FROM node:16.17-alpine
RUN apk update && apk add python3 make gcc g++

View File

@@ -1,6 +1,6 @@
.DEFAULT_GOAL := default
IMAGE ?= docker.cluster.fun/averagemarcus/blog:latest
IMAGE ?= rg.fr-par.scw.cloud/averagemarcus/blog:latest
.PHONY: test # Run all tests, linting and format checks
test: lint check-format run-tests
@@ -38,8 +38,8 @@ docker-publish:
@docker push $(IMAGE)
.PHONY: run # Run the application
run:
@npm start
run: docker-build
@docker run --rm -it -p 8000:8000 $(IMAGE)
.PHONY: ci # Perform CI specific tasks to perform on a pull request
ci:
@@ -47,7 +47,7 @@ ci:
.PHONY: release # Release the latest version of the application
release:
@kubectl --namespace blog set image deployment blog web=docker.cluster.fun/averagemarcus/blog:$(SHA)
@kubectl --namespace blog set image deployment blog web=rg.fr-par.scw.cloud/averagemarcus/blog:$(SHA)
.PHONY: help # Show this list of commands
help:

17
app.js
View File

@@ -30,12 +30,18 @@ app.use(express.static(__dirname + '/build'));
// Lets try and slow down some of those exploit crawlers
app.use("/", require('./filterRoutes'));
// Redirects
app.use("/", require('./redirects'));
// Handle some iOS icon 404s
app.get("/apple-touch-icon*", function(req, res) {
res.sendFile(__dirname + '/build/images/favico/' + req.url, () => {
res.sendFile(__dirname + '/build/images/favico/apple-touch-icon.png');
});
});
app.get("/images/favico/*.png", function(req, res) {
res.sendFile(__dirname + '/build/images/favico/apple-touch-icon.png');
});
app.get("/favicon.png", function(req, res) {
res.sendFile(__dirname + '/build/images/favico/apple-touch-icon.png');
@@ -47,11 +53,15 @@ app.get("/robots.txt", function(req, res) {
app.get(/(\/(feeds?|rss|atom)\/?|feed.xml|rss.xml|index.rss|feed.rss)$/, function(req, res) {
res.redirect(301, '/feed.xml');
})
});
app.get(/.+\/manifest.json$/, function(req, res) {
res.redirect(301, '/manifest.json');
});
app.get("/healthz", function(req, res) {
res.sendStatus(200);
})
});
var md = markdown({html: true});
md.parser.use(emoji);
@@ -81,6 +91,9 @@ Handlebars.registerHelper("buildTitle", function(title, siteTitle){
Handlebars.registerHelper("jointags", function(tags){
return (tags || '').split(' ').join(',');
});
Handlebars.registerHelper("encodetitle", function(str){
return (str || '').replaceAll(' ', '%2B');
});
Metalsmith(__dirname)
.use(define({

View File

@@ -4,29 +4,82 @@ const blackHole = function (req, res) {
res.redirect("https://crawler-test.com/redirects/infinite_redirect");
};
router.all('(/*)?/wp-admin/', blackHole);
// Specifically allow, but mark as not-found, any `/.well-known/` paths
router.all(/^\/\.well-known\//, function(req, res) {
res.sendStatus(404);
});
// Block access to any root-level dot files
router.all(/^\/\./, blackHole);
// Block access to file types I don't use
router.all(/.*\.php$/, blackHole);
router.all(/.*\.asp$/, blackHole);
router.all(/.*\.aspx$/, blackHole);
router.all(/.*\.gz$/, blackHole);
router.all(/.*\.bz2$/, blackHole);
router.all(/.*\.tar$/, blackHole);
router.all(/.*\.sql$/, blackHole);
router.all('(/*)?/wp-includes/(*)?', blackHole);
router.all('/.git/*?', blackHole);
router.all('/.env', blackHole);
router.all('/autodiscover/autodiscover.xml', blackHole)
router.all('/.well-known/autoconfig(/.*)?', blackHole)
router.all('/admin(/.*)?', blackHole)
router.all(/.*\.env$/, blackHole);
router.all(/.*\.ini$/, blackHole);
router.all(/.*\.pem$/, blackHole);
router.all(/.*\.key$/, blackHole);
router.all(/.*\.crt$/, blackHole);
router.all(/.*\.properties$/, blackHole);
// Block access to any .git folders
router.all(/.*\/\.git\/.*/, blackHole);
// Block attempts to navigate up directories
router.all(/.*\.\.\/.*/, blackHole);
// Block access to special Mac folder
router.all('/__MACOSX/*?', blackHole);
// Block access to Workdpress files
router.all('(/*)?/wp-admin/', blackHole);
router.all('(/*)?/wp-includes/?(*)?', blackHole);
router.all('(/*)?/wp-content/?(*)?', blackHole);
router.all('/wordpress/', blackHole);
router.all('/wp(2)?/', blackHole);
router.all('/backup/', blackHole);
// Block access to possible databases
router.all('/database/', blackHole);
router.all('/db/', blackHole);
router.all('/db-backup/', blackHole);
router.all('/db_backup/', blackHole);
router.all('/sql-backup/', blackHole);
router.all('/sql/', blackHole);
router.all('/pma/', blackHole);
router.all('/phpmyadmin/', blackHole);
router.all('/mysqladmin/', blackHole);
router.all('/mysql/', blackHole);
router.all('/myadmin/', blackHole);
// Block access to possible backups and uploads
router.all('/backup/', blackHole);
router.all('/uploads/', blackHole);
router.all('/test/', blackHole);
router.all('/temp/', blackHole);
router.all(/.*\/dbbackup\/.*/, blackHole);
router.all('/bak/', blackHole);
router.all('archive.zip', blackHole);
// Block access to possible credentials
router.all('/env.test', blackHole);
router.all('/admin(/.*)?', blackHole)
router.all('/credentials(/*)?', blackHole);
router.all(/.*credentials\.json$/, blackHole);
router.all(/.*keys\.json$/, blackHole);
router.all(/.*secrets\.json$/, blackHole);
// Block system paths
router.all('/etc/*', blackHole);
router.all('/var/*', blackHole);
router.all('/usr/*', blackHole);
router.all('/user/*', blackHole);
// Block misc stuff
router.all('/data/owncloud.log', blackHole);
router.all('/autodiscover/autodiscover.xml', blackHole)
router.all('/.well-known/autoconfig(/*)?', blackHole)
router.all('/sites/default/files/', blackHole);
router.all(/.*\/mail\/config-.+\.xml/, blackHole);
router.all(/archive\.zip/, blackHole);
router.all('/bitnami/*', blackHole)
router.all('/aws/*', blackHole)
// Block methods I don't support
router.post('*', blackHole);
router.put('*', blackHole);
router.delete('*', blackHole);

8
redirects.js Normal file
View File

@@ -0,0 +1,8 @@
const express = require('express');
const router = express.Router();
router.get('/2022-07-04-managing-kubernetes-without-loosing-your-cool(/)?', function(req, res) {
return res.redirect("/2022-07-04-managing-kubernetes-without-losing-your-cool/")
});
module.exports = router

View File

@@ -1,15 +1,15 @@
.glitch-image:hover, .glitch:hover, a:hover {
animation-iteration-count: infinite
animation-iteration-count: infinite;
}
.glitch-image {
animation: shift 3s ease-in-out .2s alternate;
animation: shift 3s ease-in-out .2s alternate 5;
}
.glitch, a:hover {
position: relative;
text-shadow: 0.05em 0 0 var(--primary-hover), -0.03em -0.04em 0 var(--primary), 0.025em 0.04em 0 var(--primary-inverse);
animation: glitch 2s ease alternate, shift 2s ease alternate;
animation: glitch 2s ease alternate 5, shift 2s ease alternate 5;
&::before, &::after {
position: absolute;

5
src/css/pico.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -73,7 +73,7 @@ a:hover {
a.social {
svg {
margin: 4px;
fill: var(--text-color);
fill: #fff !important;
}
&:hover {

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
src/images/emf-airfryer.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

BIN
src/images/emf-food.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
src/images/emf-jo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
src/images/emf-jsoxford.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
src/images/emf-lasers.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
src/images/emf-terence.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
src/images/emf-van.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="192.000000pt" height="192.000000pt" viewBox="0 0 192.000000 192.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,192.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1055 1592 c-45 -10 -154 -99 -169 -137 -4 -11 -10 -45 -12 -75 -5
-64 -7 -76 -22 -112 -11 -26 -9 -51 8 -118 5 -19 11 -47 14 -63 3 -15 11 -40
18 -55 29 -60 4 -115 -57 -125 -11 -2 -35 -11 -52 -20 -18 -10 -33 -15 -33
-11 0 4 -6 2 -12 -4 -7 -5 -29 -13 -48 -17 -45 -10 -121 -48 -140 -72 -41 -49
-72 -93 -65 -93 4 0 2 -7 -5 -15 -7 -8 -9 -15 -6 -15 4 0 2 -9 -4 -20 -6 -11
-13 -38 -15 -60 -2 -22 -9 -58 -15 -80 -6 -23 -13 -58 -16 -78 -2 -20 -7 -50
-10 -67 -12 -57 -15 -90 -17 -223 l-2 -132 706 0 706 0 -3 58 c-4 90 -12 149
-28 201 -8 27 -12 52 -9 55 3 3 2 13 -2 23 -5 10 -9 24 -11 30 -1 7 -9 32 -17
55 -19 54 -41 128 -58 196 -7 28 -17 52 -21 52 -5 0 -7 4 -3 9 3 5 1 12 -5 16
-5 3 -17 22 -26 41 -15 30 -89 94 -110 94 -4 0 -26 9 -48 20 -23 11 -50 21
-61 23 -11 2 -33 9 -48 15 -16 7 -31 12 -34 12 -16 0 -93 45 -93 54 0 13 52
166 73 215 9 21 12 44 7 60 -4 14 -6 64 -4 111 3 101 -8 130 -68 187 -60 57
-123 79 -183 65z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/images/k9s.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

BIN
src/images/marcus-transparent.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 MiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="499px" height="348px">
<foreignObject x="0" y="0" width="499px" height="100%" fill="#eade52">
<style>
.tweetsvg{clear:none;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.tweetsvg.text{font-size: 23px;}
a.tweetsvg{color: rgb(27, 149, 224); text-decoration:none;}
.tweetsvg a { color: #1da1f2; }
blockquote.tweetsvg{margin:1px; background-color:#fefefe; border-radius:2%; border-style:solid; border-width:.1em; border-color:#ddd; padding:1em; font-family:sans; width:29rem}
blockquote.subtweet{width:26rem; padding:0.8em;}
.avatar-tweetsvg{float:left; width:4rem; height:4rem; border-radius:50%;margin-right:.5rem;;margin-bottom:.5rem;border-style: solid; border-width:.1em; border-color:#ddd;}
h1.tweetsvg{margin:0;font-size:15px;text-decoration:none;color:#000;}
h2.tweetsvg{margin:0;font-size:15px;font-weight:normal;text-decoration:none;color:rgb(101, 119, 134);}
p.tweetsvg{font-size:1rem; clear:both;}
hr.tweetsvg{color:#ddd;}
.media-tweetsvg{border-radius:2%; max-width:100%;border-radius: 2%; border-style: solid; border-width: .1em; border-color: #ddd;}
time.tweetsvg{font-size:15px;margin:0;margin-left: 2px;padding-bottom:1rem;color:rgb(101, 119, 134);text-decoration:none;}
.tweetsvg.reply{font-size:15px;color:rgb(110, 118, 125);}
.tweetsvg.footer{display:block;}
</style>
<blockquote class="tweetsvg" xmlns="http://www.w3.org/1999/xhtml">
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/QuinnyPig/"><img class="avatar-tweetsvg" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB&#43;AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAaAAADAQADAAAAAAAAAAAAAAAEBgcFAAED/8QAGQEBAAMBAQAAAAAAAAAAAAAABAEDBQAC/9oADAMBAAIQAxAAAAGyhmTCOWzPN1M1rLn9AQTkmrM/j0uM89aBabvv5ukzMHiix1ZU2tK9pkbRD4BvrJ//xAAeEAACAgIDAQEAAAAAAAAAAAADBAECAAUGEBIHFP/aAAgBAQABBQLHWQprPctbKdDkT1CqMDaB19CJMJahZfJELzxgNl3uub2mz1ReVoqW&#43;a2nljrmS4/zMFgYda8JmER2rTGDhXFtdvfbMpeS0XCIGKtrs9PttNWQmKN0XEa8khTC&#43;q2T3L1I/8QAHxEAAQMDBQAAAAAAAAAAAAAAAQAREgIDIQQQFCIx/9oACAEDAQE/AUNMGyqhEsrTSyuviutPCJNIcLlUmzIbf//EAB8RAAIBAwUBAAAAAAAAAAAAAAABEQIDEhATITEyUf/aAAgBAgEBPwEd4pcqSvof0t&#43;SJ4Nt546f/8QAKhAAAgECBAQFBQAAAAAAAAAAAQIDABEEEiFBEBMiMSMyUmGBJEJRcaH/2gAIAQEABj8Cp8RiHyxp3NEYS0EW3Tdq&#43;pfmqdioFLLEbg/zjhYdnl1&#43;KHhLc/laytGlv1WMhBJj0I44OO/SvVb3rnc1tPLbakdXsLaipj6rcUxevMVgnxUQcyZW9HessTy5k8&#43;cWrM33cDLPIsaDuTTxxXGGTyr6velQ2zJsaMmUEnqa29eDIrW7jccA&#43;KmaY37E6Ck2B0q6MVcVHzScl&#43;smgY2s69iDQvJn9nr/8QAJBABAAICAQQCAgMAAAAAAAAAAQARIUExEFFhgXGxocHR4fD/2gAIAQEAAT8hgxCXB2rnIMeVx6hd8Cb7CdqK9rs9QhvjvT&#43;4bXP8MSEONInq8EN/x14s9xbNfUTGACFmFtyQuYrKDvydbvxRTizuXdOp3CXT8OU4x9TEewV8dOZ4bomMz1ilbf6JRS/f7JkUFPOhCkc4v0dOLJVT4Dglh7a9XGGsBh814gdCqCtRMfmNrYmkNTCjNF375n//2gAMAwEAAgADAAAAEP8APT7v90P7/8QAHBEAAgICAwAAAAAAAAAAAAAAAAERITFBUXGh/9oACAEDAQE/EEpcGYE6KItR2OzDcJWTbsL3jsg//8QAGREBAQEBAQEAAAAAAAAAAAAAAQARIUFR/9oACAECAQE/EFw2TeFnTW8ghxFDtjp7JBfYL//EACAQAQEAAgEFAQEBAAAAAAAAAAERACExEEFRYZFxgcH/2gAIAQEAAT8QyhBOK&#43;AA2q6DCSaZCXdgvga8uTlIEx7Ao/tMEoLdHkF2TqlqrH7ofcXQJUg31RjJgcOSSGsHAVKqUQ/an4HV9bbA7grzwMdCSoIPD58YY1xyZTn7jBNMNQESfHrpMhhalRKpNb&#43;4taYGhO3kOd&#43;clngTiKoOP4/3EwBIi05b99DYjYZqz264NuPSaHBLDzfgVcCgVkiCsF/o/uKoBwAJTWtFw/bFEBCVbm&#43;eOnZqAB9fcjxj5bbdwafuI95DYoFRz7YfIFgwAm3kXtDNz1sComxyaw27pJI7dj7n/9kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA=" /></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/QuinnyPig/"><h1 class="tweetsvg">Corey Quinn / @quinnypig@awscommunity.social</h1></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/QuinnyPig/"><h2 class="tweetsvg">@QuinnyPig</h2></a>
<p class="tweetsvg text">So @docker has a new monetization strategy that's definitely innovative. "Docker Desktop requires you pay them if you're at a large company," which they define as over $10 million in revenue or 250 employees.<br /><br /><a rel="noopener" target="_blank" href="https://www.docker.com/blog/updating-product-subscriptions/">docker.com/blog/updating-…</a></p>
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/QuinnyPig/status/1432720164169076755">
<time class="tweetsvg" datetime="2021-08-31T15:01:20Z">3:01 PM · Aug 31, 2021</time>
</a>
</blockquote>
</foreignObject>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="499px" height="320px">
<foreignObject x="0" y="0" width="499px" height="100%" fill="#eade52">
<style>
.tweetsvg{clear:none;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.tweetsvg.text{font-size: 23px;}
a.tweetsvg{color: rgb(27, 149, 224); text-decoration:none;}
.tweetsvg a { color: #1da1f2; }
blockquote.tweetsvg{margin:1px; background-color:#fefefe; border-radius:2%; border-style:solid; border-width:.1em; border-color:#ddd; padding:1em; font-family:sans; width:29rem}
blockquote.subtweet{width:26rem; padding:0.8em;}
.avatar-tweetsvg{float:left; width:4rem; height:4rem; border-radius:50%;margin-right:.5rem;;margin-bottom:.5rem;border-style: solid; border-width:.1em; border-color:#ddd;}
h1.tweetsvg{margin:0;font-size:15px;text-decoration:none;color:#000;}
h2.tweetsvg{margin:0;font-size:15px;font-weight:normal;text-decoration:none;color:rgb(101, 119, 134);}
p.tweetsvg{font-size:1rem; clear:both;}
hr.tweetsvg{color:#ddd;}
.media-tweetsvg{border-radius:2%; max-width:100%;border-radius: 2%; border-style: solid; border-width: .1em; border-color: #ddd;}
time.tweetsvg{font-size:15px;margin:0;margin-left: 2px;padding-bottom:1rem;color:rgb(101, 119, 134);text-decoration:none;}
.tweetsvg.reply{font-size:15px;color:rgb(110, 118, 125);}
.tweetsvg.footer{display:block;}
</style>
<blockquote class="tweetsvg" xmlns="http://www.w3.org/1999/xhtml">
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Podman_io/"><img class="avatar-tweetsvg" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB&#43;AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAbAAADAQEAAwAAAAAAAAAAAAAEBQYDAQACB//EABYBAQEBAAAAAAAAAAAAAAAAAAECAP/aAAwDAQACEAMQAAAB&#43;yq9cKobifx1E2U&#43;5uDkxTjhc9MUpcTYqUtoRwTpqblzPvDS4r//xAAfEAEAAwEAAgIDAAAAAAAAAAADAQIEAAURExQSIiT/2gAIAQEAAQUC5roqvJhIWFrxZMydqW0S8xiwZ1ItGxwt2K/2cma9iTPHrd5m9KhcK31WzmVvEpS674980/Huh4&#43;cHXMtFM9jNSdJ/vq20tYyHI19OKblvBlsOb65eNK9I5hJo/HSPf0vw5yKe//EABsRAAMAAwEBAAAAAAAAAAAAAAABIQIRMRNR/9oACAEDAQE/AVKbyOjpTHaZH08/jIj/xAAaEQACAwEBAAAAAAAAAAAAAAAAAQIRITFR/9oACAECAQE/AVmlyOjV6UxKtIzrC/RyXEf/xAA0EAACAAQCBQoFBQAAAAAAAAABAgADERIEMRMhIkFhEEJRUmKBkaGx0QUUMjPwI1NxweH/2gAIAQEABj8CjQyGKhfuOPSAJvxGeGOS7NfCkWJ8Qn39U0B8KQBNdnlPzmzU8gkyfuvl2R0w2iFW5td7GHks630uLnN&#43;JiVLuRrjUGutabxBSfRiCZb8eMfLTTX9tjzh7xiRvNrd1P8ADEq51Ws5Mz2oM2RJlXONbjfEhcSkoqn0aXOMXYykaQZHsiJK7zNWnr6AxLc5OjKfX3g4nEyr0mD6ztAa9QHdDzFQSke/ZbI0y9odcXtTLLmdlyPRFcJskS79haB&#43;H5wiQLrgksv45f3Csi3MjhqdPT5RSu0M0mKLvOGlS5ctVbq6jBEycqm2h/g98AtjE2lsFFqSMoZnDZBVuztH4eT9RK0yO8RsNp06r6m8YyGHTjQv7DziqrVjmx1k8n//xAAjEAEAAQMEAgMBAQAAAAAAAAABEQAhMUFRgZFhoRBxsfDB/9oACAEBAAE/IaV3qwJHQzrvsfdHEaZU&#43;E6lXQmeP9p01sgIPDYCz&#43;/EEyVzc1H/AF2rSXaS7MvlWpVtLG2w8mmlSJMhM3mFkpj9nG0bdi9SCqJ6y&#43;HvNSQ3pHfAO&#43;yhS0OM0TRPyY8piJncocOXQxZnOTxUCSbMXSrXeekMnoc0D6GLyW&#43;it5rkM0AXj&#43;a1Jp0aLlAYoCBElZsJLGwU0LLoCSqizY7abxwRGk9axSiBkYHZqNp3Y06TzTmIzGLkf8pLzU0fgqwOORELAlloyks8ItpDF34GAM2BNxyV79EP1g890ndQV&#43;0HWsT5S/H/2gAMAwEAAgADAAAAEN/14ddKlTv/xAAeEQACAgICAwAAAAAAAAAAAAABEQAxIUFh8KHR4f/aAAgBAwEBPxAFa9e5kS8Q4sXBwPHyXKORAYI04QMAah2QO6uBBAy&#43;1P/EACIRAAIBAwIHAAAAAAAAAAAAAAERACExQdHwUWFxobHB8f/aAAgBAgEBPxAFa&#43;NZUXoQ0sXG9/YZOTxSEJbtHAXWIQAOBHHOvaKEE//EACEQAQACAgICAgMAAAAAAAAAAAERIQAxQVFhgRCxcZGh/9oACAEBAAE/EMieCGoUrCTpUNHIyH9oB&#43;xC9GOh2XzChQ8xjo1PaqHA8bFUWz4nQMgg6H0TAcgdwzQmKaGC8yS/WNMJkqBRIgUAWEARiyjFBAVBeGVOrFM0Gbw70cEQ6nApumrLbc1j0jsFoRMJW5eAeHn3jbrfCColKC3rIqGxp0pwpq4nbhClDLrVLAwMq6jILGaRV8j5yLACoLWM7H0C7wprLIDGquo/YxgpyAqu0FGAslXROcJ7xTrrYIN0t44p28qJILoZEF24014soxwMhKkIJvE8Z/7qkVoMdq5ogsCUJQkoS4A2sEHMlHwUeHNSQkCQwp9gyYAX7CaFkR3BYfeEiSI5Qr0VIPbjONL0sqqXRuIm1&#43;FfS2OicJ5EwtmPBD4T0kXnKFMb/AYP6PTG3bX&#43;8n1o&#43;P/ZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg" /></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Podman_io/"><h1 class="tweetsvg">Podman</h1></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Podman_io/"><h2 class="tweetsvg">@Podman_io</h2></a>
<p class="tweetsvg text">Happy to announce Podman v3.3.0! Support for non-Linux machines, restarting containers now supported, checkpoint/restore, and more! Check out the Release Announcement for details! <a rel="noopener" target="_blank" href="https://podman.io/releases/2021/08/31/podman-release-v3.3.0.html">podman.io/releases/2021/…</a> <a rel="noopener" target="_blank" href="https://twitter.com/hashtag/podman">#podman</a> <a rel="noopener" target="_blank" href="https://twitter.com/hashtag/Opensource">#Opensource</a></p>
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/Podman_io/status/1432800271873323010">
<time class="tweetsvg" datetime="2021-08-31T20:19:39Z">8:19 PM · Aug 31, 2021</time>
</a>
</blockquote>
</foreignObject>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="499px" height="348px">
<foreignObject x="0" y="0" width="499px" height="100%" fill="#eade52">
<style>
.tweetsvg{clear:none;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.tweetsvg.text{font-size: 23px;}
a.tweetsvg{color: rgb(27, 149, 224); text-decoration:none;}
.tweetsvg a { color: #1da1f2; }
blockquote.tweetsvg{margin:1px; background-color:#fefefe; border-radius:2%; border-style:solid; border-width:.1em; border-color:#ddd; padding:1em; font-family:sans; width:29rem}
blockquote.subtweet{width:26rem; padding:0.8em;}
.avatar-tweetsvg{float:left; width:4rem; height:4rem; border-radius:50%;margin-right:.5rem;;margin-bottom:.5rem;border-style: solid; border-width:.1em; border-color:#ddd;}
h1.tweetsvg{margin:0;font-size:15px;text-decoration:none;color:#000;}
h2.tweetsvg{margin:0;font-size:15px;font-weight:normal;text-decoration:none;color:rgb(101, 119, 134);}
p.tweetsvg{font-size:1rem; clear:both;}
hr.tweetsvg{color:#ddd;}
.media-tweetsvg{border-radius:2%; max-width:100%;border-radius: 2%; border-style: solid; border-width: .1em; border-color: #ddd;}
time.tweetsvg{font-size:15px;margin:0;margin-left: 2px;padding-bottom:1rem;color:rgb(101, 119, 134);text-decoration:none;}
.tweetsvg.reply{font-size:15px;color:rgb(110, 118, 125);}
.tweetsvg.footer{display:block;}
</style>
<blockquote class="tweetsvg" xmlns="http://www.w3.org/1999/xhtml">
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/manuel_zapf/"><img class="avatar-tweetsvg" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB&#43;AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAaAAACAwEBAAAAAAAAAAAAAAAEBQECBgAD/8QAGAEAAwEBAAAAAAAAAAAAAAAAAAMEAQL/2gAMAwEAAhADEAAAAXtiEWGI0&#43;qSLfq4dwxHmjGRAzPq0nuecjiiEFtZhoL6E9nUVvHXP//EACQQAAICAgIBAwUAAAAAAAAAAAIEAQMABRETFAYQEhUgIiMx/9oACAEBAAEFAi1Q27LYaxZRdjZ/s0DQN3RqB5&#43;jhkqMC76pXYBNOtMR3PVZnRGdEZZEeZuepkq1qhOpeuZ9tswdeUsH5YmXNUEUnDcWTLWMredbQpTRh18kFf5TnGJD8KP7P2f/xAAbEQACAgMBAAAAAAAAAAAAAAABEQAQAgMSIv/aAAgBAwEBPwGHShQhy8u&#43;ilX/xAAaEQACAgMAAAAAAAAAAAAAAAAAAQIQERIx/9oACAECAQE/ARTMUu0jVV//xAAqEAABBAAEBAUFAAAAAAAAAAABAAIDERIhMVEEEBQzEyIyQZIgI2Fxwf/aAAgBAQAGPwIMkkNNjsUvHknLY2&#43;okIjhGWz2L9Summc/h5X&#43;nZyvxnLuuUbOrdb2HzKNjuIdK10jbCoCG2/pQz8O4Y4ZQctV3JPku5L8lEdmldNqQMwmVnaw4bN846Js5LHm51LzRGttk2hhFqrFDk3OmM1X246O/usQy/qxacx&#43;c/q//8QAIhABAAIDAAEEAwEAAAAAAAAAAQARITFBYRBRgZFxobHB/9oACAEBAAE/IdZxLvMSJwyFE1UNL9BqeGcvwZ7CtqvghbavwS1uhhkqsS4NE47Ao4U9E76&#43;FUvkytV89FPdUX8hHbMh9n8hAcCoGaqv9mYFIydlnIMaZLFMDoijawuqt0MtzL/qu912ZUG2dmgUxa9/kbfBD2hCm9qKYFCnwiAs0MVMncr7T8fXn0EJz0Z//9oADAMBAAIAAwAAABCHDxnbrpbL/8QAGREAAgMBAAAAAAAAAAAAAAAAAREAECFB/9oACAEDAQE/EBpjguiRcBgL7GV//8QAGREAAwEBAQAAAAAAAAAAAAAAAAERIRAx/9oACAECAQE/EIkhDawgtwTwywSGlnP/xAAjEAEBAAICAgEFAQEAAAAAAAABEQAhMUFRcWGBkcHR8KGx/9oACAEBAAE/EDJEIIpmNuQHJMH1QCrxDJMFJQEedWx8uc1hALMsIE0YcPm4en46vxgW0Sbwrpxek/qDf8yJJ6wmu51vCu3Cap33jVvTZlKNCpbC8YrSU0aJ11g/9f8AmLeak3gdsc6UM2fswIjWcso27D7NZotEphSaEOd9OBaAHAGD5wXyoGIJk4dfzDYYtQgWhhE8bxY1ZAcm09XEonnZ4awZSz9sAjuiqJ/Dka2DgfK/iYj601vRfk6xLXQVsXVvqn1wNlMIvfrHlgesIKRD2L&#43;oYtQfM/PjKTwY0HrJrGCHaZ//2SAgICAgICAgICAgICAgICAgICAgICAg" /></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/manuel_zapf/"><h1 class="tweetsvg">Manuel Zapf</h1></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/manuel_zapf/"><h2 class="tweetsvg">@manuel_zapf</h2></a>
<p class="tweetsvg text">That whole discussion around <a rel="noopener" target="_blank" href="https://twitter.com/Docker/">@Docker</a>'s pricing change is tiring to me. We owe them a lot, it made all of our devs live much easier. Why should they *NOT* earn money with that? You only got to pay for a nicer experience on certain OS, when you can afford. I see 0 issues with that.</p>
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/manuel_zapf/status/1432974196632604676">
<time class="tweetsvg" datetime="2021-09-01T07:50:46Z">7:50 AM · Sep 1, 2021</time>
</a>
</blockquote>
</foreignObject>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="499px" height="306px">
<foreignObject x="0" y="0" width="499px" height="100%" fill="#eade52">
<style>
.tweetsvg{clear:none;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.tweetsvg.text{font-size: 23px;}
a.tweetsvg{color: rgb(27, 149, 224); text-decoration:none;}
.tweetsvg a { color: #1da1f2; }
blockquote.tweetsvg{margin:1px; background-color:#fefefe; border-radius:2%; border-style:solid; border-width:.1em; border-color:#ddd; padding:1em; font-family:sans; width:29rem}
blockquote.subtweet{width:26rem; padding:0.8em;}
.avatar-tweetsvg{float:left; width:4rem; height:4rem; border-radius:50%;margin-right:.5rem;;margin-bottom:.5rem;border-style: solid; border-width:.1em; border-color:#ddd;}
h1.tweetsvg{margin:0;font-size:15px;text-decoration:none;color:#000;}
h2.tweetsvg{margin:0;font-size:15px;font-weight:normal;text-decoration:none;color:rgb(101, 119, 134);}
p.tweetsvg{font-size:1rem; clear:both;}
hr.tweetsvg{color:#ddd;}
.media-tweetsvg{border-radius:2%; max-width:100%;border-radius: 2%; border-style: solid; border-width: .1em; border-color: #ddd;}
time.tweetsvg{font-size:15px;margin:0;margin-left: 2px;padding-bottom:1rem;color:rgb(101, 119, 134);text-decoration:none;}
.tweetsvg.reply{font-size:15px;color:rgb(110, 118, 125);}
.tweetsvg.footer{display:block;}
</style>
<blockquote class="tweetsvg" xmlns="http://www.w3.org/1999/xhtml">
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/KaiPMDH/"><img class="avatar-tweetsvg" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAH4gALABcAEAAdAAhhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB&#43;AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAYAAADAQEAAAAAAAAAAAAAAAAFBgcEA//EABgBAQEBAQEAAAAAAAAAAAAAAAMEAQIF/9oADAMBAAIQAxAAAAFllmleJmZhm&#43;UqaS6LlFaGGDSYyP3Bxbg1UQdXafNXcUR1jOvSNJlfcjZMJ6mXM//EAB0QAAMBAQEBAAMAAAAAAAAAAAIDBAEFABETITH/2gAIAQEAAQUC71wSgqvPz7TE7xmMYSx29FoRNX7vPop6WfM9rt9jnCzjmzo&#43;fSKQwzcy5e/Q/lahTFwD350GD8PZxS536To5uAdXpbVysbaiiVbTDynBvoqJVMO92oqENr5ZtJnhz0sDKGdOcJKKBRtE/J1jf//EAB0RAAIDAAIDAAAAAAAAAAAAAAACAQMRBCETIjH/2gAIAQMBAT8BiWE5U1d4S2zoyr48kur6wzJFuZBbWb2F&#43;6f/xAAbEQADAAMBAQAAAAAAAAAAAAAAAQIREiEDMf/aAAgBAgEBPwHSUPwVGvCW3WUKsdK6jRMqF8LXD//EACcQAAIBBAEEAgEFAAAAAAAAAAECAAMREiETBCIxQTJRECNhYnGR/9oACAEBAAY/AmBq51GHYALW/czLqS7r9Azj4no/Tk3/ANnTMe5Uy8e4vUvTtSY2HoQLT6XQ8WYWj8wGYAFlm5ZIG5GuPEoVK7PbQCjSyn6DG05nsQRoy&#43;MOpS5KIya&#43;7SgKRYeDoaWUVDgM1/mYp6W/Efsy0Jtu0TLjFLHbHe9ziWqtP&#43;aC4iLTqCuRb5Iblv6lge0&#43;pufqpneYvaxbI61HppZND4&#43;DDRWoU4e4Nbf5o4&#43;zZtThxUo5DAW8SnknE6v368x1pmnSYr7Np//EACIQAAICAgEFAAMAAAAAAAAAAAERACExQWFRcZGhwRCx0f/aAAgBAQABPyESDJshUqcuw5VH&#43;gD2alnP8nUPjfhKBxxzAr6gmnLmUFAYAUZuiMuDikcqDAzbFqEyceUlj7CuWgVkyk4CDfQRSIo7cAFjqZzWBFQ7/IIalqiwo53BS9mpBSipomLC9vmP38wRWAt0ZSYIivUEl48R2vnbR0gvKEwwbogvcCljJrCH3AFt6Gh09w/1uVhfvMDAOpLEP7FgWtm7H8CRYgfdNqramd4JULY8wTCRGOpuMkSBIRD9z//aAAwDAQACAAMAAAAQlOpLEtVIC//EABwRAQADAQEAAwAAAAAAAAAAAAEAESExUXGRwf/aAAgBAwEBPxA1Lw&#43;pciyleVifsew6zT9xz2WgMvSnJQU2TdFl8j6GbfxP/8QAGhEAAwEBAQEAAAAAAAAAAAAAAAERIUFxYf/aAAgBAgEBPxBrNLpEViGiiYiYBbUM8drXzow370Qovnp//8QAHhABAQACAgMBAQAAAAAAAAAAAREAITFBUWGBcfD/2gAIAQEAAT8Qdy6KqSjwHQFX7jNdRVRpihznFtQg16bL9bOS7MQWBFUQCJ6bfxxH9YwdxRTpZtxbg6ZDWxHralc2YKQIER8Nv3KIXCaT5jUB/qZAD7KF&#43;OvkyaxugINAkIMTfWV/SyUAVOdcLccAKQaSaOZ5xfNkOL5xAZyQNu5iSZAws9jl4SuGzBOtcCbbkauomyaxYC60RyZB31jOABS3sejpMMAJHl04LGyQ0ScebMEs6xTwh2St0D6tfW3DNl61ok6&#43;4y7YFZ7DOSLcxXyKzs&#43;fT7ybSPrZlM8QpQN3zwJg4qUhYCsrsEoSa8AeCBFLRbrp6cIpBKTQbU4J9yVwqKsSHKprBa6WLAQaqgNUPuPAEejABXg8vWBTowWDonJrnNWXDkGavDnXef/ZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==" /></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/KaiPMDH/"><h1 class="tweetsvg">Kai @kaipmdh@hachyderm.io</h1></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/KaiPMDH/"><h2 class="tweetsvg">@KaiPMDH</h2></a>
<p class="tweetsvg reply">Replying to <a rel="noopener" target="_blank" href="https://twitter.com/Marcus_Noble_/">@Marcus_Noble_</a></p>
<p class="tweetsvg text">Can I add my "please write on this" request? I would very much like something like this with an at-a-glance view, public transport status, etc. Would be helpful as a starting point.</p>
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/KaiPMDH/status/1514576057537605642">
<time class="tweetsvg" datetime="2022-04-14T12:07:26Z">12:07 PM · Apr 14, 2022</time>
</a>
</blockquote>
</foreignObject>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="499px" height="208px">
<foreignObject x="0" y="0" width="499px" height="100%" fill="#eade52">
<style>
.tweetsvg{clear:none;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.tweetsvg.text{font-size: 23px;}
a.tweetsvg{color: rgb(27, 149, 224); text-decoration:none;}
.tweetsvg a { color: #1da1f2; }
blockquote.tweetsvg{margin:1px; background-color:#fefefe; border-radius:2%; border-style:solid; border-width:.1em; border-color:#ddd; padding:1em; font-family:sans; width:29rem}
blockquote.subtweet{width:26rem; padding:0.8em;}
.avatar-tweetsvg{float:left; width:4rem; height:4rem; border-radius:50%;margin-right:.5rem;;margin-bottom:.5rem;border-style: solid; border-width:.1em; border-color:#ddd;}
h1.tweetsvg{margin:0;font-size:15px;text-decoration:none;color:#000;}
h2.tweetsvg{margin:0;font-size:15px;font-weight:normal;text-decoration:none;color:rgb(101, 119, 134);}
p.tweetsvg{font-size:1rem; clear:both;}
hr.tweetsvg{color:#ddd;}
.media-tweetsvg{border-radius:2%; max-width:100%;border-radius: 2%; border-style: solid; border-width: .1em; border-color: #ddd;}
time.tweetsvg{font-size:15px;margin:0;margin-left: 2px;padding-bottom:1rem;color:rgb(101, 119, 134);text-decoration:none;}
.tweetsvg.reply{font-size:15px;color:rgb(110, 118, 125);}
.tweetsvg.footer{display:block;}
</style>
<blockquote class="tweetsvg" xmlns="http://www.w3.org/1999/xhtml">
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><img class="avatar-tweetsvg" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB&#43;AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAZAAADAQEBAAAAAAAAAAAAAAADBAYFAgH/xAAZAQACAwEAAAAAAAAAAAAAAAAAAgEEBQP/2gAMAwEAAhADEAAAAffOxUdHgbUvMUy4HwdVFlujx5zc57TbUlsPUSzzdnBBm1WNqG1qBxa3/8QAIRAAAwACAgICAwAAAAAAAAAAAQIDAAQREwUSFBUhIiT/2gAIAQEAAQUCDNQpNngVojIoGS4yiPUmUfbr2BNZgOdqvZrhdhEmTlARlm/XsGa3xHa7TNJ8HKH8M6rlKO&#43;S3NVQuy/ZNzy1eUs59ifXJatbr6V7VFFnVABoTnTc2fG6lU&#43;LABdP&#43;vyiD6z/xAAfEQABBAICAwAAAAAAAAAAAAACAAEDBAURITEiQVH/2gAIAQMBAT8B2vfabSZNibIDt27V3Hy1fIulWJhlFy&#43;q/lTk4h4U98pYHjJl/8QAGREAAgMBAAAAAAAAAAAAAAAAAAECEBEh/9oACAECAQE/AcrphJiqKQ&#43;M/8QAKBAAAQQCAQMEAQUAAAAAAAAAAQACAxESIVETIjEEMkFhIzNCUmKB/9oACAEBAAY/AmtkiLW1yjlG4C705PbHE57SPOaBwky4tSZxOHzt3yml8RHHcmxmJvaK8ox4w4XyiIgwa5Rkh9Owhvk2j6jpsDjsXymtkjixQp13/VEjnxSJxI1wr/DiBTsjSkwFC9GkPaQm4huXztO0A6/5LRpCV8Fyj60ieSgW/wCdy3kO7zYRrKudIIPbI1mRpgP7l0sbe07CEjmlo&#43;2o9lb9vTQa9nZXjGkwNZhXnFRhrv0hTdfdqX1HU3IePC7jkWuFL//EACEQAQACAgICAgMAAAAAAAAAAAEAESExQVFhcYGRscHR/9oACAEBAAE/IVYyo6hAnjwbrUznGEa31LKv3iWpYjfA2dITVBNBuAIClyC2GVneh2xA41b&#43;0IqXJS4vdhNOfJLxV7w53mYIf06iWFisbpNGPQ3gvqBCwOJyvUIqN0WuZU2SwfrEqEZVbPM6IFYlRD0FMu7gWtjWSnONwcCpSNAWNqyrlxXhhYjwA2vRBE0r8UNTBpTPgiHUONLUZmeyvuMgFrLcwF8Ea/Zf5gLw3q0HUsW8XHuf/9oADAMBAAIAAwAAABC5Vu3&#43;VRF7/8QAHxEAAgEEAgMAAAAAAAAAAAAAAREAITFBUZHwYXHR/9oACAEDAQE/EEpF0&#43;QoqKEDWdBVe9RMkkUxu6NpUqAA8FwGCEc4PIMZ2tU3Yz3zP//EABsRAQEAAwADAAAAAAAAAAAAAAEAESFRQYHw/9oACAECAQE/EMrxo&#43;9sgdROBMTBOiBtmZu3/8QAIBABAQADAAMAAwEBAAAAAAAAAREAITFBUWFxgaGRsf/aAAgBAQABPxC4i&#43;GgolOLqtw/bYoJgCEn5wtowUwi19AYmbqqkSDry5wLRCs1nXbkzs0ZUw1vaGF09t&#43;yBzdxQ6n5B512Z1Zq3wOj9kxom67PNH1u/OsEacVKFJT3/uKkNi/fD73HG2LCkBbb84qGBtH339Ypx90gkKN/eIYJ8FUCOx0c/mbcXYOic/MwpxQF1fdn9fONR1WQ6aN/OMioTFS8v3ICRhBVD64UoFLImqcP6ZXMqqBWw9dwkbUnZm0RPjiUHBbMjAnjz&#43;se5RADe63vEdgFbwhju6GG4aFJcvl0YEiUCSO/ibynyjb7/ofWHYt2ZR/4av3KqXqUEmn7ZlM43qUCNr75iSZK0QCqlFSv1hoKIiDg9mj/ADPfgk20mvlz/9kgICAgICAgICAgICAg" /></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><h1 class="tweetsvg">Marcus Noble</h1></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><h2 class="tweetsvg">@Marcus_Noble_</h2></a>
<p class="tweetsvg text">Dammit. My train is delayed. Hope I'm not late for <a rel="noopener" target="_blank" href="https://twitter.com/JSOxford/">@JSOxford</a> code retreat. <a rel="noopener" target="_blank" href="https://twitter.com/hashtag/oxcr">#oxcr</a></p>
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/Marcus_Noble_/status/485697274174275584">
<time class="tweetsvg" datetime="2014-07-06T08:10:28Z">8:10 AM · Jul 6, 2014</time>
</a>
</blockquote>
</foreignObject>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 92 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 72 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 43 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 43 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 42 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 94 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 122 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 297 KiB

View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="499px" height="208px">
<foreignObject x="0" y="0" width="499px" height="100%" fill="#eade52">
<style>
.tweetsvg{clear:none;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.tweetsvg.text{font-size: 23px;}
a.tweetsvg{color: rgb(27, 149, 224); text-decoration:none;}
.tweetsvg a { color: #1da1f2; }
blockquote.tweetsvg{margin:1px; background-color:#fefefe; border-radius:2%; border-style:solid; border-width:.1em; border-color:#ddd; padding:1em; font-family:sans; width:29rem}
blockquote.subtweet{width:26rem; padding:0.8em;}
.avatar-tweetsvg{float:left; width:4rem; height:4rem; border-radius:50%;margin-right:.5rem;;margin-bottom:.5rem;border-style: solid; border-width:.1em; border-color:#ddd;}
h1.tweetsvg{margin:0;font-size:15px;text-decoration:none;color:#000;}
h2.tweetsvg{margin:0;font-size:15px;font-weight:normal;text-decoration:none;color:rgb(101, 119, 134);}
p.tweetsvg{font-size:1rem; clear:both;}
hr.tweetsvg{color:#ddd;}
.media-tweetsvg{border-radius:2%; max-width:100%;border-radius: 2%; border-style: solid; border-width: .1em; border-color: #ddd;}
time.tweetsvg{font-size:15px;margin:0;margin-left: 2px;padding-bottom:1rem;color:rgb(101, 119, 134);text-decoration:none;}
.tweetsvg.reply{font-size:15px;color:rgb(110, 118, 125);}
.tweetsvg.footer{display:block;}
</style>
<blockquote class="tweetsvg" xmlns="http://www.w3.org/1999/xhtml">
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><img class="avatar-tweetsvg" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB&#43;AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAZAAADAQEBAAAAAAAAAAAAAAADBAYFAgH/xAAZAQACAwEAAAAAAAAAAAAAAAAAAgEEBQP/2gAMAwEAAhADEAAAAffOxUdHgbUvMUy4HwdVFlujx5zc57TbUlsPUSzzdnBBm1WNqG1qBxa3/8QAIRAAAwACAgICAwAAAAAAAAAAAQIDAAQREwUSFBUhIiT/2gAIAQEAAQUCDNQpNngVojIoGS4yiPUmUfbr2BNZgOdqvZrhdhEmTlARlm/XsGa3xHa7TNJ8HKH8M6rlKO&#43;S3NVQuy/ZNzy1eUs59ifXJatbr6V7VFFnVABoTnTc2fG6lU&#43;LABdP&#43;vyiD6z/xAAfEQABBAICAwAAAAAAAAAAAAACAAEDBAURITEiQVH/2gAIAQMBAT8B2vfabSZNibIDt27V3Hy1fIulWJhlFy&#43;q/lTk4h4U98pYHjJl/8QAGREAAgMBAAAAAAAAAAAAAAAAAAECEBEh/9oACAECAQE/AcrphJiqKQ&#43;M/8QAKBAAAQQCAQMEAQUAAAAAAAAAAQACAxESIVETIjEEMkFhIzNCUmKB/9oACAEBAAY/AmtkiLW1yjlG4C705PbHE57SPOaBwky4tSZxOHzt3yml8RHHcmxmJvaK8ox4w4XyiIgwa5Rkh9Owhvk2j6jpsDjsXymtkjixQp13/VEjnxSJxI1wr/DiBTsjSkwFC9GkPaQm4huXztO0A6/5LRpCV8Fyj60ieSgW/wCdy3kO7zYRrKudIIPbI1mRpgP7l0sbe07CEjmlo&#43;2o9lb9vTQa9nZXjGkwNZhXnFRhrv0hTdfdqX1HU3IePC7jkWuFL//EACEQAQACAgICAgMAAAAAAAAAAAEAESExQVFhcYGRscHR/9oACAEBAAE/IVYyo6hAnjwbrUznGEa31LKv3iWpYjfA2dITVBNBuAIClyC2GVneh2xA41b&#43;0IqXJS4vdhNOfJLxV7w53mYIf06iWFisbpNGPQ3gvqBCwOJyvUIqN0WuZU2SwfrEqEZVbPM6IFYlRD0FMu7gWtjWSnONwcCpSNAWNqyrlxXhhYjwA2vRBE0r8UNTBpTPgiHUONLUZmeyvuMgFrLcwF8Ea/Zf5gLw3q0HUsW8XHuf/9oADAMBAAIAAwAAABC5Vu3&#43;VRF7/8QAHxEAAgEEAgMAAAAAAAAAAAAAAREAITFBUZHwYXHR/9oACAEDAQE/EEpF0&#43;QoqKEDWdBVe9RMkkUxu6NpUqAA8FwGCEc4PIMZ2tU3Yz3zP//EABsRAQEAAwADAAAAAAAAAAAAAAEAESFRQYHw/9oACAECAQE/EMrxo&#43;9sgdROBMTBOiBtmZu3/8QAIBABAQADAAMAAwEBAAAAAAAAAREAITFBUWFxgaGRsf/aAAgBAQABPxC4i&#43;GgolOLqtw/bYoJgCEn5wtowUwi19AYmbqqkSDry5wLRCs1nXbkzs0ZUw1vaGF09t&#43;yBzdxQ6n5B512Z1Zq3wOj9kxom67PNH1u/OsEacVKFJT3/uKkNi/fD73HG2LCkBbb84qGBtH339Ypx90gkKN/eIYJ8FUCOx0c/mbcXYOic/MwpxQF1fdn9fONR1WQ6aN/OMioTFS8v3ICRhBVD64UoFLImqcP6ZXMqqBWw9dwkbUnZm0RPjiUHBbMjAnjz&#43;se5RADe63vEdgFbwhju6GG4aFJcvl0YEiUCSO/ibynyjb7/ofWHYt2ZR/4av3KqXqUEmn7ZlM43qUCNr75iSZK0QCqlFSv1hoKIiDg9mj/ADPfgk20mvlz/9kgICAgICAgICAgICAg" /></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><h1 class="tweetsvg">Marcus Noble</h1></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><h2 class="tweetsvg">@Marcus_Noble_</h2></a>
<p class="tweetsvg text">Dots on a map! We have dots on a map! This is big! <a rel="noopener" target="_blank" href="https://twitter.com/hashtag/ETWOx">#ETWOx</a></p>
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/Marcus_Noble_/status/533979636909506560">
<time class="tweetsvg" datetime="2014-11-16T13:47:20Z">1:47 PM · Nov 16, 2014</time>
</a>
</blockquote>
</foreignObject>
</svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="499px" height="236px">
<foreignObject x="0" y="0" width="499px" height="100%" fill="#eade52">
<style>
.tweetsvg{clear:none;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.tweetsvg.text{font-size: 23px;}
a.tweetsvg{color: rgb(27, 149, 224); text-decoration:none;}
.tweetsvg a { color: #1da1f2; }
blockquote.tweetsvg{margin:1px; background-color:#fefefe; border-radius:2%; border-style:solid; border-width:.1em; border-color:#ddd; padding:1em; font-family:sans; width:29rem}
blockquote.subtweet{width:26rem; padding:0.8em;}
.avatar-tweetsvg{float:left; width:4rem; height:4rem; border-radius:50%;margin-right:.5rem;;margin-bottom:.5rem;border-style: solid; border-width:.1em; border-color:#ddd;}
h1.tweetsvg{margin:0;font-size:15px;text-decoration:none;color:#000;}
h2.tweetsvg{margin:0;font-size:15px;font-weight:normal;text-decoration:none;color:rgb(101, 119, 134);}
p.tweetsvg{font-size:1rem; clear:both;}
hr.tweetsvg{color:#ddd;}
.media-tweetsvg{border-radius:2%; max-width:100%;border-radius: 2%; border-style: solid; border-width: .1em; border-color: #ddd;}
time.tweetsvg{font-size:15px;margin:0;margin-left: 2px;padding-bottom:1rem;color:rgb(101, 119, 134);text-decoration:none;}
.tweetsvg.reply{font-size:15px;color:rgb(110, 118, 125);}
.tweetsvg.footer{display:block;}
</style>
<blockquote class="tweetsvg" xmlns="http://www.w3.org/1999/xhtml">
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><img class="avatar-tweetsvg" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB&#43;AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAZAAADAQEBAAAAAAAAAAAAAAADBAYFAgH/xAAZAQACAwEAAAAAAAAAAAAAAAAAAgEEBQP/2gAMAwEAAhADEAAAAffOxUdHgbUvMUy4HwdVFlujx5zc57TbUlsPUSzzdnBBm1WNqG1qBxa3/8QAIRAAAwACAgICAwAAAAAAAAAAAQIDAAQREwUSFBUhIiT/2gAIAQEAAQUCDNQpNngVojIoGS4yiPUmUfbr2BNZgOdqvZrhdhEmTlARlm/XsGa3xHa7TNJ8HKH8M6rlKO&#43;S3NVQuy/ZNzy1eUs59ifXJatbr6V7VFFnVABoTnTc2fG6lU&#43;LABdP&#43;vyiD6z/xAAfEQABBAICAwAAAAAAAAAAAAACAAEDBAURITEiQVH/2gAIAQMBAT8B2vfabSZNibIDt27V3Hy1fIulWJhlFy&#43;q/lTk4h4U98pYHjJl/8QAGREAAgMBAAAAAAAAAAAAAAAAAAECEBEh/9oACAECAQE/AcrphJiqKQ&#43;M/8QAKBAAAQQCAQMEAQUAAAAAAAAAAQACAxESIVETIjEEMkFhIzNCUmKB/9oACAEBAAY/AmtkiLW1yjlG4C705PbHE57SPOaBwky4tSZxOHzt3yml8RHHcmxmJvaK8ox4w4XyiIgwa5Rkh9Owhvk2j6jpsDjsXymtkjixQp13/VEjnxSJxI1wr/DiBTsjSkwFC9GkPaQm4huXztO0A6/5LRpCV8Fyj60ieSgW/wCdy3kO7zYRrKudIIPbI1mRpgP7l0sbe07CEjmlo&#43;2o9lb9vTQa9nZXjGkwNZhXnFRhrv0hTdfdqX1HU3IePC7jkWuFL//EACEQAQACAgICAgMAAAAAAAAAAAEAESExQVFhcYGRscHR/9oACAEBAAE/IVYyo6hAnjwbrUznGEa31LKv3iWpYjfA2dITVBNBuAIClyC2GVneh2xA41b&#43;0IqXJS4vdhNOfJLxV7w53mYIf06iWFisbpNGPQ3gvqBCwOJyvUIqN0WuZU2SwfrEqEZVbPM6IFYlRD0FMu7gWtjWSnONwcCpSNAWNqyrlxXhhYjwA2vRBE0r8UNTBpTPgiHUONLUZmeyvuMgFrLcwF8Ea/Zf5gLw3q0HUsW8XHuf/9oADAMBAAIAAwAAABC5Vu3&#43;VRF7/8QAHxEAAgEEAgMAAAAAAAAAAAAAAREAITFBUZHwYXHR/9oACAEDAQE/EEpF0&#43;QoqKEDWdBVe9RMkkUxu6NpUqAA8FwGCEc4PIMZ2tU3Yz3zP//EABsRAQEAAwADAAAAAAAAAAAAAAEAESFRQYHw/9oACAECAQE/EMrxo&#43;9sgdROBMTBOiBtmZu3/8QAIBABAQADAAMAAwEBAAAAAAAAAREAITFBUWFxgaGRsf/aAAgBAQABPxC4i&#43;GgolOLqtw/bYoJgCEn5wtowUwi19AYmbqqkSDry5wLRCs1nXbkzs0ZUw1vaGF09t&#43;yBzdxQ6n5B512Z1Zq3wOj9kxom67PNH1u/OsEacVKFJT3/uKkNi/fD73HG2LCkBbb84qGBtH339Ypx90gkKN/eIYJ8FUCOx0c/mbcXYOic/MwpxQF1fdn9fONR1WQ6aN/OMioTFS8v3ICRhBVD64UoFLImqcP6ZXMqqBWw9dwkbUnZm0RPjiUHBbMjAnjz&#43;se5RADe63vEdgFbwhju6GG4aFJcvl0YEiUCSO/ibynyjb7/ofWHYt2ZR/4av3KqXqUEmn7ZlM43qUCNr75iSZK0QCqlFSv1hoKIiDg9mj/ADPfgk20mvlz/9kgICAgICAgICAgICAg" /></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><h1 class="tweetsvg">Marcus Noble</h1></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/Marcus_Noble_/"><h2 class="tweetsvg">@Marcus_Noble_</h2></a>
<p class="tweetsvg text">So, I've just learnt the browser on @googleglass doesn't have geolocation. Talk about re-opening a solved problem. :(</p>
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/Marcus_Noble_/status/533995183248252929">
<time class="tweetsvg" datetime="2014-11-16T14:49:07Z">2:49 PM · Nov 16, 2014</time>
</a>
</blockquote>
</foreignObject>
</svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="499px" height="208px">
<foreignObject x="0" y="0" width="499px" height="100%" fill="#eade52">
<style>
.tweetsvg{clear:none;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.tweetsvg.text{font-size: 23px;}
a.tweetsvg{color: rgb(27, 149, 224); text-decoration:none;}
.tweetsvg a { color: #1da1f2; }
blockquote.tweetsvg{margin:1px; background-color:#fefefe; border-radius:2%; border-style:solid; border-width:.1em; border-color:#ddd; padding:1em; font-family:sans; width:29rem}
blockquote.subtweet{width:26rem; padding:0.8em;}
.avatar-tweetsvg{float:left; width:4rem; height:4rem; border-radius:50%;margin-right:.5rem;;margin-bottom:.5rem;border-style: solid; border-width:.1em; border-color:#ddd;}
h1.tweetsvg{margin:0;font-size:15px;text-decoration:none;color:#000;}
h2.tweetsvg{margin:0;font-size:15px;font-weight:normal;text-decoration:none;color:rgb(101, 119, 134);}
p.tweetsvg{font-size:1rem; clear:both;}
hr.tweetsvg{color:#ddd;}
.media-tweetsvg{border-radius:2%; max-width:100%;border-radius: 2%; border-style: solid; border-width: .1em; border-color: #ddd;}
time.tweetsvg{font-size:15px;margin:0;margin-left: 2px;padding-bottom:1rem;color:rgb(101, 119, 134);text-decoration:none;}
.tweetsvg.reply{font-size:15px;color:rgb(110, 118, 125);}
.tweetsvg.footer{display:block;}
</style>
<blockquote class="tweetsvg" xmlns="http://www.w3.org/1999/xhtml">
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/matthew_hh/"><img class="avatar-tweetsvg" alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAH3wAMABYAEQANACdhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB&#43;AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/AABEIADAAMAMBIgACEQEDEQH/xAAcAAABBAMBAAAAAAAAAAAAAAAFAwQGBwABAgj/xAA1EAABAwMCAwUFBwUAAAAAAAABAgMEBQYRABIHCCEiMUFRcRMUIzJhFnKRobHBwlKBorLx/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APYk4ZZHrriT1Q0rSkw4aHrriR8jSdBt8YktnWYxO9R&#43;2q3v6&#43;rjpXF22LQo9DalwahsVOmLQslhJWodCDtHRJPXUvl3NR4MiqP1OW1T41McS28/JWEIOW0ryCfDtY9QdAYYGJbo89JxU9h9Hh/3QGyb6tG8JkpNtV6JUlsJ3Ooa3BSRnGSFAHGfHRxp5DftdxOVd2gEXxV5dPfpUKAiO5JnyFNIQ6vbnCdxx59NI3ZcTVJr9Hp7s2GyqYtCA26e0sqWE9n&#43;51WXOkirRLDo1x0V2QxMpNVDyXmPmZy2sb/oAQNPuK9Mp9cTY91TJUyJNQmO&#43;yps9k4W06UrSfPzz00BCuqqa&#43;YulIZUwqCmKkPBR7aew4QUj11HKaya/wAzlcoNwRYM6le4OvpiOthxCiktIQpYORuAUvHluOk&#43;J7tWo/NTZs5DbzlLqDTTCylRCG3MuoycfeT39NMKEXaTzx1OOtZLdSpq9g64ALSHP1bVoCXL/Bt2k3Ff1Qt6G5GVFBadjqQpKUqSt1QCQe4dAMDyGjticUGa/wAIa9ejzcZKaakqUhIUSnDaVHd9cq8NN&#43;FLuzinfNuFxwpc9s4kOkAn4pB2p79vbHU6q7lxjqlcFeK9sOElcZt0JHj0YWn9W9BfnHhxtqyUOLSFbZrW0E9M4V3juPoemo7xTdcNm2fuV8VaWyc9ST7NH76c8ysxxu3aVBb&#43;aTN6D7qDj81DQPjXKd&#43;3FgWlFGCtSC4cZ2oK0I/ifz0D3jU4&#43;jidY6Y7mFmWyHE570l4Z1GaiPac89PKMZbp2FdO4e6uH&#43;Q0cvx01XmXtelJUCIex9SAf6EOOEn6Ds6A2JIFa50LpkhORToq2t3lsQ02P9lfhoEuEbrsjnHv9W8qQ1GcR39AAtkY/HOhHK898Pi/nb7qHHlZwPORnr5Yx00vy1SkzOKnFq9Vq&#43;G0p0hfklTzq/yDQ0E5fJK6Zy58ULqeA3Sw6nJHj7HB/wAnToP/2SAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==" /></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/matthew_hh/"><h1 class="tweetsvg">MatthewHH Design</h1></a>
<a rel="noopener" target="_blank" class="tweetsvg" href="https://twitter.com/matthew_hh/"><h2 class="tweetsvg">@matthew_hh</h2></a>
<p class="tweetsvg text">If sencespace doesn't launch I'm going to be mad at the world as a whole. <a rel="noopener" target="_blank" href="https://twitter.com/hashtag/etwox">#etwox</a></p>
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/matthew_hh/status/534020893203521536">
<time class="tweetsvg" datetime="2014-11-16T16:31:17Z">4:31 PM · Nov 16, 2014</time>
</a>
</blockquote>
</foreignObject>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 77 KiB

Some files were not shown because too many files have changed in this diff Show More