diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..b93c3f5 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,37 @@ +name: Manual Build and Deploy + +on: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: ['20'] + + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + + - name: Install packages + run: npm ci + + - name: Run npm build + run: npm run build:prod + env: + GITHUB_ACCESS_TOKEN: ${{ secrets.OAUTH_ACCESS_TOKEN }} + + - name: Deploy to gh-pages + uses: peaceiris/actions-gh-pages@v4 + with: + deploy_key: ${{ secrets.ACTIONS }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..583edf9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Misc +/public + +# Intellij +/.idea + +# Sass +.sass-cache/ +*.css.map +*.sass.map +*.scss.map + +# Visual Studio Code +/.vscode +.history + +.env \ No newline at end of file diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..4cc150d --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +Adrian Victor de A. A. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c210713 --- /dev/null +++ b/LICENSE @@ -0,0 +1,25 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + diff --git a/README.md b/README.md new file mode 100644 index 0000000..334ef99 --- /dev/null +++ b/README.md @@ -0,0 +1,123 @@ +image + +# neoBeta +This is a static CMS (content management system) made with eleventy for Minecraft mods. + +## Why? +Because I love beta Minecraft mods, plugins and texture-packs! And I'm fascinated with static websites that do not juice the user's CPU. Also, I need to spend my free time with something... + +## TODO + - [ ] Listing projects in the artist page. + - [ ] Building a single-file repo index for clients to work with ([like what F-Droid does](https://f-droid.org/docs/Setup_an_F-Droid_App_Repo/)) + +## Project structure +New projects can be added to `/src/project` and need to follow a specific structure for proper recognition: + +```graphql +/src/projects/exampleproject/* + ├─ index.md - # The text text content for the project page. + ├─ index.json - # Project metadata. + ├─ logo.png - # Project logo, can be defined to have a different name in the metadata. + └─ docs/* - # Documentation files, will automatically pick up. + ├─ install.md - # Example documentation page for installing the plugin. + ├─ uninstall.md - # And for uninstalling. + ├─ upgrade.md - # And for upgrading. + └─ manage_players.md - # And for managing players. +``` + +Files used in the project page can be added to it's directory and referenced relatively to the current working dir. + +## Project metadata +### Required metadata fields + - *name* - project name. + - *subtitle* - project's brief description. + - *author* - your author name, must be consistent across all your submissions. + - *tags* - whether your project is a plugin or mod. + +### Optional metadata fields + - *images* - lists of image files names or URLs that will appear in the project page. + - *logo* - your logo file name or URL. + - *gameVersions* - taget Minecraft versions. + - *gameLoaders* - supported modloaders. + +### Releases metadata + - *releasesType* - wheter your project uses `local` releases or `github`. + +#### For local releases: + - *releases* - a list of relases labels and links. + - *name* - name of the release. + - *version* - version of the release. + - *gameVersions* - taget Minecraft versions (overrides default value). + - *gameLoaders* - supported modloaders (overrides default value). + - *downloads* - list of download links for this release. + +#### For GitHub releases: + - *githubRepoOwner* - username of the repo owner. + - *githubReponame* - name of the repository. + +Example index.json for a project: +```json +{ + "name": "Ghosts 'n Stuff", + "subtitle": "Miscellaneous additions to your Minecraft server.", + "author": "tenkuma", + "downloadLink": "https://modrinth.com/plugin/ghosts/versions", + "images": ["anti-spam.png", "rainbow-chat.png", "skibidi-blocker.png"], + "logo": "logo.png", + "tags": ["plugin"], + "links": { + "GitHub": "https://github.com/adrianvic/ghostsandstuff", + "Disroot Git": "https://git.disroot.org/adrianvictor/ghostsandstuff" + }, + "docs": { + "Installation" : "docs/installation" + }, + "releaseType": "github or local", + "githubRepoOwner": "adrianvic", + "githubRepoName": "ghostsandstuff", + "gameLoaders": ["Craftbukkit"] + "releases": [ + { + "name": "The first release.", + "version": "1.0.0", + "gameVersions": ["b1.7.3"], + "downloads": { + "GitHub": "https://example.com", + "Modrinth": "https://modrinth.com" + } + } + ] +} +``` + +## Authors structure +The structure for adding new author pages is mostly like the one for project pages: + +```graphql +/src/authors/exampleauthor/* + ├─ index.md - # The text text content for the author page (bio). + ├─ index.json - # Author metadata. + └─ logo.png - # Author logo, can be defined to have a different name in the metadata. +``` + +The metadata is the same as the projects, however stripped down. The only values are `name`, `subtitle`, `logo` and `images`. + +## GitHub API integration +neoBeta can log into a GitHub account using oAuth, this is used to automatically fetch project releases from a GitHub repository. This is needed because GitHub's API has a limit of 60 requests for users that are not authenticated. + +Beforing using this integration you need to populate the enviroment variables `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` with your own oAuth information, and run `gen-github-token.cjs`. A web server will be started locally (default port is `9876`), redirecting you to GitHub's oAuth screen, after logging in the script will populate `GITHUB_ACCESS_TOKEN` to your `.env`. You can set `GITHUB_ACCESS_TOKEN` directly if you have one. + +## Search +Search is provided statically by [elasticlunr](http://elasticlunr.com/). The search index is compiled every time neoBeta is built. From my searches I'm confident elasticlunr will be enough for searching the project base for a sufficient period of time, if it ever get unrealistically heavy to the end-user other solutions will be explored. + +## Contributing +### Adding new projects +> [!NOTE] +> I know it's quirky to download neoBeta's whole codebase to add projects, that's why I'll be looking into splitting the projects into a separate repo. + +neoBeta is intended to be crowd-sourced, so you can clone our repo, add your plugin page with the ''correct metadata'' and make a merge request. Be sure that you have the necessary rights to upload the project or proper authorization of the creator, open-source projects are better in that matter. + +You can also open an issue or send me an [e-mail](mailto:adrianvictor+neobeta@disroot.org) with your project info, or a link for a place with relevant info so I can add your project to our database. + +### With code +Feel free to submit your contributions to this repo ^^ diff --git a/allprojects/index.html b/allprojects/index.html deleted file mode 100644 index aed9cf1..0000000 --- a/allprojects/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - - neoBeta - - - -
- - -
-

Projects Index - page 1

- -
    - -
    -

    - - - - Aboukkit - - by tenkuma - -

    -

    A simple way to add custom commands with custom responses to your server.

    -
    - -
    plugin
    - -
    -
    - -
    -

    - - - - The Devil Within - - by tenkuma - -

    -

    Adds enchanting to Minecraft Beta. Supports balancing through curses.

    -
    - -
    plugin
    - -
    -
    - -
    -

    - - - - Ghosts 'n Stuff - - by tenkuma - -

    -

    Miscellaneous additions to your Minecraft server.

    -
    - -
    plugin
    - -
    -
    - -
    -

    - - HangGlideRE - - by tenkuma - -

    -

    Fly with a chicken!

    -
    - -
    plugin
    - -
    -
    - -
    -

    - - - - teFreezer - - by tenkuma - -

    -

    Force your players to refrigerate their food by rotting food in unrefrigerated chests!

    -
    - -
    plugin
    - -
    -
    - -
    -

    - - - - tenkuma's Library - - by tenkuma - -

    -

    Library to support my other plugins. Does nothing on it's own.

    -
    - -
    plugin
    - -
    -
    - -
    -

    - - - - TimeKeeper - - by tenkuma - -

    -

    Syncs real world time with your Minecraft server time.

    -
    - -
    plugin
    - -
    -
    - -
- - - -
-
- - \ No newline at end of file diff --git a/authors/tenkuma/index.html b/authors/tenkuma/index.html deleted file mode 100644 index dd8afc5..0000000 --- a/authors/tenkuma/index.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - tenkuma - neoBeta - - - -
- -
-
- - - -
-
-

tenkuma

-
-

A bear doing things on the internet.

-
-
- -
-

Images

-
- - - - - - - - - - - -
-
- -
-

I'm tenkuma. A bear, dreamer and sometimes developer.

-

You can find more about me on my website.

- -
-
-
- - \ No newline at end of file diff --git a/eleventy.config.js b/eleventy.config.js new file mode 100644 index 0000000..c7a0b37 --- /dev/null +++ b/eleventy.config.js @@ -0,0 +1,122 @@ +import elasticlunr from 'elasticlunr'; +import fs from 'fs'; +import path from 'path'; +import fetch from "node-fetch"; +import 'dotenv/config'; + +let allPlugins = []; +const isProd = process.env.ELEVENTY_ENV === "production"; +const pathPrefix = isProd ? "/neoBeta/" : "/"; +const buildTime = new Date(Date.now()).toISOString(); + +export default function (eleventyConfig) { + eleventyConfig.addNunjucksAsyncFilter("githubReleases", async function(owner, repo, callback) { + const token = process.env.GITHUB_ACCESS_TOKEN; + + if (!owner || !repo) return callback(null, [ name = "This project is not configured properly." ]); + if (!token || !isProd) return callback(null, [{ + name: "This instance cannot fetch releases from GitHub, you can check them manually here.", + html_url: `https://github.com/${owner}/${repo}/releases` + }]); + + const url = `https://api.github.com/repos/${owner}/${repo}/releases`; + + try { + const res = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + Accept: "application/vnd.github+json", + "User-Agent": "eleventy-build" + } + }); + if (!res.ok) return callback(null, [ name = "Error fetching releases for GitHub project." ]); + const data = await res.json(); + console.log(data) + callback(null, data); + } catch (err) { + console.error(err); + callback(null, []); + } + }); + + eleventyConfig.addFilter("collectionFind", (collection = [], url = "") => { + return collection.find(item => item.url = url); + }); + + eleventyConfig.setInputDirectory("src"); + eleventyConfig.setOutputDirectory("public"); + eleventyConfig.addPassthroughCopy("src/projects/**/*.png"); + eleventyConfig.addPassthroughCopy("src/projects/**/*.jpg"); + eleventyConfig.addPassthroughCopy("src/projects/**/*.jpeg"); + eleventyConfig.addPassthroughCopy("src/authors/**/*.png"); + eleventyConfig.addPassthroughCopy("src/authors/**/*.jpg"); + eleventyConfig.addPassthroughCopy("src/authors/**/*.jpeg"); + eleventyConfig.addPassthroughCopy("src/assets"); + eleventyConfig.addPassthroughCopy({ "src/favicon/*" : "/" }); + eleventyConfig.addGlobalData("pathPrefix", pathPrefix); + eleventyConfig.addGlobalData("buildTime", buildTime); + eleventyConfig.addGlobalData("isProduction", isProd); + + eleventyConfig.addCollection("projects", function(collection) { + const col = collection.getFilteredByGlob("src/projects/*/*.md"); + return col; + }); + + eleventyConfig.addGlobalData("eleventyComputed", { + projectData: (data) => { + const inputPath = data.page.inputPath; + if (!inputPath.match(/\/projects\/[^\/]+\/docs\//)) return null; + + const projectDir = path.dirname(path.dirname(inputPath)); + const projectJson = path.join(projectDir, "index.json"); + + if (fs.existsSync(projectJson)) { + return JSON.parse(fs.readFileSync(projectJson, "utf-8")); + } + return { name: path.basename(projectDir) }; + }, + layout: (data) => { + const inputPath = data.page.inputPath; + if (inputPath.match(/\/projects\/[^\/]+\/docs\//)) return "docs.njk"; + return data.layout; + }, + projectSlug: data => { + const url = data.page?.url || data.page?.filePathStem || ""; + return url.replace(/\/$/,'').split('/').filter(Boolean).pop() || null; + } + }); + + eleventyConfig.addCollection('searchIndex', (collectionApi) => { + const result = collectionApi.getAll().map(item => { + return { + title: item.data.name, + subtitle: item.data.subtitle || "", + author: item.data.author, + url: item.url, + image: (item.data.logoName && item.data.logoExtension) ? item.url + item.data.logoName + '.' + item.data.logoExtension : '', + tags: item.data.tags + }; + }); + + allPlugins = result; + return result; + }); + + eleventyConfig.on('afterBuild', () => { + const idx = elasticlunr(function () { + this.setRef('url'); + this.addField('title', { boost: 2 }); + this.addField('subtitle'); + // this.addField('tags') so search does not match + + allPlugins.forEach(doc => this.addDoc(doc)); + }); + + fs.writeFileSync('./public/search_index.json', JSON.stringify(idx)); + }); + + return { + pathPrefix + } + +}; diff --git a/error/404/index.html b/error/404/index.html deleted file mode 100644 index 2b431c8..0000000 --- a/error/404/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - neoBeta - - - -
- - -
-

404 - Ouch! We hit a wall.

-

We didn't find what you are looking for...

- -

"If only the clockworks could speak
I wouldn't be so alone"

- - -
-
- - \ No newline at end of file diff --git a/gen-github-token.cjs b/gen-github-token.cjs new file mode 100644 index 0000000..50ad38a --- /dev/null +++ b/gen-github-token.cjs @@ -0,0 +1,89 @@ +require('dotenv').config(); +const http = require('http'); +const { URL } = require('url'); +const fetch = require('node-fetch'); +const open = (...args) => import('open').then(m => m.default(...args)); +const fs = require('fs'); +const path = require('path'); + +const { + GITHUB_CLIENT_ID, + GITHUB_CLIENT_SECRET, + GITHUB_OAUTH_SCOPES = 'repo,user', +} = process.env; + +if (!GITHUB_CLIENT_ID || !GITHUB_CLIENT_SECRET) { + console.error('Set GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET in .env'); + process.exit(1); +} + +const PORT = 9876; +const REDIRECT_URI = `http://localhost:${PORT}/`; +const STATE = String(Math.random()).slice(2); + +function appendEnv(key, value) { + const envPath = path.resolve(process.cwd(), '.env'); + const line = `\n${key}=${value}\n`; + fs.appendFileSync(envPath, line, { encoding: 'utf8' }); + console.log(`${key} appended to .env`); +} + +async function exchangeCodeForToken(code) { + const tokenUrl = 'https://github.com/login/oauth/access_token'; + const res = await fetch(tokenUrl, { + method: 'POST', + headers: { Accept: 'application/json', 'Content-Type': 'application/json' }, + body: JSON.stringify({ + client_id: GITHUB_CLIENT_ID, + client_secret: GITHUB_CLIENT_SECRET, + code, + redirect_uri: REDIRECT_URI, + state: STATE, + }), + }); + if (!res.ok) throw new Error(`Token exchange failed: ${res.status}`); + const data = await res.json(); + if (data.error) throw new Error(`Token error: ${data.error_description || data.error}`); + return data.access_token; +} + +const server = http.createServer(async (req, res) => { + try { + const reqUrl = new URL(req.url, `http://localhost:${PORT}`); + const code = reqUrl.searchParams.get('code'); + const state = reqUrl.searchParams.get('state'); + + if (!code || state !== STATE) { + res.writeHead(400, { 'Content-Type': 'text/plain' }); + res.end('Invalid request'); + return; + } + + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('Authorization received. You can close this window.'); + + console.log('Received code, exchanging for token...'); + const token = await exchangeCodeForToken(code); + console.log('Access token received:', token); + + // Append token to .env (BE CAREFUL) + appendEnv('GITHUB_ACCESS_TOKEN', token); + } catch (err) { + console.error('Error handling OAuth callback:', err); + } finally { + server.close(); + } +}); + +server.listen(PORT, async () => { + const authUrl = + `https://github.com/login/oauth/authorize` + + `?client_id=${encodeURIComponent(GITHUB_CLIENT_ID)}` + + `&redirect_uri=${encodeURIComponent(REDIRECT_URI)}` + + `&scope=${encodeURIComponent(GITHUB_OAUTH_SCOPES)}` + + `&state=${encodeURIComponent(STATE)}`; + + console.log('Opening browser for GitHub authorization...'); + await open(authUrl); + console.log(`Listening for OAuth callback at ${REDIRECT_URI}`); +}); diff --git a/index.html b/index.html deleted file mode 100644 index 6b5bafc..0000000 --- a/index.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - neoBeta - - - -
- - -
- - - -

Howdy, traveler.

-

This website is the place for Minecraft plugins, made with users and developers in mind. neobeta is open-source, you can find out how the website is made in our GitHub repository (spoiler: there's some real magic going on).

-

Our catalog is made by developers and community, you can get involved by following the tutorial linked here.

-
-
-

Featured projects

- - - -
-
-

Latest updates

- -

2025-10-30 Releases support:

-

Now developers can list their software version and automatically list their GitHub releases in their project page!

- -

2025-10-27 Website redesign!:

-

Yaaay! neoBeta got a stylish redesign.

- -
-
-
-
- - \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..d4ec3b1 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2186 @@ +{ + "name": "neobeta", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "neobeta", + "version": "1.0.0", + "license": "Unlicense", + "dependencies": { + "@11ty/eleventy": "^3.1.2", + "dotenv": "^17.2.3", + "elasticlunr": "^0.9.5", + "node-fetch": "^2.7.0", + "open": "^10.2.0", + "sass": "1.93.2" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.1" + } + }, + "node_modules/@11ty/dependency-tree-esm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@11ty/dependency-tree-esm/-/dependency-tree-esm-2.0.0.tgz", + "integrity": "sha512-+4ySOON4aEAiyAGuH6XQJtxpGSpo6nibfG01krgix00sqjhman2+UaDUopq6Ksv8/jBB3hqkhsHe3fDE4z8rbA==", + "license": "MIT", + "dependencies": { + "@11ty/eleventy-utils": "^2.0.1", + "acorn": "^8.14.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==", + "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==", + "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-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==", + "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-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-2.0.7.tgz", + "integrity": "sha512-6QE+duqSQ0GY9rENXYb4iPR4AYGdrFpqnmi59tFp9VrleOl0QSh8VlBr2yd6dlhkdtj7904poZW5PvGr9cMiJQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "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==", + "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==", + "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==", + "license": "ISC", + "dependencies": { + "errno": "^1.0.0", + "junk": "^3.1.0", + "maximatch": "^0.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@sindresorhus/slugify": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", + "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", + "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/transliterate": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz", + "integrity": "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "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==", + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "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==", + "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==", + "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==", + "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/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "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==", + "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==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "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==", + "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==", + "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/dotenv": { + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/elasticlunr": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/elasticlunr/-/elasticlunr-0.9.5.tgz", + "integrity": "sha512-5YM9LFQgVYfuLNEoqMqVWIBuF2UNCA+xu/jz1TyryLN/wmBcQSb+GNAwvLKvEpGESwgGN8XA1nbLAt6rKlyHYQ==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/errno/-/errno-1.0.0.tgz", + "integrity": "sha512-3zV5mFS1E8/1bPxt/B0xxzI1snsg3uSCIh6Zo1qKg6iMw93hzPANk9oBFzSFBFrwuVoQuE3rLoouAUfwOAj1wQ==", + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0" + } + }, + "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==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "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==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/filesize": { + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", + "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", + "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", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "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/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "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==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "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==", + "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==", + "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", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "license": "MIT" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "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==", + "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==", + "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-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "ISC" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "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==", + "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==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/liquidjs": { + "version": "10.23.0", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.23.0.tgz", + "integrity": "sha512-Chm3luYvACZUj+Wlq7Nxwi0YvGXJv3vx+LPIGfa6n1FaUoMxe8T2M+5S1m2YkSToqJcsxZRK0VeCPZNrSa2yOw==", + "license": "MIT", + "dependencies": { + "commander": "^10.0.0" + }, + "bin": { + "liquid": "bin/liquid.js", + "liquidjs": "bin/liquid.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/liquidjs" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "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==", + "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/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "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==", + "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/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "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==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "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==", + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "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==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "acorn-walk": "^8.3.4", + "esm-import-transformer": "^3.0.3" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "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==", + "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==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/posthtml": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.7.tgz", + "integrity": "sha512-7Hc+IvlQ7hlaIfQFZnxlRl0jnpWq2qwibORBhQYIb0QbNtuicc5ZxvKkVT71HJ4Py1wSZ/3VR1r8LfkCtoCzhw==", + "license": "MIT", + "peer": true, + "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==", + "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==", + "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==", + "license": "MIT", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sass": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz", + "integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "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/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "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==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "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==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "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/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "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/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..47870dc --- /dev/null +++ b/package.json @@ -0,0 +1,39 @@ +{ + "name": "neobeta", + "version": "1.0.0", + "description": "A CMS for minecraft plugins.", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "serve": "npx @11ty/eleventy --serve", + "watch:sass": "sass src/static/scss:public/static/css --watch", + "build:sass": "sass src/static/scss:public/static/css", + "watch:eleventy": "eleventy --serve", + "build:eleventy": "ELEVENTY_ENV=development eleventy", + "start": "npm run watch:eleventy", + "build": "npm run build:eleventy", + "build:sass:prod": "sass src/static/scss:public/static/css --style compressed", + "build:eleventy:prod": "ELEVENTY_ENV=production eleventy", + "build:prod": "npm run build:eleventy:prod", + "serve:prod": "ELEVENTY_ENV=production eleventy --serve" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/adrianvic/neoBeta.git" + }, + "author": "Adrian Victor de Abreu Alves ", + "license": "Unlicense", + "bugs": { + "url": "https://github.com/adrianvic/neoBeta/issues" + }, + "homepage": "https://github.com/adrianvic/neoBeta#readme", + "dependencies": { + "@11ty/eleventy": "^3.1.2", + "dotenv": "^17.2.3", + "elasticlunr": "^0.9.5", + "node-fetch": "^2.7.0", + "open": "^10.2.0", + "sass": "1.93.2" + } +} diff --git a/projects/aboukkit/index.html b/projects/aboukkit/index.html deleted file mode 100644 index 3afd4fa..0000000 --- a/projects/aboukkit/index.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - Aboukkit - neoBeta - - - -
- -
-
- - - -
-
-

Aboukkit

-

by tenkuma

-
-

A simple way to add custom commands with custom responses to your server.

-
- -
- -
- -
-

Here's what we found about this project:

- -

3 links.

- - - -
-
- -
- -

Aboukkit logo, abboukit written in a Minecraft's logo like font painted in red.

-

This plugin adds a simple way to add custom commands that will respond users with predefined messages from config.yml. It supports Minecraft's color coding (use & instead of §) and placeholders for player/server info (TODO).

-

Default Commands

-
    -
  • About
  • -
  • Aboukkit
  • -
-

These default commands need to be configured.

-

Adding new commands

-

First of all: run the server with the plugin for the first time, so config.yml is generated.

-

Follow the structure that the template shows in your config.yml. Then use a file explorer to open the plugin's JAR file and edit plugin.yml, you can copy a command entry and fill all the fields (be careful with indentation, YML does not support TAB).

-

Why?

-

I made this plugin because I have a server for version b1.7.3 and I wanted to add a /about command to give credit to the server founders and link to our website. So I made this that I will use every time I need a simple 'wall of text' command.

-

Newer versions

-

I don't see why I would build this for latest versions, I guess there are already better solutions. I made this just because of the lack of plugins for Minecraft beta.

- - -
-
-
- - \ No newline at end of file diff --git a/projects/aboukkit/releases.html b/projects/aboukkit/releases.html deleted file mode 100644 index dc3bd2f..0000000 --- a/projects/aboukkit/releases.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - neoBeta - - - -
- - -
- -

Releases for Aboukkit

- - -

This project depends on: - - - tenkumalib. - -

- - - - - - - -

3 releases.

-
- -
-

Library update

- -

Version 2.1 for Bukkit b1.7.3

- - -
- -
-

Color update

- -

Version 2.0 for Bukkit b1.7.3

- - -
- -
-

Vanilla

- -

Version 1.0 for Bukkit b1.7.3

- - -
- -
- - - -
-
- - \ No newline at end of file diff --git a/projects/devilwithin/index.html b/projects/devilwithin/index.html deleted file mode 100644 index c80ccc9..0000000 --- a/projects/devilwithin/index.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - The Devil Within - neoBeta - - - -
- -
-
- - - -
-
-

The Devil Within

-

by tenkuma

-
-

Adds enchanting to Minecraft Beta. Supports balancing through curses.

-
- -
- -
- -

This plugin is a remake of GoldEnchant. -This plugin depends on tenkumaLib.

-

Have you ever wanted to have enchantments in your beta server? This is the plugin you want.

-

Enchanting

-

To enchant a armor piece you need to interact to a diamond block with a diamond armor piece in your hand.

-

Enchantments and Curses

-

All of those enchantments will not take effect if the damage exceeds the player's HP. An armor get cursed if it's durability is below 30%. Spooky bad stuff will happen if your armor is cursed :D

-

Helmet

-
    -
  • Prevents the player from drowning.
  • -
  • The player cannot sleep. If the player try to sleep a entity will tell the player the text set in the config.
  • -
-

Chestplate

-
    -
  • Prevents fire damage. Does not prevent lava damage.
  • -
  • Protects the player from fire damage only half of the time, also has a 25% chance to ignite the player every time it takes damage.
  • -
-

Leggings

-
    -
  • Nothing for now. Only useful for the full-set perks.
  • -
  • Makes player run slower 50% of the time a PlayerMoveEvent happens. The speed is randomly generated.
  • -
-

Boots

-

Prevents fall damage.

-

Full-set perks

-

If the player has a full-set of enchanted armor the condition of the damage being taken if it's greater than the player's HP is ignored, also the player gets immune to contact damage (cactus), lava damage and lava damage.

-

Config

-

Everything is explained in the config file's comments, in case it changes.

- - -
-
-
- - \ No newline at end of file diff --git a/projects/devilwithin/releases.html b/projects/devilwithin/releases.html deleted file mode 100644 index be24410..0000000 --- a/projects/devilwithin/releases.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - neoBeta - - - -
- - -
- -

Releases for The Devil Within

- - - - -

Could not find any release for this project...

- - -
-
- - \ No newline at end of file diff --git a/projects/ghostsandstuff/docs/installation/index.html b/projects/ghostsandstuff/docs/installation/index.html deleted file mode 100644 index 6392a40..0000000 --- a/projects/ghostsandstuff/docs/installation/index.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - neoBeta - - - -
- -
-

You are seeing the documentation for:

-
-
-

Installation instructions for GhostsAndStuff

-
    -
  • Download the plugin JAR
  • -
  • Download the dependency JAR (tenkumaLib)
  • -
  • Move both to your server's plugin folder.
  • -
-

After following these steps the plugin should appear in the plugin list when you turn the server on.

- -
-
-
- - \ No newline at end of file diff --git a/projects/ghostsandstuff/index.html b/projects/ghostsandstuff/index.html deleted file mode 100644 index fac2bde..0000000 --- a/projects/ghostsandstuff/index.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - Ghosts 'n Stuff - neoBeta - - - -
- -
-
- - - -
-
-

Ghosts 'n Stuff

-

by tenkuma

-
-

Miscellaneous additions to your Minecraft server.

-
- -
- -
- -
-

Images

-
- - - - - - - - - - - - - - - - -
-
- -
-

Here's what we found about this project:

- -

2 links.

- - - -

1 documentaion files.

- - -
-
- -
- -

This plugins was made to use stuff from my library that would not fit into any plugin (or not in the way presented here) that has a lot (WIP) of random stuff. Everything should be togglable in the config.

-

Features

-
    -
  • RainbowChat: Rainbow color code (&z by default).
  • -
  • SkibidiBlocker: Strike a lightning on players that say a word.
  • -
  • AntiSpam: Blocks repeated words in the chat. Optionally can strike a lightning to the player who is spamming.
  • -
- - -
-
-
- - \ No newline at end of file diff --git a/projects/ghostsandstuff/releases.html b/projects/ghostsandstuff/releases.html deleted file mode 100644 index b97183b..0000000 --- a/projects/ghostsandstuff/releases.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - neoBeta - - - -
- - -
- -

Releases for Ghosts 'n Stuff

- - - - - - - -

Fetched from GitHub at 2025-11-10T20:19:42.678Z.

- -

2 releases.

- - - - -
-
- - \ No newline at end of file diff --git a/projects/hangglidere/index.html b/projects/hangglidere/index.html deleted file mode 100644 index f485337..0000000 --- a/projects/hangglidere/index.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - HangGlideRE - neoBeta - - - -
- -
-
- -
-
-

HangGlideRE

-

by tenkuma

-
-

Fly with a chicken!

-
- -
- -
- -

Oopsie! :<

-

Seems like we don't have a description for this project.

-

"If only the clockworks could speak
I wouldn't be so alone"

- -
-
-
- - \ No newline at end of file diff --git a/projects/hangglidere/releases.html b/projects/hangglidere/releases.html deleted file mode 100644 index e83173a..0000000 --- a/projects/hangglidere/releases.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - neoBeta - - - -
- - -
- -

Releases for HangGlideRE

- - - - -

Could not find any release for this project...

- - -
-
- - \ No newline at end of file diff --git a/projects/tefreezer/index.html b/projects/tefreezer/index.html deleted file mode 100644 index 4dd5c39..0000000 --- a/projects/tefreezer/index.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - teFreezer - neoBeta - - - -
- -
-
- - - -
-
-

teFreezer

-

by tenkuma

-
-

Force your players to refrigerate their food by rotting food in unrefrigerated chests!

-
- -
- -
- -

Tefreezer written in Minecraft-like font in purple.

-

teFreezer is a fork of Freezer by outadoc, logo by malcolmriley.

-

This plugins purpose is to force people in your server to refrigerate their food by placing a cold block around their chest with the food. In case there is no cold block around the chest, it will turn the food into a rotted item.

-

Configuration

-

In the config.yml you can set these values:

-
    -
  • Cold blocks
  • -
  • Resulting itens
  • -
  • Itens that can rot
  • -
  • Message for when the user let food rot
  • -
-

Why fork?

-

I have forked this plugin because I was really anoyed by the original plugin that broadcasts the message to the whole server once anyone let food rot and the lack of a configuration file.

- - -
-
-
- - \ No newline at end of file diff --git a/projects/tefreezer/releases.html b/projects/tefreezer/releases.html deleted file mode 100644 index 6616857..0000000 --- a/projects/tefreezer/releases.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - neoBeta - - - -
- - -
- -

Releases for teFreezer

- - - - -

Could not find any release for this project...

- - -
-
- - \ No newline at end of file diff --git a/projects/tenkumalib/index.html b/projects/tenkumalib/index.html deleted file mode 100644 index e06a43d..0000000 --- a/projects/tenkumalib/index.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - tenkuma's Library - neoBeta - - - -
- -
-
- - - -
-
-

tenkuma's Library

-

by tenkuma

-
-

Library to support my other plugins. Does nothing on it's own.

-
- -
- -
- -

This is a dependency for my other projects. This does not do anything on it's own.

-

Why do I have to install this alongside your plugins?

-

You may think that installing two plugins instead of one is installing unecessary bloat that is useless. But it's not, libraries hold code that is common to more than one project, so you avoid having the same code repeated twice or more in your server. Also it's easier for the developer that has to improve only a single codebase to improve all the rest of the dependants.

- - -
-
-
- - \ No newline at end of file diff --git a/projects/tenkumalib/releases.html b/projects/tenkumalib/releases.html deleted file mode 100644 index 1eb48d1..0000000 --- a/projects/tenkumalib/releases.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - neoBeta - - - -
- - -
- -

Releases for tenkuma's Library

- - - - -

Could not find any release for this project...

- - -
-
- - \ No newline at end of file diff --git a/projects/timekeeper/index.html b/projects/timekeeper/index.html deleted file mode 100644 index 4d681cb..0000000 --- a/projects/timekeeper/index.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - TimeKeeper - neoBeta - - - -
- -
-
- - - -
-
-

TimeKeeper

-

by tenkuma

-
-

Syncs real world time with your Minecraft server time.

-
- -
- -
- -

This is a plugin for Minecraft beta that syncs the real world time with your in-game time. Logo by malcolmriley.

-

How it works

-

It will calculate and change the game time every second (that's 20 ticks and can be changed in the config), it will use your computer's timezone as default if the config timezone value does not exist.

-

Performance

-

I am not sure if this plugin has any significant performance hit, it runs code every few ticks (you can in/decrease the frequency in the config) and that is not the best approach for doing this, but it's the only that works in beta. Using it with ticksBetweenUpdate: 1 does not seem to change the performance in any way. The specifications for the computer used for the tests:

-
Host: 83AF IdeaPad 1 14IAU7
-CPU: 12th Gen Intel i5-1235U (12) @ 1.300GHz
-GPU: Intel Alder Lake-UP3 GT2 [Iris Xe Graphics]
-Memory: 10097MiB / 15709MiB
-
- - -
-
-
- - \ No newline at end of file diff --git a/projects/timekeeper/releases.html b/projects/timekeeper/releases.html deleted file mode 100644 index 13d6962..0000000 --- a/projects/timekeeper/releases.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - neoBeta - - - -
- - -
- -

Releases for TimeKeeper

- - - - -

Could not find any release for this project...

- - -
-
- - \ No newline at end of file diff --git a/search/index.html b/search/index.html deleted file mode 100644 index 0454595..0000000 --- a/search/index.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - neoBeta - - - -
- - -
- - - - - -

Welcome to neoBeta's search, here you can search through our whole database of plugins, mods and authors. You may want to filter out the results using the dropdown menu below. The search is done on your device using elasticlunr.

- -
- - -
-
-
-
- - \ No newline at end of file diff --git a/search_index.json b/search_index.json deleted file mode 100644 index fa16b5c..0000000 --- a/search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"0.9.5","fields":["title","subtitle"],"ref":"url","documentStore":{"docs":{"/":{"subtitle":"","url":"/","image":""},"/search/":{"subtitle":"","url":"/search/","image":""},"/error/404/":{"subtitle":"","url":"/error/404/","image":""},"/authors/tenkuma/":{"title":"tenkuma","subtitle":"A bear doing things on the internet.","url":"/authors/tenkuma/","image":"","tags":["author"]},"/projects/ghostsandstuff/docs/installation/":{"subtitle":"","url":"/projects/ghostsandstuff/docs/installation/","image":""},"/projects/aboukkit/":{"title":"Aboukkit","subtitle":"A simple way to add custom commands with custom responses to your server.","author":"tenkuma","url":"/projects/aboukkit/","image":"","tags":["plugin"]},"/projects/devilwithin/":{"title":"The Devil Within","subtitle":"Adds enchanting to Minecraft Beta. Supports balancing through curses.","author":"tenkuma","url":"/projects/devilwithin/","image":"","tags":["plugin"]},"/projects/ghostsandstuff/":{"title":"Ghosts 'n Stuff","subtitle":"Miscellaneous additions to your Minecraft server.","author":"tenkuma","url":"/projects/ghostsandstuff/","image":"","tags":["plugin"]},"/projects/hangglidere/":{"title":"HangGlideRE","subtitle":"Fly with a chicken!","author":"tenkuma","url":"/projects/hangglidere/","image":"","tags":["plugin"]},"/projects/tefreezer/":{"title":"teFreezer","subtitle":"Force your players to refrigerate their food by rotting food in unrefrigerated chests!","author":"tenkuma","url":"/projects/tefreezer/","image":"","tags":["plugin"]},"/projects/tenkumalib/":{"title":"tenkuma's Library","subtitle":"Library to support my other plugins. Does nothing on it's own.","author":"tenkuma","url":"/projects/tenkumalib/","image":"","tags":["plugin"]},"/projects/timekeeper/":{"title":"TimeKeeper","subtitle":"Syncs real world time with your Minecraft server time.","author":"tenkuma","url":"/projects/timekeeper/","image":"","tags":["plugin"]},"/allprojects/":{"subtitle":"","url":"/allprojects/","image":""},"/projects/aboukkit/releases.html":{"subtitle":"","url":"/projects/aboukkit/releases.html","image":""}},"docInfo":{"/":{"title":0,"subtitle":0},"/search/":{"title":0,"subtitle":0},"/error/404/":{"title":0,"subtitle":0},"/authors/tenkuma/":{"title":1,"subtitle":4},"/projects/ghostsandstuff/docs/installation/":{"title":0,"subtitle":0},"/projects/aboukkit/":{"title":1,"subtitle":8},"/projects/devilwithin/":{"title":2,"subtitle":8},"/projects/ghostsandstuff/":{"title":3,"subtitle":4},"/projects/hangglidere/":{"title":1,"subtitle":2},"/projects/tefreezer/":{"title":1,"subtitle":8},"/projects/tenkumalib/":{"title":2,"subtitle":5},"/projects/timekeeper/":{"title":1,"subtitle":7},"/allprojects/":{"title":0,"subtitle":0},"/projects/aboukkit/releases.html":{"title":0,"subtitle":0}},"length":14,"save":true},"index":{"title":{"root":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"/authors/tenkuma/":{"tf":1}},"df":1,"'":{"docs":{"/projects/tenkumalib/":{"tf":1}},"df":1}}}}}},"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"z":{"docs":{"/projects/tefreezer/":{"tf":1}},"df":1}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"/projects/timekeeper/":{"tf":1}},"df":1}}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"k":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"/projects/aboukkit/":{"tf":1}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"/projects/devilwithin/":{"tf":1}},"df":1}}}}},"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"/projects/devilwithin/":{"tf":1}},"df":1}}}}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"/projects/ghostsandstuff/":{"tf":1}},"df":1}}}}},"n":{"docs":{"/projects/ghostsandstuff/":{"tf":1}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"/projects/ghostsandstuff/":{"tf":1}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"/projects/hangglidere/":{"tf":1}},"df":1}}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"/projects/tenkumalib/":{"tf":1}},"df":1}}}}}}}}},"subtitle":{"root":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"/authors/tenkuma/":{"tf":1}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{"/projects/devilwithin/":{"tf":1}},"df":1}}},"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"/projects/devilwithin/":{"tf":1}},"df":1}}}}}},"d":{"docs":{},"df":0,"o":{"docs":{"/authors/tenkuma/":{"tf":1}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"/authors/tenkuma/":{"tf":1}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"/projects/devilwithin/":{"tf":1}},"df":1}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"/projects/timekeeper/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"/authors/tenkuma/":{"tf":1}},"df":1}}}}}}},"t":{"docs":{},"df":0,"'":{"docs":{"/projects/tenkumalib/":{"tf":1}},"df":1}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"/projects/aboukkit/":{"tf":1}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"/projects/aboukkit/":{"tf":1},"/projects/ghostsandstuff/":{"tf":1},"/projects/timekeeper/":{"tf":1}},"df":3}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"/projects/devilwithin/":{"tf":1},"/projects/tenkumalib/":{"tf":1}},"df":2}}}}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"/projects/timekeeper/":{"tf":1}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"/projects/aboukkit/":{"tf":1}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"/projects/timekeeper/":{"tf":1}},"df":1}}}}},"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{"/projects/aboukkit/":{"tf":1},"/projects/devilwithin/":{"tf":1}},"df":2,"i":{"docs":{},"df":0,"t":{"docs":{"/projects/ghostsandstuff/":{"tf":1}},"df":1}}}}},"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"/projects/aboukkit/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"s":{"docs":{"/projects/devilwithin/":{"tf":1}},"df":1}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"/projects/aboukkit/":{"tf":1}},"df":1}}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"/projects/hangglidere/":{"tf":1}},"df":1}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"/projects/tefreezer/":{"tf":1}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"/projects/aboukkit/":{"tf":1}},"df":1}}}}},"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"/projects/tefreezer/":{"tf":1}},"df":1}}}}}},"a":{"docs":{},"df":0,"l":{"docs":{"/projects/timekeeper/":{"tf":1}},"df":1}}},"o":{"docs":{},"df":0,"t":{"docs":{"/projects/tefreezer/":{"tf":1}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"/projects/devilwithin/":{"tf":1}},"df":1}}}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"/projects/devilwithin/":{"tf":1},"/projects/ghostsandstuff/":{"tf":1},"/projects/timekeeper/":{"tf":1}},"df":3}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"/projects/ghostsandstuff/":{"tf":1}},"df":1}}}}}}}}},"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"/projects/hangglidere/":{"tf":1}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"/projects/tefreezer/":{"tf":1}},"df":1}},"o":{"docs":{},"df":0,"d":{"docs":{"/projects/tefreezer/":{"tf":1.4142135623730951}},"df":1}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"/projects/tefreezer/":{"tf":1}},"df":1}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"/projects/tenkumalib/":{"tf":1}},"df":1}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"/projects/tefreezer/":{"tf":1}},"df":1}}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"/projects/tenkumalib/":{"tf":1}},"df":1}}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"/projects/tenkumalib/":{"tf":1}},"df":1}}}}}}},"pipeline":["trimmer","stopWordFilter","stemmer"]} \ No newline at end of file diff --git a/src/_data/news.json b/src/_data/news.json new file mode 100644 index 0000000..e7f87a7 --- /dev/null +++ b/src/_data/news.json @@ -0,0 +1,14 @@ +{ + "entries": [ + { + "date": "2025-10-30", + "title": "Releases support", + "text": "Now developers can list their software version and automatically list their GitHub releases in their project page!" + }, + { + "date": "2025-10-27", + "title": "Website redesign!", + "text": "Yaaay! neoBeta got a stylish redesign." + } + ] +} \ No newline at end of file diff --git a/src/_includes/author.njk b/src/_includes/author.njk new file mode 100644 index 0000000..03a3588 --- /dev/null +++ b/src/_includes/author.njk @@ -0,0 +1,21 @@ +--- +layout: "skeleton.njk" +styles: ["project"] +--- +
+
+ {% if logo %} + + {% endif %} +
+
+

