Ver Fonte

Merge pull request #1293 from simon04/about-docs-metadata

/about: Obtain credits from docs metadata
Simon Legner há 2 anos atrás
pai
commit
604cfd2331

+ 15 - 938
assets/javascripts/templates/pages/about_tmpl.coffee

@@ -1,4 +1,9 @@
-app.templates.aboutPage = -> """
+app.templates.aboutPage = ->
+  all_docs = app.docs.all().concat(app.disabledDocs.all()...)
+  # de-duplicate docs by doc.name
+  docs = []
+  docs.push doc for doc in all_docs when not (docs.find (d) -> d.name == doc.name)
+  """
   <nav class="_toc" role="directory">
     <h3 class="_toc-title">Table of Contents</h3>
     <ul class="_toc-list">
@@ -61,9 +66,15 @@ app.templates.aboutPage = -> """
     <table class="_credits">
       <tr>
         <th>Documentation
-        <th>Copyright
-        <th>License
-      #{("<tr><td>#{c[0]}<td>&copy; #{c[1]}<td><a href=\"#{c[3]}\">#{c[2]}</a>" for c in credits).join('')}
+        <th>Copyright/License
+        <th>Source code
+      #{(
+        "<tr>
+        <td><a href=\"#{doc.links.home}\">#{doc.name}</a></td>
+        <td>#{doc.attribution}</td>
+        <td><a href=\"#{doc.links.code}\">Source code</a></td>
+        </tr>" for doc in docs
+      ).join('')}
     </table>
   </div>
 
@@ -78,937 +89,3 @@ app.templates.aboutPage = -> """
     <li>If you have any questions regarding privacy, please email <a href="mailto:privacy@freecodecamp.org">privacy@freecodecamp.org</a>.
   </ul>
 """
-
-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<br>&copy; 2018–2021 Red Hat, Inc.',
-    'GPLv3',
-    'https://raw.githubusercontent.com/ansible/ansible/devel/COPYING'
-  ], [
-    'Apache HTTP Server<br>Apache Pig',
-    '2018 The Apache Software Foundation<br>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.<br>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<br>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&trade;',
-    '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<br>DOM<br>HTTP<br>HTML<br>JavaScript<br>SVG<br>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',
-    'BSD 3-Clause "New" or "Revised" License',
-    'https://raw.githubusercontent.com/dart-lang/sdk/main/LICENSE'
-  ], [
-    '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.<br>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<br>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',
-    '2022 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<br>GNU Fortran<br>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<br>&copy; 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<br>&copy; 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<br>&copy; 2010-2011, CloudMade<br>Maps &copy; 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<br>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<br>&copy; 2011-2022 Nginx, Inc.',
-    'BSD',
-    'http://nginx.org/LICENSE'
-  ], [
-    'nginx / Lua Module',
-    '2009-2017 Xiaozhe Wang (chaoslawful)<br>&copy; 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<br>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<br>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.<br>Licensed under the GNU General Public License, version 2, with the Classpath Exception.<br>Various third party code in OpenJDK is licensed under different licenses.<br>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-2022 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.<br>&copy; 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<br>&copy; 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<br>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'
-  ], [
-    'QUnit',
-    'OpenJS Foundation and other contributors',
-    'MIT',
-    'https://raw.githubusercontent.com/qunitjs/qunit/main/LICENSE.txt'
-  ], [
-    '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<br>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<br>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<br>&copy; 2006-2008 Scipy Developers<br>&copy; 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<br>2021-Present Matias Capeletto<br>',
-    '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.<br>Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.',
-    'CC BY',
-    'https://creativecommons.org/licenses/by/4.0/'
-  ],[
-    'wagtail',
-    '2014-present Torchbox Ltd and individual contributors',
-    'BSD',
-    'https://github.com/wagtail/wagtail/blob/main/LICENSE'
-  ],[
-    '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'
-  ]
-]

+ 1 - 1
assets/stylesheets/components/_content.scss

@@ -228,7 +228,7 @@
 //
 
 ._credits {
-  width: 100%;
+  max-width: 100%;
 }
 
 //

+ 8 - 0
lib/docs/core/doc.rb

@@ -86,6 +86,14 @@ module Docs
         json
       end
 
+      def as_json_extra(store)
+        json = self.as_json
+        json[:attribution] = options[:attribution].strip if self.class.method_defined?(:options) and options[:attribution].present?
+        json[:db_size] = store.size(self.db_path) if store.exist?(self.db_path)
+        json[:mtime] = store.mtime(self.meta_path).to_i if store.exist?(self.meta_path)
+        json
+      end
+
       def store_page(store, id)
         index = EntryIndex.new
         pages = PageDb.new

+ 1 - 1
lib/docs/core/manifest.rb

@@ -16,7 +16,7 @@ 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))
+        result << doc.as_json_extra(@store)
       end
     end
 

+ 2 - 2
test/lib/docs/core/manifest_test.rb

@@ -56,14 +56,14 @@ class ManifestTest < MiniTest::Spec
 
     context "when the doc has a meta file" do
       before do
+        stub(store).exist?("testdoc/db.json") { false }
         stub(store).exist?(meta_path) { true }
-        stub(store).read(meta_path) { '{"name":"Test"}' }
       end
 
       it "includes the doc's meta representation" do
         json = manifest.as_json
         assert_equal 1, json.length
-        assert_equal 'Test', json[0]['name']
+        assert_equal "{:name=>\"TestDoc\", :slug=>\"testdoc\", :type=>nil, :mtime=>0}", json[0].to_s
       end
     end