From 1c18e73aaeb0715dc55204d9e1468d2731b9afac Mon Sep 17 00:00:00 2001 From: alxndrsn Date: Fri, 21 Nov 2025 06:16:11 +0000 Subject: [PATCH 1/2] docs: build with eleventy instead of jekyll --- .dockerignore | 8 - .github/workflows/docs.yml | 8 +- .gitignore | 1 - CONTRIBUTING.md | 15 +- bin/build-site.js | 23 +- docs-dev.Dockerfile | 32 - docs/Gemfile | 10 - docs/Gemfile.lock | 69 - docs/_config.yml | 15 - docs/_data/authors.json | 65 + docs/_data/authors.yml | 53 - docs/_data/site.json | 10 + docs/_includes/guides_nav.html | 10 +- docs/_includes/post_details.html | 42 +- docs/_layouts/2ColLeft.html | 2 +- docs/_layouts/default.html | 10 +- docs/_layouts/guide.html | 2 +- docs/_plugins/markdown.rb | 13 - docs/blog/index.html | 26 +- docs/eleventy.config.js | 34 + docs/feed.xml | 20 +- docs/{_guides => guides}/async-code.md | 0 docs/{_guides => guides}/attachments.md | 0 docs/{_guides => guides}/bulk-operations.md | 0 docs/{_guides => guides}/changes.md | 0 .../compact-and-destroy.md | 0 docs/{_guides => guides}/conflicts.md | 0 docs/{_guides => guides}/databases.md | 0 docs/{_guides => guides}/documents.md | 0 docs/guides/guides.json | 3 + docs/{_guides => guides}/index.md | 0 docs/{_guides => guides}/local-documents.md | 0 docs/{_guides => guides}/mango-queries.md | 0 docs/{_guides => guides}/queries.md | 0 docs/{_guides => guides}/replication.md | 0 docs/{_guides => guides}/setup-couchdb.md | 0 docs/{_guides => guides}/setup-pouchdb.md | 0 docs/{_guides => guides}/updating-deleting.md | 0 .../2014-04-01-pouchdb-2.1.0.md | 0 .../2014-04-01-welcome-to-the-pouchdb-blog.md | 0 ...4-14-pagination-strategies-with-pouchdb.md | 0 .../2014-05-01-pouchdb-2.2.0.md | 0 ...econdary-indexes-have-landed-in-pouchdb.md | 0 .../2014-06-01-pouchdb-2.2.3.md | 0 ...2-pro-tips-for-better-code-with-pouchdb.md | 0 .../2014-07-25-pouchdb-levels-up.md | 0 .../2014-08-12-pouchdb-3.0.0.md | 0 .../2014-08-16-pouchdb-3.0.1.md | 0 .../2014-08-20-pouchdb-3.0.2.md | 0 .../2014-08-29-pouchdb-3.0.3.md | 0 .../2014-09-04-pouchdb-3.0.4.md | 0 .../2014-09-07-pouchdb-3.0.5.md | 0 docs/{_posts => posts}/2014-09-22-3.0.6.md | 0 ...-reading-and-writing-the-pouchdb-source.md | 0 docs/{_posts => posts}/2014-11-10-3.1.0.md | 0 .../2014-11-27-testing-pouchdb.md | 0 docs/{_posts => posts}/2014-12-04-3.2.0.md | 0 ...12-11-the-pains-of-being-async-at-heart.md | 0 ...-pouchdb-3.2.1-you-can-always-be-faster.md | 0 .../2015-02-03-fix-up-look-sharp.md | 0 .../2015-02-14-a-quick-one.md | 0 ...fficiently-managing-ui-state-in-pouchdb.md | 0 ...5-03-05-taming-the-async-beast-with-es7.md | 0 .../2015-04-05-filtered-replication.md | 0 .../2015-04-07-better-late-than-never.md | 0 ...15-05-07-pouchdb-3.5.0-vote-for-pouchdb.md | 0 ...5-05-18-we-have-a-problem-with-promises.md | 0 .../2015-06-01-pouchdb-3.6.0.md | 0 ...5-08-03-pouchdb-4.0.0-ballast-overboard.md | 0 .../2015-09-01-pouchdb-4.0.1-gotta-go-fast.md | 0 ...2015-09-12-pouchdb-4.0.2-a-little-extra.md | 0 ...-06-pouchdb-5.0.0-five-years-of-pouchdb.md | 0 .../{_posts => posts}/2015-11-03-cover-all.md | 0 ...5.2.0-a-better-build-system-with-rollup.md | 0 ...04-pouchdb-5.3.0-sqlite-support-in-node.md | 0 ...6-04-28-prebuilt-databases-with-pouchdb.md | 0 ...06-06-introducing-pouchdb-custom-builds.md | 0 .../2016-06-06-pouchdb-5.4.0.md | 0 .../2016-09-05-pouchdb-6.0.0.md | 0 .../2016-12-12-pouchdb-6.1.0.md | 0 .../2017-01-05-pouchdb-6.1.1.md | 0 .../2017-04-20-pouchdb-6.2.0.md | 0 .../2017-07-13-pouchdb-6.3.0.md | 0 .../2017-12-16-pouchdb-6.4.0.md | 0 .../2018-01-23-pouchdb-6.4.2.md | 0 .../2018-06-21-pouchdb-7.0.0.md | 0 .../2019-06-13-pouchdb-7.1.1.md | 0 .../2020-02-12-pouchdb-7.2.0.md | 0 .../2022-04-13-pouchdb-7.3.0.md | 0 .../2022-11-11-pouchdb-7.3.1.md | 0 .../2022-12-14-pouchdb-8.0.0.md | 0 .../2023-02-09-pouchdb-8.0.1.md | 0 .../2024-05-24-pouchdb-9.0.0.md | 0 docs/posts/posts.json | 3 + package-lock.json | 1491 ++++++++++++++++- package.json | 5 +- 96 files changed, 1653 insertions(+), 317 deletions(-) delete mode 100644 .dockerignore delete mode 100644 docs-dev.Dockerfile delete mode 100644 docs/Gemfile delete mode 100644 docs/Gemfile.lock delete mode 100644 docs/_config.yml create mode 100644 docs/_data/authors.json delete mode 100644 docs/_data/authors.yml create mode 100644 docs/_data/site.json delete mode 100644 docs/_plugins/markdown.rb create mode 100644 docs/eleventy.config.js rename docs/{_guides => guides}/async-code.md (100%) rename docs/{_guides => guides}/attachments.md (100%) rename docs/{_guides => guides}/bulk-operations.md (100%) rename docs/{_guides => guides}/changes.md (100%) rename docs/{_guides => guides}/compact-and-destroy.md (100%) rename docs/{_guides => guides}/conflicts.md (100%) rename docs/{_guides => guides}/databases.md (100%) rename docs/{_guides => guides}/documents.md (100%) create mode 100644 docs/guides/guides.json rename docs/{_guides => guides}/index.md (100%) rename docs/{_guides => guides}/local-documents.md (100%) rename docs/{_guides => guides}/mango-queries.md (100%) rename docs/{_guides => guides}/queries.md (100%) rename docs/{_guides => guides}/replication.md (100%) rename docs/{_guides => guides}/setup-couchdb.md (100%) rename docs/{_guides => guides}/setup-pouchdb.md (100%) rename docs/{_guides => guides}/updating-deleting.md (100%) rename docs/{_posts => posts}/2014-04-01-pouchdb-2.1.0.md (100%) rename docs/{_posts => posts}/2014-04-01-welcome-to-the-pouchdb-blog.md (100%) rename docs/{_posts => posts}/2014-04-14-pagination-strategies-with-pouchdb.md (100%) rename docs/{_posts => posts}/2014-05-01-pouchdb-2.2.0.md (100%) rename docs/{_posts => posts}/2014-05-01-secondary-indexes-have-landed-in-pouchdb.md (100%) rename docs/{_posts => posts}/2014-06-01-pouchdb-2.2.3.md (100%) rename docs/{_posts => posts}/2014-06-17-12-pro-tips-for-better-code-with-pouchdb.md (100%) rename docs/{_posts => posts}/2014-07-25-pouchdb-levels-up.md (100%) rename docs/{_posts => posts}/2014-08-12-pouchdb-3.0.0.md (100%) rename docs/{_posts => posts}/2014-08-16-pouchdb-3.0.1.md (100%) rename docs/{_posts => posts}/2014-08-20-pouchdb-3.0.2.md (100%) rename docs/{_posts => posts}/2014-08-29-pouchdb-3.0.3.md (100%) rename docs/{_posts => posts}/2014-09-04-pouchdb-3.0.4.md (100%) rename docs/{_posts => posts}/2014-09-07-pouchdb-3.0.5.md (100%) rename docs/{_posts => posts}/2014-09-22-3.0.6.md (100%) rename docs/{_posts => posts}/2014-10-26-10-things-i-learned-from-reading-and-writing-the-pouchdb-source.md (100%) rename docs/{_posts => posts}/2014-11-10-3.1.0.md (100%) rename docs/{_posts => posts}/2014-11-27-testing-pouchdb.md (100%) rename docs/{_posts => posts}/2014-12-04-3.2.0.md (100%) rename docs/{_posts => posts}/2014-12-11-the-pains-of-being-async-at-heart.md (100%) rename docs/{_posts => posts}/2015-01-05-pouchdb-3.2.1-you-can-always-be-faster.md (100%) rename docs/{_posts => posts}/2015-02-03-fix-up-look-sharp.md (100%) rename docs/{_posts => posts}/2015-02-14-a-quick-one.md (100%) rename docs/{_posts => posts}/2015-02-28-efficiently-managing-ui-state-in-pouchdb.md (100%) rename docs/{_posts => posts}/2015-03-05-taming-the-async-beast-with-es7.md (100%) rename docs/{_posts => posts}/2015-04-05-filtered-replication.md (100%) rename docs/{_posts => posts}/2015-04-07-better-late-than-never.md (100%) rename docs/{_posts => posts}/2015-05-07-pouchdb-3.5.0-vote-for-pouchdb.md (100%) rename docs/{_posts => posts}/2015-05-18-we-have-a-problem-with-promises.md (100%) rename docs/{_posts => posts}/2015-06-01-pouchdb-3.6.0.md (100%) rename docs/{_posts => posts}/2015-08-03-pouchdb-4.0.0-ballast-overboard.md (100%) rename docs/{_posts => posts}/2015-09-01-pouchdb-4.0.1-gotta-go-fast.md (100%) rename docs/{_posts => posts}/2015-09-12-pouchdb-4.0.2-a-little-extra.md (100%) rename docs/{_posts => posts}/2015-10-06-pouchdb-5.0.0-five-years-of-pouchdb.md (100%) rename docs/{_posts => posts}/2015-11-03-cover-all.md (100%) rename docs/{_posts => posts}/2016-01-13-pouchdb-5.2.0-a-better-build-system-with-rollup.md (100%) rename docs/{_posts => posts}/2016-03-04-pouchdb-5.3.0-sqlite-support-in-node.md (100%) rename docs/{_posts => posts}/2016-04-28-prebuilt-databases-with-pouchdb.md (100%) rename docs/{_posts => posts}/2016-06-06-introducing-pouchdb-custom-builds.md (100%) rename docs/{_posts => posts}/2016-06-06-pouchdb-5.4.0.md (100%) rename docs/{_posts => posts}/2016-09-05-pouchdb-6.0.0.md (100%) rename docs/{_posts => posts}/2016-12-12-pouchdb-6.1.0.md (100%) rename docs/{_posts => posts}/2017-01-05-pouchdb-6.1.1.md (100%) rename docs/{_posts => posts}/2017-04-20-pouchdb-6.2.0.md (100%) rename docs/{_posts => posts}/2017-07-13-pouchdb-6.3.0.md (100%) rename docs/{_posts => posts}/2017-12-16-pouchdb-6.4.0.md (100%) rename docs/{_posts => posts}/2018-01-23-pouchdb-6.4.2.md (100%) rename docs/{_posts => posts}/2018-06-21-pouchdb-7.0.0.md (100%) rename docs/{_posts => posts}/2019-06-13-pouchdb-7.1.1.md (100%) rename docs/{_posts => posts}/2020-02-12-pouchdb-7.2.0.md (100%) rename docs/{_posts => posts}/2022-04-13-pouchdb-7.3.0.md (100%) rename docs/{_posts => posts}/2022-11-11-pouchdb-7.3.1.md (100%) rename docs/{_posts => posts}/2022-12-14-pouchdb-8.0.0.md (100%) rename docs/{_posts => posts}/2023-02-09-pouchdb-8.0.1.md (100%) rename docs/{_posts => posts}/2024-05-24-pouchdb-9.0.0.md (100%) create mode 100644 docs/posts/posts.json diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index d054c94b33..0000000000 --- a/.dockerignore +++ /dev/null @@ -1,8 +0,0 @@ -** - -!/package.json -!/bin/build-site.js -!/bin/install-jekyll.sh -!/package-lock.json -!/docs/Gemfile -!/docs/Gemfile.lock diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e422b22d7d..7110893cfc 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -28,11 +28,5 @@ jobs: persist-credentials: false - uses: ./.github/actions/install-node-package with: - node-version: 22 - - uses: ruby/setup-ruby@v1 - with: - ruby-version: 2.7 - bundler-cache: true - - run: sudo gem install bundler -v 2.1.4 - - run: npm run install-jekyll + node-version: 24 - run: BUILD=1 npm run build-site diff --git a/.gitignore b/.gitignore index 90f8ceec1e..a1758bd6f9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ tmp* /node_modules docs/_site docs/static/css -docs/.jekyll-cache npm-debug.log npm-debug.log.* *~ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b3832063f0..19dd2db15a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -97,16 +97,7 @@ Now when you visit https://github.com/myfork/pouchdb there should be a button th Building PouchDB Documentation -------------------------------------- -The source for the website http://pouchdb.com is stored inside the `docs` directory of the PouchDB repository, you can make changes and submit pull requests as with any other patch. To build and view the website locally you will need to have the Ruby development package installed. -On Ubuntu this is done with: - - $ sudo apt install -y ruby-dev - -You then neet to install [jekyll](http://jekyllrb.com/) and a few other gems. Jekyll is installed using [bundler](http://bundler.io/) so you need to install that first. -On Ubuntu you will need root permissions to do this so prefix the ```gem``` command with ```sudo``` - - $ [sudo] gem install bundler - $ npm run install-jekyll +The source for the website http://pouchdb.com is stored inside the `docs` directory of the PouchDB repository, you can make changes and submit pull requests as with any other patch. If you haven't already done so, you'll also need to run `npm install` to pull in packages for the dev server: @@ -118,10 +109,6 @@ Now you can build the site and start the dev server with: You should now find the documentation at http://127.0.0.1:4000 -You can also build and run the documentation with docker: - - $ npm run dev-site-with-docker - Writing a PouchDB Blog Post -------------------------------------- diff --git a/bin/build-site.js b/bin/build-site.js index 94eea8a01d..6e57faea24 100755 --- a/bin/build-site.js +++ b/bin/build-site.js @@ -17,14 +17,6 @@ const POUCHDB_LESS = resolvePath('docs/src/less/pouchdb/pouchdb.less'); process.chdir('docs'); -async function checkJekyll() { - try { - await exec('bundle check'); - } catch (err) { - throw new Error('Jekyll is not installed. You need to do: npm run install-jekyll'); - } -} - async function buildCSS() { fs.mkdirSync(__dirname + '/../docs/static/css', { recursive:true }); const cmd = [ resolvePath('node_modules/less/bin/lessc'), POUCHDB_LESS ].join(' '); @@ -34,9 +26,9 @@ async function buildCSS() { console.log('Updated:', POUCHDB_CSS); } -async function buildJekyll() { - await exec('bundle exec jekyll build'); - console.log('=> Rebuilt jekyll'); +async function buildEleventy() { + await exec('npx @11ty/eleventy'); + console.log('=> Rebuilt eleventy'); highlightEs6(); console.log('=> Highlighted ES6'); @@ -83,9 +75,8 @@ function onError(err) { function buildEverything() { return Promise.resolve() - .then(checkJekyll) .then(buildCSS) - .then(buildJekyll) + .then(buildEleventy) .catch(onError); } @@ -100,14 +91,14 @@ if (!process.env.BUILD) { // Simpler ways of blacklisting certain paths here would be very welcome. fs.readdirSync('.') .forEach(path => { - if (path === '_site' || path.startsWith('Gemfile')) { + if (path === '_site') { return; } if (fs.statSync(path).isDirectory()) { - watchGlob(`${path}/**`, buildJekyll); + watchGlob(`${path}/**`, buildEleventy); } else { - watchGlob(path, buildJekyll); + watchGlob(path, buildEleventy); } }); diff --git a/docs-dev.Dockerfile b/docs-dev.Dockerfile deleted file mode 100644 index b5b49782de..0000000000 --- a/docs-dev.Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -# maintain similarity to CI by using common base image: -FROM ubuntu:20.04 - -RUN apt-get update && \ - apt-get --yes install \ - build-essential \ - curl \ - ruby-full \ - && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# TODO confirm ruby version is 2.7... if it matters -RUN gem install bundler -v 2.1.4 - -ENV NODE_VERSION=22.12.0 -ENV NVM_DIR=/root/.nvm -RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash -RUN . "$NVM_DIR/nvm.sh" && nvm install 22 -ENV PATH="$NVM_DIR/versions/node/v${NODE_VERSION}/bin/:${PATH}" - -WORKDIR /pouchdb-docs - -COPY ./docs/ ./docs-bundler -RUN cd docs-bundler && bundle install - -COPY package.json package-lock.json . -RUN npm install --ci - -COPY ./bin/ ./bin/ - -CMD ["npm", "run", "build-site"] diff --git a/docs/Gemfile b/docs/Gemfile deleted file mode 100644 index b43c8f4222..0000000000 --- a/docs/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -source 'https://rubygems.org' - -gem 'jekyll', '3.9.1' - -group :jekyll_plugins do - gem 'jekyll-paginate' - gem 'redcarpet' -end - -gem 'json' diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock deleted file mode 100644 index 33f8d36e93..0000000000 --- a/docs/Gemfile.lock +++ /dev/null @@ -1,69 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) - colorator (1.1.0) - concurrent-ruby (1.2.3) - em-websocket (0.5.3) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0) - eventmachine (1.2.7) - ffi (1.16.3) - forwardable-extended (2.6.0) - http_parser.rb (0.8.0) - i18n (0.9.5) - concurrent-ruby (~> 1.0) - jekyll (3.9.1) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 2.0) - kramdown (>= 1.17, < 3) - liquid (~> 4.0) - mercenary (~> 0.3.3) - pathutil (~> 0.9) - rouge (>= 1.7, < 4) - safe_yaml (~> 1.0) - jekyll-paginate (1.1.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-watch (2.2.1) - listen (~> 3.0) - json (2.3.1) - kramdown (2.4.0) - rexml - liquid (4.0.4) - listen (3.9.0) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.3.6) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (5.0.5) - rb-fsevent (0.11.2) - rb-inotify (0.10.1) - ffi (~> 1.0) - redcarpet (3.5.1) - rexml (3.4.2) - rouge (3.30.0) - safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - -PLATFORMS - ruby - -DEPENDENCIES - jekyll (= 3.9.1) - jekyll-paginate - json - redcarpet - -BUNDLED WITH - 2.1.4 diff --git a/docs/_config.yml b/docs/_config.yml deleted file mode 100644 index 4b1b19275a..0000000000 --- a/docs/_config.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: PouchDB -description: PouchDB, the JavaScript Database that Syncs! -url: http://pouchdb.com -markdown: redcarpet -baseurl: -version: 9.0.0 -paginate: 5 -paginate_path: "blog/page:num" -github: - repository_url: https://github.com/pouchdb/pouchdb -collections: - guides: - output: true -exclude: - - src diff --git a/docs/_data/authors.json b/docs/_data/authors.json new file mode 100644 index 0000000000..af09e0a5c2 --- /dev/null +++ b/docs/_data/authors.json @@ -0,0 +1,65 @@ +[ + { + "name": "Nick Colley", + "twitter": "nickcolley", + "github": "nickcolley", + "www": "http://nickcolley.co.uk", + "gravatar": "d83613912d1a2511a784b99c703bdcf6" + }, + { + "name": "Nolan Lawson", + "twitter": "nolanlawson", + "github": "nolanlawson", + "www": "http://nolanlawson.com", + "gravatar": "c436dec61b906e27c963518d0ef1d972" + }, + { + "name": "Dale Harvey", + "twitter": "daleharvey", + "github": "daleharvey", + "www": "http://arandomurl.com", + "gravatar": "030451d8cfc268d666bae9a7fe8d10ec" + }, + { + "name": "Calvin Metcalf", + "twitter": "CWMma", + "github": "calvinmetcalf", + "www": "http://calvinmetcalf.com/", + "gravatar": "e8153037a068f1c32e546f82729a64a5" + }, + { + "name": "Giovanni Ornaghi", + "twitter": "sphaso", + "github": "sphaso", + "www": "https://it.linkedin.com/in/giovanniornaghi", + "gravatar": "da853b1ad9ebe5e1c3ab5b340bb63b70" + }, + { + "name": "Garren Smith", + "twitter": "garrensmith", + "github": "garrensmith", + "www": "http://www.redcometlabs.com", + "gravatar": "15fb22e15587c7c36e0aeb5bf3579b07" + }, + { + "name": "Will Holley", + "twitter": "wilhol", + "github": "willholley", + "www": "https://github.com/willholley/", + "gravatar": "059d287498c864868b910fb0db7c469b" + }, + { + "name": "Gareth Bowen", + "twitter": "garethjtbowen", + "github": "garethbowen", + "www": "https://bowenwebdesign.co.nz", + "gravatar": "eda4874d50a06c7a6b231ba3dd29c7c0" + }, + { + "name": "Alba HerrerĂ­as", + "twitter": "alba_dev", + "github": "AlbaHerrerias", + "www": "https://www.albaherrerias.dev", + "gravatar": "da81e745b26ae8ca53fc77538599510f" + } +] diff --git a/docs/_data/authors.yml b/docs/_data/authors.yml deleted file mode 100644 index b4396b8529..0000000000 --- a/docs/_data/authors.yml +++ /dev/null @@ -1,53 +0,0 @@ -- name: Nick Colley - twitter: nickcolley - github: nickcolley - www: http://nickcolley.co.uk - gravatar: d83613912d1a2511a784b99c703bdcf6 - -- name: Nolan Lawson - twitter: nolanlawson - github: nolanlawson - www: http://nolanlawson.com - gravatar: c436dec61b906e27c963518d0ef1d972 - -- name: Dale Harvey - twitter: daleharvey - github: daleharvey - www: http://arandomurl.com - gravatar: 030451d8cfc268d666bae9a7fe8d10ec - -- name: Calvin Metcalf - twitter: CWMma - github: calvinmetcalf - www: http://calvinmetcalf.com/ - gravatar: e8153037a068f1c32e546f82729a64a5 - -- name: Giovanni Ornaghi - twitter: sphaso - github: sphaso - www: https://it.linkedin.com/in/giovanniornaghi - gravatar: da853b1ad9ebe5e1c3ab5b340bb63b70 - -- name: Garren Smith - twitter: garrensmith - github: garrensmith - www: http://www.redcometlabs.com - gravatar: 15fb22e15587c7c36e0aeb5bf3579b07 - -- name: Will Holley - twitter: wilhol - github: willholley - www: https://github.com/willholley/ - gravatar: 059d287498c864868b910fb0db7c469b - -- name: Gareth Bowen - twitter: garethjtbowen - github: garethbowen - www: https://bowenwebdesign.co.nz - gravatar: eda4874d50a06c7a6b231ba3dd29c7c0 - -- name: Alba HerrerĂ­as - twitter: alba_dev - github: AlbaHerrerias - www: https://www.albaherrerias.dev - gravatar: da81e745b26ae8ca53fc77538599510f diff --git a/docs/_data/site.json b/docs/_data/site.json new file mode 100644 index 0000000000..ba2d582ebb --- /dev/null +++ b/docs/_data/site.json @@ -0,0 +1,10 @@ +{ + "name": "PouchDB", + "description": "PouchDB, the JavaScript Database that Syncs!", + "url": "http://pouchdb.com", + "baseurl": "", + "version": "9.0.0", + "github": { + "repository_url": "https://github.com/pouchdb/pouchdb" + } +} diff --git a/docs/_includes/guides_nav.html b/docs/_includes/guides_nav.html index d37e0915e4..fdb712eae1 100644 --- a/docs/_includes/guides_nav.html +++ b/docs/_includes/guides_nav.html @@ -1,8 +1,8 @@ -{% assign guides = (site.guides | sort: 'index') %} +{% assign guides = collections.guides | sort: 'index' %} {% for guide in guides %} - {% assign title = guide.title %} - {% if guide.nav %} - {% assign title = guide.nav %} + {% assign title = guide.data.title %} + {% if guide.data.nav %} + {% assign title = guide.data.nav %} {% endif %} - {% include nav_item.html path=guide.url text=title %} + {% include nav_item.html path=guide.data.url text=title %} {% endfor %} diff --git a/docs/_includes/post_details.html b/docs/_includes/post_details.html index 977d0c1e77..9c97fc74ec 100644 --- a/docs/_includes/post_details.html +++ b/docs/_includes/post_details.html @@ -1,38 +1,44 @@ -{% unless post %} - {% assign post = page %} -{% endunless %} +{% if post %} + {% assign author = post.data.author %} + {% assign post_date = post.date %} + {% assign modified_date = post.modified_date %} + {% assign url = post.data.url %} +{% else %} + {% assign post_date = page.date %} +{% endif %} -{% assign post_author = post.author %} -{% assign post_gravatar = 'https://www.fillmurray.com/82/82' %} -{% assign modified_date = '' %} +{% assign post_author = author %} +{% assign post_gravatar = '' %} -{% for author in site.data.authors %} - {% if author.name == post.author %} - {% if author.twitter %} - {% capture post_author %}{{ post.author }}{% endcapture %} +
    +{% for a in authors %} + {% if a.name == author %} + {% if a.twitter %} + {% capture post_author %}{{ author }}{% endcapture %} {% endif %} - {% if author.gravatar %} - {% capture post_gravatar %}https://gravatar.com/avatar/{{ author.gravatar }}{% endcapture %} + {% if a.gravatar %} + {% capture post_gravatar %}https://gravatar.com/avatar/{{ a.gravatar }}{% endcapture %} {% endif %} {% endif %} {% endfor %} +