{{ name }}

+
+

{{ subtitle }}

+
+
+ {% include "project_image.njk" %} +
+ {{ content | safe }} +
+
\ No newline at end of file diff --git a/src/_includes/base.njk b/src/_includes/base.njk new file mode 100644 index 0000000..96e19ba --- /dev/null +++ b/src/_includes/base.njk @@ -0,0 +1,7 @@ +--- +layout: "skeleton.njk" +--- + +
+ {{ content | safe }} +
\ No newline at end of file diff --git a/src/_includes/docs.njk b/src/_includes/docs.njk new file mode 100644 index 0000000..15d4ec0 --- /dev/null +++ b/src/_includes/docs.njk @@ -0,0 +1,10 @@ +--- +layout: skeleton.njk +--- +
+

You are seeing the documentation for: {{ projectData.fileSlug }}

+
+
+ {{ content | safe }} +
+
\ No newline at end of file diff --git a/src/_includes/error.njk b/src/_includes/error.njk new file mode 100644 index 0000000..fe1dbbd --- /dev/null +++ b/src/_includes/error.njk @@ -0,0 +1,11 @@ +--- +layout: "base.njk" +--- +

{{ page.fileSlug }} - Ouch! We hit a wall.

+

{{ errorDescription | safe }}

+{% if errorQuote %} +

