Added website documentation.

This commit is contained in:
redtide 2019-10-03 18:49:12 +02:00
parent a235b25338
commit 2baeab7a59
81 changed files with 2502 additions and 0 deletions

13
docs/.editorconfig Normal file
View file

@ -0,0 +1,13 @@
root = true
[*]
end_of_line = lf
insert_final_newline = false
charset = utf-8
indent_style = tab
indent_size = 2
trim_trailing_whitespace = true
[*.yml]
indent_style = space
indent_size = 2

4
docs/.gitattributes vendored Normal file
View file

@ -0,0 +1,4 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
* text eol=lf
*.png binary

14
docs/.gitignore vendored Normal file
View file

@ -0,0 +1,14 @@
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
.bundle
.vendor
assets/css/*.map
assets/css/style.css
assets/js/*.map
node_modules
Gemfile.lock
package-lock.json
yarn.lock
*.log

View file

@ -0,0 +1,8 @@
{
"folders": [
{
"path": "."
}
],
"settings": {}
}

23
docs/404.md Normal file
View file

@ -0,0 +1,23 @@
---
title: "404: Page not Found"
lang: "en"
permalink: "/404.html"
---
The page you requested could not be found. It seems that the page you were
trying to reach doesn't exist anymore, or maybe it has just moved. We think the
the best thing to do is to start again from the home page, or use the site
search feature below.
<div class="row my-4 justify-content-center">
<div class="col-md-7">
<p class="text-center">Search this website:</p>
<form class="form-search" role="search" action="{{ "/search/" | relative_url }}">
<div class="input-group input-group-lg">
<input type="text" class="form-control" placeholder="What are you looking for?" name="q">
<span class="input-group-append">
<button class="btn btn-primary" type="submit">Search</button>
</span>
</div>
</form>
</div>
</div>

18
docs/Gemfile Normal file
View file

@ -0,0 +1,18 @@
source "https://rubygems.org"
ruby RUBY_VERSION
# We'll need rake to build our site in TravisCI
gem "rake", "~> 12"
gem "jekyll"
# Optional: Add any custom plugins here.
# Some useful examples are listed below
group :jekyll_plugins do
# gem "jekyll-feed"
gem "jekyll-sitemap"
gem 'jemoji'
# gem "jekyll-paginate-v2"
# gem "jekyll-seo-tag"
# gem "jekyll-compose", "~> 0.5"
# gem "jekyll-redirect-from"
end

32
docs/README.md Normal file
View file

@ -0,0 +1,32 @@
# Source code for the [Sfizz] documentation website
This website is built using [Jekyll], using [Node.js] to compile
all static assets including the [Bootstrap] library and built on
along with the [SASS] stylesheets. Most of the content on the website is
written using [Markdown], making it extremely easy to write and maintain.
Icons are provided by [Font Awesome], favicons by [Favicon Generator].
## Local Build Quick-start Guide
- Install `ruby` and `yarn`
- Use the automatic setup via `setup.sh`
or manually:
$ gem update
$ gem install bundler
$ yarn --no-bin-links
$ yarn dist
$ bundle exec jekyll serve -w
The local website should be available at <http://localhost:4000/>
[Bootstrap]: http://getbootstrap.com/
[Favicon Generator]: https://realfavicongenerator.net/
[Font Awesome]: http://fontawesome.io/
[Jekyll]: http://jekyllrb.com/
[Markdown]: https://daringfireball.net/projects/markdown/
[Node.js]: http://nodejs.org/
[SASS]: https://sass-lang.com/
[Sfizz]: https://sfztools.github.io/sfizz

View file

@ -0,0 +1,13 @@
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
document.getElementById("scrollButton").style.display = "block";
} else {
document.getElementById("scrollButton").style.display = "none";
}
}
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}

View file

@ -0,0 +1,30 @@
#searchresults {
.cse .gsc-control-cse,
.gsc-control-cse {
padding: 0;
}
.gcsc-branding,
.gsc-result-info,
.gsc-table-result,
.gsc-thumbnail-inside,
.gsc-url-top,
.gs-spelling,
.gs-promotion table {
padding-left: 0;
padding-right: 0;
}
.gsc-adBlock {
padding: 0;
}
.gsc-cursor {
font-size: 14px;
}
.gsc-cursor-page {
margin-left: -1px;
padding: 4px 10px;
border: 1px solid #ddd;
}
.gsc-results .gsc-cursor-box {
margin-top: 2em;
}
}

View file

@ -0,0 +1,59 @@
$blue: #337ab7;
$navbar-dark-color: rgba(#fff, .75);
$navbar-dark-hover-color: #fff;
@import "../../node_modules/bootstrap/scss/bootstrap";
@import "syntax-highlight";
@import "google-cse";
/* Styles applied site-wide. */
.navbar, .card-header {
background-color: #222;
}
aside .card-body {
padding: 0.5rem;
}
aside .nav-link {
padding: 0.35rem 0.25rem;
}
pre {
padding: 0.5rem 0.75rem;
border: 2px solid rgba($black, .2);
border-radius: 0.50rem;
}
table {
width:100%;
border-collapse: collapse;
margin-bottom: 1em;
}
th, td {
text-align: left;
padding: 5px 10px;
border: 1px solid #e5e5e5;
}
th {
color: #f8f9fA;
background-color: #222;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
#scrollButton {
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
font-size: 18px;
border: none;
outline: none;
background-color: rgba(255, 255, 255, 0.5);
color: rgba(0, 0, 0, 0.5);
cursor: pointer;
padding: 6px;
border-radius: 50%;
}
#scrollButton:hover {
background-color: rgba(255, 255, 255, 0.8);
}