-{% if post.modified_date %} - {% capture modified_date %}Updated: {{ post.modified_date | date_to_long_string }}
{% endcapture %} +{% if modified_date %} + {% capture modified_date %}Updated: {{ modified_date | date_to_long_string }}
{% endcapture %} {% endif %}
- {{ post.author }} + {{ author }}

By: {{ post_author }}
- Published: {{ post.date | date_to_long_string }}
+ Published: {{ post_date | date_to_long_string }}
{% if page.url == "/blog/" or page.url contains "/blog/page" or page.url == "/" %} - {{ post.excerpt | strip_html | truncatewords: 30, '' }} - [...] + {{ post.page.excerpt | markdown | strip_html | truncatewords: 30, '' }} + [...] {% endif %}

diff --git a/docs/_layouts/2ColLeft.html b/docs/_layouts/2ColLeft.html index 77e5dc73b9..a655349eca 100644 --- a/docs/_layouts/2ColLeft.html +++ b/docs/_layouts/2ColLeft.html @@ -7,7 +7,7 @@
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index d07cf98d85..df4e2d524a 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -3,7 +3,7 @@ - {{ page.title }} + {{ title }} @@ -69,14 +69,14 @@
-

{{ page.title }}

- {% if page.edit != false %} +

{{ title }}

+ {% if edit != false %} {% include edit_button.html %} {% endif %} - {% if page.sub_title %} -

{{ page.sub_title}}

+ {% if sub_title %} +

{{ sub_title}}

{% endif %}
diff --git a/docs/_layouts/guide.html b/docs/_layouts/guide.html index 7f6942e51b..af9d826daa 100644 --- a/docs/_layouts/guide.html +++ b/docs/_layouts/guide.html @@ -6,7 +6,7 @@ {% assign guides = site.guides | sort: 'index' %} {% for guide in guides %} - {% if page.title == guide.title %} + {% if title == guide.title %} {% assign prev = guide.index | minus: 2 %} {% assign next = guide.index %} diff --git a/docs/_plugins/markdown.rb b/docs/_plugins/markdown.rb deleted file mode 100644 index 5481a5ad66..0000000000 --- a/docs/_plugins/markdown.rb +++ /dev/null @@ -1,13 +0,0 @@ -module Jekyll - class MarkdownBlock < Liquid::Block - def initialize(tag_name, text, tokens) - super - end - require "kramdown" - def render(context) - content = super - "#{Kramdown::Document.new(content).to_html}" - end - end -end -Liquid::Template.register_tag('markdown', Jekyll::MarkdownBlock) \ No newline at end of file diff --git a/docs/blog/index.html b/docs/blog/index.html index 87abb308c0..e7ef798d6c 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -2,30 +2,34 @@ layout: default title: Blog edit: false +pagination: + data: collections.posts + size: 5 + reverse: true + alias: posts +permalink: "blog/{% if pagination.pageNumber > 0 %}page{{ pagination.pageNumber | plus:1 }}/{% endif %}" --- -
+
-{% for post in paginator.posts %} +{% for post in posts %} -{{ post.title }} +{{ post.data.title }} {% include post_details.html %} {% endfor %}
diff --git a/docs/eleventy.config.js b/docs/eleventy.config.js new file mode 100644 index 0000000000..c983bcb88d --- /dev/null +++ b/docs/eleventy.config.js @@ -0,0 +1,34 @@ +const markdownIt = require('markdown-it'); +const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight'); + +module.exports = eleventyConfig => { + eleventyConfig.addPassthroughCopy('static'); + + eleventyConfig.setLiquidOptions({ + jekyllInclude: true, + }); + + // use e.g. /learn.html in preference to /learn/ + eleventyConfig.addGlobalData('permalink', '/{{ page.filePathStem }}.html'); + + eleventyConfig.setFrontMatterParsingOptions({ + excerpt: true, + excerpt_separator: '#', + }); + + const md = markdownIt({ + html: true, + }); + eleventyConfig.setLibrary('md', md); + eleventyConfig.addFilter('markdown', content => md.render(content)); + eleventyConfig.addPairedShortcode('markdown', content => md.render(content)); + + eleventyConfig.addPlugin(syntaxHighlight); + + return { + dir: { + includes: '_includes', + layouts: '_layouts', + } + }; +}; diff --git a/docs/feed.xml b/docs/feed.xml index 71eafcccf4..2f089f6706 100644 --- a/docs/feed.xml +++ b/docs/feed.xml @@ -7,20 +7,20 @@ {% if site.description %}{{ site.description | xml_escape }}{% endif %} {{ site.url }} - {% for post in site.posts limit:10 %} + {% for post in collections.posts limit:10 %} - {{ post.title | xml_escape }} - {% if post.author %} - {{ post.author | xml_escape }} + {{ post.data.title | xml_escape }} + {% if post.data.author %} + {{ post.data.author | xml_escape }} {% endif %} - {% if post.excerpt %} - {{ post.excerpt | xml_escape }} + {% if post.data.excerpt %} + {{ post.data.excerpt | xml_escape }} {% else %} - {{ post.content | xml_escape }} + {{ post.data.content | xml_escape }} {% endif %} - {{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }} - {{ site.url }}{{ post.url }} - {{ site.url }}{{ post.url }} + {{ post.data.date | date: "%a, %d %b %Y %H:%M:%S %z" }} + {{ site.url }}{{ post.data.url }} + {{ site.url }}{{ post.data.url }} {% endfor %} diff --git a/docs/_guides/async-code.md b/docs/guides/async-code.md similarity index 100% rename from docs/_guides/async-code.md rename to docs/guides/async-code.md diff --git a/docs/_guides/attachments.md b/docs/guides/attachments.md similarity index 100% rename from docs/_guides/attachments.md rename to docs/guides/attachments.md diff --git a/docs/_guides/bulk-operations.md b/docs/guides/bulk-operations.md similarity index 100% rename from docs/_guides/bulk-operations.md rename to docs/guides/bulk-operations.md diff --git a/docs/_guides/changes.md b/docs/guides/changes.md similarity index 100% rename from docs/_guides/changes.md rename to docs/guides/changes.md diff --git a/docs/_guides/compact-and-destroy.md b/docs/guides/compact-and-destroy.md similarity index 100% rename from docs/_guides/compact-and-destroy.md rename to docs/guides/compact-and-destroy.md diff --git a/docs/_guides/conflicts.md b/docs/guides/conflicts.md similarity index 100% rename from docs/_guides/conflicts.md rename to docs/guides/conflicts.md diff --git a/docs/_guides/databases.md b/docs/guides/databases.md similarity index 100% rename from docs/_guides/databases.md rename to docs/guides/databases.md diff --git a/docs/_guides/documents.md b/docs/guides/documents.md similarity index 100% rename from docs/_guides/documents.md rename to docs/guides/documents.md diff --git a/docs/guides/guides.json b/docs/guides/guides.json new file mode 100644 index 0000000000..cd20b85a28 --- /dev/null +++ b/docs/guides/guides.json @@ -0,0 +1,3 @@ +{ + "tags": "guides" +} diff --git a/docs/_guides/index.md b/docs/guides/index.md similarity index 100% rename from docs/_guides/index.md rename to docs/guides/index.md diff --git a/docs/_guides/local-documents.md b/docs/guides/local-documents.md similarity index 100% rename from docs/_guides/local-documents.md rename to docs/guides/local-documents.md diff --git a/docs/_guides/mango-queries.md b/docs/guides/mango-queries.md similarity index 100% rename from docs/_guides/mango-queries.md rename to docs/guides/mango-queries.md diff --git a/docs/_guides/queries.md b/docs/guides/queries.md similarity index 100% rename from docs/_guides/queries.md rename to docs/guides/queries.md diff --git a/docs/_guides/replication.md b/docs/guides/replication.md similarity index 100% rename from docs/_guides/replication.md rename to docs/guides/replication.md diff --git a/docs/_guides/setup-couchdb.md b/docs/guides/setup-couchdb.md similarity index 100% rename from docs/_guides/setup-couchdb.md rename to docs/guides/setup-couchdb.md diff --git a/docs/_guides/setup-pouchdb.md b/docs/guides/setup-pouchdb.md similarity index 100% rename from docs/_guides/setup-pouchdb.md rename to docs/guides/setup-pouchdb.md diff --git a/docs/_guides/updating-deleting.md b/docs/guides/updating-deleting.md similarity index 100% rename from docs/_guides/updating-deleting.md rename to docs/guides/updating-deleting.md diff --git a/docs/_posts/2014-04-01-pouchdb-2.1.0.md b/docs/posts/2014-04-01-pouchdb-2.1.0.md similarity index 100% rename from docs/_posts/2014-04-01-pouchdb-2.1.0.md rename to docs/posts/2014-04-01-pouchdb-2.1.0.md diff --git a/docs/_posts/2014-04-01-welcome-to-the-pouchdb-blog.md b/docs/posts/2014-04-01-welcome-to-the-pouchdb-blog.md similarity index 100% rename from docs/_posts/2014-04-01-welcome-to-the-pouchdb-blog.md rename to docs/posts/2014-04-01-welcome-to-the-pouchdb-blog.md diff --git a/docs/_posts/2014-04-14-pagination-strategies-with-pouchdb.md b/docs/posts/2014-04-14-pagination-strategies-with-pouchdb.md similarity index 100% rename from docs/_posts/2014-04-14-pagination-strategies-with-pouchdb.md rename to docs/posts/2014-04-14-pagination-strategies-with-pouchdb.md diff --git a/docs/_posts/2014-05-01-pouchdb-2.2.0.md b/docs/posts/2014-05-01-pouchdb-2.2.0.md similarity index 100% rename from docs/_posts/2014-05-01-pouchdb-2.2.0.md rename to docs/posts/2014-05-01-pouchdb-2.2.0.md diff --git a/docs/_posts/2014-05-01-secondary-indexes-have-landed-in-pouchdb.md b/docs/posts/2014-05-01-secondary-indexes-have-landed-in-pouchdb.md similarity index 100% rename from docs/_posts/2014-05-01-secondary-indexes-have-landed-in-pouchdb.md rename to docs/posts/2014-05-01-secondary-indexes-have-landed-in-pouchdb.md diff --git a/docs/_posts/2014-06-01-pouchdb-2.2.3.md b/docs/posts/2014-06-01-pouchdb-2.2.3.md similarity index 100% rename from docs/_posts/2014-06-01-pouchdb-2.2.3.md rename to docs/posts/2014-06-01-pouchdb-2.2.3.md diff --git a/docs/_posts/2014-06-17-12-pro-tips-for-better-code-with-pouchdb.md b/docs/posts/2014-06-17-12-pro-tips-for-better-code-with-pouchdb.md similarity index 100% rename from docs/_posts/2014-06-17-12-pro-tips-for-better-code-with-pouchdb.md rename to docs/posts/2014-06-17-12-pro-tips-for-better-code-with-pouchdb.md diff --git a/docs/_posts/2014-07-25-pouchdb-levels-up.md b/docs/posts/2014-07-25-pouchdb-levels-up.md similarity index 100% rename from docs/_posts/2014-07-25-pouchdb-levels-up.md rename to docs/posts/2014-07-25-pouchdb-levels-up.md diff --git a/docs/_posts/2014-08-12-pouchdb-3.0.0.md b/docs/posts/2014-08-12-pouchdb-3.0.0.md similarity index 100% rename from docs/_posts/2014-08-12-pouchdb-3.0.0.md rename to docs/posts/2014-08-12-pouchdb-3.0.0.md diff --git a/docs/_posts/2014-08-16-pouchdb-3.0.1.md b/docs/posts/2014-08-16-pouchdb-3.0.1.md similarity index 100% rename from docs/_posts/2014-08-16-pouchdb-3.0.1.md rename to docs/posts/2014-08-16-pouchdb-3.0.1.md diff --git a/docs/_posts/2014-08-20-pouchdb-3.0.2.md b/docs/posts/2014-08-20-pouchdb-3.0.2.md similarity index 100% rename from docs/_posts/2014-08-20-pouchdb-3.0.2.md rename to docs/posts/2014-08-20-pouchdb-3.0.2.md diff --git a/docs/_posts/2014-08-29-pouchdb-3.0.3.md b/docs/posts/2014-08-29-pouchdb-3.0.3.md similarity index 100% rename from docs/_posts/2014-08-29-pouchdb-3.0.3.md rename to docs/posts/2014-08-29-pouchdb-3.0.3.md diff --git a/docs/_posts/2014-09-04-pouchdb-3.0.4.md b/docs/posts/2014-09-04-pouchdb-3.0.4.md similarity index 100% rename from docs/_posts/2014-09-04-pouchdb-3.0.4.md rename to docs/posts/2014-09-04-pouchdb-3.0.4.md diff --git a/docs/_posts/2014-09-07-pouchdb-3.0.5.md b/docs/posts/2014-09-07-pouchdb-3.0.5.md similarity index 100% rename from docs/_posts/2014-09-07-pouchdb-3.0.5.md rename to docs/posts/2014-09-07-pouchdb-3.0.5.md diff --git a/docs/_posts/2014-09-22-3.0.6.md b/docs/posts/2014-09-22-3.0.6.md similarity index 100% rename from docs/_posts/2014-09-22-3.0.6.md rename to docs/posts/2014-09-22-3.0.6.md diff --git a/docs/_posts/2014-10-26-10-things-i-learned-from-reading-and-writing-the-pouchdb-source.md b/docs/posts/2014-10-26-10-things-i-learned-from-reading-and-writing-the-pouchdb-source.md similarity index 100% rename from docs/_posts/2014-10-26-10-things-i-learned-from-reading-and-writing-the-pouchdb-source.md rename to docs/posts/2014-10-26-10-things-i-learned-from-reading-and-writing-the-pouchdb-source.md diff --git a/docs/_posts/2014-11-10-3.1.0.md b/docs/posts/2014-11-10-3.1.0.md similarity index 100% rename from docs/_posts/2014-11-10-3.1.0.md rename to docs/posts/2014-11-10-3.1.0.md diff --git a/docs/_posts/2014-11-27-testing-pouchdb.md b/docs/posts/2014-11-27-testing-pouchdb.md similarity index 100% rename from docs/_posts/2014-11-27-testing-pouchdb.md rename to docs/posts/2014-11-27-testing-pouchdb.md diff --git a/docs/_posts/2014-12-04-3.2.0.md b/docs/posts/2014-12-04-3.2.0.md similarity index 100% rename from docs/_posts/2014-12-04-3.2.0.md rename to docs/posts/2014-12-04-3.2.0.md diff --git a/docs/_posts/2014-12-11-the-pains-of-being-async-at-heart.md b/docs/posts/2014-12-11-the-pains-of-being-async-at-heart.md similarity index 100% rename from docs/_posts/2014-12-11-the-pains-of-being-async-at-heart.md rename to docs/posts/2014-12-11-the-pains-of-being-async-at-heart.md diff --git a/docs/_posts/2015-01-05-pouchdb-3.2.1-you-can-always-be-faster.md b/docs/posts/2015-01-05-pouchdb-3.2.1-you-can-always-be-faster.md similarity index 100% rename from docs/_posts/2015-01-05-pouchdb-3.2.1-you-can-always-be-faster.md rename to docs/posts/2015-01-05-pouchdb-3.2.1-you-can-always-be-faster.md diff --git a/docs/_posts/2015-02-03-fix-up-look-sharp.md b/docs/posts/2015-02-03-fix-up-look-sharp.md similarity index 100% rename from docs/_posts/2015-02-03-fix-up-look-sharp.md rename to docs/posts/2015-02-03-fix-up-look-sharp.md diff --git a/docs/_posts/2015-02-14-a-quick-one.md b/docs/posts/2015-02-14-a-quick-one.md similarity index 100% rename from docs/_posts/2015-02-14-a-quick-one.md rename to docs/posts/2015-02-14-a-quick-one.md diff --git a/docs/_posts/2015-02-28-efficiently-managing-ui-state-in-pouchdb.md b/docs/posts/2015-02-28-efficiently-managing-ui-state-in-pouchdb.md similarity index 100% rename from docs/_posts/2015-02-28-efficiently-managing-ui-state-in-pouchdb.md rename to docs/posts/2015-02-28-efficiently-managing-ui-state-in-pouchdb.md diff --git a/docs/_posts/2015-03-05-taming-the-async-beast-with-es7.md b/docs/posts/2015-03-05-taming-the-async-beast-with-es7.md similarity index 100% rename from docs/_posts/2015-03-05-taming-the-async-beast-with-es7.md rename to docs/posts/2015-03-05-taming-the-async-beast-with-es7.md diff --git a/docs/_posts/2015-04-05-filtered-replication.md b/docs/posts/2015-04-05-filtered-replication.md similarity index 100% rename from docs/_posts/2015-04-05-filtered-replication.md rename to docs/posts/2015-04-05-filtered-replication.md diff --git a/docs/_posts/2015-04-07-better-late-than-never.md b/docs/posts/2015-04-07-better-late-than-never.md similarity index 100% rename from docs/_posts/2015-04-07-better-late-than-never.md rename to docs/posts/2015-04-07-better-late-than-never.md diff --git a/docs/_posts/2015-05-07-pouchdb-3.5.0-vote-for-pouchdb.md b/docs/posts/2015-05-07-pouchdb-3.5.0-vote-for-pouchdb.md similarity index 100% rename from docs/_posts/2015-05-07-pouchdb-3.5.0-vote-for-pouchdb.md rename to docs/posts/2015-05-07-pouchdb-3.5.0-vote-for-pouchdb.md diff --git a/docs/_posts/2015-05-18-we-have-a-problem-with-promises.md b/docs/posts/2015-05-18-we-have-a-problem-with-promises.md similarity index 100% rename from docs/_posts/2015-05-18-we-have-a-problem-with-promises.md rename to docs/posts/2015-05-18-we-have-a-problem-with-promises.md diff --git a/docs/_posts/2015-06-01-pouchdb-3.6.0.md b/docs/posts/2015-06-01-pouchdb-3.6.0.md similarity index 100% rename from docs/_posts/2015-06-01-pouchdb-3.6.0.md rename to docs/posts/2015-06-01-pouchdb-3.6.0.md diff --git a/docs/_posts/2015-08-03-pouchdb-4.0.0-ballast-overboard.md b/docs/posts/2015-08-03-pouchdb-4.0.0-ballast-overboard.md similarity index 100% rename from docs/_posts/2015-08-03-pouchdb-4.0.0-ballast-overboard.md rename to docs/posts/2015-08-03-pouchdb-4.0.0-ballast-overboard.md diff --git a/docs/_posts/2015-09-01-pouchdb-4.0.1-gotta-go-fast.md b/docs/posts/2015-09-01-pouchdb-4.0.1-gotta-go-fast.md similarity index 100% rename from docs/_posts/2015-09-01-pouchdb-4.0.1-gotta-go-fast.md rename to docs/posts/2015-09-01-pouchdb-4.0.1-gotta-go-fast.md diff --git a/docs/_posts/2015-09-12-pouchdb-4.0.2-a-little-extra.md b/docs/posts/2015-09-12-pouchdb-4.0.2-a-little-extra.md similarity index 100% rename from docs/_posts/2015-09-12-pouchdb-4.0.2-a-little-extra.md rename to docs/posts/2015-09-12-pouchdb-4.0.2-a-little-extra.md diff --git a/docs/_posts/2015-10-06-pouchdb-5.0.0-five-years-of-pouchdb.md b/docs/posts/2015-10-06-pouchdb-5.0.0-five-years-of-pouchdb.md similarity index 100% rename from docs/_posts/2015-10-06-pouchdb-5.0.0-five-years-of-pouchdb.md rename to docs/posts/2015-10-06-pouchdb-5.0.0-five-years-of-pouchdb.md diff --git a/docs/_posts/2015-11-03-cover-all.md b/docs/posts/2015-11-03-cover-all.md similarity index 100% rename from docs/_posts/2015-11-03-cover-all.md rename to docs/posts/2015-11-03-cover-all.md diff --git a/docs/_posts/2016-01-13-pouchdb-5.2.0-a-better-build-system-with-rollup.md b/docs/posts/2016-01-13-pouchdb-5.2.0-a-better-build-system-with-rollup.md similarity index 100% rename from docs/_posts/2016-01-13-pouchdb-5.2.0-a-better-build-system-with-rollup.md rename to docs/posts/2016-01-13-pouchdb-5.2.0-a-better-build-system-with-rollup.md diff --git a/docs/_posts/2016-03-04-pouchdb-5.3.0-sqlite-support-in-node.md b/docs/posts/2016-03-04-pouchdb-5.3.0-sqlite-support-in-node.md similarity index 100% rename from docs/_posts/2016-03-04-pouchdb-5.3.0-sqlite-support-in-node.md rename to docs/posts/2016-03-04-pouchdb-5.3.0-sqlite-support-in-node.md diff --git a/docs/_posts/2016-04-28-prebuilt-databases-with-pouchdb.md b/docs/posts/2016-04-28-prebuilt-databases-with-pouchdb.md similarity index 100% rename from docs/_posts/2016-04-28-prebuilt-databases-with-pouchdb.md rename to docs/posts/2016-04-28-prebuilt-databases-with-pouchdb.md diff --git a/docs/_posts/2016-06-06-introducing-pouchdb-custom-builds.md b/docs/posts/2016-06-06-introducing-pouchdb-custom-builds.md similarity index 100% rename from docs/_posts/2016-06-06-introducing-pouchdb-custom-builds.md rename to docs/posts/2016-06-06-introducing-pouchdb-custom-builds.md diff --git a/docs/_posts/2016-06-06-pouchdb-5.4.0.md b/docs/posts/2016-06-06-pouchdb-5.4.0.md similarity index 100% rename from docs/_posts/2016-06-06-pouchdb-5.4.0.md rename to docs/posts/2016-06-06-pouchdb-5.4.0.md diff --git a/docs/_posts/2016-09-05-pouchdb-6.0.0.md b/docs/posts/2016-09-05-pouchdb-6.0.0.md similarity index 100% rename from docs/_posts/2016-09-05-pouchdb-6.0.0.md rename to docs/posts/2016-09-05-pouchdb-6.0.0.md diff --git a/docs/_posts/2016-12-12-pouchdb-6.1.0.md b/docs/posts/2016-12-12-pouchdb-6.1.0.md similarity index 100% rename from docs/_posts/2016-12-12-pouchdb-6.1.0.md rename to docs/posts/2016-12-12-pouchdb-6.1.0.md diff --git a/docs/_posts/2017-01-05-pouchdb-6.1.1.md b/docs/posts/2017-01-05-pouchdb-6.1.1.md similarity index 100% rename from docs/_posts/2017-01-05-pouchdb-6.1.1.md rename to docs/posts/2017-01-05-pouchdb-6.1.1.md diff --git a/docs/_posts/2017-04-20-pouchdb-6.2.0.md b/docs/posts/2017-04-20-pouchdb-6.2.0.md similarity index 100% rename from docs/_posts/2017-04-20-pouchdb-6.2.0.md rename to docs/posts/2017-04-20-pouchdb-6.2.0.md diff --git a/docs/_posts/2017-07-13-pouchdb-6.3.0.md b/docs/posts/2017-07-13-pouchdb-6.3.0.md similarity index 100% rename from docs/_posts/2017-07-13-pouchdb-6.3.0.md rename to docs/posts/2017-07-13-pouchdb-6.3.0.md diff --git a/docs/_posts/2017-12-16-pouchdb-6.4.0.md b/docs/posts/2017-12-16-pouchdb-6.4.0.md similarity index 100% rename from docs/_posts/2017-12-16-pouchdb-6.4.0.md rename to docs/posts/2017-12-16-pouchdb-6.4.0.md diff --git a/docs/_posts/2018-01-23-pouchdb-6.4.2.md b/docs/posts/2018-01-23-pouchdb-6.4.2.md similarity index 100% rename from docs/_posts/2018-01-23-pouchdb-6.4.2.md rename to docs/posts/2018-01-23-pouchdb-6.4.2.md diff --git a/docs/_posts/2018-06-21-pouchdb-7.0.0.md b/docs/posts/2018-06-21-pouchdb-7.0.0.md similarity index 100% rename from docs/_posts/2018-06-21-pouchdb-7.0.0.md rename to docs/posts/2018-06-21-pouchdb-7.0.0.md diff --git a/docs/_posts/2019-06-13-pouchdb-7.1.1.md b/docs/posts/2019-06-13-pouchdb-7.1.1.md similarity index 100% rename from docs/_posts/2019-06-13-pouchdb-7.1.1.md rename to docs/posts/2019-06-13-pouchdb-7.1.1.md diff --git a/docs/_posts/2020-02-12-pouchdb-7.2.0.md b/docs/posts/2020-02-12-pouchdb-7.2.0.md similarity index 100% rename from docs/_posts/2020-02-12-pouchdb-7.2.0.md rename to docs/posts/2020-02-12-pouchdb-7.2.0.md diff --git a/docs/_posts/2022-04-13-pouchdb-7.3.0.md b/docs/posts/2022-04-13-pouchdb-7.3.0.md similarity index 100% rename from docs/_posts/2022-04-13-pouchdb-7.3.0.md rename to docs/posts/2022-04-13-pouchdb-7.3.0.md diff --git a/docs/_posts/2022-11-11-pouchdb-7.3.1.md b/docs/posts/2022-11-11-pouchdb-7.3.1.md similarity index 100% rename from docs/_posts/2022-11-11-pouchdb-7.3.1.md rename to docs/posts/2022-11-11-pouchdb-7.3.1.md diff --git a/docs/_posts/2022-12-14-pouchdb-8.0.0.md b/docs/posts/2022-12-14-pouchdb-8.0.0.md similarity index 100% rename from docs/_posts/2022-12-14-pouchdb-8.0.0.md rename to docs/posts/2022-12-14-pouchdb-8.0.0.md diff --git a/docs/_posts/2023-02-09-pouchdb-8.0.1.md b/docs/posts/2023-02-09-pouchdb-8.0.1.md similarity index 100% rename from docs/_posts/2023-02-09-pouchdb-8.0.1.md rename to docs/posts/2023-02-09-pouchdb-8.0.1.md diff --git a/docs/_posts/2024-05-24-pouchdb-9.0.0.md b/docs/posts/2024-05-24-pouchdb-9.0.0.md similarity index 100% rename from docs/_posts/2024-05-24-pouchdb-9.0.0.md rename to docs/posts/2024-05-24-pouchdb-9.0.0.md diff --git a/docs/posts/posts.json b/docs/posts/posts.json new file mode 100644 index 0000000000..3b14774b79 --- /dev/null +++ b/docs/posts/posts.json @@ -0,0 +1,3 @@ +{ + "tags": "posts" +} diff --git a/package-lock.json b/package-lock.json index f970755cbd..1f69029b11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,8 @@ "vuvuzela": "1.0.3" }, "devDependencies": { + "@11ty/eleventy": "^3.1.2", + "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.2", "add-cors-to-couchdb": "0.0.6", "body-parser": "1.20.3", "browserify": "16.4.0", @@ -39,6 +41,7 @@ "cssmin": "0.4.3", "denodeify": "1.2.1", "derequire": "2.1.1", + "eleventy-plugin-markdown-shortcode": "^1.1.0", "eslint": "8.7.0", "express": "4.20.0", "express-pouchdb": "4.2.0", @@ -70,6 +73,448 @@ "ua-parser-js": "0.7.24" } }, + "node_modules/@11ty/dependency-tree": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-4.0.0.tgz", + "integrity": "sha512-PTOnwM8Xt+GdJmwRKg4pZ8EKAgGoK7pedZBfNSOChXu8MYk2FdEsxdJYecX4t62owpGw3xK60q9TQv/5JI59jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.1" + } + }, + "node_modules/@11ty/dependency-tree-esm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@11ty/dependency-tree-esm/-/dependency-tree-esm-2.0.2.tgz", + "integrity": "sha512-kSTmXneksQLBhwsfqjxiSi9ecRKENXmRtT5RG95rFoWSI8kkwLcGlYpoXsPkCD9uQwSU1rmDzXBDnqUJlWaIyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.7", + "acorn": "^8.15.0", + "dependency-graph": "^1.0.0", + "normalize-path": "^3.0.0" + } + }, + "node_modules/@11ty/eleventy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-3.1.2.tgz", + "integrity": "sha512-IcsDlbXnBf8cHzbM1YBv3JcTyLB35EK88QexmVyFdVJVgUU6bh9g687rpxryJirHzo06PuwnYaEEdVZQfIgRGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@11ty/dependency-tree": "^4.0.0", + "@11ty/dependency-tree-esm": "^2.0.0", + "@11ty/eleventy-dev-server": "^2.0.8", + "@11ty/eleventy-plugin-bundle": "^3.0.6", + "@11ty/eleventy-utils": "^2.0.7", + "@11ty/lodash-custom": "^4.17.21", + "@11ty/posthtml-urls": "^1.0.1", + "@11ty/recursive-copy": "^4.0.2", + "@sindresorhus/slugify": "^2.2.1", + "bcp-47-normalize": "^2.3.0", + "chokidar": "^3.6.0", + "debug": "^4.4.1", + "dependency-graph": "^1.0.0", + "entities": "^6.0.1", + "filesize": "^10.1.6", + "gray-matter": "^4.0.3", + "iso-639-1": "^3.1.5", + "js-yaml": "^4.1.0", + "kleur": "^4.1.5", + "liquidjs": "^10.21.1", + "luxon": "^3.6.1", + "markdown-it": "^14.1.0", + "minimist": "^1.2.8", + "moo": "^0.5.2", + "node-retrieve-globals": "^6.0.1", + "nunjucks": "^3.2.4", + "picomatch": "^4.0.2", + "please-upgrade-node": "^3.2.0", + "posthtml": "^0.16.6", + "posthtml-match-helper": "^2.0.3", + "semver": "^7.7.2", + "slugify": "^1.6.6", + "tinyglobby": "^0.2.14" + }, + "bin": { + "eleventy": "cmd.cjs" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-dev-server": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-dev-server/-/eleventy-dev-server-2.0.8.tgz", + "integrity": "sha512-15oC5M1DQlCaOMUq4limKRYmWiGecDaGwryr7fTE/oM9Ix8siqMvWi+I8VjsfrGr+iViDvWcH/TVI6D12d93mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.1", + "chokidar": "^3.6.0", + "debug": "^4.4.0", + "finalhandler": "^1.3.1", + "mime": "^3.0.0", + "minimist": "^1.2.8", + "morphdom": "^2.7.4", + "please-upgrade-node": "^3.2.0", + "send": "^1.1.0", + "ssri": "^11.0.0", + "urlpattern-polyfill": "^10.0.0", + "ws": "^8.18.1" + }, + "bin": { + "eleventy-dev-server": "cmd.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@11ty/eleventy-dev-server/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@11ty/eleventy-plugin-bundle": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-3.0.7.tgz", + "integrity": "sha512-QK1tRFBhQdZASnYU8GMzpTdsMMFLVAkuU0gVVILqNyp09xJJZb81kAS3AFrNrwBCsgLxTdWHJ8N64+OTTsoKkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.2", + "debug": "^4.4.0", + "posthtml-match-helper": "^2.0.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-plugin-bundle/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@11ty/eleventy-plugin-bundle/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@11ty/eleventy-plugin-syntaxhighlight": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-syntaxhighlight/-/eleventy-plugin-syntaxhighlight-5.0.2.tgz", + "integrity": "sha512-T6xVVRDJuHlrFMHbUiZkHjj5o1IlLzZW+1IL9eUsyXFU7rY2ztcYhZew/64vmceFFpQwzuSfxQOXxTJYmKkQ+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-2.0.7.tgz", + "integrity": "sha512-6QE+duqSQ0GY9rENXYb4iPR4AYGdrFpqnmi59tFp9VrleOl0QSh8VlBr2yd6dlhkdtj7904poZW5PvGr9cMiJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@11ty/eleventy/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@11ty/eleventy/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@11ty/eleventy/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@11ty/lodash-custom": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@11ty/lodash-custom/-/lodash-custom-4.17.21.tgz", + "integrity": "sha512-Mqt6im1xpb1Ykn3nbcCovWXK3ggywRJa+IXIdoz4wIIK+cvozADH63lexcuPpGS/gJ6/m2JxyyXDyupkMr5DHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/posthtml-urls": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@11ty/posthtml-urls/-/posthtml-urls-1.0.1.tgz", + "integrity": "sha512-6EFN/yYSxC/OzYXpq4gXDyDMlX/W+2MgCvvoxf11X1z76bqkqFJ8eep5RiBWfGT5j0323a1pwpelcJJdR46MCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "evaluate-value": "^2.0.0", + "http-equiv-refresh": "^2.0.1", + "list-to-array": "^1.1.0", + "parse-srcset": "^1.0.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@11ty/recursive-copy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@11ty/recursive-copy/-/recursive-copy-4.0.2.tgz", + "integrity": "sha512-174nFXxL/6KcYbLYpra+q3nDbfKxLxRTNVY1atq2M1pYYiPfHse++3IFNl8mjPFsd7y2qQjxLORzIjHMjL3NDQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "errno": "^1.0.0", + "junk": "^3.1.0", + "maximatch": "^0.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@11ty/recursive-copy/node_modules/errno": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/errno/-/errno-1.0.0.tgz", + "integrity": "sha512-3zV5mFS1E8/1bPxt/B0xxzI1snsg3uSCIh6Zo1qKg6iMw93hzPANk9oBFzSFBFrwuVoQuE3rLoouAUfwOAj1wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, "node_modules/@eslint/eslintrc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", @@ -159,6 +604,65 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@sindresorhus/slugify": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", + "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/transliterate": "^1.0.0", + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz", + "integrity": "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", @@ -180,6 +684,13 @@ "@types/node": "*" } }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "dev": true, + "license": "MIT" + }, "node_modules/abbrev": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", @@ -215,10 +726,11 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -417,12 +929,45 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", @@ -586,6 +1131,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -795,6 +1357,48 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "node_modules/bcp-47": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", + "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-normalize": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-2.3.0.tgz", + "integrity": "sha512-8I/wfzqQvttUFz7HVJgIZ7+dj3vUaIyIxYXaTRP1YWoSDfzt6TUmxaKZeuXR62qBmYr+nvuWINFRl6pZ5DlN4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "bcp-47": "^2.0.0", + "bcp-47-match": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -1626,16 +2230,11 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1648,6 +2247,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -2466,6 +3068,16 @@ "node": ">= 0.6" } }, + "node_modules/dependency-graph": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", + "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/deps-sort": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", @@ -2661,6 +3273,31 @@ "node": ">=6.0.0" } }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -2671,6 +3308,50 @@ "npm": ">=1.2" } }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/dot-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", @@ -2784,6 +3465,75 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, + "node_modules/eleventy-plugin-markdown-shortcode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eleventy-plugin-markdown-shortcode/-/eleventy-plugin-markdown-shortcode-1.1.0.tgz", + "integrity": "sha512-/IujRaY7QzKUvpYvvCNJf2iWsxxC3ta19oyWoSbgL6LR7uL7JZtlNVpGFhbyiGqtZ82oWiTkfN+W4YT1XWxYcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "markdown-it": "^10.0.0", + "markdown-it-front-matter": "^0.2.1" + } + }, + "node_modules/eleventy-plugin-markdown-shortcode/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/eleventy-plugin-markdown-shortcode/node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/eleventy-plugin-markdown-shortcode/node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/eleventy-plugin-markdown-shortcode/node_modules/markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/eleventy-plugin-markdown-shortcode/node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/eleventy-plugin-markdown-shortcode/node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true, + "license": "MIT" + }, "node_modules/elliptic": { "version": "6.6.1", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", @@ -2872,6 +3622,19 @@ "write-stream": "~0.4.3" } }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/equals": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/equals/-/equals-1.0.5.tgz", @@ -3434,6 +4197,16 @@ "node": ">= 8" } }, + "node_modules/esm-import-transformer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/esm-import-transformer/-/esm-import-transformer-3.0.5.tgz", + "integrity": "sha512-1GKLvfuMnnpI75l8c6sHoz0L3Z872xL5akGuBudgqTDPv4Vy6f2Ec7jEMKTxlqWl/3kSvNbHELeimJtnqgYniw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0" + } + }, "node_modules/esniff": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/esniff/-/esniff-1.1.0.tgz", @@ -3531,6 +4304,16 @@ "node": ">= 0.6" } }, + "node_modules/evaluate-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/evaluate-value/-/evaluate-value-2.0.0.tgz", + "integrity": "sha512-VonfiuDJc0z4sOO7W0Pd130VLsXN6vmBWZlrog1mCb/o7o/Nl5Lr25+Kj/nkCCAhG+zqeeGjxhkK9oHpkgTHhQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", @@ -3764,6 +4547,19 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -3827,6 +4623,16 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/filesize": { + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", + "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 10.4.0" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -4293,6 +5099,60 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/handlebars": { "version": "4.7.8", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", @@ -4537,6 +5397,49 @@ "node": ">=0.10" } }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-equiv-refresh": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-2.0.1.tgz", + "integrity": "sha512-XJpDL/MLkV3dKwLzHwr2dY05dYNfBNlyPu4STQ8WvKCFdc6vC5tPXuq28of663+gHVg03C+16pHHs/+FmmDjcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -4864,6 +5767,32 @@ "node": ">= 0.10" } }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -4996,12 +5925,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-empty": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-empty/-/is-empty-1.2.0.tgz", "integrity": "sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==", "dev": true }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5032,6 +5982,13 @@ "node": ">=0.10.0" } }, + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "dev": true, + "license": "ISC" + }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -5209,6 +6166,16 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/iso-639-1": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-3.1.5.tgz", + "integrity": "sha512-gXkz5+KN7HrG0Q5UGqSMO2qB9AsbEeyLP54kF1YrMsIxmu+g4BdB7rflReZTSTZGpfj8wywu6pfPBCylPIzGQA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -5476,6 +6443,36 @@ "node": ">=0.8.0" } }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", @@ -5783,27 +6780,75 @@ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lie/node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true + }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/liquidjs": { + "version": "10.24.0", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.24.0.tgz", + "integrity": "sha512-TAUNAdgwaAXjjcUFuYVJm9kOVH7zc0mTKxsG9t9Lu4qdWjB2BEblyVIYpjWcmJLMGgiYqnGNJjpNMHx0gp/46A==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^10.0.0" + }, + "bin": { + "liquid": "bin/liquid.js", + "liquidjs": "bin/liquid.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/liquidjs" } }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "node_modules/liquidjs/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, - "dependencies": { - "immediate": "~3.0.5" + "license": "MIT", + "engines": { + "node": ">=14" } }, - "node_modules/lie/node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "dev": true + "node_modules/list-to-array": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz", + "integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g==", + "dev": true, + "license": "MIT" }, "node_modules/localstorage-down": { "version": "0.6.7", @@ -5905,6 +6950,16 @@ "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==" }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -5931,6 +6986,44 @@ "semver": "bin/semver" } }, + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdown-it-front-matter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/markdown-it-front-matter/-/markdown-it-front-matter-0.2.4.tgz", + "integrity": "sha512-25GUs0yjS2hLl8zAemVndeEzThB1p42yxuDEKbd4JlL3jiz+jsm6e56Ya8B0VREOkNxLYB4TTwaoPJ3ElMmW+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/marky": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", @@ -5947,6 +7040,22 @@ "node": ">= 0.4" } }, + "node_modules/maximatch": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz", + "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -5958,6 +7067,13 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true, + "license": "MIT" + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -6102,6 +7218,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -6438,6 +7564,20 @@ "xtend": "~4.0.1" } }, + "node_modules/moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/morphdom": { + "version": "2.7.7", + "resolved": "https://registry.npmjs.org/morphdom/-/morphdom-2.7.7.tgz", + "integrity": "sha512-04GmsiBcalrSCNmzfo+UjU8tt3PhZJKzcOy+r1FlGA7/zri8wre3I1WkYN9PT3sIeIKfW9bpyElA+VzOg2E24g==", + "dev": true, + "license": "MIT" + }, "node_modules/ms": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz", @@ -6584,6 +7724,31 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/node-retrieve-globals": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/node-retrieve-globals/-/node-retrieve-globals-6.0.1.tgz", + "integrity": "sha512-j0DeFuZ/Wg3VlklfbxUgZF/mdHMTEiEipBb3q0SpMMbHaV3AVfoUQF8UGxh1s/yjqO0TgRZd4Pi/x2yRqoQ4Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "acorn-walk": "^8.3.4", + "esm-import-transformer": "^3.0.3" + } + }, + "node_modules/node-retrieve-globals/node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/nodemon": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.2.1.tgz", @@ -6642,6 +7807,42 @@ "node": ">=0.10.0" } }, + "node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/nunjucks/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -6946,6 +8147,13 @@ "node": ">= 0.10" } }, + "node_modules/parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==", + "dev": true, + "license": "MIT" + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -7162,6 +8370,16 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver-compare": "^1.0.0" + } + }, "node_modules/portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", @@ -7200,6 +8418,59 @@ "node": ">= 0.4" } }, + "node_modules/posthtml": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.7.tgz", + "integrity": "sha512-7Hc+IvlQ7hlaIfQFZnxlRl0jnpWq2qwibORBhQYIb0QbNtuicc5ZxvKkVT71HJ4Py1wSZ/3VR1r8LfkCtoCzhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-match-helper": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/posthtml-match-helper/-/posthtml-match-helper-2.0.3.tgz", + "integrity": "sha512-p9oJgTdMF2dyd7WE54QI1LvpBIkNkbSiiECKezNnDVYhGhD1AaOnAkw0Uh0y5TW+OHO8iBdSqnd8Wkpb6iUqmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "posthtml": "^0.16.6" + } + }, + "node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/pouchdb-abstract-mapreduce": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-7.3.1.tgz", @@ -8072,6 +9343,16 @@ "node": ">= 0.8.0" } }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -8160,6 +9441,16 @@ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -8847,6 +10138,20 @@ "truncate-utf8-bytes": "^1.0.0" } }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/secure-compare": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", @@ -8874,6 +10179,13 @@ "semver": "bin/semver" } }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT" + }, "node_modules/send": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", @@ -9183,6 +10495,26 @@ } ] }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", @@ -9257,6 +10589,19 @@ "node": ">=0.10.0" } }, + "node_modules/ssri": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-11.0.0.tgz", + "integrity": "sha512-aZpUoMN/Jj2MqA4vMCeiKGnc/8SuSyHbGSBdgFbZxP8OJGF/lFkIuElzPxsN0q8TQQ+prw3P4EDfB3TBHHgfXw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/stacktrace-parser": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", @@ -9580,6 +10925,16 @@ "node": ">=8" } }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -9790,6 +11145,54 @@ "resolved": "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.0.tgz", "integrity": "sha512-ucfrvjzfbtc+xqmn95DEUtGcDHJHQgZ9IR0mizPOZBkY45reZDCJjafUGVJOGJassjn0MavTyWOCQcG+agpLxw==" }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/to-buffer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", @@ -10068,6 +11471,13 @@ "node": "*" } }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true, + "license": "MIT" + }, "node_modules/uglify-js": { "version": "3.19.3", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", @@ -10279,6 +11689,13 @@ "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", "dev": true }, + "node_modules/urlpattern-polyfill": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", + "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==", + "dev": true, + "license": "MIT" + }, "node_modules/user-home": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", @@ -10526,6 +11943,28 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-0.0.4.tgz", "integrity": "sha512-azrivNydKRYt7zwLV5wWUK7YzKTWs3q87xSmY6DlHapPrCvaT6ZrukvM5erV+yCSSPmZT8zkSdttOHQpWWm9zw==" }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/xdg-basedir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-1.0.1.tgz", diff --git a/package.json b/package.json index 787cd5d8e8..008e4c32da 100644 --- a/package.json +++ b/package.json @@ -20,10 +20,8 @@ "test": "./bin/run-test.sh", "prepublishOnly": "npm run build", "release": "./bin/release.sh", - "install-jekyll": "./bin/install-jekyll.sh", "publish-site": "./bin/publish-site.sh", "build-site": "node ./bin/build-site.js", - "dev-site-with-docker": "docker build --file docs-dev.Dockerfile --progress=plain . && docker run -it --rm --volume $PWD/docs:/pouchdb-docs/docs -p 4000:4000 $(docker build --file docs-dev.Dockerfile --quiet .)", "test-coverage": "./bin/test-coverage.sh", "coverage": "COVERAGE=1 SERVER=pouchdb-server POUCHDB_SERVER_FLAGS=--in-memory PLUGINS=pouchdb-find ./bin/test-coverage.sh", "build-test": "npm run build-test-utils && npm run build-perf", @@ -57,6 +55,8 @@ "vuvuzela": "1.0.3" }, "devDependencies": { + "@11ty/eleventy": "^3.1.2", + "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.2", "add-cors-to-couchdb": "0.0.6", "body-parser": "1.20.3", "browserify": "16.4.0", @@ -68,6 +68,7 @@ "cssmin": "0.4.3", "denodeify": "1.2.1", "derequire": "2.1.1", + "eleventy-plugin-markdown-shortcode": "^1.1.0", "eslint": "8.7.0", "express": "4.20.0", "express-pouchdb": "4.2.0", From 995471e4319817f03593e71c56568edde5b80cde Mon Sep 17 00:00:00 2001 From: alxndrsn Date: Fri, 21 Nov 2025 09:31:19 +0000 Subject: [PATCH 2/2] revert whitespace changes --- docs/blog/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/blog/index.html b/docs/blog/index.html index e7ef798d6c..c3510d8d94 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -9,10 +9,10 @@ alias: posts permalink: "blog/{% if pagination.pageNumber > 0 %}page{{ pagination.pageNumber | plus:1 }}/{% endif %}" --- +
-
{% for post in posts %}