Compare commits
49 Commits
6307509542
...
master
Author | SHA1 | Date | |
---|---|---|---|
1a9df45e55
|
|||
d5d7f74fd0
|
|||
934c4f4de3
|
|||
1ff611b3ed
|
|||
e2372b378a
|
|||
c4d3194a7f
|
|||
252f5143d1
|
|||
9a0cf62882
|
|||
c267ec35a4
|
|||
fd867c7262
|
|||
3bdc78303d
|
|||
4aafc98be9
|
|||
84bae3759d
|
|||
98ff90f460
|
|||
ab55d75296
|
|||
f69df643f7
|
|||
2e328133cc
|
|||
ac1744869d
|
|||
68e1e77843
|
|||
675f56d9c5
|
|||
7bf40c1263
|
|||
3586eeb6bf
|
|||
ee9a16865e
|
|||
a1533640cf
|
|||
d48d4dcb14
|
|||
bdd2e8c79a
|
|||
b36d394308
|
|||
a8295a7321
|
|||
a3f0a74535
|
|||
0e5cce4a52
|
|||
2007c280c8
|
|||
03aadb59fe
|
|||
0f90c7c0d0 | |||
fbf3657b77
|
|||
21f1d9216c
|
|||
0bd69bd3f3
|
|||
de146693aa
|
|||
57bd0f0fcc
|
|||
41e4d4dab0
|
|||
176a5855de
|
|||
1b2e0d7501
|
|||
db94ace86e | |||
60babf9451
|
|||
b5d6232b59
|
|||
3a123ab8ee
|
|||
652cee0e2e
|
|||
080912401b
|
|||
8acfafab45
|
|||
0e97c82aa1
|
@@ -1,4 +1,4 @@
|
||||
FROM node:16-alpine
|
||||
FROM node:16.17-alpine
|
||||
|
||||
RUN apk update && apk add python3 make gcc g++
|
||||
|
||||
|
8
Makefile
@@ -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
@@ -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({
|
||||
|
@@ -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
@@ -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
|
5
src/css/pico.min.css
vendored
Normal file
@@ -73,7 +73,7 @@ a:hover {
|
||||
a.social {
|
||||
svg {
|
||||
margin: 4px;
|
||||
fill: var(--text-color);
|
||||
fill: #fff !important;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
|
BIN
src/images/Cloud_Native_Now_-_Square.jpg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
src/images/emf-airfryer.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
src/images/emf-blacksmith.jpg
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
src/images/emf-evening-unnecessary.jpg
Normal file
After Width: | Height: | Size: 179 KiB |
BIN
src/images/emf-food.jpg
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
src/images/emf-jo.jpg
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
src/images/emf-jsoxford.jpg
Normal file
After Width: | Height: | Size: 145 KiB |
BIN
src/images/emf-laser-duck-hunt.jpg
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
src/images/emf-lasers.jpg
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
src/images/emf-terence.jpg
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
src/images/emf-tesla-coil.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
src/images/emf-van.jpg
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
src/images/favico/android-chrome-144x144.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/images/favico/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
src/images/favico/android-chrome-256x256.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
src/images/favico/android-chrome-36x36.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/images/favico/android-chrome-384x384.png
Normal file
After Width: | Height: | Size: 180 KiB |
BIN
src/images/favico/android-chrome-48x48.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
src/images/favico/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 307 KiB |
BIN
src/images/favico/android-chrome-72x72.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
src/images/favico/android-chrome-96x96.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
src/images/favico/apple-touch-icon-1024x1024.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
src/images/favico/apple-touch-icon-114x114.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
src/images/favico/apple-touch-icon-120x120.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
src/images/favico/apple-touch-icon-144x144.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
src/images/favico/apple-touch-icon-152x152.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/images/favico/apple-touch-icon-167x167.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/images/favico/apple-touch-icon-180x180.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
src/images/favico/apple-touch-icon-57x57.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
src/images/favico/apple-touch-icon-60x60.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
src/images/favico/apple-touch-icon-72x72.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
src/images/favico/apple-touch-icon-76x76.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
BIN
src/images/favico/apple-touch-icon-precomposed.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
src/images/favico/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 25 KiB |
BIN
src/images/favico/favicon-16x16.png
Normal file
After Width: | Height: | Size: 780 B |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 1.7 KiB |
BIN
src/images/favico/favicon-32x32.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 3.4 KiB |
BIN
src/images/favico/favicon-48x48.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 32 KiB |
BIN
src/images/favico/mstile-144x144.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/images/favico/mstile-150x150.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/images/favico/mstile-310x150.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/images/favico/mstile-310x310.png
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
src/images/favico/mstile-70x70.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
26
src/images/favico/safari-pinned-tab.svg
Normal 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
After Width: | Height: | Size: 3.8 MiB |
BIN
src/images/kubernetes_operators_diagram.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
src/images/linkedin-scopes.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
src/images/marcus-transparent.png
Executable file → Normal file
Before Width: | Height: | Size: 5.6 MiB After Width: | Height: | Size: 3.1 MiB |
BIN
src/images/node-red-blog-flow.png
Normal file
After Width: | Height: | Size: 166 KiB |
BIN
src/images/node-red-bluesky-format-post-setup.png
Normal file
After Width: | Height: | Size: 114 KiB |
BIN
src/images/node-red-dropout-bot.png
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
src/images/node-red-kubernetes-releases-bot.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
src/images/node-red-post-to-bluesky.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
src/images/node-red-post-to-linkedin.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
src/images/node-red-post-to-mastodon.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
src/images/node-red-wayback-machine.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
src/images/renovate-kubernetes-bump.png
Normal file
After Width: | Height: | Size: 131 KiB |
42
src/images/tweets/1432720164169076755.svg
Normal 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,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" /></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 |
42
src/images/tweets/1432800271873323010.svg
Normal 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+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAbAAADAQEAAwAAAAAAAAAAAAAEBQYDAQACB//EABYBAQEBAAAAAAAAAAAAAAAAAAECAP/aAAwDAQACEAMQAAAB+yq9cKobifx1E2U+5uDkxTjhc9MUpcTYqUtoRwTpqblzPvDS4r//xAAfEAEAAwEAAgIDAAAAAAAAAAADAQIEAAURExQSIiT/2gAIAQEAAQUC5roqvJhIWFrxZMydqW0S8xiwZ1ItGxwt2K/2cma9iTPHrd5m9KhcK31WzmVvEpS674980/Huh4+cHXMtFM9jNSdJ/vq20tYyHI19OKblvBlsOb65eNK9I5hJo/HSPf0vw5yKe//EABsRAAMAAwEBAAAAAAAAAAAAAAABIQIRMRNR/9oACAEDAQE/AVKbyOjpTHaZH08/jIj/xAAaEQACAwEBAAAAAAAAAAAAAAAAAQIRITFR/9oACAECAQE/AVmlyOjV6UxKtIzrC/RyXEf/xAA0EAACAAQCBQoFBQAAAAAAAAABAgADERIEMRMhIkFhEEJRUmKBkaGx0QUUMjPwI1NxweH/2gAIAQEABj8CjQyGKhfuOPSAJvxGeGOS7NfCkWJ8Qn39U0B8KQBNdnlPzmzU8gkyfuvl2R0w2iFW5td7GHks630uLnN+JiVLuRrjUGutabxBSfRiCZb8eMfLTTX9tjzh7xiRvNrd1P8ADEq51Ws5Mz2oM2RJlXONbjfEhcSkoqn0aXOMXYykaQZHsiJK7zNWnr6AxLc5OjKfX3g4nEyr0mD6ztAa9QHdDzFQSke/ZbI0y9odcXtTLLmdlyPRFcJskS79haB+H5wiQLrgksv45f3Csi3MjhqdPT5RSu0M0mKLvOGlS5ctVbq6jBEycqm2h/g98AtjE2lsFFqSMoZnDZBVuztH4eT9RK0yO8RsNp06r6m8YyGHTjQv7DziqrVjmx1k8n//xAAjEAEAAQMEAgMBAQAAAAAAAAABEQAhMUFRgZFhoRBxsfDB/9oACAEBAAE/IaV3qwJHQzrvsfdHEaZU+E6lXQmeP9p01sgIPDYCz+/EEyVzc1H/AF2rSXaS7MvlWpVtLG2w8mmlSJMhM3mFkpj9nG0bdi9SCqJ6y+HvNSQ3pHfAO+yhS0OM0TRPyY8piJncocOXQxZnOTxUCSbMXSrXeekMnoc0D6GLyW+it5rkM0AXj+a1Jp0aLlAYoCBElZsJLGwU0LLoCSqizY7abxwRGk9axSiBkYHZqNp3Y06TzTmIzGLkf8pLzU0fgqwOORELAlloyks8ItpDF34GAM2BNxyV79EP1g890ndQV+0HWsT5S/H/2gAMAwEAAgADAAAAEN/14ddKlTv/xAAeEQACAgICAwAAAAAAAAAAAAABEQAxIUFh8KHR4f/aAAgBAwEBPxAFa9e5kS8Q4sXBwPHyXKORAYI04QMAah2QO6uBBAy+1P/EACIRAAIBAwIHAAAAAAAAAAAAAAERACExQdHwUWFxobHB8f/aAAgBAgEBPxAFa+NZUXoQ0sXG9/YZOTxSEJbtHAXWIQAOBHHOvaKEE//EACEQAQACAgICAgMAAAAAAAAAAAERIQAxQVFhgRCxcZGh/9oACAEBAAE/EMieCGoUrCTpUNHIyH9oB+xC9GOh2XzChQ8xjo1PaqHA8bFUWz4nQMgg6H0TAcgdwzQmKaGC8yS/WNMJkqBRIgUAWEARiyjFBAVBeGVOrFM0Gbw70cEQ6nApumrLbc1j0jsFoRMJW5eAeHn3jbrfCColKC3rIqGxp0pwpq4nbhClDLrVLAwMq6jILGaRV8j5yLACoLWM7H0C7wprLIDGquo/YxgpyAqu0FGAslXROcJ7xTrrYIN0t44p28qJILoZEF24014soxwMhKkIJvE8Z/7qkVoMdq5ogsCUJQkoS4A2sEHMlHwUeHNSQkCQwp9gyYAX7CaFkR3BYfeEiSI5Qr0VIPbjONL0sqqXRuIm1+FfS2OicJ5EwtmPBD4T0kXnKFMb/AYP6PTG3bX+8n1o+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 |
42
src/images/tweets/1432974196632604676.svg
Normal 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,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" /></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 |
44
src/images/tweets/1514570182513106946.svg
Normal file
After Width: | Height: | Size: 12 KiB |
44
src/images/tweets/1514576057537605642.svg
Normal 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+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIADAAMAMBIgACEQEDEQH/xAAYAAADAQEAAAAAAAAAAAAAAAAFBgcEA//EABgBAQEBAQEAAAAAAAAAAAAAAAMEAQIF/9oADAMBAAIQAxAAAAFllmleJmZhm+UqaS6LlFaGGDSYyP3Bxbg1UQdXafNXcUR1jOvSNJlfcjZMJ6mXM//EAB0QAAMBAQEBAAMAAAAAAAAAAAIDBAEFABETITH/2gAIAQEAAQUC71wSgqvPz7TE7xmMYSx29FoRNX7vPop6WfM9rt9jnCzjmzo+fSKQwzcy5e/Q/lahTFwD350GD8PZxS536To5uAdXpbVysbaiiVbTDynBvoqJVMO92oqENr5ZtJnhz0sDKGdOcJKKBRtE/J1jf//EAB0RAAIDAAIDAAAAAAAAAAAAAAACAQMRBCETIjH/2gAIAQMBAT8BiWE5U1d4S2zoyr48kur6wzJFuZBbWb2F+6f/xAAbEQADAAMBAQAAAAAAAAAAAAAAAQIREiEDMf/aAAgBAgEBPwHSUPwVGvCW3WUKsdK6jRMqF8LXD//EACcQAAIBBAEEAgEFAAAAAAAAAAECAAMREiETBCIxQTJRECNhYnGR/9oACAEBAAY/AmBq51GHYALW/czLqS7r9Azj4no/Tk3/ANnTMe5Uy8e4vUvTtSY2HoQLT6XQ8WYWj8wGYAFlm5ZIG5GuPEoVK7PbQCjSyn6DG05nsQRoy+MOpS5KIya+7SgKRYeDoaWUVDgM1/mYp6W/Efsy0Jtu0TLjFLHbHe9ziWqtP+aC4iLTqCuRb5Iblv6lge0+pufqpneYvaxbI61HppZND4+DDRWoU4e4Nbf5o4+zZtThxUo5DAW8SnknE6v368x1pmnSYr7Np//EACIQAAICAgEFAAMAAAAAAAAAAAERACExQWFRcZGhwRCx0f/aAAgBAQABPyESDJshUqcuw5VH+gD2alnP8nUPjfhKBxxzAr6gmnLmUFAYAUZuiMuDikcqDAzbFqEyceUlj7CuWgVkyk4CDfQRSIo7cAFjqZzWBFQ7/IIalqiwo53BS9mpBSipomLC9vmP38wRWAt0ZSYIivUEl48R2vnbR0gvKEwwbogvcCljJrCH3AFt6Gh09w/1uVhfvMDAOpLEP7FgWtm7H8CRYgfdNqramd4JULY8wTCRGOpuMkSBIRD9z//aAAwDAQACAAMAAAAQlOpLEtVIC//EABwRAQADAQEAAwAAAAAAAAAAAAEAESExUXGRwf/aAAgBAwEBPxA1Lw+pciyleVifsew6zT9xz2WgMvSnJQU2TdFl8j6GbfxP/8QAGhEAAwEBAQEAAAAAAAAAAAAAAAERIUFxYf/aAAgBAgEBPxBrNLpEViGiiYiYBbUM8drXzow370Qovnp//8QAHhABAQACAgMBAQAAAAAAAAAAAREAITFBUWGBcfD/2gAIAQEAAT8Qdy6KqSjwHQFX7jNdRVRpihznFtQg16bL9bOS7MQWBFUQCJ6bfxxH9YwdxRTpZtxbg6ZDWxHralc2YKQIER8Nv3KIXCaT5jUB/qZAD7KF+OvkyaxugINAkIMTfWV/SyUAVOdcLccAKQaSaOZ5xfNkOL5xAZyQNu5iSZAws9jl4SuGzBOtcCbbkauomyaxYC60RyZB31jOABS3sejpMMAJHl04LGyQ0ScebMEs6xTwh2St0D6tfW3DNl61ok6+4y7YFZ7DOSLcxXyKzs+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 |
1
src/images/tweets/1545065196561080321.svg
Normal file
After Width: | Height: | Size: 5.4 KiB |
42
src/images/tweets/485697274174275584.svg
Normal 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,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" /></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 |
46
src/images/tweets/485722324604579840.svg
Normal file
After Width: | Height: | Size: 60 KiB |
46
src/images/tweets/485758298755698688.svg
Normal file
After Width: | Height: | Size: 92 KiB |
46
src/images/tweets/485774627139223552.svg
Normal file
After Width: | Height: | Size: 72 KiB |
46
src/images/tweets/503181282353119232.svg
Normal file
After Width: | Height: | Size: 43 KiB |
46
src/images/tweets/503494610464047104.svg
Normal file
After Width: | Height: | Size: 43 KiB |
46
src/images/tweets/503501014792953856.svg
Normal file
After Width: | Height: | Size: 42 KiB |
46
src/images/tweets/533329134232289281.svg
Normal file
After Width: | Height: | Size: 94 KiB |
46
src/images/tweets/533355898086129664.svg
Normal file
After Width: | Height: | Size: 122 KiB |
46
src/images/tweets/533380993265438720.svg
Normal file
After Width: | Height: | Size: 297 KiB |
42
src/images/tweets/533979636909506560.svg
Normal 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,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" /></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 |
42
src/images/tweets/533995183248252929.svg
Normal 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,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" /></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 |
42
src/images/tweets/534020893203521536.svg
Normal 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+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/AABEIADAAMAMBIgACEQEDEQH/xAAcAAABBAMBAAAAAAAAAAAAAAAFAwQGBwABAgj/xAA1EAABAwMCAwUFBwUAAAAAAAABAgMEBQYRABIHCCEiMUFRcRMUIzJhFnKRobHBwlKBorLx/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APYk4ZZHrriT1Q0rSkw4aHrriR8jSdBt8YktnWYxO9R+2q3v6+rjpXF22LQo9DalwahsVOmLQslhJWodCDtHRJPXUvl3NR4MiqP1OW1T41McS28/JWEIOW0ryCfDtY9QdAYYGJbo89JxU9h9Hh/3QGyb6tG8JkpNtV6JUlsJ3Ooa3BSRnGSFAHGfHRxp5DftdxOVd2gEXxV5dPfpUKAiO5JnyFNIQ6vbnCdxx59NI3ZcTVJr9Hp7s2GyqYtCA26e0sqWE9n+51WXOkirRLDo1x0V2QxMpNVDyXmPmZy2sb/oAQNPuK9Mp9cTY91TJUyJNQmO+yps9k4W06UrSfPzz00BCuqqa+YulIZUwqCmKkPBR7aew4QUj11HKaya/wAzlcoNwRYM6le4OvpiOthxCiktIQpYORuAUvHluOk+J7tWo/NTZs5DbzlLqDTTCylRCG3MuoycfeT39NMKEXaTzx1OOtZLdSpq9g64ALSHP1bVoCXL/Bt2k3Ff1Qt6G5GVFBadjqQpKUqSt1QCQe4dAMDyGjticUGa/wAIa9ejzcZKaakqUhIUSnDaVHd9cq8NN+FLuzinfNuFxwpc9s4kOkAn4pB2p79vbHU6q7lxjqlcFeK9sOElcZt0JHj0YWn9W9BfnHhxtqyUOLSFbZrW0E9M4V3juPoemo7xTdcNm2fuV8VaWyc9ST7NH76c8ysxxu3aVBb+aTN6D7qDj81DQPjXKd+3FgWlFGCtSC4cZ2oK0I/ifz0D3jU4+jidY6Y7mFmWyHE570l4Z1GaiPac89PKMZbp2FdO4e6uH+Q0cvx01XmXtelJUCIex9SAf6EOOEn6Ds6A2JIFa50LpkhORToq2t3lsQ02P9lfhoEuEbrsjnHv9W8qQ1GcR39AAtkY/HOhHK898Pi/nb7qHHlZwPORnr5Yx00vy1SkzOKnFq9Vq+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 |
46
src/images/tweets/534030183129702401.svg
Normal file
After Width: | Height: | Size: 77 KiB |
42
src/images/tweets/586829181226524672.svg
Normal 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,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" /></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">I'm writing in C at the <a rel="noopener" target="_blank" href="https://twitter.com/JSOxford/">@JSOxford</a> <a rel="noopener" target="_blank" href="https://twitter.com/hashtag/RTHack">#RTHack</a>. Oh the horror!</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a rel="noopener" target="_blank" class="tweetsvg footer" href="https://twitter.com/Marcus_Noble_/status/586829181226524672">
|
||||
<time class="tweetsvg" datetime="2015-04-11T09:52:34Z">9:52 AM · Apr 11, 2015</time>
|
||||
</a>
|
||||
</blockquote>
|
||||
</foreignObject>
|
||||
</svg>
|
After Width: | Height: | Size: 5.3 KiB |