summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2017-05-23 20:47:46 +0200
committerLoïc Hoguin <[email protected]>2017-05-23 20:47:46 +0200
commit41c769ab5c19da92ecba35d9accc4bc123029e8d (patch)
tree67bb7f4d3c9200deb38863666bd41e07ca448aea
parentfe7e6a41a50b5f191b98c1bcdc99d8297f099673 (diff)
downloadninenines.eu-41c769ab5c19da92ecba35d9accc4bc123029e8d.tar.gz
ninenines.eu-41c769ab5c19da92ecba35d9accc4bc123029e8d.tar.bz2
ninenines.eu-41c769ab5c19da92ecba35d9accc4bc123029e8d.zip
Remove the use of bootstrap-carousel
The custom.js file was converted to not use jquery also. Once bootstrap is gone, we can remove jquery entirely.
-rw-r--r--_build/themes/ninenines/layouts/index.html2
-rw-r--r--_build/themes/ninenines/layouts/partials/footer.html1
-rw-r--r--_build/themes/ninenines/static/js/custom.js99
-rw-r--r--articles/cowboy-2.0.0-pre.4/index.html1
-rw-r--r--articles/cowboy2-qs/index.html1
-rw-r--r--articles/dont-let-it-crash/index.html1
-rw-r--r--articles/erlang-scalability/index.html1
-rw-r--r--articles/erlang-validate-utf8/index.html1
-rw-r--r--articles/erlang.mk-and-relx/index.html1
-rw-r--r--articles/erlanger-playbook-september-2015-update/index.html1
-rw-r--r--articles/erlanger-playbook/index.html1
-rw-r--r--articles/farwest-funded/index.html1
-rw-r--r--articles/index.html1
-rw-r--r--articles/january-2014-status/index.html1
-rw-r--r--articles/ml-archives/index.html1
-rw-r--r--articles/on-open-source/index.html1
-rw-r--r--articles/page/2/index.html1
-rw-r--r--articles/ranch-1.3/index.html1
-rw-r--r--articles/ranch-ftp/index.html1
-rw-r--r--articles/the-elephant-in-the-room/index.html1
-rw-r--r--articles/the-story-so-far/index.html1
-rw-r--r--articles/tictactoe/index.html1
-rw-r--r--articles/website-update/index.html1
-rw-r--r--articles/xerl-0.1-empty-modules/index.html1
-rw-r--r--articles/xerl-0.2-two-modules/index.html1
-rw-r--r--articles/xerl-0.3-atomic-expressions/index.html1
-rw-r--r--articles/xerl-0.4-expression-separator/index.html1
-rw-r--r--articles/xerl-0.5-intermediate-module/index.html1
-rw-r--r--categories/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/architecture/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/broken_clients/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/constraints/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/cookies/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/erlang_web/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/flow_diagram/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/getting_started/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/handlers/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/hooks/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/introduction/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/listeners/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/loop_handlers/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/middlewares/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/modern_web/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/multipart/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/overview/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/req/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/req_body/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/resource_design/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/resp/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/rest_flowcharts/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/rest_handlers/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/rest_principles/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/routing/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/specs.asciidoc1
-rw-r--r--docs/en/cowboy/2.0/guide/specs/index.html6
-rw-r--r--docs/en/cowboy/2.0/guide/static_files/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/streams/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/sub_protocols/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/ws_handlers/index.html1
-rw-r--r--docs/en/cowboy/2.0/guide/ws_protocol/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy.set_env/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy.start_clear/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy.start_tls/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy.stop_listener/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_app/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_handler.terminate/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_handler/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_http/index.html98
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_http2/index.html43
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_loop/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_middleware/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.binding/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.bindings/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.body_length/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.delete_resp_header/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.has_body/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.has_resp_body/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.has_resp_header/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.header/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.headers/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.host/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.host_info/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.match_cookies/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.match_qs/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.method/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.parse_cookies/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.parse_header/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.parse_qs/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.path/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.path_info/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.peer/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.port/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.push/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.qs/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.read_body/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.read_part/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.read_part_body/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.read_urlencoded_body/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.reply/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.resp_header/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.resp_headers/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.scheme/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.set_resp_body/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.set_resp_cookie/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.set_resp_header/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.set_resp_headers/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.stream_body/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.stream_reply/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.uri/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req.version/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_req/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_rest/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_router.compile/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_router/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_static/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_stream/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_sub_protocol/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/cowboy_websocket/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/http_status_codes/index.html1
-rw-r--r--docs/en/cowboy/2.0/manual/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/app/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/asciidoc/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/ci/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/common_test/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/compat/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/contributing/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/coverage/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/deps.asciidoc27
-rw-r--r--docs/en/erlang.mk/1/guide/deps/index.html31
-rw-r--r--docs/en/erlang.mk/1/guide/dialyzer/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/edoc/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/escripts/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/eunit/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/external_plugins.asciidoc54
-rw-r--r--docs/en/erlang.mk/1/guide/external_plugins/index.html42
-rw-r--r--docs/en/erlang.mk/1/guide/external_plugins_list/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/getting_started/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/history/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/installation.asciidoc4
-rw-r--r--docs/en/erlang.mk/1/guide/installation/index.html11
-rw-r--r--docs/en/erlang.mk/1/guide/limitations/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/overview/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/ports/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/releases/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/sfx/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/shell/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/updating.asciidoc26
-rw-r--r--docs/en/erlang.mk/1/guide/updating/index.html30
-rw-r--r--docs/en/erlang.mk/1/guide/why/index.html1
-rw-r--r--docs/en/erlang.mk/1/guide/xref/index.html1
-rw-r--r--docs/en/gun/1.0/guide/connect/index.html1
-rw-r--r--docs/en/gun/1.0/guide/http.asciidoc21
-rw-r--r--docs/en/gun/1.0/guide/http/index.html26
-rw-r--r--docs/en/gun/1.0/guide/index.html1
-rw-r--r--docs/en/gun/1.0/guide/introduction/index.html1
-rw-r--r--docs/en/gun/1.0/guide/protocols.asciidoc2
-rw-r--r--docs/en/gun/1.0/guide/protocols/index.html3
-rw-r--r--docs/en/gun/1.0/guide/start/index.html1
-rw-r--r--docs/en/gun/1.0/guide/websocket.asciidoc4
-rw-r--r--docs/en/gun/1.0/guide/websocket/index.html4
-rw-r--r--docs/en/gun/1.0/manual/gun/index.html164
-rw-r--r--docs/en/gun/1.0/manual/gun_app/index.html1
-rw-r--r--docs/en/gun/1.0/manual/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/embedded/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/internals/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/introduction/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/listeners/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/parsers/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/protocols/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/ssl_auth/index.html1
-rw-r--r--docs/en/ranch/1.2/guide/transports/index.html1
-rw-r--r--docs/en/ranch/1.2/manual/index.html1
-rw-r--r--docs/en/ranch/1.2/manual/ranch/index.html1
-rw-r--r--docs/en/ranch/1.2/manual/ranch_app/index.html1
-rw-r--r--docs/en/ranch/1.2/manual/ranch_protocol/index.html1
-rw-r--r--docs/en/ranch/1.2/manual/ranch_ssl/index.html1
-rw-r--r--docs/en/ranch/1.2/manual/ranch_tcp/index.html1
-rw-r--r--docs/en/ranch/1.2/manual/ranch_transport/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/embedded/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/internals/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/introduction/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/listeners/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/parsers/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/protocols/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/ssl_auth/index.html1
-rw-r--r--docs/en/ranch/1.3/guide/transports/index.html1
-rw-r--r--docs/en/ranch/1.3/manual/index.html1
-rw-r--r--docs/en/ranch/1.3/manual/ranch/index.html1
-rw-r--r--docs/en/ranch/1.3/manual/ranch_app/index.html1
-rw-r--r--docs/en/ranch/1.3/manual/ranch_protocol/index.html1
-rw-r--r--docs/en/ranch/1.3/manual/ranch_ssl/index.html1
-rw-r--r--docs/en/ranch/1.3/manual/ranch_tcp/index.html1
-rw-r--r--docs/en/ranch/1.3/manual/ranch_transport/index.html1
-rw-r--r--docs/index.html1
-rw-r--r--donate/index.html1
-rw-r--r--index.html13
-rw-r--r--js/custom.js99
-rw-r--r--services/index.html1
-rw-r--r--slogan/index.html1
-rw-r--r--tags/index.html1
-rw-r--r--talks/index.html1
206 files changed, 634 insertions, 359 deletions
diff --git a/_build/themes/ninenines/layouts/index.html b/_build/themes/ninenines/layouts/index.html
index 22ec32a7..49eff047 100644
--- a/_build/themes/ninenines/layouts/index.html
+++ b/_build/themes/ninenines/layouts/index.html
@@ -9,7 +9,7 @@
{{ $.Scratch.Set "projects" 0 }}
{{ range $.Site.Data.projects }}
<li{{ if eq .name $.Site.Params.main_project }} class="active"{{ end }}>
- <a data-slide="{{ $.Scratch.Get "projects" }}" href="{{ .permalink }}">{{ .title }}</a>
+ <a data-panel="{{ $.Scratch.Get "projects" }}" href="{{ .permalink }}">{{ .title }}</a>
{{ $.Scratch.Add "projects" 1 }}
</li>
{{ end }}
diff --git a/_build/themes/ninenines/layouts/partials/footer.html b/_build/themes/ninenines/layouts/partials/footer.html
index 0b199856..4f0f6dee 100644
--- a/_build/themes/ninenines/layouts/partials/footer.html
+++ b/_build/themes/ninenines/layouts/partials/footer.html
@@ -19,7 +19,6 @@
<!-- Javascript -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/_build/themes/ninenines/static/js/custom.js b/_build/themes/ninenines/static/js/custom.js
index 84936d37..7e674540 100644
--- a/_build/themes/ninenines/static/js/custom.js
+++ b/_build/themes/ninenines/static/js/custom.js
@@ -1,49 +1,60 @@
-var carousel = "";
-$(document).ready(function() {;
- // Starting up carousel
- carousel = $('.carousel').carousel({
- interval: 9999999999999
- })
-
- // Rollover images
- $(function() {
- $('img[data-hover]').hover(function() {
- $(this).attr('tmp', $(this).attr('src')).attr('src', $(this).attr('data-hover')).attr('data-hover', $(this).attr('tmp')).removeAttr('tmp');
- }).each(function() {
- $('<img />').attr('src', $(this).attr('data-hover'));
- });;
- });
-
- // Slide selector
- $(".navbar .nav li a").click(function() {
- function clear_prods() {
- $(".navbar .nav li").each(function(){
- $(this).removeClass("active");
- });
- }
- carousel.unbind('slide');
- clear_prods();
- $(this).parent().addClass("active");
- carousel.carousel($(this).data()["slide"]);
- carousel.carousel('stop');
- carousel.bind('slide', function() {
- clear_prods();
- carousel.unbind('slide');
- });
- });
-
- if ($("#docs h2").length == 0){
- $("#docs-nav").remove();
- }else{
- $("<ul/>").insertAfter("#docs-nav");
- $("#docs h2").each(function(){
- $("<li><a href=\"#" + $(this).attr("id") + "\">" + $(this).text() + "</a></li>").appendTo("#docs-nav+ul");
+var projects_nav = function() {
+ var nav = document.querySelectorAll('.navbar .nav li a');
+ var panels = document.querySelectorAll('.carousel-inner>div');
+
+ Array.prototype.forEach.call(nav, function(el) {
+ el.addEventListener('click', function(ev) {
+ ev.preventDefault();
+
+ Array.prototype.forEach.call(nav, function(el) {
+ el.parentNode.classList.remove('active');
+ });
+
+ Array.prototype.forEach.call(panels, function(el) {
+ el.classList.remove('active');
+ });
+
+ this.parentNode.classList.add('active');
+ document.querySelector('.carousel-inner>div:nth-child('
+ + (1 + parseInt(this.dataset.panel, 10)) + ')')
+ .classList.add('active');
});
- if ($("#_rest_callbacks").length != 0){
- $('<ul id="_rest_callbacks_nav"/>').insertAfter('#docs-nav+ul a[href="#_rest_callbacks"]');
- $('#_rest_callbacks+div h3').each(function(){
- $("<li><a href=\"#" + $(this).attr("id") + "\">" + $(this).text() + "</a></li>").appendTo('#docs-nav+ul a[href="#_rest_callbacks"]+ul');
+ });
+};
+
+var docs_nav = function() {
+ var nav = document.querySelector('#docs-nav');
+ if (nav === null) {
+ return;
+ }
+
+ var docs = document.querySelectorAll('#docs h2');
+ if (docs.length == 0) {
+ nav.parentNode.removeChild(el);
+ } else {
+ var navul = document.createElement('ul');
+ Array.prototype.forEach.call(docs, function(el) {
+ navul.insertAdjacentHTML('beforeend',
+ '<li><a href="#' + el.getAttribute('id') + '">'
+ + el.textContent + '</a></li>');
+ });
+ nav.insertAdjacentElement('afterend', navul);
+
+ if (document.querySelector('#_rest_callbacks') !== null) {
+ var restul = document.createElement('ul');
+ var resth3s = document.querySelectorAll('#_rest_callbacks+div h3');
+ Array.prototype.forEach.call(resth3s, function(el) {
+ restul.insertAdjacentHTML('beforeend',
+ '<li><a href="#' + el.getAttribute('id') + '">'
+ + el.textContent + '</a></li>');
});
+ document.querySelector('#docs-nav+ul a[href="#_rest_callbacks"]')
+ .insertAdjacentElement('afterend', restul);
}
}
+};
+
+document.addEventListener('DOMContentLoaded', function() {
+ projects_nav();
+ docs_nav();
});
diff --git a/articles/cowboy-2.0.0-pre.4/index.html b/articles/cowboy-2.0.0-pre.4/index.html
index 0d1f82c2..0d42d5d1 100644
--- a/articles/cowboy-2.0.0-pre.4/index.html
+++ b/articles/cowboy-2.0.0-pre.4/index.html
@@ -273,7 +273,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/cowboy2-qs/index.html b/articles/cowboy2-qs/index.html
index bbbfadfd..565f9f18 100644
--- a/articles/cowboy2-qs/index.html
+++ b/articles/cowboy2-qs/index.html
@@ -312,7 +312,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/dont-let-it-crash/index.html b/articles/dont-let-it-crash/index.html
index d6a080a9..e708a376 100644
--- a/articles/dont-let-it-crash/index.html
+++ b/articles/dont-let-it-crash/index.html
@@ -275,7 +275,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/erlang-scalability/index.html b/articles/erlang-scalability/index.html
index 85a5d99b..87d86a30 100644
--- a/articles/erlang-scalability/index.html
+++ b/articles/erlang-scalability/index.html
@@ -297,7 +297,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/erlang-validate-utf8/index.html b/articles/erlang-validate-utf8/index.html
index b4af0379..2225f509 100644
--- a/articles/erlang-validate-utf8/index.html
+++ b/articles/erlang-validate-utf8/index.html
@@ -348,7 +348,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/erlang.mk-and-relx/index.html b/articles/erlang.mk-and-relx/index.html
index afb63234..4f3433fb 100644
--- a/articles/erlang.mk-and-relx/index.html
+++ b/articles/erlang.mk-and-relx/index.html
@@ -251,7 +251,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/erlanger-playbook-september-2015-update/index.html b/articles/erlanger-playbook-september-2015-update/index.html
index bb4977c8..f5a106a1 100644
--- a/articles/erlanger-playbook-september-2015-update/index.html
+++ b/articles/erlanger-playbook-september-2015-update/index.html
@@ -176,7 +176,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/erlanger-playbook/index.html b/articles/erlanger-playbook/index.html
index 20b39b17..86d2c01d 100644
--- a/articles/erlanger-playbook/index.html
+++ b/articles/erlanger-playbook/index.html
@@ -229,7 +229,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/farwest-funded/index.html b/articles/farwest-funded/index.html
index 3c568bab..e06a4be1 100644
--- a/articles/farwest-funded/index.html
+++ b/articles/farwest-funded/index.html
@@ -184,7 +184,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/index.html b/articles/index.html
index 4c5946f4..afcbe781 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -469,7 +469,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/january-2014-status/index.html b/articles/january-2014-status/index.html
index 5b106f0e..8708b909 100644
--- a/articles/january-2014-status/index.html
+++ b/articles/january-2014-status/index.html
@@ -303,7 +303,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/ml-archives/index.html b/articles/ml-archives/index.html
index f8f61510..2d5b0f5c 100644
--- a/articles/ml-archives/index.html
+++ b/articles/ml-archives/index.html
@@ -173,7 +173,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/on-open-source/index.html b/articles/on-open-source/index.html
index 3c237369..9c21b84a 100644
--- a/articles/on-open-source/index.html
+++ b/articles/on-open-source/index.html
@@ -280,7 +280,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/page/2/index.html b/articles/page/2/index.html
index 12b7cefb..4490fd46 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -164,7 +164,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/ranch-1.3/index.html b/articles/ranch-1.3/index.html
index 1636fdd5..ff943b0a 100644
--- a/articles/ranch-1.3/index.html
+++ b/articles/ranch-1.3/index.html
@@ -245,7 +245,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/ranch-ftp/index.html b/articles/ranch-ftp/index.html
index 0ce49201..3b03a9f4 100644
--- a/articles/ranch-ftp/index.html
+++ b/articles/ranch-ftp/index.html
@@ -373,7 +373,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/the-elephant-in-the-room/index.html b/articles/the-elephant-in-the-room/index.html
index 6777e4b5..6efdd2a7 100644
--- a/articles/the-elephant-in-the-room/index.html
+++ b/articles/the-elephant-in-the-room/index.html
@@ -296,7 +296,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/the-story-so-far/index.html b/articles/the-story-so-far/index.html
index 13b53d4b..3f4b47ba 100644
--- a/articles/the-story-so-far/index.html
+++ b/articles/the-story-so-far/index.html
@@ -387,7 +387,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/tictactoe/index.html b/articles/tictactoe/index.html
index 0ed91bf5..51c50928 100644
--- a/articles/tictactoe/index.html
+++ b/articles/tictactoe/index.html
@@ -246,7 +246,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/website-update/index.html b/articles/website-update/index.html
index 28c13f41..28bd1b3c 100644
--- a/articles/website-update/index.html
+++ b/articles/website-update/index.html
@@ -220,7 +220,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/xerl-0.1-empty-modules/index.html b/articles/xerl-0.1-empty-modules/index.html
index 4a791493..bf77eb51 100644
--- a/articles/xerl-0.1-empty-modules/index.html
+++ b/articles/xerl-0.1-empty-modules/index.html
@@ -301,7 +301,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/xerl-0.2-two-modules/index.html b/articles/xerl-0.2-two-modules/index.html
index e979fc0b..f89abe2f 100644
--- a/articles/xerl-0.2-two-modules/index.html
+++ b/articles/xerl-0.2-two-modules/index.html
@@ -306,7 +306,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/xerl-0.3-atomic-expressions/index.html b/articles/xerl-0.3-atomic-expressions/index.html
index 089683b6..c4c259cd 100644
--- a/articles/xerl-0.3-atomic-expressions/index.html
+++ b/articles/xerl-0.3-atomic-expressions/index.html
@@ -310,7 +310,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/xerl-0.4-expression-separator/index.html b/articles/xerl-0.4-expression-separator/index.html
index b3cde89e..cbbe81c6 100644
--- a/articles/xerl-0.4-expression-separator/index.html
+++ b/articles/xerl-0.4-expression-separator/index.html
@@ -215,7 +215,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/articles/xerl-0.5-intermediate-module/index.html b/articles/xerl-0.5-intermediate-module/index.html
index 6835c906..4080a39e 100644
--- a/articles/xerl-0.5-intermediate-module/index.html
+++ b/articles/xerl-0.5-intermediate-module/index.html
@@ -293,7 +293,6 @@ articles.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/categories/index.html b/categories/index.html
index b5bb69f9..670ece04 100644
--- a/categories/index.html
+++ b/categories/index.html
@@ -95,7 +95,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/architecture/index.html b/docs/en/cowboy/2.0/guide/architecture/index.html
index acec6fe6..546ff220 100644
--- a/docs/en/cowboy/2.0/guide/architecture/index.html
+++ b/docs/en/cowboy/2.0/guide/architecture/index.html
@@ -203,7 +203,6 @@ only processing short-lived requests.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/broken_clients/index.html b/docs/en/cowboy/2.0/guide/broken_clients/index.html
index 5878c1ec..fa21b209 100644
--- a/docs/en/cowboy/2.0/guide/broken_clients/index.html
+++ b/docs/en/cowboy/2.0/guide/broken_clients/index.html
@@ -217,7 +217,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/constraints/index.html b/docs/en/cowboy/2.0/guide/constraints/index.html
index 60204c00..229ab913 100644
--- a/docs/en/cowboy/2.0/guide/constraints/index.html
+++ b/docs/en/cowboy/2.0/guide/constraints/index.html
@@ -259,7 +259,6 @@ to ensure that we do not crash when the input is invalid.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/cookies/index.html b/docs/en/cowboy/2.0/guide/cookies/index.html
index ae8c4ab9..6fef4602 100644
--- a/docs/en/cowboy/2.0/guide/cookies/index.html
+++ b/docs/en/cowboy/2.0/guide/cookies/index.html
@@ -292,7 +292,6 @@ exception is thrown.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/erlang_web/index.html b/docs/en/cowboy/2.0/guide/erlang_web/index.html
index 1a351181..744234a1 100644
--- a/docs/en/cowboy/2.0/guide/erlang_web/index.html
+++ b/docs/en/cowboy/2.0/guide/erlang_web/index.html
@@ -342,7 +342,6 @@ ebook version.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/flow_diagram/index.html b/docs/en/cowboy/2.0/guide/flow_diagram/index.html
index 867456b4..81a39e49 100644
--- a/docs/en/cowboy/2.0/guide/flow_diagram/index.html
+++ b/docs/en/cowboy/2.0/guide/flow_diagram/index.html
@@ -170,7 +170,6 @@ You can read about the Cowboy 1.0 architecture and flow here:</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/getting_started/index.html b/docs/en/cowboy/2.0/guide/getting_started/index.html
index e8a2ab5d..35d2dfd9 100644
--- a/docs/en/cowboy/2.0/guide/getting_started/index.html
+++ b/docs/en/cowboy/2.0/guide/getting_started/index.html
@@ -309,7 +309,6 @@ in your browser, you should get a nice <code>Hello Erlang!</code> displayed!</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/handlers/index.html b/docs/en/cowboy/2.0/guide/handlers/index.html
index d510ec6a..cc539454 100644
--- a/docs/en/cowboy/2.0/guide/handlers/index.html
+++ b/docs/en/cowboy/2.0/guide/handlers/index.html
@@ -249,7 +249,6 @@ process will terminate soon after this call returns.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/hooks/index.html b/docs/en/cowboy/2.0/guide/hooks/index.html
index d4e1c943..99be3484 100644
--- a/docs/en/cowboy/2.0/guide/hooks/index.html
+++ b/docs/en/cowboy/2.0/guide/hooks/index.html
@@ -197,7 +197,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/index.html b/docs/en/cowboy/2.0/guide/index.html
index 3aed18ff..38d1b21c 100644
--- a/docs/en/cowboy/2.0/guide/index.html
+++ b/docs/en/cowboy/2.0/guide/index.html
@@ -365,7 +365,6 @@ chapters may or may not be useful.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/introduction/index.html b/docs/en/cowboy/2.0/guide/introduction/index.html
index aac55bfc..871fee1b 100644
--- a/docs/en/cowboy/2.0/guide/introduction/index.html
+++ b/docs/en/cowboy/2.0/guide/introduction/index.html
@@ -227,7 +227,6 @@ when sending responses.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/listeners/index.html b/docs/en/cowboy/2.0/guide/listeners/index.html
index 2fa8cea9..e369126d 100644
--- a/docs/en/cowboy/2.0/guide/listeners/index.html
+++ b/docs/en/cowboy/2.0/guide/listeners/index.html
@@ -257,7 +257,6 @@ shared.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/loop_handlers/index.html b/docs/en/cowboy/2.0/guide/loop_handlers/index.html
index 09b9a5e1..9e283e7b 100644
--- a/docs/en/cowboy/2.0/guide/loop_handlers/index.html
+++ b/docs/en/cowboy/2.0/guide/loop_handlers/index.html
@@ -277,7 +277,6 @@ accordingly.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/middlewares/index.html b/docs/en/cowboy/2.0/guide/middlewares/index.html
index b8ebbf66..b6081514 100644
--- a/docs/en/cowboy/2.0/guide/middlewares/index.html
+++ b/docs/en/cowboy/2.0/guide/middlewares/index.html
@@ -240,7 +240,6 @@ values. It puts the result of the request handling into <code>result</code>.</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/modern_web/index.html b/docs/en/cowboy/2.0/guide/modern_web/index.html
index b094582c..659ae321 100644
--- a/docs/en/cowboy/2.0/guide/modern_web/index.html
+++ b/docs/en/cowboy/2.0/guide/modern_web/index.html
@@ -257,7 +257,6 @@ the HTTP protocol.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/multipart/index.html b/docs/en/cowboy/2.0/guide/multipart/index.html
index 1a797553..f644e118 100644
--- a/docs/en/cowboy/2.0/guide/multipart/index.html
+++ b/docs/en/cowboy/2.0/guide/multipart/index.html
@@ -317,7 +317,6 @@ reading as soon as you find the data you need.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/overview/index.html b/docs/en/cowboy/2.0/guide/overview/index.html
index c6e6153c..8f0c3d29 100644
--- a/docs/en/cowboy/2.0/guide/overview/index.html
+++ b/docs/en/cowboy/2.0/guide/overview/index.html
@@ -293,7 +293,6 @@ at this point, however.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/req/index.html b/docs/en/cowboy/2.0/guide/req/index.html
index 8f561dd8..1108e8bd 100644
--- a/docs/en/cowboy/2.0/guide/req/index.html
+++ b/docs/en/cowboy/2.0/guide/req/index.html
@@ -555,7 +555,6 @@ client itself. It may also be a proxy or a gateway.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/req_body/index.html b/docs/en/cowboy/2.0/guide/req_body/index.html
index 44f352c9..77367f54 100644
--- a/docs/en/cowboy/2.0/guide/req_body/index.html
+++ b/docs/en/cowboy/2.0/guide/req_body/index.html
@@ -292,7 +292,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/resource_design/index.html b/docs/en/cowboy/2.0/guide/resource_design/index.html
index 55e10362..4d982f97 100644
--- a/docs/en/cowboy/2.0/guide/resource_design/index.html
+++ b/docs/en/cowboy/2.0/guide/resource_design/index.html
@@ -361,7 +361,6 @@ no way of knowing it has been completed yet, implement the
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/resp/index.html b/docs/en/cowboy/2.0/guide/resp/index.html
index 0676e762..97dc5c44 100644
--- a/docs/en/cowboy/2.0/guide/resp/index.html
+++ b/docs/en/cowboy/2.0/guide/resp/index.html
@@ -470,7 +470,6 @@ ultimately send a response to the client.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/rest_flowcharts/index.html b/docs/en/cowboy/2.0/guide/rest_flowcharts/index.html
index 47b917e9..8aa168f4 100644
--- a/docs/en/cowboy/2.0/guide/rest_flowcharts/index.html
+++ b/docs/en/cowboy/2.0/guide/rest_flowcharts/index.html
@@ -392,7 +392,6 @@ the results for subsequent use.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/rest_handlers/index.html b/docs/en/cowboy/2.0/guide/rest_handlers/index.html
index df2fb63a..765b0f29 100644
--- a/docs/en/cowboy/2.0/guide/rest_handlers/index.html
+++ b/docs/en/cowboy/2.0/guide/rest_handlers/index.html
@@ -431,7 +431,6 @@ cellspacing="0" cellpadding="4">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/rest_principles/index.html b/docs/en/cowboy/2.0/guide/rest_principles/index.html
index caefb135..9fd4dcd2 100644
--- a/docs/en/cowboy/2.0/guide/rest_principles/index.html
+++ b/docs/en/cowboy/2.0/guide/rest_principles/index.html
@@ -301,7 +301,6 @@ anything specific to the service to operate on it.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/routing/index.html b/docs/en/cowboy/2.0/guide/routing/index.html
index f6cc9138..7bbcf8cb 100644
--- a/docs/en/cowboy/2.0/guide/routing/index.html
+++ b/docs/en/cowboy/2.0/guide/routing/index.html
@@ -408,7 +408,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/specs.asciidoc b/docs/en/cowboy/2.0/guide/specs.asciidoc
index 4a9af9e8..73c8e981 100644
--- a/docs/en/cowboy/2.0/guide/specs.asciidoc
+++ b/docs/en/cowboy/2.0/guide/specs.asciidoc
@@ -80,6 +80,7 @@ for or related to HTTP.
* https://tools.ietf.org/html/rfc7838[RFC 7838]: HTTP Alternative Services
* https://tools.ietf.org/html/rfc7932[RFC 7932]: Brotli Compressed Data Format
* https://tools.ietf.org/html/rfc8053[RFC 8053]: HTTP Authentication Extensions for Interactive Clients
+* https://tools.ietf.org/html/rfc8164[RFC 8164]: Opportunistic Security for HTTP/2
* https://www.w3.org/TR/webmention/[Webmention]: Webmention
==== Upcoming
diff --git a/docs/en/cowboy/2.0/guide/specs/index.html b/docs/en/cowboy/2.0/guide/specs/index.html
index cd3aecb6..67453e7b 100644
--- a/docs/en/cowboy/2.0/guide/specs/index.html
+++ b/docs/en/cowboy/2.0/guide/specs/index.html
@@ -434,6 +434,11 @@ for or related to HTTP.</p></div>
</li>
<li>
<p>
+<a href="https://tools.ietf.org/html/rfc8164">RFC 8164</a>: Opportunistic Security for HTTP/2
+</p>
+</li>
+<li>
+<p>
<a href="https://www.w3.org/TR/webmention/">Webmention</a>: Webmention
</p>
</li>
@@ -967,7 +972,6 @@ for or related to HTTP.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/static_files/index.html b/docs/en/cowboy/2.0/guide/static_files/index.html
index 3e39a445..ea23f04d 100644
--- a/docs/en/cowboy/2.0/guide/static_files/index.html
+++ b/docs/en/cowboy/2.0/guide/static_files/index.html
@@ -321,7 +321,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/streams/index.html b/docs/en/cowboy/2.0/guide/streams/index.html
index b158bab9..f490dcbd 100644
--- a/docs/en/cowboy/2.0/guide/streams/index.html
+++ b/docs/en/cowboy/2.0/guide/streams/index.html
@@ -173,7 +173,6 @@ for Cowboy 1.0 were:</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/sub_protocols/index.html b/docs/en/cowboy/2.0/guide/sub_protocols/index.html
index df7372a3..d150826b 100644
--- a/docs/en/cowboy/2.0/guide/sub_protocols/index.html
+++ b/docs/en/cowboy/2.0/guide/sub_protocols/index.html
@@ -223,7 +223,6 @@ the optional <code>terminate/3</code> callback is called, if present.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/ws_handlers/index.html b/docs/en/cowboy/2.0/guide/ws_handlers/index.html
index 9385f66c..3732391c 100644
--- a/docs/en/cowboy/2.0/guide/ws_handlers/index.html
+++ b/docs/en/cowboy/2.0/guide/ws_handlers/index.html
@@ -418,7 +418,6 @@ close frame will not be sent.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/guide/ws_protocol/index.html b/docs/en/cowboy/2.0/guide/ws_protocol/index.html
index b026430a..f9fe943d 100644
--- a/docs/en/cowboy/2.0/guide/ws_protocol/index.html
+++ b/docs/en/cowboy/2.0/guide/ws_protocol/index.html
@@ -218,7 +218,6 @@ extensions.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy.set_env/index.html b/docs/en/cowboy/2.0/manual/cowboy.set_env/index.html
index e4f26a29..a4ca77c4 100644
--- a/docs/en/cowboy/2.0/manual/cowboy.set_env/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy.set_env/index.html
@@ -246,7 +246,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy.start_clear/index.html b/docs/en/cowboy/2.0/manual/cowboy.start_clear/index.html
index b1a5703e..95161662 100644
--- a/docs/en/cowboy/2.0/manual/cowboy.start_clear/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy.start_clear/index.html
@@ -299,7 +299,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy.start_tls/index.html b/docs/en/cowboy/2.0/manual/cowboy.start_tls/index.html
index 52f23eb4..68a89672 100644
--- a/docs/en/cowboy/2.0/manual/cowboy.start_tls/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy.start_tls/index.html
@@ -304,7 +304,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy.stop_listener/index.html b/docs/en/cowboy/2.0/manual/cowboy.stop_listener/index.html
index 5bbdecb5..af2055bc 100644
--- a/docs/en/cowboy/2.0/manual/cowboy.stop_listener/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy.stop_listener/index.html
@@ -216,7 +216,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy/index.html b/docs/en/cowboy/2.0/manual/cowboy/index.html
index 8480a41d..01a6a327 100644
--- a/docs/en/cowboy/2.0/manual/cowboy/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy/index.html
@@ -261,7 +261,6 @@ and the Websocket options in
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_app/index.html b/docs/en/cowboy/2.0/manual/cowboy_app/index.html
index 56898b78..840bf330 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_app/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_app/index.html
@@ -295,7 +295,6 @@ environment configuration parameters.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_handler.terminate/index.html b/docs/en/cowboy/2.0/manual/cowboy_handler.terminate/index.html
index f30dfe05..2e464054 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_handler.terminate/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_handler.terminate/index.html
@@ -238,7 +238,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_handler/index.html b/docs/en/cowboy/2.0/manual/cowboy_handler/index.html
index b75839f7..fabf0344 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_handler/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_handler/index.html
@@ -225,7 +225,6 @@ custom handlers to execute the optional terminate callback:</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_http/index.html b/docs/en/cowboy/2.0/manual/cowboy_http/index.html
index 2ba1f412..c785c34e 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_http/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_http/index.html
@@ -91,16 +91,21 @@ by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-weight: bold"><span style="color: #000000">opts</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #FF6600">env</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_middleware:env</span></span>(),
- <span style="color: #FF6600">max_empty_lines</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #FF6600">max_header_name_length</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #FF6600">max_header_value_length</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #FF6600">max_headers</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #FF6600">max_keepalive</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #FF6600">max_method_length</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #FF6600">max_request_line_length</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
- <span style="color: #FF6600">middlewares</span> <span style="color: #990000">:=</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()],
- <span style="color: #FF6600">request_timeout</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>()
+ <span style="color: #0000FF">connection_type</span> <span style="color: #990000">=&gt;</span> <span style="color: #FF6600">worker</span> | <span style="color: #FF6600">supervisor</span>,
+ <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_middleware:env</span></span>(),
+ <span style="color: #0000FF">idle_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
+ <span style="color: #0000FF">inactivity_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
+ <span style="color: #0000FF">max_empty_lines</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
+ <span style="color: #0000FF">max_header_name_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
+ <span style="color: #0000FF">max_header_value_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
+ <span style="color: #0000FF">max_headers</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
+ <span style="color: #0000FF">max_keepalive</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
+ <span style="color: #0000FF">max_method_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
+ <span style="color: #0000FF">max_request_line_length</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(),
+ <span style="color: #0000FF">middlewares</span> <span style="color: #990000">=&gt;</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()],
+ <span style="color: #0000FF">request_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
+ <span style="color: #000080">shutdown</span><span style="color: #009900">_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
+ <span style="color: #0000FF">stream_handlers</span> <span style="color: #990000">=&gt;</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()]
}</tt></pre></div></div>
<div class="paragraph"><p>Configuration for the HTTP/1.1 protocol.</p></div>
<div class="paragraph"><p>This configuration is passed to Cowboy when starting listeners
@@ -111,6 +116,14 @@ Ranch functions <code>ranch:get_protocol_options/1</code> and
<div class="paragraph"><p>The default value is given next to the option name:</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
+connection_type (supervisor)
+</dt>
+<dd>
+<p>
+ Whether the connection process also acts as a supervisor.
+</p>
+</dd>
+<dt class="hdlist1">
env (#{})
</dt>
<dd>
@@ -119,6 +132,22 @@ env (#{})
</p>
</dd>
<dt class="hdlist1">
+idle_timeout (60000)
+</dt>
+<dd>
+<p>
+ Time in ms with no data received before Cowboy closes the connection.
+</p>
+</dd>
+<dt class="hdlist1">
+inactivity_timeout (300000)
+</dt>
+<dd>
+<p>
+ Time in ms with nothing received at all before Cowboy closes the connection.
+</p>
+</dd>
+<dt class="hdlist1">
max_empty_lines (5)
</dt>
<dd>
@@ -159,19 +188,19 @@ max_keepalive (100)
</p>
</dd>
<dt class="hdlist1">
-max_request_line_length (8000)
+max_method_length (32)
</dt>
<dd>
<p>
- Maximum length of the request line.
+ Maximum length of the method.
</p>
</dd>
<dt class="hdlist1">
-max_method_length (32)
+max_request_line_length (8000)
</dt>
<dd>
<p>
- Maximum length of the method.
+ Maximum length of the request line.
</p>
</dd>
<dt class="hdlist1">
@@ -190,6 +219,22 @@ request_timeout (5000)
Time in ms with no requests before Cowboy closes the connection.
</p>
</dd>
+<dt class="hdlist1">
+shutdown_timeout (5000)
+</dt>
+<dd>
+<p>
+ Time in ms Cowboy will wait for child processes to shut down before killing them.
+</p>
+</dd>
+<dt class="hdlist1">
+stream_handlers ([cowboy_stream_h])
+</dt>
+<dd>
+<p>
+ Ordered list of stream handlers that will handle all stream events.
+</p>
+</dd>
</dl></div>
</div>
</div>
@@ -199,22 +244,42 @@ request_timeout (5000)
<div class="ulist"><ul>
<li>
<p>
+<strong>2.0</strong>: The <code>timeout</code> option was renamed <code>request_timeout</code>.
+</p>
+</li>
+<li>
+<p>
+<strong>2.0</strong>: The <code>idle_timeout</code>, <code>inactivity_timeout</code> and <code>shutdown_timeout</code> options were added.
+</p>
+</li>
+<li>
+<p>
<strong>2.0</strong>: The <code>max_method_length</code> option was added.
</p>
</li>
<li>
<p>
+<strong>2.0</strong>: The <code>max_request_line_length</code> default was increased from 4096 to 8000.
+</p>
+</li>
+<li>
+<p>
+<strong>2.0</strong>: The <code>connection_type</code> option was added.
+</p>
+</li>
+<li>
+<p>
<strong>2.0</strong>: The <code>env</code> option is now a map instead of a proplist.
</p>
</li>
<li>
<p>
-<strong>2.0</strong>: The <code>max_request_line_length</code> default was increased from 4096 to 8000.
+<strong>2.0</strong>: The <code>stream_handlers</code> option was added.
</p>
</li>
<li>
<p>
-<strong>2.0</strong>: The <code>compress</code> option was temporarily removed.
+<strong>2.0</strong>: The <code>compress</code> option was removed in favor of the <code>cowboy_compress_h</code> stream handler.
</p>
</li>
<li>
@@ -304,7 +369,6 @@ request_timeout (5000)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_http2/index.html b/docs/en/cowboy/2.0/manual/cowboy_http2/index.html
index 5f29d00b..90f7f0fc 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_http2/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_http2/index.html
@@ -91,9 +91,13 @@ by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-weight: bold"><span style="color: #000000">opts</span></span>() <span style="color: #990000">::</span> #{
- <span style="color: #FF6600">env</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_middleware:env</span></span>(),
- <span style="color: #FF6600">middlewares</span> <span style="color: #990000">:=</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()],
- <span style="color: #FF6600">preface_timeout</span> <span style="color: #990000">:=</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>()
+ <span style="color: #0000FF">connection_type</span> <span style="color: #990000">=&gt;</span> <span style="color: #FF6600">worker</span> | <span style="color: #FF6600">supervisor</span>,
+ <span style="color: #0000FF">env</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_middleware:env</span></span>(),
+ <span style="color: #0000FF">inactivity_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
+ <span style="color: #0000FF">middlewares</span> <span style="color: #990000">=&gt;</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()],
+ <span style="color: #0000FF">preface_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
+ <span style="color: #000080">shutdown</span><span style="color: #009900">_timeout</span> <span style="color: #990000">=&gt;</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(),
+ <span style="color: #0000FF">stream_handlers</span> <span style="color: #990000">=&gt;</span> [<span style="font-weight: bold"><span style="color: #000000">module</span></span>()]
}</tt></pre></div></div>
<div class="paragraph"><p>Configuration for the HTTP/2 protocol.</p></div>
<div class="paragraph"><p>This configuration is passed to Cowboy when starting listeners
@@ -104,6 +108,14 @@ Ranch functions <code>ranch:get_protocol_options/1</code> and
<div class="paragraph"><p>The default value is given next to the option name:</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
+connection_type (supervisor)
+</dt>
+<dd>
+<p>
+ Whether the connection process also acts as a supervisor.
+</p>
+</dd>
+<dt class="hdlist1">
env (#{})
</dt>
<dd>
@@ -112,6 +124,14 @@ env (#{})
</p>
</dd>
<dt class="hdlist1">
+inactivity_timeout (300000)
+</dt>
+<dd>
+<p>
+ Time in ms with nothing received at all before Cowboy closes the connection.
+</p>
+</dd>
+<dt class="hdlist1">
middlewares ([cowboy_router, cowboy_handler])
</dt>
<dd>
@@ -127,6 +147,22 @@ preface_timeout (5000)
Time in ms Cowboy is willing to wait for the connection preface.
</p>
</dd>
+<dt class="hdlist1">
+shutdown_timeout (5000)
+</dt>
+<dd>
+<p>
+ Time in ms Cowboy will wait for child processes to shut down before killing them.
+</p>
+</dd>
+<dt class="hdlist1">
+stream_handlers ([cowboy_stream_h])
+</dt>
+<dd>
+<p>
+ Ordered list of stream handlers that will handle all stream events.
+</p>
+</dd>
</dl></div>
</div>
</div>
@@ -216,7 +252,6 @@ preface_timeout (5000)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_loop/index.html b/docs/en/cowboy/2.0/manual/cowboy_loop/index.html
index 2696bf83..8cc428f4 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_loop/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_loop/index.html
@@ -249,7 +249,6 @@ stop
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_middleware/index.html b/docs/en/cowboy/2.0/manual/cowboy_middleware/index.html
index d44af480..487baa75 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_middleware/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_middleware/index.html
@@ -244,7 +244,6 @@ contains the name of the listener for this connection.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.binding/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.binding/index.html
index 8e001d82..bfaa093e 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.binding/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.binding/index.html
@@ -245,7 +245,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.bindings/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.bindings/index.html
index 6e67fa0d..1a7fab9f 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.bindings/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.bindings/index.html
@@ -215,7 +215,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.body_length/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.body_length/index.html
index e63be8a1..22f55eec 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.body_length/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.body_length/index.html
@@ -218,7 +218,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.delete_resp_header/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.delete_resp_header/index.html
index 5fd94222..6e58d1b9 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.delete_resp_header/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.delete_resp_header/index.html
@@ -224,7 +224,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.has_body/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.has_body/index.html
index 584b46b0..e4ff33eb 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.has_body/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.has_body/index.html
@@ -209,7 +209,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.has_resp_body/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.has_resp_body/index.html
index 729a3c84..d93e2cec 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.has_resp_body/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.has_resp_body/index.html
@@ -211,7 +211,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.has_resp_header/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.has_resp_header/index.html
index 81576175..2d058524 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.has_resp_header/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.has_resp_header/index.html
@@ -224,7 +224,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.header/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.header/index.html
index 3019d2f2..21487c6f 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.header/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.header/index.html
@@ -251,7 +251,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.headers/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.headers/index.html
index a1e3bb7d..2f8e0559 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.headers/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.headers/index.html
@@ -219,7 +219,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.host/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.host/index.html
index 60fa43ca..3592f99f 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.host/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.host/index.html
@@ -220,7 +220,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.host_info/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.host_info/index.html
index 2a24b9d1..f08fb3bc 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.host_info/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.host_info/index.html
@@ -216,7 +216,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.match_cookies/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.match_cookies/index.html
index e2f46f52..a7bc41f4 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.match_cookies/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.match_cookies/index.html
@@ -252,7 +252,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.match_qs/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.match_qs/index.html
index b9883bdb..06a5b6d8 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.match_qs/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.match_qs/index.html
@@ -252,7 +252,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.method/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.method/index.html
index 929543fc..05e8362a 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.method/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.method/index.html
@@ -229,7 +229,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.parse_cookies/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.parse_cookies/index.html
index 8c7515d9..f785d16d 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.parse_cookies/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.parse_cookies/index.html
@@ -220,7 +220,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.parse_header/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.parse_header/index.html
index c8fe1fda..7158cf95 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.parse_header/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.parse_header/index.html
@@ -412,7 +412,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.parse_qs/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.parse_qs/index.html
index 2f088da0..f6da3380 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.parse_qs/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.parse_qs/index.html
@@ -246,7 +246,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.path/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.path/index.html
index 3e73d158..30905f48 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.path/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.path/index.html
@@ -219,7 +219,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.path_info/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.path_info/index.html
index 4abef226..4e056b38 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.path_info/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.path_info/index.html
@@ -216,7 +216,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.peer/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.peer/index.html
index e254fdac..3f75dfe8 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.peer/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.peer/index.html
@@ -225,7 +225,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.port/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.port/index.html
index 79571a89..252cf805 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.port/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.port/index.html
@@ -219,7 +219,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.push/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.push/index.html
index c29b2abc..07a36dc1 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.push/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.push/index.html
@@ -270,7 +270,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.qs/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.qs/index.html
index 7c9992fc..53d1d4ef 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.qs/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.qs/index.html
@@ -218,7 +218,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.read_body/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.read_body/index.html
index 1e529f07..ab0a7c1a 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.read_body/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.read_body/index.html
@@ -272,7 +272,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.read_part/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.read_part/index.html
index ef837159..63d46301 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.read_part/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.read_part/index.html
@@ -291,7 +291,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.read_part_body/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.read_part_body/index.html
index 316290a6..c9f19c4a 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.read_part_body/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.read_part_body/index.html
@@ -259,7 +259,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.read_urlencoded_body/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.read_urlencoded_body/index.html
index 9fc10632..db62afe2 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.read_urlencoded_body/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.read_urlencoded_body/index.html
@@ -255,7 +255,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.reply/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.reply/index.html
index c67b85c2..b7fc258d 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.reply/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.reply/index.html
@@ -293,7 +293,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.resp_header/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.resp_header/index.html
index c4c0538a..ab6fb875 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.resp_header/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.resp_header/index.html
@@ -242,7 +242,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.resp_headers/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.resp_headers/index.html
index 85fb4bab..e388854f 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.resp_headers/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.resp_headers/index.html
@@ -208,7 +208,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.scheme/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.scheme/index.html
index b6130715..65c63693 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.scheme/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.scheme/index.html
@@ -218,7 +218,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_body/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_body/index.html
index 5ab6b830..49224d45 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_body/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_body/index.html
@@ -267,7 +267,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_cookie/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_cookie/index.html
index 6791fb3c..e03da6a9 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_cookie/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_cookie/index.html
@@ -296,7 +296,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_header/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_header/index.html
index ccdba75a..a4d67236 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_header/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_header/index.html
@@ -250,7 +250,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_headers/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_headers/index.html
index dd3ea62d..cba6eb06 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_headers/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.set_resp_headers/index.html
@@ -238,7 +238,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.stream_body/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.stream_body/index.html
index cec1929c..02b8923d 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.stream_body/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.stream_body/index.html
@@ -245,7 +245,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.stream_reply/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.stream_reply/index.html
index bf5fb1e4..426c38a8 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.stream_reply/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.stream_reply/index.html
@@ -277,7 +277,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.uri/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.uri/index.html
index b74795e6..69378793 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.uri/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.uri/index.html
@@ -306,7 +306,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req.version/index.html b/docs/en/cowboy/2.0/manual/cowboy_req.version/index.html
index 85b71ae8..1306a00f 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req.version/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req.version/index.html
@@ -217,7 +217,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_req/index.html b/docs/en/cowboy/2.0/manual/cowboy_req/index.html
index 4ba02c91..dbb44a00 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_req/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_req/index.html
@@ -518,7 +518,6 @@ content-length header.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_rest/index.html b/docs/en/cowboy/2.0/manual/cowboy_rest/index.html
index 06e5363b..ea22a317 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_rest/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_rest/index.html
@@ -770,7 +770,6 @@ accept-language headers when necessary.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_router.compile/index.html b/docs/en/cowboy/2.0/manual/cowboy_router.compile/index.html
index 4127076c..6952e5e1 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_router.compile/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_router.compile/index.html
@@ -216,7 +216,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_router/index.html b/docs/en/cowboy/2.0/manual/cowboy_router/index.html
index 23e0a8ea..7b0808a0 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_router/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_router/index.html
@@ -239,7 +239,6 @@ using the <code>...</code> syntax.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_static/index.html b/docs/en/cowboy/2.0/manual/cowboy_static/index.html
index b99be9de..78d5bf79 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_static/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_static/index.html
@@ -304,7 +304,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_stream/index.html b/docs/en/cowboy/2.0/manual/cowboy_stream/index.html
index 039a3d60..333c80a8 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_stream/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_stream/index.html
@@ -533,7 +533,6 @@ tuple.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_sub_protocol/index.html b/docs/en/cowboy/2.0/manual/cowboy_sub_protocol/index.html
index da1831ce..adef49be 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_sub_protocol/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_sub_protocol/index.html
@@ -217,7 +217,6 @@ description of the return values.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/cowboy_websocket/index.html b/docs/en/cowboy/2.0/manual/cowboy_websocket/index.html
index 1f31291b..5974336c 100644
--- a/docs/en/cowboy/2.0/manual/cowboy_websocket/index.html
+++ b/docs/en/cowboy/2.0/manual/cowboy_websocket/index.html
@@ -393,7 +393,6 @@ idle_timeout (60000)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/http_status_codes/index.html b/docs/en/cowboy/2.0/manual/http_status_codes/index.html
index f46825b9..34d8a35c 100644
--- a/docs/en/cowboy/2.0/manual/http_status_codes/index.html
+++ b/docs/en/cowboy/2.0/manual/http_status_codes/index.html
@@ -400,7 +400,6 @@ client and the connection is closed.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/cowboy/2.0/manual/index.html b/docs/en/cowboy/2.0/manual/index.html
index 3191493d..d733f390 100644
--- a/docs/en/cowboy/2.0/manual/index.html
+++ b/docs/en/cowboy/2.0/manual/index.html
@@ -295,7 +295,6 @@ environment configuration parameters.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/app/index.html b/docs/en/erlang.mk/1/guide/app/index.html
index b05e48c4..0d6e67a7 100644
--- a/docs/en/erlang.mk/1/guide/app/index.html
+++ b/docs/en/erlang.mk/1/guide/app/index.html
@@ -691,7 +691,6 @@ you don&#8217;t explicitly use it.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/asciidoc/index.html b/docs/en/erlang.mk/1/guide/asciidoc/index.html
index 9cb17dba..6dece835 100644
--- a/docs/en/erlang.mk/1/guide/asciidoc/index.html
+++ b/docs/en/erlang.mk/1/guide/asciidoc/index.html
@@ -242,7 +242,6 @@ your user.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/ci/index.html b/docs/en/erlang.mk/1/guide/ci/index.html
index a7050ae7..3c74f3b1 100644
--- a/docs/en/erlang.mk/1/guide/ci/index.html
+++ b/docs/en/erlang.mk/1/guide/ci/index.html
@@ -149,7 +149,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/common_test/index.html b/docs/en/erlang.mk/1/guide/common_test/index.html
index a1b12f81..4c96abca 100644
--- a/docs/en/erlang.mk/1/guide/common_test/index.html
+++ b/docs/en/erlang.mk/1/guide/common_test/index.html
@@ -257,7 +257,6 @@ but covered in its own chapter.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/compat/index.html b/docs/en/erlang.mk/1/guide/compat/index.html
index a84bd3cc..bb12384a 100644
--- a/docs/en/erlang.mk/1/guide/compat/index.html
+++ b/docs/en/erlang.mk/1/guide/compat/index.html
@@ -228,7 +228,6 @@ configuration, add or remove modules.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/contributing/index.html b/docs/en/erlang.mk/1/guide/contributing/index.html
index 3175a7c9..eaddf8ee 100644
--- a/docs/en/erlang.mk/1/guide/contributing/index.html
+++ b/docs/en/erlang.mk/1/guide/contributing/index.html
@@ -269,7 +269,6 @@ the related documentation.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/coverage/index.html b/docs/en/erlang.mk/1/guide/coverage/index.html
index 8e07138b..8404d89a 100644
--- a/docs/en/erlang.mk/1/guide/coverage/index.html
+++ b/docs/en/erlang.mk/1/guide/coverage/index.html
@@ -149,7 +149,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/deps.asciidoc b/docs/en/erlang.mk/1/guide/deps.asciidoc
index 723deb0a..84a53de1 100644
--- a/docs/en/erlang.mk/1/guide/deps.asciidoc
+++ b/docs/en/erlang.mk/1/guide/deps.asciidoc
@@ -167,6 +167,7 @@ The following table lists all existing methods:
| hg | hg repo commit | Clone the Mercurial repository and update to the given version
| svn | svn repo | Checkout the given SVN repository
| cp | cp path/to/repo | Recursively copy a local directory
+| ln | ln path/to/repo | Symbolically link a local directory
| hex | hex version | Download the given project version from hex.pm
| fail | N/A | Always fail, reserved for internal use
| legacy | N/A | Legacy Erlang.mk fetcher, reserved for internal use
@@ -397,9 +398,20 @@ They work exactly the same as remote dependencies, except:
* They are not deleted on `make distclean`
* They are not automatically added to the application resource file
-To properly fill the application resource file, you will
-need to define the `LOCAL_DEPS` variable for each relevant
-application, the same as for OTP applications.
+To properly fill the application resource file and compile apps in
+the right order, you will need to define the `LOCAL_DEPS` variable
+for each relevant application, the same as for OTP applications. Apps
+can depend on each other in this way, and their compilation order
+will follow the same rules as regular dependencies in `DEPS`.
+
+The top-level `LOCAL_DEPS` variable, if defined, will determine which
+apps (along with their dependencies) to build, and also which apps
+should be added to the top-level application resource file, if there
+is one. This may be useful, for example, for specifying a different
+set of apps to build for different releases. If `LOCAL_DEPS` is not
+defined, then all apps in the '$(APPS_DIR)' will be built, but none
+will be automatically added to the top-level application resource
+file.
If there is a conflict between a local dependency and a
remote dependency, then the local dependency always wins;
@@ -476,10 +488,11 @@ on the kind of project it finds the dependency to be.
as their build tool. This essentially patches Rebar out, and
fixes and converts the project to be compatible with Erlang.mk.
-* Erlang.mk projects have their 'erlang.mk' file redirect to
-the top-level project's Erlang.mk. This is to ensure that
-functionality works across all dependencies, even if the
-dependency's Erlang.mk is outdated.
+* Erlang.mk projects have their 'Makefile' patched, if necessary,
+to include the top-level project's Erlang.mk. This is to ensure
+that functionality works across all dependencies, even if the
+dependency's Erlang.mk is outdated. The patched Makefile
+can be safely committed if necessary.
* Other Erlang projects get a small Erlang.mk Makefile
generated automatically.
diff --git a/docs/en/erlang.mk/1/guide/deps/index.html b/docs/en/erlang.mk/1/guide/deps/index.html
index e551a607..a0650b83 100644
--- a/docs/en/erlang.mk/1/guide/deps/index.html
+++ b/docs/en/erlang.mk/1/guide/deps/index.html
@@ -234,6 +234,11 @@ cellspacing="0" cellpadding="4">
<td align="center" valign="top"><p class="table">Recursively copy a local directory</p></td>
</tr>
<tr>
+<td align="left" valign="top"><p class="table">ln</p></td>
+<td align="center" valign="top"><p class="table">ln path/to/repo</p></td>
+<td align="center" valign="top"><p class="table">Symbolically link a local directory</p></td>
+</tr>
+<tr>
<td align="left" valign="top"><p class="table">hex</p></td>
<td align="center" valign="top"><p class="table">hex version</p></td>
<td align="center" valign="top"><p class="table">Download the given project version from hex.pm</p></td>
@@ -483,9 +488,19 @@ They are not automatically added to the application resource file
</p>
</li>
</ul></div>
-<div class="paragraph"><p>To properly fill the application resource file, you will
-need to define the <code>LOCAL_DEPS</code> variable for each relevant
-application, the same as for OTP applications.</p></div>
+<div class="paragraph"><p>To properly fill the application resource file and compile apps in
+the right order, you will need to define the <code>LOCAL_DEPS</code> variable
+for each relevant application, the same as for OTP applications. Apps
+can depend on each other in this way, and their compilation order
+will follow the same rules as regular dependencies in <code>DEPS</code>.</p></div>
+<div class="paragraph"><p>The top-level <code>LOCAL_DEPS</code> variable, if defined, will determine which
+apps (along with their dependencies) to build, and also which apps
+should be added to the top-level application resource file, if there
+is one. This may be useful, for example, for specifying a different
+set of apps to build for different releases. If <code>LOCAL_DEPS</code> is not
+defined, then all apps in the <em>$(APPS_DIR)</em> will be built, but none
+will be automatically added to the top-level application resource
+file.</p></div>
<div class="paragraph"><p>If there is a conflict between a local dependency and a
remote dependency, then the local dependency always wins;
an error will be triggered when trying to fetch the
@@ -587,10 +602,11 @@ fixes and converts the project to be compatible with Erlang.mk.
</li>
<li>
<p>
-Erlang.mk projects have their <em>erlang.mk</em> file redirect to
-the top-level project&#8217;s Erlang.mk. This is to ensure that
-functionality works across all dependencies, even if the
-dependency&#8217;s Erlang.mk is outdated.
+Erlang.mk projects have their <em>Makefile</em> patched, if necessary,
+to include the top-level project&#8217;s Erlang.mk. This is to ensure
+that functionality works across all dependencies, even if the
+dependency&#8217;s Erlang.mk is outdated. The patched Makefile
+can be safely committed if necessary.
</p>
</li>
<li>
@@ -730,7 +746,6 @@ The dependency directory <em>$(DEPS_DIR)</em> will not be removed on <code>make
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/dialyzer/index.html b/docs/en/erlang.mk/1/guide/dialyzer/index.html
index 3fb9d47d..519d25e4 100644
--- a/docs/en/erlang.mk/1/guide/dialyzer/index.html
+++ b/docs/en/erlang.mk/1/guide/dialyzer/index.html
@@ -219,7 +219,6 @@ Dialyzer creates it automatically.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/edoc/index.html b/docs/en/erlang.mk/1/guide/edoc/index.html
index 52eb84ef..6bb292d4 100644
--- a/docs/en/erlang.mk/1/guide/edoc/index.html
+++ b/docs/en/erlang.mk/1/guide/edoc/index.html
@@ -196,7 +196,6 @@ the following to your Makefile:</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/escripts/index.html b/docs/en/erlang.mk/1/guide/escripts/index.html
index 88e0320e..2caa838b 100644
--- a/docs/en/erlang.mk/1/guide/escripts/index.html
+++ b/docs/en/erlang.mk/1/guide/escripts/index.html
@@ -233,7 +233,6 @@ does not include <code>+debug_info</code>.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/eunit/index.html b/docs/en/erlang.mk/1/guide/eunit/index.html
index f53290fe..3e18c25f 100644
--- a/docs/en/erlang.mk/1/guide/eunit/index.html
+++ b/docs/en/erlang.mk/1/guide/eunit/index.html
@@ -283,7 +283,6 @@ but covered in its own chapter.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/external_plugins.asciidoc b/docs/en/erlang.mk/1/guide/external_plugins.asciidoc
index d3dafaac..68deb825 100644
--- a/docs/en/erlang.mk/1/guide/external_plugins.asciidoc
+++ b/docs/en/erlang.mk/1/guide/external_plugins.asciidoc
@@ -75,3 +75,57 @@ The `THIS` variable is required to relatively include files.
This allows users to not only be able to select individual
plugins, but also select all plugins from the dependency
in one go if they wish to do so.
+
+=== Early-stage plugins
+
+Plugins declared in `DEP_PLUGINS` are loaded near the end of Erlang.mk.
+That's why you have access to all previously initialized variables.
+However, if you want your plugin to add common dependencies to
+your applications, a regular is loaded too late in the process.
+You need to use "Early-stage plugins". They are declared using the
+`DEP_EARLY_PLUGINS` variable instead. Plugins listed in this variable
+are loaded near the beginning of Erlang.mk Otherwise, they work exactly
+the same.
+
+If you only give the name of a dependency, the default file loaded is
+'early-plugins.mk'. You can specify a filename exactly like you would
+have done it with regular plugins.
+
+[source,make]
+# In your application's Makefile
+BUILD_DEPS = common_deps
+DEP_EARLY_PLUGINS = common_deps
+
+[source,make]
+# In the plugin's early-plugins.mk
+DEPS += cowboy
+TEST_DEPS = ct_helper
+dep_ct_helper = git https://github.com/ninenines/ct_helper master
+
+=== Loading plugins local to the application
+
+If the Erlang.mk plugin lives in the same directory or repository as your
+application or library, then you can load it exactly like an external
+plugin: the dependency name is simply the name of your application or
+library.
+
+For example, the following Makefile loads a plugin in the 'mk'
+subdirectory:
+
+[source,make]
+DEP_PLUGINS = $(PROJECT)/mk/dist.mk
+
+This also works with early-stage plugins:
+
+[source,make]
+DEP_EARLY_PLUGINS = $(PROJECT)/mk/variables.mk
+
+Like external plugins, if you do not specify the path to the plugin, it
+defaults to 'plugins.mk' or 'early-plugins.mk', located at the root of
+your application:
+
+[source,make]
+# Loads ./early-plugins.mk
+DEP_EARLY_PLUGINS = $(PROJECT)
+# Loads ./plugins.mk
+DEP_PLUGINS = $(PROJECT)
diff --git a/docs/en/erlang.mk/1/guide/external_plugins/index.html b/docs/en/erlang.mk/1/guide/external_plugins/index.html
index c91f5198..e83b6a76 100644
--- a/docs/en/erlang.mk/1/guide/external_plugins/index.html
+++ b/docs/en/erlang.mk/1/guide/external_plugins/index.html
@@ -132,6 +132,47 @@ plugins, but also select all plugins from the dependency
in one go if they wish to do so.</p></div>
</div>
</div>
+<div class="sect1">
+<h2 id="_early_stage_plugins">Early-stage plugins</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Plugins declared in <code>DEP_PLUGINS</code> are loaded near the end of Erlang.mk.
+That&#8217;s why you have access to all previously initialized variables.
+However, if you want your plugin to add common dependencies to
+your applications, a regular is loaded too late in the process.
+You need to use "Early-stage plugins". They are declared using the
+<code>DEP_EARLY_PLUGINS</code> variable instead. Plugins listed in this variable
+are loaded near the beginning of Erlang.mk Otherwise, they work exactly
+the same.</p></div>
+<div class="paragraph"><p>If you only give the name of a dependency, the default file loaded is
+<em>early-plugins.mk</em>. You can specify a filename exactly like you would
+have done it with regular plugins.</p></div>
+<div class="listingblock">
+<div class="content"></div></div>
+<div class="listingblock">
+<div class="content"></div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_loading_plugins_local_to_the_application">Loading plugins local to the application</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>If the Erlang.mk plugin lives in the same directory or repository as your
+application or library, then you can load it exactly like an external
+plugin: the dependency name is simply the name of your application or
+library.</p></div>
+<div class="paragraph"><p>For example, the following Makefile loads a plugin in the <em>mk</em>
+subdirectory:</p></div>
+<div class="listingblock">
+<div class="content"></div></div>
+<div class="paragraph"><p>This also works with early-stage plugins:</p></div>
+<div class="listingblock">
+<div class="content"></div></div>
+<div class="paragraph"><p>Like external plugins, if you do not specify the path to the plugin, it
+defaults to <em>plugins.mk</em> or <em>early-plugins.mk</em>, located at the root of
+your application:</p></div>
+<div class="listingblock">
+<div class="content"></div></div>
+</div>
+</div>
@@ -211,7 +252,6 @@ in one go if they wish to do so.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/external_plugins_list/index.html b/docs/en/erlang.mk/1/guide/external_plugins_list/index.html
index 0aa40b1e..7b08f0e6 100644
--- a/docs/en/erlang.mk/1/guide/external_plugins_list/index.html
+++ b/docs/en/erlang.mk/1/guide/external_plugins_list/index.html
@@ -229,7 +229,6 @@ to generate a compatible configuration file for
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/getting_started/index.html b/docs/en/erlang.mk/1/guide/getting_started/index.html
index fc30a227..efe429e0 100644
--- a/docs/en/erlang.mk/1/guide/getting_started/index.html
+++ b/docs/en/erlang.mk/1/guide/getting_started/index.html
@@ -500,7 +500,6 @@ Loïc Hoguin by sending an email to <a href="mailto:[email protected]">contac
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/history/index.html b/docs/en/erlang.mk/1/guide/history/index.html
index 54c3e9da..66636cf4 100644
--- a/docs/en/erlang.mk/1/guide/history/index.html
+++ b/docs/en/erlang.mk/1/guide/history/index.html
@@ -203,7 +203,6 @@ from the 3.6.0 release onward.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/index.html b/docs/en/erlang.mk/1/guide/index.html
index 59ada5e4..468794e5 100644
--- a/docs/en/erlang.mk/1/guide/index.html
+++ b/docs/en/erlang.mk/1/guide/index.html
@@ -296,7 +296,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/installation.asciidoc b/docs/en/erlang.mk/1/guide/installation.asciidoc
index a1e5fd33..fcf6491e 100644
--- a/docs/en/erlang.mk/1/guide/installation.asciidoc
+++ b/docs/en/erlang.mk/1/guide/installation.asciidoc
@@ -58,6 +58,10 @@ Erlang.mk can be used on Windows inside an MSYS2 environment.
Cygwin, MSYS (the original) and native Windows (both Batch
and PowerShell) are currently not supported.
+NOTE: Erlang.mk expects Unix line breaks in most of the files
+(LF instead of CRLF). Make sure to configure your text editor
+adequately.
+
The rest of this section details how to setup Erlang/OTP and
MSYS2 in order to use Erlang.mk.
diff --git a/docs/en/erlang.mk/1/guide/installation/index.html b/docs/en/erlang.mk/1/guide/installation/index.html
index c5d017cb..fa73b71c 100644
--- a/docs/en/erlang.mk/1/guide/installation/index.html
+++ b/docs/en/erlang.mk/1/guide/installation/index.html
@@ -135,6 +135,16 @@ http://www.gnu.org/software/src-highlite -->
<div class="paragraph"><p>Erlang.mk can be used on Windows inside an MSYS2 environment.
Cygwin, MSYS (the original) and native Windows (both Batch
and PowerShell) are currently not supported.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Erlang.mk expects Unix line breaks in most of the files
+(LF instead of CRLF). Make sure to configure your text editor
+adequately.</td>
+</tr></table>
+</div>
<div class="paragraph"><p>The rest of this section details how to setup Erlang/OTP and
MSYS2 in order to use Erlang.mk.</p></div>
<div class="sect3">
@@ -308,7 +318,6 @@ so expect bugs to be fixed as more tests are added.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/limitations/index.html b/docs/en/erlang.mk/1/guide/limitations/index.html
index 27f69b3b..76ef25a3 100644
--- a/docs/en/erlang.mk/1/guide/limitations/index.html
+++ b/docs/en/erlang.mk/1/guide/limitations/index.html
@@ -191,7 +191,6 @@ fix this behavior.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/overview/index.html b/docs/en/erlang.mk/1/guide/overview/index.html
index 95bcb794..3ea5bf97 100644
--- a/docs/en/erlang.mk/1/guide/overview/index.html
+++ b/docs/en/erlang.mk/1/guide/overview/index.html
@@ -236,7 +236,6 @@ everyone agreed on everything all the time.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/ports/index.html b/docs/en/erlang.mk/1/guide/ports/index.html
index f6e71a7a..7fc9dbbf 100644
--- a/docs/en/erlang.mk/1/guide/ports/index.html
+++ b/docs/en/erlang.mk/1/guide/ports/index.html
@@ -284,7 +284,6 @@ list the files to compile.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/releases/index.html b/docs/en/erlang.mk/1/guide/releases/index.html
index 923a0d4e..81fec43a 100644
--- a/docs/en/erlang.mk/1/guide/releases/index.html
+++ b/docs/en/erlang.mk/1/guide/releases/index.html
@@ -276,7 +276,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/sfx/index.html b/docs/en/erlang.mk/1/guide/sfx/index.html
index d90cc8bf..faf40223 100644
--- a/docs/en/erlang.mk/1/guide/sfx/index.html
+++ b/docs/en/erlang.mk/1/guide/sfx/index.html
@@ -197,7 +197,6 @@ the release in <code>console</code> mode.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/shell/index.html b/docs/en/erlang.mk/1/guide/shell/index.html
index 295caf48..e7a49274 100644
--- a/docs/en/erlang.mk/1/guide/shell/index.html
+++ b/docs/en/erlang.mk/1/guide/shell/index.html
@@ -189,7 +189,6 @@ command <code>q().</code>.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/updating.asciidoc b/docs/en/erlang.mk/1/guide/updating.asciidoc
index 61d913db..8eeb0bf0 100644
--- a/docs/en/erlang.mk/1/guide/updating.asciidoc
+++ b/docs/en/erlang.mk/1/guide/updating.asciidoc
@@ -47,10 +47,28 @@ Yep, it's that easy.
=== Customizing the build
-Erlang.mk allows you to customize which plugins are to be included
-in the 'erlang.mk' file. You can do so by maintaining your own
-'build.config' file in your repository. Erlang.mk will automatically
-use it the next time you run `make erlang-mk`.
+Erlang.mk allows you to customize which components are to be included
+in the 'erlang.mk' file. The `WITHOUT` variable allows you to
+remove components from the default Erlang.mk build. The 'build.config'
+file lets you define exactly what goes in (including your own code!),
+and in what order.
+
+The `WITHOUT` file contains the list of components to exclude from
+the build. For example, to exclude the package index and the EDoc
+plugin when bootstrapping your application:
+
+[source,bash]
+$ make -f erlang.mk bootstrap WITHOUT="index plugins/edoc"
+
+The generated Erlang.mk will never include those components when
+you update it, until you change your mind and use the `WITHOUT`
+variable again when you upgrade:
+
+[source,bash]
+$ make erlang-mk WITHOUT=index
+
+The 'build.config' file is automatically used when you bootstrap
+Erlang.mk or when you update it with `make erlang-mk`.
The 'build.config' file contains the list of all files that will
be built into the resulting 'erlang.mk' file. You can start from
diff --git a/docs/en/erlang.mk/1/guide/updating/index.html b/docs/en/erlang.mk/1/guide/updating/index.html
index fbb3fffc..72956156 100644
--- a/docs/en/erlang.mk/1/guide/updating/index.html
+++ b/docs/en/erlang.mk/1/guide/updating/index.html
@@ -117,10 +117,31 @@ rm -rf <span style="color: #990000">.</span>erlang<span style="color: #990000">.
<div class="sect1">
<h2 id="_customizing_the_build">Customizing the build</h2>
<div class="sectionbody">
-<div class="paragraph"><p>Erlang.mk allows you to customize which plugins are to be included
-in the <em>erlang.mk</em> file. You can do so by maintaining your own
-<em>build.config</em> file in your repository. Erlang.mk will automatically
-use it the next time you run <code>make erlang-mk</code>.</p></div>
+<div class="paragraph"><p>Erlang.mk allows you to customize which components are to be included
+in the <em>erlang.mk</em> file. The <code>WITHOUT</code> variable allows you to
+remove components from the default Erlang.mk build. The <em>build.config</em>
+file lets you define exactly what goes in (including your own code!),
+and in what order.</p></div>
+<div class="paragraph"><p>The <code>WITHOUT</code> file contains the list of components to exclude from
+the build. For example, to exclude the package index and the EDoc
+plugin when bootstrapping your application:</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>$ make -f erlang<span style="color: #990000">.</span>mk bootstrap <span style="color: #009900">WITHOUT</span><span style="color: #990000">=</span><span style="color: #FF0000">"index plugins/edoc"</span></tt></pre></div></div>
+<div class="paragraph"><p>The generated Erlang.mk will never include those components when
+you update it, until you change your mind and use the <code>WITHOUT</code>
+variable again when you upgrade:</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>$ make erlang-mk <span style="color: #009900">WITHOUT</span><span style="color: #990000">=</span>index</tt></pre></div></div>
+<div class="paragraph"><p>The <em>build.config</em> file is automatically used when you bootstrap
+Erlang.mk or when you update it with <code>make erlang-mk</code>.</p></div>
<div class="paragraph"><p>The <em>build.config</em> file contains the list of all files that will
be built into the resulting <em>erlang.mk</em> file. You can start from
the <a href="https://github.com/ninenines/erlang.mk/blob/master/build.config">most recent version</a>
@@ -210,7 +231,6 @@ the <code>ERLANG_MK_BUILD_DIR</code> variable.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/why/index.html b/docs/en/erlang.mk/1/guide/why/index.html
index 02c57035..09bcb78b 100644
--- a/docs/en/erlang.mk/1/guide/why/index.html
+++ b/docs/en/erlang.mk/1/guide/why/index.html
@@ -228,7 +228,6 @@ as you expect it to.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/erlang.mk/1/guide/xref/index.html b/docs/en/erlang.mk/1/guide/xref/index.html
index 45e89ff7..40f3f289 100644
--- a/docs/en/erlang.mk/1/guide/xref/index.html
+++ b/docs/en/erlang.mk/1/guide/xref/index.html
@@ -149,7 +149,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/guide/connect/index.html b/docs/en/gun/1.0/guide/connect/index.html
index 4ace37e6..ed3b4970 100644
--- a/docs/en/gun/1.0/guide/connect/index.html
+++ b/docs/en/gun/1.0/guide/connect/index.html
@@ -314,7 +314,6 @@ when the connection has been closed.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/guide/http.asciidoc b/docs/en/gun/1.0/guide/http.asciidoc
index 465a4c53..e856fb18 100644
--- a/docs/en/gun/1.0/guide/http.asciidoc
+++ b/docs/en/gun/1.0/guide/http.asciidoc
@@ -45,7 +45,7 @@ handling of responses will be explained further on.
==== GET and HEAD
-Use `gun:get/{2,3}` to request a resource.
+Use `gun:get/{2,3,4}` to request a resource.
.GET "/organizations/ninenines"
@@ -64,7 +64,7 @@ Note that the list of headers has the field name as a binary.
The field value is iodata, which is either a binary or an
iolist.
-Use `gun:head/{2,3}` if you don't need the response body.
+Use `gun:head/{2,3,4}` if you don't need the response body.
.HEAD "/organizations/ninenines"
@@ -101,7 +101,7 @@ desirable. The request body of a PATCH method may be a partial
representation or a list of instructions on how to update the
resource.
-The `gun:post/4`, `gun:put/4` and `gun:patch/4` functions
+The `gun:post/{4,5}`, `gun:put/{4,5}` and `gun:patch/{4,5}` functions
take a body as their fourth argument. These functions do
not require any body-specific header to be set, although
it is always recommended to set the content-type header.
@@ -171,7 +171,7 @@ do_sendfile(ConnPid, StreamRef, IoDevice) ->
==== DELETE
-Use `gun:delete/{2,3}` to delete a resource.
+Use `gun:delete/{2,3,4}` to delete a resource.
.DELETE "/organizations/ninenines"
@@ -211,7 +211,7 @@ StreamRef = gun:options(ConnPid, "*").
==== Requests with an arbitrary method
-The `gun:request/{4,5}` function can be used to send requests
+The `gun:request/{4,5,6}` function can be used to send requests
with a configurable method name. It is mostly useful when you
need a method that Gun does not understand natively.
@@ -360,3 +360,14 @@ gun:flush(ConnPid).
[source,erlang]
gun:flush(StreamRef).
+
+=== Redirecting responses to a different process
+
+Gun allows you to specify which process will handle responses
+to a request via the `reply_to` request option.
+
+.GET "/organizations/ninenines" to a different process
+
+[source,erlang]
+StreamRef = gun:get(ConnPid, "/organizations/ninenines", [],
+ #{reply_to => Pid}).
diff --git a/docs/en/gun/1.0/guide/http/index.html b/docs/en/gun/1.0/guide/http/index.html
index 9b345ae1..2f3aadb3 100644
--- a/docs/en/gun/1.0/guide/http/index.html
+++ b/docs/en/gun/1.0/guide/http/index.html
@@ -112,7 +112,7 @@ header if it has not been provided in the request arguments.</p></div>
handling of responses will be explained further on.</p></div>
<div class="sect3">
<h4 id="_get_and_head">GET and HEAD</h4>
-<div class="paragraph"><p>Use <code>gun:get/{2,3}</code> to request a resource.</p></div>
+<div class="paragraph"><p>Use <code>gun:get/{2,3,4}</code> to request a resource.</p></div>
<div class="listingblock">
<div class="title">GET "/organizations/ninenines"</div>
<div class="content"><!-- Generator: GNU source-highlight 3.1.8
@@ -133,7 +133,7 @@ http://www.gnu.org/software/src-highlite -->
<div class="paragraph"><p>Note that the list of headers has the field name as a binary.
The field value is iodata, which is either a binary or an
iolist.</p></div>
-<div class="paragraph"><p>Use <code>gun:head/{2,3}</code> if you don&#8217;t need the response body.</p></div>
+<div class="paragraph"><p>Use <code>gun:head/{2,3,4}</code> if you don&#8217;t need the response body.</p></div>
<div class="listingblock">
<div class="title">HEAD "/organizations/ninenines"</div>
<div class="content"><!-- Generator: GNU source-highlight 3.1.8
@@ -168,7 +168,7 @@ request body. The PATCH method can be used when this is not
desirable. The request body of a PATCH method may be a partial
representation or a list of instructions on how to update the
resource.</p></div>
-<div class="paragraph"><p>The <code>gun:post/4</code>, <code>gun:put/4</code> and <code>gun:patch/4</code> functions
+<div class="paragraph"><p>The <code>gun:post/{4,5}</code>, <code>gun:put/{4,5}</code> and <code>gun:patch/{4,5}</code> functions
take a body as their fourth argument. These functions do
not require any body-specific header to be set, although
it is always recommended to set the content-type header.
@@ -237,7 +237,7 @@ http://www.gnu.org/software/src-highlite -->
</div>
<div class="sect3">
<h4 id="_delete">DELETE</h4>
-<div class="paragraph"><p>Use <code>gun:delete/{2,3}</code> to delete a resource.</p></div>
+<div class="paragraph"><p>Use <code>gun:delete/{2,3,4}</code> to delete a resource.</p></div>
<div class="listingblock">
<div class="title">DELETE "/organizations/ninenines"</div>
<div class="content"><!-- Generator: GNU source-highlight 3.1.8
@@ -286,7 +286,7 @@ http://www.gnu.org/software/src-highlite -->
</div>
<div class="sect3">
<h4 id="_requests_with_an_arbitrary_method">Requests with an arbitrary method</h4>
-<div class="paragraph"><p>The <code>gun:request/{4,5}</code> function can be used to send requests
+<div class="paragraph"><p>The <code>gun:request/{4,5,6}</code> function can be used to send requests
with a configurable method name. It is mostly useful when you
need a method that Gun does not understand natively.</p></div>
<div class="listingblock">
@@ -444,6 +444,21 @@ http://www.gnu.org/software/src-highlite -->
<pre><tt><span style="font-weight: bold"><span style="color: #000000">gun:flush</span></span>(<span style="color: #009900">StreamRef</span>)<span style="color: #990000">.</span></tt></pre></div></div>
</div>
</div>
+<div class="sect1">
+<h2 id="_redirecting_responses_to_a_different_process">Redirecting responses to a different process</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Gun allows you to specify which process will handle responses
+to a request via the <code>reply_to</code> request option.</p></div>
+<div class="listingblock">
+<div class="title">GET "/organizations/ninenines" to a different process</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/organizations/ninenines"</span>, [],
+ #{<span style="color: #0000FF">reply_to</span> <span style="color: #990000">=&gt;</span> <span style="color: #009900">Pid</span>})<span style="color: #990000">.</span></tt></pre></div></div>
+</div>
+</div>
@@ -527,7 +542,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/guide/index.html b/docs/en/gun/1.0/guide/index.html
index 9348953a..3b22fb4d 100644
--- a/docs/en/gun/1.0/guide/index.html
+++ b/docs/en/gun/1.0/guide/index.html
@@ -165,7 +165,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/guide/introduction/index.html b/docs/en/gun/1.0/guide/introduction/index.html
index 5dfc3d5f..8b1ae1c4 100644
--- a/docs/en/gun/1.0/guide/introduction/index.html
+++ b/docs/en/gun/1.0/guide/introduction/index.html
@@ -182,7 +182,6 @@ names.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/guide/protocols.asciidoc b/docs/en/gun/1.0/guide/protocols.asciidoc
index 2180c5b4..5e3b273e 100644
--- a/docs/en/gun/1.0/guide/protocols.asciidoc
+++ b/docs/en/gun/1.0/guide/protocols.asciidoc
@@ -10,7 +10,7 @@ sends a request, the server sends back a response.
Gun provides convenience functions for performing GET, HEAD,
OPTIONS, POST, PATCH, PUT, and DELETE requests. All these
-functions are aliases of `gun:request/{4,5}` for each respective
+functions are aliases of `gun:request/{4,5,6}` for each respective
methods. Gun also provides a `gun:data/4` function for streaming
the request body.
diff --git a/docs/en/gun/1.0/guide/protocols/index.html b/docs/en/gun/1.0/guide/protocols/index.html
index f2ac3780..2bdbfa3f 100644
--- a/docs/en/gun/1.0/guide/protocols/index.html
+++ b/docs/en/gun/1.0/guide/protocols/index.html
@@ -78,7 +78,7 @@ operations available to them.</p></div>
sends a request, the server sends back a response.</p></div>
<div class="paragraph"><p>Gun provides convenience functions for performing GET, HEAD,
OPTIONS, POST, PATCH, PUT, and DELETE requests. All these
-functions are aliases of <code>gun:request/{4,5}</code> for each respective
+functions are aliases of <code>gun:request/{4,5,6}</code> for each respective
methods. Gun also provides a <code>gun:data/4</code> function for streaming
the request body.</p></div>
<div class="paragraph"><p>Gun will send a <code>gun_response</code> message for every response
@@ -405,7 +405,6 @@ cellspacing="0" cellpadding="4">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/guide/start/index.html b/docs/en/gun/1.0/guide/start/index.html
index 2f84cfe9..3505a740 100644
--- a/docs/en/gun/1.0/guide/start/index.html
+++ b/docs/en/gun/1.0/guide/start/index.html
@@ -224,7 +224,6 @@ between the elements of the list.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/guide/websocket.asciidoc b/docs/en/gun/1.0/guide/websocket.asciidoc
index 4869a2e4..f99dea70 100644
--- a/docs/en/gun/1.0/guide/websocket.asciidoc
+++ b/docs/en/gun/1.0/guide/websocket.asciidoc
@@ -64,6 +64,10 @@ after 1000 ->
exit(timeout)
end.
+Note that you shouldn't use the `reply_to` request option
+for connections you plan to upgrade, because only the
+owner of the connection will receive messages about it.
+
=== Sending data
Once the Websocket upgrade has completed successfully, you no
diff --git a/docs/en/gun/1.0/guide/websocket/index.html b/docs/en/gun/1.0/guide/websocket/index.html
index 44ec4277..fb0a01bb 100644
--- a/docs/en/gun/1.0/guide/websocket/index.html
+++ b/docs/en/gun/1.0/guide/websocket/index.html
@@ -133,6 +133,9 @@ http://www.gnu.org/software/src-highlite -->
<span style="font-weight: bold"><span style="color: #0000FF">after</span></span> <span style="color: #993399">1000</span> <span style="color: #990000">-&gt;</span>
<span style="font-weight: bold"><span style="color: #000080">exit</span></span>(<span style="color: #FF6600">timeout</span>)
<span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div>
+<div class="paragraph"><p>Note that you shouldn&#8217;t use the <code>reply_to</code> request option
+for connections you plan to upgrade, because only the
+owner of the connection will receive messages about it.</p></div>
</div>
</div>
<div class="sect1">
@@ -267,7 +270,6 @@ message.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/manual/gun/index.html b/docs/en/gun/1.0/manual/gun/index.html
index 332b3b30..97314cd9 100644
--- a/docs/en/gun/1.0/manual/gun/index.html
+++ b/docs/en/gun/1.0/manual/gun/index.html
@@ -92,6 +92,14 @@ HTTP or Websocket.</p></div>
<div class="paragraph"><p>The following keys are defined:</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
+connect_timeout &#8658; timeout()
+</dt>
+<dd>
+<p>
+ Connection timeout. Defaults to <code>infinity</code>.
+</p>
+</dd>
+<dt class="hdlist1">
http_opts &#8658; http_opts()
</dt>
<dd>
@@ -193,6 +201,18 @@ keepalive &#8658; pos_integer()
</p>
</dd>
<dt class="hdlist1">
+transform_header_name &#8658; funLowercaseName :: binary( &#8594; TransformedName :: binary()) | undefined
+</dt>
+<dd>
+<p>
+ A function that will be applied to all header names before they
+ are sent to the server. Gun assumes that all header names are in
+ lower case. This function is useful if you, for example, need to
+ re-case header names in the event that the server incorrectly
+ considers header name case to be significant.
+</p>
+</dd>
+<dt class="hdlist1">
version &#8658; <em>HTTP/1.1</em> | <em>HTTP/1.0</em>
</dt>
<dd>
@@ -203,6 +223,21 @@ version &#8658; <em>HTTP/1.1</em> | <em>HTTP/1.0</em>
</dl></div>
</div>
<div class="sect2">
+<h3 id="_req_opts_map">req_opts() = map()</h3>
+<div class="paragraph"><p>Configuration for a particular request.</p></div>
+<div class="paragraph"><p>The following keys are defined:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+reply_to &#8658; pid()
+</dt>
+<dd>
+<p>
+ The pid of a process that is responsible for the response handling.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
<h3 id="_spdy_opts_map">spdy_opts() = map()</h3>
<div class="paragraph"><p>Configuration for the SPDY protocol.</p></div>
<div class="paragraph"><p>The following keys are defined:</p></div>
@@ -656,11 +691,15 @@ The pid of the Gun connection process.
effectively closed.</p></div>
</div>
<div class="sect2">
-<h3 id="_delete_connpid_path_8594_delete_connpid_path">delete(ConnPid, Path) &#8594; delete(ConnPid, Path, [])</h3>
-<div class="paragraph"><p>Alias of <code>gun:delete/3</code>.</p></div>
+<h3 id="_delete_connpid_path_8594_delete_connpid_path">delete(ConnPid, Path) &#8594; delete(ConnPid, Path, [], #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:delete/4</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_delete_connpid_path_headers_8594_delete_connpid_path_headers">delete(ConnPid, Path, Headers) &#8594; delete(ConnPid, Path, Headers, #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:delete/4</code>.</p></div>
</div>
<div class="sect2">
-<h3 id="_delete_connpid_path_headers_8594_streamref">delete(ConnPid, Path, Headers) &#8594; StreamRef</h3>
+<h3 id="_delete_connpid_path_headers_reqopts_8594_streamref">delete(ConnPid, Path, Headers, ReqOpts) &#8594; StreamRef</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
ConnPid = pid()
@@ -687,6 +726,14 @@ Additional request headers.
</p>
</dd>
<dt class="hdlist1">
+ReqOpts = req_opts()
+</dt>
+<dd>
+<p>
+Request options.
+</p>
+</dd>
+<dt class="hdlist1">
StreamRef = reference()
</dt>
<dd>
@@ -698,11 +745,15 @@ Identifier of the stream for this request.
<div class="paragraph"><p>Delete a resource.</p></div>
</div>
<div class="sect2">
-<h3 id="_get_connpid_path_8594_get_connpid_path">get(ConnPid, Path) &#8594; get(ConnPid, Path, [])</h3>
-<div class="paragraph"><p>Alias of <code>gun:get/3</code>.</p></div>
+<h3 id="_get_connpid_path_8594_get_connpid_path">get(ConnPid, Path) &#8594; get(ConnPid, Path, [], #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:get/4</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_get_connpid_path_headers_8594_get_connpid_path_headers">get(ConnPid, Path, Headers) &#8594; get(ConnPid, Path, Headers, #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:get/4</code>.</p></div>
</div>
<div class="sect2">
-<h3 id="_get_connpid_path_headers_8594_streamref">get(ConnPid, Path, Headers) &#8594; StreamRef</h3>
+<h3 id="_get_connpid_path_headers_reqopts_8594_streamref">get(ConnPid, Path, Headers, ReqOpts) &#8594; StreamRef</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
ConnPid = pid()
@@ -729,6 +780,14 @@ Additional request headers.
</p>
</dd>
<dt class="hdlist1">
+ReqOpts = req_opts()
+</dt>
+<dd>
+<p>
+Request options.
+</p>
+</dd>
+<dt class="hdlist1">
StreamRef = reference()
</dt>
<dd>
@@ -740,11 +799,15 @@ Identifier of the stream for this request.
<div class="paragraph"><p>Get a resource.</p></div>
</div>
<div class="sect2">
-<h3 id="_head_connpid_path_8594_head_connpid_path">head(ConnPid, Path) &#8594; head(ConnPid, Path, [])</h3>
-<div class="paragraph"><p>Alias of <code>gun:head/3</code>.</p></div>
+<h3 id="_head_connpid_path_8594_head_connpid_path">head(ConnPid, Path) &#8594; head(ConnPid, Path, [], #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:head/4</code>.</p></div>
</div>
<div class="sect2">
-<h3 id="_head_connpid_path_headers_8594_streamref">head(ConnPid, Path, Headers) &#8594; StreamRef</h3>
+<h3 id="_head_connpid_path_headers_8594_head_connpid_path_headers">head(ConnPid, Path, Headers) &#8594; head(ConnPid, Path, Headers, #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:head/4</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_head_connpid_path_headers_reqopts_8594_streamref">head(ConnPid, Path, Headers, ReqOpts) &#8594; StreamRef</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
ConnPid = pid()
@@ -771,6 +834,14 @@ Additional request headers.
</p>
</dd>
<dt class="hdlist1">
+ReqOpts = req_opts()
+</dt>
+<dd>
+<p>
+Request options.
+</p>
+</dd>
+<dt class="hdlist1">
StreamRef = reference()
</dt>
<dd>
@@ -788,11 +859,15 @@ request was a GET, like <code>content-length</code>, it is not always
the case and differences may exist.</p></div>
</div>
<div class="sect2">
-<h3 id="_options_connpid_path_8594_options_connpid_path">options(ConnPid, Path) &#8594; options(ConnPid, Path, [])</h3>
-<div class="paragraph"><p>Alias of <code>gun:options/3</code>.</p></div>
+<h3 id="_options_connpid_path_8594_options_connpid_path">options(ConnPid, Path) &#8594; options(ConnPid, Path, [], #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:options/4</code>.</p></div>
</div>
<div class="sect2">
-<h3 id="_options_connpid_path_headers_8594_streamref">options(ConnPid, Path, Headers) &#8594; StreamRef</h3>
+<h3 id="_options_connpid_path_headers_8594_options_connpid_path_headers">options(ConnPid, Path, Headers) &#8594; options(ConnPid, Path, Headers, #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:options/4</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_options_connpid_path_headers_reqopts_8594_streamref">options(ConnPid, Path, Headers, ReqOpts) &#8594; StreamRef</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
ConnPid = pid()
@@ -819,6 +894,14 @@ Additional request headers.
</p>
</dd>
<dt class="hdlist1">
+ReqOpts = req_opts()
+</dt>
+<dd>
+<p>
+Request options.
+</p>
+</dd>
+<dt class="hdlist1">
StreamRef = reference()
</dt>
<dd>
@@ -878,7 +961,11 @@ with instructions on how to update the resource.</p></div>
<div class="paragraph"><p>You can use the <code>gun:data/4</code> function to send the body, if any.</p></div>
</div>
<div class="sect2">
-<h3 id="_patch_connpid_path_headers_body_8594_streamref">patch(ConnPid, Path, Headers, Body) &#8594; StreamRef</h3>
+<h3 id="_patch_connpid_path_headers_body_8594_patch_connpid_path_headers_body">patch(ConnPid, Path, Headers, Body) &#8594; patch(ConnPid, Path, Headers, Body, #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:patch/5</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_patch_connpid_path_headers_body_reqopts_8594_streamref">patch(ConnPid, Path, Headers, Body, ReqOpts) &#8594; StreamRef</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
ConnPid = pid()
@@ -913,6 +1000,14 @@ Body of the request.
</p>
</dd>
<dt class="hdlist1">
+ReqOpts = req_opts()
+</dt>
+<dd>
+<p>
+Request options.
+</p>
+</dd>
+<dt class="hdlist1">
StreamRef = reference()
</dt>
<dd>
@@ -979,7 +1074,11 @@ located at a different URI.</p></div>
<div class="paragraph"><p>You can use the <code>gun:data/4</code> function to send the body, if any.</p></div>
</div>
<div class="sect2">
-<h3 id="_post_connpid_path_headers_body_8594_streamref">post(ConnPid, Path, Headers, Body) &#8594; StreamRef</h3>
+<h3 id="_post_connpid_path_headers_body_8594_post_connpid_path_headers_body">post(ConnPid, Path, Headers, Body) &#8594; post(ConnPid, Path, Headers, Body, #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:post/5</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_post_connpid_path_headers_body_reqopts_8594_streamref">post(ConnPid, Path, Headers, Body, ReqOpts) &#8594; StreamRef</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
ConnPid = pid()
@@ -1014,6 +1113,14 @@ Body of the request.
</p>
</dd>
<dt class="hdlist1">
+ReqOpts = req_opts()
+</dt>
+<dd>
+<p>
+Request options.
+</p>
+</dd>
+<dt class="hdlist1">
StreamRef = reference()
</dt>
<dd>
@@ -1079,7 +1186,11 @@ highly recommended to set both when possible.</p></div>
<div class="paragraph"><p>You can use the <code>gun:data/4</code> function to send the body, if any.</p></div>
</div>
<div class="sect2">
-<h3 id="_put_connpid_path_headers_body_8594_streamref">put(ConnPid, Path, Headers, Body) &#8594; StreamRef</h3>
+<h3 id="_put_connpid_path_headers_body_8594_put_connpid_path_headers_body">put(ConnPid, Path, Headers, Body) &#8594; put(ConnPid, Path, Headers, Body, #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:put/5</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_put_connpid_path_headers_body_reqopts_8594_streamref">put(ConnPid, Path, Headers, Body, ReqOpts) &#8594; StreamRef</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
ConnPid = pid()
@@ -1114,6 +1225,14 @@ Body of the request.
</p>
</dd>
<dt class="hdlist1">
+ReqOpts = req_opts()
+</dt>
+<dd>
+<p>
+Request options.
+</p>
+</dd>
+<dt class="hdlist1">
StreamRef = reference()
</dt>
<dd>
@@ -1185,7 +1304,11 @@ highly recommended to set both when possible.</p></div>
<div class="paragraph"><p>You can use the <code>gun:data/4</code> function to send the body, if any.</p></div>
</div>
<div class="sect2">
-<h3 id="_request_connpid_method_path_headers_body_8594_streamref">request(ConnPid, Method, Path, Headers, Body) &#8594; StreamRef</h3>
+<h3 id="_request_connpid_method_path_headers_body_8594_request_connpid_method_path_headers_body">request(ConnPid, Method, Path, Headers, Body) &#8594; request(ConnPid, Method, Path, Headers, Body, #{})</h3>
+<div class="paragraph"><p>Alias of <code>gun:request/6</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_request_connpid_method_path_headers_body_reqopts_8594_streamref">request(ConnPid, Method, Path, Headers, Body, ReqOpts) &#8594; StreamRef</h3>
<div class="dlist"><dl>
<dt class="hdlist1">
ConnPid = pid()
@@ -1228,6 +1351,14 @@ Body of the request.
</p>
</dd>
<dt class="hdlist1">
+ReqOpts = req_opts()
+</dt>
+<dd>
+<p>
+Request options.
+</p>
+</dd>
+<dt class="hdlist1">
StreamRef = reference()
</dt>
<dd>
@@ -1727,7 +1858,6 @@ Frames = @todo
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/manual/gun_app/index.html b/docs/en/gun/1.0/manual/gun_app/index.html
index 6adca335..e0f16bd8 100644
--- a/docs/en/gun/1.0/manual/gun_app/index.html
+++ b/docs/en/gun/1.0/manual/gun_app/index.html
@@ -161,7 +161,6 @@ environment configuration parameters.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/gun/1.0/manual/index.html b/docs/en/gun/1.0/manual/index.html
index 8629cdb2..41a4cd56 100644
--- a/docs/en/gun/1.0/manual/index.html
+++ b/docs/en/gun/1.0/manual/index.html
@@ -145,7 +145,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/embedded/index.html b/docs/en/ranch/1.2/guide/embedded/index.html
index adb1bc81..8c5fb781 100644
--- a/docs/en/ranch/1.2/guide/embedded/index.html
+++ b/docs/en/ranch/1.2/guide/embedded/index.html
@@ -196,7 +196,6 @@ more details on how Ranch does it.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/index.html b/docs/en/ranch/1.2/guide/index.html
index f5b25985..76bc921b 100644
--- a/docs/en/ranch/1.2/guide/index.html
+++ b/docs/en/ranch/1.2/guide/index.html
@@ -177,7 +177,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/internals/index.html b/docs/en/ranch/1.2/guide/internals/index.html
index b7e0b850..ee170bac 100644
--- a/docs/en/ranch/1.2/guide/internals/index.html
+++ b/docs/en/ranch/1.2/guide/internals/index.html
@@ -237,7 +237,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/introduction/index.html b/docs/en/ranch/1.2/guide/introduction/index.html
index 6c5ae67c..efb98f6e 100644
--- a/docs/en/ranch/1.2/guide/introduction/index.html
+++ b/docs/en/ranch/1.2/guide/introduction/index.html
@@ -176,7 +176,6 @@ modifications but there is no guarantee that it will work as expected.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/listeners/index.html b/docs/en/ranch/1.2/guide/listeners/index.html
index 4d6ccbc0..1a39c32d 100644
--- a/docs/en/ranch/1.2/guide/listeners/index.html
+++ b/docs/en/ranch/1.2/guide/listeners/index.html
@@ -435,7 +435,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/parsers/index.html b/docs/en/ranch/1.2/guide/parsers/index.html
index d7849c7f..d02edb61 100644
--- a/docs/en/ranch/1.2/guide/parsers/index.html
+++ b/docs/en/ranch/1.2/guide/parsers/index.html
@@ -257,7 +257,6 @@ immediately if any. Otherwise wait for more data.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/protocols/index.html b/docs/en/ranch/1.2/guide/protocols/index.html
index 092946b2..56b099d9 100644
--- a/docs/en/ranch/1.2/guide/protocols/index.html
+++ b/docs/en/ranch/1.2/guide/protocols/index.html
@@ -277,7 +277,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/ssl_auth/index.html b/docs/en/ranch/1.2/guide/ssl_auth/index.html
index 463772c6..4413da6c 100644
--- a/docs/en/ranch/1.2/guide/ssl_auth/index.html
+++ b/docs/en/ranch/1.2/guide/ssl_auth/index.html
@@ -306,7 +306,6 @@ user.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/guide/transports/index.html b/docs/en/ranch/1.2/guide/transports/index.html
index d3a4affd..c7fa74f7 100644
--- a/docs/en/ranch/1.2/guide/transports/index.html
+++ b/docs/en/ranch/1.2/guide/transports/index.html
@@ -337,7 +337,6 @@ is the transport&#8217;s module. See <code>ranch_ssl</code> for an example.</p><
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/manual/index.html b/docs/en/ranch/1.2/manual/index.html
index 3f3ddce7..b299544c 100644
--- a/docs/en/ranch/1.2/manual/index.html
+++ b/docs/en/ranch/1.2/manual/index.html
@@ -167,7 +167,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/manual/ranch/index.html b/docs/en/ranch/1.2/manual/ranch/index.html
index 78292a1f..021d1ec6 100644
--- a/docs/en/ranch/1.2/manual/ranch/index.html
+++ b/docs/en/ranch/1.2/manual/ranch/index.html
@@ -552,7 +552,6 @@ completely stopped.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/manual/ranch_app/index.html b/docs/en/ranch/1.2/manual/ranch_app/index.html
index 202babbc..c1c7d2d1 100644
--- a/docs/en/ranch/1.2/manual/ranch_app/index.html
+++ b/docs/en/ranch/1.2/manual/ranch_app/index.html
@@ -172,7 +172,6 @@ and <em>total.profile</em>. Do not use in production.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/manual/ranch_protocol/index.html b/docs/en/ranch/1.2/manual/ranch_protocol/index.html
index 8fd069e6..d556e371 100644
--- a/docs/en/ranch/1.2/manual/ranch_protocol/index.html
+++ b/docs/en/ranch/1.2/manual/ranch_protocol/index.html
@@ -212,7 +212,6 @@ processes and degrade performance severely.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/manual/ranch_ssl/index.html b/docs/en/ranch/1.2/manual/ranch_ssl/index.html
index 1d77a3d5..0e6a91c5 100644
--- a/docs/en/ranch/1.2/manual/ranch_ssl/index.html
+++ b/docs/en/ranch/1.2/manual/ranch_ssl/index.html
@@ -478,7 +478,6 @@ greater control over the client certificate validation.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/manual/ranch_tcp/index.html b/docs/en/ranch/1.2/manual/ranch_tcp/index.html
index bcda73a2..3fa4f68d 100644
--- a/docs/en/ranch/1.2/manual/ranch_tcp/index.html
+++ b/docs/en/ranch/1.2/manual/ranch_tcp/index.html
@@ -403,7 +403,6 @@ portable. Use with caution.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.2/manual/ranch_transport/index.html b/docs/en/ranch/1.2/manual/ranch_transport/index.html
index 6fab612e..97f2e265 100644
--- a/docs/en/ranch/1.2/manual/ranch_transport/index.html
+++ b/docs/en/ranch/1.2/manual/ranch_transport/index.html
@@ -623,7 +623,6 @@ directly.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/embedded/index.html b/docs/en/ranch/1.3/guide/embedded/index.html
index a18a512d..338a8a73 100644
--- a/docs/en/ranch/1.3/guide/embedded/index.html
+++ b/docs/en/ranch/1.3/guide/embedded/index.html
@@ -196,7 +196,6 @@ more details on how Ranch does it.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/index.html b/docs/en/ranch/1.3/guide/index.html
index 95e87dea..ca343143 100644
--- a/docs/en/ranch/1.3/guide/index.html
+++ b/docs/en/ranch/1.3/guide/index.html
@@ -177,7 +177,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/internals/index.html b/docs/en/ranch/1.3/guide/internals/index.html
index 2a778619..25a34da9 100644
--- a/docs/en/ranch/1.3/guide/internals/index.html
+++ b/docs/en/ranch/1.3/guide/internals/index.html
@@ -237,7 +237,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/introduction/index.html b/docs/en/ranch/1.3/guide/introduction/index.html
index 7420a70b..15de8cb6 100644
--- a/docs/en/ranch/1.3/guide/introduction/index.html
+++ b/docs/en/ranch/1.3/guide/introduction/index.html
@@ -178,7 +178,6 @@ modifications but there is no guarantee that it will work as expected.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/listeners/index.html b/docs/en/ranch/1.3/guide/listeners/index.html
index 48143ae5..84a59d39 100644
--- a/docs/en/ranch/1.3/guide/listeners/index.html
+++ b/docs/en/ranch/1.3/guide/listeners/index.html
@@ -494,7 +494,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/parsers/index.html b/docs/en/ranch/1.3/guide/parsers/index.html
index 96660915..824e5f1e 100644
--- a/docs/en/ranch/1.3/guide/parsers/index.html
+++ b/docs/en/ranch/1.3/guide/parsers/index.html
@@ -257,7 +257,6 @@ immediately if any. Otherwise wait for more data.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/protocols/index.html b/docs/en/ranch/1.3/guide/protocols/index.html
index e2f3d946..743b1d49 100644
--- a/docs/en/ranch/1.3/guide/protocols/index.html
+++ b/docs/en/ranch/1.3/guide/protocols/index.html
@@ -252,7 +252,6 @@ http://www.gnu.org/software/src-highlite -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/ssl_auth/index.html b/docs/en/ranch/1.3/guide/ssl_auth/index.html
index 868c2d1e..e779e02a 100644
--- a/docs/en/ranch/1.3/guide/ssl_auth/index.html
+++ b/docs/en/ranch/1.3/guide/ssl_auth/index.html
@@ -306,7 +306,6 @@ user.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/guide/transports/index.html b/docs/en/ranch/1.3/guide/transports/index.html
index b96517ac..d752e371 100644
--- a/docs/en/ranch/1.3/guide/transports/index.html
+++ b/docs/en/ranch/1.3/guide/transports/index.html
@@ -327,7 +327,6 @@ is the transport&#8217;s module. See <code>ranch_ssl</code> for an example.</p><
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/manual/index.html b/docs/en/ranch/1.3/manual/index.html
index df038c0e..1d9b1ab9 100644
--- a/docs/en/ranch/1.3/manual/index.html
+++ b/docs/en/ranch/1.3/manual/index.html
@@ -167,7 +167,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/manual/ranch/index.html b/docs/en/ranch/1.3/manual/ranch/index.html
index ef89eff1..a3fd77f4 100644
--- a/docs/en/ranch/1.3/manual/ranch/index.html
+++ b/docs/en/ranch/1.3/manual/ranch/index.html
@@ -687,7 +687,6 @@ completely stopped.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/manual/ranch_app/index.html b/docs/en/ranch/1.3/manual/ranch_app/index.html
index c5ce74d1..23530a4b 100644
--- a/docs/en/ranch/1.3/manual/ranch_app/index.html
+++ b/docs/en/ranch/1.3/manual/ranch_app/index.html
@@ -170,7 +170,6 @@ and <em>total.profile</em>. Do not use in production.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/manual/ranch_protocol/index.html b/docs/en/ranch/1.3/manual/ranch_protocol/index.html
index 05c77ee1..43de0314 100644
--- a/docs/en/ranch/1.3/manual/ranch_protocol/index.html
+++ b/docs/en/ranch/1.3/manual/ranch_protocol/index.html
@@ -212,7 +212,6 @@ processes and degrade performance severely.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/manual/ranch_ssl/index.html b/docs/en/ranch/1.3/manual/ranch_ssl/index.html
index c54a9dbe..263fe4cb 100644
--- a/docs/en/ranch/1.3/manual/ranch_ssl/index.html
+++ b/docs/en/ranch/1.3/manual/ranch_ssl/index.html
@@ -514,7 +514,6 @@ greater control over the client certificate validation.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/manual/ranch_tcp/index.html b/docs/en/ranch/1.3/manual/ranch_tcp/index.html
index 2b28bb77..66a91da5 100644
--- a/docs/en/ranch/1.3/manual/ranch_tcp/index.html
+++ b/docs/en/ranch/1.3/manual/ranch_tcp/index.html
@@ -412,7 +412,6 @@ portable. Use with caution.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/en/ranch/1.3/manual/ranch_transport/index.html b/docs/en/ranch/1.3/manual/ranch_transport/index.html
index 299a82a5..1bcea5b0 100644
--- a/docs/en/ranch/1.3/manual/ranch_transport/index.html
+++ b/docs/en/ranch/1.3/manual/ranch_transport/index.html
@@ -623,7 +623,6 @@ directly.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/docs/index.html b/docs/index.html
index 62f09e67..ccdacc2e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -202,7 +202,6 @@ of my projects? I would happily include them on this page.</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/donate/index.html b/donate/index.html
index cf75c86d..aa972b26 100644
--- a/donate/index.html
+++ b/donate/index.html
@@ -512,7 +512,6 @@ and Erlang.mk is fantastic:</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/index.html b/index.html
index 27a28e42..35f5193e 100644
--- a/index.html
+++ b/index.html
@@ -72,32 +72,32 @@
<li>
- <a data-slide="0" href="">Bullet</a>
+ <a data-panel="0" href="">Bullet</a>
</li>
<li class="active">
- <a data-slide="1" href="">Cowboy</a>
+ <a data-panel="1" href="">Cowboy</a>
</li>
<li>
- <a data-slide="2" href="">Cowlib</a>
+ <a data-panel="2" href="">Cowlib</a>
</li>
<li>
- <a data-slide="3" href="">Erlang.mk</a>
+ <a data-panel="3" href="">Erlang.mk</a>
</li>
<li>
- <a data-slide="4" href="">Gun</a>
+ <a data-panel="4" href="">Gun</a>
</li>
<li>
- <a data-slide="5" href="">Ranch</a>
+ <a data-panel="5" href="">Ranch</a>
</li>
@@ -665,7 +665,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/js/custom.js b/js/custom.js
index 84936d37..7e674540 100644
--- a/js/custom.js
+++ b/js/custom.js
@@ -1,49 +1,60 @@
-var carousel = "";
-$(document).ready(function() {;
- // Starting up carousel
- carousel = $('.carousel').carousel({
- interval: 9999999999999
- })
-
- // Rollover images
- $(function() {
- $('img[data-hover]').hover(function() {
- $(this).attr('tmp', $(this).attr('src')).attr('src', $(this).attr('data-hover')).attr('data-hover', $(this).attr('tmp')).removeAttr('tmp');
- }).each(function() {
- $('<img />').attr('src', $(this).attr('data-hover'));
- });;
- });
-
- // Slide selector
- $(".navbar .nav li a").click(function() {
- function clear_prods() {
- $(".navbar .nav li").each(function(){
- $(this).removeClass("active");
- });
- }
- carousel.unbind('slide');
- clear_prods();
- $(this).parent().addClass("active");
- carousel.carousel($(this).data()["slide"]);
- carousel.carousel('stop');
- carousel.bind('slide', function() {
- clear_prods();
- carousel.unbind('slide');
- });
- });
-
- if ($("#docs h2").length == 0){
- $("#docs-nav").remove();
- }else{
- $("<ul/>").insertAfter("#docs-nav");
- $("#docs h2").each(function(){
- $("<li><a href=\"#" + $(this).attr("id") + "\">" + $(this).text() + "</a></li>").appendTo("#docs-nav+ul");
+var projects_nav = function() {
+ var nav = document.querySelectorAll('.navbar .nav li a');
+ var panels = document.querySelectorAll('.carousel-inner>div');
+
+ Array.prototype.forEach.call(nav, function(el) {
+ el.addEventListener('click', function(ev) {
+ ev.preventDefault();
+
+ Array.prototype.forEach.call(nav, function(el) {
+ el.parentNode.classList.remove('active');
+ });
+
+ Array.prototype.forEach.call(panels, function(el) {
+ el.classList.remove('active');
+ });
+
+ this.parentNode.classList.add('active');
+ document.querySelector('.carousel-inner>div:nth-child('
+ + (1 + parseInt(this.dataset.panel, 10)) + ')')
+ .classList.add('active');
});
- if ($("#_rest_callbacks").length != 0){
- $('<ul id="_rest_callbacks_nav"/>').insertAfter('#docs-nav+ul a[href="#_rest_callbacks"]');
- $('#_rest_callbacks+div h3').each(function(){
- $("<li><a href=\"#" + $(this).attr("id") + "\">" + $(this).text() + "</a></li>").appendTo('#docs-nav+ul a[href="#_rest_callbacks"]+ul');
+ });
+};
+
+var docs_nav = function() {
+ var nav = document.querySelector('#docs-nav');
+ if (nav === null) {
+ return;
+ }
+
+ var docs = document.querySelectorAll('#docs h2');
+ if (docs.length == 0) {
+ nav.parentNode.removeChild(el);
+ } else {
+ var navul = document.createElement('ul');
+ Array.prototype.forEach.call(docs, function(el) {
+ navul.insertAdjacentHTML('beforeend',
+ '<li><a href="#' + el.getAttribute('id') + '">'
+ + el.textContent + '</a></li>');
+ });
+ nav.insertAdjacentElement('afterend', navul);
+
+ if (document.querySelector('#_rest_callbacks') !== null) {
+ var restul = document.createElement('ul');
+ var resth3s = document.querySelectorAll('#_rest_callbacks+div h3');
+ Array.prototype.forEach.call(resth3s, function(el) {
+ restul.insertAdjacentHTML('beforeend',
+ '<li><a href="#' + el.getAttribute('id') + '">'
+ + el.textContent + '</a></li>');
});
+ document.querySelector('#docs-nav+ul a[href="#_rest_callbacks"]')
+ .insertAdjacentElement('afterend', restul);
}
}
+};
+
+document.addEventListener('DOMContentLoaded', function() {
+ projects_nav();
+ docs_nav();
});
diff --git a/services/index.html b/services/index.html
index 61b37be9..874860e8 100644
--- a/services/index.html
+++ b/services/index.html
@@ -597,7 +597,6 @@ and Erlang.mk is fantastic:</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/slogan/index.html b/slogan/index.html
index 7c11f9e9..82406e91 100644
--- a/slogan/index.html
+++ b/slogan/index.html
@@ -93,7 +93,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/tags/index.html b/tags/index.html
index 27fb4f82..08c601b8 100644
--- a/tags/index.html
+++ b/tags/index.html
@@ -95,7 +95,6 @@
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>
diff --git a/talks/index.html b/talks/index.html
index 6607c13f..f6f96c65 100644
--- a/talks/index.html
+++ b/talks/index.html
@@ -144,7 +144,6 @@ meeting?</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
- <script src="/js/bootstrap-carousel.js"></script>
<script src="/js/bootstrap-dropdown.js"></script>
<script src="/js/custom.js"></script>
</body>