Svg optimization with SVGO is broken
See original GitHub issueSVGO currently remove required whitespaces from text nodes and break empty html nodes by transforming them into self-closing tags which breaks display.
Image below is displaying nested tweets sections (gray bar on the left) while each one should be separated.
Original image
<svg xmlns="http://www.w3.org/2000/svg" width="480" height="99999" class="">
<defs>
<style></style>
</defs>
<style>/* SVG global context */
svg {
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
font-size: 14px;
color: #777777;
}
/* Headers */
h1, h2, h3 {
margin: 8px 0 2px;
padding: 0;
color: #0366d6;
font-weight: normal;
}
h1 svg, h2 svg, h3 svg {
fill: currentColor;
}
h1 {
font-size: 20px;
font-weight: bold;
}
h2 {
font-size: 16px;
}
h3 {
font-size: 14px;
}
/* Fields */
section > .field {
margin-left: 5px;
margin-right: 5px;
}
.field {
display: flex;
align-items: center;
margin-bottom: 2px;
white-space: nowrap;
}
.field svg {
margin: 0 8px;
fill: #959da5;
flex-shrink: 0;
}
.field.error {
color: #cb2431;
}
.field.error svg {
fill: #cb2431;
}
/* Displays */
.row {
display: flex;
}
.row section {
flex: 1 1 0;
}
.column {
display: flex;
flex-direction: column;
align-items: center;
}
.center {
justify-content: center;
}
.horizontal {
justify-content: space-around;
}
.horizontal-wrap {
flex-wrap: wrap;
}
.horizontal .field {
flex: 1 1 0;
}
.no-wrap {
white-space: nowrap;
}
.fill-width {
width: 100%;
}
.margin-bottom {
margin-bottom: 16px;
}
.no-margin-top {
margin-top: 0px;
}
/* User avatar */
.avatar {
border-radius: 50%;
margin: 0 6px;
}
.organization.avatar {
border-radius: 15%;
}
.organization.name {
white-space: nowrap;
}
.organization.contributions {
margin: 0 8px;
flex-wrap: wrap;
}
.contribution.organization {
display: flex;
border: 1px solid #959da5;
border-radius: 6px;
padding: 2px 6px;
padding-left: 0;
margin: 2px;
font-size: 12px;
background-color: #959da520;
}
.contribution.organization .avatar {
margin: 0 4px;
}
/* Commit calendar */
.calendar.field {
margin: 4px 0;
margin-left: 7px;
}
.calendar .day {
outline: 1px solid rgba(27,31,35,.04);
outline-offset: -1px;
}
/* Progress bars */
svg.bar {
margin: 4px 0;
}
/* Language */
.field.language {
margin: 0 8px;
flex-grow: 0;
}
.field.language.details {
display: flex;
justify-content: space-between;
}
.field.language.details small {
display: flex;
justify-content: space-between;
color: #666666;
text-align: right;
}
.field.language.details > *, .field.language.details small > * {
flex: 1 1 0;
}
/* Follow-up */
.followup.legend {
font-size: 12px;
}
.followup.legend svg {
margin: 0 3px;
width: 14px;
height: 14px;
}
.followup.legend svg:first-child {
margin-left: 0;
}
.followup.legend svg:last-child {
margin-right: 0;
}
/* Labels */
.label {
background-color: #58A6FF30;
color: #0366D6;
padding: 0 10px;
font-weight: 500;
line-height: 22px;
margin: 2px 5px;
white-space: nowrap;
border-radius: 32px;
font-size: 12px;
}
/* Habits */
.habits {
margin: 0;
list-style-type: none;
padding-left: 37px;
}
/* Footer */
footer {
margin-top: 8px;
font-size: 10px;
font-style: italic;
color: #666666;
text-align: right;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 0 4px;
}
/* Speed test categories */
.categories {
display: flex;
align-items: center;
justify-content: space-around;
margin-top: 4px;
}
.categorie {
display: flex;
flex-direction: column;
align-items: center;
flex: 1 1 0;
}
/* Gauges */
.gauge {
stroke-linecap: round;
fill: none;
}
.gauge.high {
color: #18b663;
}
.gauge.average {
color: #fb8c00;
}
.gauge.low {
color: #e53935;
}
.gauge.info {
color: #58A6FF;
}
.gauge-base, .gauge-arc {
stroke: currentColor;
stroke-width: 10;
}
.gauge-base {
stroke-opacity: .2;
}
.gauge-arc {
fill: none;
stroke-dashoffset: 0;
animation-delay: 250ms;
animation: animation-gauge 1s ease forwards
}
.gauge text {
fill: currentColor;
font-size: 40px;
font-family: monospace;
text-anchor: middle;
font-weight: 600;
}
.gauge .title {
font-size: 18px;
color: #777777;
}
@keyframes animation-gauge {
from {
stroke-dasharray: 0 329;
}
}
.audits {
margin-top: 8px;
}
.audit.text {
min-width: 42px;
}
.audit svg {
margin: 0;
}
.audit.high {
fill: #18b663;
}
.audit.average {
fill: #fb8c00;
}
.audit.low {
fill: #e53935;
}
.screenshot {
width: 452px;
height: 315px;
margin: 8px 14px 4px;
border-radius: 5px;
}
/* Music plugin */
.tracklist {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-left: 28px;
margin-top: 4px;
width: 100%;
}
.track {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 4px;
}
.track img {
margin: 0 10px;
border-radius: 7px;
}
.track .name {
font-size: 14px;
line-height: 14px;
font-weight: 600;
}
.track .artist, .track .played-at {
font-size: 12px;
color: #666666;
}
/* Posts plugin */
.post {
align-items: flex-start;
}
.post .infos {
display: flex;
margin-bottom: 4px;
}
.post .infos .left {
flex-shrink: 0;
font-size: 12px;
color: #666666;
width: 72px;
padding-top: 1px;
text-align: center;
}
.post .infos .cover {
width: 100%;
height: 56px;
background-position: center;
background-size: cover;
border-radius: 6px;
overflow: hidden;
}
.post .infos .right {
width: 376px;
padding-left: 4px;
}
.post .infos .title, .post .infos .description {
font-size: 14px;
white-space: normal;
overflow: hidden;
text-overflow: ellipsis;
max-height: 38px;
/* May not work in all browsers */
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.post .infos .description {
margin-top: 3px;
font-size: 12px;
max-height: 48px;
color: #666666;
-webkit-line-clamp: 3;
}
/* Topics */
.topics {
display: flex;
flex-wrap: wrap;
}
.topics img {
border-radius: 5px;
margin: 4px;
}
/* Tweets */
.tweet {
font-size: 13px;
margin-top: 6px;
margin-bottom: 16px;
margin-left: 18px;
border-left: 3px solid #777777B2;
padding-left: 6px;
}
.tweet .mention, .tweet .link, .tweet .hashtag {
color: #0366d6;
}
.tweet .date {
margin: 6px 0;
font-size: 12px;
color: #666666;
}
.tweet .attachments {
display: flex;
width: 450px;
margin-top: 8px;
}
.tweet .attachments > div {
flex: 1 1 0;
width: 0;
border-radius: 6px;
background-position: center;
background-size: cover;
height: 200px;
margin: 2px;
box-shadow: 0px 0px 1px #777777A0;
overflow: hidden;
display: flex;
align-items: flex-end;
}
.tweet .attachments .infos {
background-color: #000000D0;
color: white;
display: flex;
flex-direction: column;
width: 100%;
padding-bottom: 4px;
}
.tweet .attachments .infos > div {
margin: 4px 8px 0;
}
.tweet .attachments .infos .title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tweet .attachments .infos .description {
font-size: 11px;
color: #666666;
}
/* Charts and graphs */
.chart {
padding: 0 8px;
}
.chart-bars {
display: flex;
justify-content: space-between;
align-items: flex-end;
width: 100%;
margin: 8px 0 4px;
flex-grow: 1;
min-height: 70px;
}
.chart-bars .entry {
flex: 1 1 0;
display: flex;
flex-direction: column;
align-items: center;
font-size: 10px;
color: #666666;
}
.chart-bars .entry .value {
font-size: 7px;
}
.chart-bars .entry .empty {
width: 100%;
text-align: center;
}
.chart-bars .bar {
width: 7px;
background-color: var(--color-calendar-graph-day-bg);
border: 1px solid var(--color-calendar-graph-day-border);
border-radius: 5px;
}
.chart-bars.horizontal {
flex-direction: column;
height: 100%;
}
.chart-bars.horizontal .entry {
align-items: center;
flex-direction: row;
width: 100%;
min-height: 1rem;
}
.chart-bars.horizontal .entry .name {
flex-shrink: 0;
text-align: right;
width: 34%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.chart-bars .entry .bottom {
margin-bottom: -1rem;
line-height: 1rem;
}
.chart-bars.horizontal .bar {
height: 7px;
width: auto;
margin: 0 6px;
}
/* Repository */
.repository {
display: flex;
flex-direction: column;
width: 100%;
margin: 6px 0;
}
.repository .name {
display: flex;
align-items: center;
justify-content: space-between;
width: 440px;
}
.repository .name span:first-child {
color: #58a6ff;
}
.repository .name span:last-child {
color: #666666;
font-size: 10px;
}
.repository .description {
display: block;
width: 440px;
white-space: normal;
}
.repository .description, .repository .infos {
color: #666666;
margin-left: 38px;
font-size: 13px;
}
.repository .infos > div {
display: flex;
align-items: center;
margin-right: 16px;
}
.repository .infos svg {
margin: 0;
margin-right: 4px;
}
/* Activity */
.activity {
margin-bottom: 12px;
}
.activity .field {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
max-width: 450px;
white-space: nowrap;
margin-bottom: 0;
}
.activity .field .content {
flex-grow: 1;
text-overflow: ellipsis;
overflow: hidden;
}
.activity .repo, .activity .issue, .activity .commit .sha {
display: inline;
color: #58a6ff;
}
.activity .code {
background-color: #7777771F;
padding: 1px 5px;
font-size: 80%;
border-radius: 6px;
color: #777777;
font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
margin: 0 4px -3px;
}
.activity .bold, .activity .user {
font-weight: 600;
margin: 0 4px;
}
.activity .details, .activity .timestamp {
padding-left: 38px;
display: flex;
flex-direction: column;
font-size: 13px;
color: #666666;
}
.activity .timestamp {
font-size: 10px;
margin-top: 4px;
}
.activity .commit .sha {
font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
}
.activity .commit .message {
overflow: hidden;
text-overflow: ellipsis;
width: 360px;
white-space: nowrap;
}
.activity .details > .comment {
overflow: hidden;
text-overflow: ellipsis;
display: block;
width: 420px;
margin-top: 6px;
border-left: 3px solid #777777B2;
padding-left: 6px;
/* May not work in all browsers */
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
/* People */
.people {
padding: 0 10px;
}
.people .avatar {
margin: 0 2px;
}
/* Projects */
.project .description {
overflow: hidden;
text-overflow: ellipsis;
display: block;
width: 420px;
margin-left: 37px;
max-height: 38px;
font-size: 12px;
white-space: normal;
/* May not work in all browsers */
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
/* Anilist */
.anilist {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-left: 28px;
margin-top: 4px;
}
.anilist .media {
display: flex;
margin-bottom: 4px;
width: 450px;
}
.anilist .media img {
margin: 0 10px;
border-radius: 7px;
}
.anilist .media .about {
flex-grow: 1;
}
.anilist .media .name {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
line-height: 14px;
color: #58a6ff;
}
.anilist .media .infos {
font-size: 12px;
color: #666666;
}
.anilist .media .infos > div {
display: inline-flex;
align-items: center;
margin-right: 16px;
}
.anilist .media .infos svg {
fill: currentColor;
height: 12px;
width: 12px;
margin: 0;
margin-right: 4px;
}
.anilist .media .description {
overflow: hidden;
text-overflow: ellipsis;
display: block;
width: 380px;
max-height: 38px;
font-size: 12px;
white-space: normal;
/* May not work in all browsers */
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.anilist .characters {
display: flex;
flex-wrap: wrap;
}
.anilist .characters img {
margin: 2px;
border-radius: 7px;
}
/* Licenses */
.licenses {
display: flex;
}
.licenses .column {
align-items: flex-start;
font-size: 12px;
color: #666666;
flex-shrink: 0;
}
.licenses-details {
margin-top: 8px;
}
.field.license.details {
display: flex;
justify-content: space-between;
}
.field.license.details small {
display: flex;
justify-content: space-between;
color: #666666;
text-align: right;
}
.licenses .column:nth-child(1) {
margin-left: 13px;
width: 25%;
}
.licenses .column:nth-child(2) {
width: 25%;
}
.licenses .column:nth-child(3) {
width: 50%;
}
.licenses .column svg {
height: 12px;
width: 12px;
}
.licenses .column .title {
font-weight: 600;
margin-left: 15px;
}
.licenses .column .permission svg {
fill: #56d364;
}
.licenses .column .limitation svg {
fill: #f85149;
}
.licenses .column .condition svg {
fill: #58a6ff;
}
/* Contributors */
.contributors {
display: flex;
flex-wrap: wrap;
margin-left: 6px;
}
.contributors .label {
padding-left: 0;
display: flex;
align-items: center;
}
.contributors .label img {
margin-left: 0;
}
.contributors .contributions {
display: flex;
align-items: center;
font-size: .7rem;
margin-left: 6px;
margin-right: -10px;
background-color: #58A6FF10;
padding: 0 7px;
border-top-right-radius: 32px;
border-bottom-right-radius: 32px;
}
.contributors .contributions svg {
fill: #0366D6;
margin-left: 4px;
width: .8rem;
height: .8rem;
}
/* Introduction */
.introduction {
white-space: normal;
margin: 0 13px 2px;
}
/* Stackoverflow */
.stackoverflow {
margin-left: 38px;
}
.stackoverflow .entry {
margin: 4px 0 12px;
}
.stackoverflow .title {
color: #58a6ff;
white-space: normal;
align-items: flex-start;
}
.stackoverflow .body, .stackoverflow .infos {
color: #666666;
font-size: 13px;
margin-left: 32px;
}
.stackoverflow .infos {
display: flex;
align-items: center;
}
.stackoverflow .infos > div {
display: inline-flex;
align-items: center;
margin-right: 16px;
}
.stackoverflow .infos svg {
fill: currentColor;
height: 12px;
width: 12px;
margin: 0;
margin-right: 4px;
flex-shrink: 0;
}
.stackoverflow .body {
overflow: hidden;
text-overflow: ellipsis;
border-left: 3px solid #777777B2;
padding-left: 6px;
width: 400px;
}
/* Achievements */
.achievement {
display: flex;
margin: 4px 0;
}
.achievement .icon {
margin: 0 4px;
width: 44px;
height: 44px;
}
.achievement .text {
font-size: 12px;
color: #666666;
}
.achievement .unlock {
font-size: 9px;
color: #666666;
}
.achievement .title {
font-size: 14px;
color: #58A6FF;
}
.achievement .gauge.info {
color: #58A6FF;
}
.achievement.x .title {
color: #666666;
}
.achievement.x .gauge.info {
color: #B0B0B0;
}
.achievement.b .title {
color: #9D8FFF;
}
.achievement.b .gauge.info {
color: #9E91FF;
}
.achievement.a .title {
color: #D79533;
}
.achievement.a .gauge.info {
color: #E7BD69;
}
.achievement.s .title {
color: #FF0000;
}
.achievement.s .gauge.info {
color: #FF0000;
}
.achievement.s .icon {
filter: sepia() saturate(100);
}
.achievement.secret .title{
color: #FF76CD;
}
.achievement.secret .gauge.info {
color: #FF79D1;
}
.achievement .gh {
border: 1px solid currentColor;
border-radius: 16px;
font-size: 10px;
padding: 0 5px;
}
.achievement .gauge-base, .achievement .gauge-arc {
stroke-width: 6;
}
/* RSS feed */
.rss {
align-items: flex-start;
}
.rss .infos {
margin-bottom: 3px;
}
.rss .infos .date {
font-size: 10px;
color: #666666;
}
/* Skyline */
.skyline-animation {
margin: 2px 13px 6px;
border-radius: 10px;
background-color: #030D21;
overflow: hidden;
}
/* Markdown and syntax highlighting */
.markdown b, .markdown i {
display: inline-block;
width: 97%;
}
code {
background-color: #7777771F;
display: inline-block;
border-radius: 6px;
color: #777777;
padding: 1px 5px;
font-size: 80%;
font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
}
code[class^=language-] {
white-space: pre-wrap;
width: 97%;
margin-top: 4px;
}
.token.comment {
color: #669900;
}
.token.punctuation {
color: #8a93a8;
}
.token.namespace, .token.constant, .token.symbol, .token.keyword {
color: #b44418;
}
.token.regex, .token.string, .token.char, .token.number, .token.boolean {
color: #2777AA;
}
.token.property, .token.tag {
color: #48428a;
}
.token.builtin, .token.operator {
color: #106cbc;
}
.token.trimmed {
font-style: italic;
color: #77777760
}
/* Charts */
.ct-line {
stroke-width: 2px !important;
stroke: #58A6FF !important;
}
.ct-area {
fill: #58A6FF !important;
}
.ct-label {
fill: rgba(127, 127, 127, 0.8) !important;
color: rgba(127, 127, 127, 0.8) !important;
}
.ct-grid {
stroke: rgba(127, 127, 127, 0.4) !important;
}
/* Autosize */
.autosize {
width: auto;
height: auto;
}
/* Fade animation */
.af {
opacity: 0;
animation: animation-fade 1s ease forwards;
}
@keyframes animation-fade {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/* Twemoji and GitHub emoji */
.twemoji, .gemoji {
height: 1em;
width: 1em;
margin-bottom: -.125em;
}
/* Cake day */
.cakeday, .cakeday svg {
animation: animation-rainbow 1.2s;
animation-iteration-count: infinite;
animation-timing-function: steps(1);
}
/* Rainbow animation */
@keyframes animation-rainbow {
0%, 100%{ color: #7F00FF; fill: #7F00FF; }
14% { color: #A933FF; fill: #A933FF; }
29%{ color: #007FFF; fill: #007FFF; }
43%{ color: #00FF7F; fill: #00FF7F; }
57%{ color: #FFFF00; fill: #FFFF00; }
71%{ color: #FF7F00; fill: #FF7F00; }
86%{ color: #FF0000; fill: #FF0000; }
}
/* Calendar */
:root {
--color-calendar-graph-day-bg: #ebedf0;
--color-calendar-graph-day-border: rgba(27,31,35,0.06);
--color-calendar-graph-day-L1-bg: #9be9a8;
--color-calendar-graph-day-L2-bg: #40c463;
--color-calendar-graph-day-L3-bg: #30a14e;
--color-calendar-graph-day-L4-bg: #216e39;
--color-calendar-halloween-graph-day-L1-bg: #ffee4a;
--color-calendar-halloween-graph-day-L2-bg: #ffc501;
--color-calendar-halloween-graph-day-L3-bg: #fe9600;
--color-calendar-halloween-graph-day-L4-bg: #03001c;
--color-calendar-graph-day-L4-border: rgba(27,31,35,0.06);
--color-calendar-graph-day-L3-border: rgba(27,31,35,0.06);
--color-calendar-graph-day-L2-border: rgba(27,31,35,0.06);
--color-calendar-graph-day-L1-border: rgba(27,31,35,0.06);
}
/* End delimiter */
#metrics-end {
width: 100%;
}
.no-animations * {
transition-delay: 0s !important;
transition-duration: 0s !important;
animation-delay: -0.0001s !important;
animation-duration: 0s !important;
animation-play-state: paused !important;
caret-color: transparent !important;
}</style>
<foreignObject x="0" y="0" width="100%" height="100%">
<div xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink">
<section>
<h2 class="field">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.5 222.3" width="16" height="16"><path d="M273.5 26.3a109.77 109.77 0 0 1-32.2 8.8 56.07 56.07 0 0 0 24.7-31 113.39 113.39 0 0 1-35.7 13.6 56.1 56.1 0 0 0-97 38.4 54 54 0 0 0 1.5 12.8A159.68 159.68 0 0 1 19.1 10.3a56.12 56.12 0 0 0 17.4 74.9 56.06 56.06 0 0 1-25.4-7v.7a56.11 56.11 0 0 0 45 55 55.65 55.65 0 0 1-14.8 2 62.39 62.39 0 0 1-10.6-1 56.24 56.24 0 0 0 52.4 39 112.87 112.87 0 0 1-69.7 24 119 119 0 0 1-13.4-.8 158.83 158.83 0 0 0 86 25.2c103.2 0 159.6-85.5 159.6-159.6 0-2.4-.1-4.9-.2-7.3a114.25 114.25 0 0 0 28.1-29.1"></path></svg>
Latest tweets
</h2>
<div class="row fill-width">
<section>
<div class="field ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M9.585.52a2.678 2.678 0 00-3.17 0l-.928.68a1.178 1.178 0 01-.518.215L3.83 1.59a2.678 2.678 0 00-2.24 2.24l-.175 1.14a1.178 1.178 0 01-.215.518l-.68.928a2.678 2.678 0 000 3.17l.68.928c.113.153.186.33.215.518l.175 1.138a2.678 2.678 0 002.24 2.24l1.138.175c.187.029.365.102.518.215l.928.68a2.678 2.678 0 003.17 0l.928-.68a1.17 1.17 0 01.518-.215l1.138-.175a2.678 2.678 0 002.241-2.241l.175-1.138c.029-.187.102-.365.215-.518l.68-.928a2.678 2.678 0 000-3.17l-.68-.928a1.179 1.179 0 01-.215-.518L14.41 3.83a2.678 2.678 0 00-2.24-2.24l-1.138-.175a1.179 1.179 0 01-.518-.215L9.585.52zM7.303 1.728c.415-.305.98-.305 1.394 0l.928.68c.348.256.752.423 1.18.489l1.136.174c.51.078.909.478.987.987l.174 1.137c.066.427.233.831.489 1.18l.68.927c.305.415.305.98 0 1.394l-.68.928a2.678 2.678 0 00-.489 1.18l-.174 1.136a1.178 1.178 0 01-.987.987l-1.137.174a2.678 2.678 0 00-1.18.489l-.927.68c-.415.305-.98.305-1.394 0l-.928-.68a2.678 2.678 0 00-1.18-.489l-1.136-.174a1.178 1.178 0 01-.987-.987l-.174-1.137a2.678 2.678 0 00-.489-1.18l-.68-.927a1.178 1.178 0 010-1.394l.68-.928c.256-.348.423-.752.489-1.18l.174-1.136c.078-.51.478-.909.987-.987l1.137-.174a2.678 2.678 0 001.18-.489l.927-.68zM11.28 6.78a.75.75 0 00-1.06-1.06L7 8.94 5.78 7.72a.75.75 0 00-1.06 1.06l1.75 1.75a.75.75 0 001.06 0l3.75-3.75z"></path></svg>
github
</div>
<div class="tweet">
Neato! Generate triangulation art from any image using the command line, desktop app, or your browser: <a href="https://t.co/9qXbnnbSjg" class="link">github.com/RH12503/Triang…</a><br/>◅ △ ◣ ◥ ◤ ◁ ◣ ◥ <br/><a href="https://t.co/Pb86Uzyjqp" class="link">pic.twitter.com/Pb86Uzyjqp</a>
<div class="date">19:01 on 24/04/2021</div>
</div>
<div class="tweet">
RT <span class="mention">@GitHubEnt</span>: We’re live on Demo Days! Learn best practices in this deep dive on how developers use open source securely within their orga…
<div class="date">20:11 on 23/04/2021</div>
</div>
<div class="tweet">
Try out this handy tool from <span class="mention">@katherinecodes</span> to help create and customize your next project's README � <a href="https://t.co/4qC7gGt6le" class="link">readme.so</a> <br/><a href="https://t.co/onFJj9rr7D" class="link">pic.twitter.com/onFJj9rr7D</a>
<div class="attachments">
</div>
<div class="date">13:00 on 23/04/2021</div>
</div>
</section>
</div>
</section>
<div id="metrics-end"></div>
</div>
</foreignObject>
</svg>
Optimized
<svg xmlns="http://www.w3.org/2000/svg" width="480" height="99999"><style><![CDATA[@keyframes animation-rainbow{0%{color:#7f00ff;fill:#7f00ff}14%{color:#a933ff;fill:#a933ff}29%{color:#007fff;fill:#007fff}43%{color:#00ff7f;fill:#00ff7f}57%{color:#ff0;fill:#ff0}71%{color:#ff7f00;fill:#ff7f00}86%{color:red;fill:red}}svg{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:14px;color:#777}h2{margin:8px 0 2px;padding:0;font-weight:400;font-size:16px}h2 svg{fill:currentColor}section>.field{margin-left:5px;margin-right:5px}.field{align-items:center;margin-bottom:2px;white-space:nowrap}.field svg{margin:0 8px;fill:#959da5;flex-shrink:0}.field,.row{display:flex}.row section{flex:1 1 0}#metrics-end,.fill-width{width:100%}.tweet{font-size:13px;margin-top:6px;margin-bottom:16px;margin-left:18px;border-left:3px solid #777777b2;padding-left:6px}.tweet .link,.tweet .mention,h2{color:#0366d6}.tweet .date{margin:6px 0;font-size:12px;color:#666}.tweet .attachments{display:flex;width:450px;margin-top:8px}.tweet .attachments>div{flex:1 1 0;width:0;border-radius:6px;background-position:center;background-size:cover;height:200px;margin:2px;box-shadow:0 0 1px #777777a0;overflow:hidden;display:flex;align-items:flex-end}:root{--color-calendar-graph-day-bg:#ebedf0;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-bg:#9be9a8;--color-calendar-graph-day-L2-bg:#40c463;--color-calendar-graph-day-L3-bg:#30a14e;--color-calendar-graph-day-L4-bg:#216e39;--color-calendar-halloween-graph-day-L1-bg:#ffee4a;--color-calendar-halloween-graph-day-L2-bg:#ffc501;--color-calendar-halloween-graph-day-L3-bg:#fe9600;--color-calendar-halloween-graph-day-L4-bg:#03001c;--color-calendar-graph-day-L4-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L3-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L2-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-border:rgba(27,31,35,0.06)}]]></style><foreignObject x="0" y="0" width="100%" height="100%"><div xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink"><section><h2 class="field"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.5 222.3" width="16" height="16"><path d="M273.5 26.3a109.77 109.77 0 0 1-32.2 8.8 56.07 56.07 0 0 0 24.7-31 113.39 113.39 0 0 1-35.7 13.6 56.1 56.1 0 0 0-97 38.4 54 54 0 0 0 1.5 12.8A159.68 159.68 0 0 1 19.1 10.3a56.12 56.12 0 0 0 17.4 74.9 56.06 56.06 0 0 1-25.4-7v.7a56.11 56.11 0 0 0 45 55 55.65 55.65 0 0 1-14.8 2 62.39 62.39 0 0 1-10.6-1 56.24 56.24 0 0 0 52.4 39 112.87 112.87 0 0 1-69.7 24 119 119 0 0 1-13.4-.8 158.83 158.83 0 0 0 86 25.2c103.2 0 159.6-85.5 159.6-159.6 0-2.4-.1-4.9-.2-7.3a114.25 114.25 0 0 0 28.1-29.1"/></svg>Latest tweets</h2><div class="row fill-width"><section><div class="field"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M9.585.52a2.678 2.678 0 0 0-3.17 0l-.928.68a1.178 1.178 0 0 1-.518.215L3.83 1.59a2.678 2.678 0 0 0-2.24 2.24l-.175 1.14a1.178 1.178 0 0 1-.215.518l-.68.928a2.678 2.678 0 0 0 0 3.17l.68.928c.113.153.186.33.215.518l.175 1.138a2.678 2.678 0 0 0 2.24 2.24l1.138.175c.187.029.365.102.518.215l.928.68a2.678 2.678 0 0 0 3.17 0l.928-.68a1.17 1.17 0 0 1 .518-.215l1.138-.175a2.678 2.678 0 0 0 2.241-2.241l.175-1.138c.029-.187.102-.365.215-.518l.68-.928a2.678 2.678 0 0 0 0-3.17l-.68-.928a1.179 1.179 0 0 1-.215-.518L14.41 3.83a2.678 2.678 0 0 0-2.24-2.24l-1.138-.175a1.179 1.179 0 0 1-.518-.215L9.585.52zM7.303 1.728c.415-.305.98-.305 1.394 0l.928.68c.348.256.752.423 1.18.489l1.136.174c.51.078.909.478.987.987l.174 1.137c.066.427.233.831.489 1.18l.68.927c.305.415.305.98 0 1.394l-.68.928a2.678 2.678 0 0 0-.489 1.18l-.174 1.136a1.178 1.178 0 0 1-.987.987l-1.137.174a2.678 2.678 0 0 0-1.18.489l-.927.68c-.415.305-.98.305-1.394 0l-.928-.68a2.678 2.678 0 0 0-1.18-.489l-1.136-.174a1.178 1.178 0 0 1-.987-.987l-.174-1.137a2.678 2.678 0 0 0-.489-1.18l-.68-.927a1.178 1.178 0 0 1 0-1.394l.68-.928c.256-.348.423-.752.489-1.18l.174-1.136c.078-.51.478-.909.987-.987l1.137-.174a2.678 2.678 0 0 0 1.18-.489l.927-.68zM11.28 6.78a.75.75 0 0 0-1.06-1.06L7 8.94 5.78 7.72a.75.75 0 0 0-1.06 1.06l1.75 1.75a.75.75 0 0 0 1.06 0l3.75-3.75z"/></svg>github</div><div class="tweet">Neato! Generate triangulation art from any image using the command line, desktop app, or your browser:<a class="link">github.com/RH12503/Triang…</a><br/>◅ △ ◣ ◥ ◤ ◁ ◣ ◥<br/><a class="link">pic.twitter.com/Pb86Uzyjqp</a><div class="date">19:01 on 24/04/2021</div></div><div class="tweet">RT<span class="mention">@GitHubEnt</span>: We’re live on Demo Days! Learn best practices in this deep dive on how developers use open source securely within their orga…<div class="date">20:11 on 23/04/2021</div></div><div class="tweet">Try out this handy tool from<span class="mention">@katherinecodes</span>to help create and customize your next project's README �<a class="link">readme.so</a><br/><a class="link">pic.twitter.com/onFJj9rr7D</a><div class="attachments"/><div class="date">13:00 on 23/04/2021</div></div></section></div></section><div id="metrics-end"/></div></foreignObject></svg>
Issue Analytics
- State:
- Created 3 years ago
- Comments:8 (8 by maintainers)
Top Results From Across the Web
SVG file breaks folder optimization · Issue #1071 - GitHub
Hey, I tried to optimize a whole folder containing svg files. One of the files gave an error and svgo exited leaving the...
Read more >Tools for Optimizing SVG | CSS-Tricks
This is our straight-to-the-point list of SVG optimizing tools ... Scour and svgcleaner can also repair damaged SVG while SVGO cannot.
Read more >Useful SVGO[ptimization] Tools - Sara Soueidan
(SVGO is an abbreviation for SVG Optimization). ... means that your SVGs might break, and the broken ones will replace the original ones....
Read more >@svgr/plugin-svgo | Yarn - Package Manager
Optimize SVG using SVGO. Install. npm install --save-dev @svgr/plugin-svgo. Usage .svgrrc
Read more >Optimizing SVG for the Web - Web Design Weekly
We'll take a look at a command line tool that can help us clean that up a bit called SVGO. It's a Node...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Might be useful to have a label that tells the stalebot to ignore the issue
Closing as it’s an external issue and not in scope 👍 Will continue to follow SVGO releases and remove it from experimental feature if it’s eventually patched