View file

@ -0,0 +1,61 @@
/* GitHub Syntax Coloring */
.highlight .c { color: #999988; font-style: italic }
.highlight .err { color: #a61717; background-color: #e3d2d2 }
.highlight .k { color: #000000; font-weight: bold }
.highlight .o { color: #000000; font-weight: bold }
.highlight .cm { color: #999988; font-style: italic }
.highlight .cp { color: #999999; font-weight: bold }
.highlight .c1 { color: #999988; font-style: italic }
.highlight .cs { color: #999999; font-weight: bold; font-style: italic }
.highlight .gd { color: #000000; background-color: #fdd }
.highlight .gd .x { color: #000000; background-color: #faa }
.highlight .ge { color: #000000; font-style: italic }
.highlight .gr { color: #a00 }
.highlight .gh { color: #999 }
.highlight .gi { color: #000000; background-color: #dfd }
.highlight .gi .x { color: #000000; background-color: #afa }
.highlight .go { color: #888 }
.highlight .gp { color: #555 }
.highlight .gs { font-weight: bold }
.highlight .gu { color: #aaa }
.highlight .gt { color: #a00 }
.highlight .kc { color: #000000; font-weight: bold }
.highlight .kd { color: #000000; font-weight: bold }
.highlight .kp { color: #000000; font-weight: bold }
.highlight .kr { color: #000000; font-weight: bold }
.highlight .kt { color: #445588; font-weight: bold }
.highlight .m { color: #099 }
.highlight .s { color: #d14 }
.highlight .na { color: teal }
.highlight .nb { color: #0086b3 }
.highlight .nc { color: #445588; font-weight: bold }
.highlight .no { color: teal }
.highlight .ni { color: purple }
.highlight .ne { color: #990000; font-weight: bold }
.highlight .nf { color: #990000; font-weight: bold }
.highlight .nn { color: #555 }
.highlight .nt { color: navy }
.highlight .nv { color: teal }
.highlight .ow { color: #000000; font-weight: bold }
.highlight .w { color: #bbb }
.highlight .mf { color: #099 }
.highlight .mh { color: #099 }
.highlight .mi { color: #099 }
.highlight .mo { color: #099 }
.highlight .sb { color: #d14 }
.highlight .sc { color: #d14 }
.highlight .sd { color: #d14 }
.highlight .s2 { color: #d14 }
.highlight .se { color: #d14 }
.highlight .sh { color: #d14 }
.highlight .si { color: #d14 }
.highlight .sx { color: #d14 }
.highlight .sr { color: #009926 }
.highlight .s1 { color: #d14 }
.highlight .ss { color: #990073 }
.highlight .bp { color: #999 }
.highlight .vc { color: teal }
.highlight .vg { color: teal }
.highlight .vi { color: teal }
.highlight .il { color: #099 }

60
docs/_config.yml Normal file
View file

@ -0,0 +1,60 @@
defaults:
- scope:
path: ""
type: "pages"
values:
layout: "default"
- scope:
path: ""
type: "posts"
values:
layout: "post"
exclude:
- vendor/bundle/
- vendor/cache/
- vendor/gems/
- vendor/ruby/
- Gemfile
- Gemfile.lock
- LICENSE
- new_post
- node_modules
- package.json
- package-lock.json
- README.md
- setup.sh
- assets/css/style.css
- TODO.md
- yarn.lock
- yarn-error.log
plugins:
- jekyll-sitemap
- jemoji
organization:
name: "SFZTools"
url: "https://github.com/sfztools"
project:
name: "Sfizz"
url: "https://sfztools.github.io/sfizz"
copyright_owner: "Paul Ferrand"
spdx_license_id: "BSD-2-Clause"
docs_path: "master/docs"
authors:
content: "Paul Ferrand"
web: "RedTide"
google:
analytics_code:
cse_code:
realfavicongenerator:
mask_icon_color: "#5bbad5"
msapplication_tile_color: "#da532c"
theme_color: "#ffffff"
disqus_shortname:

View file

@ -0,0 +1,91 @@
navigation:
- title: Projects
type: dropdown
icon_type: "hammer"
icon_category: "fas"
pages:
- title: BeatBox
url: https://sfztools.github.io/beatbox/
icon_type: "drum"
icon_category: "fas"
- title: Sfizz Library
url: https://sfztools.github.io/sfizz/
icon_type: "play-circle"
icon_category: "fas"
disabled: true
- title: Sfizz Juce (Archived)
url: https://sfztools.github.io/sfizz-juce/
icon_type: "play-circle"
icon_category: "fas"
-
- title: SFZ-Flat
url: https://github.com/sfztools/sfz-flat/
-
- title: Geany Syntax Highlight
url: https://github.com/sfztools/syntax-highlighting-geany/
- title: Sublime Text Syntax Highlight
url: https://github.com/sfztools/syntax-highlighting-sublime-text/
- title: VSCode Syntax Highlight
url: https://github.com/sfztools/syntax-highlighting-vscode/
- title: Pages
type: dropdown
icon_type: github
icon_category: fab
pages:
- title: Organization
url: https://github.com/sfztools/
- title: Repository
url: https://github.com/sfztools/sfizz/
- title: Contacts
icon_type: at
icon_category: fas
type: normal
url: /contacts
- title: Downloads
type: normal
icon_type: download
icon_category: fas
url: /downloads
- title: Home
type: normal
icon_type: home
icon_category: fas
url: https://sfztools.github.io/
cards:
- title: Follow us
icon_type: eye
icon_category: fas
links:
- title: "Discord Chat"
url: "https://discord.gg/3ArE9Mw"
icon_type: "discord"
icon_category: "fab"
- title: News Atom Feed
url: /atom.xml
icon_type: rss
icon_category: fas
- title: "Quick links"
icon_type: "link"
icon_category: "fas"
links:
- title: "SFZ Format"
url: "https://sfzformat.github.io/"
icon_type: "book"
icon_category: "fas"
- title: "Free SFZ Instruments"
url: "https://github.com/sfzinstruments/"
icon_type: "download"
icon_category: "fas"

1350
docs/_data/sfz/support.yml Normal file

File diff suppressed because it is too large Load diff

21
docs/_includes/cards.html Normal file
View file

@ -0,0 +1,21 @@
{% for card in site.data.locale.[page.lang].layout.cards %}
<div class="card border-dark mb-4">
<div class="card-header text-light">
<i class="{{ card.icon_category }} fa-{{ card.icon_type }}"
aria-hidden="true"></i>
{{ card.title }}
</div>
<div class="card-body">
<ul class="nav nav-pills flex-column">
{% for item in card.links %}
<li class="nav-item"><a class="nav-link" href="{{ item.url }}"
title="{{ item.title }}">
<i class="{{ item.icon_category }} fa-{{ item.icon_type }} fa-fw"
aria-hidden="true"></i>
{{ item.title }}</a>
</li>
{% endfor %}
</ul>
</div>
</div>
{% endfor %}

View file

@ -0,0 +1 @@
{%comment%}Don't delete this file, just replace this line if needed.{%endcomment%}

View file

@ -0,0 +1 @@
{%comment%}Don't delete this file, just replace this line if needed.{%endcomment%}

View file

@ -0,0 +1,13 @@
<!-- Favicon Generator Icons -->
<link rel="apple-touch-icon" sizes="180x180"
href="{{ '/assets/ico/apple-touch-icon.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ '/assets/ico/favicon-32x32.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ '/assets/ico/favicon-16x16.png' | relative_url }}">
<link rel="manifest" href="{{ '/assets/ico/site.webmanifest' | relative_url }}">
<link rel="mask-icon" href="{{ '/assets/ico/safari-pinned-tab.svg' | relative_url }}"
color="{{ site.realfavicongenerator.mask_icon_color }}">
<link rel="shortcut icon" href="{{ '/assets/ico/favicon.ico' | relative_url }}">
<meta name="msapplication-TileColor"
content="{{ site.realfavicongenerator.msapplication_tile_color }}">
<meta name="msapplication-config" content="{{ '/assets/ico/browserconfig.xml' | relative_url }}">
<meta name="theme-color" content="{{ site.realfavicongenerator.theme_color }}">

View file

@ -0,0 +1,8 @@
<hr>
<footer>
<p style="text-align:left">Copyright &copy; {{ site.time | date: "%Y" }}
{{ site.project.copyright_owner }}
<span style="float:right">This site is open source.
<a href="{{site.github.repository_url}}/edit/{{site.project.docs_path}}/{{page.path}}">
Improve this page</a></span></p>
</footer>

View file

@ -0,0 +1,10 @@
<!-- Google Analytics -->
<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', '{{ site.google.analytics_code }}', 'auto');
ga('send', 'pageview');
</script>

34
docs/_includes/head.html Normal file
View file

@ -0,0 +1,34 @@
<meta charset="utf-8">
<title>
{%-if page.title-%}
{{ page.title | escape }} - {{ site.project.name }}
{%-else-%}
{{ site.project.name }}
{%-endif-%}
</title>
{% if site.project.authors.content-%}
<meta name="author" content="{{ site.project.authors.content }}">
{% endif %}
{%-if site.project.authors.web-%}
<meta name="web-author" content="{{ site.project.authors.web }}">
{%-endif %}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{% if site.google.analytics_code %}{%-include google-analytics.html-%}{% endif %}
<!-- Atom Feeds -->
<link href="{{ "/atom.xml" | relative_url }}" rel="alternate" title="News"
type="application/atom+xml" />
{% include favicons.html %}
<!-- Stylesheets -->
<link href="{{ "/assets/css/style.min.css" | relative_url }}"
rel="stylesheet" media="screen">
{%-for stylesheet in page.stylesheets-%}
<link href="{{ "/assets/css/" | append: stylesheet | append: .css | relative_url }}"
rel="stylesheet">
{% endfor %}
{%-include custom-styles.html %}
<!-- Font Awesome Icons -->
<script src="https://kit.fontawesome.com/8d25d19870.js"></script>

View file

@ -0,0 +1 @@
{%-include navigation.html-%}

View file

@ -0,0 +1,62 @@
<nav class="navbar navbar-expand-lg navbar-dark rounded">
<a class="navbar-brand" href="{{ '/' | relative_url }}">
<img src="{{ '/assets/img/logo.png' | relative_url }}"
width="30" height="30" class="d-inline-block align-top" alt="">
{{ site.project.name }}
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarContent" aria-controls="navbarContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarContent">
<ul class="navbar-nav mr-auto mt-2 mt-lg-0">
{% for item in site.data.locale[page.lang].layout.navigation %}
{% if item.type == "normal" %}
<li class="nav-item">
<a class="nav-link" href="{{ item.url | relative_url }}">
{%-if item.icon_type-%}
<i class="{{ item.icon_category }} fa-{{ item.icon_type }} fa-fw"
aria-hidden="true"></i>&nbsp;
{%-endif-%}
{{ item.title }}</a>
{% else %}
{% assign item_id = 'navbar' | append: item.title %}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="{{ item_id }}"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{%-if item.icon_type-%}
<i class="{{ item.icon_category }} fa-{{ item.icon_type }} fa-fw"
aria-hidden="true"></i>&nbsp;
{%-endif-%}
{{ item.title }}</a>
<div class="dropdown-menu" aria-labelledby="{{ item_id }}">
{% for subitem in item.pages %}
{% if subitem.title == nil %}
<div class="dropdown-divider"></div>
{% else %}
{%-assign disabled=""-%}
{%-if subitem.disabled-%}{%-assign disabled=" disabled"-%}{%-endif-%}
<a class="dropdown-item{{ disabled }}"
href="{{ subitem.url | relative_url }}">
{%-if subitem.icon_type-%}
<i class="{{ subitem.icon_category }} fa-{{ subitem.icon_type }} fa-fw"
aria-hidden="true"></i>&nbsp;
{%-endif-%}
{{ subitem.title }}</a>
{% endif %}
{% endfor %}
</div>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
<form class="form-inline my-2 my-lg-0" role="search"
action="{{ '/' | append: 'search/' | relative_url }}/">
<input class="form-control mr-sm-2" type="search" name="q"
placeholder="Search" aria-label="Search">
</form>
</nav>

View file

@ -0,0 +1,13 @@
<table class="table table-striped">
<caption>Full historical listing of all news posts, sorted by newest first.</caption>
<thead><tr><th>Post</th><th>Date</th></tr></thead>
<tbody>
{% for post in site.posts %}
<tr>
<td><a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a></td>
<td><time datetime="{{ post.date | datetime | date_to_xmlschema }}" pubdate{%-if updated-%}
data-updated="true"{%-endif-%}>{{ post.date | date: page.date_fmt }}</time></td>
</tr>
{% endfor %}
</tbody>
</table>

19
docs/_includes/post.html Normal file
View file

@ -0,0 +1,19 @@
{%-for post in site.posts limit:5-%}
<h2><a href="{{ post.url | relative_url }}">{{ post.title }}</a></h2>
<p>Posted on <time datetime="{{ post.date | datetime | date_to_xmlschema }}"
{%-if updated-%}data-updated="true"{%-endif-%}>
{{ post.date | date: page.date_fmt }}</time></p>
{{ post.content }}
{%-if post.comments and site.disqus_shortname-%}
<p><a href="{{ post.url | relative_url }}#disqus_thread"
data-disqus-identifier="{{ post.id | escape }}">Comments</a></p>
{%-endif-%}
{%-endfor-%}
<p class="text-center" style="margin-top: 2em;">
<a class="btn btn-lg btn-default" href="{{ '/news/archive/' | relative_url }}/">
<i class="fa fa-calendar fa-fw"></i> News Archive</a>
</p>

View file

@ -0,0 +1,5 @@
<script src="{{ '/assets/js/scripts.min.js' | relative_url }}"></script>
{%-for script in page.scripts-%}
<script src="{{ '/assets/js/' | append: script | append: '.js' | relative_url }}"></script>
{%-endfor-%}
{% include custom-scripts.html %}

View file

@ -0,0 +1,14 @@
<div class="row my-4 justify-content-center">
<div class="col-md-7">
<p class="text-center">Search this website:</p>
<form class="form-search" role="search" action="{{ '/search/'| relative_url }}/">
<div class="input-group input-group-lg">
<input type="text" class="form-control searchbox" name="q">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">Search</button>
</div>
</div>
</form>
</div>
</div>
<div id="searchresults" class="gcse-searchresults-only" data-enableHistory="true"></div>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
{% include head.html %}
</head>
{% if page.classes %}
<body class="{{ page.classes | join: ' ' }}">
{% else %}
<body>
{% endif %}
<button onclick="topFunction()" id="scrollButton" title="Go to top">Top</button>
<a href="#content" class="sr-only">Skip to content</a>
<div class="container">
{% include header.html %}
<div class="row mt-4" id="content">
<div class="col-md-9">
<article>
<h1>{{ page.title }}</h1>
{{ content }}
</article>
</div>
<div class="col-md-3">
<aside>
{% include cards.html %}
</aside>
</div>
</div>
{% include footer.html %}
</div>
{% include scripts.html %}
</body>
</html>

38
docs/_layouts/home.html Normal file
View file

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html>
<head>
{% include head.html %}
</head>
<body>
<button onclick="topFunction()" id="scrollButton" title="Go to top">Top</button>
<a href="#content" class="sr-only">Skip to content</a>
<div class="container">
{% include header.html %}
<div class="row mt-4" id="content">
<div class="col-md-9">
<article>
{{ content }}
</article>
</div>
<div class="col-md-3">
<aside>
{% include cards.html %}
</aside>
</div>
</div>
{% include footer.html %}
</div>
{% include scripts.html %}
{% if site.disqus_shortname %}
<script type="text/javascript">
var disqus_shortname = "{{ site.disqus_shortname }}";
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
{% endif %}
</body>
</html>

61
docs/_layouts/post.html Normal file
View file

@ -0,0 +1,61 @@
<!DOCTYPE html>
<html>
<head>
{% include head.html %}
</head>
{% if page.classes %}
<body class="{{ page.classes | join: ' ' }}">
{% else %}
<body>
{% endif %}
<button onclick="topFunction()" id="scrollButton" title="Go to top">Top</button>
<a href="#content" class="sr-only">Skip to content</a>
<div class="container">
{% include header.html %}
<div class="row mt-4" id="content">
<div class="col-md-9">
<article class="mb-4">
<h1>{{ page.title | escape }}</h1>
<p class="text-muted">
Posted on <time datetime="{{ page.date | datetime | date_to_xmlschema }}">
{{ page.date | date: page.date_fmt }}</time>
{% if page.author %}by {{ page.author }}{% endif %}
</p>
{{ content }}
{% if page.comments and site.disqus_shortname %}
<h2>Comments</h2>
<div id="disqus_thread"></div>
<noscript>Please enable JavaScript to view the comments.</noscript>
{% endif %}
</article>
<p class="my-4 text-center">
<a class="btn btn-lg btn-default" href="{{ "/news/archive/" | relative_url }}">
<i class="fa fa-calendar fa-fw"></i> News Archive</a>
</p>
</div>
<div class="col-md-3">
<aside>
{% include cards.html %}
</aside>
</div>
</div>
{% include footer.html %}
</div>
{% include scripts.html %}
{% if page.comments and site.disqus_shortname %}
<script type="text/javascript">
var disqus_shortname = "{{ site.disqus_shortname }}";
var disqus_identifier = "{{ page.id | escape }}";
var disqus_url = "{{ site.url }}{{ page.url }}";
var e = document.createElement('div');
e.innerHTML = "{{ page.title | escape }}";
var disqus_title = e.childNodes[0].nodeValue;
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
{% endif %}
</body>
</html>

View file

@ -0,0 +1,22 @@
---
title: "Documentation Website"
lang: "en"
date: "2019-03-10"
date_fmt: "%F"
comments: false
categories: "news"
---
This website is where you will find the sfizz sampler documentation.
- Built on [Jekyll].
- Most content is authored in [Markdown] format.
- Utilizes [Bootstrap] for easy skinning and responsive design,
making the website available to mobile devices.
- Utilizes [FontAwesome] and [Favicon Generator] for content and website icons.
[Bootstrap]: http://getbootstrap.com/
[Favicon Generator]: https://realfavicongenerator.net/
[FontAwesome]: http://fontawesome.io/
[Jekyll]: http://jekyllrb.com/
[Markdown]: http://daringfireball.net/projects/markdown/
[SASS]: https://sass-lang.com/

12
docs/assets/css/style.min.css vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/assets/ico/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
docs/assets/ico/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -0,0 +1,78 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.11, written by Peter Selinger 2001-2013
</metadata>
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M2750 4174 c-63 -140 -118 -254 -122 -254 -4 0 -8 -7 -8 -16 0 -20
-133 -324 -141 -324 -4 0 -69 117 -145 260 -95 181 -146 267 -165 281 -22 16
-30 17 -34 7 -2 -7 -54 -159 -114 -337 -61 -178 -112 -326 -115 -328 -2 -3
-67 19 -143 47 -340 128 -916 340 -919 338 -1 -2 62 -243 140 -536 l142 -532
-235 -121 c-339 -174 -711 -372 -707 -377 6 -5 114 -28 571 -123 214 -44 391
-81 392 -83 1 -1 -80 -94 -180 -207 -100 -113 -229 -263 -286 -334 -93 -114
-101 -127 -75 -121 16 4 225 61 465 127 240 65 438 119 440 119 3 0 -18 -188
-47 -418 -28 -229 -51 -418 -50 -419 4 -5 293 338 490 580 115 141 212 257
215 257 3 0 34 -93 69 -207 94 -311 215 -683 222 -683 6 0 149 469 182 593 7
26 16 47 20 47 4 0 8 12 8 28 1 37 105 395 116 399 5 2 59 -104 119 -234 116
-254 265 -562 265 -550 0 4 18 92 41 195 22 103 65 306 95 451 30 146 57 267
60 270 3 4 43 -14 87 -38 330 -177 830 -441 832 -439 1 2 -65 165 -146 363
-82 198 -148 363 -149 368 0 4 7 7 16 7 21 0 814 169 838 178 14 6 -36 35
-205 123 -123 64 -288 147 -366 184 -79 38 -143 71 -143 74 0 4 155 159 345
345 190 186 344 341 341 343 -4 5 -110 -3 -726 -51 -91 -8 -166 -13 -167 -12
-1 0 -7 179 -13 396 -7 217 -14 397 -16 399 -3 4 -243 -161 -532 -367 -141
-101 -206 -142 -211 -133 -4 7 -40 130 -80 274 -91 331 -106 377 -134 414
l-23 31 -114 -254z m227 -185 c51 -184 95 -340 98 -347 3 -10 28 3 82 42 224
159 622 436 635 441 17 7 21 -59 34 -529 l7 -228 61 6 c64 6 537 42 691 52
l90 6 -335 -330 -335 -330 30 -12 c58 -22 655 -323 655 -329 0 -6 -506 -117
-721 -158 l-85 -16 10 -41 c6 -23 14 -43 18 -46 9 -7 246 -584 242 -589 -2 -2
-45 19 -96 47 -51 27 -142 76 -203 108 -60 32 -213 113 -339 181 -126 67 -230
122 -231 120 -1 -1 -27 -127 -58 -279 -88 -427 -119 -568 -127 -568 -8 0 -99
189 -255 530 -60 129 -110 237 -112 240 -8 9 -20 -24 -58 -158 -21 -75 -42
-138 -47 -140 -4 -2 -8 -15 -8 -29 0 -20 -49 -195 -197 -705 -3 -10 -9 -18
-13 -18 -10 0 -53 129 -174 524 -53 170 -97 310 -98 312 -2 1 -96 -110 -208
-248 -266 -327 -439 -532 -452 -537 -7 -2 -9 9 -5 30 16 92 88 712 83 717 -4
3 -198 -47 -432 -112 -235 -64 -428 -115 -430 -114 -5 5 153 192 344 408 100
112 182 207 182 210 0 3 -96 24 -213 48 -434 88 -707 147 -707 152 0 6 268
149 603 320 142 73 260 138 263 144 2 6 -57 236 -130 511 -74 275 -131 501
-126 503 8 3 153 -49 661 -239 191 -71 350 -129 355 -129 5 0 58 146 119 325
60 179 114 325 120 325 5 0 73 -121 150 -268 174 -333 167 -328 240 -152 28
66 53 120 58 120 4 0 7 7 7 15 0 26 244 555 254 552 6 -2 52 -154 103 -338z"/>
<path d="M2479 3291 c-130 -42 -240 -157 -316 -331 l-32 -75 -93 -5 -93 -5 0
-35 0 -35 78 -3 c42 -2 77 -5 77 -7 0 -17 -177 -574 -201 -630 -54 -131 -110
-197 -186 -220 -26 -7 -29 2 -8 29 8 11 15 39 15 62 0 53 -33 84 -90 84 -72 0
-118 -67 -100 -145 17 -77 73 -109 175 -103 136 9 252 86 353 235 80 119 197
376 282 626 l24 67 88 0 c87 0 89 1 99 27 17 46 7 53 -81 53 -44 0 -80 4 -80
9 0 5 20 68 46 141 61 179 89 220 152 220 l33 0 -35 -44 c-29 -34 -36 -52 -36
-85 0 -36 4 -44 33 -61 43 -26 107 -26 140 1 60 46 56 156 -6 203 -63 47 -145
57 -238 27z"/>
<path d="M1600 2879 c-79 -36 -120 -88 -120 -153 0 -54 14 -79 76 -137 139
-130 154 -146 154 -171 0 -65 -81 -106 -146 -74 -36 17 -37 18 -34 83 4 112
-142 129 -156 18 -8 -59 21 -104 88 -139 48 -24 68 -28 139 -29 171 -1 269 67
269 186 0 26 -6 60 -14 76 -8 15 -57 62 -109 104 -52 43 -98 84 -101 93 -11
30 -6 61 15 88 18 23 28 27 63 24 l41 -3 21 -65 c23 -71 49 -94 94 -83 42 10
60 33 60 76 0 49 -46 99 -105 116 -67 18 -184 13 -235 -10z"/>
<path d="M3332 2866 c-35 -40 -82 -126 -82 -151 0 -32 30 -27 77 14 l47 42 95
-7 c53 -4 97 -7 98 -8 1 -1 -86 -73 -193 -160 -207 -170 -264 -225 -264 -255
0 -29 41 -34 92 -11 58 26 79 25 178 -10 89 -31 126 -32 181 -4 67 34 120 135
101 192 -7 22 -15 27 -43 27 -33 0 -34 -1 -37 -42 -4 -61 -16 -66 -97 -42 -44
14 -83 19 -108 16 -22 -3 -36 -2 -31 2 5 5 72 62 149 129 77 66 171 149 208
184 63 57 68 66 62 91 -7 25 -11 28 -39 24 -17 -2 -52 -10 -78 -18 -40 -11
-58 -11 -105 0 -32 7 -85 15 -119 18 -59 5 -61 4 -92 -31z"/>
<path d="M2430 2465 l0 -253 -22 -6 c-13 -3 -42 -6 -64 -6 -75 0 -116 -59 -84
-120 15 -29 85 -45 132 -31 64 19 68 38 68 291 0 206 1 221 18 216 9 -3 35 -8
57 -11 22 -4 48 -9 58 -12 15 -4 17 4 17 71 l0 75 -57 11 c-32 6 -73 15 -90
20 l-33 8 0 -253z"/>
<path d="M2762 2676 c-35 -40 -82 -126 -82 -151 0 -32 30 -27 77 14 l47 42 95
-7 c53 -4 97 -7 98 -8 1 -1 -86 -73 -193 -160 -207 -170 -264 -225 -264 -255
0 -29 41 -34 92 -11 58 26 79 25 178 -10 89 -31 126 -32 181 -4 67 34 120 135
101 192 -7 22 -15 27 -43 27 -33 0 -34 -1 -37 -42 -4 -61 -16 -66 -97 -42 -44
14 -83 19 -108 16 -22 -3 -36 -2 -31 2 5 5 72 62 149 129 77 66 171 149 208
184 63 57 68 66 62 91 -7 25 -11 28 -39 24 -17 -2 -52 -10 -78 -18 -40 -11
-58 -11 -105 0 -32 7 -85 15 -119 18 -59 5 -61 4 -92 -31z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -0,0 +1,20 @@
{
"name": "Sfizz",
"short_name": "Sfizz",
"icons": [
{
"src": "/assets/ico/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/assets/ico/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"start_url": "https://sfztools.github.io/sfizz/",
"display": "standalone"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,003 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
docs/assets/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -0,0 +1,39 @@
---
layout: null
---
var searchCallback = function() {
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
if (document.readyState == 'complete') {
} else {
google.setOnLoadCallback(function() {
$('.searchbox').val(getParameterByName('q'));
google.search.cse.element.render({ div: 'searchresults', tag: 'searchresults-only' });
}, true);
}
};
// Insert it before the CSE code snippet so that cse.js can take the script
// parameters, like parsetags, callbacks.
window.__gcse = {
parsetags: 'explicit',
callback: searchCallback
};
(function() {
var cx = '{{ site.google.cse_code }}';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();

3
docs/assets/js/scripts.min.js vendored Normal file

File diff suppressed because one or more lines are too long

20
docs/atom.xml Normal file
View file

@ -0,0 +1,20 @@
---
layout: null
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>News</title>
<link href="{{ site.url }}/atom.xml" rel="self"/>
<link href="{{ site.url }}/"/>
<updated>{{ site.time | date_to_xmlschema }}</updated>
<id>{{ site.url }}</id>
{% for post in site.posts limit:20 %}
<entry>
<title>{{ post.title }}</title>
<link href="{{ site.url }}{{ post.url }}"/>
<updated>{{ post.date | date_to_xmlschema }}</updated>
<id>{{ post.id }}</id>
<content type="html">{{ post.content | xml_escape }}</content>
</entry>
{% endfor %}
</feed>

6
docs/contacts.md Normal file
View file

@ -0,0 +1,6 @@
---
title: "Contact and contributions"
lang: "en"
---
Feel free to contact me by [email](mailto:paulfd@outlook.fr)
if you need. Any contribution is welcome.

21
docs/downloads.md Normal file
View file

@ -0,0 +1,21 @@
---
title: "Downloads"
lang: "en"
---
## <i class="fab fa-linux fa-fw"/> Linux
* [AppImage](https://github.com/sfztools/sfizz/releases/)
* [Arch User Repository](https://aur.archlinux.org/packages/?K=sfizz)
## <i class="fab fa-apple fa-fw"/> macOS
* [Apple Disk Image](https://github.com/sfztools/sfizz/releases/)
## <i class="fab fa-windows fa-fw"/> Windows
* [Setup Package](https://github.com/sfztools/sfizz/releases/)
## <i class="fab fa-github fa-fw"/> Source Code
* [Github Repository](https://github.com/sfztools/sfizz/)

53
docs/index.md Normal file
View file

@ -0,0 +1,53 @@
---
title: "Home"
lang: "en"
layout: "home"
date_fmt: "%B %d, %Y"
---
## Building
[![Travis Build Status](https://img.shields.io/travis/com/sfztools/sfizz.svg?label=Linux&style=popout&logo=travis)](https://travis-ci.com/sfztools/sfizz)
Sfizz depends on the `sndfile` library.
The Jack client that you will probably build depends on the `jack` library.
To build `sfizz` you need to install both as shared libraries on the system.
In Debian-based distributions, this translates into
```
sudo apt install libjack-jackd2-dev libsndfile1-dev
```
The process is as follows:
1. Clone the repository with all the submodules
2. Create a build directory for CMake and `cd` into it
3. Prep the Makefiles with the `SFIZZ_CLIENTS` option
4. Build
5. Enjoy :)
In the shell world, this means
```sh
git clone --recursive https://github.com/sfztools/sfizz.git
cd sfizz
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D SFIZZ_CLIENTS=ON ..
make
```
You can then find the Jack client in `clients/sfizz_jack`.
Just specify an `.sfz` file as a parameter and you are good to go.
The client will forcefully connect to the system output, and open an event input in Jack for you to connect a midi capable software or hardware (e.g. `jack-keyboard`).
If no Jack server is already started it will start one with basic options.
### Possible pitfalls and alternatives
If you already cloned the repository without the `--recursive` option, update the submodules manually with
```
git submodule update --init --recursive
```
You can build with `clang`, although in that case the CMakeFile defaults to using `libc++` instead of `libstdc++`.
<!--
## Latest News
{% include post.html %}
-->

27
docs/new_post.pl Executable file
View file

@ -0,0 +1,27 @@
#!/usr/bin/env perl
use strict;
use warnings;
use autodie;
use DateTime;
if (@ARGV != 1) {
die qq{Usage: $0 "New Post Title".\n}
}
# Get the kind of post to create from the script name.
(my $what = $0) =~ s{^.*/new_(\w+)$}{$1};
my $dir = '_posts';
my $title = $ARGV[0];
(my $name = $title) =~ tr/A-Z /a-z-/;
my $date = DateTime->now()->ymd;
open(my $fh, '>', "$dir/$date-$name.md");
binmode($fh);
print $fh <<EOF
---
title: "$title"
date: $date
comments: true
---
EOF

View file

@ -0,0 +1,7 @@
---
title: "News Archive"
lang: "en"
date_fmt: "%F"
---
{% include post-archive.html %}

42
docs/package.json Normal file
View file

@ -0,0 +1,42 @@
{
"name": "Jekyllize",
"version": "0.1.0",
"author": "RedTide <redtid3@gmail.com>",
"homepage": "https://jekyllize.github.io",
"scripts": {
"css": "node node_modules/npm-run-all/bin/run-s/index.js css-compile css-prefix css-minify",
"css-compile": "node node_modules/node-sass/bin/node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 _assets/scss/style.scss assets/css/style.css",
"css-prefix": "node node_modules/postcss-cli/bin/postcss --use autoprefixer --replace \"assets/css/*.css\" \"!assets/css/*.min.css\"",
"css-minify": "node node_modules/clean-css-cli/bin/cleancss --level 1 --source-map --source-map-inline-sources --output assets/css/style.min.css node_modules/bootstrap/dist/css/bootstrap.min.css \"node_modules/@fancyapps/fancybox/dist/jquery.fancybox.min.css\" assets/css/style.css",
"js": "node node_modules/npm-run-all/bin/run-s/index.js js-minify",
"js-minify": "node node_modules/uglify-js/bin/uglifyjs --compress --mangle --comments \"/^!/\" --source-map \"includeSources,url=scripts.min.js.map\" --output assets/js/scripts.min.js node_modules/jquery/dist/jquery.min.js node_modules/bootstrap/dist/js/bootstrap.min.js \"node_modules/@fancyapps/fancybox/dist/jquery.fancybox.min.js\" _assets/js/*.js",
"dist": "node node_modules/npm-run-all/bin/run-p/index.js css js"
},
"browserslist": [
"defaults"
],
"repository": {
"type": "git",
"url": "git@github.com:jekyllize/jekyllize.github.io.git"
},
"bugs": {
"url": "https://github.com/jekyllize/jekyllize.github.io/issues"
},
"license": "MPL-2.0",
"engines": {
"node": ">= 6.9.0"
},
"dependencies": {
"@fancyapps/fancybox": "^3.2.5",
"autoprefixer": "^8.2.0",
"bootstrap": "^4.0.0",
"clean-css-cli": "^4.1.11",
"jquery": "^3.3.1",
"node-sass": "^4.8.3",
"npm-run-all": "^4.1.2",
"popper.js": "^1.14.1",
"postcss-cli": "^5.0.0",
"sass": "^1.14.3",
"uglify-js": "^3.3.16"
}
}

2
docs/robots.txt Normal file
View file

@ -0,0 +1,2 @@
User-agent: *
Disallow: /search

5
docs/search/index.md Normal file
View file

@ -0,0 +1,5 @@
---
title: "Search"
lang: "en"
---
{% include search.html %}

27
docs/setup.sh Executable file
View file

@ -0,0 +1,27 @@
cd $PWD
if [ "$1" == "--help" ] || [ "$1" == "-h" ]; then
echo "Usage: setup [option]"
echo "Setup and run Jekyll"
echo ""
echo "Options are not mandatory, only one at a time."
echo "-a, --assets Build minimized css style and js script from sources."
echo "-i, --install Install Bundler and node modules using Yarn."
exit 0
fi
if [ ! -d "node_modules" ] || [ "$1" == "-i" ] || [ "$1" == "--install" ]; then
gem update
echo "Installing Bundler..."
gem install bundler
echo "Running Yarn install..."
yarn --no-bin-links
fi
if [ ! -f "assets/css/style.min.css" ] || [ "$1" == "-a" ] || [ "$1" == "--assets" ]; then
echo "Running Yarn dist..."
yarn dist
fi
echo "Running Jekyll..."
bundle exec jekyll serve --watch --host=0.0.0.0