"{{ errorQuote | safe }}"

+{% endif %} +{% if content %} +{{ content | safe }} +{% endif %} \ No newline at end of file diff --git a/src/_includes/featured.njk b/src/_includes/featured.njk new file mode 100644 index 0000000..d68ab89 --- /dev/null +++ b/src/_includes/featured.njk @@ -0,0 +1,27 @@ +{% macro projectShowcase(projects, c) %} + +{% endmacro %} \ No newline at end of file diff --git a/src/_includes/header.njk b/src/_includes/header.njk new file mode 100644 index 0000000..223ba6b --- /dev/null +++ b/src/_includes/header.njk @@ -0,0 +1,17 @@ +
+ +
\ No newline at end of file diff --git a/src/_includes/news.njk b/src/_includes/news.njk new file mode 100644 index 0000000..48da0e3 --- /dev/null +++ b/src/_includes/news.njk @@ -0,0 +1,5 @@ +

Latest updates

+{% for news in news.entries %} +

{{ news.date }} {{ news.title }}:

+

{{ news.text | safe }}

+{% endfor %} \ No newline at end of file diff --git a/src/_includes/project.njk b/src/_includes/project.njk new file mode 100644 index 0000000..535d3c3 --- /dev/null +++ b/src/_includes/project.njk @@ -0,0 +1,52 @@ +--- +layout: "skeleton.njk" +styles: ["project"] +--- +
+
+ {% if logo %} + + {% endif %} +
+
+

