This commit is contained in:
Tony Garnock-Jones 2018-12-22 17:49:09 +00:00
parent 865b3ae8a1
commit 4767d3bb73
11 changed files with 708 additions and 398 deletions

View File

@ -1,7 +1,6 @@
<!-- -*- html -*- -->
<div class="clear"></div>
<div id="footer">
<footer>
<p>
Copyright &copy; 2009&ndash;2018 Tony Garnock-Jones
</p>
</div>
</footer>

View File

@ -1,5 +1,5 @@
<!-- -*- html -*- -->
<div class="pagebanner">
<h1><a href="{{ site.baseurl }}/">{{ site.title }}</a></h1>
<h2>{{ site.subtitle }}</h2>
</div>
<header>
<h1><a href="{{ site.baseurl }}/"><img src="{{ site.baseurl }}/syndicate.png"><span class="title">{{ site.title }}</span></a><span class="subtitle">{{ site.subtitle }}</span></h1>
{% include common_nav %}
</header>

View File

@ -1,5 +1,6 @@
<!-- -*- html -*- -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="{{ site.baseurl }}/normalize.css" title="stylesheet" media="screen">
<link rel="stylesheet" type="text/css" href="{{ site.baseurl }}/style.css" title="stylesheet" media="screen">
{% for sheet in page.stylesheets %}
<link rel="stylesheet" type="text/css" href="{{ site.baseurl }}/{{ sheet }}" media="screen">

View File

@ -1,8 +1,7 @@
```javascript
spawn {
on asserted account($balance) {
console.log("Balance:",
balance);
console.log("Balance:", balance);
}
}
```

View File

@ -1,6 +1,5 @@
```racket
(spawn
(on (asserted (account $balance))
(printf "Balance: ~a\n"
balance)))
(printf "Balance: ~a\n" balance)))
```

View File

@ -6,10 +6,11 @@
</head>
<body>
<div id="page" class="{{ page.class }}">
{% include common_nav %}
{% include common_header %}
<div class="content">
{{ content }}
<div class="main-content-container">
<main class="content">
{{ content }}
</main>
</div>
{% include common_footer %}
</div>

View File

@ -111,7 +111,7 @@ that he and his collaborators have been developing.
## TodoMVC
<img src="todo/todomvc-screenshot.png" alt="TodoMVC Example" class="rightfloat">
<div class="rightfloat"><img src="todo/todomvc-screenshot.png" alt="TodoMVC Example"></div>
An implementation of a
[standard challenge problem](http://todomvc.com/) for web programming:

349
normalize.css vendored Normal file
View File

@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

515
style.css
View File

@ -1,6 +1,14 @@
---
layout:
pagesidemargins:
normal: "2rem"
skinny: "0.5rem"
bodyfont: "Georgia, Times New Roman, Times, serif"
headerfont: "sans"
headingfont: "'Bree Serif', Georgia"
bodybackground: "#bbb"
pagebackground: "#fff"
herobackground: "#fff"
@ -10,445 +18,186 @@ headercolor: "#070764"
heroheadercolor: "#BD1550"
herotextcolor: "#000"
linkcolor: "#4cbb17"
textfonts: "'Lora', Georgia"
headerfonts: "'Bree Serif', Georgia"
codefonts: "'Inconsolata', monospace"
---
/*---------------------------------------------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
html {
font-family: {{ page.bodyfont }};
font-size: 16pt;
line-height: 1.58;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/*---------------------------------------------------------------------------*/
body {
background: {{ page.bodybackground }};
color: {{ page.textcolor }};
background: #fff;
max-width: 62rem;
margin: 0 auto;
}
body, th, td, input, textarea {
font-family: {{ page.textfonts }};
font-size: 12pt;
color: {{ page.textcolor }};
header {
background: {{ page.heroheadercolor }};
min-height: 4rem;
font-family: {{ page.headerfont }};
}
header > h1 {
float: left;
height: 4rem;
margin: 0;
padding: 0.5rem;
padding-left: 0;
font-size: 1.4rem;
line-height: 3rem;
white-space: nowrap;
color: #fff;
}
header > h1 img {
width: 3rem;
vertical-align: top;
line-height: 0rem;
margin: 0 0.5rem;
}
header > h1 .title {
font-family: {{ page.headingfont }};
padding: 0.25rem;
}
header > h1 .subtitle {
padding-left: 0.5rem;
font-size: 0.8rem;
}
h1, h2, h3, h4, h5, h6 {
font-family: {{ page.headerfonts }};
}
h1, h2, h3, h4 {
margin-top: 1em;
color: {{ page.headercolor }};
font-family: {{ page.headingfont }};
/* font-family: {{ page.headerfont }}; */
font-weight: normal;
}
h1 a, h2 a, h3 a {
color: {{ page.headercolor }};
}
h1 {
font-size: 2.8em;
}
h2 {
font-size: 2.1em;
}
h3 {
font-size: 1.4em;
}
h4 {
font-size: 1.2em;
}
h4 + p {
margin-top: 0.5em;
}
p, ul, ol {
margin-top: 1em;
line-height: 1.3em;
font-size: 1.1em;
}
ul ul {
margin-top: 0.5em;
font-size: 1em;
}
ul p, ol p {
font-size: 1em;
}
ul, ol {
margin-bottom: 0.5em;
margin-left: 3em;
}
ul { list-style-type: disc; }
ol { list-style-type: decimal; }
blockquote {
margin-left: 3em;
margin-right: 3em;
}
a {
text-decoration: none;
color: {{ page.linkcolor }};
}
hr {
border: none;
border-top: solid black 1px;
}
#page {
max-width: 800px;
margin: 0 auto;
background: {{ page.pagebackground }};
padding: 0 2em;
}
#header {
padding-bottom: 2px;
border-bottom: solid {{ page.textcolor }} 1px;
}
#header h2 {
float: right;
}
#header a {
font-variant: small-caps;
}
.historylinks {
text-align: center;
}
.historylinks.bottom {
margin-top: 10px;
}
.footnotes {
border-top: dashed {{ page.textcolor }} 1px;
font-size: 0.8em;
margin-top: 2em;
}
.content {
margin: 0;
padding: 0 3em;
min-height: 400px;
}
.content h1,
.content h2,
.content h3 {
margin-left: -3rem;
}
.content h4 {
margin-left: -1rem;
}
.content .entry_footer {
nav.mainmenu {
text-align: right;
}
.content p > img {
max-width: 100%;
max-height: 30em;
display: block;
margin: 0 auto;
nav.mainmenu ul {
margin: 0;
/* display: inline-block; */
margin-right: {{ page.pagesidemargins.normal }};
padding-top: 1.15rem;
padding-bottom: 1.1rem;
}
.clear { clear: both; }
.clearright { clear: right; }
#footer {
padding: 0.5em 0;
margin-bottom: 1em;
nav.mainmenu li {
display: inline;
vertical-align: text-top;
margin-left: 0.5rem;
}
#footer p {
text-align: center;
font-size: 8pt;
color: {{ page.linkcolor }};
header a, header a:visited {
color: inherit;
text-decoration: none;
}
div.sitemap_subcategory {
margin-left: 2em;
div.main-content-container {
max-width: 60rem;
margin: 0 {{ page.pagesidemargins.normal }};
}
.sitemap_categorylink {
font-size: 1.1em;
main {
margin-top: {{ page.pagesidemargins.normal }};
}
main > *:not(section), section > *:not(section) {
max-width: 40rem;
}
footer {
clear: both;
margin: 0 {{ page.pagesidemargins.normal }};
margin-top: 2rem;
opacity: 0.5;
border-top: solid black 1px;
text-align: right;
}
.leftfloat, .rightfloat {
margin-bottom: 1rem;
}
.rightfloat {
float: right;
clear: right;
margin-left: 1rem;
}
.leftfloat {
float: left;
clear: left;
margin-right: 1rem;
}
.center {
text-align: center;
}
img.sitelogo {
float: left;
margin: 15px;
h1 a {
text-decoration: none;
}
.rightfloat, .leftfloat {
margin: 0.3em;
div.footnotes:before {
content: '———';
opacity: 0.5;
}
a img {
border: 0;
}
.cornerpic {
float: right;
width: 250px;
padding: 1em;
padding-right: 0;
margin: 0;
}
.imagecenter {
text-align: center;
margin: 0.3em;
}
.leftfloat {
float: left;
margin-left: 0px;
margin-right: 1em;
}
.rightfloat {
float: right;
margin-left: 1em;
margin-right: 0px;
}
.topspace {
margin-top: 2em;
}
table {
margin-top: 1em;
margin-bottom: 1em;
}
th, td {
padding: 0.5em;
font-size: 0.88em;
}
th {
font-weight: normal;
color: {{ page.headercolor }};
text-align: right;
vertical-align: top;
}
td {
text-align: left;
vertical-align: top;
}
.mainmenu {
margin: 0px;
}
.mainmenu ul {
margin-top: 0;
}
.mainmenu ul li {
display: inline;
float: right;
text-align: center;
margin-left: 0.5em;
margin-right: 0.5em;
}
pre {
padding: 0.5em;
margin-top: 0.5em;
color: {{ page.codecolor }};
overflow: auto;
}
pre, code {
font-family: {{ page.codefonts }};
font-size: 110%;
}
sup {
line-height: 0;
}
small {
font-size: 80%;
}
strong {
font-weight: bold;
}
em {
font-style: italic;
div.footnotes {
font-size: 0.9rem;
}
/*---------------------------------------------------------------------------*/
.pagebanner h1,
.pagebanner h2 {
margin: 0;
padding-top: 0.5rem;
padding-bottom: 1rem;
color: white;
}
.pagebanner a {
color: white;
}
.pagebanner h1 {
text-align: right;
}
.pagebanner h2 {
display: none;
}
.pagebanner {
margin: 0 -2em;
background-color: {{ page.heroheadercolor }};
padding: 0em 1em;
}
#page.frontpage .pagebanner h1,
#page.frontpage .pagebanner h2 {
text-align: center;
margin: 0 auto;
color: white;
}
#page.frontpage .pagebanner h1 {
font-size: 5.6em;
padding-top: 1.5rem;
}
#page.frontpage .pagebanner h2 {
font-size: 2.1em;
padding: 0 0 2rem 0;
display: block;
}
#page.frontpage .pagebanner {
margin: 0 -2em;
background-color: {{ page.heroheadercolor }};
padding: 0em 2em;
}
#page.frontpage .frontpage_code_examples {
div.frontpage_code_examples {
max-width: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin-top: 1em;
flex-direction:row;
}
#page.frontpage .frontpage_code_examples div {
flex-grow: 1;
text-align: center;
background: #eee;
margin: 0.2em;
div.frontpage_code_examples > div {
width: 50%;
}
#page.frontpage .frontpage_code_examples pre {
font-size: 105%;
display: inline-block;
text-align: left;
margin: 0;
a, a:visited {
color: {{ page.linkcolor }};
}
/*---------------------------------------------------------------------------*/
div.linkbuttons {
text-align: center;
padding-top: 1em;
}
@media screen and (max-width: 42rem) {
/* body { */
/* background: red; */
/* } */
/*---------------------------------------------------------------------------*/
@media (max-width: 600px) {
#page {
padding: 0 0.5em;
}
.content {
padding: 0;
}
.content h1,
.content h2,
.content h3 {
.image_align_left, .image_align_right {
float: none;
margin-left: 0;
margin-right: 0;
text-align: center;
}
.pagebanner {
margin: 0 -0.5em;
div.main-content-container {
margin: 0 {{ page.pagesidemargins.skinny }};
}
#page.frontpage .pagebanner h1 {
font-size: 17vw;
footer {
margin: 0 {{ page.pagesidemargins.skinny }};
}
#page.frontpage .pagebanner {
margin: 0 -0.5em;
nav.mainmenu ul {
margin-right: {{ page.pagesidemargins.skinny }};
}
main {
margin-top: {{ page.pagesidemargins.skinny }};
}
}

BIN
syndicate.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

213
syndicate.svg Normal file
View File

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100mm"
height="100mm"
viewBox="0 0 100 100"
version="1.1"
id="svg8"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="syndicate.svg"
inkscape:export-filename="/home/tonyg/src/syndicate-web/syndicate.png"
inkscape:export-xdpi="89.916"
inkscape:export-ydpi="89.916">
<defs
id="defs2">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 50 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="100 : 50 : 1"
inkscape:persp3d-origin="50 : 33.333333 : 1"
id="perspective815" />
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath845">
<circle
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle847"
cx="49.999996"
cy="246.99998"
r="48.5" />
</clipPath>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8284271"
inkscape:cx="-17.396506"
inkscape:cy="225.76262"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:snap-object-midpoints="true"
inkscape:window-width="3828"
inkscape:window-height="2111"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-197)">
<g
id="g848"
transform="rotate(-30,49.999996,246.99998)">
<circle
style="fill:#070764;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle843"
cx="49.999996"
cy="246.99998"
r="48.5" />
<g
clip-path="url(#clipPath845)"
id="g950">
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4cbb17;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 24.903147,203.53099 16.731236,28.97935"
id="path925"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path927"
d="M 24.903148,290.46904 41.634384,261.48969"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4cbb17;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4cbb17;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 66.731232,247.00002 H 100.1937"
id="path929"
inkscape:connector-curvature="0" />
<path
sodipodi:type="star"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4cbb17;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path851"
sodipodi:sides="6"
sodipodi:cx="50"
sodipodi:cy="247.00002"
sodipodi:r1="16.731236"
sodipodi:r2="14.489675"
sodipodi:arg1="1.0471976"
sodipodi:arg2="1.5707963"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 58.365617,261.48969 -16.731235,0 -8.365618,-14.48968 8.365619,-14.48967 16.731235,0 8.365618,14.48968 z" />
<circle
style="fill:#fffefd;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path874"
cx="41.634384"
cy="232.51033"
r="2.0505209" />
<circle
r="2.0505209"
cy="247.00002"
cx="66.731232"
id="circle876"
style="fill:#fffefd;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<circle
style="fill:#fffefd;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle878"
cx="41.634384"
cy="261.48969"
r="2.0505209" />
<path
sodipodi:type="star"
style="fill:#bd1550;fill-opacity:1;fill-rule:evenodd;stroke:#bd1550;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path882"
sodipodi:sides="3"
sodipodi:cx="33.268764"
sodipodi:cy="247.00002"
sodipodi:r1="1.7248722"
sodipodi:r2="0.86243612"
sodipodi:arg1="0"
sodipodi:arg2="1.0471976"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 34.993637,247.00002 -2.587309,1.49378 v -2.98757 z"
inkscape:transform-center-x="-0.43121817" />
<path
inkscape:transform-center-x="-0.43121817"
d="m 60.090488,232.51035 -2.587308,1.49378 v -2.98757 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="true"
sodipodi:arg2="1.0471976"
sodipodi:arg1="0"
sodipodi:r2="0.86243612"
sodipodi:r1="1.7248722"
sodipodi:cy="232.51035"
sodipodi:cx="58.365616"
sodipodi:sides="3"
id="path884"
style="fill:#bd1550;fill-opacity:1;fill-rule:evenodd;stroke:#bd1550;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:type="star" />
<path
sodipodi:type="star"
style="fill:#bd1550;fill-opacity:1;fill-rule:evenodd;stroke:#bd1550;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path886"
sodipodi:sides="3"
sodipodi:cx="58.36562"
sodipodi:cy="261.48969"
sodipodi:r1="1.7248722"
sodipodi:r2="0.86243612"
sodipodi:arg1="0"
sodipodi:arg2="1.0471976"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 60.090492,261.48969 -2.587308,1.49378 v -2.98757 z"
inkscape:transform-center-x="-0.43121817" />
<circle
style="fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path907"
cx="24.903147"
cy="203.53099"
r="14.51901" />
<circle
r="14.51901"
cy="247.00002"
cx="100.1937"
id="circle931"
style="fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<circle
style="fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle933"
cx="24.903149"
cy="290.46906"
r="14.51901" />
</g>
<circle
r="48.5"
cy="246.99998"
cx="49.999996"
id="circle830"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.6 KiB