Table of Contents
@@ -22,7 +27,7 @@ app.templates.aboutPage = -> """
Copyright and License
- Copyright 2013–2021 Thibaut Courouble and other contributors
+ Copyright 2013–2023 Thibaut Courouble and other contributors
This software is licensed under the terms of the Mozilla Public License v2.0.
You may obtain a copy of the source code at github.com/freeCodeCamp/devdocs .
For more information, see the COPYRIGHT
@@ -61,9 +66,15 @@ app.templates.aboutPage = -> """
Documentation
- Copyright
- License
- #{(" #{c[0]} © #{c[1]} #{c[2]} " for c in credits).join('')}
+ Copyright/License
+ Source code
+ #{(
+ "
+ #{doc.name}
+ #{doc.attribution}
+ Source code
+ " for doc in docs
+ ).join('')}
@@ -78,927 +89,3 @@ app.templates.aboutPage = -> """
If you have any questions regarding privacy, please email privacy@freecodecamp.org .
"""
-
-credits = [
- [
- 'Angular',
- '2010-2022 Google, Inc.',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/4.0/'
- ], [
- 'Angular.js',
- '2010-2020 Google, Inc.',
- 'CC BY 3.0',
- 'https://creativecommons.org/licenses/by/3.0/'
- ], [
- 'Ansible',
- '2012-2018 Michael DeHaan © 2018–2021 Red Hat, Inc.',
- 'GPLv3',
- 'https://raw.githubusercontent.com/ansible/ansible/devel/COPYING'
- ], [
- 'Apache HTTP Server Apache Pig',
- '2018 The Apache Software Foundation Apache and the Apache feather logo are trademarks of The Apache Software Foundation.',
- 'Apache',
- 'https://www.apache.org/licenses/LICENSE-2.0'
- ], [
- 'Astro',
- '2022 withastro',
- 'MIT',
- 'https://github.com/withastro/docs/blob/main/LICENSE'
- ], [
- 'Async',
- '2010-2018 Caolan McMahon',
- 'MIT',
- 'https://raw.githubusercontent.com/caolan/async/master/LICENSE'
- ], [
- 'Axios',
- '2014-present Matt Zabriskie',
- 'MIT',
- 'https://raw.githubusercontent.com/axios/axios/main/LICENSE'
- ], [
- 'Babel',
- '2014-present Sebastian McKenzie',
- 'MIT',
- 'https://raw.githubusercontent.com/babel/babel/master/LICENSE'
- ], [
- 'Backbone.js',
- '2010-2019 Jeremy Ashkenas, DocumentCloud',
- 'MIT',
- 'https://raw.githubusercontent.com/jashkenas/backbone/master/LICENSE'
- ], [
- 'Bash',
- '2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.',
- 'GFDL',
- 'https://www.gnu.org/licenses/fdl-1.3.en.html'
- ], [
- 'Bluebird',
- '2013-2018 Petka Antonov',
- 'MIT',
- 'https://raw.githubusercontent.com/petkaantonov/bluebird/master/LICENSE'
- ], [
- 'Bootstrap',
- '2011-2022 Twitter, Inc. 2011-2022 The Bootstrap Authors',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/3.0/'
- ], [
- 'Bottle',
- '2009-2017 Marcel Hellkamp',
- 'MIT',
- 'https://raw.githubusercontent.com/bottlepy/bottle/master/LICENSE'
- ], [
- 'Bower',
- '2018 Bower contributors',
- 'MIT',
- 'https://github.com/bower/bower.github.io/blob/1057905c18d899106f91372e6cca7ef54a91d60f/package.json#L20'
- ], [
- 'C C++',
- 'cppreference.com',
- 'CC BY-SA',
- 'http://en.cppreference.com/w/Cppreference:Copyright/CC-BY-SA'
- ], [
- 'CakePHP',
- '2005-present The Cake Software Foundation, Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/cakephp/cakephp/master/LICENSE'
- ], [
- 'Chai',
- '2017 Chai.js Assertion Library',
- 'MIT',
- 'https://raw.githubusercontent.com/chaijs/chai/master/LICENSE'
- ], [
- 'Chef™',
- 'Chef Software, Inc.',
- 'CC BY',
- 'https://raw.githubusercontent.com/chef/chef-web-docs-2016/master/LICENSE'
- ], [
- 'Clojure',
- 'Rich Hickey',
- 'EPL',
- 'https://github.com/clojure/clojure/blob/master/epl-v10.html'
- ], [
- 'CMake',
- '2000-2022 Kitware, Inc. and Contributors',
- 'BSD',
- 'https://cmake.org/licensing/'
- ], [
- 'Codeception',
- '2011 Michael Bodnarchuk and contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/Codeception/Codeception/master/LICENSE'
- ], [
- 'CodeceptJS',
- '2015 DavertMik',
- 'MIT',
- 'https://raw.githubusercontent.com/Codeception/CodeceptJS/master/LICENSE'
- ], [
- 'CodeIgniter',
- '2014-2021 British Columbia Institute of Technology',
- 'MIT',
- 'https://raw.githubusercontent.com/bcit-ci/CodeIgniter/develop/license.txt'
- ], [
- 'CoffeeScript',
- '2009-2022 Jeremy Ashkenas',
- 'MIT',
- 'https://raw.githubusercontent.com/jashkenas/coffeescript/master/LICENSE'
- ], [
- 'Composer',
- 'Nils Adermann, Jordi Boggiano',
- 'MIT',
- 'https://raw.githubusercontent.com/composer/composer/master/LICENSE'
- ], [
- 'Cordova',
- '2012, 2013, 2015 The Apache Software Foundation',
- 'Apache',
- 'https://raw.githubusercontent.com/apache/cordova-docs/master/LICENSE'
- ], [
- 'Crystal',
- '2012-2022 Manas Technology Solutions',
- 'Apache',
- 'https://raw.githubusercontent.com/crystal-lang/crystal/master/LICENSE'
- ], [
- 'CSS DOM HTTP HTML JavaScript SVG XPath',
- '2005-2022 MDN contributors',
- 'CC BY-SA',
- 'https://creativecommons.org/licenses/by-sa/2.5/'
- ], [
- 'Cypress',
- '2017 Cypress.io',
- 'MIT',
- 'https://raw.githubusercontent.com/cypress-io/cypress-documentation/develop/LICENSE.md'
- ], [
- 'D',
- '1999-2021 The D Language Foundation',
- 'Boost',
- 'https://raw.githubusercontent.com/dlang/phobos/master/LICENSE_1_0.txt'
- ], [
- 'D3.js',
- '2010-2022 Michael Bostock',
- 'BSD',
- 'https://raw.githubusercontent.com/d3/d3/master/LICENSE'
- ], [
- 'Dart',
- '2012 the Dart project authors',
- 'CC BY-SA',
- 'https://creativecommons.org/licenses/by-sa/4.0/'
- ], [
- 'date-fns',
- '2021 Sasha Koss and Lesha Koss',
- 'MIT',
- 'https://raw.githubusercontent.com/date-fns/date-fns/main/LICENSE.md'
- ], [
- 'Deno',
- '2018–2022 the Deno authors',
- 'MIT',
- 'https://raw.githubusercontent.com/denoland/manual/main/LICENSE'
- ], [
- 'Django',
- 'Django Software Foundation and individual contributors',
- 'BSD',
- 'https://raw.githubusercontent.com/django/django/master/LICENSE'
- ], [
- 'Django REST Framework',
- '2011-present Encode OSS Ltd.',
- 'BSD',
- 'https://raw.githubusercontent.com/encode/django-rest-framework/master/LICENSE.md'
- ], [
- 'Docker',
- '2019 Docker, Inc. Docker and the Docker logo are trademarks of Docker, Inc.',
- 'Apache',
- 'https://raw.githubusercontent.com/docker/docker.github.io/master/LICENSE'
- ], [
- 'Dojo',
- '2005-2017 JS Foundation',
- 'BSD + AFL',
- 'http://dojotoolkit.org/license.html'
- ], [
- 'Drupal',
- '2001-2015 by the original authors Drupal is a registered trademark of Dries Buytaert.',
- 'GPLv2',
- 'https://api.drupal.org/api/drupal/LICENSE.txt'
- ],[
- 'Eigen3',
- 'Eigen',
- 'MPL2',
- 'https://www.mozilla.org/en-US/MPL/2.0/'
- ], [
- 'Electron',
- 'GitHub Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/electron/electron/master/LICENSE'
- ], [
- 'Elisp',
- '1990-1996, 1998-2022 Free Software Foundation, Inc.',
- 'GPLv3',
- 'https://www.gnu.org/licenses/gpl-3.0.html'
- ], [
- 'Elixir',
- '2012 Plataformatec',
- 'Apache',
- 'https://raw.githubusercontent.com/elixir-lang/elixir/master/LICENSE'
- ], [
- 'Ember.js',
- '2020 Yehuda Katz, Tom Dale and Ember.js contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/emberjs/ember.js/master/LICENSE'
- ], [
- 'Enzyme',
- '2015 Airbnb, Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/airbnb/enzyme/master/LICENSE.md'
- ], [
- 'Erlang',
- '2010-2022 Ericsson AB',
- 'Apache',
- 'https://raw.githubusercontent.com/erlang/otp/maint/LICENSE.txt'
- ], [
- 'esbulid',
- '2020 Evan Wallace',
- 'MIT',
- 'https://raw.githubusercontent.com/evanw/esbuild/blob/master/LICENSE.md'
- ], [
- 'ESLint',
- 'OpenJS Foundation and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/eslint/eslint/master/LICENSE'
- ], [
- 'Express',
- '2017 StrongLoop, IBM, and other expressjs.com contributors.',
- 'CC BY-SA',
- 'https://raw.githubusercontent.com/expressjs/expressjs.com/gh-pages/LICENSE.md'
- ], [
- 'Falcon',
- '2019 by Falcon contributors',
- 'Apache',
- 'https://raw.githubusercontent.com/falconry/falcon/master/LICENSE'
- ], [
- 'FastAPI',
- '2018 Sebastián Ramírez',
- 'MIT',
- 'https://github.com/tiangolo/fastapi/blob/master/LICENSE'
- ], [
- 'Fish',
- '2005–2009 Axel Liljencrantz, 2009–2022 fish-shell contributors',
- 'GPLv2',
- 'https://fishshell.com/docs/current/license.html'
- ], [
- 'Flask',
- '2007-2022 Pallets',
- 'BSD',
- 'https://github.com/pallets/flask/blob/master/LICENSE.rst'
- ], [
- 'GCC GNU Fortran GNU Make',
- 'Free Software Foundation',
- 'GFDL',
- 'https://www.gnu.org/licenses/fdl-1.3.en.html'
- ], [
- 'Git',
- '2012-2022 Scott Chacon and others',
- 'MIT',
- 'https://raw.githubusercontent.com/git/git-scm.com/master/MIT-LICENSE.txt'
- ], [
- 'GnuCOBOL',
- 'Free Software Foundation',
- 'GFDL',
- 'https://www.gnu.org/licenses/fdl-1.3.en.html'
- ], [
- 'Gnuplot',
- 'Copyright 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley',
- 'gnuplot license',
- 'https://sourceforge.net/p/gnuplot/gnuplot-main/ci/master/tree/Copyright'
- ], [
- 'Go',
- 'Google, Inc.',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/3.0/'
- ], [
- 'Godot',
- '2014-2022 Juan Linietsky, Ariel Manzur, Godot Engine contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/godotengine/godot/master/LICENSE.txt'
- ], [
- 'Graphite',
- '2008-2012 Chris Davis © 2011-2016 The Graphite Project',
- 'Apache',
- 'https://raw.githubusercontent.com/graphite-project/graphite-web/master/LICENSE'
- ], [
- 'Groovy',
- '2003-2022 The Apache Software Foundation',
- 'Apache',
- 'https://github.com/apache/groovy-website/blob/asf-site/LICENSE'
- ], [
- 'Grunt',
- 'GruntJS Team',
- 'MIT',
- 'https://github.com/gruntjs/grunt-docs/blob/master/package.json#L10'
- ], [
- 'GTK',
- 'The GNOME Project',
- 'LGPLv2.1+',
- 'https://gitlab.gnome.org/GNOME/gtk/-/blob/master/COPYING'
- ], [
- 'Handlebars',
- '2011-2017 Yehuda Katz',
- 'MIT',
- 'https://raw.githubusercontent.com/wycats/handlebars.js/master/LICENSE'
- ], [
- 'HAProxy',
- '2022 Willy Tarreau, HAProxy contributors',
- 'GPLv2',
- 'https://raw.githubusercontent.com/haproxy/haproxy/master/LICENSE'
- ], [
- 'Haskell',
- 'The University of Glasgow',
- 'BSD',
- 'https://www.haskell.org/ghc/license'
- ], [
- 'Haxe',
- '2005-2018 Haxe Foundation',
- 'MIT',
- 'https://haxe.org/foundation/open-source.html'
- ], [
- 'Homebrew',
- '2009-present Homebrew contributors',
- 'BSD',
- 'https://raw.githubusercontent.com/Homebrew/brew/master/LICENSE.txt'
- ], [
- 'i3',
- '2009, Michael Stapelberg and contributors',
- 'BSD',
- 'https://raw.githubusercontent.com/i3/i3/next/LICENSE'
- ], [
- 'Immutable.js',
- '2014–present Lee Byron and other contributors',
- 'BSD',
- 'https://github.com/immutable-js/immutable-js/blob/main/LICENSE'
- ], [
- 'InfluxData',
- '2015 InfluxData, Inc.',
- 'MIT',
- 'https://github.com/influxdata/docs.influxdata.com/blob/master/LICENSE'
- ], [
- 'Jasmine',
- '2008-2019 Pivotal Labs',
- 'MIT',
- 'https://raw.githubusercontent.com/jasmine/jasmine/main/MIT.LICENSE'
- ], [
- 'Jekyll',
- '2020 Jekyll Core Team and contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/jekyll/jekyll/master/LICENSE'
- ], [
- 'Jest',
- '2022 Facebook, Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/facebook/jest/master/LICENSE'
- ], [
- 'Jinja',
- '2007-2021 Pallets',
- 'BSD',
- 'https://github.com/pallets/jinja/blob/master/LICENSE.rst'
- ], [
- 'jq',
- 'Stephen Dolan',
- 'CC-BY-3.0',
- 'https://github.com/stedolan/jq/blob/master/COPYING#L24-L28'
- ], [
- 'jQuery',
- 'Packt Publishing © jQuery Foundation and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/jquery/api.jquery.com/master/LICENSE.txt'
- ], [
- 'jQuery Mobile',
- 'jQuery Foundation and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/jquery/api.jquerymobile.com/master/LICENSE.txt'
- ], [
- 'jQuery UI',
- 'jQuery Foundation and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/jquery/api.jqueryui.com/master/LICENSE.txt'
- ], [
- 'JSDoc',
- '2011-2017 the contributors to the JSDoc 3 documentation project',
- 'CC BY-SA',
- 'https://raw.githubusercontent.com/jsdoc3/jsdoc3.github.com/master/LICENSE'
- ], [
- 'Julia',
- '2009-2022 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/JuliaLang/julia/master/LICENSE.md'
- ], [
- 'Knockout.js',
- 'Steven Sanderson, the Knockout.js team, and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/knockout/knockout/master/LICENSE'
- ], [
- 'Koa',
- '2020 Koa contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/koajs/koa/master/LICENSE'
- ], [
- 'Kotlin',
- '2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors',
- 'Apache',
- 'https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt'
- ], [
- 'Kubernetes',
- '2022 The Kubernetes Authors and The Linux Foundation',
- 'Apache License 2.0',
- 'https://github.com/kubernetes/kubernetes/blob/master/LICENSE'
- ], [
- 'Laravel',
- 'Taylor Otwell',
- 'MIT',
- 'https://raw.githubusercontent.com/laravel/framework/master/LICENSE.txt'
- ], [
- 'LaTeX',
- 'Karl Berry',
- 'Public Domain',
- 'https://ctan.org/pkg/latex2e-help-texinfo/'
- ], [
- 'Leaflet',
- '2010-2022 Vladimir Agafonkin © 2010-2011, CloudMade Maps © OpenStreetMap contributors.',
- 'BSD',
- 'https://raw.githubusercontent.com/Leaflet/Leaflet/master/LICENSE'
- ], [
- 'Less',
- '2009-2020 The Core Less Team',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/3.0/'
- ], [
- 'Liquid',
- '2005, 2006 Tobias Luetke',
- 'MIT',
- 'https://raw.githubusercontent.com/Shopify/liquid/master/LICENSE'
- ], [
- 'Lo-Dash',
- 'JS Foundation and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/lodash/lodash/master/LICENSE'
- ], [
- 'Lua',
- '1994–2020 Lua.org, PUC-Rio',
- 'MIT',
- 'http://www.lua.org/license.html'
- ], [
- 'LÖVE',
- '2006-2020 LÖVE Development Team',
- 'GFDL',
- 'http://www.gnu.org/copyleft/fdl.html'
- ], [
- 'MariaDB',
- '2022 MariaDB',
- 'CC BY-SA & GFDL',
- 'https://mariadb.com/kb/en/library/documentation/+license/'
- ], [
- 'Marionette.js',
- '2017 Muted Solutions, LLC',
- 'MIT',
- 'https://mutedsolutions.mit-license.org/'
- ], [
- 'Markdown',
- '2004 John Gruber',
- 'BSD',
- 'https://daringfireball.net/projects/markdown/license'
- ], [
- 'Matplotlib',
- '2012-2022 Matplotlib Development Team. All rights reserved.',
- 'Custom',
- 'https://raw.githubusercontent.com/matplotlib/matplotlib/master/LICENSE/LICENSE'
- ], [
- 'Meteor',
- '2011-2017 Meteor Development Group, Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/meteor/meteor/master/LICENSE'
- ], [
- 'Minitest',
- 'Ryan Davis, seattle.rb',
- 'MIT',
- 'https://github.com/seattlerb/minitest/blob/master/README.rdoc#license'
- ], [
- 'Mocha',
- '2011-2021 JS Foundation and contributors',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/4.0/'
- ], [
- 'Modernizr',
- '2009-2020 The Modernizr team',
- 'MIT',
- 'https://modernizr.com/license/'
- ], [
- 'Moment.js Moment.js Timezone',
- 'JS Foundation and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/moment/moment/master/LICENSE'
- ], [
- 'Mongoose',
- '2010 LearnBoost',
- 'MIT',
- 'https://github.com/LearnBoost/mongoose/blob/master/README.md#license'
- ], [
- 'nginx',
- '2002-2021 Igor Sysoev © 2011-2022 Nginx, Inc.',
- 'BSD',
- 'http://nginx.org/LICENSE'
- ], [
- 'nginx / Lua Module',
- '2009-2017 Xiaozhe Wang (chaoslawful) © 2009-2018 Yichun "agentzh" Zhang (章亦春), OpenResty Inc.',
- 'BSD',
- 'https://github.com/openresty/lua-nginx-module#copyright-and-license'
- ], [
- 'Nim',
- '2006-2021 Andreas Rumpf',
- 'MIT',
- 'https://github.com/nim-lang/Nim#license'
- ], [
- 'Nix',
- '2022 NixOS Contributors',
- 'LGPLv2.1',
- 'https://github.com/NixOS/nix#license'
- ], [
- 'Node.js',
- 'Joyent, Inc. and other Node contributors Node.js is a trademark of Joyent, Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/nodejs/node/master/LICENSE'
- ], [
- 'Nokogiri',
- '2008–2021 Aaron Patterson, Mike Dalessio, Charles Nutter, Sergio Arbeo, Patrick Mahoney, Yoko Harada, Akinori MUSHA, John Shahid, Lars Kanis',
- 'MIT',
- 'https://raw.githubusercontent.com/sparklemotion/nokogiri/master/LICENSE.md'
- ], [
- 'npm',
- 'npm, Inc. and Contributors npm is a trademark of npm, Inc.',
- 'npm',
- 'https://raw.githubusercontent.com/npm/npm/master/LICENSE'
- ], [
- 'NumPy',
- '2005-2022 NumPy Developers',
- 'BSD',
- 'https://raw.githubusercontent.com/numpy/numpy/master/LICENSE.txt'
- ], [
- 'OCaml',
- '1995-2022 INRIA',
- 'CC BY-SA',
- 'https://ocaml.org/docs/'
- ], [
- 'Octave',
- '1996–2022 The Octave Project Developers',
- 'Octave',
- 'https://docs.octave.org/v7.2.0/'
- ], [
- 'OpenJDK',
- '1993, 2022, Oracle and/or its affiliates. All rights reserved. Licensed under the GNU General Public License, version 2, with the Classpath Exception. Various third party code in OpenJDK is licensed under different licenses. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.',
- 'GPLv2',
- 'http://openjdk.java.net/legal/gplv2+ce.html'
- ], [
- 'OpenTSDB',
- '2010-2016 The OpenTSDB Authors',
- 'LGPLv2.1',
- 'https://raw.githubusercontent.com/OpenTSDB/opentsdb.net/gh-pages/COPYING.LESSER'
- ], [
- 'Padrino',
- '2010-2020 Padrino',
- 'MIT',
- 'https://raw.githubusercontent.com/padrino/padrino-framework/master/padrino/LICENSE.txt'
- ], [
- 'pandas',
- '2008-2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team',
- 'BSD',
- 'https://raw.githubusercontent.com/pydata/pandas/master/LICENSE'
- ], [
- 'Perl',
- '1993-2021 Larry Wall and others',
- 'GPLv1',
- 'https://perldoc.perl.org/index-licence.html'
- ], [
- 'Phalcon',
- '2011-2017 Phalcon Framework Team',
- 'CC BY',
- 'https://docs.phalconphp.com/en/latest/reference/license.html'
- ], [
- 'Phaser',
- '2016 Richard Davey, Photon Storm Ltd.',
- 'MIT',
- 'https://raw.githubusercontent.com/photonstorm/phaser/master/license.txt'
- ], [
- 'Phoenix',
- '2014 Chris McCord',
- 'MIT',
- 'https://raw.githubusercontent.com/phoenixframework/phoenix/master/LICENSE.md'
- ], [
- 'PHP',
- '1997-2021 The PHP Documentation Group',
- 'CC BY',
- 'https://secure.php.net/manual/en/copyright.php'
- ], [
- 'PHPUnit',
- '2005-2017 Sebastian Bergmann',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/3.0/'
- ], [
- 'PointCloudLibrary',
- '2009–2012, Willow Garage, Inc. © 2012–, Open Perception, Inc.',
- 'BSD',
- 'https://raw.githubusercontent.com/PointCloudLibrary/pcl/master/LICENSE.txt'
- ], [
- 'Pony',
- '2016-2020, The Pony Developers & 2014-2015, Causality Ltd.',
- 'BSD',
- 'https://raw.githubusercontent.com/ponylang/ponyc/master/LICENSE'
- ], [
- 'PostgreSQL',
- '1996-2022 The PostgreSQL Global Development Group © 1994 The Regents of the University of California',
- 'PostgreSQL',
- 'https://www.postgresql.org/about/licence/'
- ], [
- 'Prettier',
- 'James Long and contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/prettier/prettier/main/LICENSE '
- ], [
- 'Puppeteer',
- '2021 Google Inc',
- 'Apache',
- 'https://raw.githubusercontent.com/puppeteer/puppeteer/master/LICENSE'
- ], [
- 'Pygame',
- 'Pygame Developers',
- 'LGPLv2.1',
- 'https://raw.githubusercontent.com/pygame/pygame/master/LICENSE'
- ], [
- 'Python',
- '2001-2022 Python Software Foundation Python is a trademark of the Python Software Foundation.',
- 'PSFL',
- 'https://docs.python.org/3/license.html'
- ], [
- 'PyTorch',
- '2019 Torch Contributors',
- 'BSD',
- 'https://raw.githubusercontent.com/pytorch/pytorch/master/LICENSE'
- ], [
- 'Q',
- '2009-2017 Kristopher Michael Kowal',
- 'MIT',
- 'https://raw.githubusercontent.com/kriskowal/q/master/LICENSE'
- ], [
- 'Qt',
- '2012-2018 The Qt Company Ltd',
- 'GFDL',
- 'https://doc.qt.io/qt-5/licensing.html'
- ], [
- 'R',
- '1999–2012 R Foundation for Statistical Computing',
- 'GPL',
- 'https://svn.r-project.org/R/trunk/COPYING'
- ], [
- 'Ramda',
- '2013-2020 Scott Sauyet and Michael Hurley',
- 'MIT',
- 'https://raw.githubusercontent.com/ramda/ramda/master/LICENSE.txt'
- ], [
- 'React, React Native, Flow, Relay',
- 'Facebook Inc. and its affiliates',
- 'MIT',
- 'https://raw.githubusercontent.com/facebook/react/master/LICENSE'
- ], [
- 'React Bootstrap',
- '2014-present Stephen J. Collings, Matthew Honnibal, Pieter Vanderwerff',
- 'MIT',
- 'https://raw.githubusercontent.com/react-bootstrap/react-bootstrap/master/LICENSE'
- ], [
- 'React Router',
- 'React Training 2015-2019 Remix Software 2020-2022',
- 'MIT',
- 'https://raw.githubusercontent.com/remix-run/react-router/main/LICENSE.md'
- ], [
- 'ReactiveX',
- 'ReactiveX contributors',
- 'Apache',
- 'https://raw.githubusercontent.com/ReactiveX/reactivex.github.io/develop/LICENSE'
- ], [
- 'Redis',
- '2009-2020 Salvatore Sanfilippo',
- 'CC BY-SA',
- 'https://creativecommons.org/licenses/by-sa/4.0/'
- ], [
- 'Redux',
- '2015-2022 Dan Abramov',
- 'MIT',
- 'https://raw.githubusercontent.com/reactjs/redux/master/LICENSE.md'
- ], [
- 'Requests',
- '2011-2022 Kenneth Reitz and other contributors',
- 'Apache',
- 'https://raw.githubusercontent.com/psf/requests/main/LICENSE'
- ], [
- 'RequireJS',
- 'jQuery Foundation and other contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/requirejs/requirejs/master/LICENSE'
- ], [
- 'RethinkDB',
- 'RethinkDB contributors',
- 'CC BY-SA',
- 'https://raw.githubusercontent.com/rethinkdb/docs/master/LICENSE'
- ], [
- 'Ruby',
- '1993-2022 Yukihiro Matsumoto',
- 'Ruby',
- 'https://www.ruby-lang.org/en/about/license.txt'
- ], [
- 'Ruby on Rails',
- '2004-2021 David Heinemeier Hansson Rails, Ruby on Rails, and the Rails logo are trademarks of David Heinemeier Hansson.',
- 'MIT',
- 'https://raw.githubusercontent.com/rails/rails/master/activerecord/MIT-LICENSE'
- ], [
- 'Rust',
- '2010 The Rust Project Developers',
- 'MIT',
- 'https://raw.githubusercontent.com/rust-lang/book/master/LICENSE-MIT'
- ], [
- 'RxJS',
- '2015-2022 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors',
- 'Apache',
- 'https://raw.githubusercontent.com/ReactiveX/rxjs/master/LICENSE.txt'
- ], [
- 'Salt Stack',
- '2021 SaltStack',
- 'Apache',
- 'https://raw.githubusercontent.com/saltstack/salt/develop/LICENSE'
- ], [
- 'Sanctuary',
- '2020 Sanctuary; 2016 Plaid Technologies, Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/sanctuary-js/sanctuary/master/LICENSE'
- ], [
- 'Sass',
- '2022 Google Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/sass/sass/main/LICENSE'
- ], [
- 'Scala',
- '2002-2022 EPFL, with contributions from Lightbend',
- 'Apache',
- 'https://www.scala-lang.org/license/'
- ], [
- 'scikit-image',
- '2019 the scikit-image team',
- 'BSD',
- 'https://scikit-image.org/docs/dev/license.html'
- ], [
- 'scikit-learn',
- '2007-2022 The scikit-learn developers',
- 'BSD',
- 'https://raw.githubusercontent.com/scikit-learn/scikit-learn/master/COPYING'
- ], [
- 'Sequelize',
- '2014—present Sequelize contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/sequelize/sequelize/master/LICENSE'
- ], [
- 'Sinon',
- '2010-2021 Christian Johansen',
- 'BSD',
- 'https://raw.githubusercontent.com/sinonjs/sinon/master/LICENSE'
- ], [
- 'Socket.io',
- '2014-2018 Automattic',
- 'MIT',
- 'https://raw.githubusercontent.com/Automattic/socket.io/master/LICENSE'
- ], [
- 'Spring Boot',
- '2002-2022 Pivotal, Inc. All Rights Reserved.',
- 'Apache License 2.0',
- 'https://raw.githubusercontent.com/spring-projects/spring-boot/master/LICENSE.txt'
- ], [
- 'SQLite',
- 'n/a',
- 'Public Domain',
- 'https://sqlite.org/copyright.html'
- ], [
- 'Statsmodels',
- '2009-2012 Statsmodels Developers © 2006-2008 Scipy Developers © 2006 Jonathan E. Taylor',
- 'BSD',
- 'https://raw.githubusercontent.com/statsmodels/statsmodels/master/LICENSE.txt'
- ], [
- 'Svelte',
- '2016–2022 Rich Harris and contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/sveltejs/svelte/master/LICENSE.md'
- ], [
- 'Symfony',
- '2004-2017 Fabien Potencier',
- 'MIT',
- 'https://symfony.com/doc/current/contributing/code/license.html'
- ], [
- 'TailwindCSS',
- '2022 Tailwind Labs, Inc.',
- 'MIT',
- 'https://raw.githubusercontent.com/tailwindlabs/tailwindcss/master/LICENSE'
- ], [
- 'Tcl/Tk',
- 'The Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and other parties',
- 'Tcl/Tk',
- 'http://tcl.tk/software/tcltk/license.html'
- ], [
- 'TensorFlow',
- '2022 The TensorFlow Authors',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/4.0/'
- ], [
- 'Terraform',
- '2018 HashiCorp',
- 'MPL',
- 'https://raw.githubusercontent.com/hashicorp/terraform-website/master/LICENSE.md'
- ], [
- 'Trio',
- '2017 Nathaniel J. Smith',
- 'MIT',
- 'https://raw.githubusercontent.com/python-trio/trio/master/LICENSE.MIT'
- ], [
- 'Twig',
- '2009-2020 The Twig Team',
- 'BSD',
- 'https://twig.symfony.com/license'
- ], [
- 'TypeScript',
- '2012-2022 Microsoft',
- 'Apache',
- 'https://raw.githubusercontent.com/Microsoft/TypeScript-Handbook/master/LICENSE'
- ], [
- 'Underscore.js',
- '2009-2021 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors',
- 'MIT',
- 'https://raw.githubusercontent.com/jashkenas/underscore/master/LICENSE'
- ], [
- 'Vagrant',
- '2010-2018 Mitchell Hashimoto',
- 'MPL',
- 'https://raw.githubusercontent.com/mitchellh/vagrant/master/website/LICENSE.md'
- ], [
- 'Vite',
- '2019–present, Yuxi (Evan) You and Vite contributors',
- 'MIT',
- 'https://github.com/vitejs/vite/blob/main/LICENSE'
- ], [
- 'Vitest',
- '2021-Present Anthony Fu 2021-Present Matias Capeletto ',
- 'MIT',
- 'https://github.com/vitest-dev/vitest/blob/main/LICENSE'
- ], [
- 'Vue Router',
- '2013-present Evan You',
- 'MIT',
- 'https://raw.githubusercontent.com/vuejs/vue-router/dev/LICENSE'
- ], [
- 'Vue.js',
- '2013-present Yuxi Evan You',
- 'MIT',
- 'https://raw.githubusercontent.com/vuejs/vuejs.org/master/LICENSE'
- ], [
- 'Vueuse',
- '2019-present Anthony Fu',
- 'MIT',
- 'https://raw.githubusercontent.com/vueuse/vueuse/main/LICENSE'
- ], [
- 'Vuex',
- '2015-present Evan You',
- 'MIT',
- 'https://raw.githubusercontent.com/vuejs/vuex/dev/LICENSE'
- ], [
- 'Vulkan',
- '2014-2017 Khronos Group Inc. Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/4.0/'
- ], [
- 'webpack',
- 'JS Foundation and other contributors',
- 'CC BY',
- 'https://creativecommons.org/licenses/by/4.0/'
- ], [
- 'Werkzeug',
- '2007-2022 Pallets',
- 'BSD',
- 'https://github.com/pallets/werkzeug/blob/master/LICENSE.rst'
- ], [
- 'Wordpress',
- '2003-2022 WordPress Foundation',
- 'GPLv2+',
- 'https://wordpress.org/about/license/'
- ], [
- 'Yarn',
- '2016-present Yarn Contributors',
- 'BSD',
- 'https://raw.githubusercontent.com/yarnpkg/yarn/master/LICENSE'
- ], [
- 'Yii',
- '2008-2017 by Yii Software LLC',
- 'BSD',
- 'https://raw.githubusercontent.com/yiisoft/yii/master/LICENSE'
- ], [
- 'Zig',
- '2015–2022, Zig contributors',
- 'MIT',
- 'https://raw.githubusercontent.com/ziglang/zig/master/LICENSE'
- ]
-]
diff --git a/assets/javascripts/views/pages/rdoc.coffee b/assets/javascripts/views/pages/rdoc.coffee
index 4c61c6c4..6603b2b8 100644
--- a/assets/javascripts/views/pages/rdoc.coffee
+++ b/assets/javascripts/views/pages/rdoc.coffee
@@ -8,7 +8,7 @@ class app.views.RdocPage extends app.views.BasePage
return unless event.target.classList.contains 'method-click-advice'
$.stopEvent(event)
- source = $ '.method-source-code', event.target.parentNode.parentNode
+ source = $ '.method-source-code', event.target.closest('.method-detail')
isShown = source.style.display is 'block'
source.style.display = if isShown then 'none' else 'block'
diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss
index e7a725e7..a191f289 100644
--- a/assets/stylesheets/application.css.scss
+++ b/assets/stylesheets/application.css.scss
@@ -3,7 +3,7 @@
//= depend_on sprites/docs.json
/*!
- * Copyright 2013-2021 Thibaut Courouble and other contributors
+ * Copyright 2013-2023 Thibaut Courouble and other contributors
*
* This source code is licensed under the terms of the Mozilla
* Public License, v. 2.0, a copy of which may be obtained at:
diff --git a/assets/stylesheets/components/_content.scss b/assets/stylesheets/components/_content.scss
index fe7bf946..5522371e 100644
--- a/assets/stylesheets/components/_content.scss
+++ b/assets/stylesheets/components/_content.scss
@@ -228,7 +228,7 @@
//
._credits {
- width: 100%;
+ max-width: 100%;
}
//
diff --git a/assets/stylesheets/global/_base.scss b/assets/stylesheets/global/_base.scss
index d331c3d9..ab0ccb60 100644
--- a/assets/stylesheets/global/_base.scss
+++ b/assets/stylesheets/global/_base.scss
@@ -96,8 +96,6 @@ dd {
+ dt { margin-top: 1em; }
}
-dfn, var { font-style: normal; }
-
abbr, acronym, dfn {
cursor: help;
border-bottom: 1px dotted var(--textColor);
diff --git a/assets/stylesheets/pages/_sphinx.scss b/assets/stylesheets/pages/_sphinx.scss
index 64a4df6b..cb23ef69 100644
--- a/assets/stylesheets/pages/_sphinx.scss
+++ b/assets/stylesheets/pages/_sphinx.scss
@@ -47,6 +47,11 @@
span.descclassname, span.descname { font-family: var(--monoFont) }
}
+nav[aria-label="Page navigation"]{
+ display: flex !important;
+ justify-content: space-between !important;
+}
+
._sphinx {
@extend %sphinx;
}
diff --git a/docs/file-scrapers.md b/docs/file-scrapers.md
index 206a7117..01201836 100644
--- a/docs/file-scrapers.md
+++ b/docs/file-scrapers.md
@@ -23,7 +23,7 @@ and put it in `/path/to/devdocs/docs/`
Or run the following commands in your terminal:
```sh
-curl https://storage.googleapis.com/dart-archive/channels/stable/release/$RELEASE/api-docs/dartdocs-gen-api-zip > dartApi.zip; \
+curl https://storage.googleapis.com/dart-archive/channels/stable/release/$RELEASE/api-docs/dartdocs-gen-api.zip > dartApi.zip; \
unzip dartApi.zip; mv gen-dartdocs docs/dart~$VERSION
```
@@ -65,7 +65,7 @@ Go to https://www.erlang.org/downloads and download the HTML documentation file.
```ah
mkdir --parent docs/erlang\~$VERSION/; \
-curl http://erlang.org/download/otp_doc_html_$RELEASE.tar.gz | \
+curl -L https://github.com/erlang/otp/releases/download/OTP-$RELEASE/otp_doc_html_$RELEASE.tar.gz | \
bsdtar --extract --file - --directory=docs/erlang\~$VERSION/
```
@@ -282,5 +282,5 @@ Download the docs from https://sqlite.org/download.html, unzip it, and rename
it to `/path/to/devdocs/docs/sqlite`
```sh
-curl https://sqlite.org/2022/sqlite-doc-3390200.zip | bsdtar --extract --file - --directory=docs/sqlite/ --strip-components=1
+curl https://sqlite.org/2022/sqlite-doc-3400000.zip | bsdtar --extract --file - --directory=docs/sqlite/ --strip-components=1
```
diff --git a/lib/docs/core/manifest.rb b/lib/docs/core/manifest.rb
index 624d2b81..b7c2e00d 100644
--- a/lib/docs/core/manifest.rb
+++ b/lib/docs/core/manifest.rb
@@ -16,7 +16,11 @@ module Docs
def as_json
@docs.each_with_object [] do |doc, result|
next unless @store.exist?(doc.meta_path)
- result << JSON.parse(@store.read(doc.meta_path))
+ json = JSON.parse(@store.read(doc.meta_path))
+ if doc.options[:attribution].is_a?(String)
+ json[:attribution] = doc.options[:attribution].strip
+ end
+ result << json
end
end
diff --git a/lib/docs/filters/axios/clean_html.rb b/lib/docs/filters/axios/clean_html.rb
index 7a1aa8cc..ab71d1ad 100644
--- a/lib/docs/filters/axios/clean_html.rb
+++ b/lib/docs/filters/axios/clean_html.rb
@@ -2,7 +2,15 @@ module Docs
class Axios
class CleanHtmlFilter < Filter
def call
+ if root_page?
+ return 'Axios Promise based HTTP client for the browser and node.js
Axios is a simple promise based HTTP client for the browser and node.js. Axios provides a simple to use library in a small package with a very extensible interface.
'
+ end
+ @doc = at_css('main > .body')
css('.links').remove
+ css('pre').each do |node|
+ node.content = node.content
+ node['data-language'] = node['class'][/lang-(\w+)/, 1]
+ end
doc
end
end
diff --git a/lib/docs/filters/bash/entries.rb b/lib/docs/filters/bash/entries.rb
index 01348e2c..c22316a2 100644
--- a/lib/docs/filters/bash/entries.rb
+++ b/lib/docs/filters/bash/entries.rb
@@ -40,21 +40,7 @@ module Docs
css('table[class^=index-] td[valign=top] > a').each_slice(2) do |entry_node, section_node|
entry_name = entry_node.content
-
- page = section_node['href'].split('#')[0]
- hash = entry_name
-
- # The Special Parameters page has multiple additional entries which should link to the same paragraph
- # Example: the documentation for "$!" is equal to the documentation for "!"
- if page == 'special-parameters'
- if hash.size > 1 && hash[0] == '$'
- hash = hash[1..-1]
- end
- end
-
- # Construct path to the page which the index links to
- entry_path = page + '#' + hash
-
+ entry_path = entry_node['href']
entries << [entry_name, entry_path, entry_type]
end
diff --git a/lib/docs/filters/erlang/clean_html.rb b/lib/docs/filters/erlang/clean_html.rb
index a467515a..72169d67 100644
--- a/lib/docs/filters/erlang/clean_html.rb
+++ b/lib/docs/filters/erlang/clean_html.rb
@@ -2,11 +2,12 @@ module Docs
class Erlang
class CleanHtmlFilter < Filter
def call
- @doc = at_css('#content')
+ @doc = at_css('#content .innertube:only-child', '#content')
# frontpage
css('center:last-child').remove # copyright
+ css('.footer').remove # copyright
css('center', '.example').each do |node|
node.before(node.children).remove
diff --git a/lib/docs/filters/eslint/clean_html.rb b/lib/docs/filters/eslint/clean_html.rb
index 9bc18709..0737acef 100644
--- a/lib/docs/filters/eslint/clean_html.rb
+++ b/lib/docs/filters/eslint/clean_html.rb
@@ -13,6 +13,7 @@ module Docs
node.before(node.children).remove
end
+ css('.line-numbers-wrapper').remove
css('pre.hljs').each do |node|
lang = node['class'][/highlight-(\w+)/, 1]
node['data-language'] = lang if lang
@@ -23,6 +24,8 @@ module Docs
css('code', 'p').remove_attr('class')
+ css('.resource__image', '.resource__domain').remove
+
doc
end
end
diff --git a/lib/docs/filters/haproxy/clean_html.rb b/lib/docs/filters/haproxy/clean_html.rb
index 78f8e818..7a0b3c14 100755
--- a/lib/docs/filters/haproxy/clean_html.rb
+++ b/lib/docs/filters/haproxy/clean_html.rb
@@ -29,8 +29,9 @@ module Docs
node['id'] = node.at_css('.anchor')['name']
end
- css('.keyword > b').each do |node|
+ css('.keyword > b', '.keyword > span').each do |node|
node.content = node.content
+ node.remove_attribute('style')
end
css('.dropdown').each do |node|
diff --git a/lib/docs/filters/point_cloud_library/clean_html.rb b/lib/docs/filters/point_cloud_library/clean_html.rb
index 143345d6..29f1faa0 100644
--- a/lib/docs/filters/point_cloud_library/clean_html.rb
+++ b/lib/docs/filters/point_cloud_library/clean_html.rb
@@ -5,6 +5,18 @@ module Docs
@doc = at_css('.contents')
css('.dynheader.closed').remove
css('.permalink').remove
+ css('.memSeparator').remove
+
+ # Change div.fragment to C++ code with syntax highlight
+ css('div.fragment').each do |node|
+ node.name = 'pre'
+ node['data-language'] = 'cpp'
+ node_content = ""
+ node.css('div').each do |inner_node|
+ node_content += inner_node.text + "\n"
+ end
+ node.content = node_content
+ end
doc
end
end
diff --git a/lib/docs/filters/prettier/clean_html.rb b/lib/docs/filters/prettier/clean_html.rb
index 7af0bd9c..e32b72b7 100644
--- a/lib/docs/filters/prettier/clean_html.rb
+++ b/lib/docs/filters/prettier/clean_html.rb
@@ -21,6 +21,8 @@ module Docs
node.parent['id'] ||= node['name'] || node['id']
end
+ css('a[href*="youtube.com"]').remove
+
css('.highlight').each do |node|
node.name = 'pre'
node.css('.gutter').remove
diff --git a/lib/docs/filters/qunit/clean_html.rb b/lib/docs/filters/qunit/clean_html.rb
new file mode 100644
index 00000000..eb104b5c
--- /dev/null
+++ b/lib/docs/filters/qunit/clean_html.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module Docs
+ class Qunit
+ class CleanHtmlFilter < Filter
+ def call
+ @doc = at_css('.content[role="main"]')
+ css('.sidebar').remove
+ css('pre').each do |node|
+ node['data-language'] = 'javascript'
+ node.content = node.content
+ end
+ doc
+ end
+ end
+ end
+end
diff --git a/lib/docs/filters/qunit/entries.rb b/lib/docs/filters/qunit/entries.rb
new file mode 100644
index 00000000..43de1c5a
--- /dev/null
+++ b/lib/docs/filters/qunit/entries.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+module Docs
+ class Qunit
+ class EntriesFilter < Docs::EntriesFilter
+ TYPE_MAPPING = {
+ 'QUnit' => '1. Main methods',
+ 'assert' => '2. Assertions',
+ 'callbacks' => '3. Callback events',
+ 'config' => '4. Configuration',
+ 'extension' => '5. Extension interface'
+ }
+ def get_name
+ at_css('h1').content
+ end
+
+ def get_type
+ main, *rest = *slug.split('/')
+ TYPE_MAPPING[main]
+ end
+ end
+ end
+end
diff --git a/lib/docs/filters/redis/clean_html.rb b/lib/docs/filters/redis/clean_html.rb
index 5b3bc5e4..8eb3a428 100644
--- a/lib/docs/filters/redis/clean_html.rb
+++ b/lib/docs/filters/redis/clean_html.rb
@@ -3,14 +3,20 @@ module Docs
class CleanHtmlFilter < Filter
def call
if root_page?
- at_css('ul')['class'] = 'commands'
+ if root_page?
+ slug_types = {}
+ css('article[data-group]').each do |node|
+ slug_types[node.at_css('a')['href']] = node['data-group']
+ end
+ # binding.pry
+ end
else
title = at_css('h1')
title.after("#{title.content.strip} ")
title.content = title.content.split(' ').first
end
- css('nav', 'aside', 'form', '.anchor-link').remove
+ css('nav', 'aside', '.page-feedback', '.anchor-link').remove
css('> article', '.article-main', 'pre > code', '.container').each do |node|
node.before(node.children).remove
diff --git a/lib/docs/filters/redis/entries.rb b/lib/docs/filters/redis/entries.rb
index c0dc2fa4..f1073d69 100644
--- a/lib/docs/filters/redis/entries.rb
+++ b/lib/docs/filters/redis/entries.rb
@@ -1,30 +1,510 @@
module Docs
class Redis
class EntriesFilter < Docs::EntriesFilter
+
def get_name
- slug.gsub('-', ' ')
+ slug.gsub('-', ' ').remove('/')
end
def get_type
- case at_css('aside > ul:last-child a').content.strip
- when 'DEL' then 'Keys'
- when 'APPEND' then 'Strings'
- when 'HDEL' then 'Hashes'
- when 'BLPOP' then 'Lists'
- when 'SADD' then 'Sets'
- when 'BZPOPMAX' then 'Sorted Sets'
- when 'PSUBSCRIBE' then 'Pub/Sub'
- when 'DISCARD' then 'Transactions'
- when 'EVAL' then 'Scripting'
- when 'AUTH' then 'Connection'
- when 'BGREWRITEAOF' then 'Server'
- when 'PFADD' then 'HyperLogLog'
- when 'CLUSTER ADDSLOTS' then 'Cluster'
- when 'GEOADD' then 'Geo'
- when 'XACK' then 'Stream'
- else 'Miscellaneous'
- end
+ SLUG_NAMES[SLUG_TYPES[slug]]
end
+
+ # obtain from https://redis.io/commands/ via lib/docs/filters/redis/clean_html.rb using `binding.pry`
+ SLUG_TYPES = {
+ "acl-cat/" => "server",
+ "acl-deluser/" => "server",
+ "acl-dryrun/" => "server",
+ "acl-genpass/" => "server",
+ "acl-getuser/" => "server",
+ "acl-list/" => "server",
+ "acl-load/" => "server",
+ "acl-log/" => "server",
+ "acl-save/" => "server",
+ "acl-setuser/" => "server",
+ "acl-users/" => "server",
+ "acl-whoami/" => "server",
+ "append/" => "string",
+ "asking/" => "cluster",
+ "auth/" => "connection",
+ "bf.add/" => "bf",
+ "bf.card/" => "bf",
+ "bf.exists/" => "bf",
+ "bf.info/" => "bf",
+ "bf.insert/" => "bf",
+ "bf.loadchunk/" => "bf",
+ "bf.madd/" => "bf",
+ "bf.mexists/" => "bf",
+ "bf.reserve/" => "bf",
+ "bf.scandump/" => "bf",
+ "bgrewriteaof/" => "server",
+ "bgsave/" => "server",
+ "bitcount/" => "bitmap",
+ "bitfield/" => "bitmap",
+ "bitfield_ro/" => "bitmap",
+ "bitop/" => "bitmap",
+ "bitpos/" => "bitmap",
+ "blmove/" => "list",
+ "blmpop/" => "list",
+ "blpop/" => "list",
+ "brpop/" => "list",
+ "brpoplpush/" => "list",
+ "bzmpop/" => "sorted-set",
+ "bzpopmax/" => "sorted-set",
+ "bzpopmin/" => "sorted-set",
+ "cf.add/" => "cf",
+ "cf.addnx/" => "cf",
+ "cf.count/" => "cf",
+ "cf.del/" => "cf",
+ "cf.exists/" => "cf",
+ "cf.info/" => "cf",
+ "cf.insert/" => "cf",
+ "cf.insertnx/" => "cf",
+ "cf.loadchunk/" => "cf",
+ "cf.mexists/" => "cf",
+ "cf.reserve/" => "cf",
+ "cf.scandump/" => "cf",
+ "client-caching/" => "connection",
+ "client-getname/" => "connection",
+ "client-getredir/" => "connection",
+ "client-id/" => "connection",
+ "client-info/" => "connection",
+ "client-kill/" => "connection",
+ "client-list/" => "connection",
+ "client-no-evict/" => "connection",
+ "client-pause/" => "connection",
+ "client-reply/" => "connection",
+ "client-setname/" => "connection",
+ "client-tracking/" => "connection",
+ "client-trackinginfo/" => "connection",
+ "client-unblock/" => "connection",
+ "client-unpause/" => "connection",
+ "cluster-addslots/" => "cluster",
+ "cluster-addslotsrange/" => "cluster",
+ "cluster-bumpepoch/" => "cluster",
+ "cluster-count-failure-reports/" => "cluster",
+ "cluster-countkeysinslot/" => "cluster",
+ "cluster-delslots/" => "cluster",
+ "cluster-delslotsrange/" => "cluster",
+ "cluster-failover/" => "cluster",
+ "cluster-flushslots/" => "cluster",
+ "cluster-forget/" => "cluster",
+ "cluster-getkeysinslot/" => "cluster",
+ "cluster-info/" => "cluster",
+ "cluster-keyslot/" => "cluster",
+ "cluster-links/" => "cluster",
+ "cluster-meet/" => "cluster",
+ "cluster-myid/" => "cluster",
+ "cluster-nodes/" => "cluster",
+ "cluster-replicas/" => "cluster",
+ "cluster-replicate/" => "cluster",
+ "cluster-reset/" => "cluster",
+ "cluster-saveconfig/" => "cluster",
+ "cluster-set-config-epoch/" => "cluster",
+ "cluster-setslot/" => "cluster",
+ "cluster-shards/" => "cluster",
+ "cluster-slaves/" => "cluster",
+ "cluster-slots/" => "cluster",
+ "cms.incrby/" => "cms",
+ "cms.info/" => "cms",
+ "cms.initbydim/" => "cms",
+ "cms.initbyprob/" => "cms",
+ "cms.merge/" => "cms",
+ "cms.query/" => "cms",
+ "command/" => "server",
+ "command-count/" => "server",
+ "command-docs/" => "server",
+ "command-getkeys/" => "server",
+ "command-getkeysandflags/" => "server",
+ "command-info/" => "server",
+ "command-list/" => "server",
+ "config-get/" => "server",
+ "config-resetstat/" => "server",
+ "config-rewrite/" => "server",
+ "config-set/" => "server",
+ "copy/" => "generic",
+ "dbsize/" => "server",
+ "decr/" => "string",
+ "decrby/" => "string",
+ "del/" => "generic",
+ "discard/" => "transactions",
+ "dump/" => "generic",
+ "echo/" => "connection",
+ "eval/" => "scripting",
+ "eval_ro/" => "scripting",
+ "evalsha/" => "scripting",
+ "evalsha_ro/" => "scripting",
+ "exec/" => "transactions",
+ "exists/" => "generic",
+ "expire/" => "generic",
+ "expireat/" => "generic",
+ "expiretime/" => "generic",
+ "failover/" => "server",
+ "fcall/" => "scripting",
+ "fcall_ro/" => "scripting",
+ "flushall/" => "server",
+ "flushdb/" => "server",
+ "ft._list/" => "search",
+ "ft.aggregate/" => "search",
+ "ft.aliasadd/" => "search",
+ "ft.aliasdel/" => "search",
+ "ft.aliasupdate/" => "search",
+ "ft.alter/" => "search",
+ "ft.config-get/" => "search",
+ "ft.config-set/" => "search",
+ "ft.create/" => "search",
+ "ft.cursor-del/" => "search",
+ "ft.cursor-read/" => "search",
+ "ft.dictadd/" => "search",
+ "ft.dictdel/" => "search",
+ "ft.dictdump/" => "search",
+ "ft.dropindex/" => "search",
+ "ft.explain/" => "search",
+ "ft.explaincli/" => "search",
+ "ft.info/" => "search",
+ "ft.profile/" => "search",
+ "ft.search/" => "search",
+ "ft.spellcheck/" => "search",
+ "ft.sugadd/" => "suggestion",
+ "ft.sugdel/" => "suggestion",
+ "ft.sugget/" => "suggestion",
+ "ft.suglen/" => "suggestion",
+ "ft.syndump/" => "search",
+ "ft.synupdate/" => "search",
+ "ft.tagvals/" => "search",
+ "function-delete/" => "scripting",
+ "function-dump/" => "scripting",
+ "function-flush/" => "scripting",
+ "function-kill/" => "scripting",
+ "function-list/" => "scripting",
+ "function-load/" => "scripting",
+ "function-restore/" => "scripting",
+ "function-stats/" => "scripting",
+ "geoadd/" => "geo",
+ "geodist/" => "geo",
+ "geohash/" => "geo",
+ "geopos/" => "geo",
+ "georadius/" => "geo",
+ "georadius_ro/" => "geo",
+ "georadiusbymember/" => "geo",
+ "georadiusbymember_ro/" => "geo",
+ "geosearch/" => "geo",
+ "geosearchstore/" => "geo",
+ "get/" => "string",
+ "getbit/" => "bitmap",
+ "getdel/" => "string",
+ "getex/" => "string",
+ "getrange/" => "string",
+ "getset/" => "string",
+ "graph.config-get/" => "graph",
+ "graph.config-set/" => "graph",
+ "graph.delete/" => "graph",
+ "graph.explain/" => "graph",
+ "graph.list/" => "graph",
+ "graph.profile/" => "graph",
+ "graph.query/" => "graph",
+ "graph.ro_query/" => "graph",
+ "graph.slowlog/" => "graph",
+ "hdel/" => "hash",
+ "hello/" => "connection",
+ "hexists/" => "hash",
+ "hget/" => "hash",
+ "hgetall/" => "hash",
+ "hincrby/" => "hash",
+ "hincrbyfloat/" => "hash",
+ "hkeys/" => "hash",
+ "hlen/" => "hash",
+ "hmget/" => "hash",
+ "hmset/" => "hash",
+ "hrandfield/" => "hash",
+ "hscan/" => "hash",
+ "hset/" => "hash",
+ "hsetnx/" => "hash",
+ "hstrlen/" => "hash",
+ "hvals/" => "hash",
+ "incr/" => "string",
+ "incrby/" => "string",
+ "incrbyfloat/" => "string",
+ "info/" => "server",
+ "json.arrappend/" => "json",
+ "json.arrindex/" => "json",
+ "json.arrinsert/" => "json",
+ "json.arrlen/" => "json",
+ "json.arrpop/" => "json",
+ "json.arrtrim/" => "json",
+ "json.clear/" => "json",
+ "json.debug/" => "json",
+ "json.debug-memory/" => "json",
+ "json.del/" => "json",
+ "json.forget/" => "json",
+ "json.get/" => "json",
+ "json.mget/" => "json",
+ "json.numincrby/" => "json",
+ "json.nummultby/" => "json",
+ "json.objkeys/" => "json",
+ "json.objlen/" => "json",
+ "json.resp/" => "json",
+ "json.set/" => "json",
+ "json.strappend/" => "json",
+ "json.strlen/" => "json",
+ "json.toggle/" => "json",
+ "json.type/" => "json",
+ "keys/" => "generic",
+ "lastsave/" => "server",
+ "latency-doctor/" => "server",
+ "latency-graph/" => "server",
+ "latency-histogram/" => "server",
+ "latency-history/" => "server",
+ "latency-latest/" => "server",
+ "latency-reset/" => "server",
+ "lcs/" => "string",
+ "lindex/" => "list",
+ "linsert/" => "list",
+ "llen/" => "list",
+ "lmove/" => "list",
+ "lmpop/" => "list",
+ "lolwut/" => "server",
+ "lpop/" => "list",
+ "lpos/" => "list",
+ "lpush/" => "list",
+ "lpushx/" => "list",
+ "lrange/" => "list",
+ "lrem/" => "list",
+ "lset/" => "list",
+ "ltrim/" => "list",
+ "memory-doctor/" => "server",
+ "memory-malloc-stats/" => "server",
+ "memory-purge/" => "server",
+ "memory-stats/" => "server",
+ "memory-usage/" => "server",
+ "mget/" => "string",
+ "migrate/" => "generic",
+ "module-list/" => "server",
+ "module-load/" => "server",
+ "module-loadex/" => "server",
+ "module-unload/" => "server",
+ "monitor/" => "server",
+ "move/" => "generic",
+ "mset/" => "string",
+ "msetnx/" => "string",
+ "multi/" => "transactions",
+ "object-encoding/" => "generic",
+ "object-freq/" => "generic",
+ "object-idletime/" => "generic",
+ "object-refcount/" => "generic",
+ "persist/" => "generic",
+ "pexpire/" => "generic",
+ "pexpireat/" => "generic",
+ "pexpiretime/" => "generic",
+ "pfadd/" => "hyperloglog",
+ "pfcount/" => "hyperloglog",
+ "pfdebug/" => "hyperloglog",
+ "pfmerge/" => "hyperloglog",
+ "pfselftest/" => "hyperloglog",
+ "ping/" => "connection",
+ "psetex/" => "string",
+ "psubscribe/" => "pubsub",
+ "psync/" => "server",
+ "pttl/" => "generic",
+ "publish/" => "pubsub",
+ "pubsub-channels/" => "pubsub",
+ "pubsub-numpat/" => "pubsub",
+ "pubsub-numsub/" => "pubsub",
+ "pubsub-shardchannels/" => "pubsub",
+ "pubsub-shardnumsub/" => "pubsub",
+ "punsubscribe/" => "pubsub",
+ "quit/" => "connection",
+ "randomkey/" => "generic",
+ "readonly/" => "cluster",
+ "readwrite/" => "cluster",
+ "rename/" => "generic",
+ "renamenx/" => "generic",
+ "replconf/" => "server",
+ "replicaof/" => "server",
+ "reset/" => "connection",
+ "restore/" => "generic",
+ "restore-asking/" => "server",
+ "role/" => "server",
+ "rpop/" => "list",
+ "rpoplpush/" => "list",
+ "rpush/" => "list",
+ "rpushx/" => "list",
+ "sadd/" => "set",
+ "save/" => "server",
+ "scan/" => "generic",
+ "scard/" => "set",
+ "script-debug/" => "scripting",
+ "script-exists/" => "scripting",
+ "script-flush/" => "scripting",
+ "script-kill/" => "scripting",
+ "script-load/" => "scripting",
+ "sdiff/" => "set",
+ "sdiffstore/" => "set",
+ "select/" => "connection",
+ "set/" => "string",
+ "setbit/" => "bitmap",
+ "setex/" => "string",
+ "setnx/" => "string",
+ "setrange/" => "string",
+ "shutdown/" => "server",
+ "sinter/" => "set",
+ "sintercard/" => "set",
+ "sinterstore/" => "set",
+ "sismember/" => "set",
+ "slaveof/" => "server",
+ "slowlog-get/" => "server",
+ "slowlog-len/" => "server",
+ "slowlog-reset/" => "server",
+ "smembers/" => "set",
+ "smismember/" => "set",
+ "smove/" => "set",
+ "sort/" => "generic",
+ "sort_ro/" => "generic",
+ "spop/" => "set",
+ "spublish/" => "pubsub",
+ "srandmember/" => "set",
+ "srem/" => "set",
+ "sscan/" => "set",
+ "ssubscribe/" => "pubsub",
+ "strlen/" => "string",
+ "subscribe/" => "pubsub",
+ "substr/" => "string",
+ "sunion/" => "set",
+ "sunionstore/" => "set",
+ "sunsubscribe/" => "pubsub",
+ "swapdb/" => "server",
+ "sync/" => "server",
+ "tdigest.add/" => "tdigest",
+ "tdigest.byrank/" => "tdigest",
+ "tdigest.byrevrank/" => "tdigest",
+ "tdigest.cdf/" => "tdigest",
+ "tdigest.create/" => "tdigest",
+ "tdigest.info/" => "tdigest",
+ "tdigest.max/" => "tdigest",
+ "tdigest.merge/" => "tdigest",
+ "tdigest.min/" => "tdigest",
+ "tdigest.quantile/" => "tdigest",
+ "tdigest.rank/" => "tdigest",
+ "tdigest.reset/" => "tdigest",
+ "tdigest.revrank/" => "tdigest",
+ "tdigest.trimmed_mean/" => "tdigest",
+ "time/" => "server",
+ "topk.add/" => "topk",
+ "topk.count/" => "topk",
+ "topk.incrby/" => "topk",
+ "topk.info/" => "topk",
+ "topk.list/" => "topk",
+ "topk.query/" => "topk",
+ "topk.reserve/" => "topk",
+ "touch/" => "generic",
+ "ts.add/" => "timeseries",
+ "ts.alter/" => "timeseries",
+ "ts.create/" => "timeseries",
+ "ts.createrule/" => "timeseries",
+ "ts.decrby/" => "timeseries",
+ "ts.del/" => "timeseries",
+ "ts.deleterule/" => "timeseries",
+ "ts.get/" => "timeseries",
+ "ts.incrby/" => "timeseries",
+ "ts.info/" => "timeseries",
+ "ts.madd/" => "timeseries",
+ "ts.mget/" => "timeseries",
+ "ts.mrange/" => "timeseries",
+ "ts.mrevrange/" => "timeseries",
+ "ts.queryindex/" => "timeseries",
+ "ts.range/" => "timeseries",
+ "ts.revrange/" => "timeseries",
+ "ttl/" => "generic",
+ "type/" => "generic",
+ "unlink/" => "generic",
+ "unsubscribe/" => "pubsub",
+ "unwatch/" => "transactions",
+ "wait/" => "generic",
+ "watch/" => "transactions",
+ "xack/" => "stream",
+ "xadd/" => "stream",
+ "xautoclaim/" => "stream",
+ "xclaim/" => "stream",
+ "xdel/" => "stream",
+ "xgroup-create/" => "stream",
+ "xgroup-createconsumer/" => "stream",
+ "xgroup-delconsumer/" => "stream",
+ "xgroup-destroy/" => "stream",
+ "xgroup-setid/" => "stream",
+ "xinfo-consumers/" => "stream",
+ "xinfo-groups/" => "stream",
+ "xinfo-stream/" => "stream",
+ "xlen/" => "stream",
+ "xpending/" => "stream",
+ "xrange/" => "stream",
+ "xread/" => "stream",
+ "xreadgroup/" => "stream",
+ "xrevrange/" => "stream",
+ "xsetid/" => "stream",
+ "xtrim/" => "stream",
+ "zadd/" => "sorted-set",
+ "zcard/" => "sorted-set",
+ "zcount/" => "sorted-set",
+ "zdiff/" => "sorted-set",
+ "zdiffstore/" => "sorted-set",
+ "zincrby/" => "sorted-set",
+ "zinter/" => "sorted-set",
+ "zintercard/" => "sorted-set",
+ "zinterstore/" => "sorted-set",
+ "zlexcount/" => "sorted-set",
+ "zmpop/" => "sorted-set",
+ "zmscore/" => "sorted-set",
+ "zpopmax/" => "sorted-set",
+ "zpopmin/" => "sorted-set",
+ "zrandmember/" => "sorted-set",
+ "zrange/" => "sorted-set",
+ "zrangebylex/" => "sorted-set",
+ "zrangebyscore/" => "sorted-set",
+ "zrangestore/" => "sorted-set",
+ "zrank/" => "sorted-set",
+ "zrem/" => "sorted-set",
+ "zremrangebylex/" => "sorted-set",
+ "zremrangebyrank/" => "sorted-set",
+ "zremrangebyscore/" => "sorted-set",
+ "zrevrange/" => "sorted-set",
+ "zrevrangebylex/" => "sorted-set",
+ "zrevrangebyscore/" => "sorted-set",
+ "zrevrank/" => "sorted-set",
+ "zscan/" => "sorted-set",
+ "zscore/" => "sorted-set",
+ "zunion/" => "sorted-set",
+ "zunionstore/" => "sorted-set"
+ }
+
+ SLUG_NAMES = {
+ "bitmap" => "Core: Bitmap",
+ "cluster" => "Core: Cluster management",
+ "connection" => "Core: Connection management",
+ "generic" => "Core: Generic",
+ "geo" => "Core: Geospatial indices",
+ "hash" => "Core: Hash",
+ "hyperloglog" => "Core: HyperLogLog",
+ "list" => "Core: List",
+ "pubsub" => "Core: Pub/Sub",
+ "scripting" => "Core: Scripting and Functions",
+ "server" => "Core: Server managment",
+ "set" => "Core: Set",
+ "sorted-set:" => "Core: Sorted Set",
+ "stream" => "Core: Stream",
+ "string" => "Core: String",
+ "transactions" => "Core: Transactions",
+ "bf" => "Stack: Bloom Filter",
+ "cf" => "Stack: Cuckoo Filter",
+ "cms" => "Stack: Count-min Sketch",
+ "graph" => "Stack: Graph",
+ "json" => "Stack: JSON",
+ "search" => "Stack: Search",
+ "suggestion" => "Stack: Auto-Suggest",
+ "tdigest" => "Stack: T-Digest",
+ "timeseries" => "Stack: Time Series",
+ "topk" => "Stack: Top-K",
+ }
+
end
end
end
diff --git a/lib/docs/filters/sphinx/clean_html.rb b/lib/docs/filters/sphinx/clean_html.rb
index 55cd5c0d..126ff47a 100644
--- a/lib/docs/filters/sphinx/clean_html.rb
+++ b/lib/docs/filters/sphinx/clean_html.rb
@@ -61,6 +61,7 @@ module Docs
next if current_url.host == 'matplotlib.org'
next if current_url.host == 'numpy.org'
next if current_url.host == 'requests.readthedocs.io'
+ next if current_url.host == 'scikit-learn.org'
next unless node['id'] || node.at_css('code, .classifier')
links = []
links << node.children.last.remove while node.children.last.try(:name) == 'a'
diff --git a/lib/docs/filters/vite/entries.rb b/lib/docs/filters/vite/entries.rb
index 422a0eee..e94e7d98 100644
--- a/lib/docs/filters/vite/entries.rb
+++ b/lib/docs/filters/vite/entries.rb
@@ -8,7 +8,7 @@ module Docs
end
def get_type
- at_css('aside nav .title-text').content.strip
+ at_css('aside nav .is-active').content.strip
end
def additional_entries
diff --git a/lib/docs/filters/vue/clean_html.rb b/lib/docs/filters/vue/clean_html.rb
index b2784d3e..ae12d743 100644
--- a/lib/docs/filters/vue/clean_html.rb
+++ b/lib/docs/filters/vue/clean_html.rb
@@ -23,12 +23,23 @@ module Docs
# Remove code highlighting
css('.line-numbers-wrapper').remove
- css('pre').each do |node|
- node.parent.name = 'pre'
- node.parent['data-language'] = node.parent['class'][/language-(\w+)/, 1]
- node.parent['data-language'] = 'javascript' if node.parent['data-language'][/vue/] # unsupported by prism.js
- node.parent.remove_attribute 'class'
- node.parent.content = node.content.strip
+ if version == '3'
+ css('pre').each do |node|
+ node.parent.name = 'pre'
+ node.parent['data-language'] = node.parent['class'][/language-(\w+)/, 1]
+ node.parent['data-language'] = 'javascript' if node.parent['data-language'][/vue/] # unsupported by prism.js
+ node.parent.remove_attribute 'class'
+ node.parent.content = node.content.strip
+ end
+ else
+ css('pre').each do |node|
+ parent = node.ancestors('figure')[0]
+ parent.name = 'pre'
+ parent['data-language'] = parent['class'][/(html|js)/, 1]
+ parent.remove_attribute 'class'
+ node.css('br').each{ |br| br.replace "\n" }
+ parent.content = node.content.strip
+ end
end
css('.vue-mastery-link').remove
diff --git a/lib/docs/filters/wagtail/clean_html.rb b/lib/docs/filters/wagtail/clean_html.rb
new file mode 100644
index 00000000..050388d5
--- /dev/null
+++ b/lib/docs/filters/wagtail/clean_html.rb
@@ -0,0 +1,67 @@
+module Docs
+ class Wagtail
+ class CleanHtmlFilter < Filter
+ def call
+ @doc = at_css('main > section', 'main')
+
+ # footer contains links like about,contact us etc which
+ # are not needed in documentation so removed
+ doc.search('footer').each do |footer|
+ footer.remove
+ end
+
+ # aside bar contains the search bar and navigation links
+ # which are not needed
+ doc.search('aside').each do |aside|
+ aside.remove
+ end
+
+ # header contains links which are not needed(see sourch code of Wagtail docs)
+ doc.search('header').each do |head|
+ head.remove
+ end
+
+ # nav bar contains the search bar and navigation links(older versions)
+ # which are not needed
+ doc.search('nav.wy-nav-side').each do |nav|
+ nav.remove
+ end
+
+ # removing unimportant links(older versions)
+ doc.search('nav.wy-nav-top').each do |nav|
+ nav.remove
+ end
+
+ # removing unimportant links from header of very old versions
+ doc.search('ul.wy-breadcrumbs').each do |ul|
+ ul.remove
+ end
+
+ # removing release notes
+ doc.search('li.toctree-l1').each do |li|
+ li.remove if li.to_s.include? 'Release notes'
+ end
+
+ # removing release notes(older versions)
+ doc.search('dl').each do |dl|
+ dl.remove
+ end
+
+ # removing scripts and style
+ css('script', 'style', 'link').remove
+ css('hr').remove
+ # Make proper table headers
+ css('td.header').each do |node|
+ node.name = 'th'
+ end
+
+ # Remove code highlighting
+ css('pre').each do |node|
+ node.content = node.content
+ end
+
+ doc
+ end
+ end
+ end
+end
diff --git a/lib/docs/filters/wagtail/entries.rb b/lib/docs/filters/wagtail/entries.rb
new file mode 100644
index 00000000..8af4c4c7
--- /dev/null
+++ b/lib/docs/filters/wagtail/entries.rb
@@ -0,0 +1,15 @@
+module Docs
+ class Wagtail
+ class EntriesFilter < Docs::EntriesFilter
+ def get_name
+ # removing the pilcrow sign and returning the heading
+ at_css('h1').content.strip.remove("\u{00b6}")
+ end
+
+ def get_type
+ object, method = *slug.split('/')
+ method ? object : 'Miscellaneous'
+ end
+ end
+ end
+end
diff --git a/lib/docs/scrapers/angular.rb b/lib/docs/scrapers/angular.rb
index c8b74276..ac27740c 100644
--- a/lib/docs/scrapers/angular.rb
+++ b/lib/docs/scrapers/angular.rb
@@ -83,7 +83,13 @@ module Docs
end
version do
- self.release = '14.2.0'
+ self.release = '15.0.0'
+ self.base_url = 'https://angular.io/'
+ include Docs::Angular::Since12
+ end
+
+ version '14' do
+ self.release = '14.2.11'
self.base_url = 'https://angular.io/'
include Docs::Angular::Since12
end
diff --git a/lib/docs/scrapers/astro.rb b/lib/docs/scrapers/astro.rb
index 7529bc5f..30655be4 100644
--- a/lib/docs/scrapers/astro.rb
+++ b/lib/docs/scrapers/astro.rb
@@ -16,7 +16,7 @@ module Docs
options[:skip_patterns] = [/tutorial/]
- self.release = '1.6.3'
+ self.release = '2.0.0'
self.base_url = 'https://docs.astro.build/en/'
self.initial_paths = %w(getting-started/)
diff --git a/lib/docs/scrapers/axios.rb b/lib/docs/scrapers/axios.rb
index cd2ddde1..65e26281 100755
--- a/lib/docs/scrapers/axios.rb
+++ b/lib/docs/scrapers/axios.rb
@@ -5,14 +5,12 @@ module Docs
home: 'hthttps://axios-http.com/',
code: 'https://github.com/axios/axios'
}
- self.release = '1.1.3'
+ self.release = '1.2.1'
self.base_url = "https://axios-http.com/docs/"
- self.initial_paths = %w(intro)
+ self.initial_paths = %w(index intro)
html_filters.push 'axios/entries', 'axios/clean_html'
- options[:container] = 'main > .body'
-
# https://github.com/axios/axios-docs/blob/master/LICENSE
options[:attribution] = <<-HTML
© 2020-present John Jakob "Jake" Sarjeant
@@ -22,5 +20,11 @@ module Docs
def get_latest_version(opts)
get_latest_github_release('axios', 'axios', opts)
end
+
+ private
+
+ def process_response?(response)
+ true
+ end
end
end
diff --git a/lib/docs/scrapers/bootstrap.rb b/lib/docs/scrapers/bootstrap.rb
index 4719b465..fac525c1 100644
--- a/lib/docs/scrapers/bootstrap.rb
+++ b/lib/docs/scrapers/bootstrap.rb
@@ -17,7 +17,7 @@ module Docs
HTML
version '5' do
- self.release = '5.2'
+ self.release = '5.3'
self.base_url = "https://getbootstrap.com/docs/#{self.release}/"
self.root_path = 'getting-started/introduction/'
diff --git a/lib/docs/scrapers/cmake.rb b/lib/docs/scrapers/cmake.rb
index d43d1cd5..797a61b8 100644
--- a/lib/docs/scrapers/cmake.rb
+++ b/lib/docs/scrapers/cmake.rb
@@ -20,6 +20,11 @@ module Docs
Licensed under the BSD 3-clause License.
HTML
+ version '3.25' do
+ self.release = '3.25'
+ self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
+ end
+
version '3.24' do
self.release = '3.24'
self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
diff --git a/lib/docs/scrapers/crystal.rb b/lib/docs/scrapers/crystal.rb
index 27fe2f9f..56a2ec13 100644
--- a/lib/docs/scrapers/crystal.rb
+++ b/lib/docs/scrapers/crystal.rb
@@ -2,7 +2,7 @@ module Docs
class Crystal < UrlScraper
include MultipleBaseUrls
self.type = 'crystal'
- self.release = '1.6.0'
+ self.release = '1.7.0'
self.base_urls = [
"https://crystal-lang.org/api/#{release}/",
"https://crystal-lang.org/reference/#{release[0..2]}/",
@@ -28,7 +28,7 @@ module Docs
HTML
else
<<-HTML
- © 2012–2022 Manas Technology Solutions.
+ © 2012–2023 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
HTML
end
diff --git a/lib/docs/scrapers/d3.rb b/lib/docs/scrapers/d3.rb
index 5ae16672..614d74ca 100644
--- a/lib/docs/scrapers/d3.rb
+++ b/lib/docs/scrapers/d3.rb
@@ -12,12 +12,12 @@ module Docs
options[:container] = '.markdown-body'
options[:attribution] = <<-HTML
- © 2010–2022 Michael Bostock
+ © 2010–2023 Michael Bostock
Licensed under the BSD License.
HTML
version '7' do
- self.release = '7.6.1'
+ self.release = '7.8.1'
self.base_url = 'https://github.com/d3/'
self.root_path = 'd3/blob/master/API.md'
diff --git a/lib/docs/scrapers/dart.rb b/lib/docs/scrapers/dart.rb
index c12d051a..fd04555f 100644
--- a/lib/docs/scrapers/dart.rb
+++ b/lib/docs/scrapers/dart.rb
@@ -17,11 +17,11 @@ module Docs
options[:attribution] = <<-HTML
© 2012 the Dart project authors
- Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
+ Licensed under the BSD 3-Clause "New" or "Revised" License.
HTML
version '2' do
- self.release = '2.17.0'
+ self.release = '2.18.5'
self.base_url = "https://api.dart.dev/stable/#{release}/"
end
diff --git a/lib/docs/scrapers/ember.rb b/lib/docs/scrapers/ember.rb
index c5c3ac72..78b2ebb2 100644
--- a/lib/docs/scrapers/ember.rb
+++ b/lib/docs/scrapers/ember.rb
@@ -42,18 +42,27 @@ module Docs
]
options[:attribution] = <<-HTML
- © 2020 Yehuda Katz, Tom Dale and Ember.js contributors
+ © 2022 Yehuda Katz, Tom Dale and Ember.js contributors
Licensed under the MIT License.
HTML
options[:decode_and_clean_paths] = true # handle paths like @ember/application
+ version '4' do
+ self.release = '4.9.0'
+ self.base_urls = %w[
+ https://guides.emberjs.com/v4.9.0/
+ https://api.emberjs.com/ember/4.9/
+ https://api.emberjs.com/ember-data/4.9/
+ ]
+ end
+
version '3' do
- self.release = '3.25.0'
+ self.release = '3.28.0'
self.base_urls = %w[
- https://guides.emberjs.com/v3.25.0/
- https://api.emberjs.com/ember/3.25/
- https://api.emberjs.com/ember-data/3.25/
+ https://guides.emberjs.com/v3.28.0/
+ https://api.emberjs.com/ember/3.28/
+ https://api.emberjs.com/ember-data/3.28/
]
end
diff --git a/lib/docs/scrapers/erlang.rb b/lib/docs/scrapers/erlang.rb
index ee188d5a..90794603 100644
--- a/lib/docs/scrapers/erlang.rb
+++ b/lib/docs/scrapers/erlang.rb
@@ -36,12 +36,12 @@ module Docs
]
options[:attribution] = <<-HTML
- © 2010–2022 Ericsson AB
+ © 2010–2023 Ericsson AB
Licensed under the Apache License, Version 2.0.
HTML
version '25' do
- self.release = '25.0'
+ self.release = '25.2.2'
end
version '24' do
diff --git a/lib/docs/scrapers/esbuild.rb b/lib/docs/scrapers/esbuild.rb
index 22f95e77..a0f0d8bf 100644
--- a/lib/docs/scrapers/esbuild.rb
+++ b/lib/docs/scrapers/esbuild.rb
@@ -16,7 +16,7 @@ module Docs
Licensed under the MIT License.
HTML
- self.release = '0.15.7'
+ self.release = '0.17.2'
self.base_url = 'https://esbuild.github.io/'
html_filters.push 'esbuild/clean_html', 'esbuild/entries'
diff --git a/lib/docs/scrapers/eslint.rb b/lib/docs/scrapers/eslint.rb
index 0395071e..4a2d7bcb 100644
--- a/lib/docs/scrapers/eslint.rb
+++ b/lib/docs/scrapers/eslint.rb
@@ -2,7 +2,7 @@ module Docs
class Eslint < UrlScraper
self.name = 'ESLint'
self.type = 'simple'
- self.release = '8.23.0'
+ self.release = '8.30.0'
self.base_url = 'https://eslint.org/docs/latest/'
self.root_path = 'user-guide/getting-started'
self.links = {
diff --git a/lib/docs/scrapers/fastapi.rb b/lib/docs/scrapers/fastapi.rb
index 682c4a40..760603b9 100644
--- a/lib/docs/scrapers/fastapi.rb
+++ b/lib/docs/scrapers/fastapi.rb
@@ -2,7 +2,7 @@ module Docs
class Fastapi < UrlScraper
self.name = 'FastAPI'
self.type = 'fastapi'
- self.release = '0.86.0'
+ self.release = '0.88.0'
self.base_url = 'https://fastapi.tiangolo.com/'
self.root_path = '/'
self.links = {
diff --git a/lib/docs/scrapers/fish.rb b/lib/docs/scrapers/fish.rb
index a50cc91d..bf2f09db 100644
--- a/lib/docs/scrapers/fish.rb
+++ b/lib/docs/scrapers/fish.rb
@@ -12,10 +12,18 @@ module Docs
# https://fishshell.com/docs/current/license.html
options[:attribution] = <<-HTML
- © 2022 fish-shell developers
+ © 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
HTML
+ version '3.6' do
+ self.release = '3.6.0'
+ self.base_url = "https://fishshell.com/docs/#{version}/"
+
+ options[:skip].concat %w(genindex.html relnotes.html)
+ html_filters.push 'sphinx/clean_html', 'fish/clean_html_sphinx', 'fish/entries_sphinx'
+ end
+
version '3.5' do
self.release = '3.5.0'
self.base_url = "https://fishshell.com/docs/#{version}/"
diff --git a/lib/docs/scrapers/git.rb b/lib/docs/scrapers/git.rb
index ba3efe02..a5de307a 100644
--- a/lib/docs/scrapers/git.rb
+++ b/lib/docs/scrapers/git.rb
@@ -1,7 +1,7 @@
module Docs
class Git < UrlScraper
self.type = 'git'
- self.release = '2.38.0'
+ self.release = '2.39.0'
self.base_url = 'https://git-scm.com/docs'
self.initial_paths = %w(/git.html)
self.links = {
diff --git a/lib/docs/scrapers/go.rb b/lib/docs/scrapers/go.rb
index 4523018c..11768fd3 100644
--- a/lib/docs/scrapers/go.rb
+++ b/lib/docs/scrapers/go.rb
@@ -1,7 +1,7 @@
module Docs
class Go < UrlScraper
self.type = 'go'
- self.release = '1.19.0'
+ self.release = '1.20.0'
self.base_url = 'https://golang.org/pkg/'
self.links = {
home: 'https://golang.org/',
diff --git a/lib/docs/scrapers/haproxy.rb b/lib/docs/scrapers/haproxy.rb
index 8c9349a0..8fb07165 100644
--- a/lib/docs/scrapers/haproxy.rb
+++ b/lib/docs/scrapers/haproxy.rb
@@ -20,6 +20,11 @@ module Docs
Licensed under the GNU General Public License version 2.
HTML
+ version '2.7' do
+ self.release = '2.7.0'
+ self.base_url = "https://docs.haproxy.org/#{self.version}/"
+ end
+
version '2.6' do
self.release = '2.6.5'
self.base_url = "https://docs.haproxy.org/#{self.version}/"
diff --git a/lib/docs/scrapers/http.rb b/lib/docs/scrapers/http.rb
index f655de79..b8f38218 100644
--- a/lib/docs/scrapers/http.rb
+++ b/lib/docs/scrapers/http.rb
@@ -2,7 +2,7 @@ module Docs
class Http < Mdn
include MultipleBaseUrls
- # release = '2022-09-21'
+ # release = '2022-11-17'
self.name = 'HTTP'
self.base_urls = [
'https://developer.mozilla.org/en-US/docs/Web/HTTP',
@@ -19,7 +19,7 @@ module Docs
filter.current_url.host == 'datatracker.ietf.org' ? '.content' : Docs::Mdn.options[:container]
end
options[:skip_links] = ->(filter) do
- filter.current_url.host == 'datatracker.ietf.org' ? true : false
+ filter.current_url.host == 'datatracker.ietf.org'
end
options[:replace_paths] = { '/Access_control_CORS' => '/CORS' }
options[:fix_urls] = ->(url) do
diff --git a/lib/docs/scrapers/i3.rb b/lib/docs/scrapers/i3.rb
index caee54d0..6e5fbd70 100644
--- a/lib/docs/scrapers/i3.rb
+++ b/lib/docs/scrapers/i3.rb
@@ -3,7 +3,7 @@ module Docs
self.name = 'i3'
self.type = 'simple'
self.slug = 'i3'
- self.release = '4.21'
+ self.release = '4.22'
self.base_url = 'https://i3wm.org/docs/userguide.html'
self.links = {
home: 'https://i3wm.org/',
diff --git a/lib/docs/scrapers/immutable.rb b/lib/docs/scrapers/immutable.rb
index 74e7dee1..f4266923 100644
--- a/lib/docs/scrapers/immutable.rb
+++ b/lib/docs/scrapers/immutable.rb
@@ -3,7 +3,7 @@ module Docs
self.name = 'Immutable.js'
self.slug = 'immutable'
self.type = 'simple'
- self.release = '4.1.0'
+ self.release = '4.2.1'
self.base_url = "https://immutable-js.com/docs/v#{release}/"
self.links = {
home: 'https://immutable-js.com/',
diff --git a/lib/docs/scrapers/julia.rb b/lib/docs/scrapers/julia.rb
index f1669dec..d599bcef 100644
--- a/lib/docs/scrapers/julia.rb
+++ b/lib/docs/scrapers/julia.rb
@@ -12,8 +12,8 @@ module Docs
HTML
version '1.8' do
- self.release = '1.8.0'
- self.base_url = "https://docs.julialang.org/en/v#{release}/"
+ self.release = '1.8.5'
+ self.base_url = "https://docs.julialang.org/en/v#{version}/"
self.type = 'julia'
html_filters.push 'julia/entries', 'julia/clean_html'
diff --git a/lib/docs/scrapers/kotlin.rb b/lib/docs/scrapers/kotlin.rb
index 610f97f7..99248ffa 100644
--- a/lib/docs/scrapers/kotlin.rb
+++ b/lib/docs/scrapers/kotlin.rb
@@ -27,10 +27,15 @@ module Docs
end
options[:attribution] = <<-HTML
- © 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
+ © 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
HTML
+ version '1.8' do
+ self.release = '1.8.0'
+ self.headers = { 'User-Agent' => 'devdocs.io' , 'Cookie' => 'x-ab-test-spring-boot-learning-path=0; userToken=r33dgpe8x3q5vswekg16a' }
+ end
+
version '1.7' do
self.release = '1.7.20'
end
diff --git a/lib/docs/scrapers/kubectl.rb b/lib/docs/scrapers/kubectl.rb
index 9e33a27c..42cff8c7 100644
--- a/lib/docs/scrapers/kubectl.rb
+++ b/lib/docs/scrapers/kubectl.rb
@@ -7,7 +7,6 @@ module Docs
home: 'https://kubernetes.io/docs/reference/kubectl/',
code: 'https://github.com/kubernetes/kubernetes'
}
- self.release = "1.23"
self.base_url = "https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands"
html_filters.push 'kubectl/entries', 'kubectl/clean_html'
@@ -21,7 +20,7 @@ module Docs
# latest version has a special URL that does not include the version identifier
version do
- self.release = "1.25"
+ self.release = "1.26"
self.base_url = "https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands"
end
diff --git a/lib/docs/scrapers/kubernetes.rb b/lib/docs/scrapers/kubernetes.rb
index 4b0aa323..2eb30c63 100644
--- a/lib/docs/scrapers/kubernetes.rb
+++ b/lib/docs/scrapers/kubernetes.rb
@@ -20,7 +20,7 @@ module Docs
# latest version has a special URL that does not include the version identifier
version do
- self.release = "1.25"
+ self.release = "1.26"
self.base_url = "https://kubernetes.io/docs/reference/kubernetes-api/"
end
diff --git a/lib/docs/scrapers/mdn/css.rb b/lib/docs/scrapers/mdn/css.rb
index b730ab4a..724a6fec 100644
--- a/lib/docs/scrapers/mdn/css.rb
+++ b/lib/docs/scrapers/mdn/css.rb
@@ -1,6 +1,6 @@
module Docs
class Css < Mdn
- # release = '2022-09-06'
+ # release = '2023-01-06'
self.name = 'CSS'
self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/CSS'
self.root_path = '/Reference'
diff --git a/lib/docs/scrapers/mdn/dom.rb b/lib/docs/scrapers/mdn/dom.rb
index a28a8120..7af13d55 100644
--- a/lib/docs/scrapers/mdn/dom.rb
+++ b/lib/docs/scrapers/mdn/dom.rb
@@ -1,7 +1,7 @@
module Docs
class Dom < Mdn
- # release = '2022-04-27'
+ # release = '2023-01-06'
self.name = 'Web APIs'
self.slug = 'dom'
self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/API'
diff --git a/lib/docs/scrapers/mdn/html.rb b/lib/docs/scrapers/mdn/html.rb
index 634a5012..be7e7bae 100644
--- a/lib/docs/scrapers/mdn/html.rb
+++ b/lib/docs/scrapers/mdn/html.rb
@@ -2,7 +2,7 @@ module Docs
class Html < Mdn
prepend FixInternalUrlsBehavior
- # release = '2022-09-06'
+ # release = '2023-01-06'
self.name = 'HTML'
self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/HTML'
diff --git a/lib/docs/scrapers/mdn/javascript.rb b/lib/docs/scrapers/mdn/javascript.rb
index d55f8b73..8c1a64bc 100644
--- a/lib/docs/scrapers/mdn/javascript.rb
+++ b/lib/docs/scrapers/mdn/javascript.rb
@@ -3,7 +3,7 @@ module Docs
prepend FixInternalUrlsBehavior
prepend FixRedirectionsBehavior
- # release = '2022-09-06'
+ # release = '2023-01-06'
self.name = 'JavaScript'
self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference'
diff --git a/lib/docs/scrapers/mdn/mdn.rb b/lib/docs/scrapers/mdn/mdn.rb
index 977079a8..54856e47 100644
--- a/lib/docs/scrapers/mdn/mdn.rb
+++ b/lib/docs/scrapers/mdn/mdn.rb
@@ -13,7 +13,7 @@ module Docs
}
options[:attribution] = <<-HTML
- © 2005–2022 MDN contributors.
+ © 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
HTML
diff --git a/lib/docs/scrapers/ocaml.rb b/lib/docs/scrapers/ocaml.rb
index 0ab64a90..c26572ac 100644
--- a/lib/docs/scrapers/ocaml.rb
+++ b/lib/docs/scrapers/ocaml.rb
@@ -3,8 +3,6 @@ module Docs
self.name = 'OCaml'
self.type = 'ocaml'
self.root_path = 'index.html'
- self.release = '4.14'
- self.base_url = "https://v2.ocaml.org/releases/#{self.release}/htmlman/"
self.links = {
home: 'https://ocaml.org/',
code: 'https://github.com/ocaml/ocaml'
@@ -26,6 +24,16 @@ module Docs
© 1995-2022 INRIA.
HTML
+ version '' do
+ self.release = '5.0'
+ self.base_url = "https://v2.ocaml.org/releases/#{self.release}/htmlman/"
+ end
+
+ version '4.14' do
+ self.release = '4.14'
+ self.base_url = "https://v2.ocaml.org/releases/#{self.release}/htmlman/"
+ end
+
def get_latest_version(opts)
get_latest_github_release('ocaml', 'ocaml', opts)
end
diff --git a/lib/docs/scrapers/php.rb b/lib/docs/scrapers/php.rb
index 6facd0c9..5c02d6c5 100644
--- a/lib/docs/scrapers/php.rb
+++ b/lib/docs/scrapers/php.rb
@@ -5,7 +5,7 @@ module Docs
self.name = 'PHP'
self.type = 'php'
- self.release = '8.1.5'
+ self.release = '8.2'
self.base_url = 'https://www.php.net/manual/en/'
self.root_path = 'index.html'
self.initial_paths = %w(
@@ -62,7 +62,7 @@ module Docs
options[:skip_patterns] = [/mysqlnd/, /xdevapi/i]
options[:attribution] = <<-HTML
- © 1997–2021 The PHP Documentation Group
+ © 1997–2022 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
HTML
diff --git a/lib/docs/scrapers/point_cloud_library.rb b/lib/docs/scrapers/point_cloud_library.rb
index f9ce6827..2fdc609d 100644
--- a/lib/docs/scrapers/point_cloud_library.rb
+++ b/lib/docs/scrapers/point_cloud_library.rb
@@ -9,7 +9,7 @@ module Docs
self.initial_paths = [
"https://pointclouds.org/documentation/hierarchy.html"
]
- self.release = '1.12.1'
+ self.release = '1.13.0'
self.links = {
home: 'https://pointclouds.org/',
diff --git a/lib/docs/scrapers/prettier.rb b/lib/docs/scrapers/prettier.rb
index cd7c75d2..f9963501 100644
--- a/lib/docs/scrapers/prettier.rb
+++ b/lib/docs/scrapers/prettier.rb
@@ -2,7 +2,7 @@ module Docs
class Prettier < UrlScraper
self.name = 'Prettier'
self.type = 'simple'
- self.release = '2.7.1'
+ self.release = '2.8.0'
self.base_url = 'https://prettier.io/docs/en/'
self.links = {
home: 'https://prettier.io/',
diff --git a/lib/docs/scrapers/python.rb b/lib/docs/scrapers/python.rb
index e3617e90..360e2bb6 100644
--- a/lib/docs/scrapers/python.rb
+++ b/lib/docs/scrapers/python.rb
@@ -17,19 +17,19 @@ module Docs
library/sunau.html)
options[:attribution] = <<-HTML
- © 2001–2022 Python Software Foundation
+ © 2001–2023 Python Software Foundation
Licensed under the PSF License.
HTML
version '3.11' do
- self.release = '3.11.0'
+ self.release = '3.11.1'
self.base_url = "https://docs.python.org/#{self.version}/"
html_filters.push 'python/entries_v3', 'sphinx/clean_html', 'python/clean_html'
end
version '3.10' do
- self.release = '3.10.8'
+ self.release = '3.10.9'
self.base_url = "https://docs.python.org/#{self.version}/"
html_filters.push 'python/entries_v3', 'sphinx/clean_html', 'python/clean_html'
diff --git a/lib/docs/scrapers/qunit.rb b/lib/docs/scrapers/qunit.rb
new file mode 100644
index 00000000..f0d649f5
--- /dev/null
+++ b/lib/docs/scrapers/qunit.rb
@@ -0,0 +1,39 @@
+# frozen_string_literal: true
+
+module Docs
+ class Qunit < UrlScraper
+ self.name = 'QUnit'
+ self.type = 'qunit'
+ self.release = '2.19.3'
+ self.base_url = 'https://api.qunitjs.com/'
+ self.root_path = '/'
+ self.links = {
+ home: 'https://qunitjs.com/',
+ code: 'https://github.com/qunitjs/qunit'
+ }
+
+ html_filters.push 'qunit/entries', 'qunit/clean_html'
+
+ options[:trailing_slash] = false
+
+ options[:container] = '.main'
+ options[:skip_patterns] = [
+ /deprecated/,
+ /^QUnit$/,
+ /^assert$/,
+ /^callbacks$/,
+ /^async$/,
+ /^config$/,
+ /^extension$/,
+ ]
+
+ options[:attribution] = <<-HTML
+ © OpenJS Foundation and contributors.
+ Licensed under the MIT license.
+ HTML
+
+ def get_latest_version(opts)
+ get_npm_version('qunit', opts)
+ end
+ end
+end
diff --git a/lib/docs/scrapers/rdoc/minitest.rb b/lib/docs/scrapers/rdoc/minitest.rb
index 2a4249fc..884dc0a6 100644
--- a/lib/docs/scrapers/rdoc/minitest.rb
+++ b/lib/docs/scrapers/rdoc/minitest.rb
@@ -8,10 +8,11 @@ module Docs
self.name = 'Ruby / Minitest'
self.slug = 'minitest'
- self.release = '5.11.3'
+ self.release = '5.17.0'
self.links = {
- code: 'https://github.com/seattlerb/minitest'
+ code: 'https://github.com/minitest/minitest'
}
+ self.base_url = 'https://docs.seattlerb.org/minitest/'
html_filters.replace 'rdoc/entries', 'minitest/entries'
diff --git a/lib/docs/scrapers/rdoc/rails.rb b/lib/docs/scrapers/rdoc/rails.rb
index 3f2e1f27..68381b79 100644
--- a/lib/docs/scrapers/rdoc/rails.rb
+++ b/lib/docs/scrapers/rdoc/rails.rb
@@ -76,15 +76,15 @@ module Docs
end
version '7.0' do
- self.release = '7.0.0'
+ self.release = '7.0.4'
end
version '6.1' do
- self.release = '6.1.4'
+ self.release = '6.1.7'
end
version '6.0' do
- self.release = '6.0.4'
+ self.release = '6.0.6'
end
version '5.2' do
diff --git a/lib/docs/scrapers/rdoc/ruby.rb b/lib/docs/scrapers/rdoc/ruby.rb
index 76ddd1fb..2850061a 100644
--- a/lib/docs/scrapers/rdoc/ruby.rb
+++ b/lib/docs/scrapers/rdoc/ruby.rb
@@ -69,8 +69,12 @@ module Docs
Licensed under their own licenses.
HTML
+ version '3.2' do
+ self.release = '3.2.0'
+ end
+
version '3.1' do
- self.release = '3.1.1'
+ self.release = '3.1.3'
end
version '3' do
diff --git a/lib/docs/scrapers/redis.rb b/lib/docs/scrapers/redis.rb
index cffe2b1f..46b299af 100644
--- a/lib/docs/scrapers/redis.rb
+++ b/lib/docs/scrapers/redis.rb
@@ -1,7 +1,7 @@
module Docs
class Redis < UrlScraper
self.type = 'redis'
- self.release = '6.2.1'
+ self.release = '7.0.8'
self.base_url = 'https://redis.io/commands'
self.links = {
home: 'https://redis.io/',
@@ -10,13 +10,13 @@ module Docs
html_filters.push 'redis/entries', 'redis/clean_html', 'title'
- options[:container] = ->(filter) { filter.root_page? ? '#commands' : '.text' }
+ options[:container] = ->(filter) { filter.root_page? ? '#commands-grid' : 'section' }
options[:title] = false
options[:root_title] = 'Redis'
options[:follow_links] = ->(filter) { filter.root_page? }
options[:attribution] = <<-HTML
- © 2009–2020 Salvatore Sanfilippo
+ © 2009–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
HTML
@@ -25,5 +25,13 @@ module Docs
body = body.lines[1..-1].join
body.scan(/Redis ([0-9.]+)/)[0][0]
end
+
+ private
+
+ def parse(response)
+ response.body.gsub! '