{{ name }}

+

by {{ author }}

+
+

{{ subtitle }}

+
+ +
+ {% if links or docs or images or releaseType %} +
+ {% include "project_image.njk" %} +
+

Here's what we found about this project:

+ {% if links %} +

{{ links | length }} links.

+
    + {% for label, addr in links %} +
  • {{ label }}
  • + {% endfor %} +
+ {% endif %} + {% if docs %} +

{{ docs | length }} documentaion files.

+
    + {% for label, addr in docs %} +
  • {{ label }}
  • + {% endfor %} +
+ {% endif %} +
+
+ {% endif %} +
+ {% if content %} + {{ content | safe }} + {% else %} +

Oopsie! :<

+

Seems like we don't have a description for this project.

+

"If only the clockworks could speak
I wouldn't be so alone"

+ {% endif %} +
+
\ No newline at end of file diff --git a/src/_includes/project_image.njk b/src/_includes/project_image.njk new file mode 100644 index 0000000..e5b340f --- /dev/null +++ b/src/_includes/project_image.njk @@ -0,0 +1,13 @@ +{% if images %} +
+

Images

+
+ {% for image in images %} + {% set dir = (page.filePathStem | default(page.url) ) | replace('/index','') %} + + + + {% endfor %} +
+
+{% endif %} \ No newline at end of file diff --git a/src/_includes/skeleton.njk b/src/_includes/skeleton.njk new file mode 100644 index 0000000..45bec8d --- /dev/null +++ b/src/_includes/skeleton.njk @@ -0,0 +1,23 @@ + + + + + + {% for stylesheet in styles %} + + {% endfor %} + + {% if name %}{{ name }} - {% endif %}neoBeta + + + +
+ + {{ content | safe }} +
+ + \ No newline at end of file diff --git a/src/_virtual/releases.njk b/src/_virtual/releases.njk new file mode 100644 index 0000000..a0c9cb7 --- /dev/null +++ b/src/_virtual/releases.njk @@ -0,0 +1,71 @@ +--- +pagination: + data: collections.projects + size: 1 + alias: project +permalink: "{{ project.url }}releases.html" +layout: base.njk +--- + +

