docs.brew.sh: use brew.sh theming.

Unfortunately there's no easy way to share this code with the brew.sh
site but it's at least able to have the `css/`, `img/` (root) and
`_layouts` directories in sync between the two repositories.

Some small CSS tweaks were needed to make these pages render more
attractively.
This commit is contained in:
Mike McQuaid 2017-03-05 15:25:51 +00:00
parent 6d42e2a527
commit eaf8cc1be0
33 changed files with 754 additions and 8 deletions

View File

@ -31,7 +31,7 @@ You can also view all the information that is sent by Homebrew's analytics by se
It is impossible for the Homebrew developers to match any particular event to any particular user, even if we had access to the Homebrew analytics user ID (which we do not). An example of the most user-specific information we can see from Google Analytics:
![Aggregate user analytics](images/analytics.png)
![Aggregate user analytics](img/docs/analytics.png)
As far as we can tell it would be impossible for Google to match the randomly generated Homebrew-only analytics user ID to any other Google Analytics user ID. If Google turned evil the only thing they could do would be to lie about anonymising IP addresses and attempt to match users based on IP addresses.

View File

@ -18,21 +18,21 @@ For example, a job which has been queued but not yet started will have a
section in the pull request that looks like this:
![Triggered Pull Request](images/brew-test-bot-triggered-pr.png)
![Triggered Pull Request](img/docs/brew-test-bot-triggered-pr.png)
---
A failed build looks like this:
![Failed Pull Request](images/brew-test-bot-failed-pr.png)
![Failed Pull Request](img/docs/brew-test-bot-failed-pr.png)
---
A passed build looks like this:
![Passed Pull Request](images/brew-test-bot-passed-pr.png)
![Passed Pull Request](img/docs/brew-test-bot-passed-pr.png)
---
@ -44,14 +44,14 @@ When you click this you'll see the results.
A passed build looks like this:
![Passed Jenkins Build](images/brew-test-bot-passed-jenkins.png)
![Passed Jenkins Build](img/docs/brew-test-bot-passed-jenkins.png)
---
A failed build looks like this:
![Failed Jenkins Build](images/brew-test-bot-failed-jenkins.png)
![Failed Jenkins Build](img/docs/brew-test-bot-failed-jenkins.png)
---
@ -59,6 +59,6 @@ You can click the test results link
(e.g. `brew-test-bot.el_capitan.install openssl`) to
view the failed test output:
![Failed Test](images/brew-test-bot-failed-test.png)
![Failed Test](img/docs/brew-test-bot-failed-test.png)
---

View File

@ -1,2 +1,5 @@
theme: jekyll-theme-cayman
exclude: [bin, vendor, CNAME, Gemfile, Gemfile.lock]
gems:
- jekyll-feed
- jekyll-seo-tag

102
docs/_layouts/base.html Normal file
View File

