HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html>
tag. If you want to add classes there that can affect the whole document, this is the place to do it.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. If you need things in the <head>
of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit-
or -moz-
.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
Any URLs added here will be added as <link>
s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
You can also link to another Pen here (use the .css
URL Extension) and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, use the appropriate URL Extension and we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
JavaScript preprocessors can help make authoring JavaScript easier and more convenient.
Babel includes JSX processing.
Any URL's added here will be added as <script>
s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.
You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
Search for and use JavaScript packages from npm here. By selecting a package, an import
statement will be added to the top of the JavaScript editor for this package.
Using packages here is powered by esm.sh, which makes packages from npm not only available on a CDN, but prepares them for native JavaScript ESM usage.
All packages are different, so refer to their docs for how they work.
If you're using React / ReactDOM, make sure to turn on Babel for the JSX processing.
If active, Pens will autosave every 30 seconds after being saved once.
If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.
If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.
Visit your global Editor Settings.
<svg width="400" height="400"></svg>
<template id="tweet-json">[{"created_at":"Fri Jan 01 00:00:05 +0000 2021","id":1344795494015529000,"text":"░░░░░░░░░░░░░░░ 0%","percent":0,"retweet_count":25574,"favorite_count":150762},{"created_at":"Sat Jan 04 16:00:00 +0000 2020","id":1213490270412722200,"text":"░░░░░░░░░░░░░░░ 1%","percent":1,"retweet_count":5778,"favorite_count":31787},{"created_at":"Wed Jan 08 08:00:01 +0000 2020","id":1214819027413078000,"text":"░░░░░░░░░░░░░░░ 2%","percent":2,"retweet_count":2431,"favorite_count":17896},{"created_at":"Sun Jan 12 00:00:01 +0000 2020","id":1216147782911889400,"text":"░░░░░░░░░░░░░░░ 3%","percent":3,"retweet_count":1883,"favorite_count":13936},{"created_at":"Wed Jan 15 16:00:01 +0000 2020","id":1217476539857752000,"text":"▓░░░░░░░░░░░░░░ 4%","percent":4,"retweet_count":1724,"favorite_count":11544},{"created_at":"Sun Jan 19 08:00:01 +0000 2020","id":1218805293980749800,"text":"▓░░░░░░░░░░░░░░ 5%","percent":5,"retweet_count":3726,"favorite_count":18831},{"created_at":"Thu Jan 23 00:00:01 +0000 2020","id":1220134051253825500,"text":"▓░░░░░░░░░░░░░░ 6%","percent":6,"retweet_count":1501,"favorite_count":9793},{"created_at":"Sun Jan 26 15:00:01 +0000 2020","id":1221447707820249000,"text":"▓░░░░░░░░░░░░░░ 7%","percent":7,"retweet_count":1610,"favorite_count":9961},{"created_at":"Thu Jan 30 07:00:01 +0000 2020","id":1222776461997813800,"text":"▓░░░░░░░░░░░░░░ 8%","percent":8,"retweet_count":1434,"favorite_count":8903},{"created_at":"Sun Feb 02 23:00:00 +0000 2020","id":1224105214430646300,"text":"▓░░░░░░░░░░░░░░ 9%","percent":9,"retweet_count":1691,"favorite_count":10557},{"created_at":"Thu Feb 06 15:00:01 +0000 2020","id":1225433972613828600,"text":"▓▓░░░░░░░░░░░░░ 10%","percent":10,"retweet_count":5663,"favorite_count":23935},{"created_at":"Mon Feb 10 07:00:01 +0000 2020","id":1226762729110884400,"text":"▓▓░░░░░░░░░░░░░ 11%","percent":11,"retweet_count":1585,"favorite_count":9668},{"created_at":"Thu Feb 13 23:00:05 +0000 2020","id":1228091503383400400,"text":"▓▓░░░░░░░░░░░░░ 12%","percent":12,"retweet_count":1601,"favorite_count":9087},{"created_at":"Mon Feb 17 14:00:01 +0000 2020","id":1229405139942944800,"text":"▓▓░░░░░░░░░░░░░ 13%","percent":13,"retweet_count":1614,"favorite_count":9629},{"created_at":"Fri Feb 21 06:00:00 +0000 2020","id":1230733893801672700,"text":"▓▓░░░░░░░░░░░░░ 14%","percent":14,"retweet_count":1531,"favorite_count":8800},{"created_at":"Mon Feb 24 22:00:01 +0000 2020","id":1232062650038837200,"text":"▓▓░░░░░░░░░░░░░ 15%","percent":15,"retweet_count":2387,"favorite_count":11156},{"created_at":"Fri Feb 28 14:00:00 +0000 2020","id":1233391404405096400,"text":"▓▓░░░░░░░░░░░░░ 16%","percent":16,"retweet_count":1437,"favorite_count":8134},{"created_at":"Tue Mar 03 06:00:01 +0000 2020","id":1234720163020394500,"text":"▓▓▓░░░░░░░░░░░░ 17%","percent":17,"retweet_count":1632,"favorite_count":9145},{"created_at":"Fri Mar 06 22:00:00 +0000 2020","id":1236048916296200200,"text":"▓▓▓░░░░░░░░░░░░ 18%","percent":18,"retweet_count":1511,"favorite_count":8518},{"created_at":"Tue Mar 10 13:00:01 +0000 2020","id":1237362575148568600,"text":"▓▓▓░░░░░░░░░░░░ 19%","percent":19,"retweet_count":1560,"favorite_count":9131},{"created_at":"Sat Mar 14 05:00:01 +0000 2020","id":1238691329951006700,"text":"▓▓▓░░░░░░░░░░░░ 20%","percent":20,"retweet_count":3402,"favorite_count":13813},{"created_at":"Tue Mar 17 21:00:00 +0000 2020","id":1240020082832691200,"text":"▓▓▓░░░░░░░░░░░░ 21%","percent":21,"retweet_count":1420,"favorite_count":7667},{"created_at":"Sat Mar 21 13:00:00 +0000 2020","id":1241348837844963300,"text":"▓▓▓░░░░░░░░░░░░ 22%","percent":22,"retweet_count":1496,"favorite_count":8313},{"created_at":"Wed Mar 25 05:00:01 +0000 2020","id":1242677595239518200,"text":"▓▓▓░░░░░░░░░░░░ 23%","percent":23,"retweet_count":1659,"favorite_count":9615},{"created_at":"Sat Mar 28 21:00:00 +0000 2020","id":1244006349291298800,"text":"▓▓▓▓░░░░░░░░░░░ 24%","percent":24,"retweet_count":1783,"favorite_count":10027},{"created_at":"Wed Apr 01 12:00:00 +0000 2020","id":1245320004389736400,"text":"▓▓▓▓░░░░░░░░░░░ 25%","percent":25,"retweet_count":4909,"favorite_count":17560},{"created_at":"Sun Apr 05 04:00:01 +0000 2020","id":1246648762203766800,"text":"▓▓▓▓░░░░░░░░░░░ 26%","percent":26,"retweet_count":1660,"favorite_count":9563},{"created_at":"Wed Apr 08 20:00:01 +0000 2020","id":1247977519028080600,"text":"▓▓▓▓░░░░░░░░░░░ 27%","percent":27,"retweet_count":1396,"favorite_count":8055},{"created_at":"Sun Apr 12 12:00:01 +0000 2020","id":1249306275390857200,"text":"▓▓▓▓░░░░░░░░░░░ 28%","percent":28,"retweet_count":1425,"favorite_count":8097},{"created_at":"Thu Apr 16 04:00:01 +0000 2020","id":1250635028448645000,"text":"▓▓▓▓░░░░░░░░░░░ 29%","percent":29,"retweet_count":1395,"favorite_count":7708},{"created_at":"Sun Apr 19 20:00:01 +0000 2020","id":1251963783490257000,"text":"▓▓▓▓▓░░░░░░░░░░ 30%","percent":30,"retweet_count":2925,"favorite_count":11551},{"created_at":"Thu Apr 23 12:00:01 +0000 2020","id":1253292539689545700,"text":"▓▓▓▓▓░░░░░░░░░░ 31%","percent":31,"retweet_count":1318,"favorite_count":8040},{"created_at":"Mon Apr 27 03:00:01 +0000 2020","id":1254606195060543500,"text":"▓▓▓▓▓░░░░░░░░░░ 32%","percent":32,"retweet_count":1462,"favorite_count":7388},{"created_at":"Thu Apr 30 19:00:00 +0000 2020","id":1255934949443723300,"text":"▓▓▓▓▓░░░░░░░░░░ 33%","percent":33,"retweet_count":2461,"favorite_count":9615},{"created_at":"Mon May 04 11:00:00 +0000 2020","id":1257263703612952600,"text":"▓▓▓▓▓░░░░░░░░░░ 34%","percent":34,"retweet_count":1354,"favorite_count":7337},{"created_at":"Fri May 08 03:00:00 +0000 2020","id":1258592460781113300,"text":"▓▓▓▓▓░░░░░░░░░░ 35%","percent":35,"retweet_count":1576,"favorite_count":7375},{"created_at":"Mon May 11 19:00:00 +0000 2020","id":1259921215872995300,"text":"▓▓▓▓▓░░░░░░░░░░ 36%","percent":36,"retweet_count":1277,"favorite_count":6633},{"created_at":"Fri May 15 11:00:01 +0000 2020","id":1261249973762568200,"text":"▓▓▓▓▓▓░░░░░░░░░ 37%","percent":37,"retweet_count":1299,"favorite_count":7119},{"created_at":"Tue May 19 02:00:01 +0000 2020","id":1262563629620134000,"text":"▓▓▓▓▓▓░░░░░░░░░ 38%","percent":38,"retweet_count":1335,"favorite_count":7069},{"created_at":"Fri May 22 18:00:00 +0000 2020","id":1263892383810359300,"text":"▓▓▓▓▓▓░░░░░░░░░ 39%","percent":39,"retweet_count":1265,"favorite_count":7032},{"created_at":"Tue May 26 10:00:00 +0000 2020","id":1265221139263099000,"text":"▓▓▓▓▓▓░░░░░░░░░ 40%","percent":40,"retweet_count":2854,"favorite_count":10734},{"created_at":"Sat May 30 02:00:01 +0000 2020","id":1266549898121535500,"text":"▓▓▓▓▓▓░░░░░░░░░ 41%","percent":41,"retweet_count":1851,"favorite_count":9245},{"created_at":"Tue Jun 02 18:00:06 +0000 2020","id":1267878675086704600,"text":"▓▓▓▓▓▓░░░░░░░░░ 42%","percent":42,"retweet_count":2039,"favorite_count":10302},{"created_at":"Sat Jun 06 10:00:01 +0000 2020","id":1269207406648721400,"text":"▓▓▓▓▓▓░░░░░░░░░ 43%","percent":43,"retweet_count":1578,"favorite_count":8782},{"created_at":"Wed Jun 10 01:00:00 +0000 2020","id":1270521061319245800,"text":"▓▓▓▓▓▓▓░░░░░░░░ 44%","percent":44,"retweet_count":1744,"favorite_count":9392},{"created_at":"Sat Jun 13 17:00:01 +0000 2020","id":1271849820387500000,"text":"▓▓▓▓▓▓▓░░░░░░░░ 45%","percent":45,"retweet_count":2316,"favorite_count":10407},{"created_at":"Wed Jun 17 09:00:01 +0000 2020","id":1273178574460240000,"text":"▓▓▓▓▓▓▓░░░░░░░░ 46%","percent":46,"retweet_count":1423,"favorite_count":8012},{"created_at":"Sun Jun 21 01:00:00 +0000 2020","id":1274507327832559600,"text":"▓▓▓▓▓▓▓░░░░░░░░ 47%","percent":47,"retweet_count":1690,"favorite_count":9329},{"created_at":"Wed Jun 24 17:00:01 +0000 2020","id":1275836086925869000,"text":"▓▓▓▓▓▓▓░░░░░░░░ 48%","percent":48,"retweet_count":1611,"favorite_count":8651},{"created_at":"Sun Jun 28 09:00:00 +0000 2020","id":1277164838507221000,"text":"▓▓▓▓▓▓▓░░░░░░░░ 49%","percent":49,"retweet_count":2654,"favorite_count":14735},{"created_at":"Thu Jul 02 00:00:01 +0000 2020","id":1278478498533904400,"text":"▓▓▓▓▓▓▓▓░░░░░░░ 50%","percent":50,"retweet_count":27530,"favorite_count":91485},{"created_at":"Sun Jul 05 16:00:00 +0000 2020","id":1279807250996039700,"text":"▓▓▓▓▓▓▓▓░░░░░░░ 51%","percent":51,"retweet_count":2252,"favorite_count":11995},{"created_at":"Thu Jul 09 08:00:01 +0000 2020","id":1281136008122241000,"text":"▓▓▓▓▓▓▓▓░░░░░░░ 52%","percent":52,"retweet_count":1352,"favorite_count":8471},{"created_at":"Mon Jul 13 00:00:01 +0000 2020","id":1282464763176530000,"text":"▓▓▓▓▓▓▓▓░░░░░░░ 53%","percent":53,"retweet_count":1811,"favorite_count":10058},{"created_at":"Thu Jul 16 16:00:00 +0000 2020","id":1283793516825632800,"text":"▓▓▓▓▓▓▓▓░░░░░░░ 54%","percent":54,"retweet_count":1408,"favorite_count":8125},{"created_at":"Mon Jul 20 08:00:00 +0000 2020","id":1285122272605462500,"text":"▓▓▓▓▓▓▓▓░░░░░░░ 55%","percent":55,"retweet_count":1861,"favorite_count":9447},{"created_at":"Fri Jul 24 00:00:01 +0000 2020","id":1286451030046146600,"text":"▓▓▓▓▓▓▓▓░░░░░░░ 56%","percent":56,"retweet_count":1445,"favorite_count":8027},{"created_at":"Mon Jul 27 15:00:05 +0000 2020","id":1287764704509726700,"text":"▓▓▓▓▓▓▓▓▓░░░░░░ 57%","percent":57,"retweet_count":1514,"favorite_count":8674},{"created_at":"Fri Jul 31 07:00:05 +0000 2020","id":1289093457777250300,"text":"▓▓▓▓▓▓▓▓▓░░░░░░ 58%","percent":58,"retweet_count":1602,"favorite_count":8814},{"created_at":"Mon Aug 03 23:00:01 +0000 2020","id":1290422198092669000,"text":"▓▓▓▓▓▓▓▓▓░░░░░░ 59%","percent":59,"retweet_count":1657,"favorite_count":8844},{"created_at":"Fri Aug 07 15:00:01 +0000 2020","id":1291750951313985500,"text":"▓▓▓▓▓▓▓▓▓░░░░░░ 60%","percent":60,"retweet_count":3552,"favorite_count":13663},{"created_at":"Tue Aug 11 07:00:01 +0000 2020","id":1293079707022495700,"text":"▓▓▓▓▓▓▓▓▓░░░░░░ 61%","percent":61,"retweet_count":1644,"favorite_count":9222},{"created_at":"Fri Aug 14 23:00:00 +0000 2020","id":1294408461279780900,"text":"▓▓▓▓▓▓▓▓▓░░░░░░ 62%","percent":62,"retweet_count":1744,"favorite_count":10027},{"created_at":"Tue Aug 18 14:00:01 +0000 2020","id":1295722119150567400,"text":"▓▓▓▓▓▓▓▓▓░░░░░░ 63%","percent":63,"retweet_count":1662,"favorite_count":9023},{"created_at":"Sat Aug 22 06:00:01 +0000 2020","id":1297050874649469000,"text":"▓▓▓▓▓▓▓▓▓▓░░░░░ 64%","percent":64,"retweet_count":1839,"favorite_count":10465},{"created_at":"Tue Aug 25 22:00:00 +0000 2020","id":1298379629200384000,"text":"▓▓▓▓▓▓▓▓▓▓░░░░░ 65%","percent":65,"retweet_count":2089,"favorite_count":9909},{"created_at":"Sat Aug 29 14:00:01 +0000 2020","id":1299708387559714800,"text":"▓▓▓▓▓▓▓▓▓▓░░░░░ 66%","percent":66,"retweet_count":2446,"favorite_count":11875},{"created_at":"Wed Sep 02 06:00:01 +0000 2020","id":1301037141632233500,"text":"▓▓▓▓▓▓▓▓▓▓░░░░░ 67%","percent":67,"retweet_count":1874,"favorite_count":10517},{"created_at":"Sat Sep 05 22:00:02 +0000 2020","id":1302365902848098300,"text":"▓▓▓▓▓▓▓▓▓▓░░░░░ 68%","percent":68,"retweet_count":1900,"favorite_count":11357},{"created_at":"Wed Sep 09 13:00:00 +0000 2020","id":1303679551374069800,"text":"▓▓▓▓▓▓▓▓▓▓░░░░░ 69%","percent":69,"retweet_count":34817,"favorite_count":185956},{"created_at":"Sun Sep 13 05:00:01 +0000 2020","id":1305008308764508200,"text":"▓▓▓▓▓▓▓▓▓▓▓░░░░ 70%","percent":70,"retweet_count":4596,"favorite_count":20246},{"created_at":"Wed Sep 16 21:00:06 +0000 2020","id":1306337085775900700,"text":"▓▓▓▓▓▓▓▓▓▓▓░░░░ 71%","percent":71,"retweet_count":1850,"favorite_count":11454},{"created_at":"Sun Sep 20 13:00:01 +0000 2020","id":1307665820672286700,"text":"▓▓▓▓▓▓▓▓▓▓▓░░░░ 72%","percent":72,"retweet_count":2016,"favorite_count":11817},{"created_at":"Thu Sep 24 05:00:01 +0000 2020","id":1308994575789445000,"text":"▓▓▓▓▓▓▓▓▓▓▓░░░░ 73%","percent":73,"retweet_count":1783,"favorite_count":10868},{"created_at":"Sun Sep 27 21:00:00 +0000 2020","id":1310323327874076700,"text":"▓▓▓▓▓▓▓▓▓▓▓░░░░ 74%","percent":74,"retweet_count":2014,"favorite_count":12237},{"created_at":"Thu Oct 01 12:00:03 +0000 2020","id":1311636994494279700,"text":"▓▓▓▓▓▓▓▓▓▓▓░░░░ 75%","percent":75,"retweet_count":4877,"favorite_count":18211},{"created_at":"Mon Oct 05 04:00:03 +0000 2020","id":1312965750450200600,"text":"▓▓▓▓▓▓▓▓▓▓▓░░░░ 76%","percent":76,"retweet_count":2018,"favorite_count":11789},{"created_at":"Thu Oct 08 20:00:03 +0000 2020","id":1314294508864053200,"text":"▓▓▓▓▓▓▓▓▓▓▓▓░░░ 77%","percent":77,"retweet_count":1865,"favorite_count":10781},{"created_at":"Mon Oct 12 12:00:04 +0000 2020","id":1315623268242600000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓░░░ 78%","percent":78,"retweet_count":2369,"favorite_count":14637},{"created_at":"Fri Oct 16 04:00:05 +0000 2020","id":1316952024404078600,"text":"▓▓▓▓▓▓▓▓▓▓▓▓░░░ 79%","percent":79,"retweet_count":2051,"favorite_count":12522},{"created_at":"Mon Oct 19 20:00:03 +0000 2020","id":1318280771593932800,"text":"▓▓▓▓▓▓▓▓▓▓▓▓░░░ 80%","percent":80,"retweet_count":5535,"favorite_count":22603},{"created_at":"Fri Oct 23 12:00:06 +0000 2020","id":1319609542850859000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓░░░ 81%","percent":81,"retweet_count":1799,"favorite_count":10447},{"created_at":"Tue Oct 27 03:00:03 +0000 2020","id":1320923185928351700,"text":"▓▓▓▓▓▓▓▓▓▓▓▓░░░ 82%","percent":82,"retweet_count":1659,"favorite_count":10484},{"created_at":"Fri Oct 30 19:00:07 +0000 2020","id":1322251958288339000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓░░░ 83%","percent":83,"retweet_count":1600,"favorite_count":9708},{"created_at":"Tue Nov 03 11:00:27 +0000 2020","id":1323580797144748000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 84%","percent":84,"retweet_count":2127,"favorite_count":11454},{"created_at":"Sat Nov 07 03:00:07 +0000 2020","id":1324909466198945800,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 85%","percent":85,"retweet_count":2752,"favorite_count":14273},{"created_at":"Tue Nov 10 19:00:08 +0000 2020","id":1326238228714844200,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 86%","percent":86,"retweet_count":1654,"favorite_count":10180},{"created_at":"Sat Nov 14 11:00:07 +0000 2020","id":1327566979855773700,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 87%","percent":87,"retweet_count":1783,"favorite_count":12360},{"created_at":"Wed Nov 18 02:00:10 +0000 2020","id":1328880649147658200,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 88%","percent":88,"retweet_count":1836,"favorite_count":11582},{"created_at":"Sat Nov 21 18:00:04 +0000 2020","id":1330209380059521000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 89%","percent":89,"retweet_count":1592,"favorite_count":10129},{"created_at":"Wed Nov 25 10:00:05 +0000 2020","id":1331538135814115300,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 90%","percent":90,"retweet_count":6269,"favorite_count":31592},{"created_at":"Sun Nov 29 02:00:03 +0000 2020","id":1332866887026405400,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 91%","percent":91,"retweet_count":2759,"favorite_count":17815},{"created_at":"Wed Dec 02 18:00:03 +0000 2020","id":1334195640289648600,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 92%","percent":92,"retweet_count":2536,"favorite_count":16903},{"created_at":"Sun Dec 06 10:00:04 +0000 2020","id":1335524398489620500,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 93%","percent":93,"retweet_count":2439,"favorite_count":17832},{"created_at":"Thu Dec 10 01:00:04 +0000 2020","id":1336838055848784000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 94%","percent":94,"retweet_count":2180,"favorite_count":14420},{"created_at":"Sun Dec 13 17:00:04 +0000 2020","id":1338166812408746000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 95%","percent":95,"retweet_count":4176,"favorite_count":25741},{"created_at":"Thu Dec 17 09:00:07 +0000 2020","id":1339495580318445600,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 96%","percent":96,"retweet_count":2598,"favorite_count":17121},{"created_at":"Mon Dec 21 01:00:02 +0000 2020","id":1340824313063207000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 97%","percent":97,"retweet_count":4712,"favorite_count":27602},{"created_at":"Thu Dec 24 17:00:05 +0000 2020","id":1342153083674108000,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 98%","percent":98,"retweet_count":8306,"favorite_count":54628},{"created_at":"Mon Dec 28 09:00:03 +0000 2020","id":1343481829819633700,"text":"▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 99%","percent":99,"retweet_count":23078,"favorite_count":122495}]</template>
<template id="tweet-json-old">[{"created_at": "Tue Jan 01 00:00:02 +0000 2019", "id": 1079889949871300600, "text": "░░░░░░░░░░░░░░░ 0%", "percent": 0, "retweet_count": 26539, "favorite_count": 68613}, {"created_at": "Fri Jan 04 16:00:00 +0000 2019", "id": 1081218700559159300, "text": "░░░░░░░░░░░░░░░ 1%", "percent": 1, "retweet_count": 5735, "favorite_count": 26754}, {"created_at": "Tue Jan 08 08:00:00 +0000 2019", "id": 1082547455298863100, "text": "░░░░░░░░░░░░░░░ 2%", "percent": 2, "retweet_count": 2298, "favorite_count": 14821}, {"created_at": "Fri Jan 11 23:00:00 +0000 2019", "id": 1083861110904766500, "text": "░░░░░░░░░░░░░░░ 3%", "percent": 3, "retweet_count": 1717, "favorite_count": 11507}, {"created_at": "Tue Jan 15 15:00:01 +0000 2019", "id": 1085189869100355600, "text": "▓░░░░░░░░░░░░░░ 4%", "percent": 4, "retweet_count": 1849, "favorite_count": 11712}, {"created_at": "Sat Jan 19 06:00:01 +0000 2019", "id": 1086503526098968600, "text": "▓░░░░░░░░░░░░░░ 5%", "percent": 5, "retweet_count": 2746, "favorite_count": 13623}, {"created_at": "Tue Jan 22 22:00:01 +0000 2019", "id": 1087832280150741000, "text": "▓░░░░░░░░░░░░░░ 6%", "percent": 6, "retweet_count": 1437, "favorite_count": 9068}, {"created_at": "Sat Jan 26 14:00:00 +0000 2019", "id": 1089161034085122000, "text": "▓░░░░░░░░░░░░░░ 7%", "percent": 7, "retweet_count": 1346, "favorite_count": 7941}, {"created_at": "Wed Jan 30 05:00:00 +0000 2019", "id": 1090474690857054200, "text": "▓░░░░░░░░░░░░░░ 8%", "percent": 8, "retweet_count": 1616, "favorite_count": 9608}, {"created_at": "Sat Feb 02 21:00:01 +0000 2019", "id": 1091803447140237300, "text": "▓░░░░░░░░░░░░░░ 9%", "percent": 9, "retweet_count": 1808, "favorite_count": 10386}, {"created_at": "Wed Feb 06 12:00:00 +0000 2019", "id": 1093117100841943000, "text": "▓▓░░░░░░░░░░░░░ 10%", "percent": 10, "retweet_count": 4282, "favorite_count": 14428}, {"created_at": "Sun Feb 10 04:00:02 +0000 2019", "id": 1094445862988775400, "text": "▓▓░░░░░░░░░░░░░ 11%", "percent": 11, "retweet_count": 1747, "favorite_count": 9828}, {"created_at": "Wed Feb 13 20:00:00 +0000 2019", "id": 1095774612586147800, "text": "▓▓░░░░░░░░░░░░░ 12%", "percent": 12, "retweet_count": 1388, "favorite_count": 7459}, {"created_at": "Sun Feb 17 11:00:00 +0000 2019", "id": 1097088268435361800, "text": "▓▓░░░░░░░░░░░░░ 13%", "percent": 13, "retweet_count": 1471, "favorite_count": 8023}, {"created_at": "Thu Feb 21 03:00:00 +0000 2019", "id": 1098417024387244000, "text": "▓▓░░░░░░░░░░░░░ 14%", "percent": 14, "retweet_count": 1406, "favorite_count": 7642}, {"created_at": "Sun Feb 24 18:00:00 +0000 2019", "id": 1099730679712174100, "text": "▓▓░░░░░░░░░░░░░ 15%", "percent": 15, "retweet_count": 2374, "favorite_count": 9469}, {"created_at": "Thu Feb 28 10:00:00 +0000 2019", "id": 1101059435445788700, "text": "▓▓░░░░░░░░░░░░░ 16%", "percent": 16, "retweet_count": 1436, "favorite_count": 7386}, {"created_at": "Mon Mar 04 02:00:00 +0000 2019", "id": 1102388190311268400, "text": "▓▓▓░░░░░░░░░░░░ 17%", "percent": 17, "retweet_count": 1693, "favorite_count": 8403}, {"created_at": "Thu Mar 07 17:00:01 +0000 2019", "id": 1103701848161169400, "text": "▓▓▓░░░░░░░░░░░░ 18%", "percent": 18, "retweet_count": 1373, "favorite_count": 7098}, {"created_at": "Mon Mar 11 09:00:00 +0000 2019", "id": 1105030602733031400, "text": "▓▓▓░░░░░░░░░░░░ 19%", "percent": 19, "retweet_count": 1779, "favorite_count": 7703}, {"created_at": "Fri Mar 15 00:00:00 +0000 2019", "id": 1106344258146050000, "text": "▓▓▓░░░░░░░░░░░░ 20%", "percent": 20, "retweet_count": 3467, "favorite_count": 10644}, {"created_at": "Mon Mar 18 16:00:00 +0000 2019", "id": 1107673014634725400, "text": "▓▓▓░░░░░░░░░░░░ 21%", "percent": 21, "retweet_count": 1347, "favorite_count": 6559}, {"created_at": "Fri Mar 22 08:00:01 +0000 2019", "id": 1109001772864098300, "text": "▓▓▓░░░░░░░░░░░░ 22%", "percent": 22, "retweet_count": 1474, "favorite_count": 7276}, {"created_at": "Mon Mar 25 23:00:04 +0000 2019", "id": 1110315439601655800, "text": "▓▓▓░░░░░░░░░░░░ 23%", "percent": 23, "retweet_count": 1565, "favorite_count": 7125}, {"created_at": "Fri Mar 29 15:00:01 +0000 2019", "id": 1111644182882463700, "text": "▓▓▓▓░░░░░░░░░░░ 24%", "percent": 24, "retweet_count": 1471, "favorite_count": 6744}, {"created_at": "Tue Apr 02 06:00:01 +0000 2019", "id": 1112957838291296300, "text": "▓▓▓▓░░░░░░░░░░░ 25%", "percent": 25, "retweet_count": 6891, "favorite_count": 19430}, {"created_at": "Fri Apr 05 22:00:01 +0000 2019", "id": 1114286594339549200, "text": "▓▓▓▓░░░░░░░░░░░ 26%", "percent": 26, "retweet_count": 1271, "favorite_count": 5993}, {"created_at": "Tue Apr 09 14:00:00 +0000 2019", "id": 1115615347560919000, "text": "▓▓▓▓░░░░░░░░░░░ 27%", "percent": 27, "retweet_count": 1261, "favorite_count": 6247}, {"created_at": "Sat Apr 13 05:00:01 +0000 2019", "id": 1116929005939253200, "text": "▓▓▓▓░░░░░░░░░░░ 28%", "percent": 28, "retweet_count": 1254, "favorite_count": 6464}, {"created_at": "Tue Apr 16 21:00:01 +0000 2019", "id": 1118257764684505100, "text": "▓▓▓▓░░░░░░░░░░░ 29%", "percent": 29, "retweet_count": 1238, "favorite_count": 6026}, {"created_at": "Sat Apr 20 12:00:00 +0000 2019", "id": 1119571416385577000, "text": "▓▓▓▓▓░░░░░░░░░░ 30%", "percent": 30, "retweet_count": 3314, "favorite_count": 10862}, {"created_at": "Wed Apr 24 04:00:03 +0000 2019", "id": 1120900184484065300, "text": "▓▓▓▓▓░░░░░░░░░░ 31%", "percent": 31, "retweet_count": 1351, "favorite_count": 6272}, {"created_at": "Sat Apr 27 20:00:01 +0000 2019", "id": 1122228927882309600, "text": "▓▓▓▓▓░░░░░░░░░░ 32%", "percent": 32, "retweet_count": 1296, "favorite_count": 6418}, {"created_at": "Wed May 01 11:00:00 +0000 2019", "id": 1123542583278493700, "text": "▓▓▓▓▓░░░░░░░░░░ 33%", "percent": 33, "retweet_count": 2747, "favorite_count": 9107}, {"created_at": "Sun May 05 03:00:01 +0000 2019", "id": 1124871340622852100, "text": "▓▓▓▓▓░░░░░░░░░░ 34%", "percent": 34, "retweet_count": 1345, "favorite_count": 6337}, {"created_at": "Wed May 08 18:00:00 +0000 2019", "id": 1126184994295164900, "text": "▓▓▓▓▓░░░░░░░░░░ 35%", "percent": 35, "retweet_count": 1552, "favorite_count": 6550}, {"created_at": "Sun May 12 10:00:00 +0000 2019", "id": 1127513749076762600, "text": "▓▓▓▓▓░░░░░░░░░░ 36%", "percent": 36, "retweet_count": 1370, "favorite_count": 6538}, {"created_at": "Thu May 16 02:00:01 +0000 2019", "id": 1128842507574489100, "text": "▓▓▓▓▓▓░░░░░░░░░ 37%", "percent": 37, "retweet_count": 1382, "favorite_count": 6074}, {"created_at": "Sun May 19 17:00:00 +0000 2019", "id": 1130156159409823700, "text": "▓▓▓▓▓▓░░░░░░░░░ 38%", "percent": 38, "retweet_count": 1473, "favorite_count": 6535}, {"created_at": "Thu May 23 09:00:01 +0000 2019", "id": 1131484918926708700, "text": "▓▓▓▓▓▓░░░░░░░░░ 39%", "percent": 39, "retweet_count": 1321, "favorite_count": 5973}, {"created_at": "Mon May 27 00:00:00 +0000 2019", "id": 1132798572930453500, "text": "▓▓▓▓▓▓░░░░░░░░░ 40%", "percent": 40, "retweet_count": 3635, "favorite_count": 10437}, {"created_at": "Thu May 30 16:00:01 +0000 2019", "id": 1134127329431752700, "text": "▓▓▓▓▓▓░░░░░░░░░ 41%", "percent": 41, "retweet_count": 1412, "favorite_count": 5852}, {"created_at": "Mon Jun 03 08:00:00 +0000 2019", "id": 1135456082699141100, "text": "▓▓▓▓▓▓░░░░░░░░░ 42%", "percent": 42, "retweet_count": 2437, "favorite_count": 11472}, {"created_at": "Thu Jun 06 23:00:01 +0000 2019", "id": 1136769741421523000, "text": "▓▓▓▓▓▓░░░░░░░░░ 43%", "percent": 43, "retweet_count": 1380, "favorite_count": 5911}, {"created_at": "Mon Jun 10 15:00:00 +0000 2019", "id": 1138098493975879700, "text": "▓▓▓▓▓▓▓░░░░░░░░ 44%", "percent": 44, "retweet_count": 1538, "favorite_count": 6385}, {"created_at": "Fri Jun 14 06:00:00 +0000 2019", "id": 1139412152110866400, "text": "▓▓▓▓▓▓▓░░░░░░░░ 45%", "percent": 45, "retweet_count": 1889, "favorite_count": 6890}, {"created_at": "Mon Jun 17 22:00:01 +0000 2019", "id": 1140740909853741000, "text": "▓▓▓▓▓▓▓░░░░░░░░ 46%", "percent": 46, "retweet_count": 1424, "favorite_count": 6051}, {"created_at": "Fri Jun 21 14:00:00 +0000 2019", "id": 1142069662412419100, "text": "▓▓▓▓▓▓▓░░░░░░░░ 47%", "percent": 47, "retweet_count": 1330, "favorite_count": 5942}, {"created_at": "Tue Jun 25 05:00:04 +0000 2019", "id": 1143383333080129500, "text": "▓▓▓▓▓▓▓░░░░░░░░ 48%", "percent": 48, "retweet_count": 1689, "favorite_count": 7133}, {"created_at": "Fri Jun 28 21:00:01 +0000 2019", "id": 1144712075798863900, "text": "▓▓▓▓▓▓▓░░░░░░░░ 49%", "percent": 49, "retweet_count": 1965, "favorite_count": 8113}, {"created_at": "Tue Jul 02 12:00:01 +0000 2019", "id": 1146025732805681200, "text": "▓▓▓▓▓▓▓▓░░░░░░░ 50%", "percent": 50, "retweet_count": 20761, "favorite_count": 45187}, {"created_at": "Sat Jul 06 04:00:00 +0000 2019", "id": 1147354484613537800, "text": "▓▓▓▓▓▓▓▓░░░░░░░ 51%", "percent": 51, "retweet_count": 1835, "favorite_count": 7800}, {"created_at": "Tue Jul 09 20:00:01 +0000 2019", "id": 1148683242624737300, "text": "▓▓▓▓▓▓▓▓░░░░░░░ 52%", "percent": 52, "retweet_count": 1266, "favorite_count": 5727}, {"created_at": "Sat Jul 13 11:00:00 +0000 2019", "id": 1149996897656066000, "text": "▓▓▓▓▓▓▓▓░░░░░░░ 53%", "percent": 53, "retweet_count": 1185, "favorite_count": 5808}, {"created_at": "Wed Jul 17 03:00:03 +0000 2019", "id": 1151325665687474200, "text": "▓▓▓▓▓▓▓▓░░░░░░░ 54%", "percent": 54, "retweet_count": 1306, "favorite_count": 6079}, {"created_at": "Sat Jul 20 18:00:00 +0000 2019", "id": 1152639307452231700, "text": "▓▓▓▓▓▓▓▓░░░░░░░ 55%", "percent": 55, "retweet_count": 1694, "favorite_count": 6949}, {"created_at": "Wed Jul 24 10:00:00 +0000 2019", "id": 1153968062921695200, "text": "▓▓▓▓▓▓▓▓░░░░░░░ 56%", "percent": 56, "retweet_count": 1082, "favorite_count": 4764}, {"created_at": "Sun Jul 28 02:00:00 +0000 2019", "id": 1155296818646933500, "text": "▓▓▓▓▓▓▓▓▓░░░░░░ 57%", "percent": 57, "retweet_count": 1435, "favorite_count": 7099}, {"created_at": "Wed Jul 31 17:00:01 +0000 2019", "id": 1156610477507526700, "text": "▓▓▓▓▓▓▓▓▓░░░░░░ 58%", "percent": 58, "retweet_count": 1588, "favorite_count": 7099}, {"created_at": "Sun Aug 04 09:00:00 +0000 2019", "id": 1157939231542644700, "text": "▓▓▓▓▓▓▓▓▓░░░░░░ 59%", "percent": 59, "retweet_count": 1352, "favorite_count": 6335}, {"created_at": "Thu Aug 08 00:00:00 +0000 2019", "id": 1159252886892818400, "text": "▓▓▓▓▓▓▓▓▓░░░░░░ 60%", "percent": 60, "retweet_count": 3178, "favorite_count": 10401}, {"created_at": "Sun Aug 11 16:00:00 +0000 2019", "id": 1160581641674416000, "text": "▓▓▓▓▓▓▓▓▓░░░░░░ 61%", "percent": 61, "retweet_count": 1603, "favorite_count": 6556}, {"created_at": "Thu Aug 15 08:00:00 +0000 2019", "id": 1161910397294850000, "text": "▓▓▓▓▓▓▓▓▓░░░░░░ 62%", "percent": 62, "retweet_count": 1335, "favorite_count": 6342}, {"created_at": "Sun Aug 18 23:00:00 +0000 2019", "id": 1163224053819289600, "text": "▓▓▓▓▓▓▓▓▓░░░░░░ 63%", "percent": 63, "retweet_count": 1546, "favorite_count": 6471}, {"created_at": "Thu Aug 22 15:00:01 +0000 2019", "id": 1164552811557863400, "text": "▓▓▓▓▓▓▓▓▓▓░░░░░ 64%", "percent": 64, "retweet_count": 1377, "favorite_count": 6345}, {"created_at": "Mon Aug 26 06:00:01 +0000 2019", "id": 1165866466752774100, "text": "▓▓▓▓▓▓▓▓▓▓░░░░░ 65%", "percent": 65, "retweet_count": 1979, "favorite_count": 7306}, {"created_at": "Thu Aug 29 22:00:00 +0000 2019", "id": 1167195220259352600, "text": "▓▓▓▓▓▓▓▓▓▓░░░░░ 66%", "percent": 66, "retweet_count": 1947, "favorite_count": 7761}, {"created_at": "Mon Sep 02 14:00:01 +0000 2019", "id": 1168523977947517000, "text": "▓▓▓▓▓▓▓▓▓▓░░░░░ 67%", "percent": 67, "retweet_count": 1693, "favorite_count": 7718}, {"created_at": "Fri Sep 06 05:00:00 +0000 2019", "id": 1169837633100345300, "text": "▓▓▓▓▓▓▓▓▓▓░░░░░ 68%", "percent": 68, "retweet_count": 1467, "favorite_count": 7748}, {"created_at": "Mon Sep 09 21:00:00 +0000 2019", "id": 1171166388922278000, "text": "▓▓▓▓▓▓▓▓▓▓░░░░░ 69%", "percent": 69, "retweet_count": 34326, "favorite_count": 135336}, {"created_at": "Fri Sep 13 12:00:01 +0000 2019", "id": 1172480045421670400, "text": "▓▓▓▓▓▓▓▓▓▓▓░░░░ 70%", "percent": 70, "retweet_count": 3336, "favorite_count": 11850}, {"created_at": "Tue Sep 17 04:00:00 +0000 2019", "id": 1173808800220024800, "text": "▓▓▓▓▓▓▓▓▓▓▓░░░░ 71%", "percent": 71, "retweet_count": 1755, "favorite_count": 9138}, {"created_at": "Fri Sep 20 20:00:01 +0000 2019", "id": 1175137556452782000, "text": "▓▓▓▓▓▓▓▓▓▓▓░░░░ 72%", "percent": 72, "retweet_count": 1596, "favorite_count": 7935}, {"created_at": "Tue Sep 24 11:00:00 +0000 2019", "id": 1176451211681288200, "text": "▓▓▓▓▓▓▓▓▓▓▓░░░░ 73%", "percent": 73, "retweet_count": 1704, "favorite_count": 8489}, {"created_at": "Sat Sep 28 03:00:00 +0000 2019", "id": 1177779966911635500, "text": "▓▓▓▓▓▓▓▓▓▓▓░░░░ 74%", "percent": 74, "retweet_count": 1564, "favorite_count": 7810}, {"created_at": "Tue Oct 01 18:00:01 +0000 2019", "id": 1179093623624929300, "text": "▓▓▓▓▓▓▓▓▓▓▓░░░░ 75%", "percent": 75, "retweet_count": 4553, "favorite_count": 14030}, {"created_at": "Sat Oct 05 10:00:00 +0000 2019", "id": 1180422378372948000, "text": "▓▓▓▓▓▓▓▓▓▓▓░░░░ 76%", "percent": 76, "retweet_count": 1531, "favorite_count": 7998}, {"created_at": "Wed Oct 09 02:00:01 +0000 2019", "id": 1181751135503356000, "text": "▓▓▓▓▓▓▓▓▓▓▓▓░░░ 77%", "percent": 77, "retweet_count": 2106, "favorite_count": 9614}, {"created_at": "Sat Oct 12 17:00:00 +0000 2019", "id": 1183064789817409500, "text": "▓▓▓▓▓▓▓▓▓▓▓▓░░░ 78%", "percent": 78, "retweet_count": 1825, "favorite_count": 8807}, {"created_at": "Wed Oct 16 09:00:00 +0000 2019", "id": 1184393544464777200, "text": "▓▓▓▓▓▓▓▓▓▓▓▓░░░ 79%", "percent": 79, "retweet_count": 1913, "favorite_count": 9404}, {"created_at": "Sun Oct 20 00:00:04 +0000 2019", "id": 1185707214746652700, "text": "▓▓▓▓▓▓▓▓▓▓▓▓░░░ 80%", "percent": 80, "retweet_count": 4679, "favorite_count": 15289}, {"created_at": "Wed Oct 23 16:00:00 +0000 2019", "id": 1187035957381521400, "text": "▓▓▓▓▓▓▓▓▓▓▓▓░░░ 81%", "percent": 81, "retweet_count": 1763, "favorite_count": 8380}, {"created_at": "Sun Oct 27 08:00:00 +0000 2019", "id": 1188364711538102300, "text": "▓▓▓▓▓▓▓▓▓▓▓▓░░░ 82%", "percent": 82, "retweet_count": 1956, "favorite_count": 9269}, {"created_at": "Wed Oct 30 23:00:01 +0000 2019", "id": 1189678369178312700, "text": "▓▓▓▓▓▓▓▓▓▓▓▓░░░ 83%", "percent": 83, "retweet_count": 1709, "favorite_count": 8156}, {"created_at": "Sun Nov 03 15:00:01 +0000 2019", "id": 1191007125088149500, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 84%", "percent": 84, "retweet_count": 2444, "favorite_count": 11213}, {"created_at": "Thu Nov 07 06:00:01 +0000 2019", "id": 1192320780652159000, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 85%", "percent": 85, "retweet_count": 3242, "favorite_count": 12568}, {"created_at": "Sun Nov 10 22:00:01 +0000 2019", "id": 1193649537526747100, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 86%", "percent": 86, "retweet_count": 2050, "favorite_count": 9923}, {"created_at": "Thu Nov 14 14:00:00 +0000 2019", "id": 1194978290374762500, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 87%", "percent": 87, "retweet_count": 2014, "favorite_count": 9231}, {"created_at": "Mon Nov 18 05:00:00 +0000 2019", "id": 1196291946693714000, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 88%", "percent": 88, "retweet_count": 2395, "favorite_count": 10467}, {"created_at": "Thu Nov 21 21:00:00 +0000 2019", "id": 1197620701672484900, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 89%", "percent": 89, "retweet_count": 2228, "favorite_count": 9761}, {"created_at": "Mon Nov 25 12:00:01 +0000 2019", "id": 1198934359857909800, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 90%", "percent": 90, "retweet_count": 8477, "favorite_count": 25133}, {"created_at": "Fri Nov 29 04:00:01 +0000 2019", "id": 1200263115855806500, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 91%", "percent": 91, "retweet_count": 2747, "favorite_count": 11343}, {"created_at": "Mon Dec 02 20:00:00 +0000 2019", "id": 1201591869588885500, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 92%", "percent": 92, "retweet_count": 2827, "favorite_count": 11372}, {"created_at": "Fri Dec 06 11:00:00 +0000 2019", "id": 1202905524326609000, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 93%", "percent": 93, "retweet_count": 2678, "favorite_count": 11836}, {"created_at": "Tue Dec 10 03:00:00 +0000 2019", "id": 1204234280580333600, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 94%", "percent": 94, "retweet_count": 3235, "favorite_count": 13589}, {"created_at": "Fri Dec 13 18:00:01 +0000 2019", "id": 1205547937742360600, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 95%", "percent": 95, "retweet_count": 4504, "favorite_count": 15763}, {"created_at": "Tue Dec 17 10:00:00 +0000 2019", "id": 1206876690531704800, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 96%", "percent": 96, "retweet_count": 3083, "favorite_count": 13194}, {"created_at": "Sat Dec 21 02:00:01 +0000 2019", "id": 1208205450359058400, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 97%", "percent": 97, "retweet_count": 4786, "favorite_count": 18073}, {"created_at": "Tue Dec 24 17:00:01 +0000 2019", "id": 1209519105788780500, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 98%", "percent": 98, "retweet_count": 6628, "favorite_count": 24197}, {"created_at": "Sat Dec 28 09:00:01 +0000 2019", "id": 1210847861505704000, "text": "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 99%", "percent": 99, "retweet_count": 19823, "favorite_count": 60681}]</template>
.title {
text-anchor: middle;
transform: translate(50%, 20px);
fill: rgb(128, 0, 38);
}
text {
font-family: sans-serif;
}
.points text {
text-anchor: middle;
alignment-baseline: middle;
font-weight: bold;
}
.axes {
color: rgb(128, 0, 38);
}
.axis line {
stroke: currentColor;
}
.axis path {
stroke: currentColor;
}
.axis text {
fill: currentColor;
}
const json = document.getElementById('tweet-json').innerHTML;
const tweets = JSON.parse(json);
const WIDTH = 600;
const HEIGHT = 600;
const LOOK_AT = 'retweet';
const INVERT_AT = 5000;
// Draw bigger numbers first so that they're at the back
tweets.sort((a, b) => b[`${LOOK_AT}_count`] - a[`${LOOK_AT}_count`]);
const [minValue, maxValue] = tweets.reduce(([min, max], tweet) => {
const value = tweet[`${LOOK_AT}_count`];
return [
Math.min(min, value),
Math.max(max, value)
];
}, [Infinity, 0]);
const svg = d3.select('svg')
.attr('width', WIDTH)
.attr('height', HEIGHT);
const xScale = d3.scaleLinear().domain([0, 9]).range([60, WIDTH - 60]);
const yScale = d3.scaleLinear().domain([0, 9]).range([60, HEIGHT - 60]);
const rScale = d3.scaleLog().domain([minValue, maxValue]).range([10, 60]);
const colorScale = d3.scaleSequentialLog(d3.interpolateYlOrRd).domain([minValue * 0.75, maxValue]);
const sizeScale = d3.scaleLog().domain([minValue, maxValue]).range([8, 26]);
drawPoints();
drawAxes();
drawTitle();
function drawPoints() {
const pointEnter = svg
.append('g')
.attr('class', 'points')
.selectAll('.point')
.data(tweets)
.enter();
// Should probably just do this in the scale lol
const xFn = d => xScale(d.percent % 10);
const yFn = d => yScale(Math.floor(d.percent / 10));
pointEnter.append('circle')
.attr('cx', xFn)
.attr('cy', yFn)
.attr('r', d => rScale(d[`${LOOK_AT}_count`]))
.attr('fill', d => colorScale(d[`${LOOK_AT}_count`]))
.attr('opacity', 0.8);
pointEnter.append('text')
// .text(d => d.percent)
.text(d => `${(d[`${LOOK_AT}_count`] / 1e3).toPrecision(2)}k`)
.attr('transform', d => `translate(${xFn(d)}, ${yFn(d)})`)
.attr('font-size', d => sizeScale(d[`${LOOK_AT}_count`]))
.attr('fill', d => d[`${LOOK_AT}_count`] < INVERT_AT ? 'rgb(128, 0, 38)' : 'rgb(255, 255, 204)');
}
function drawAxes() {
const axes = svg.append('g')
.attr('class', 'axes');
const xAxis = d3.axisBottom(xScale).tickFormat(d => `+${d}`);
axes.append('g')
.attr('class', 'axis')
.attr('id', 'axis-bottom')
.attr('transform', `translate(0, ${HEIGHT - 25})`)
.call(xAxis);
const yAxis = d3.axisLeft(yScale).tickFormat(d => d === 0 ? '0' : `${d}0`);
axes.append('g')
.attr('class', 'axis')
.attr('id', 'axis-left')
.attr('transform', 'translate(25, 0)')
.call(yAxis);
const axisClip = axes.append('clipPath')
.attr('id', 'axis-clip');
const largeTweets = tweets.filter(tweet => tweet[`${LOOK_AT}_count`] > INVERT_AT);
axisClip.selectAll('.axis-clip__point')
.data(largeTweets)
.enter()
.append('circle')
.attr('class', '.axis-clip__point')
.attr('cx', d => xScale(d.percent % 10))
.attr('cy', d => yScale(Math.floor(d.percent / 10)))
.attr('r', d => rScale(d[`${LOOK_AT}_count`]));
axes.append('use')
.attr('clip-path', 'url(#axis-clip)')
.attr('xlink:href', '#axis-left')
.attr('color', 'rgb(255, 255, 204)');
axes.append('use')
.attr('clip-path', 'url(#axis-clip)')
.attr('xlink:href', '#axis-bottom')
.attr('color', 'rgb(255, 255, 204)');
}
function drawTitle() {
svg.append('text')
.attr('class', 'title')
.text('Retweets per tweet in 2020 from @year_progress');
}
Also see: Tab Triggers