Releases for {{ project.data.name }}

+ +{% if project.data.dependencies %} +

This project depends on: + {% for dep in project.data.dependencies %} + {% set depl = collections.projects | collectionFind("/projects/" + dep + "/") %} + {{ dep }}. + {% endfor %} +

+{% endif %} + +{% if project.data.releaseType %} + {% if project.data.releaseType == "github" and not isProduction %} +

Sorry, but this instance of neoBeta cannot fetch GitHub releases, please follow this link to see them.

+

"Take us down, and we keep trying
Forty thousand feet, keep flying"

+ {% else %} + {% if project.data.releaseType == "github" %} + {% set releases = project.data.githubRepoOwner | githubReleases(project.data.githubRepoName) %} +

Fetched from GitHub at {{ buildTime }}.

+ {% else %} + {% set releases = project.data.releases %} + {% endif %} +

{{ releases | length }} releases.

+
+ {% for release in releases %} +
+

{{ release.name }}

+ {% if project.data.releaseType == "github" %} +

{{ release.tag_name }} for {{ project.data.gameLoaders or "unknown loader" }} {{ project.data.gameVersions or "unknow version" }}

+ {% else %} +

Version {{ release.version }} for {{ project.data.gameLoaders or "unknown loader" }} {{ project.data.gameVersions or "unknow version" }}