@ -0,0 +1,102 @@
<!DOCTYPE html>
<html {% if page.direction == "rtl" %}dir="rtl" {% endif %}lang="{{ page.lang }}">
<head>
<meta charset="utf-8">
<meta name="dc.creator" content="Rémi Prévost - http://exomel.com">
{% if page.title %}
<title>{{ page.title }} — Homebrew</title>
{% elsif page.direction == "rtl" %}
<title>{{ page.subtitle }} — Homebrew</title>
{% else %}
<title>Homebrew — {{ page.subtitle }}</title>
{% endif %}
{% seo title=false %}
{% feed_meta %}
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="/img/favicon.ico">
<link rel="icon" sizes="16x16" href="/img/favicon-16x16.png" >
<link rel="icon" sizes="32x32" href="/img/favicon-32x32.png">
<link rel="icon" sizes="96x96" href="/img/favicon-96x96.png">
<link rel="icon" sizes="192x192" href="/img/favicon-192x192.png">
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="/img/apple-touch-icon-57x57-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/apple-touch-icon-72x72-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="/img/apple-touch-icon-76x76-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/apple-touch-icon-114x114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="/img/apple-touch-icon-120x120-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/img/apple-touch-icon-144x144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="/img/apple-touch-icon-152x152-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="180x180" href="/img/apple-touch-icon-180x180-precomposed.png">
<link rel="stylesheet" href="/css/screen.css" type="text/css" media="screen">
<link rel="stylesheet" href="/css/pygments.css" type="text/css" media="screen">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-76679469-2', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
{% for lang in site.langs %}
{% if lang.langcode == "en" %}
<link rel="alternate" hreflang="en" href="{{ site.url }}" />
<link rel="alternate" hreflang="x-default" href="{{ site.url }}" />
{% else %}
<link rel="alternate" hreflang="{{ lang.langcode }}" href="{{ lang.langcode | downcase | append: '.html' | prepend: '/index_' | prepend: site.url }}" />
{% endif %}
{% endfor %}
</head>
<body>
<div id="wrap">
<div id="header" class="{{ page.header-class }}">
<img alt="Homebrew logo" src="/img/homebrew-256x256.png" width="128" height="128">
<h1><a href="/">Homebrew</a></h1>
{% if page.subtitle %}
<p id="subtitle"><strong>{{ page.subtitle }}</strong></p>
{% endif %}
{% if page.lang %}
<select id="language" onchange="loadLanguage(this.options[this.selectedIndex].value)">
{% for lang in site.langs %}
{% if page.lang == lang.langcode %}
<option value="{{ lang.langcode | downcase }}" selected="selected">{{ lang.lang_string }}</option>
{% else %}
<option value="{{ lang.langcode | downcase }}">{{ lang.lang_string }}</option>
{% endif %}
{% endfor %}
</select>
{% endif %}
</div>
{{ content }}
</div>
<a href="https://github.com/Homebrew/brew/"><img id="forkme" src="https://aral.github.io/fork-me-on-github-retina-ribbons/right-grey@2x.png" alt="Fork me on GitHub"></a>
<script>
function selectText(elem) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(elem);
range.select();
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(elem);
window.getSelection().addRange(range);
}
}
function loadLanguage(lang) {
if (lang === {{ page.lang | jsonify }}) {
return;
} else if (lang === "en") {
window.location.replace("/");
} else {
window.location.replace("/index_" + lang + ".html");
}
}
</script>
</body>
</html>

6
docs/_layouts/home.html Normal file
View File

@ -0,0 +1,6 @@
---
layout: base
---
<div id="home">
{{ content }}
</div>

147
docs/_layouts/index.html Normal file
View File

@ -0,0 +1,147 @@
---
layout: base
---
<div id="informations">
<ul>
<li>
<div class="group row">
<h2 id="install">{{ page.pagecontent.install.install }}</h2>
<br>
<pre style='clear:both;text-align:center;margin-bottom:0.9em'><code id='selectable' onclick="selectText(this)">/usr/bin/ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;</code></pre>
<div class="col-1">
<p>{{ page.pagecontent.install.paste }}</p>
</div>
<div class="col-2">
<p>{{ page.pagecontent.install.what }}</p>
</div>
</div>
</li>
<li>
<div class="group row">
<h2 id="question">{{ page.pagecontent.question }}</h2>
<br>
<div class="col-1">
<p>{{ page.pagecontent.what }}</p>
</div>
<div class="col-2">
{% highlight bash %}
$ brew install wget
{% endhighlight %}
</div>
</div>
</li>
<li>
<div class="group row">
<div class="col-1">
<p>{{ page.pagecontent.how }}</p>
</div>
<div class="col-2">
{% highlight bash %}
$ cd /usr/local
$ find Cellar
Cellar/wget/1.16.1
Cellar/wget/1.16.1/bin/wget
Cellar/wget/1.16.1/share/man/man1/wget.1
$ ls -l bin
bin/wget -> ../Cellar/wget/1.16.1/bin/wget
{% endhighlight %}
</div>
</div>
</li>
<li>
<div class="group row">
<div class="col-1">
<p>{{ page.pagecontent.prefix }}</p>
</div>
</div>
</li>
<li>
<div class="group row">
<div class="col-1">
<p>{{ page.pagecontent.createpackages }}</p>
</div>
<div class="col-2">
{% highlight bash %}
$ brew create https://foo.com/bar-1.0.tgz
Created /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/bar.rb
{% endhighlight %}
</div>
</div>
</li>
<li>
<div class="group row">
<div class="col-1">
<p>{{ page.pagecontent.hack }}</p>
</div>
<div class="col-2">
{% highlight bash %}
$ brew edit wget # {{ page.pagecontent.editor }}
{% endhighlight %}
</div>
</div>
</li>
<li>
<div class="group row">
<div class="col-1">
<p>{{ page.pagecontent.formula }}</p>
</div>
<div class="col-2">
{% highlight ruby %}
class Wget < Formula
homepage "https://www.gnu.org/software/wget/"
url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd"
def install
system "./configure", "--prefix=#{prefix}"
system "make", "install"
end
end
{% endhighlight %}
</div>
</div>
</li>
<li>
<div class="group row">
<div class="col-1">
<p>{{ page.pagecontent.complement }}</p>
</div>
</div>
</li>
<li>
<div class="group row">
<h2 id="further-doc">{{ page.pagecontent.doc.further }}</h2>
<div class="button">
<p><a href="http://docs.brew.sh">docs.brew.sh</a></p>
</div>
</div>
</li>
<li>
<div class="group row">
<h2 id="homebrew-community">{{ page.pagecontent.doc.community }}</h2>
<div class="button">
<p><a href="http://discourse.brew.sh">discourse.brew.sh</a></p>
</div>
</div>
</li>
<li>
<div class="group row">
<h2 id="homebrew-blog">{{ page.pagecontent.doc.blog }}</h2>
<div class="button">
<p><a href="/blog">brew.sh/blog</a></p>
</div>
</div>
</li>
<li>
<div class="group row credits">
<p>{{ page.pagecontent.foot.code }} {{ page.pagecontent.foot.page }} {{ page.pagecontent.foot.translation }}</p>
</div>
</li>
</ul>
</div>

