mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 01:36:13 +00:00
Merge pull request #194 from bitcoin/alerts
Add "Network status and alerts" page and RSS feed
This commit is contained in:
commit
aaf8eeffae
18 changed files with 385 additions and 54 deletions
30
README.md
30
README.md
|
@ -69,9 +69,9 @@ Any change in the english texts can be done through a pull request on github. If
|
|||
|
||||
## Advanced Usage
|
||||
|
||||
### Alerts
|
||||
### Alert banner
|
||||
|
||||
You can easily put an alert on the website by changing the ALERT and ALERT\_CLASS variables in _config.yml.
|
||||
You can put an alert banner on the website by changing the ALERT and ALERT\_CLASS variables in _config.yml.
|
||||
You can both set one fallback alert for all languages and many translated alerts for specific languages.
|
||||
|
||||
Example:
|
||||
|
@ -88,6 +88,32 @@ ALERT_CLASS:
|
|||
This will produce an english red alert box for all languages, and a translated red alert box for french language.
|
||||
Possible classes are: **error** (red), **info** (blue), **success** (green) and **warning** (yellow)
|
||||
|
||||
### Network alerts
|
||||
|
||||
Network alerts should be placed in `_alerts/YYYY-MM-DD-SHORTITLE.html` and adhere to this format:
|
||||
|
||||
```
|
||||
---
|
||||
title: "11/12 March 2013 Chain Fork"
|
||||
lastmod: "Fri Mar 16 22:58:00 UTC 2012"
|
||||
alias: "chainfork"
|
||||
active: true
|
||||
---
|
||||
|
||||
<p>
|
||||
A chain fork is happening. Please stop mining on bitcoin version 0.8.0. Your bitcoins are safe but it is recommended that you postpone your Bitcoin transactions for the next hours.
|
||||
</p>
|
||||
<p>
|
||||
More information will follow.
|
||||
</p>
|
||||
|
||||
```
|
||||
* `SHORTTITLE` is used to construct the URL.
|
||||
* `title: ...` will be used as the title in the layout.
|
||||
* `lastmod: ...` will be used as the last modification date in the layout.
|
||||
* `alias: ...` (optional) a short alias to be used for Bitcoin-Qt alerts. Ex. "dos" will produce /dos.html
|
||||
* `active: ...` (true or false) define if the alert should appear as ongoing in the network status page.
|
||||
|
||||
### Release Notes
|
||||
|
||||
Release notes should be placed in `_posts/releases/YEAR-MONTH-DAY-SHORTTITLE.md` and adhere to this format:
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
---
|
||||
layout: base
|
||||
lang: en
|
||||
title: "February 20, 2012 Protocol Changes"
|
||||
lastmod: "Mon Feb 20 00:10:00 UTC 2012"
|
||||
alias: "feb20"
|
||||
active: false
|
||||
---
|
||||
<div class="container">
|
||||
<section id="feb20">
|
||||
<h1>February 20, 2012 Protocol Changes</h1>
|
||||
<p>
|
||||
In June 2010 the Bitcoin reference software version 0.2.10 introduced
|
||||
a change to the protocol: the 'version' messages exchanged by nodes
|
||||
|
@ -36,8 +34,3 @@ channel</a> on Freenode IRC.
|
|||
If there are unexpected difficulties this page will be updated with
|
||||
relevant information.
|
||||
</p>
|
||||
<div style="text-align:right">
|
||||
<i>This notice last updated: Mon Feb 20 00:10:00 UTC 2012</i>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
|
@ -1,11 +1,9 @@
|
|||
---
|
||||
layout: base
|
||||
lang: en
|
||||
title: "Potentially Critical Security Vulnerability"
|
||||
lastmod: "Fri Mar 16 22:58:00 UTC 2012"
|
||||
alias: "critfix"
|
||||
active: false
|
||||
---
|
||||
<div class="container">
|
||||
<section id="critfix">
|
||||
<h1>Potentially Critical Security Vulnerability</h1>
|
||||
<p>
|
||||
A potential security vulnerability has been discovered in the Windows
|
||||
version of Bitcoin-Qt. If you are running Bitcoin-Qt versions 0.5
|
||||
|
@ -227,9 +225,3 @@ href="https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.0/test/
|
|||
href="https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.5.3/">
|
||||
0.5.3.1 för Windows och 0.5.3 för Linux</a>
|
||||
</p>
|
||||
|
||||
<div style="text-align:right">
|
||||
<i>This notice last updated: Fri Mar 16 22:58:00 UTC 2012</i>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
|
@ -1,11 +1,9 @@
|
|||
---
|
||||
layout: base
|
||||
lang: en
|
||||
title: "CVE-2012-2459: Critical Vulnerability (denial-of-service)"
|
||||
lastmod: "Mon May 14 17:00:00 UTC 2012"
|
||||
alias: "dos"
|
||||
active: false
|
||||
---
|
||||
<div class="container">
|
||||
<section id="dos">
|
||||
<h1>CVE-2012-2459: Critical Vulnerability (denial-of-service)</h1>
|
||||
<h2>Risks</h2>
|
||||
<p>
|
||||
A denial-of-service vulnerability that affects all versions of
|
||||
|
@ -61,8 +59,3 @@ Could this bug be used to install malware on my system?
|
|||
<p>
|
||||
No.
|
||||
</p>
|
||||
<div style="text-align:right">
|
||||
<i>This notice last updated: Mon May 14 17:00:00 UTC 2012</i>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
|
@ -1,11 +1,9 @@
|
|||
---
|
||||
layout: base
|
||||
lang: en
|
||||
title: "11/12 March 2013 Chain Fork Information"
|
||||
lastmod: "16 May 2013 01:37 UTC"
|
||||
alias: "chainfork"
|
||||
active: false
|
||||
---
|
||||
<div class="container">
|
||||
<section id="dos">
|
||||
<h1>11/12 March 2013 Chain Fork Information</h1>
|
||||
<h2>What happened</h2>
|
||||
<p>
|
||||
A bitcoin miner running version 0.8.0 created a large block (at height 225,430) that is incompatible
|
||||
|
@ -37,8 +35,3 @@ The core developers have investigated what caused the old versions to reject the
|
|||
blocks, and have released a 0.8.1 version that avoids creating blocks that are incompatible with
|
||||
older versions. <a href="https://en.bitcoin.it/wiki/BIP_50">A full post-mortem document has been published</a>.
|
||||
</p>
|
||||
<div style="text-align:right">
|
||||
<i>This notice last updated: 16 May 2013 01:37 UTC</i>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
|
@ -1,11 +1,9 @@
|
|||
---
|
||||
layout: base
|
||||
lang: en
|
||||
title: "15 May 2013 Upgrade Deadline"
|
||||
lastmod: "10 May 2013 21:30 UTC"
|
||||
alias: "may15"
|
||||
active: false
|
||||
---
|
||||
<div class="container">
|
||||
<section id="upgrade">
|
||||
<h1>15 May 2013 Upgrade Deadline</h1>
|
||||
<h2>What is happening</h2>
|
||||
<p>
|
||||
If you are using an old version of Bitcoin-Qt (or bitcoind, the server bitcoin software),
|
||||
|
@ -68,8 +66,3 @@ that bug, we determined that the bug can happen even if the entire network was
|
|||
still running old versions of Bitcoin-Qt/bitcoind. Therefore, the only option is to
|
||||
require everybody to either upgrade or workaround the bug.
|
||||
</p>
|
||||
<div style="text-align:right">
|
||||
<i>This notice last updated: 10 May 2013 21:30 UTC</i>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
17
_layouts/alert.html
Normal file
17
_layouts/alert.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
layout: base
|
||||
lang: en
|
||||
---
|
||||
{% if page.redirect != nil %}
|
||||
<script>window.location.href='/en/alert/{{ page.redirect }}';</script>
|
||||
<link rel="canonical" href="http://bitcoin.org/en/alert/{{ page.redirect }}"/>
|
||||
{% endif %}
|
||||
<link rel="alternate" type="application/rss+xml" href="/en/rss/alerts.rss" title="Bitcoin network status and alerts">
|
||||
<div class="versiontext">
|
||||
<h1>{{ page.title }}<br><small>{{ page.date | date:"%e %B %Y" }}</small></h1>
|
||||
{{ content }}
|
||||
<div style="text-align:right">
|
||||
<i>This notice last updated: {{ page.lastmod }}</i>
|
||||
</div>
|
||||
</div>
|
||||
<a href="/en/alerts">Go back to the network alerts history</a>
|
|
@ -95,7 +95,7 @@ menu:
|
|||
<a href="/{{ page.lang }}/{% translate support-bitcoin url %}"><img src="/img/but_involve.svg" alt="Icon">{% translate button-support layout %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer"><div>{% translate footer layout %}</div></div>
|
||||
<div id="footer"><div><a href="/en/alerts">Network Status</a><span>{% translate footer layout %}</span></div></div>
|
||||
</div>
|
||||
<script type="text/javascript">svgfallback();</script>
|
||||
</body>
|
||||
|
|
|
@ -382,6 +382,9 @@ li p{
|
|||
#footer div{
|
||||
padding-top:6px;
|
||||
}
|
||||
#footer>div>a{
|
||||
margin-right:15px;
|
||||
}
|
||||
|
||||
/*Styles specific to elements in pages*/
|
||||
|
||||
|
@ -624,6 +627,27 @@ li p{
|
|||
text-align:left;
|
||||
margin-bottom:40px;
|
||||
}
|
||||
.rssicon{
|
||||
vertical-align:bottom;
|
||||
margin-bottom:9px;
|
||||
margin-left:10px;
|
||||
}
|
||||
.alertstatusinactive{
|
||||
font-size:130%;
|
||||
color:#0d579b;
|
||||
margin-bottom:30px;
|
||||
}
|
||||
.alertstatusactive{
|
||||
font-size:130%;
|
||||
color:#d57700;
|
||||
margin-bottom:30px;
|
||||
}
|
||||
.alertsactive{
|
||||
margin-bottom:20px;
|
||||
}
|
||||
.alertsactive a{
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.download a{
|
||||
font-size:125%;
|
||||
|
|
49
_plugins/alerts.rb
Normal file
49
_plugins/alerts.rb
Normal file
|
@ -0,0 +1,49 @@
|
|||
require 'yaml'
|
||||
|
||||
module Jekyll
|
||||
|
||||
class AlertPage < Page
|
||||
def initialize(site, base, lang, srcdir, src, dstdir, dst, date)
|
||||
@site = site
|
||||
@base = base
|
||||
@dir = '/'+dstdir
|
||||
@name = dst
|
||||
self.process(dst)
|
||||
self.read_yaml(File.join(base, srcdir), src)
|
||||
self.data['lang'] = lang
|
||||
self.data['date'] = date
|
||||
self.data['layout'] = 'alert'
|
||||
if dstdir == ''
|
||||
self.data['redirect'] = src.split('.')[0]
|
||||
else
|
||||
self.data['category'] = 'alert'
|
||||
if self.data.has_key?('alias')
|
||||
site.pages << AlertPage.new(site, base, lang, srcdir, src, '', self.data['alias']+'.html', date)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class AlertPageGenerator < Generator
|
||||
def generate(site)
|
||||
#generate each alert based on templates
|
||||
Dir.foreach('_alerts') do |file|
|
||||
next if file == '.' or file == '..'
|
||||
lang = 'en'
|
||||
src = file
|
||||
dst = file
|
||||
srcdir = '_alerts'
|
||||
dstdir = lang + '/alert'
|
||||
date = dst.split('-')
|
||||
next if date.length < 4
|
||||
date = date[0] + '-' + date[1] + '-' + date[2]
|
||||
next if !/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.match(date)
|
||||
site.pages << AlertPage.new(site, site.source, lang, '_alerts', src, dstdir, dst, date)
|
||||
end
|
||||
#TODO alerts are only generated for english language,
|
||||
#but they could also be translated at some point. They would however
|
||||
#need to fallback to english when no translation is available.
|
||||
end
|
||||
end
|
||||
|
||||
end
|
49
_plugins/catpage_for.rb
Normal file
49
_plugins/catpage_for.rb
Normal file
|
@ -0,0 +1,49 @@
|
|||
#catpage_for allows to loop in site.pages sorted by custom page
|
||||
#variables and filtered by page.category.
|
||||
#Example : {% catpage_for p in site.pages sort_by:date category:release %}
|
||||
|
||||
module Jekyll
|
||||
module SortedForImpl
|
||||
def render(context)
|
||||
sorted_collection = collection_to_sort context
|
||||
return if sorted_collection.empty?
|
||||
sort_attr = @attributes['sort_by']
|
||||
category_attr = @attributes['category']
|
||||
#filter page by given category
|
||||
s = []
|
||||
for x in sorted_collection
|
||||
if x.to_liquid.has_key?('category') && x.to_liquid['category'] == category_attr
|
||||
s.push(x)
|
||||
end
|
||||
end
|
||||
sorted_collection = s
|
||||
#sort collection by given variable
|
||||
sorted_collection = sorted_collection.sort_by { |i| i.to_liquid[sort_attr] }
|
||||
#return modified array
|
||||
original_name = @collection_name
|
||||
result = nil
|
||||
context.stack do
|
||||
sorted_collection_name = "#{@collection_name}_sorted".sub('.', '_')
|
||||
context[sorted_collection_name] = sorted_collection
|
||||
@collection_name = sorted_collection_name
|
||||
result = super
|
||||
@collection_name = original_name
|
||||
end
|
||||
result
|
||||
end
|
||||
end
|
||||
|
||||
class SortedForTag < Liquid::For
|
||||
include SortedForImpl
|
||||
|
||||
def collection_to_sort(context)
|
||||
return context[@collection_name].dup
|
||||
end
|
||||
|
||||
def end_tag
|
||||
'endcatpage_for'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Liquid::Template.register_tag('catpage_for', Jekyll::SortedForTag)
|
|
@ -66,6 +66,13 @@ module Jekyll
|
|||
sitemap.puts ' <loc>http://bitcoin.org/'+file1.gsub('.html','')+'</loc>'
|
||||
sitemap.puts '</url>'
|
||||
end
|
||||
#Add english alerts pages
|
||||
Dir.foreach('_alerts') do |file|
|
||||
next if file == '.' or file == '..'
|
||||
sitemap.puts '<url>'
|
||||
sitemap.puts ' <loc>http://bitcoin.org/en/alert/'+file.gsub('.html','')+'</loc>'
|
||||
sitemap.puts '</url>'
|
||||
end
|
||||
#Add posts
|
||||
site.posts.each do |post|
|
||||
sitemap.puts '<url>'
|
||||
|
|
|
@ -21,6 +21,9 @@ h3 .ieimg{
|
|||
#footer{
|
||||
width:800px;
|
||||
}
|
||||
#footer div a{
|
||||
margin-right:expression(this.parentNode.nodeName=='DIV'?'15px':'');
|
||||
}
|
||||
#content{
|
||||
width: 690px;
|
||||
overflow:hidden;
|
||||
|
|
31
en/alerts.html
Normal file
31
en/alerts.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
layout: base
|
||||
lang: en
|
||||
id: alerts
|
||||
title: Network status and alerts - Bitcoin
|
||||
---
|
||||
<link rel="alternate" type="application/rss+xml" href="/en/rss/alerts.rss" title="Bitcoin network status and alerts">
|
||||
<div class="versiontext">
|
||||
<h1>Network status and alerts<a type="application/rss+xml" href="/en/rss/alerts.rss"><img src="/img/icon_rss.svg" alt="rss" class="rssicon"></a></h1>
|
||||
{% assign active = false %}{% catpage_for p in site.pages reversed sort_by:date category:alert %}{% if p.active == true %}{% assign active = true %}{% endif %}{% endcatpage_for %}
|
||||
{% if active == false %}
|
||||
<div class="alertstatusinactive">There is no ongoing event on the Bitcoin network.</div>
|
||||
{% else %}
|
||||
<div class="alertstatusactive"">The following network event is ongoing.</div>
|
||||
<ul class="alertsactive">
|
||||
{% catpage_for p in site.pages reversed sort_by:date category:alert %}{% if p.active == true %}
|
||||
<li>
|
||||
{{ p.date | date:"%Y-%m-%d" }} - <a href="{{ p.url | replace:'.html','' }}">{{ p.title }}</a>
|
||||
</li>
|
||||
{% endif %}{% endcatpage_for %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
<ul class="alertsinactive">
|
||||
{% catpage_for p in site.pages reversed sort_by:date category:alert %}{% if p.active == false %}
|
||||
<li>
|
||||
{{ p.date | date:"%Y-%m-%d" }} - <a href="{{ p.url | replace:'.html','' }}">{{ p.title }}</a>
|
||||
</li>
|
||||
{% endif %}{% endcatpage_for %}
|
||||
</ul>
|
||||
<p>See the complete <a href="https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures">CVE list</a>.</p>
|
||||
</div>
|
21
en/rss/alerts.rss
Normal file
21
en/rss/alerts.rss
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
---
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title>Bitcoin network status and alerts</title>
|
||||
<link>http://bitcoin.org/en/alerts</link>
|
||||
<description>This RSS feed allows to follow events and alerts surrounding the Bitcoin network and software.</description>
|
||||
<image>
|
||||
<url>http://bitcoin.org/img/logo_rss.png</url>
|
||||
<link>http://bitcoin.org/en/alerts</link>
|
||||
</image>
|
||||
{% catpage_for p in site.pages reversed sort_by:date category:alert %}
|
||||
<item>
|
||||
<title>{{ p.title }}</title>
|
||||
<link>http://bitcoin.org{{ p.url | replace:'.html','' }}</link>
|
||||
<pubDate>{{ p.date | date: "%a, %d %b %Y" }}</pubDate>
|
||||
</item>
|
||||
{% endcatpage_for %}
|
||||
</channel>
|
||||
</rss>
|
BIN
img/icon_rss.png
Normal file
BIN
img/icon_rss.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1 KiB |
140
img/icon_rss.svg
Normal file
140
img/icon_rss.svg
Normal file
|
@ -0,0 +1,140 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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"
|
||||
version="1.1"
|
||||
width="22"
|
||||
height="22"
|
||||
id="RSSicon"
|
||||
viewBox="0 0 44 44"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="Feed-icon.svg"
|
||||
inkscape:export-filename="/home/zxz/Bureau/Feed-icon.png"
|
||||
inkscape:export-xdpi="15.46875"
|
||||
inkscape:export-ydpi="15.46875">
|
||||
<metadata
|
||||
id="metadata34">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="1026"
|
||||
id="namedview32"
|
||||
showgrid="false"
|
||||
inkscape:zoom="14.75"
|
||||
inkscape:cx="5.8127281"
|
||||
inkscape:cy="20.305759"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="RSSicon" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<linearGradient
|
||||
x1="30.059999"
|
||||
y1="30.059999"
|
||||
x2="225.94"
|
||||
y2="225.94"
|
||||
id="RSSg"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.17167638,0,0,0.17167638,0,0.05084741)">
|
||||
<stop
|
||||
offset="0.0"
|
||||
stop-color="#E3702D"
|
||||
id="stop6" />
|
||||
<stop
|
||||
offset="0.1071"
|
||||
stop-color="#EA7D31"
|
||||
id="stop8" />
|
||||
<stop
|
||||
offset="0.3503"
|
||||
stop-color="#F69537"
|
||||
id="stop10" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
stop-color="#FB9E3A"
|
||||
id="stop12" />
|
||||
<stop
|
||||
offset="0.7016"
|
||||
stop-color="#EA7C31"
|
||||
id="stop14" />
|
||||
<stop
|
||||
offset="0.8866"
|
||||
stop-color="#DE642B"
|
||||
id="stop16" />
|
||||
<stop
|
||||
offset="1.0"
|
||||
stop-color="#D95B29"
|
||||
id="stop18" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect
|
||||
width="43.94915"
|
||||
height="43.94915"
|
||||
rx="9.4422007"
|
||||
ry="9.4422007"
|
||||
x="0"
|
||||
y="0.050847374"
|
||||
id="rect20"
|
||||
style="fill:#cc5d15" />
|
||||
<rect
|
||||
width="42.232391"
|
||||
height="42.232391"
|
||||
rx="8.5838194"
|
||||
ry="8.5838194"
|
||||
x="0.85838193"
|
||||
y="0.90922946"
|
||||
id="rect22"
|
||||
style="fill:#f49c52" />
|
||||
<rect
|
||||
width="40.515625"
|
||||
height="40.515625"
|
||||
rx="8.0687895"
|
||||
ry="8.0687895"
|
||||
x="1.7167639"
|
||||
y="1.7676115"
|
||||
id="rect24"
|
||||
style="fill:url(#RSSg)" />
|
||||
<circle
|
||||
cx="68"
|
||||
cy="189"
|
||||
r="24"
|
||||
id="circle26"
|
||||
sodipodi:cx="68"
|
||||
sodipodi:cy="189"
|
||||
sodipodi:rx="24"
|
||||
sodipodi:ry="24"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.17167638,0,0,0.17167638,0,0.05084741)" />
|
||||
<path
|
||||
d="M 27.468221,36.617916 H 21.631223 A 14.077463,14.077463 0 0 0 7.5537606,22.540452 V 16.703457 A 19.91446,19.91446 0 0 1 27.468221,36.617916 z"
|
||||
id="path28"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff" />
|
||||
<path
|
||||
d="M 31.588454,36.617916 A 24.034693,24.034693 0 0 0 7.5537606,12.583223 V 6.5745501 A 30.043366,30.043366 0 0 1 37.597127,36.617916 z"
|
||||
id="path30"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
BIN
img/logo_rss.png
Normal file
BIN
img/logo_rss.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
Loading…
Add table
Add a link
Reference in a new issue