+ {% endif %} +
+ {% if project.data.releaseType == "github" %} + + + + {% else %} + {% if release.downloads %} +
+ {% for label, addr in release.downloads %} + + {% endfor %} +
+ {% endif %} + {% endif %} +
+
+ {% endfor %} +
+ {% endif %} +{% else %} +

Could not find any release for this project...

+{% endif %} diff --git a/src/allprojects.njk b/src/allprojects.njk new file mode 100644 index 0000000..b119720 --- /dev/null +++ b/src/allprojects.njk @@ -0,0 +1,40 @@ +--- +layout: base.njk +pagination: + data: collections.projects + size: 10 + alias: paginatedProjects +styles: ["search"] +--- +

Projects Index - page {{ pagination.pageNumber + 1 }}

+ +
    + {% for project in paginatedProjects %} +
    +

    + {% if project.data.logo %} + + {% endif %} + {{ project.data.name }} + {% if project.data.author %} + by {{ project.data.author }} + {% endif %} +

    +

    {{ project.data.subtitle }}

    +
    + {% for tag in project.data.tags %} +
    {{ tag }}
    + {% endfor %} +
    +
    + {% endfor %} +
+ + diff --git a/assets/MinecraftRegular-Bmg3.otf b/src/assets/MinecraftRegular-Bmg3.otf similarity index 100% rename from assets/MinecraftRegular-Bmg3.otf rename to src/assets/MinecraftRegular-Bmg3.otf diff --git a/assets/logo.png b/src/assets/logo.png similarity index 100% rename from assets/logo.png rename to src/assets/logo.png diff --git a/assets/mod-placeholder.png b/src/assets/mod-placeholder.png similarity index 100% rename from assets/mod-placeholder.png rename to src/assets/mod-placeholder.png diff --git a/assets/search.js b/src/assets/search.js similarity index 100% rename from assets/search.js rename to src/assets/search.js diff --git a/assets/stylesheets/home.css b/src/assets/stylesheets/home.css similarity index 100% rename from assets/stylesheets/home.css rename to src/assets/stylesheets/home.css diff --git a/assets/stylesheets/project.css b/src/assets/stylesheets/project.css similarity index 100% rename from assets/stylesheets/project.css rename to src/assets/stylesheets/project.css diff --git a/assets/stylesheets/search.css b/src/assets/stylesheets/search.css similarity index 100% rename from assets/stylesheets/search.css rename to src/assets/stylesheets/search.css diff --git a/assets/stylesheets/styles.css b/src/assets/stylesheets/styles.css similarity index 100% rename from assets/stylesheets/styles.css rename to src/assets/stylesheets/styles.css diff --git a/src/authors/authors.json b/src/authors/authors.json new file mode 100644 index 0000000..5c47c84 --- /dev/null +++ b/src/authors/authors.json @@ -0,0 +1,4 @@ +{ + "layout": "author.njk", + "tags": "author" +} \ No newline at end of file diff --git a/src/authors/tenkuma/index.md b/src/authors/tenkuma/index.md new file mode 100644 index 0000000..7e72695 --- /dev/null +++ b/src/authors/tenkuma/index.md @@ -0,0 +1,10 @@ +--- +name: "tenkuma" +subtitle: "A bear doing things on the internet." +logo: "logo.png" +images: ["tenkuma-silverfish.jpg", "tenkuma-mrnando-enderdragon.jpg"] +--- + +I'm tenkuma. A bear, dreamer and sometimes developer. + +You can find more about me on [my website](https://adrianvictor.rf.gd). \ No newline at end of file diff --git a/authors/tenkuma/logo.png b/src/authors/tenkuma/logo.png similarity index 100% rename from authors/tenkuma/logo.png rename to src/authors/tenkuma/logo.png diff --git a/authors/tenkuma/tenkuma-mrnando-enderdragon.jpg b/src/authors/tenkuma/tenkuma-mrnando-enderdragon.jpg similarity index 100% rename from authors/tenkuma/tenkuma-mrnando-enderdragon.jpg rename to src/authors/tenkuma/tenkuma-mrnando-enderdragon.jpg diff --git a/authors/tenkuma/tenkuma-silverfish.jpg b/src/authors/tenkuma/tenkuma-silverfish.jpg similarity index 100% rename from authors/tenkuma/tenkuma-silverfish.jpg rename to src/authors/tenkuma/tenkuma-silverfish.jpg diff --git a/src/error/404.html b/src/error/404.html new file mode 100644 index 0000000..fe976ff --- /dev/null +++ b/src/error/404.html @@ -0,0 +1,4 @@ +--- +errorQuote: "If only the clockworks could speak
I wouldn't be so alone" +errorDescription: "We didn't find what you are looking for..." +--- \ No newline at end of file diff --git a/src/error/error.json b/src/error/error.json new file mode 100644 index 0000000..c185a63 --- /dev/null +++ b/src/error/error.json @@ -0,0 +1,3 @@ +{ + "layout": "error.njk" +} \ No newline at end of file diff --git a/android-chrome-192x192.png b/src/favicon/android-chrome-192x192.png similarity index 100% rename from android-chrome-192x192.png rename to src/favicon/android-chrome-192x192.png diff --git a/android-chrome-512x512.png b/src/favicon/android-chrome-512x512.png similarity index 100% rename from android-chrome-512x512.png rename to src/favicon/android-chrome-512x512.png diff --git a/apple-touch-icon.png b/src/favicon/apple-touch-icon.png similarity index 100% rename from apple-touch-icon.png rename to src/favicon/apple-touch-icon.png diff --git a/favicon-16x16.png b/src/favicon/favicon-16x16.png similarity index 100% rename from favicon-16x16.png rename to src/favicon/favicon-16x16.png diff --git a/favicon-32x32.png b/src/favicon/favicon-32x32.png similarity index 100% rename from favicon-32x32.png rename to src/favicon/favicon-32x32.png diff --git a/favicon.ico b/src/favicon/favicon.ico similarity index 100% rename from favicon.ico rename to src/favicon/favicon.ico diff --git a/site.webmanifest b/src/favicon/site.webmanifest similarity index 100% rename from site.webmanifest rename to src/favicon/site.webmanifest diff --git a/src/index.njk b/src/index.njk new file mode 100644 index 0000000..4f9ae95 --- /dev/null +++ b/src/index.njk @@ -0,0 +1,19 @@ +--- +layout: "base.njk" +styles: ["home"] +--- + +{% import "featured.njk" as featured %} + +

Howdy, traveler.

+

This website is the place for Minecraft plugins, made with users and developers in mind. neobeta is open-source, you can find out how the website is made in our GitHub repository (spoiler: there's some real magic going on).

+

Our catalog is made by developers and community, you can get involved by following the tutorial linked here.

+
+
+

Featured projects

+ {{ featured.projectShowcase(["ghostsandstuff", "devilwithin", "timekeeper", "tefreezer"], collections.projects) }} +
+
+ {% include "news.njk" %} +
+
\ No newline at end of file diff --git a/src/projects/aboukkit/index.json b/src/projects/aboukkit/index.json new file mode 100644 index 0000000..60596e1 --- /dev/null +++ b/src/projects/aboukkit/index.json @@ -0,0 +1,39 @@ +{ + "name": "Aboukkit", + "subtitle": "A simple way to add custom commands with custom responses to your server.", + "author": "tenkuma", + "links": { + "Modrinth": "https://modrinth.com/plugin/aboukkit/versions", + "GitHub": "https://github.com/adrianvic/aboukkit", + "Disroot Git": "https://git.disroot.org/adrianvictor/aboukkit" + }, + "logo": "logo.png", + "tags": ["plugin"], + "releaseType": "local", + "dependencies": ["tenkumalib"], + "gameVersions": "b1.7.3", + "gameLoaders": "Bukkit", + "releases": [ + { + "name": "Library update", + "version": "2.1", + "downloads": { + "Modrinth": "https://modrinth.com/plugin/aboukkit/version/2.1" + } + }, + { + "name": "Color update", + "version": "2.0", + "downloads": { + "Modrinth": "https://modrinth.com/plugin/aboukkit/version/2.0" + } + }, + { + "name": "Vanilla", + "version": "1.0", + "downloads": { + "Modrinth": "https://modrinth.com/plugin/aboukkit/version/1.0" + } + } + ] +} \ No newline at end of file diff --git a/src/projects/aboukkit/index.md b/src/projects/aboukkit/index.md new file mode 100644 index 0000000..423b0ac --- /dev/null +++ b/src/projects/aboukkit/index.md @@ -0,0 +1,21 @@ + +![Aboukkit logo, abboukit written in a Minecraft's logo like font painted in red.](https://cdn.modrinth.com/data/cached_images/94b1f813f8e15f82dddcffa5284c92e59cb93b27.png) + +This plugin adds a simple way to add custom commands that will respond users with predefined messages from ```config.yml```. It supports Minecraft's color coding (use & instead of §) ~~and placeholders for player/server info~~ (TODO). + +## Default Commands +- About +- Aboukkit + +These default commands need to be configured. + +## Adding new commands +First of all: run the server with the plugin for the first time, so ```config.yml``` is generated. + +Follow the structure that the template shows in your ```config.yml```. Then use a file explorer to open the plugin's JAR file and edit plugin.yml, you can copy a command entry and fill all the fields (be careful with indentation, YML does not support TAB). + +## Why? +I made this plugin because I have a server for version b1.7.3 and I wanted to add a /about command to give credit to the server founders and link to our website. So I made this that I will use every time I need a simple 'wall of text' command. + +## Newer versions +I don't see why I would build this for latest versions, I guess there are already better solutions. I made this just because of the lack of plugins for Minecraft beta. \ No newline at end of file diff --git a/projects/aboukkit/logo.png b/src/projects/aboukkit/logo.png similarity index 100% rename from projects/aboukkit/logo.png rename to src/projects/aboukkit/logo.png diff --git a/src/projects/devilwithin/index.json b/src/projects/devilwithin/index.json new file mode 100644 index 0000000..09ee3a7 --- /dev/null +++ b/src/projects/devilwithin/index.json @@ -0,0 +1,8 @@ +{ + "name": "The Devil Within", + "subtitle": "Adds enchanting to Minecraft Beta. Supports balancing through curses.", + "author": "tenkuma", + "downloadLink": "https://modrinth.com/plugin/devilwithin/versions", + "logo": "logo.png", + "tags": ["plugin"] +} \ No newline at end of file diff --git a/src/projects/devilwithin/index.md b/src/projects/devilwithin/index.md new file mode 100644 index 0000000..820c537 --- /dev/null +++ b/src/projects/devilwithin/index.md @@ -0,0 +1,31 @@ +This plugin is a remake of [GoldEnchant](https://dev.bukkit.org/projects/goldenchant/). +This plugin depends on [tenkumaLib](https://modrinth.com/plugin/tenkumalib). + +Have you ever wanted to have enchantments in your beta server? This is the plugin you want. + +## Enchanting +To enchant a armor piece you need to interact to a diamond block with a diamond armor piece in your hand. + +## Enchantments and Curses +All of those enchantments will not take effect if the damage exceeds the player's HP. An armor get cursed if it's durability is below 30%. Spooky bad stuff will happen if your armor is cursed :D + +### Helmet + - Prevents the player from drowning. + - The player cannot sleep. If the player try to sleep a entity will tell the player the text set in the config. + +### Chestplate + - Prevents fire damage. Does not prevent lava damage. + - Protects the player from fire damage only half of the time, also has a 25% chance to ignite the player every time it takes damage. + +### Leggings + - Nothing for now. Only useful for the full-set perks. + - Makes player run slower 50% of the time a PlayerMoveEvent happens. The speed is randomly generated. + +### Boots +Prevents fall damage. + +### Full-set perks +If the player has a full-set of enchanted armor the condition of the damage being taken if it's greater than the player's HP is ignored, also the player gets immune to contact damage (cactus), lava damage and lava damage. + +## Config +Everything is explained in the config file's comments, in case it changes. \ No newline at end of file diff --git a/projects/devilwithin/logo.png b/src/projects/devilwithin/logo.png similarity index 100% rename from projects/devilwithin/logo.png rename to src/projects/devilwithin/logo.png diff --git a/projects/ghostsandstuff/anti-spam.png b/src/projects/ghostsandstuff/anti-spam.png similarity index 100% rename from projects/ghostsandstuff/anti-spam.png rename to src/projects/ghostsandstuff/anti-spam.png diff --git a/src/projects/ghostsandstuff/docs/installation.md b/src/projects/ghostsandstuff/docs/installation.md new file mode 100644 index 0000000..32bf279 --- /dev/null +++ b/src/projects/ghostsandstuff/docs/installation.md @@ -0,0 +1,6 @@ +## Installation instructions for GhostsAndStuff + - Download the plugin JAR + - Download the dependency JAR (tenkumaLib) + - Move both to your server's `plugin` folder. + +After following these steps the plugin should appear in the plugin list when you turn the server on. \ No newline at end of file diff --git a/src/projects/ghostsandstuff/index.json b/src/projects/ghostsandstuff/index.json new file mode 100644 index 0000000..d054908 --- /dev/null +++ b/src/projects/ghostsandstuff/index.json @@ -0,0 +1,21 @@ +{ + "name": "Ghosts 'n Stuff", + "subtitle": "Miscellaneous additions to your Minecraft server.", + "author": "tenkuma", + "downloadLink": "https://modrinth.com/plugin/ghosts/versions", + "images": ["anti-spam.png", "rainbow-chat.png", "skibidi-blocker.png"], + "logo": "logo.png", + "tags": ["plugin"], + "links": { + "GitHub": "https://github.com/adrianvic/ghostsandstuff", + "Disroot Git": "https://git.disroot.org/adrianvictor/ghostsandstuff" + }, + "docs": { + "Installation" : "docs/installation" + }, + "releaseType": "github", + "githubRepoOwner": "adrianvic", + "githubRepoName": "ghostsandstuff", + "gameVersions": ["b1.7.3"], + "gameLoaders": ["Bukkit"] +} \ No newline at end of file diff --git a/src/projects/ghostsandstuff/index.md b/src/projects/ghostsandstuff/index.md new file mode 100644 index 0000000..c487d9b --- /dev/null +++ b/src/projects/ghostsandstuff/index.md @@ -0,0 +1,6 @@ +This plugins was made to use stuff from my library that would not fit into any plugin (or not in the way presented here) that has ~~a lot~~ (WIP) of random stuff. Everything should be togglable in the config. + +## Features +- **RainbowChat:** Rainbow color code (&z by default). +- **SkibidiBlocker:** Strike a lightning on players that say a word. +- **AntiSpam:** Blocks repeated words in the chat. Optionally can strike a lightning to the player who is spamming. diff --git a/projects/ghostsandstuff/logo.png b/src/projects/ghostsandstuff/logo.png similarity index 100% rename from projects/ghostsandstuff/logo.png rename to src/projects/ghostsandstuff/logo.png diff --git a/projects/ghostsandstuff/rainbow-chat.png b/src/projects/ghostsandstuff/rainbow-chat.png similarity index 100% rename from projects/ghostsandstuff/rainbow-chat.png rename to src/projects/ghostsandstuff/rainbow-chat.png diff --git a/projects/ghostsandstuff/skibidi-blocker.png b/src/projects/ghostsandstuff/skibidi-blocker.png similarity index 100% rename from projects/ghostsandstuff/skibidi-blocker.png rename to src/projects/ghostsandstuff/skibidi-blocker.png diff --git a/src/projects/hangglidere/index.json b/src/projects/hangglidere/index.json new file mode 100644 index 0000000..81995a0 --- /dev/null +++ b/src/projects/hangglidere/index.json @@ -0,0 +1,6 @@ +{ + "name": "HangGlideRE", + "subtitle": "Fly with a chicken!", + "author": "tenkuma", + "tags": ["plugin"] +} \ No newline at end of file diff --git a/src/projects/hangglidere/index.md b/src/projects/hangglidere/index.md new file mode 100644 index 0000000..e69de29 diff --git a/src/projects/projects.json b/src/projects/projects.json new file mode 100644 index 0000000..4aa7873 --- /dev/null +++ b/src/projects/projects.json @@ -0,0 +1 @@ +{ "layout": "project.njk" } \ No newline at end of file diff --git a/src/projects/tefreezer/index.json b/src/projects/tefreezer/index.json new file mode 100644 index 0000000..5126fc2 --- /dev/null +++ b/src/projects/tefreezer/index.json @@ -0,0 +1,8 @@ +{ + "name": "teFreezer", + "subtitle": "Force your players to refrigerate their food by rotting food in unrefrigerated chests!", + "author": "tenkuma", + "downloadLink": "https://modrinth.com/plugin/freezer/versions", + "logo": "logo.png", + "tags": ["plugin"] +} \ No newline at end of file diff --git a/src/projects/tefreezer/index.md b/src/projects/tefreezer/index.md new file mode 100644 index 0000000..a99d161 --- /dev/null +++ b/src/projects/tefreezer/index.md @@ -0,0 +1,15 @@ +![Tefreezer written in Minecraft-like font in purple.](https://cdn.modrinth.com/data/cached_images/0aaabfb51609876ece6de83e62b9641a4635fad9_0.webp) + +teFreezer is a fork of [Freezer by outadoc](https://dev.bukkit.org/projects/freezer), logo by [malcolmriley](https://github.com/malcolmriley/unused-textures/blob/master/items/food_pepper.png). + +This plugins purpose is to force people in your server to refrigerate their food by placing a cold block around their chest with the food. In case there is no cold block around the chest, it will turn the food into a rotted item. + +## Configuration +In the ```config.yml``` you can set these values: +- Cold blocks +- Resulting itens +- Itens that can rot +- Message for when the user let food rot + +## Why fork? +I have forked this plugin because I was really anoyed by the original plugin that broadcasts the message to the whole server once anyone let food rot and the lack of a configuration file. \ No newline at end of file diff --git a/projects/tefreezer/logo.png b/src/projects/tefreezer/logo.png similarity index 100% rename from projects/tefreezer/logo.png rename to src/projects/tefreezer/logo.png diff --git a/src/projects/tenkumalib/index.json b/src/projects/tenkumalib/index.json new file mode 100644 index 0000000..ac8b847 --- /dev/null +++ b/src/projects/tenkumalib/index.json @@ -0,0 +1,8 @@ +{ + "name": "tenkuma's Library", + "subtitle": "Library to support my other plugins. Does nothing on it's own.", + "author": "tenkuma", + "downloadLink": "https://modrinth.com/plugin/tenkumalib/versions", + "logo": "logo.png", + "tags": ["plugin"] +} \ No newline at end of file diff --git a/src/projects/tenkumalib/index.md b/src/projects/tenkumalib/index.md new file mode 100644 index 0000000..2124d73 --- /dev/null +++ b/src/projects/tenkumalib/index.md @@ -0,0 +1,5 @@ +This is a dependency for my other projects. This does not do anything on it's own. + +## Why do I have to install this alongside your plugins? + +You may think that installing two plugins instead of one is installing unecessary bloat that is useless. But it's not, libraries hold code that is common to more than one project, so you avoid having the same code repeated twice or more in your server. Also it's easier for the developer that has to improve only a single codebase to improve all the rest of the dependants. diff --git a/projects/tenkumalib/logo.png b/src/projects/tenkumalib/logo.png similarity index 100% rename from projects/tenkumalib/logo.png rename to src/projects/tenkumalib/logo.png diff --git a/src/projects/timekeeper/index.json b/src/projects/timekeeper/index.json new file mode 100644 index 0000000..bfe9399 --- /dev/null +++ b/src/projects/timekeeper/index.json @@ -0,0 +1,8 @@ +{ + "name": "TimeKeeper", + "subtitle": "Syncs real world time with your Minecraft server time.", + "author": "tenkuma", + "downloadLink": "https://modrinth.com/plugin/timekeeper/versions", + "logo": "logo.png", + "tags": ["plugin"] +} \ No newline at end of file diff --git a/src/projects/timekeeper/index.md b/src/projects/timekeeper/index.md new file mode 100644 index 0000000..5223f2c --- /dev/null +++ b/src/projects/timekeeper/index.md @@ -0,0 +1,14 @@ +This is a plugin for Minecraft beta that syncs the real world time with your in-game time. Logo by [malcolmriley](https://github.com/malcolmriley/unused-textures/blob/master/items/). + +## How it works +It will calculate and change the game time every second (that's 20 ticks and can be changed in the config), it will use your computer's timezone as default if the config `timezone` value does not exist. + +## Performance +I am not sure if this plugin has any significant performance hit, it runs code every few ticks (you can in/decrease the frequency in the config) and that is not the best approach for doing this, but it's the only that works in beta. Using it with `ticksBetweenUpdate: 1` does not seem to change the performance in any way. The specifications for the computer used for the tests: + +``` +Host: 83AF IdeaPad 1 14IAU7 +CPU: 12th Gen Intel i5-1235U (12) @ 1.300GHz +GPU: Intel Alder Lake-UP3 GT2 [Iris Xe Graphics] +Memory: 10097MiB / 15709MiB +``` \ No newline at end of file diff --git a/projects/timekeeper/logo.png b/src/projects/timekeeper/logo.png similarity index 100% rename from projects/timekeeper/logo.png rename to src/projects/timekeeper/logo.png diff --git a/src/search.njk b/src/search.njk new file mode 100644 index 0000000..f52c7d8 --- /dev/null +++ b/src/search.njk @@ -0,0 +1,27 @@ +--- +styles: ["search"] +layout: "base.njk" +--- + + + + + +

Welcome to neoBeta's search, here you can search through our whole database of plugins, mods and authors. You may want to filter out the results using the dropdown menu below. The search is done on your device using elasticlunr.

+ +
+ + +
+
\ No newline at end of file