6
docs/_layouts/page.html Normal file
View File

@ -0,0 +1,6 @@
---
layout: base
---
<div id="page">
{{ content }}
</div>

11
docs/_layouts/post.html Normal file
View File

@ -0,0 +1,11 @@
---
layout: base
---
<div id="post">
<h2>{{ page.title }}</h2>
<h3>{{ page.date | date_to_long_string }}</h3>
<h3 class="author"><a href="https://github.com/{{ page.author }}"><img class="avatar" src="https://avatars2.githubusercontent.com/{{ page.author }}?v=3&amp;s=80" alt="{{ page.author }}" width="40" height="40">{{ page.author }}</a></h3>
<div class="postcontent singlepostcontent">
{{ content }}
</div>
</div>

59
docs/css/pygments.css Normal file
View File

@ -0,0 +1,59 @@
.hll { background-color: #ffffcc }
.c { color: #999988; font-style: italic } /* Comment */
.err { color: #a61717; background-color: #e3d2d2 } /* Error */
.k { font-weight: bold } /* Keyword */
.o { font-weight: bold } /* Operator */
.cm { color: #999988; font-style: italic } /* Comment.Multiline */
.cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.c1 { color: #999988; font-style: italic } /* Comment.Single */
.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #aa0000 } /* Generic.Error */
.gh { color: #999999 } /* Generic.Heading */
.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.go { color: #888888 } /* Generic.Output */
.gp { color: #555555 } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #aaaaaa } /* Generic.Subheading */
.gt { color: #aa0000 } /* Generic.Traceback */
.kc { font-weight: bold } /* Keyword.Constant */
.kd { font-weight: bold } /* Keyword.Declaration */
.kn { font-weight: bold } /* Keyword.Namespace */
.kp { font-weight: bold } /* Keyword.Pseudo */
.kr { font-weight: bold } /* Keyword.Reserved */
.kt { color: #445588; font-weight: bold } /* Keyword.Type */
.m { color: #009999 } /* Literal.Number */
.s { color: #bb8844 } /* Literal.String */
.na { color: #008080 } /* Name.Attribute */
.nb { color: #999999 } /* Name.Builtin */
.nc { color: #999999; font-weight: bold } /* Name.Class */
.no { color: #666666 } /* Name.Constant */
.ni { color: #800080 } /* Name.Entity */
.ne { color: #990000; font-weight: bold } /* Name.Exception */
.nf { color: #999999; font-weight: bold } /* Name.Function */
.nn { color: #555555 } /* Name.Namespace */
.nt { color: #000080 } /* Name.Tag */
.nv { color: #008080 } /* Name.Variable */
.ow { font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mf { color: #009999 } /* Literal.Number.Float */
.mh { color: #009999 } /* Literal.Number.Hex */
.mi { color: #009999 } /* Literal.Number.Integer */
.mo { color: #009999 } /* Literal.Number.Oct */
.sb { color: #bb8844 } /* Literal.String.Backtick */
.sc { color: #bb8844 } /* Literal.String.Char */
.sd { color: #bb8844 } /* Literal.String.Doc */
.s2 { color: #9c7645 } /* Literal.String.Double */
.se { color: #bb8844 } /* Literal.String.Escape */
.sh { color: #bb8844 } /* Literal.String.Heredoc */
.si { color: #bb8844 } /* Literal.String.Interpol */
.sx { color: #bb8844 } /* Literal.String.Other */
.sr { color: #808000 } /* Literal.String.Regex */
.s1 { color: #9c7645 } /* Literal.String.Single */
.ss { color: #bb8844 } /* Literal.String.Symbol */
.bp { color: #999999 } /* Name.Builtin.Pseudo */
.vc { color: #008080 } /* Name.Variable.Class */
.vg { color: #008080 } /* Name.Variable.Global */
.vi { color: #008080 } /* Name.Variable.Instance */
.il { color: #009999 } /* Literal.Number.Integer.Long */

53
docs/css/reset.css Normal file
View File

@ -0,0 +1,53 @@
/* http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */
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, font, 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 {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}

358
docs/css/screen.css Normal file
View File

@ -0,0 +1,358 @@
/* ****************************************************
@file screen.css
@description Screen stylesheet
vim: set noet ts=4 fdm=marker fenc=utf-8:
***************************************************** */
@import url("./reset.css");
/* @section Basic {{{
******************************************************************************/
html {
font-size: 62.5%;
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif;
}
html, body { height: 100%; }
body {
font-size: 150%;
line-height: 1.4;
color: #F9D094;
background: #2E2A24;
position: relative;
behavior: url("/js/ie6/csshover.htc");
padding: 0 30px;
}
p,ul,ol,dl,table,pre { margin-bottom: 1em; }
ul { margin-left: 20px; }
a { text-decoration: none; cursor: pointer; color: #ba832c; font-weight: bold; }
a:focus { outline: 1px dotted; }
a:visited { }
a:hover, a:focus { color: #d3a459; text-decoration: none; }
a *, button * { cursor: pointer; }
hr { display: none; }
small { font-size: 90%; }
input, select, button, textarea, option { font-size: 100%; }
button, label, select, option, input[type=submit] { cursor: pointer; }
.group:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .group {display: inline-block;}
/* Hides from IE-mac \*/ * html .group {height: 1%;} .group {display: block;} /* End hide from IE-mac */
sup { font-size: 80%; line-height: 1; vertical-align: super; }
button::-moz-focus-inner { border: 0; padding: 1px; }
span.amp { font-weight: normal; font-style: italic; font-size: 1.2em; line-height: 0.8; }
h1,h2,h3,h4,h5,h6 { line-height: 1.1; }
::selection { background: #745626; }
::-moz-selection { background: #745626; }
h1, h2, h3 {
font-size: 420%;
margin: 0 0 0.1em;
font-weight: 900;
text-shadow: 1px 1px 10px rgba(0,0,0,0.25);
}
h2 {
font-size: 300%;
text-align: center;
font-weight: 800;
color: #F9D094;
margin-top: 0.5em;
margin-bottom: 0.1em;
}
h3 {
font-size: 125%;
text-align: center;
font-weight: 800;
color: #F9D094;
margin-top: 0.5em;
margin-bottom: 0.1em;
}
#forkme {
width: 149px;
height: 149px;
position: absolute;
top: 0;
right: 0;
border: 0
}
h1 a,
h1 a:hover {
color: #F9D094;
font-weight: 900;
text-decoration: none;
}
#wrap {
width: 57em;
/*width: 760px;*/
max-width: 100%;
margin: 0 auto;
padding: 15px 0 0;
}
#header {
text-align: center;
margin-bottom: 1em;
}
#language {
margin-bottom: 2em;
}
pre {
background: rgba(0,0,0,0.3);
color: #fff;
padding: 8px 10px;
border-radius: 0.4em;
-moz-border-radius: 0.4em;
-webkit-border-radius: 0.4em;
overflow-x: auto;
}
pre code {
font-family: "Monaco", "Menlo", monospace;
font-size: 11px;
line-height: 1.6;
}
#selectable {
font-size: 13px;
}
.avatar {
border-radius: 0.4em;
overflow: hidden;
margin-right: 0.5em;
vertical-align: middle;
}
#home, #page, .postcontent {
font-size: 1.2em;
min-width: 25em;
max-width: 35em;
margin: 0 auto;
margin-top: 1em;
padding-top: 1em;
padding-bottom: 1em;
}
#home img, #page img, .postcontent img {
min-width: 25em;
max-width: 35em;
}
#home th, #page th, .postcontent th, #home td, #page td, .postcontent td {
padding: 0.25em 0.5em;
}
#post, #home, #page, .singlepostcontent, .posts li {
border-top: 1px solid rgba(255,255,255,0.08);
box-shadow: 0 -1px 0 rgba(0,0,0,0.5);
}
#home ul, #page ul, .postcontent ul {
list-style: inherit;
}
#home h1, #page h1 {
font-size: 250%;
font-weight: 800;
text-align: center;
padding-bottom: 0.5em;
}
#home h2, #page h2 {
font-size: 175%;
font-weight: 700;
text-align: left;
padding-bottom: 0.3em;
}
#home h3, #page h3 {
font-size: 150%;
font-weight: 700;
text-align: left;
padding-bottom: 0.3em;
}
#home code, #page code {
font-size: 100%;
}
#home pre code, #page pre code {
font-size: 80%;
}
/*}}}*/
/* @section Informations {{{
******************************************************************************/
#informations {
border-top: 1px solid rgba(0,0,0,0.5);
}
#informations ul {
margin: 0;
}
#informations .row, #border-bottom {
border-bottom: 1px solid rgba(0,0,0,0.5);
border-top: 1px solid rgba(255,255,255,0.08);
padding: 2em 20px 0;
}
#informations .row .col-1 {
width: 49%;
float: left;
padding: 0 0 1em;
}
#informations .row .col-2 {
width: 49%;
float: right;
padding: 0 0 1em;
}
@media screen and (min-width: 700px) {
#informations .highlight {
margin-inline-end: 0;
-moz-margin-end: 0;
-webkit-margin-end: 0;
}
}
.button {
text-align: center;
margin: 1em 0 2em;
}
#informations .button a {
background: rgba(162,107,20,0.3);
padding: 8px 10px 6px;
border-radius: 0.4em;
-moz-border-radius: 0.4em;
-webkit-border-radius: 0.4em;
box-shadow: 0 0 5px rgba(0,0,0,0.4);
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.4);
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.4);
text-decoration: none;
font-size: larger;
}
#informations .button a:hover {
background: rgba(162,107,20,0.25);
}
#informations .button-large {
padding: 2em 0 1em;
font-size: 120%;
}
#informations .quote {
text-align: center;
color: #816f51;
padding-bottom: 2em;
}
#informations .quote blockquote {
font-size: 140%;
padding: 0 15%;
}
#informations .quote blockquote span {
font-size: 140%;
line-height: 0.5;
vertical-align: sub;
}
#informations .quote cite {
font-style: normal;
}
#informations .quote cite a {
font-weight: normal;
}
#informations .credits, #border-no-bottom {
border-bottom: none;
font-size: 70%;
text-align: center;
padding-top: 1.8em;
opacity: 0.5;
}
#informations .credits p {
margin: 0;
padding: 0 0 0.7em;
}
/*}}}*/
/* @section Mobile {{{
******************************************************************************/
@media screen and (max-width: 700px) {
body {
padding: 0px;
}
h1 {
font-size: 350%;
}
h2 {
font-size: 250%;
}
#forkme {
width: 100px;
height: 100px;
}
#informations .row .col-1 {
width: 100%;
padding: 0;
margin: 0;
}
#informations .row .col-2 {
width: 100%;
float: left;
}
pre code#selectable {
width: 90%;
margin: 0 auto;
}
}
/*}}}*/
/* @section RTL {{{
******************************************************************************/
[dir="rtl"] ul { margin-left: 0; margin-right: 20px; }
[dir="rtl"] pre {
direction: ltr;
text-align: left;
}
[dir="rtl"] #informations .row .col-1 {
float: right;
}
[dir="rtl"] #informations .row .col-2 {
float: left;
}
@media screen and (max-width: 700px) {
[dir="rtl"] #informations .row .col-2 {
float: right;
}
}

1
docs/favicon.ico Symbolic link
View File

@ -0,0 +1 @@
img/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

BIN
docs/img/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
docs/img/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
docs/img/favicon-96x96.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
docs/img/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB