[devdocsgjs/wip/andyholmes/upstream-merge: 1595/1595] DevDocs: merge changes from upstream




commit dccee3b35ca6d3479f35fad00bcc05a499eaf824
Merge: de9796d9 303f9d42
Author: Andy Holmes <andrew g r holmes gmail com>
Date:   Fri Apr 8 01:20:10 2022 -0700

    DevDocs: merge changes from upstream

 .editorconfig                                      |    3 +
 .github/CODEOWNERS                                 |    4 +
 .github/CODE_OF_CONDUCT.md                         |    2 +
 .github/CONTRIBUTING.md                            |   32 +-
 .github/ISSUE_TEMPLATE.md                          |    7 -
 .github/ISSUE_TEMPLATE/bug_report.md               |   44 +
 .github/ISSUE_TEMPLATE/config.yml                  |    8 +
 .github/ISSUE_TEMPLATE/documentation_bug.md        |   33 +
 .github/ISSUE_TEMPLATE/feature_request.md          |   36 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   31 +
 .github/workflows/build.yml                        |   28 +
 .github/workflows/schedule-doc-report.yml          |   17 +
 .github/workflows/test.yml                         |   18 +
 .gitignore                                         |    5 +
 .ruby-version                                      |    2 +-
 .slugignore                                        |    3 +-
 .travis.yml                                        |    7 -
 COPYRIGHT                                          |    4 +-
 Dockerfile                                         |    8 +-
 Dockerfile-alpine                                  |    4 +-
 Gemfile                                            |    2 +-
 Gemfile.lock                                       |  102 +-
 PULL_REQUEST_TEMPLATE.md                           |   11 -
 README.md                                          |   78 +-
 assets/images/.gitignore                           |    1 +
 assets/images/docs-1.png                           |  Bin 46181 -> 0 bytes
 assets/images/docs-1 2x png                        |  Bin 122108 -> 0 bytes
 assets/images/docs-2.png                           |  Bin 20060 -> 0 bytes
 assets/images/docs-2 2x png                        |  Bin 48657 -> 0 bytes
 assets/javascripts/app/app.coffee                  |    4 +-
 assets/javascripts/app/config.coffee.erb           |    3 +-
 assets/javascripts/app/router.coffee               |    3 +
 assets/javascripts/app/settings.coffee             |   48 +-
 assets/javascripts/app/shortcuts.coffee            |   13 +-
 .../{cookie_store.coffee => cookies_store.coffee}  |    6 +-
 assets/javascripts/lib/favicon.coffee              |   76 +
 assets/javascripts/lib/license.coffee              |    2 +-
 assets/javascripts/lib/page.coffee                 |    2 +
 assets/javascripts/lib/util.coffee                 |    4 +
 assets/javascripts/models/entry.coffee             |    3 +
 assets/javascripts/news.json                       |  112 +-
 .../javascripts/templates/pages/about_tmpl.coffee  |  414 +-
 .../javascripts/templates/pages/help_tmpl.coffee   |   23 +-
 .../templates/pages/root_tmpl.coffee.erb           |    8 +-
 .../templates/pages/settings_tmpl.coffee           |   34 +-
 assets/javascripts/templates/tip_tmpl.coffee       |    6 +-
 assets/javascripts/tracking.js                     |    2 +-
 assets/javascripts/vendor/classlist.js             |  240 -
 assets/javascripts/vendor/cookies.js               |    7 +-
 assets/javascripts/vendor/fastclick.js             |  841 ---
 assets/javascripts/vendor/prism.js                 | 5731 ++++++++++++++------
 assets/javascripts/vendor/raven.js                 |    4 +-
 assets/javascripts/views/content/content.coffee    |    3 +
 assets/javascripts/views/content/entry_page.coffee |    8 +
 .../javascripts/views/content/offline_page.coffee  |    2 +-
 .../javascripts/views/content/settings_page.coffee |   24 +-
 assets/javascripts/views/content/type_page.coffee  |    1 +
 assets/javascripts/views/layout/document.coffee    |    4 +-
 assets/javascripts/views/layout/mobile.coffee      |    4 +-
 assets/javascripts/views/search/search.coffee      |    8 +
 .../javascripts/views/search/search_scope.coffee   |   28 +-
 assets/javascripts/views/sidebar/sidebar.coffee    |    6 +-
 assets/stylesheets/application.css.scss            |   29 +-
 assets/stylesheets/components/_content.scss        |    7 +-
 assets/stylesheets/components/_header.scss         |    3 +-
 assets/stylesheets/components/_settings.scss       |   10 +-
 assets/stylesheets/global/_base.scss               |    7 +
 assets/stylesheets/global/_icons.scss              |  402 --
 assets/stylesheets/global/_icons.scss.erb          |   43 +
 assets/stylesheets/global/_variables.scss          |    2 +-
 assets/stylesheets/pages/_cypress.scss             |   21 +
 assets/stylesheets/pages/_eigen3.scss              |    0
 assets/stylesheets/pages/_elisp.scss               |   14 +
 assets/stylesheets/pages/_elixir.scss              |    5 +
 assets/stylesheets/pages/_gnu_make.scss            |    5 +
 assets/stylesheets/pages/_gnuplot.scss             |    6 +
 assets/stylesheets/pages/_go.scss                  |    2 +-
 assets/stylesheets/pages/_groovy.scss              |   13 +
 assets/stylesheets/pages/_gtk.scss                 |   15 +
 assets/stylesheets/pages/_haproxy.scss             |   28 +
 assets/stylesheets/pages/_jasmine.scss             |    4 +
 assets/stylesheets/pages/_jq.scss                  |   26 +
 assets/stylesheets/pages/_love.scss                |    1 +
 assets/stylesheets/pages/_mariadb.scss             |    7 +
 assets/stylesheets/pages/_mdn.scss                 |    8 +-
 assets/stylesheets/pages/_mkdocs.scss              |   11 +
 assets/stylesheets/pages/_node.scss                |    4 +-
 assets/stylesheets/pages/_octave.scss              |    9 +
 assets/stylesheets/pages/_openjdk.scss             |    1 +
 assets/stylesheets/pages/_perl.scss                |    6 +-
 assets/stylesheets/pages/_pygame.scss              |   12 +
 assets/stylesheets/pages/_react_native.scss        |   11 +
 assets/stylesheets/pages/_reactivex.scss           |   51 +
 assets/stylesheets/pages/_rust.scss                |    1 +
 assets/stylesheets/pages/_rxjs.scss                |   24 +
 assets/stylesheets/pages/_scala.scss               |   43 +
 assets/stylesheets/pages/_sphinx.scss              |    7 +
 assets/stylesheets/pages/_sqlite.scss              |    6 +
 assets/stylesheets/pages/_tailwindcss.scss         |   48 +
 assets/stylesheets/pages/_tensorflow.scss          |    1 +
 assets/stylesheets/pages/_typescript.scss          |    4 +
 assets/stylesheets/pages/_vue.scss                 |    5 +
 assets/stylesheets/pages/_wordpress.scss           |   15 +
 docs/adding-docs.md                                |   10 +-
 docs/file-scrapers.md                              |  267 +
 docs/{Filter-Reference.md => filter-reference.md}  |   34 +-
 docs/maintainers.md                                |   77 +-
 .../{Scraper-Reference.md => scraper-reference.md} |  101 +-
 lib/app.rb                                         |   30 +-
 lib/docs.rb                                        |    2 +-
 lib/docs/core/doc.rb                               |  115 +-
 lib/docs/core/scrapers/file_scraper.rb             |    4 +-
 lib/docs/filters/angular/entries.rb                |    2 +
 lib/docs/filters/ansible/clean_html.rb             |    9 +-
 lib/docs/filters/ansible/entries.rb                |   14 +
 lib/docs/filters/babel/clean_html.rb               |   33 +-
 lib/docs/filters/babel/entries.rb                  |   40 +-
 lib/docs/filters/bash/entries.rb                   |   20 +-
 lib/docs/filters/bootstrap/clean_html_v4.rb        |   13 +-
 lib/docs/filters/bootstrap/clean_html_v5.rb        |   34 +
 lib/docs/filters/bootstrap/entries_v5.rb           |   62 +
 lib/docs/filters/cakephp/clean_html_39_plus.rb     |   37 +
 lib/docs/filters/cakephp/entries_39_plus.rb        |   52 +
 lib/docs/filters/chef/clean_html.rb                |   31 +-
 lib/docs/filters/chef/clean_html_old.rb            |   37 +
 lib/docs/filters/chef/entries.rb                   |   72 +-
 lib/docs/filters/chef/entries_old.rb               |   68 +
 lib/docs/filters/cmake/clean_html.rb               |    6 +
 lib/docs/filters/cmake/entries.rb                  |    2 +
 lib/docs/filters/codeception/clean_html.rb         |    2 +
 lib/docs/filters/codeceptjs/clean_html.rb          |    4 +-
 lib/docs/filters/codeceptjs/entries.rb             |    2 +-
 lib/docs/filters/codeigniter/entries.rb            |   13 +-
 lib/docs/filters/coffeescript/entries.rb           |    2 +-
 lib/docs/filters/composer/clean_html.rb            |   35 +
 lib/docs/filters/composer/entries.rb               |   36 +
 lib/docs/filters/cordova/entries.rb                |    2 +-
 lib/docs/filters/core/clean_text.rb                |    1 +
 lib/docs/filters/core/images.rb                    |    2 +
 lib/docs/filters/core/normalize_paths.rb           |    2 +-
 lib/docs/filters/core/parse_cf_email.rb            |    2 +-
 lib/docs/filters/cpp/entries.rb                    |   42 +-
 lib/docs/filters/crystal/clean_html.rb             |    9 +-
 lib/docs/filters/crystal/entries.rb                |   18 +-
 lib/docs/filters/cypress/clean_html.rb             |   24 +
 lib/docs/filters/cypress/entries.rb                |   34 +
 lib/docs/filters/d3/clean_html.rb                  |    3 +
 lib/docs/filters/d3/entries_v4.rb                  |    5 +
 lib/docs/filters/dart/clean_html.rb                |   16 +-
 lib/docs/filters/dart/entries.rb                   |    4 +-
 lib/docs/filters/deno/clean_html.rb                |   22 +
 lib/docs/filters/deno/entries.rb                   |   15 +
 lib/docs/filters/django/clean_html.rb              |    8 +
 .../filters/django_rest_framework/clean_html.rb    |   30 +
 lib/docs/filters/django_rest_framework/entries.rb  |   59 +
 lib/docs/filters/dom_events/clean_html.rb          |   28 -
 lib/docs/filters/dom_events/entries.rb             |   87 -
 lib/docs/filters/eigen3/clean_html.rb              |   25 +
 lib/docs/filters/eigen3/entries.rb                 |  123 +
 lib/docs/filters/electron/clean_html.rb            |   40 +-
 lib/docs/filters/electron/entries.rb               |    1 -
 lib/docs/filters/elisp/clean_html.rb               |   66 +
 lib/docs/filters/elisp/entries.rb                  |   52 +
 lib/docs/filters/elixir/clean_html.rb              |   48 +-
 lib/docs/filters/elixir/entries.rb                 |   21 +-
 lib/docs/filters/ember/clean_html.rb               |   22 +-
 lib/docs/filters/ember/entries.rb                  |   60 +-
 lib/docs/filters/enzyme/clean_html.rb              |   41 +
 lib/docs/filters/enzyme/entries.rb                 |   33 +
 lib/docs/filters/erlang/clean_html.rb              |    2 +-
 lib/docs/filters/esbuild/clean_html.rb             |   19 +
 lib/docs/filters/esbuild/entries.rb                |   21 +
 lib/docs/filters/eslint/clean_html.rb              |    5 +-
 lib/docs/filters/eslint/entries.rb                 |    5 -
 lib/docs/filters/falcon/entries.rb                 |    2 +
 .../fish/{clean_html.rb => clean_html_custom.rb}   |    2 +-
 lib/docs/filters/fish/clean_html_sphinx.rb         |   13 +
 .../filters/fish/{entries.rb => entries_custom.rb} |    2 +-
 lib/docs/filters/fish/entries_sphinx.rb            |   45 +
 lib/docs/filters/flask/entries.rb                  |   82 +
 lib/docs/filters/flow/clean_html.rb                |    5 +-
 lib/docs/filters/gcc/clean_html.rb                 |   13 +
 lib/docs/filters/git/clean_html.rb                 |    2 +
 lib/docs/filters/gnu_cobol/clean_html.rb           |   74 +
 lib/docs/filters/gnu_cobol/entries.rb              |   50 +
 lib/docs/filters/gnu_make/clean_html.rb            |   54 +
 lib/docs/filters/gnu_make/entries.rb               |   97 +
 lib/docs/filters/gnuplot/clean_html.rb             |   89 +
 lib/docs/filters/gnuplot/entries.rb                |   73 +
 lib/docs/filters/go/attribution.rb                 |   12 +
 lib/docs/filters/go/clean_html.rb                  |    1 +
 lib/docs/filters/groovy/clean_html.rb              |   97 +
 lib/docs/filters/groovy/entries.rb                 |   29 +
 lib/docs/filters/gtk/clean_html.rb                 |   69 +
 lib/docs/filters/gtk/entries.rb                    |  154 +
 lib/docs/filters/haproxy/clean_html.rb             |   50 +
 lib/docs/filters/haproxy/entries.rb                |   49 +
 lib/docs/filters/haskell/entries.rb                |   12 +-
 lib/docs/filters/haxe/clean_html.rb                |    6 +-
 lib/docs/filters/homebrew/clean_html.rb            |    6 +
 lib/docs/filters/homebrew/entries.rb               |    4 +-
 lib/docs/filters/html/entries.rb                   |    9 +-
 lib/docs/filters/http/clean_html.rb                |    4 +-
 lib/docs/filters/http/entries.rb                   |   11 +-
 lib/docs/filters/i3/entries.rb                     |   17 +
 lib/docs/filters/immutable/clean_html.rb           |   30 +-
 lib/docs/filters/immutable/entries.rb              |   27 +-
 lib/docs/filters/jasmine/clean_html.rb             |   16 +-
 lib/docs/filters/jasmine/entries.rb                |   17 +-
 lib/docs/filters/jekyll/entries.rb                 |   34 +-
 lib/docs/filters/jest/clean_html.rb                |   23 +-
 lib/docs/filters/jest/entries.rb                   |   31 +-
 lib/docs/filters/jinja/entries.rb                  |   55 +
 lib/docs/filters/jq/clean_html.rb                  |   21 +
 lib/docs/filters/jq/entries.rb                     |   20 +
 lib/docs/filters/julia/clean_html.rb               |   11 +-
 lib/docs/filters/julia/entries.rb                  |   13 +-
 lib/docs/filters/knockout/entries.rb               |    9 +-
 lib/docs/filters/kotlin/clean_html.rb              |   25 +-
 lib/docs/filters/kotlin/entries.rb                 |   15 +-
 lib/docs/filters/laravel/clean_html.rb             |    8 +-
 lib/docs/filters/laravel/entries.rb                |    4 +-
 lib/docs/filters/latex/clean_html.rb               |   29 +
 lib/docs/filters/latex/entries.rb                  |   46 +
 lib/docs/filters/leaflet/clean_html.rb             |   14 +-
 lib/docs/filters/less/clean_html.rb                |    2 +-
 lib/docs/filters/liquid/clean_html.rb              |    5 +
 lib/docs/filters/love/clean_html.rb                |    5 +
 lib/docs/filters/love/entries.rb                   |    8 +-
 lib/docs/filters/mariadb/clean_html.rb             |   67 +
 lib/docs/filters/mariadb/entries.rb                |   24 +
 lib/docs/filters/mariadb/erase_invalid_pages.rb    |   34 +
 lib/docs/filters/mdn/clean_html.rb                 |   18 +-
 lib/docs/filters/mdn/compat_tables.rb              |  240 +
 lib/docs/filters/mdn/contribute_link.rb            |   19 -
 lib/docs/filters/mkdocs/clean_html.rb              |   17 +
 lib/docs/filters/mocha/clean_html.rb               |    7 +
 lib/docs/filters/mocha/entries.rb                  |   11 +-
 lib/docs/filters/mongoose/clean_html.rb            |   39 +-
 lib/docs/filters/mongoose/entries.rb               |   29 +-
 lib/docs/filters/nim/clean_html.rb                 |   20 +-
 lib/docs/filters/nim/entries.rb                    |   46 +-
 lib/docs/filters/node/clean_html.rb                |   37 +-
 lib/docs/filters/node/entries.rb                   |   90 +-
 lib/docs/filters/node/old_entries.rb               |  104 +
 lib/docs/filters/nokogiri2/entries.rb              |    4 +
 lib/docs/filters/npm/clean_html.rb                 |   32 +-
 lib/docs/filters/npm/entries.rb                    |   42 +-
 lib/docs/filters/numpy/clean_html.rb               |    5 +-
 lib/docs/filters/numpy/entries.rb                  |   70 +-
 lib/docs/filters/ocaml/clean_html.rb               |   35 +
 lib/docs/filters/ocaml/entries.rb                  |   59 +
 lib/docs/filters/octave/clean_html.rb              |   46 +
 lib/docs/filters/octave/entries.rb                 |   22 +
 lib/docs/filters/openjdk/clean_html.rb             |   30 +-
 lib/docs/filters/openjdk/clean_html_new.rb         |   72 +
 lib/docs/filters/openjdk/entries.rb                |   27 +-
 lib/docs/filters/openjdk/entries_new.rb            |   43 +
 lib/docs/filters/pandas/clean_html.rb              |   34 +-
 lib/docs/filters/pandas/clean_html_old.rb          |   20 +
 lib/docs/filters/pandas/entries.rb                 |   34 +-
 lib/docs/filters/pandas/entries_old.rb             |   29 +
 lib/docs/filters/perl/clean_html.rb                |   44 +-
 lib/docs/filters/perl/entries.rb                   |   99 +-
 lib/docs/filters/perl/pre_clean_html.rb            |   17 +
 lib/docs/filters/php/clean_html.rb                 |   23 +-
 lib/docs/filters/php/entries.rb                    |   25 +-
 lib/docs/filters/php/fix_urls.rb                   |    2 +-
 lib/docs/filters/phpunit/clean_html.rb             |   58 +-
 lib/docs/filters/phpunit/clean_html_old.rb         |   64 +
 lib/docs/filters/phpunit/entries.rb                |    4 +-
 lib/docs/filters/phpunit/entries_old.rb            |   25 +
 lib/docs/filters/point_cloud_library/clean_html.rb |   12 +
 lib/docs/filters/point_cloud_library/entries.rb    |   45 +
 lib/docs/filters/pony/clean_html.rb                |   17 +
 lib/docs/filters/pony/entries.rb                   |   35 +
 lib/docs/filters/postgresql/entries.rb             |   12 +-
 lib/docs/filters/prettier/clean_html.rb            |   83 +
 lib/docs/filters/prettier/entries.rb               |   27 +
 lib/docs/filters/puppeteer/clean_html.rb           |    1 +
 lib/docs/filters/pygame/clean_html.rb              |  112 +-
 lib/docs/filters/pygame/entries.rb                 |   21 +-
 lib/docs/filters/pygame/pre_clean_html.rb          |   11 +
 lib/docs/filters/python/entries_v2.rb              |    8 +-
 lib/docs/filters/python/entries_v3.rb              |   19 +-
 lib/docs/filters/pytorch/clean_html.rb             |   12 +
 lib/docs/filters/pytorch/entries.rb                |   62 +
 lib/docs/filters/qt/clean_html.rb                  |    1 +
 lib/docs/filters/qt/entries.rb                     |    1 +
 lib/docs/filters/r/clean_html.rb                   |   65 +
 lib/docs/filters/r/entries.rb                      |   84 +
 lib/docs/filters/rails/clean_html_guides.rb        |    7 +-
 lib/docs/filters/ramda/clean_html.rb               |    2 +-
 lib/docs/filters/react/clean_html.rb               |   15 +-
 lib/docs/filters/react/entries.rb                  |   22 +-
 lib/docs/filters/react_bootstrap/clean_html.rb     |   33 +
 lib/docs/filters/react_bootstrap/entries.rb        |   23 +
 lib/docs/filters/react_native/clean_html.rb        |   32 +-
 lib/docs/filters/react_native/entries.rb           |   24 +-
 lib/docs/filters/react_router/clean_html.rb        |   14 +
 lib/docs/filters/react_router/entries.rb           |   13 +
 lib/docs/filters/reactivex/clean_html.rb           |   96 +
 lib/docs/filters/reactivex/entries.rb              |   21 +
 lib/docs/filters/redux/clean_html.rb               |   33 +-
 lib/docs/filters/redux/entries.rb                  |   29 +-
 lib/docs/filters/relay/clean_html.rb               |   57 +-
 lib/docs/filters/relay/entries.rb                  |   56 +-
 lib/docs/filters/rethinkdb/clean_html.rb           |    6 +-
 lib/docs/filters/rethinkdb/entries.rb              |   11 +-
 lib/docs/filters/rust/clean_html.rb                |   47 +-
 lib/docs/filters/rust/entries.rb                   |    7 +-
 lib/docs/filters/rxjs/clean_html.rb                |  139 +
 lib/docs/filters/rxjs/entries.rb                   |   29 +
 lib/docs/filters/salt_stack/clean_html.rb          |   27 +
 lib/docs/filters/salt_stack/entries.rb             |   38 +
 lib/docs/filters/sass/clean_html.rb                |   69 +-
 lib/docs/filters/sass/entries.rb                   |   96 +-
 lib/docs/filters/scala/clean_html_v2.rb            |  109 +
 lib/docs/filters/scala/clean_html_v3.rb            |  253 +
 lib/docs/filters/scala/entries_v2.rb               |  103 +
 lib/docs/filters/scala/entries_v3.rb               |  105 +
 lib/docs/filters/scikit_learn/clean_html.rb        |   15 +-
 lib/docs/filters/sequelize/clean_html.rb           |   54 +
 lib/docs/filters/sequelize/entries.rb              |   33 +
 lib/docs/filters/sinon/clean_html.rb               |    6 +
 lib/docs/filters/socketio/clean_html.rb            |   17 +-
 lib/docs/filters/socketio/entries.rb               |   12 +-
 lib/docs/filters/sphinx/clean_html.rb              |    6 +-
 lib/docs/filters/spring_boot/clean_html.rb         |   17 +
 lib/docs/filters/spring_boot/entries.rb            |   21 +
 lib/docs/filters/sqlite/clean_html.rb              |   26 +-
 lib/docs/filters/svg/clean_html.rb                 |    3 +-
 lib/docs/filters/tailwindcss/clean_html.rb         |  114 +
 lib/docs/filters/tailwindcss/entries.rb            |   24 +
 lib/docs/filters/tailwindcss/noop.rb               |    9 +
 lib/docs/filters/tensorflow/clean_html.rb          |    4 +-
 lib/docs/filters/tensorflow/entries.rb             |  119 +-
 lib/docs/filters/trio/clean_html.rb                |   58 +
 lib/docs/filters/trio/entries.rb                   |   48 +
 lib/docs/filters/twig/clean_html.rb                |   19 +-
 lib/docs/filters/typescript/clean_html.rb          |   55 +-
 lib/docs/filters/typescript/entries.rb             |   57 +-
 lib/docs/filters/vite/clean_html.rb                |   50 +
 lib/docs/filters/vite/entries.rb                   |   23 +
 lib/docs/filters/vue/clean_html.rb                 |   34 +-
 lib/docs/filters/vue/entries.rb                    |   19 +-
 lib/docs/filters/vue/entries_v3.rb                 |   64 +
 lib/docs/filters/vue_router/clean_html.rb          |   28 +
 lib/docs/filters/vue_router/entries.rb             |   71 +
 lib/docs/filters/vuex/clean_html.rb                |   24 +
 lib/docs/filters/vuex/entries.rb                   |   69 +
 lib/docs/filters/web_extensions/clean_html.rb      |    9 +
 lib/docs/filters/web_extensions/entries.rb         |   24 +
 lib/docs/filters/webpack/clean_html.rb             |   42 +-
 lib/docs/filters/webpack/entries.rb                |   10 +-
 lib/docs/filters/werkzeug/entries.rb               |   61 +
 lib/docs/filters/wordpress/clean_html.rb           |   39 +
 lib/docs/filters/wordpress/entries.rb              |   19 +
 lib/docs/filters/xslt_xpath/entries.rb             |    5 +-
 lib/docs/filters/yarn/clean_html.rb                |    3 +
 lib/docs/filters/yarn/clean_html_berry.rb          |   48 +
 lib/docs/filters/yarn/entries.rb                   |    3 +-
 lib/docs/filters/yarn/entries_berry.rb             |   28 +
 lib/docs/filters/zig/clean_html.rb                 |   19 +
 lib/docs/filters/zig/entries.rb                    |   25 +
 lib/docs/scrapers/angular.rb                       |  164 +-
 lib/docs/scrapers/angularjs.rb                     |   30 +-
 lib/docs/scrapers/ansible.rb                       |  104 +-
 lib/docs/scrapers/apache.rb                        |    7 +-
 lib/docs/scrapers/apache_pig.rb                    |    5 +
 lib/docs/scrapers/async.rb                         |    9 +-
 lib/docs/scrapers/babel.rb                         |   33 +-
 lib/docs/scrapers/backbone.rb                      |   13 +-
 lib/docs/scrapers/bash.rb                          |   15 +-
 lib/docs/scrapers/bluebird.rb                      |    9 +-
 lib/docs/scrapers/bootstrap.rb                     |   43 +-
 lib/docs/scrapers/bottle.rb                        |    6 +
 lib/docs/scrapers/bower.rb                         |    4 +
 lib/docs/scrapers/c.rb                             |    7 +
 lib/docs/scrapers/cakephp.rb                       |  120 +-
 lib/docs/scrapers/chai.rb                          |   12 +-
 lib/docs/scrapers/chef.rb                          |   85 +-
 lib/docs/scrapers/clojure.rb                       |   22 +-
 lib/docs/scrapers/cmake.rb                         |   73 +-
 lib/docs/scrapers/codeception.rb                   |    8 +-
 lib/docs/scrapers/codeceptjs.rb                    |   14 +-
 lib/docs/scrapers/codeigniter.rb                   |   21 +-
 lib/docs/scrapers/coffeescript.rb                  |   16 +-
 lib/docs/scrapers/composer.rb                      |   28 +
 lib/docs/scrapers/cordova.rb                       |   25 +-
 lib/docs/scrapers/cpp.rb                           |    9 +
 lib/docs/scrapers/crystal.rb                       |   32 +-
 lib/docs/scrapers/cypress.rb                       |   40 +
 lib/docs/scrapers/d.rb                             |    9 +-
 lib/docs/scrapers/d3.rb                            |   38 +-
 lib/docs/scrapers/dart.rb                          |   17 +-
 lib/docs/scrapers/deno.rb                          |   23 +
 lib/docs/scrapers/django.rb                        |   36 +-
 lib/docs/scrapers/docker.rb                        |  179 +-
 lib/docs/scrapers/dojo.rb                          |    5 +
 lib/docs/scrapers/drupal.rb                        |    5 +
 lib/docs/scrapers/eigen3.rb                        |   76 +
 lib/docs/scrapers/electron.rb                      |   19 +-
 lib/docs/scrapers/elisp.rb                         |   70 +
 lib/docs/scrapers/elixir.rb                        |   74 +-
 lib/docs/scrapers/ember.rb                         |   53 +-
 lib/docs/scrapers/enzyme.rb                        |   24 +
 lib/docs/scrapers/erlang.rb                        |   18 +-
 lib/docs/scrapers/esbuild.rb                       |   27 +
 lib/docs/scrapers/eslint.rb                        |    8 +-
 lib/docs/scrapers/express.rb                       |    6 +-
 lib/docs/scrapers/falcon.rb                        |   14 +-
 lib/docs/scrapers/fish.rb                          |   60 +-
 lib/docs/scrapers/flask.rb                         |   45 +
 lib/docs/scrapers/flow.rb                          |    6 +-
 lib/docs/scrapers/git.rb                           |   11 +-
 lib/docs/scrapers/gnu/gcc.rb                       |   56 +-
 lib/docs/scrapers/gnu/gnu_fortran.rb               |   26 +
 lib/docs/scrapers/gnu_cobol.rb                     |   30 +
 lib/docs/scrapers/gnu_make.rb                      |   34 +
 lib/docs/scrapers/gnuplot.rb                       |   47 +
 lib/docs/scrapers/go.rb                            |   19 +-
 lib/docs/scrapers/godot.rb                         |   23 +-
 lib/docs/scrapers/graphite.rb                      |    6 +
 lib/docs/scrapers/groovy.rb                        |   51 +
 lib/docs/scrapers/grunt.rb                         |   10 +-
 lib/docs/scrapers/gtk.rb                           |  116 +
 lib/docs/scrapers/handlebars.rb                    |    4 +
 lib/docs/scrapers/haproxy.rb                       |   68 +
 lib/docs/scrapers/haskell.rb                       |   20 +-
 lib/docs/scrapers/haxe.rb                          |   16 +-
 lib/docs/scrapers/homebrew.rb                      |    6 +-
 lib/docs/scrapers/http.rb                          |   39 +-
 lib/docs/scrapers/i3.rb                            |   28 +
 lib/docs/scrapers/immutable.rb                     |   53 +-
 lib/docs/scrapers/influxdata.rb                    |    4 +
 lib/docs/scrapers/jasmine.rb                       |   12 +-
 lib/docs/scrapers/jekyll.rb                        |   21 +-
 lib/docs/scrapers/jest.rb                          |   26 +-
 lib/docs/scrapers/jinja.rb                         |   44 +
 lib/docs/scrapers/jq.rb                            |   27 +
 lib/docs/scrapers/jquery/jquery_core.rb            |    6 +-
 lib/docs/scrapers/jquery/jquery_mobile.rb          |    5 +
 lib/docs/scrapers/jquery/jquery_ui.rb              |    6 +-
 lib/docs/scrapers/jsdoc.rb                         |   12 +-
 lib/docs/scrapers/julia.rb                         |   91 +-
 lib/docs/scrapers/knockout.rb                      |   12 +-
 lib/docs/scrapers/koa.rb                           |   13 +-
 lib/docs/scrapers/kotlin.rb                        |   33 +-
 lib/docs/scrapers/laravel.rb                       |   74 +-
 lib/docs/scrapers/latex.rb                         |   31 +
 lib/docs/scrapers/leaflet.rb                       |   27 +-
 lib/docs/scrapers/less.rb                          |   21 +-
 lib/docs/scrapers/liquid.rb                        |    8 +-
 lib/docs/scrapers/lodash.rb                        |    5 +
 lib/docs/scrapers/love.rb                          |   21 +-
 lib/docs/scrapers/lua.rb                           |   17 +-
 lib/docs/scrapers/mariadb.rb                       |   37 +
 lib/docs/scrapers/marionette.rb                    |    4 +
 lib/docs/scrapers/markdown.rb                      |    6 +-
 lib/docs/scrapers/matplotlib.rb                    |   53 +-
 lib/docs/scrapers/mdn/css.rb                       |    3 +-
 lib/docs/scrapers/mdn/dom.rb                       |   86 +-
 lib/docs/scrapers/mdn/dom_events.rb                |   24 -
 lib/docs/scrapers/mdn/html.rb                      |   14 +-
 lib/docs/scrapers/mdn/javascript.rb                |    3 +-
 lib/docs/scrapers/mdn/mdn.rb                       |   16 +-
 lib/docs/scrapers/mdn/svg.rb                       |    3 +-
 lib/docs/scrapers/mdn/web_extensions.rb            |   19 +
 lib/docs/scrapers/mdn/xslt_xpath.rb                |   10 +-
 lib/docs/scrapers/meteor.rb                        |    5 +
 lib/docs/scrapers/mkdocs/django_rest_framework.rb  |   29 +
 lib/docs/scrapers/mkdocs/mkdocs.rb                 |   19 +
 lib/docs/scrapers/mocha.rb                         |    8 +-
 lib/docs/scrapers/modernizr.rb                     |   12 +-
 lib/docs/scrapers/moment.rb                        |    4 +
 lib/docs/scrapers/mongoose.rb                      |   13 +-
 lib/docs/scrapers/nginx.rb                         |   15 +-
 lib/docs/scrapers/nginx_lua_module.rb              |    9 +
 lib/docs/scrapers/nim.rb                           |   11 +-
 lib/docs/scrapers/node.rb                          |   36 +-
 lib/docs/scrapers/nokogiri2.rb                     |   13 +-
 lib/docs/scrapers/npm.rb                           |   67 +-
 lib/docs/scrapers/numpy.rb                         |   56 +-
 lib/docs/scrapers/ocaml.rb                         |   35 +
 lib/docs/scrapers/octave.rb                        |   48 +
 lib/docs/scrapers/openjdk.rb                       |   66 +-
 lib/docs/scrapers/opentsdb.rb                      |    4 +
 lib/docs/scrapers/padrino.rb                       |   10 +-
 lib/docs/scrapers/pandas.rb                        |  101 +-
 lib/docs/scrapers/perl.rb                          |   53 +-
 lib/docs/scrapers/phalcon.rb                       |    5 +
 lib/docs/scrapers/phaser.rb                        |    4 +
 lib/docs/scrapers/phoenix.rb                       |   17 +-
 lib/docs/scrapers/php.rb                           |   33 +-
 lib/docs/scrapers/phpunit.rb                       |   58 +-
 lib/docs/scrapers/point_cloud_library.rb           |   41 +
 lib/docs/scrapers/pony.rb                          |   27 +
 lib/docs/scrapers/postgresql.rb                    |   44 +-
 lib/docs/scrapers/prettier.rb                      |   25 +
 lib/docs/scrapers/pug.rb                           |   10 +-
 lib/docs/scrapers/puppeteer.rb                     |   13 +-
 lib/docs/scrapers/pygame.rb                        |   13 +-
 lib/docs/scrapers/python.rb                        |   63 +-
 lib/docs/scrapers/pytorch.rb                       |   32 +
 lib/docs/scrapers/q.rb                             |    4 +
 lib/docs/scrapers/qt.rb                            |   46 +-
 lib/docs/scrapers/r.rb                             |   58 +
 lib/docs/scrapers/ramda.rb                         |   12 +-
 lib/docs/scrapers/rdoc/minitest.rb                 |    5 +
 lib/docs/scrapers/rdoc/rails.rb                    |   44 +-
 lib/docs/scrapers/rdoc/ruby.rb                     |   26 +-
 lib/docs/scrapers/react.rb                         |    7 +-
 lib/docs/scrapers/react_bootstrap.rb               |   35 +
 lib/docs/scrapers/react_native.rb                  |   18 +-
 lib/docs/scrapers/react_router.rb                  |   26 +
 lib/docs/scrapers/reactivex.rb                     |   27 +
 lib/docs/scrapers/redis.rb                         |   12 +-
 lib/docs/scrapers/redux.rb                         |   26 +-
 lib/docs/scrapers/relay.rb                         |   32 +-
 lib/docs/scrapers/requirejs.rb                     |    4 +
 lib/docs/scrapers/rethinkdb.rb                     |   76 +-
 lib/docs/scrapers/rust.rb                          |   18 +-
 lib/docs/scrapers/rxjs.rb                          |   94 +
 lib/docs/scrapers/salt_stack.rb                    |   27 +
 lib/docs/scrapers/sass.rb                          |   20 +-
 lib/docs/scrapers/scala.rb                         |   90 +
 lib/docs/scrapers/scikit_image.rb                  |   13 +-
 lib/docs/scrapers/scikit_learn.rb                  |   22 +-
 lib/docs/scrapers/sequelize.rb                     |   43 +
 lib/docs/scrapers/sinon.rb                         |   39 +-
 lib/docs/scrapers/socketio.rb                      |   27 +-
 lib/docs/scrapers/spring_boot.rb                   |   28 +
 lib/docs/scrapers/sqlite.rb                        |    9 +-
 lib/docs/scrapers/statsmodels.rb                   |    3 +
 lib/docs/scrapers/support_tables.rb                |   11 +-
 lib/docs/scrapers/symfony.rb                       |    4 +
 lib/docs/scrapers/tailwindcss.rb                   |   59 +
 lib/docs/scrapers/tcl_tk.rb                        |    9 +
 lib/docs/scrapers/tensorflow.rb                    |   70 -
 lib/docs/scrapers/tensorflow/tensorflow.rb         |   52 +
 lib/docs/scrapers/tensorflow/tensorflow_cpp.rb     |   22 +
 lib/docs/scrapers/terraform.rb                     |    5 +
 lib/docs/scrapers/trio.rb                          |   31 +
 lib/docs/scrapers/twig.rb                          |   17 +-
 lib/docs/scrapers/typescript.rb                    |   47 +-
 lib/docs/scrapers/underscore.rb                    |    9 +-
 lib/docs/scrapers/vagrant.rb                       |    4 +
 lib/docs/scrapers/vite.rb                          |   27 +
 lib/docs/scrapers/vue.rb                           |   26 +-
 lib/docs/scrapers/vue_router.rb                    |   37 +
 lib/docs/scrapers/vuex.rb                          |   35 +
 lib/docs/scrapers/vulkan.rb                        |    5 +
 lib/docs/scrapers/webpack.rb                       |   79 +-
 lib/docs/scrapers/werkzeug.rb                      |   44 +
 lib/docs/scrapers/wordpress.rb                     |   44 +
 lib/docs/scrapers/yarn.rb                          |   36 +-
 lib/docs/scrapers/yii.rb                           |    4 +
 lib/docs/scrapers/zig.rb                           |   24 +
 lib/tasks/assets.thor                              |    3 +
 lib/tasks/docs.thor                                |   75 +-
 lib/tasks/sprites.thor                             |  241 +
 lib/tasks/updates.thor                             |  313 ++
 public/404.html                                    |   17 +-
 public/500.html                                    |   15 +-
 public/docs/docs.json                              |    1 -
 public/icons/docs-1.pxm                            |  Bin 3352748 -> 0 bytes
 public/icons/docs-1 2x pxm                         |  Bin 3669552 -> 0 bytes
 public/icons/docs-2.pxm                            |  Bin 1411876 -> 0 bytes
 public/icons/docs-2 2x pxm                         |  Bin 1523904 -> 0 bytes
 public/icons/docs/angular/16.png                   |  Bin 727 -> 1108 bytes
 public/icons/docs/angular/16 2x png                |  Bin 1306 -> 2266 bytes
 public/icons/docs/babel/16 2x png                  |  Bin 1560 -> 1558 bytes
 public/icons/docs/bluebird/16 2x png               |  Bin 1018 -> 2248 bytes
 public/icons/docs/bootstrap/SOURCE                 |    2 +-
 public/icons/docs/cakephp/16.png                   |  Bin 760 -> 1137 bytes
 public/icons/docs/cakephp/16 2x png                |  Bin 1998 -> 1311 bytes
 public/icons/docs/cakephp/SOURCE                   |    2 +-
 public/icons/docs/chai/SOURCE                      |    2 +-
 public/icons/docs/codeceptjs/16.png                |  Bin 834 -> 914 bytes
 public/icons/docs/codeceptjs/16 2x png             |  Bin 2147 -> 2092 bytes
 public/icons/docs/codeceptjs/SOURCE                |    2 +-
 public/icons/docs/codeigniter/SOURCE               |    2 +-
 public/icons/docs/coffeescript/SOURCE              |    2 +-
 public/icons/docs/composer/16.png                  |  Bin 0 -> 1409 bytes
 public/icons/docs/composer/16 2x png               |  Bin 0 -> 3348 bytes
 public/icons/docs/composer/SOURCE                  |    1 +
 .../docs/css/CSS3.sketch/QuickLook/Preview.png     |  Bin 19757 -> 11942 bytes
 .../docs/css/CSS3.sketch/QuickLook/Thumbnail.png   |  Bin 82586 -> 54726 bytes
 public/icons/docs/cypress/16.png                   |  Bin 0 -> 1069 bytes
 public/icons/docs/cypress/16 2x png                |  Bin 0 -> 1479 bytes
 public/icons/docs/cypress/SOURCE                   |    1 +
 public/icons/docs/d3/16 2x png                     |  Bin 2053 -> 1827 bytes
 public/icons/docs/deno/16.png                      |  Bin 0 -> 422 bytes
 public/icons/docs/deno/16 2x png                   |  Bin 0 -> 850 bytes
 public/icons/docs/deno/SOURCE                      |    1 +
 public/icons/docs/django_rest_framework/16.png     |  Bin 0 -> 262 bytes
 public/icons/docs/django_rest_framework/16 2x png  |  Bin 0 -> 201 bytes
 public/icons/docs/django_rest_framework/SOURCE     |    1 +
 public/icons/docs/dom/16.png                       |  Bin 555 -> 446 bytes
 public/icons/docs/dom/16 2x png                    |  Bin 1179 -> 976 bytes
 .../docs/dom/DOM.sketch/QuickLook/Preview.png      |  Bin 20363 -> 12502 bytes
 .../docs/dom/DOM.sketch/QuickLook/Thumbnail.png    |  Bin 95153 -> 63923 bytes
 public/icons/docs/dom_events/16.png                |  Bin 427 -> 423 bytes
 .../DOM_events.sketch/QuickLook/Preview.png        |  Bin 19452 -> 11755 bytes
 .../DOM_events.sketch/QuickLook/Thumbnail.png      |  Bin 88324 -> 59143 bytes
 public/icons/docs/eigen3/16.png                    |  Bin 0 -> 1460 bytes
 public/icons/docs/eigen3/16 2x png                 |  Bin 0 -> 3088 bytes
 public/icons/docs/eigen3/SOURCE                    |    1 +
 public/icons/docs/elisp/16.png                     |  Bin 0 -> 1426 bytes
 public/icons/docs/elisp/16 2x png                  |  Bin 0 -> 2905 bytes
 public/icons/docs/elisp/SOURCE                     |    1 +
 public/icons/docs/elixir/16 2x png                 |  Bin 1750 -> 1747 bytes
 public/icons/docs/esbuild/16.png                   |  Bin 0 -> 460 bytes
 public/icons/docs/esbuild/16 2x png                |  Bin 0 -> 756 bytes
 public/icons/docs/esbuild/SOURCE                   |    1 +
 public/icons/docs/eslint/SOURCE                    |    2 +-
 public/icons/docs/fish/16.png                      |  Bin 115 -> 6538 bytes
 public/icons/docs/fish/16 2x png                   |  Bin 134 -> 1504 bytes
 public/icons/docs/fish/SOURCE                      |    1 +
 public/icons/docs/flask/16.png                     |  Bin 0 -> 2293 bytes
 public/icons/docs/flask/16 2x png                  |  Bin 0 -> 2709 bytes
 public/icons/docs/flask/SOURCE                     |    1 +
 public/icons/docs/flow/SOURCE                      |    2 +
 public/icons/docs/gnu_cobol/16.png                 |  Bin 0 -> 447 bytes
 public/icons/docs/gnu_cobol/16 2x png              |  Bin 0 -> 1276 bytes
 public/icons/docs/gnu_cobol/SOURCE                 |    1 +
 public/icons/docs/gnu_make/16.png                  |  Bin 0 -> 626 bytes
 public/icons/docs/gnu_make/16 2x png               |  Bin 0 -> 1323 bytes
 public/icons/docs/gnu_make/SOURCE                  |    1 +
 public/icons/docs/gnuplot/16.png                   |  Bin 0 -> 2954 bytes
 public/icons/docs/gnuplot/16 2x png                |  Bin 0 -> 2163 bytes
 public/icons/docs/gnuplot/SOURCE                   |    1 +
 public/icons/docs/godot/16.png                     |  Bin 751 -> 642 bytes
 public/icons/docs/godot/16 2x png                  |  Bin 1585 -> 1415 bytes
 public/icons/docs/groovy/16.png                    |  Bin 0 -> 1876 bytes
 public/icons/docs/groovy/16 2x png                 |  Bin 0 -> 3164 bytes
 public/icons/docs/groovy/SOURCE                    |    1 +
 public/icons/docs/gtk/16.png                       |  Bin 1320 -> 1199 bytes
 public/icons/docs/gtk/16 2x png                    |  Bin 2391 -> 2100 bytes
 public/icons/docs/gtk/SOURCE                       |    2 +-
 public/icons/docs/haproxy/16.png                   |  Bin 0 -> 24501 bytes
 public/icons/docs/haproxy/16 2x png                |  Bin 0 -> 24066 bytes
 public/icons/docs/haproxy/SOURCE                   |    1 +
 public/icons/docs/haskell/16.png                   |  Bin 624 -> 675 bytes
 public/icons/docs/haskell/16 2x png                |  Bin 705 -> 1256 bytes
 public/icons/docs/haskell/SOURCE                   |    1 +
 public/icons/docs/homebrew/SOURCE                  |    2 +-
 .../docs/html/HTML5.sketch/QuickLook/Preview.png   |  Bin 19675 -> 11880 bytes
 .../docs/html/HTML5.sketch/QuickLook/Thumbnail.png |  Bin 84121 -> 55644 bytes
 public/icons/docs/i3/16.png                        |  Bin 0 -> 1203 bytes
 public/icons/docs/i3/16 2x png                     |  Bin 0 -> 2162 bytes
 public/icons/docs/i3/SOURCE                        |    1 +
 public/icons/docs/jasmine/SOURCE                   |    2 +-
 public/icons/docs/jinja/16.png                     |  Bin 0 -> 11796 bytes
 public/icons/docs/jinja/16 2x png                  |  Bin 0 -> 12597 bytes
 public/icons/docs/jinja/SOURCE                     |    1 +
 public/icons/docs/jq/16.png                        |  Bin 0 -> 801 bytes
 public/icons/docs/jq/16 2x png                     |  Bin 0 -> 1085 bytes
 public/icons/docs/jq/SOURCE                        |    1 +
 public/icons/docs/knockout/16 2x png               |  Bin 2378 -> 2138 bytes
 public/icons/docs/latex/16.png                     |  Bin 0 -> 305 bytes
 public/icons/docs/latex/16 2x png                  |  Bin 0 -> 568 bytes
 public/icons/docs/latex/SOURCE                     |    1 +
 public/icons/docs/leaflet/16.png                   |  Bin 670 -> 1047 bytes
 public/icons/docs/leaflet/16 2x png                |  Bin 1600 -> 1779 bytes
 public/icons/docs/leaflet/SOURCE                   |    2 +-
 public/icons/docs/less/16.png                      |  Bin 502 -> 496 bytes
 public/icons/docs/liquid/16.png                    |  Bin 458 -> 1130 bytes
 public/icons/docs/liquid/16 2x png                 |  Bin 847 -> 1622 bytes
 public/icons/docs/mariadb/16.png                   |  Bin 0 -> 936 bytes
 public/icons/docs/mariadb/16 2x png                |  Bin 0 -> 1559 bytes
 public/icons/docs/mariadb/SOURCE                   |    1 +
 public/icons/docs/meteor/16.png                    |  Bin 302 -> 293 bytes
 public/icons/docs/modernizr/16 2x png              |  Bin 118 -> 114 bytes
 .../moment/moment.sketch/QuickLook/Preview.png     |  Bin 378 -> 208 bytes
 .../moment/moment.sketch/QuickLook/Thumbnail.png   |  Bin 49727 -> 16360 bytes
 public/icons/docs/node/SOURCE                      |    2 +-
 public/icons/docs/nokogiri/16.png                  |  Bin 382 -> 378 bytes
 public/icons/docs/numpy/SOURCE                     |    2 +-
 public/icons/docs/ocaml/16.png                     |  Bin 0 -> 606 bytes
 public/icons/docs/ocaml/16 2x png                  |  Bin 0 -> 1183 bytes
 public/icons/docs/ocaml/SOURCE                     |    2 +
 public/icons/docs/octave/16.png                    |  Bin 0 -> 1249 bytes
 public/icons/docs/octave/16 2x png                 |  Bin 0 -> 1929 bytes
 public/icons/docs/octave/SOURCE                    |    1 +
 public/icons/docs/pandas/16.png                    |  Bin 324 -> 794 bytes
 public/icons/docs/pandas/16 2x png                 |  Bin 441 -> 1304 bytes
 public/icons/docs/pandas/SOURCE                    |    2 +-
 public/icons/docs/php/16 2x png                    |  Bin 242 -> 235 bytes
 public/icons/docs/point_cloud_library/16.png       |  Bin 0 -> 494 bytes
 public/icons/docs/point_cloud_library/16 2x png    |  Bin 0 -> 894 bytes
 public/icons/docs/point_cloud_library/SOURCE       |    1 +
 public/icons/docs/pony/16.png                      |  Bin 0 -> 1206 bytes
 public/icons/docs/pony/16 2x png                   |  Bin 0 -> 1843 bytes
 public/icons/docs/pony/SOURCE                      |    1 +
 public/icons/docs/postgresql/SOURCE                |    2 +-
 public/icons/docs/prettier/16.png                  |  Bin 0 -> 941 bytes
 public/icons/docs/prettier/16 2x png               |  Bin 0 -> 1528 bytes
 public/icons/docs/prettier/SOURCE                  |    1 +
 public/icons/docs/pytorch/16.png                   |  Bin 0 -> 1526 bytes
 public/icons/docs/pytorch/16 2x png                |  Bin 0 -> 2302 bytes
 public/icons/docs/pytorch/SOURCE                   |    1 +
 public/icons/docs/r/16.png                         |  Bin 0 -> 716 bytes
 public/icons/docs/r/16 2x png                      |  Bin 0 -> 1430 bytes
 public/icons/docs/r/SOURCE                         |    1 +
 public/icons/docs/react_bootstrap/16.png           |  Bin 0 -> 642 bytes
 public/icons/docs/react_bootstrap/16 2x png        |  Bin 0 -> 1445 bytes
 public/icons/docs/react_bootstrap/SOURCE           |    1 +
 public/icons/docs/react_native/SOURCE              |    2 +-
 public/icons/docs/react_router/16.png              |  Bin 0 -> 795 bytes
 public/icons/docs/react_router/16 2x png           |  Bin 0 -> 1536 bytes
 public/icons/docs/react_router/SOURCE              |    1 +
 public/icons/docs/reactivex/16.png                 |  Bin 0 -> 1521 bytes
 public/icons/docs/reactivex/16 2x png              |  Bin 0 -> 5084 bytes
 public/icons/docs/reactivex/SOURCE                 |    1 +
 public/icons/docs/ruby/16.png                      |  Bin 906 -> 901 bytes
 public/icons/docs/ruby/SOURCE                      |    3 +-
 public/icons/docs/rxjs/16.png                      |  Bin 0 -> 1427 bytes
 public/icons/docs/rxjs/16 2x png                   |  Bin 0 -> 4821 bytes
 public/icons/docs/rxjs/SOURCE                      |    1 +
 public/icons/docs/saltstack/16.png                 |  Bin 0 -> 670 bytes
 public/icons/docs/saltstack/16 2x png              |  Bin 0 -> 1293 bytes
 public/icons/docs/saltstack/SOURCE                 |    1 +
 public/icons/docs/scala/16.png                     |  Bin 0 -> 920 bytes
 public/icons/docs/scala/16 2x png                  |  Bin 0 -> 1717 bytes
 public/icons/docs/sequelize/16.png                 |  Bin 0 -> 1360 bytes
 public/icons/docs/sequelize/16 2x png              |  Bin 0 -> 3226 bytes
 public/icons/docs/sequelize/SOURCE                 |    1 +
 public/icons/docs/spring_boot/16.png               |  Bin 0 -> 2781 bytes
 public/icons/docs/spring_boot/16 2x png            |  Bin 0 -> 4929 bytes
 public/icons/docs/spring_boot/SOURCE               |    1 +
 public/icons/docs/support_tables/16.png            |  Bin 747 -> 633 bytes
 public/icons/docs/support_tables/16.pxm            |  Bin 101020 -> 0 bytes
 public/icons/docs/support_tables/16 2x png         |  Bin 1826 -> 1712 bytes
 public/icons/docs/support_tables/16 2x pxm         |  Bin 118881 -> 0 bytes
 public/icons/docs/support_tables/SOURCE            |    3 +-
 public/icons/docs/tailwindcss/16.png               |  Bin 0 -> 601 bytes
 public/icons/docs/tailwindcss/16 2x png            |  Bin 0 -> 1089 bytes
 public/icons/docs/tailwindcss/SOURCE               |    1 +
 public/icons/docs/tensorflow/16.png                |  Bin 701 -> 599 bytes
 public/icons/docs/tensorflow/16 2x png             |  Bin 898 -> 404 bytes
 public/icons/docs/tensorflow_cpp/16.png            |  Bin 0 -> 599 bytes
 public/icons/docs/tensorflow_cpp/16 2x png         |  Bin 0 -> 404 bytes
 public/icons/docs/tensorflow_cpp/SOURCE            |    1 +
 public/icons/docs/trio/16.png                      |  Bin 0 -> 794 bytes
 public/icons/docs/trio/16 2x png                   |  Bin 0 -> 1677 bytes
 public/icons/docs/trio/SOURCE                      |    1 +
 public/icons/docs/twig/16.png                      |  Bin 772 -> 1115 bytes
 public/icons/docs/twig/16 2x png                   |  Bin 2411 -> 1785 bytes
 public/icons/docs/twig/SOURCE                      |    2 +-
 public/icons/docs/underscore/16 2x png             |  Bin 4039 -> 4024 bytes
 public/icons/docs/vite/16.png                      |  Bin 0 -> 703 bytes
 public/icons/docs/vite/16 2x png                   |  Bin 0 -> 1376 bytes
 public/icons/docs/vite/SOURCE                      |    1 +
 public/icons/docs/vue_router/16.png                |  Bin 0 -> 534 bytes
 public/icons/docs/vue_router/16 2x png             |  Bin 0 -> 1244 bytes
 public/icons/docs/vue_router/SOURCE                |    1 +
 public/icons/docs/vuex/16.png                      |  Bin 0 -> 534 bytes
 public/icons/docs/vuex/16 2x png                   |  Bin 0 -> 1244 bytes
 public/icons/docs/vuex/SOURCE                      |    1 +
 public/icons/docs/werkzeug/16.png                  |  Bin 0 -> 801 bytes
 public/icons/docs/werkzeug/16 2x png               |  Bin 0 -> 4348 bytes
 public/icons/docs/werkzeug/SOURCE                  |    1 +
 public/icons/docs/wordpress/16.png                 |  Bin 0 -> 1394 bytes
 public/icons/docs/wordpress/16 2x png              |  Bin 0 -> 1703 bytes
 public/icons/docs/wordpress/SOURCE                 |    1 +
 public/icons/docs/xpath/16.png                     |  Bin 324 -> 323 bytes
 .../docs/xpath/XPath.sketch/QuickLook/Preview.png  |  Bin 26202 -> 17433 bytes
 .../xpath/XPath.sketch/QuickLook/Thumbnail.png     |  Bin 109471 -> 71919 bytes
 public/icons/docs/zig/16.png                       |  Bin 0 -> 552 bytes
 public/icons/docs/zig/16 2x png                    |  Bin 0 -> 1001 bytes
 public/icons/docs/zig/SOURCE                       |    2 +
 public/images/webapp-icon-192.png                  |  Bin 32187 -> 29187 bytes
 public/images/webapp-icon-512.png                  |  Bin 246851 -> 169895 bytes
 public/images/webapp-icon-60.png                   |  Bin 9899 -> 9036 bytes
 public/images/webapp-icon-80.png                   |  Bin 13573 -> 11861 bytes
 public/opensearch.xml                              |    4 +-
 renovate.json                                      |    3 +
 test/lib/docs/core/doc_test.rb                     |   18 +
 test/lib/docs/core/scrapers/file_scraper_test.rb   |    4 +-
 test/lib/docs/filters/core/parse_cf_email_test.rb  |   17 +
 views/app.erb                                      |    1 +
 views/index.erb                                    |   29 +-
 views/other.erb                                    |    6 +-
 views/service-worker.js.erb                        |   13 +-
 786 files changed, 19090 insertions(+), 5861 deletions(-)
---
diff --cc Dockerfile
index beb1d318,ac9a8c21..216386e4
--- a/Dockerfile
+++ b/Dockerfile
@@@ -1,146 -1,25 +1,146 @@@
 -FROM ruby:2.7.5
 +# We bump this each release to fetch the latest stable GIRs
 +FROM registry.fedoraproject.org/fedora:36 AS fetch
 +
 +RUN dnf install -y \
 +        NetworkManager-libnm-devel cairo-devel evince-devel folks-devel \
 +        geoclue2-devel geocode-glib-devel glib2-devel \
 +        gnome-bluetooth-libs-devel gnome-online-accounts-devel gnome-shell \
 +        gobject-introspection-devel gom-devel graphene-devel grilo-devel \
 +        gsettings-desktop-schemas-devel gsound-devel gspell-devel \
 +        gstreamer1-{,plugins-base-,plugins-bad-free-}devel gtk{2,3,4}-devel \
 +        gtksourceview{3,4}-devel gupnp-devel gupnp-dlna-devel harfbuzz-devel \
 +        ibus-devel keybinder3-devel libappindicator-gtk3-devel \
 +        libadwaita-devel libappstream-glib-devel libgcab1-devel libgdata-devel \
 +        libgda-devel libgudev-devel libgweather-devel libgxps-devel \
 +        libhandy1-devel libnotify-devel libpeas-devel libportal-devel \
 +        librsvg2-devel libsecret-devel libsoup-devel libsoup3-devel mutter \
 +        pango-devel polkit-devel poppler-glib-devel rest-devel \
 +        telepathy-glib-devel tracker-devel udisks-devel upower-devel \
 +        vte{,291}-devel wireplumber-devel && \
 +    dnf clean all && \
 +    rm -rf /var/cache/yum
 +
 +
 +# We build in fedora:33 for the ruby dependency
 +FROM registry.fedoraproject.org/fedora:33 AS build
  
  ENV LANG=C.UTF-8
 -ENV ENABLE_SERVICE_WORKER=true
  
 -WORKDIR /devdocs
 +# These are GIRs from the fetch step
 +COPY --from=fetch /usr/share/gir-1.0 /usr/share/gir-1.0
 +COPY --from=fetch /usr/share/gnome-shell /usr/share/gnome-shell
 +COPY --from=fetch /usr/lib64/mutter-10 /usr/lib64/mutter-10
  
 -RUN apt-get update && \
 -    apt-get -y install git nodejs libcurl4 && \
 -    gem install bundler && \
 -    rm -rf /var/lib/apt/lists/*
 +# These are extra GIRs we can't install with dnf
 +COPY lib/docs/scrapers/gnome/girs/GnomeBluetooth-1.0.gir /usr/share/gir-1.0/
 +COPY lib/docs/scrapers/gnome/girs/GtkosxApplication-1.0.gir /usr/share/gir-1.0/
 +COPY lib/docs/scrapers/gnome/girs/Tracker-2.0.gir /usr/share/gir-1.0/
 +COPY lib/docs/scrapers/gnome/girs/TrackerControl-2.0.gir /usr/share/gir-1.0/
 +COPY lib/docs/scrapers/gnome/girs/TrackerMiner-2.0.gir /usr/share/gir-1.0/
 +
 +COPY lib/docs/scrapers/gnome/girs/mutter-3 /usr/lib64/mutter-3
 +COPY lib/docs/scrapers/gnome/girs/mutter-4 /usr/lib64/mutter-4
 +COPY lib/docs/scrapers/gnome/girs/mutter-5 /usr/lib64/mutter-5
 +COPY lib/docs/scrapers/gnome/girs/mutter-6 /usr/lib64/mutter-6
 +COPY lib/docs/scrapers/gnome/girs/mutter-7 /usr/lib64/mutter-7
 +COPY lib/docs/scrapers/gnome/girs/mutter-8 /usr/lib64/mutter-8
 +COPY lib/docs/scrapers/gnome/girs/mutter-9 /usr/lib64/mutter-9
 +
 +# Install devdocs dependencies
 +RUN dnf install -y 'dnf-command(builddep)' @development-tools bzip2 gcc-c++ && \
 +    dnf builddep -y ruby && \
 +    dnf install -y ruby rubygem-bundler ruby-devel python3-markdown \
 +                   gobject-introspection-devel && \
 +    dnf clean all && \
 +    rm -rf /var/cache/yum
 +
 +# Install the devdocs application
 +COPY . /opt/devdocs/
 +WORKDIR /opt/devdocs
 +
 +RUN bundle config set --local deployment 'true'
 +RUN bundle install
  
 -COPY Gemfile Gemfile.lock Rakefile /devdocs/
 +# Generate scrapers
 +RUN bundle exec thor gir:generate_all /usr/share/gir-1.0
 +RUN bundle exec thor gir:generate_all /usr/lib64/mutter-3
 +RUN bundle exec thor gir:generate_all /usr/lib64/mutter-4
 +RUN bundle exec thor gir:generate_all /usr/lib64/mutter-5
 +RUN bundle exec thor gir:generate_all /usr/lib64/mutter-6
 +RUN bundle exec thor gir:generate_all /usr/lib64/mutter-7
 +RUN bundle exec thor gir:generate_all /usr/lib64/mutter-8
 +RUN bundle exec thor gir:generate_all /usr/lib64/mutter-9
 +RUN bundle exec thor gir:generate_all /usr/lib64/mutter-10
  
 -RUN bundle install --system && \
 -    rm -rf ~/.gem /root/.bundle/cache /usr/local/bundle/cache
 +# Some of the gnome-shell GIRs need extra include paths
 +RUN bundle exec thor gir:generate /usr/share/gnome-shell/Gvc-1.0.gir
 +RUN bundle exec thor gir:generate /usr/share/gnome-shell/Shell-0.1.gir --include /usr/lib64/mutter-10
 +RUN bundle exec thor gir:generate /usr/share/gnome-shell/St-1.0.gir --include /usr/lib64/mutter-10
  
 -COPY . /devdocs
 +# Build docsets
 +#
 +# Intentionally omitted:
 +# dbus10, dbusglib10, fontconfig20, freetype220, gdkpixdata20, gl10, gmodule20,
 +#   libxml220, win3210, xfixes40, xft20, xlib20, xrandr13
 +RUN echo adw1 appindicator301 appstreamglib10 atk10 atspi20 cairo10 \
 +        camel12  dbusmenu04 ebook12 ebookcontacts12 ecal20 edataserver12 \
 +        edataserverui12 evincedocument30 evinceview30 folks07 folksdummy07 \
 +        folkseds07 folkstelepathy07 gcab10 gck1 gcr3 gcrui3 gda50 gdata00 \
 +        gdesktopenums30 gdk20 gdk30 gdk40 gdkpixbuf20 gdkx1120 gdkx1130 \
 +        gdkx1140 gee08 geoclue20 geocodeglib10 gio20 girepository20 glib20 \
 +        gnomebluetooth10 gnomebluetooth30 goa10 gobject20 gom10 graphene10 \
 +        grl03 grlnet03 grlpls03 gsk40 gsound10 gspell1 gssdp12 gst10 \
 +        gstallocators10 gstapp10 gstaudio10 gstbadaudio10 gstbase10 gstcheck10 \
 +        gstcodecs10 gstcontroller10 gstgl10 gstinsertbin10 gstmpegts10 \
 +        gstnet10 gstpbutils10 gstplayer10 gstrtp10 gstrtsp10 gstsdp10 gsttag10 \
 +        gstvideo10 gstvulkan10 gstwebrtc10 gtk20 gtk30 gtk40 \
 +        gtkosxapplication10 gtksource30 gtksource4 gudev10 gupnp12 gupnpdlna20 \
 +        gupnpdlnagst20 gvc10 gweather30 gxps01 handy1 ibus10 javascriptcore40 \
 +        json10 keybinder30 nm10 notify07 pango10 pangocairo10 pangoft210 \
 +        pangoxft10 peas10 peasgtk10 polkit10 polkitagent10 poppler018 rest07 \
 +        restextras07 rsvg20 secret1 shell01 soup24 soup30 soupgnome24 st10 \
 +        telepathyglib012 tracker20 tracker30 trackercontrol20 trackerminer20 \
 +        upowerglib10 vte00 vte291 webkit240 webkit2webextension40 wp04 xdp10 \
 +        cally3 clutter3 clutterx113 cogl3 coglpango3 meta3 \
 +        cally4 clutter4 clutterx114 cogl4 coglpango4 meta4 \
 +        cally5 clutter5 clutterx115 cogl5 coglpango5 meta5 \
 +        cally6 clutter6 clutterx116 cogl6 coglpango6 meta6 \
 +        cally7 clutter7 clutterx117 cogl7 coglpango7 meta7 \
 +        cally8 clutter8 clutterx118 cogl8 coglpango8 meta8 \
 +        cally9 clutter9 cogl9 coglpango9 meta9 \
 +        cally10 clutter10 cogl10 coglpango10 meta10 \
 +        | tr ' ' '\n' | xargs -L1 -P$(nproc) bundle exec thor docs:generate --force
  
- # We deploy in ruby:2.7.3-alpine for size
 -RUN thor docs:download --all && \
++# We deploy in ruby:2.7.5-alpine for size
 +#
 +# Changes from Dockerfile-alpine:
- # - Ruby 2.6.0 -> 2.7.3
++# - Ruby 2.6.0 -> 2.7.5
 +# - Copy from the build-stage image instead of the current dir
 +# - Update bundler CLI usage
 +# - The css and javascript docsets don't resolve and have been removed
 +# - User permission fixes
- FROM docker.io/library/ruby:2.7.3-alpine
++FROM docker.io/library/ruby:2.7.5-alpine
 +
 +ENV LANG=C.UTF-8
 +ENV ENABLE_SERVICE_WORKER=true
 +
 +WORKDIR /devdocs
 +
 +COPY --from=build /opt/devdocs /devdocs
 +
- RUN apk --update add nodejs build-base libstdc++ gzip git zlib-dev && \
++RUN apk --update add nodejs build-base libstdc++ gzip git zlib-dev libcurl && \
 +    gem install bundler && \
 +    bundle config set system 'true' && \
 +    bundle config set without 'test' && \
 +    bundle install && \
      thor assets:compile && \
 -    rm -rf /tmp
 +    apk del gzip build-base git zlib-dev && \
 +    rm -rf /var/cache/apk/* /tmp ~/.gem /root/.bundle/cache \
 +    /usr/local/bundle/cache /usr/lib/node_modules
  
 +RUN adduser -D -h /devdocs -s /bin/bash -G root -u 1000 rbuser
 +RUN chmod -R 775 /devdocs
 +RUN chown -R rbuser:root /devdocs
  EXPOSE 9292
 -CMD rackup -o 0.0.0.0
 +CMD bundle exec rackup -o 0.0.0.0
 +
diff --cc Gemfile.lock
index 5b91e436,268b87ca..06b2681c
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@@ -117,19 -119,18 +119,19 @@@ GE
        strings (~> 0.1.4)
        tty-screen (~> 0.6)
        tty-which (~> 0.4)
-     tty-screen (0.6.5)
-     tty-which (0.4.0)
+     tty-screen (0.7.0)
+     tty-which (0.4.1)
      typhoeus (1.3.1)
        ethon (>= 0.9.0)
-     tzinfo (1.2.7)
+     tzinfo (1.2.9)
        thread_safe (~> 0.1)
-     uglifier (4.1.20)
+     uglifier (4.2.0)
        execjs (>= 0.3.0, < 3)
-     unicode-display_width (1.4.1)
+     unicode-display_width (1.6.0)
      unicode_utils (1.4.0)
      unix_utils (0.0.15)
 +    xdg (4.2.0)
-     yajl-ruby (1.4.1)
+     yajl-ruby (1.4.2)
  
  PLATFORMS
    ruby
diff --cc README.md
index cba762e8,e67b01f3..e0ac5951
--- a/README.md
+++ b/README.md
@@@ -1,18 -1,4 +1,18 @@@
 +# [DevDocs for GJS](https://gjs-docs.gnome.org) — API documentation browser for the GNOME JavaScript 
platform
 +
 +This is the source code for the website with API documentation for writing GNOME applications in 
JavaScript. It's based on an app called DevDocs, which combines multiple API documentations in a fast, 
organized, and searchable interface.
 +
 +# Contributing
 +
 +- Request missing documentation sets or report APIs that don't work quite the way they're documented, in 
the [issue tracker](https://gitlab.gnome.org/GNOME/devdocsgjs/-/issues).
 +- Check out the [code](https://gitlab.gnome.org/GNOME/devdocsgjs) and make improvements.
 +- Discuss things in the [chat channel](https://gnome.riot.im/#/room/#_gimpnet_#javascript:gnome.org).
 +
 +----
 +
 +The README from the original DevDocs project follows:
 +
- # [DevDocs](https://devdocs.io) — API Documentation Browser [![Build 
Status](https://travis-ci.org/freeCodeCamp/devdocs.svg?branch=master)](https://travis-ci.org/freeCodeCamp/devdocs)
+ # [DevDocs](https://devdocs.io) — API Documentation Browser
  
  DevDocs combines multiple developer documentations in a clean and organized web UI with instant search, 
offline support, mobile version, dark theme, keyboard shortcuts, and more.
  
diff --cc assets/javascripts/templates/pages/about_tmpl.coffee
index 2b2dc5b6,8f83cbad..b76aa860
--- a/assets/javascripts/templates/pages/about_tmpl.coffee
+++ b/assets/javascripts/templates/pages/about_tmpl.coffee
@@@ -20,20 -20,15 +20,20 @@@ app.templates.aboutPage = -> ""
      <li>Join the <a href="https://gitter.im/FreeCodeCamp/DevDocs";>Gitter</a> chat room
    </ul>
  
 +  <h2 class="_lined-heading">About the GNOME JavaScript documentation</h2>
 +
 +  <p>Generated using a modified <a 
href="https://github.com/ptomato/gobject-introspection/tree/wip/ptomato/devdocs";>g-ir-doc-tool</a>.
 +     An experiment demoed at the Developer Experience hackfest 2016.
 +
    <h2 class="_block-heading" id="copyright">Copyright and License</h2>
    <p class="_note">
-     <strong>Copyright 2013&ndash;2019 Thibaut Courouble and <a 
href="https://github.com/freeCodeCamp/devdocs/graphs/contributors";>other contributors</a></strong><br>
+     <strong>Copyright 2013&ndash;2021 Thibaut Courouble and <a 
href="https://github.com/freeCodeCamp/devdocs/graphs/contributors";>other contributors</a></strong><br>
      This software is licensed under the terms of the Mozilla Public License v2.0.<br>
 -    You may obtain a copy of the source code at <a 
href="https://github.com/freeCodeCamp/devdocs";>github.com/freeCodeCamp/devdocs</a>.<br>
 +    You may obtain a copy of the source code at <a 
href="https://github.com/ptomato/devdocs";>github.com/ptomato/devdocs</a> or of the original DevDocs' source 
code at <a href="https://github.com/freeCodeCamp/devdocs";>github.com/freeCodeCamp/devdocs</a>.<br>
-     For more information, see the <a 
href="https://github.com/freeCodeCamp/devdocs/blob/master/COPYRIGHT";>COPYRIGHT</a>
-     and <a href="https://github.com/freeCodeCamp/devdocs/blob/master/LICENSE";>LICENSE</a> files.
+     For more information, see the <a 
href="https://github.com/freeCodeCamp/devdocs/blob/main/COPYRIGHT";>COPYRIGHT</a>
+     and <a href="https://github.com/freeCodeCamp/devdocs/blob/main/LICENSE";>LICENSE</a> files.
  
 -  <h2 class="_block-heading" id="plugins">Plugins and Extensions</h2>
 +  <!--h2 class="_block-heading" id="plugins">Plugins and Extensions</h2>
    <ul>
      <li><a href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe";>Chrome 
web app</a>
      <li><a href="https://github.com/egoist/devdocs-app";>Desktop app</a>
@@@ -57,14 -53,10 +57,14 @@@
  
    <p><strong>Special thanks to:</strong>
    <ul>
 -    <li><a href="https://sentry.io/";>Sentry</a> and <a 
href="https://get.gaug.es/?utm_source=devdocs&utm_medium=referral&utm_campaign=sponsorships"; title="Real Time 
Web Analytics">Gauges</a> for offering a free account to DevDocs
 +    <li>Everaldo Canuto, Patrick Griffis, and Dustin Falgout for helping get this site back online
 +    <li><a href="https://nuveo.com.br";>Nuveo</a> for sponsoring the hosting
 +    <!-- The next three don't apply to us, we're not getting sponsored by them.
 +    The C/C++ logo is not used now, but will be later. -->
-     <!--li><a href="https://out.devdocs.io/s/maxcdn";>MaxCDN</a>, <a href="https://sentry.io/";>Sentry</a> 
and <a href="https://get.gaug.es/?utm_source=devdocs&utm_medium=referral&utm_campaign=sponsorships"; 
title="Real Time Web Analytics">Gauges</a> for offering a free account to DevDocs
++    <!--li><a href="https://sentry.io/";>Sentry</a> and <a 
href="https://get.gaug.es/?utm_source=devdocs&utm_medium=referral&utm_campaign=sponsorships"; title="Real Time 
Web Analytics">Gauges</a> for offering a free account to DevDocs
      <li><a href="https://out.devdocs.io/s/maxcdn";>MaxCDN</a>, <a 
href="https://out.devdocs.io/s/shopify";>Shopify</a>, <a 
href="https://out.devdocs.io/s/jetbrains";>JetBrains</a> and <a 
href="https://out.devdocs.io/s/code-school";>Code School</a> for sponsoring DevDocs in the past
      <li><a href="https://www.heroku.com";>Heroku</a> and <a href="https://newrelic.com/";>New Relic</a> for 
providing awesome free service
 -    <li><a href="https://www.jeremykratz.com/";>Jeremy Kratz</a> for the C/C++ logo
 +    <li><a href="https://www.jeremykratz.com/";>Jeremy Kratz</a> for the C/C++ logo-->
    </ul>
  
    <div class="_table">
@@@ -739,99 -942,10 +950,94 @@@ credits = 
      '2008-2017 by Yii Software LLC',
      'BSD',
      'https://raw.githubusercontent.com/yiisoft/yii/master/LICENSE'
+   ], [
+     'Zig',
+     '2015–2021, Zig contributors',
+     'MIT',
+     'https://raw.githubusercontent.com/ziglang/zig/master/LICENSE'
    ]
  ]
 +
 +# Redefine rather than edit, in order to avoid merge conflicts
 +credits = [
 +  [ 'Cally',
 +    '2008, 2009, 2010 Igalia S.L.',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/cally/stable/'
 +  ], [
 +    'Champlain',
 +    '2008–2013 libchamplain contributors',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/libchamplain/unstable/'
 +  ], [
 +    'Clutter',
 +    '2006, 2007, 2008 OpenedHand Ltd<br>2009, 2010, 2011, 2012 Intel Corporation',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/clutter/stable/'
-   ], [
-     'Clutter Gst',
-     '2006, 2007, 2008 OpenedHand Ltd<br>2009, 2010 Intel Corporation',
-     'GNU FDL 1.1',
-     'https://developer.gnome.org/clutter-gst/stable/'
-   ], [
-     'Clutter GTK',
-     '2006, 2007, 2008, 2009 Intel Corporation',
-     'GNU FDL 1.1',
-     'https://developer.gnome.org/clutter-gtk/stable/'
 +  ], [
 +    'Cogl',
 +    '2008 OpenedHand Ltd<br>2009, 2010 Intel Corporation',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/cogl/stable/'
 +  ], [
 +    'CSS<br>JavaScript',
 +    '2005-2015 Mozilla Developer Network and individual contributors',
 +    'CC BY-SA',
 +    'http://creativecommons.org/licenses/by-sa/2.5/'
 +  ], [
 +    'EvinceDocument<br>EvinceView',
 +    '2007, 2008, 2009 Nickolay V. Shmyrev<br>2008, 2009, 2010 Carlos Garcia Campos<br>2009, 2010 Christian 
Persch',
 +    'GPL 2',
 +    'https://developer.gnome.org/libevdocument/stable/'
 +  ], [
 +    'GdkPixbuf',
 +    '2000 The Free Software Foundation',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/gdk-pixbuf/unstable/'
 +  ], [
 +    'GOA',
 +    '2011, 2012 The GOA Authors',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/goa/stable/'
 +  ], [
 +    'GOM',
 +    '2012 Christian Hergert',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/gom/unstable/'
 +  ], [
 +    'GSSDP',
 +    '2007 OpenedHand Ltd<br>2009, 2010, 2011 Nokia Corporation',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/gssdp/unstable/'
 +  ], [
 +    'GUPnP',
 +    '2007, 2008 OpenedHand Ltd<br>2007, 2008 Zeeshan Ali<br>2009, 2010 Nokia Corporation',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/gupnp-av/unstable/'
 +  ], [
 +    'JSON-GLib',
 +    '2007, 2008 OpenedHand Ltd<br>2009, 2010, 2011 Intel Corporation',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/json-glib/stable/'
 +  ], [
 +    'Other generated docs',
 +    'Their respective project',
 +    'Various',
 +    'https://developer.gnome.org/references'
 +  ], [
 +    'RSVG',
 +    '2003, 2004, 2005, 2006, 2007, 2008, 2009 Dom Lachowicz<br>2010 Christian Persch',
 +    'GPL 2',
 +    'https://developer.gnome.org/rsvg/stable/'
 +  ], [
 +    'VTE',
 +    '2009, 2010 Christian Persch',
 +    'LGPL 2.1',
 +    'https://developer.gnome.org/vte/unstable/'
 +  ], [
 +    'Zapojit',
 +    '2012 The Zapojit authors',
 +    'GNU FDL 1.1',
 +    'https://developer.gnome.org/libzapojit/unstable/'
 +  ]
 +]
diff --cc assets/javascripts/templates/pages/help_tmpl.coffee
index 2a3e4fe9,53031ff1..2b0c0e26
--- a/assets/javascripts/templates/pages/help_tmpl.coffee
+++ b/assets/javascripts/templates/pages/help_tmpl.coffee
@@@ -1,8 -1,8 +1,9 @@@
  app.templates.helpPage = ->
    ctrlKey = if $.isMac() then 'cmd' else 'ctrl'
    navKey = if $.isMac() then 'cmd' else 'alt'
+   arrowScroll = app.settings.get('arrowScroll')
  
 +  host = 'http://devdocs.baznga.org'
    aliases_one = {}
    aliases_two = {}
    keys = Object.keys(app.models.Entry.ALIASES)
diff --cc assets/javascripts/templates/pages/root_tmpl.coffee.erb
index af3d4f47,77deab0e..0f195910
--- a/assets/javascripts/templates/pages/root_tmpl.coffee.erb
+++ b/assets/javascripts/templates/pages/root_tmpl.coffee.erb
@@@ -40,10 -37,9 +40,10 @@@ app.templates.intro = ""
        <li>To search a specific documentation, type its name (or an abbr.), then Tab.
        <li>You can search using your browser's address bar &mdash; <a href="/help#browser_search">learn 
how</a>.
        <li>DevDocs works <a href="/offline">offline</a>, on mobile, and can be installed on <a 
href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe";>Chrome</a>.
 -      <li>For the latest news, follow <a href="https://twitter.com/DevDocs";>@DevDocs</a>.
        <li>DevDocs is free and <a href="https://github.com/freeCodeCamp/devdocs";>open source</a>.
-           <iframe class="_github-btn" 
src="//ghbtns.com/github-btn.html?user=freeCodeCamp&repo=devdocs&type=watch&count=true" 
allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20"></iframe>
+           <object data="https://img.shields.io/github/stars/freeCodeCamp/devdocs.svg?style=social"; 
type="image/svg+xml" aria-hidden="true" height="20"></object>
 +          This is a <a href="https://gitlab.gnome.org/GNOME/devdocsgjs";>modified version</a>.
 +      <li>If any API documentation is incorrect, please file bugs on this <a 
href="https://gitlab.gnome.org/GNOME/devdocsgjs/issues";>issue tracker</a>.
        <li>And if you're new to coding, check out <a href="https://www.freecodecamp.org/";>freeCodeCamp's 
open source curriculum</a>.
      </ol>
      <p>Happy coding!
diff --cc assets/stylesheets/application.css.scss
index 3c47a142,1d5da325..91b753c4
--- a/assets/stylesheets/application.css.scss
+++ b/assets/stylesheets/application.css.scss
@@@ -56,13 -58,18 +58,19 @@@
          'pages/ember',
          'pages/erlang',
          'pages/express',
 +        'pages/gir',
          'pages/git',
          'pages/github',
+         'pages/gnuplot',
          'pages/go',
          'pages/graphite',
+         'pages/groovy',
+         'pages/gtk',
+         'pages/haproxy',
          'pages/haskell',
+         'pages/jasmine',
          'pages/jekyll',
+         'pages/jq',
          'pages/jquery',
          'pages/julia',
          'pages/knockout',
diff --cc lib/app.rb
index d892b039,43ce2a4e..aaa72bc6
--- a/lib/app.rb
+++ b/lib/app.rb
@@@ -32,8 -30,8 +30,8 @@@ class App < Sinatra::Applicatio
      set :docs_origin, File.join('', docs_prefix)
      set :docs_path, File.join(public_folder, docs_prefix)
      set :docs_manifest_path, File.join(docs_path, 'docs.json')
-     set :default_docs, %w(css dom dom_events html http javascript)
+     set :default_docs, %w(css dom html http javascript)
 -    set :news_path, File.join(root, assets_prefix, 'javascripts', 'news.json')
 +    set :news_path, File.join(root, assets_prefix, 'javascripts', 'gnome_news.json')
  
      set :csp, false
  


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]