diff --git a/.github/workflows/autoprefixer.yml b/.github/workflows/autoprefixer.yml index 9c4830e..0717b2a 100644 --- a/.github/workflows/autoprefixer.yml +++ b/.github/workflows/autoprefixer.yml @@ -8,12 +8,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout to latest commit - uses: actions/checkout@v4.1.2 + uses: actions/checkout@v4.2.2 - name: Setup Node uses: actions/setup-node@v4 with: - node-version: "15.x" + node-version: "20.x" - name: Run autoprefixer run: | @@ -21,7 +21,7 @@ jobs: npm run autoprefixer - name: Create Pull Request - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 with: branch: autoprefixer branch-suffix: timestamp diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 8534b04..5818aae 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,7 +39,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4.1.2 + uses: actions/checkout@v4.2.2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/enforce-lablel.yml b/.github/workflows/enforce-lablel.yml new file mode 100644 index 0000000..b0bfdab --- /dev/null +++ b/.github/workflows/enforce-lablel.yml @@ -0,0 +1,16 @@ +name: Label Enforcer + +# Run action on pull request creation, reopening, or label changes +on: + pull_request: + types: [opened, reopened, labeled, unlabeled] + +jobs: + # Ensure that PR has desired labels + enforce-label: + runs-on: ubuntu-latest + steps: + - uses: yogevbd/enforce-label-action@2.2.2 + with: + REQUIRED_LABELS_ANY: "automerge,breaking-change,bug-fix,enhancement,feature,translation" + REQUIRED_LABELS_ANY_DESCRIPTION: "The PR must have at least one these labels: ['automerge','breaking-change','bug-fix','enhancement','feature','translation']" diff --git a/.github/workflows/merge-to-main.yml b/.github/workflows/merge-to-main.yml index 691bf0c..9722dd5 100644 --- a/.github/workflows/merge-to-main.yml +++ b/.github/workflows/merge-to-main.yml @@ -10,6 +10,6 @@ jobs: runs-on: ubuntu-latest steps: # Create/Update release draft - - uses: release-drafter/release-drafter@v6.0.0 + - uses: release-drafter/release-drafter@v6.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 3a0a6de..d02b160 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -10,18 +10,18 @@ jobs: runs-on: ubuntu-latest steps: # checkout to the commit that has been pushed - - uses: actions/checkout@v4.1.2 + - uses: actions/checkout@v4.2.2 - name: Setup Node uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 - name: Install node modules run: npm install - name: Setup Hugo - uses: peaceiris/actions-hugo@v2.6.0 + uses: peaceiris/actions-hugo@v3.0.0 with: hugo-version: 'latest' extended: true @@ -35,12 +35,12 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.2 + - uses: actions/checkout@v4.2.2 - name: Setup Node uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 - name: Install node modules run: npm install @@ -62,7 +62,7 @@ jobs: NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}} - name: Run Lighthouse - uses: foo-software/lighthouse-check-action@v10.0.0 + uses: foo-software/lighthouse-check-action@v12.0.1 id: lighthouseCheck with: accessToken: ${{ secrets.LIGHTHOUSE_TOKEN }} @@ -73,20 +73,11 @@ jobs: timeout: 5 urls: "${{ steps.preview.outputs.url }},${{ steps.preview.outputs.url }}/posts/,${{ steps.preview.outputs.url }}/posts/markdown-sample/,${{ steps.preview.outputs.url }}/posts/shortcodes/" - # Ensure that PR has desired labels - enforce-label: - runs-on: ubuntu-latest - steps: - - uses: yogevbd/enforce-label-action@2.2.2 - with: - REQUIRED_LABELS_ANY: "automerge,breaking-change,bug-fix,enhancement,feature,translation" - REQUIRED_LABELS_ANY_DESCRIPTION: "The PR must have at least one these labels: ['automerge','breaking-change','bug-fix','enhancement','feature','translation']" - # Check for any broken links markdown-link-check: runs-on: ubuntu-latest steps: # checkout to latest commit - - uses: actions/checkout@v4.1.2 + - uses: actions/checkout@v4.2.2 # run markdown linter - - uses: gaurav-nelson/github-action-markdown-link-check@1.0.15 + - uses: gaurav-nelson/github-action-markdown-link-check@1.0.17 diff --git a/README.md b/README.md index 3468061..fe1c799 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi - counter.dev - Google Analytics - Matomo/Piwik + - [Umami](https://umami.is/) - Comment Support - [Disqus](https://disqus.com/) - [Valine](https://valine.js.org/) @@ -55,6 +56,7 @@ For more details about the features please visit [here](https://toha-guides.netl - Deutsch - Español - 简体中文 +- 繁體中文 - हिन्दी - Italiano - 日本語 @@ -62,12 +64,14 @@ For more details about the features please visit [here](https://toha-guides.netl - русский - suomi - Tiếng Việt +- Azerbaijan - Turkish - Arabic (العربية) - Português Europeu - Català - Português Brasileiro - Nederlands +- Hebrew To know more about how to translate your site, please visit [here](https://toha-guides.netlify.app/posts/translation/). Follow, the data and post format from this [example site](https://hugo-toha.github.io). @@ -89,7 +93,7 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io). ## Requirements -- Hugo Version 0.118.0 (extended) or higher +- Hugo Version 0.128.0 (extended) or higher - Go language 1.18 or higher (require for hugo modules) - Node version v18.x or later and npm 8.x or later. @@ -109,7 +113,7 @@ hugo mod init github.com// ##### 2. Add this theme as your module dependency -Now, in your `config.yaml` file, add a `module` section. +Now, in your `hugo.yaml` file, add a `module` section. ```yaml # Use Hugo modules to add theme @@ -118,7 +122,7 @@ module: - path: github.com/hugo-toha/toha/v4 ``` -Check this sample [config.yaml](https://github.com/hugo-toha/hugo-toha.github.io/blob/main/config.yaml) for further reference. +Check this sample [hugo.yaml](https://github.com/hugo-toha/hugo-toha.github.io/blob/main/hugo.yaml) for further reference. ##### 3. Update your module @@ -205,7 +209,7 @@ $ npm install $ hugo server -w ``` -Now, you can make change in the theme and they will be reflected immediately on the running site. If you need to change any configuration, you can do that in the `config.yaml` file inside `exampleSite` folder. If you need to add any content or data, you can create the respective folder inside `exampleSite` directory and add your desired content or data there. +Now, you can make change in the theme and they will be reflected immediately on the running site. If you need to change any configuration, you can do that in the `hugo.yaml` file inside `exampleSite` folder. If you need to add any content or data, you can create the respective folder inside `exampleSite` directory and add your desired content or data there. #### Running the forked theme against your own site diff --git a/assets/scripts/core/theme-scheme.js b/assets/scripts/core/theme-scheme.js new file mode 100644 index 0000000..a02d469 --- /dev/null +++ b/assets/scripts/core/theme-scheme.js @@ -0,0 +1,9 @@ +let theme = localStorage.getItem('theme-scheme') || localStorage.getItem('darkmode:color-scheme') || 'light' +if (theme === 'system') { + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + theme = 'dark' + } else { + theme = 'light' + } +} +document.documentElement.setAttribute('data-theme', theme) diff --git a/assets/scripts/features/copyCode/copyCode.js b/assets/scripts/features/copyCode/copyCode.js new file mode 100644 index 0000000..5b1d592 --- /dev/null +++ b/assets/scripts/features/copyCode/copyCode.js @@ -0,0 +1,22 @@ +addCopyButtons(navigator.clipboard) + +function addCopyButtons(clipboard) { + document.querySelectorAll('pre > code').forEach(function (codeBlock) { + const button = document.createElement('button') + button.title = "Copy" + button.className = 'copy-code-button btn btn-sm' + button.innerHTML = "" + + button.addEventListener('click', function () { + clipboard.writeText(codeBlock.innerText) + }) + + const pre = codeBlock.parentNode + if (pre.parentNode.classList.contains('highlight')) { + const highlight = pre.parentNode + highlight.parentNode.insertBefore(button, highlight) + } else { + pre.parentNode.insertBefore(button, pre) + } + }) +} diff --git a/assets/scripts/features/copyCode/index.js b/assets/scripts/features/copyCode/index.js new file mode 100644 index 0000000..b1eb504 --- /dev/null +++ b/assets/scripts/features/copyCode/index.js @@ -0,0 +1 @@ +import './copyCode' diff --git a/assets/scripts/features/darkmode/index.js b/assets/scripts/features/darkmode/index.js index be1ce5a..5d8443e 100644 --- a/assets/scripts/features/darkmode/index.js +++ b/assets/scripts/features/darkmode/index.js @@ -40,7 +40,7 @@ window.addEventListener('load', async () => { // save preference to local storage saveScheme(newScheme) - setImages(newScheme) + setImages(theme) } setScheme(loadScheme()) @@ -67,4 +67,4 @@ function setImages(newScheme) { if (dark !== null) dark.style.display = 'none' } } -} \ No newline at end of file +} diff --git a/assets/scripts/features/index.js b/assets/scripts/features/index.js index 9682acf..8065251 100644 --- a/assets/scripts/features/index.js +++ b/assets/scripts/features/index.js @@ -10,6 +10,10 @@ if (process.env.FEATURE_DARKMODE === '1') { import('./darkmode') } +if (process.env.FEATURE_THEME === '1') { + import('./theme') +} + if (process.env.FEATURE_FLOWCHART === '1') { import('./flowchart') } @@ -25,3 +29,7 @@ if (process.env.FEATURE_MATH === '1') { if (process.env.FEATURE_EMBEDPDF === '1') { import('./embedpdf') } + +if (process.env.FEATURE_COPYCODEBUTTON === '1') { + import('./copyCode') +} diff --git a/assets/scripts/features/theme/index.js b/assets/scripts/features/theme/index.js new file mode 100644 index 0000000..f845e9d --- /dev/null +++ b/assets/scripts/features/theme/index.js @@ -0,0 +1,88 @@ +import * as params from '@params'; +const PERSISTENCE_KEY = 'theme-scheme' + +const themeOptions = params.theme || {} +const THEME_DARK = typeof themeOptions.dark === 'undefined' ? true : themeOptions.dark; +const THEME_LIGHT = typeof themeOptions.light === 'undefined' ? true : themeOptions.light; +const THEME_DEFAULT = typeof themeOptions.default === 'undefined' ? "system" : themeOptions.default; + +window.addEventListener('load', async () => { + const menu = document.getElementById('themeMenu') + const $icon = document.getElementById('navbar-theme-icon-svg') + if (menu == null || $icon == null) return + + const btns = menu.getElementsByTagName('a') + const iconMap = Array.from(btns).reduce((map, btn) => { + const $img = btn.getElementsByTagName('img')[0] + map[btn.dataset.scheme] = $img.src + return map + }, {}) + + + function checkScheme(scheme) { + if (THEME_LIGHT === false) return "dark" + if (THEME_DARK === false) return "light" + return scheme + } + + function loadScheme() { + return localStorage.getItem(PERSISTENCE_KEY) || loadDefaultScheme() + } + + function loadDefaultScheme() { + return THEME_DEFAULT || "system" + } + + function saveScheme(scheme) { + localStorage.setItem(PERSISTENCE_KEY, scheme) + } + + function getPreferredColorScheme() { + const isDarkMode = window.matchMedia("(prefers-color-scheme: dark)").matches; + return isDarkMode ? "dark" : "light"; + } + + function setScheme(newScheme) { + let theme = newScheme + if (newScheme === 'system') { + theme = getPreferredColorScheme() + } + // set data-theme attribute on html tag + document.querySelector("html").dataset.theme = theme; + + // update icon + $icon.src = iconMap[newScheme] + + // save preference to local storage + saveScheme(newScheme) + + setImages(theme) + } + + const checkedScheme = checkScheme(loadScheme()) + setScheme(checkedScheme) + + Array.from(menu.getElementsByTagName('a')).forEach((btn) => { + btn.addEventListener('click', () => { + const { scheme } = btn.dataset + setScheme(scheme) + }) + }) +}) + +function setImages(newScheme) { + const els = Array.from(document.getElementsByClassName('logo-holder')); + for (const el of els) { + const light = el.querySelector('.light-logo'); + const dark = el.querySelector('.dark-logo'); + + if (newScheme === "dark" && dark !== null) { + if (light !== null) light.style.display = 'none' + dark.style.display = 'inline' + } + else { + if (light !== null) light.style.display = 'inline' + if (dark !== null) dark.style.display = 'none' + } + } +} diff --git a/assets/scripts/pages/search.js b/assets/scripts/pages/search.js index 87cd0c5..64770b4 100644 --- a/assets/scripts/pages/search.js +++ b/assets/scripts/pages/search.js @@ -7,7 +7,7 @@ window.addEventListener('DOMContentLoaded', () => { const fuseOptions = { shouldSort: true, includeMatches: true, - threshold: 0.0, + threshold: 0.1, tokenize: true, location: 0, distance: 100, diff --git a/assets/scripts/pages/single.js b/assets/scripts/pages/single.js index 717ae6d..c145c53 100644 --- a/assets/scripts/pages/single.js +++ b/assets/scripts/pages/single.js @@ -15,7 +15,7 @@ window.addEventListener('DOMContentLoaded', () => { } } - // =============== Make TOC Compatible wit Bootstrap Scroll Spy ======== + // =============== Make TOC Compatible with Bootstrap Scroll Spy ======== // add "navbar" class to the "nav" element const toc = document.getElementById('TableOfContents') if (toc) { diff --git a/assets/scripts/sections/achievements.js b/assets/scripts/sections/achievements.js index 1ba49fc..e835875 100644 --- a/assets/scripts/sections/achievements.js +++ b/assets/scripts/sections/achievements.js @@ -1,6 +1,6 @@ import { getDeviceState } from '../core' -function fourColumRow (gallery, entries, i) { +function fourColumnRow (gallery, entries, i) { const entry1 = document.createElement('div') entry1.classList.add('col-lg-6', 'm-0', 'p-0') entry1.appendChild(entries[i].cloneNode(true)) @@ -140,7 +140,7 @@ function showAchievements () { if (isLaptop) { if (i + 4 <= len) { if (rowNumber % 2) { - fourColumRow(gallery, entries, i) + fourColumnRow(gallery, entries, i) } else { fourColumnReversedRow(gallery, entries, i) } diff --git a/assets/scripts/sections/index.js b/assets/scripts/sections/index.js index 57dc9fe..f453163 100644 --- a/assets/scripts/sections/index.js +++ b/assets/scripts/sections/index.js @@ -4,4 +4,5 @@ import './sidebar' import './education' import './achievements' import './projects' +import './skills' import './publications' diff --git a/assets/scripts/sections/navbar.js b/assets/scripts/sections/navbar.js index 0a1b221..9a1dc43 100644 --- a/assets/scripts/sections/navbar.js +++ b/assets/scripts/sections/navbar.js @@ -54,8 +54,9 @@ document.addEventListener('DOMContentLoaded', function () { const navMain = document.getElementsByClassName('navbar-collapse') Array.from(navMain).forEach(function (el) { el.addEventListener('click', function (e) { - if (e.target.tagName === 'A') { + if (e.target.tagName === 'A' && !e.target.classList.contains("dropdown-toggle")) { el.classList.add('collapse') + el.classList.remove('show') } }) }) diff --git a/assets/scripts/sections/skills.js b/assets/scripts/sections/skills.js new file mode 100644 index 0000000..4696e09 --- /dev/null +++ b/assets/scripts/sections/skills.js @@ -0,0 +1,15 @@ +import Filterizr from 'filterizr' + +document.addEventListener('DOMContentLoaded', () => { + // ================== Skill cards ===================== + + // setup skill filter buttons + const skillCardHolder = document.getElementById('skill-card-holder') + if (skillCardHolder != null && skillCardHolder.children.length !== 0) { + // eslint-disable-next-line no-new + new Filterizr('.filtr-skills', { + layout: 'sameWidth', + controlsSelector: '.skill-filtr-control' + }) + } +}) diff --git a/assets/styles/components/buttons.scss b/assets/styles/components/buttons.scss index 0d7283e..d2859e3 100644 --- a/assets/styles/components/buttons.scss +++ b/assets/styles/components/buttons.scss @@ -49,6 +49,15 @@ color: get-light-color('muted-text-color'); } +.navbar-toggler { + border: none; + &:focus { + border: none; + outline: none !important; + box-shadow: none; + } +} + .tags { text-align: left; padding-top: 0.5em; @@ -93,6 +102,40 @@ } } +.copy-code-button { + float: right; + margin-top: 0.5em; + margin-left: -2.6em; + margin-right: 3em; + + background-color: get-light-color('text-color') !important; + color: get-light-color('inverse-text-color') !important; + padding: 0.25rem 0.5rem; + line-height: 1.5; + border-radius: 0.2rem; + border: none; + + &:hover, + &:focus { + background-color: get-light-color('accent-color') !important; + color: get-light-color('text-over-accent-color') !important; + @include transition(); + } + &:focus { + &::before { + content: 'Copied!'; + position: absolute; + padding: 0.3em; + border-radius: 0.2em; + margin-left: -5em; + margin-top: -0.2em; + background-color: get-light-color('accent-color') !important; + color: get-light-color('text-over-accent-color') !important; + @include transition(); + } + } +} + html[data-theme='dark'] { .btn-dark { background-color: get-dark-color('accent-color') !important; @@ -160,4 +203,15 @@ html[data-theme='dark'] { background-color: get-dark-color('hover-over-accent-color') !important; } } + .copy-code-button { + background-color: get-dark-color('bg-primary') !important; + color: get-dark-color('muted-text-color') !important; + + &:hover, + &:focus, + &::before { + background-color: get-dark-color('accent-color') !important; + color: get-dark-color('text-over-accent-color') !important; + } + } } diff --git a/assets/styles/components/cards.scss b/assets/styles/components/cards.scss index 41ec9d1..d74110e 100644 --- a/assets/styles/components/cards.scss +++ b/assets/styles/components/cards.scss @@ -9,6 +9,11 @@ box-shadow: $box-shadow; border: 1px solid get-light-color('bg-primary'); @include transition(); + .card-img-top { + transform: scale(1.2); + object-fit: cover; + @include transition(); + } } .card-head { @@ -17,12 +22,17 @@ overflow: hidden; } + .card-title { + font-size: large; + } + .card-body { - text-align: justify; + text-align: left; } .card-img-top { - object-fit: cover; + -o-object-fit: cover; + object-fit: cover; @include transition(); } @@ -50,6 +60,7 @@ .post-card-link { text-decoration: none !important; + color: get-light-color('text-color'); } .card { @@ -60,7 +71,8 @@ &:focus { .card-img-top { transform: scale(1.2); - object-fit: cover; + -o-object-fit: cover; + object-fit: cover; @include transition(); } } diff --git a/assets/styles/components/images.scss b/assets/styles/components/images.scss index 146ea8b..8a35409 100644 --- a/assets/styles/components/images.scss +++ b/assets/styles/components/images.scss @@ -55,4 +55,22 @@ html[data-theme='dark'] { .company-logo { max-height: 100%; width: auto; -} \ No newline at end of file +} + +.light-logo { + display: inline; +} + +.dark-logo { + display: none; +} + +html[data-theme='dark'] { + .light-logo { + display: none; + } + + .dark-logo { + display: inline; + } +} diff --git a/assets/styles/components/links.scss b/assets/styles/components/links.scss index 61369a2..fdc0f4f 100644 --- a/assets/styles/components/links.scss +++ b/assets/styles/components/links.scss @@ -2,9 +2,14 @@ a { color: get-light-color('accent-color'); @include transition(); + &:link { + text-decoration: none; + } + &:hover, &:focus { - text-decoration: get-light-color('hover-over-accent-color') underline; + -webkit-text-decoration: get-light-color('hover-over-accent-color') underline; + text-decoration: get-light-color('hover-over-accent-color') underline; color: get-light-color('hover-over-accent-color'); @include transition(); } @@ -62,7 +67,8 @@ html[data-theme='dark'] { &:hover, &:focus { - text-decoration: get-dark-color('hover-over-accent-color') underline; + -webkit-text-decoration: get-dark-color('hover-over-accent-color') underline; + text-decoration: get-dark-color('hover-over-accent-color') underline; color: get-dark-color('hover-over-accent-color'); } } diff --git a/assets/styles/components/tables.scss b/assets/styles/components/tables.scss index 0c8a069..a9b5a00 100644 --- a/assets/styles/components/tables.scss +++ b/assets/styles/components/tables.scss @@ -96,6 +96,10 @@ html[data-theme='dark'] { } } .gist { + &::-moz-selection{ + background: get-dark-color('text-color'); + color: get-dark-color('inverse-text-color'); + } &::selection{ background: get-dark-color('text-color'); color: get-dark-color('inverse-text-color'); diff --git a/assets/styles/components/texts.scss b/assets/styles/components/texts.scss index 72c727d..344509e 100644 --- a/assets/styles/components/texts.scss +++ b/assets/styles/components/texts.scss @@ -12,7 +12,7 @@ strong { p { color: get-light-color('text-color'); - text-align: justify; + text-align: left; text-justify: inter-word; } @@ -33,6 +33,10 @@ blockquote { } } +.text-justify { + text-align: justify; +} + .text-muted { color: get-light-color('muted-text-color') !important; } @@ -72,7 +76,8 @@ html[data-theme='dark'] { h2, h3, h4, - h5 { + h5, + h6 { color: get-dark-color('heading-color'); } diff --git a/assets/styles/layouts/list.scss b/assets/styles/layouts/list.scss index 56beb92..f3a33aa 100644 --- a/assets/styles/layouts/list.scss +++ b/assets/styles/layouts/list.scss @@ -1,6 +1,6 @@ -// in Hugo, Page kind can be either "section" or "page". -// if it is section, then it's a page with a list of items, for example /posts -// if it is page, then it is a single page. +/* in Hugo, Page kind can be either "section" or "page".*/ +/* if it is section, then it's a page with a list of items, for example /posts*/ +/* if it is page, then it is a single page.*/ body.kind-section, body.kind-term, body.kind-page { diff --git a/assets/styles/layouts/main.scss b/assets/styles/layouts/main.scss index eb30ce8..509c313 100644 --- a/assets/styles/layouts/main.scss +++ b/assets/styles/layouts/main.scss @@ -53,7 +53,6 @@ body { ol > ol, li > ol, li > ul { - -webkit-padding-start: 1rem; padding-inline-start: 1rem; } } diff --git a/assets/styles/layouts/single.scss b/assets/styles/layouts/single.scss index f5aecf4..e2fe4b2 100644 --- a/assets/styles/layouts/single.scss +++ b/assets/styles/layouts/single.scss @@ -184,6 +184,7 @@ body.kind-page { #scroll-to-top { position: fixed; + border: none; bottom: 0rem; right: 1rem; color: get-light-color('accent-color'); diff --git a/assets/styles/navigators/navbar.scss b/assets/styles/navigators/navbar.scss index b85d53e..7ed88c9 100644 --- a/assets/styles/navigators/navbar.scss +++ b/assets/styles/navigators/navbar.scss @@ -27,6 +27,7 @@ .navbar-brand { color: get-light-color('heading-color'); + text-decoration: none !important; font-weight: 600; img { width: 42px; diff --git a/assets/styles/override.scss b/assets/styles/override.scss index 7772f02..2fcf713 100644 --- a/assets/styles/override.scss +++ b/assets/styles/override.scss @@ -1,6 +1,6 @@ /* override this file for custom css */ -/* you can import boostrap mixins */ +/* you can import bootstrap mixins */ // @import 'bootstrap/scss/mixins'; // Example usage // .some-class { diff --git a/assets/styles/sections/education.scss b/assets/styles/sections/education.scss index 8188844..7717185 100644 --- a/assets/styles/sections/education.scss +++ b/assets/styles/sections/education.scss @@ -229,6 +229,11 @@ html[data-theme='dark'] { border-left: 2px solid get-dark-color('accent-color'); } } + .custom-section { + .custom-content { + color: get-dark-color('text-color'); + } + } } } } diff --git a/assets/styles/sections/experiences.scss b/assets/styles/sections/experiences.scss index aae541b..367a9f6 100644 --- a/assets/styles/sections/experiences.scss +++ b/assets/styles/sections/experiences.scss @@ -32,14 +32,14 @@ &::after { content: ''; - position: absolute; + position: relative; border-left: 3px solid get-light-color('accent-color'); z-index: 1; height: 100%; - left: 50%; + left: -23px; } &:nth-child(even)::after { - left: calc(50% - 3px) !important; + left: -26px; } } .horizontal-line { @@ -52,6 +52,7 @@ margin: 0; top: 17px; position: relative; + opacity: 1; } .timeline-side-div { display: flex; diff --git a/assets/styles/sections/footer.scss b/assets/styles/sections/footer.scss index 112bfda..6ddbf39 100644 --- a/assets/styles/sections/footer.scss +++ b/assets/styles/sections/footer.scss @@ -13,7 +13,8 @@ @include transition(); &:hover { margin-left: 5px; - text-decoration: get-light-color('muted-text-color') underline; + -webkit-text-decoration: get-light-color('muted-text-color') underline; + text-decoration: get-light-color('muted-text-color') underline; @include transition(); } } @@ -79,7 +80,8 @@ html[data-theme='dark'] { a { color: get-dark-color('muted-text-color'); &:hover { - text-decoration: get-dark-color('muted-text-color') underline; + -webkit-text-decoration: get-dark-color('muted-text-color') underline; + text-decoration: get-dark-color('muted-text-color') underline; } } @@ -95,6 +97,10 @@ html[data-theme='dark'] { background-color: get-dark-color('bg-primary'); &:focus { background-color: get-dark-color('bg-secondary'); + color: get-dark-color('text-color'); + } + &::placeholder { + color: get-dark-color('muted-text-color'); } } diff --git a/assets/styles/sections/pdf-viewer.scss b/assets/styles/sections/pdf-viewer.scss index 44b700f..948c080 100644 --- a/assets/styles/sections/pdf-viewer.scss +++ b/assets/styles/sections/pdf-viewer.scss @@ -42,7 +42,4 @@ @keyframes spin { to { -webkit-transform: rotate(360deg); } } - @-webkit-keyframes spin { - to { -webkit-transform: rotate(360deg); } - } } \ No newline at end of file diff --git a/assets/styles/sections/publications.scss b/assets/styles/sections/publications.scss index ae76079..e666b3a 100644 --- a/assets/styles/sections/publications.scss +++ b/assets/styles/sections/publications.scss @@ -24,6 +24,14 @@ float: right !important; } } + + a[href] { + text-decoration: underline; /* Underline only when href is present */ + } + + a:not([href]) { + text-decoration: none; /* No underline when href is absent */ + } } .card-body { diff --git a/content/notes/search.bn.md b/content/notes/search.bn.md index ba89a8a..4ff1787 100644 --- a/content/notes/search.bn.md +++ b/content/notes/search.bn.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.cn.md b/content/notes/search.cn.md index a694d38..3965696 100644 --- a/content/notes/search.cn.md +++ b/content/notes/search.cn.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.de.md b/content/notes/search.de.md index a694d38..3965696 100644 --- a/content/notes/search.de.md +++ b/content/notes/search.de.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.fr.md b/content/notes/search.fr.md index a694d38..3965696 100644 --- a/content/notes/search.fr.md +++ b/content/notes/search.fr.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.hi.md b/content/notes/search.hi.md index a694d38..3965696 100644 --- a/content/notes/search.hi.md +++ b/content/notes/search.hi.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.id.md b/content/notes/search.id.md index a694d38..3965696 100644 --- a/content/notes/search.id.md +++ b/content/notes/search.id.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.it.md b/content/notes/search.it.md index a694d38..3965696 100644 --- a/content/notes/search.it.md +++ b/content/notes/search.it.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.jp.md b/content/notes/search.jp.md index a694d38..3965696 100644 --- a/content/notes/search.jp.md +++ b/content/notes/search.jp.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.ko.md b/content/notes/search.ko.md index a694d38..3965696 100644 --- a/content/notes/search.ko.md +++ b/content/notes/search.ko.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.md b/content/notes/search.md index d8fe7e9..349c9a4 100644 --- a/content/notes/search.md +++ b/content/notes/search.md @@ -24,7 +24,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.ru.md b/content/notes/search.ru.md index a694d38..3965696 100644 --- a/content/notes/search.ru.md +++ b/content/notes/search.ru.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/notes/search.vn.md b/content/notes/search.vn.md index a694d38..3965696 100644 --- a/content/notes/search.vn.md +++ b/content/notes/search.vn.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.bn.md b/content/search/search.bn.md index ba89a8a..4ff1787 100644 --- a/content/search/search.bn.md +++ b/content/search/search.bn.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.cn.md b/content/search/search.cn.md index a694d38..3965696 100644 --- a/content/search/search.cn.md +++ b/content/search/search.cn.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.de.md b/content/search/search.de.md index a694d38..783188f 100644 --- a/content/search/search.de.md +++ b/content/search/search.de.md @@ -1,5 +1,5 @@ --- -title: "Search Results" +title: "Suchergebnisse" date: 2010-06-08T08:06:25+06:00 weight: 999999 sitemap: @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.fr.md b/content/search/search.fr.md index a694d38..3965696 100644 --- a/content/search/search.fr.md +++ b/content/search/search.fr.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.hi.md b/content/search/search.hi.md index a694d38..3965696 100644 --- a/content/search/search.hi.md +++ b/content/search/search.hi.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.id.md b/content/search/search.id.md index a694d38..3965696 100644 --- a/content/search/search.id.md +++ b/content/search/search.id.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.it.md b/content/search/search.it.md index a694d38..3965696 100644 --- a/content/search/search.it.md +++ b/content/search/search.it.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.jp.md b/content/search/search.jp.md index a694d38..3965696 100644 --- a/content/search/search.jp.md +++ b/content/search/search.jp.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.ko.md b/content/search/search.ko.md index a694d38..3965696 100644 --- a/content/search/search.ko.md +++ b/content/search/search.ko.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.md b/content/search/search.md index a694d38..3965696 100644 --- a/content/search/search.md +++ b/content/search/search.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.ru.md b/content/search/search.ru.md index a694d38..3965696 100644 --- a/content/search/search.ru.md +++ b/content/search/search.ru.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/content/search/search.vn.md b/content/search/search.vn.md index a694d38..3965696 100644 --- a/content/search/search.vn.md +++ b/content/search/search.vn.md @@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml home = ["HTML", "JSON"] \``` -## Searching additional fileds +## Searching additional fields To search additional fields defined in front matter, you must add it in 2 places. diff --git a/data/toha/styles.yml b/data/toha/styles.yml index 3a31c8e..068cafa 100644 --- a/data/toha/styles.yml +++ b/data/toha/styles.yml @@ -1,6 +1,6 @@ flags: styles: - - flag-icon-css/css/flag-icons + - flag-icons/css/flag-icons videoplayer: services: diff --git a/exampleSite/go.mod b/exampleSite/go.mod index e2b9b7c..c28c42c 100644 --- a/exampleSite/go.mod +++ b/exampleSite/go.mod @@ -1,10 +1,10 @@ module github.com/hugo-toha/toha/exampleSite -go 1.19 - -require ( - github.com/hugo-toha/hugo-toha.github.io v0.0.0-20231031082630-2c32a26d2207 // indirect - github.com/hugo-toha/toha/v4 v4.0.0-20231113175302-e5230e8c93d8 // indirect -) +go 1.21 replace github.com/hugo-toha/toha/v4 => ../ + +require ( + github.com/hugo-toha/hugo-toha.github.io v0.0.0-20241018183051-dd13c36f46b4 // indirect + github.com/hugo-toha/toha/v4 v4.7.0 // indirect +) diff --git a/exampleSite/go.sum b/exampleSite/go.sum index 9101a35..421c6a1 100644 --- a/exampleSite/go.sum +++ b/exampleSite/go.sum @@ -1,2 +1,2 @@ -github.com/hugo-toha/hugo-toha.github.io v0.0.0-20231031082630-2c32a26d2207 h1:T71lEaGpHYpdy8yKM5vaVwm+CJGt8wjHvPgVM+GjCJM= -github.com/hugo-toha/hugo-toha.github.io v0.0.0-20231031082630-2c32a26d2207/go.mod h1:aTn1lQX1rbcbfbwNuWHG/L5DPtD+bEzQro49QyFlbEg= +github.com/hugo-toha/hugo-toha.github.io v0.0.0-20241018183051-dd13c36f46b4 h1:Yc5SJ5NJx1xu3YO2gQZPeADXqhGdJgUGWiDxgEDuUrQ= +github.com/hugo-toha/hugo-toha.github.io v0.0.0-20241018183051-dd13c36f46b4/go.mod h1:3N7k1DSQGy5Zn5IVp5nQ3QJ/VWh5dSxXO6stUS7txrg= diff --git a/exampleSite/config.yaml b/exampleSite/hugo.yaml similarity index 86% rename from exampleSite/config.yaml rename to exampleSite/hugo.yaml index 1db84ff..ee01e39 100644 --- a/exampleSite/config.yaml +++ b/exampleSite/hugo.yaml @@ -1,4 +1,3 @@ - baseURL: http://example.org/ languageCode: en-us title: Example Site @@ -22,7 +21,7 @@ module: mounts: - source: static/files target: static/files - - source: ./node_modules/flag-icon-css/flags + - source: ./node_modules/flag-icons/flags target: static/flags - source: ./node_modules/@fontsource/mulish/files target: static/files @@ -33,14 +32,18 @@ module: # For any more details, you can check the official documentation: https://gohugo.io/content-management/multilingual/ languages: en: + languageCode: en languageName: English + title: "John's Blog" weight: 1 bn: + languageCode: bn languageName: বাংলা - weight: 3 + title: "জনের ব্লগ" + weight: 2 -# Force a locale to be use, really useful to develop the application ! Should be commented in production, the "weight" should rocks. -# DefaultContentLanguage: bn +# default language for the content +defaultContentLanguage: en # Allow raw html in markdown file markup: @@ -60,6 +63,12 @@ outputs: - RSS - JSON +# Configure custom path for RSS feed. Default is "index.xml" +# Ref: https://gohugo.io/templates/output-formats/ +outputFormats: + rss: + baseName: rss # default is index + # Enable global emoji support enableEmoji: true @@ -89,7 +98,20 @@ params: # Enable dark theme darkMode: + + # [Deprecated] Enable dark theme + # This is a deprecated setting, but has not been removed to maintain backward compatibility + # If `theme` is set, the `darkMode` setting will be discarded. + # darkMode: + # enable: true + + # Configure theme color settings + theme: enable: true + services: + light: true # enable light theme. default "true" + dark: true # enable dark theme. default "true" + default: system # can be either light, dark or system. default "system" # Enable and configure portfolio portfolio: @@ -170,7 +192,16 @@ params: # matomo: # instance: matomo.example.com # siteId: 1 # Or any other number - + # # Umami + # umami: + # scheme: https + # instance: umami.example.com + # id: + # # Statcounter + # statcounter: + # project: 1234567890 + # invisible: 1 + # security: deadbeef # Enable Support support: enable: false @@ -265,12 +296,15 @@ params: plyr: # options doc: https://github.com/sampotts/plyr#options # fullscreen: true - + + # Enables copy code button + copyCodeButton: + enable: true + # Enable reading time support in post cards and in post pages readingTime: enable: true - # Provide footer configuration. footer: enable: true diff --git a/exampleSite/package-lock.json b/exampleSite/package-lock.json index 53e74af..00f9900 100644 --- a/exampleSite/package-lock.json +++ b/exampleSite/package-lock.json @@ -9,9 +9,9 @@ "version": "0.1.0", "devDependencies": { "@fontsource/mulish": "4.5.13", - "@fortawesome/fontawesome-free": "^6.2.0", - "autoprefixer": "^10.4.13", - "bootstrap": "^4.6.2", + "@fortawesome/fontawesome-free": "^6.6.0", + "autoprefixer": "^10.4.20", + "bootstrap": "^5.3.3", "eslint": "^8.31.0", "eslint-config-prettier": "^8.6.0", "eslint-config-standard": "^17.0.0", @@ -21,19 +21,19 @@ "eslint-plugin-promise": "^6.1.1", "feather-icons": "^4.29.1", "filterizr": "^2.2.4", - "flag-icon-css": "^4.1.7", + "flag-icons": "^7.2.3", "fuse.js": "^6.6.2", "highlight.js": "^11.6.0", "imagesloaded": "^5.0.0", "include-media": "^1.4.10", "ityped": "^1.0.3", - "katex": "^0.16.3", + "katex": "^0.16.11", "mark.js": "^8.11.1", - "mermaid": "^9.2.1", + "mermaid": "^11.6.0", "plyr": "^3.7.2", "popper.js": "^1.16.1", - "postcss": "^8.4.21", - "postcss-cli": "^8.3.1" + "postcss": "^8.4.41", + "postcss-cli": "^11.0.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -45,11 +45,80 @@ "node": ">=0.10.0" } }, + "node_modules/@antfu/install-pkg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.0.0.tgz", + "integrity": "sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "package-manager-detector": "^0.2.8", + "tinyexec": "^0.3.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@antfu/utils": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-8.1.1.tgz", + "integrity": "sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@braintree/sanitize-url": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", - "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", - "dev": true + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", + "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", + "dev": true, + "license": "Apache-2.0" }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", @@ -114,11 +183,11 @@ "dev": true }, "node_modules/@fortawesome/fontawesome-free": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.2.tgz", - "integrity": "sha512-m5cPn3e2+FDCOgi1mz0RexTUvvQibBebOUlUlW0+YrMjDTPkiJ6VTKukA1GRsvRw+12KyJndNjj0O4AgTxm2Pg==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", + "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", "dev": true, - "hasInstallScript": true, + "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", "engines": { "node": ">=6" } @@ -156,6 +225,53 @@ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.3.0.tgz", + "integrity": "sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.0.0", + "@antfu/utils": "^8.1.0", + "@iconify/types": "^2.0.0", + "debug": "^4.4.0", + "globals": "^15.14.0", + "kolorist": "^1.8.0", + "local-pkg": "^1.0.0", + "mlly": "^1.7.4" + } + }, + "node_modules/@iconify/utils/node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mermaid-js/parser": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.4.0.tgz", + "integrity": "sha512-wla8XOWvQAwuqy+gxiZqY+c7FokraOTHRWMsbB4AgRx9Sy7zKslNyejy7E+a77qHfey5GXw/ik3IXv/NHMJgaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "langium": "3.3.1" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -191,12 +307,335 @@ "node": ">= 8" } }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "dev": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", @@ -204,10 +643,11 @@ "dev": true }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -315,15 +755,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/array.prototype.findlastindex": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", @@ -400,19 +831,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -428,12 +850,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -474,9 +897,9 @@ } }, "node_modules/bootstrap": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz", - "integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", "dev": true, "funding": [ { @@ -489,8 +912,7 @@ } ], "peerDependencies": { - "jquery": "1.9.1 - 3", - "popper.js": "^1.16.1" + "@popperjs/core": "^2.11.8" } }, "node_modules/brace-expansion": { @@ -504,21 +926,22 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -534,11 +957,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -595,9 +1019,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001563", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz", - "integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==", + "version": "1.0.30001655", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", "dev": true, "funding": [ { @@ -612,7 +1036,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "4.1.2", @@ -630,6 +1055,34 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -676,14 +1129,18 @@ "dev": true }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/color-convert": { @@ -719,6 +1176,13 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "dev": true, + "license": "MIT" + }, "node_modules/core-js": { "version": "3.33.3", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.3.tgz", @@ -740,10 +1204,11 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -760,14 +1225,11 @@ "dev": true }, "node_modules/cytoscape": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.27.0.tgz", - "integrity": "sha512-pPZJilfX9BxESwujODz5pydeGi+FBrXq1rcaB1mfhFXXFJ9GjE6CNndAk+8jPzoXGD+16LtSS4xlYEIUiW4Abg==", + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.30.2.tgz", + "integrity": "sha512-oICxQsjW8uSaRmn4UK/jkczKOqTrVqt5/1WL0POiJUT2EKNc9STM4hYFHv917yu55aTBMFNRzymlJhVAiWPCxw==", "dev": true, - "dependencies": { - "heap": "^0.2.6", - "lodash": "^4.17.21" - }, + "license": "MIT", "engines": { "node": ">=0.10" } @@ -812,10 +1274,11 @@ "dev": true }, "node_modules/d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", "dev": true, + "license": "ISC", "dependencies": { "d3-array": "3", "d3-axis": "3", @@ -857,6 +1320,7 @@ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", "dev": true, + "license": "ISC", "dependencies": { "internmap": "1 - 2" }, @@ -869,6 +1333,7 @@ "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -878,6 +1343,7 @@ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", "dev": true, + "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", @@ -894,6 +1360,7 @@ "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", "dev": true, + "license": "ISC", "dependencies": { "d3-path": "1 - 3" }, @@ -906,6 +1373,7 @@ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -915,6 +1383,7 @@ "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", "dev": true, + "license": "ISC", "dependencies": { "d3-array": "^3.2.0" }, @@ -927,6 +1396,7 @@ "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", "dev": true, + "license": "ISC", "dependencies": { "delaunator": "5" }, @@ -939,6 +1409,7 @@ "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -948,6 +1419,7 @@ "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", "dev": true, + "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-selection": "3" @@ -961,6 +1433,7 @@ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", "dev": true, + "license": "ISC", "dependencies": { "commander": "7", "iconv-lite": "0.6", @@ -986,6 +1459,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } @@ -995,6 +1469,7 @@ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=12" } @@ -1004,6 +1479,7 @@ "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", "dev": true, + "license": "ISC", "dependencies": { "d3-dsv": "1 - 3" }, @@ -1016,6 +1492,7 @@ "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", "dev": true, + "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-quadtree": "1 - 3", @@ -1030,15 +1507,17 @@ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", "dev": true, + "license": "ISC", "dependencies": { "d3-array": "2.5.0 - 3" }, @@ -1051,6 +1530,7 @@ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -1060,6 +1540,7 @@ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "dev": true, + "license": "ISC", "dependencies": { "d3-color": "1 - 3" }, @@ -1072,6 +1553,7 @@ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -1081,6 +1563,7 @@ "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -1090,6 +1573,7 @@ "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -1099,15 +1583,62 @@ "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "dev": true, + "license": "ISC" + }, "node_modules/d3-scale": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "dev": true, + "license": "ISC", "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", @@ -1120,10 +1651,11 @@ } }, "node_modules/d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", "dev": true, + "license": "ISC", "dependencies": { "d3-color": "1 - 3", "d3-interpolate": "1 - 3" @@ -1137,6 +1669,7 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -1146,6 +1679,7 @@ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", "dev": true, + "license": "ISC", "dependencies": { "d3-path": "^3.1.0" }, @@ -1158,6 +1692,7 @@ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", "dev": true, + "license": "ISC", "dependencies": { "d3-array": "2 - 3" }, @@ -1170,6 +1705,7 @@ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "dev": true, + "license": "ISC", "dependencies": { "d3-time": "1 - 3" }, @@ -1182,6 +1718,7 @@ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -1191,6 +1728,7 @@ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", "dev": true, + "license": "ISC", "dependencies": { "d3-color": "1 - 3", "d3-dispatch": "1 - 3", @@ -1210,6 +1748,7 @@ "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", "dev": true, + "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", @@ -1222,28 +1761,31 @@ } }, "node_modules/dagre-d3-es": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.9.tgz", - "integrity": "sha512-rYR4QfVmy+sR44IBDvVtcAmOReGBvRCWDpO2QjYwqgh9yijw6eSHBqaPG/LIOEy7aBsniLvtMW6pg19qJhq60w==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.11.tgz", + "integrity": "sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==", "dev": true, + "license": "MIT", "dependencies": { - "d3": "^7.8.2", + "d3": "^7.9.0", "lodash-es": "^4.17.21" } }, "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", - "dev": true + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "dev": true, + "license": "MIT" }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -1292,35 +1834,25 @@ } }, "node_modules/delaunator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", - "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", "dev": true, + "license": "ISC", "dependencies": { - "robust-predicates": "^3.0.0" + "robust-predicates": "^3.0.2" } }, "node_modules/dependency-graph": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", - "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1334,28 +1866,28 @@ } }, "node_modules/dompurify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz", - "integrity": "sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==", - "dev": true + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.5.tgz", + "integrity": "sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==", + "dev": true, + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } }, "node_modules/electron-to-chromium": { - "version": "1.4.589", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.589.tgz", - "integrity": "sha512-zF6y5v/YfoFIgwf2dDfAqVlPPsyQeWNpEWXbAlDUS8Ax4Z2VoiiZpAPC0Jm9hXEkJm2vIZpwB6rc4KnLTQffbQ==", - "dev": true - }, - "node_modules/elkjs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", - "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==", - "dev": true + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/es-abstract": { "version": "1.22.3", @@ -1451,10 +1983,11 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1889,6 +2422,13 @@ "integrity": "sha512-jQ5Ql18hdCQ4qS+RCrbLfz1n+Pags27q5TwMKvZyhp5hh2UULUYZUy1keqj6k6SYsdqIYjnmz7xyyEY0V67B8Q==", "dev": true }, + "node_modules/exsolve": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.4.tgz", + "integrity": "sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1900,6 +2440,7 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -1916,6 +2457,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1973,10 +2515,11 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2025,12 +2568,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flag-icon-css": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/flag-icon-css/-/flag-icon-css-4.1.7.tgz", - "integrity": "sha512-AFjSU+fv98XbU0vnTQ32vcLj89UEr1MhwDFcooQv14qWJCjg9fGZzfh9BVyDhAhIOZW/pGmJmq38RqpgPaeybQ==", - "deprecated": "The project has been renamed to flag-icons", - "dev": true + "node_modules/flag-icons": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/flag-icons/-/flag-icons-7.2.3.tgz", + "integrity": "sha512-X2gUdteNuqdNqob2KKTJTS+ZCvyWeLCtDz9Ty8uJP17Y4o82Y+U/Vd4JNrdwTAjagYsRznOn9DZ+E/Q52qbmqg==", + "dev": true, + "license": "MIT" }, "node_modules/flat-cache": { "version": "3.2.0", @@ -2075,18 +2618,18 @@ } }, "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, + "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.14" } }, "node_modules/fs.realpath": { @@ -2159,6 +2702,7 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -2179,12 +2723,13 @@ } }, "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2269,20 +2814,21 @@ } }, "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, + "license": "MIT", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2304,7 +2850,8 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", @@ -2312,6 +2859,13 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "dev": true, + "license": "MIT" + }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -2393,12 +2947,6 @@ "node": ">= 0.4" } }, - "node_modules/heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", - "dev": true - }, "node_modules/highlight.js": { "version": "11.9.0", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", @@ -2413,6 +2961,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -2504,6 +3053,7 @@ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -2615,6 +3165,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -2648,6 +3199,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -2779,13 +3331,6 @@ "integrity": "sha512-46Qnh3qs+6EJlWDHmvWRW6qiz5jFy2mkh9UvtTvQmLJMZIjKrdz4du68le7hLX4tAWCp6QTKiq/OuLv6huHxZg==", "dev": true }, - "node_modules/jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", - "dev": true, - "peer": true - }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -2833,6 +3378,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -2841,9 +3387,9 @@ } }, "node_modules/katex": { - "version": "0.16.9", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz", - "integrity": "sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==", + "version": "0.16.21", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.21.tgz", + "integrity": "sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==", "dev": true, "funding": [ "https://opencollective.com/katex", @@ -2871,6 +3417,30 @@ "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==", "dev": true }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/langium": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz", + "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/layout-base": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", @@ -2891,12 +3461,16 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/loadjs": { @@ -2905,6 +3479,24 @@ "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==", "dev": true }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -2920,17 +3512,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -2956,46 +3543,66 @@ "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", "dev": true }, + "node_modules/marked": { + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.8.tgz", + "integrity": "sha512-rli4l2LyZqpQuRve5C0rkn6pj3hT8EWPC+zkAxFTAJLxRbENfTAhEQq9itrmf1Y81QtAX5D/MYlGlIomNgj9lA==", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/mermaid": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-9.4.3.tgz", - "integrity": "sha512-TLkQEtqhRSuEHSE34lh5bCa94KATCyluAXmFnNI2PRZwOpXFeqiJWwZl+d2CcemE1RS6QbbueSSq9QIg8Uxcyw==", + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.6.0.tgz", + "integrity": "sha512-PE8hGUy1LDlWIHWBP05SFdqUHGmRcCcK4IzpOKPE35eOw+G9zZgcnMpyunJVUEOgb//KBORPjysKndw8bFLuRg==", "dev": true, + "license": "MIT", "dependencies": { - "@braintree/sanitize-url": "^6.0.0", - "cytoscape": "^3.23.0", + "@braintree/sanitize-url": "^7.0.4", + "@iconify/utils": "^2.1.33", + "@mermaid-js/parser": "^0.4.0", + "@types/d3": "^7.4.3", + "cytoscape": "^3.29.3", "cytoscape-cose-bilkent": "^4.1.0", - "cytoscape-fcose": "^2.1.0", - "d3": "^7.4.0", - "dagre-d3-es": "7.0.9", - "dayjs": "^1.11.7", - "dompurify": "2.4.3", - "elkjs": "^0.8.2", - "khroma": "^2.0.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.11", + "dayjs": "^1.11.13", + "dompurify": "^3.2.4", + "katex": "^0.16.9", + "khroma": "^2.1.0", "lodash-es": "^4.17.21", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.2", + "marked": "^15.0.7", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" + "uuid": "^11.1.0" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -3023,16 +3630,49 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, "funding": [ { @@ -3040,6 +3680,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -3054,16 +3695,11 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "node_modules/non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", - "dev": true + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -3221,6 +3857,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-manager-detector": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.11.tgz", + "integrity": "sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "quansync": "^0.2.7" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -3233,6 +3879,13 @@ "node": ">=6" } }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "dev": true, + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3267,19 +3920,31 @@ "dev": true }, "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -3302,6 +3967,18 @@ "node": ">=0.10.0" } }, + "node_modules/pkg-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz", + "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.2.1", + "exsolve": "^1.0.1", + "pathe": "^2.0.3" + } + }, "node_modules/plyr": { "version": "3.7.8", "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.8.tgz", @@ -3315,6 +3992,24 @@ "url-polyfill": "^1.1.12" } }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "dev": true, + "license": "MIT" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, "node_modules/popper.js": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", @@ -3327,9 +4022,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "funding": [ { @@ -3345,69 +4040,82 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-cli": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-8.3.1.tgz", - "integrity": "sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.0.tgz", + "integrity": "sha512-xMITAI7M0u1yolVcXJ9XTZiO9aO49mcoKQy6pCDFdMh9kGqhzLVpWxeD/32M/QBmkhcGypZFFOLNLmIW4Pg4RA==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", "chokidar": "^3.3.0", - "dependency-graph": "^0.9.0", - "fs-extra": "^9.0.0", - "get-stdin": "^8.0.0", - "globby": "^11.0.0", - "postcss-load-config": "^3.0.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^11.0.0", + "get-stdin": "^9.0.0", + "globby": "^14.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^5.0.0", "postcss-reporter": "^7.0.0", "pretty-hrtime": "^1.0.3", "read-cache": "^1.0.0", - "slash": "^3.0.0", - "yargs": "^16.0.0" + "slash": "^5.0.0", + "yargs": "^17.0.0" }, "bin": { - "postcss": "bin/postcss" + "postcss": "index.js" }, "engines": { - "node": ">=10" + "node": ">=18" }, "peerDependencies": { "postcss": "^8.0.0" } }, "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz", + "integrity": "sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" + "lilconfig": "^3.1.1", + "yaml": "^2.4.2" }, "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 18" }, "peerDependencies": { + "jiti": ">=1.21.0", "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" + "tsx": "^4.8.1" }, "peerDependenciesMeta": { + "jiti": { + "optional": true + }, "postcss": { "optional": true }, - "ts-node": { + "tsx": { "optional": true } } @@ -3465,6 +4173,23 @@ "node": ">=6" } }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -3546,6 +4271,7 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3605,7 +4331,21 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", - "dev": true + "dev": true, + "license": "Unlicense" + }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } }, "node_modules/run-parallel": { "version": "1.2.0", @@ -3634,7 +4374,8 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/safe-array-concat": { "version": "1.0.1", @@ -3672,7 +4413,8 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/semver": { "version": "6.3.1", @@ -3748,19 +4490,24 @@ } }, "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3770,6 +4517,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -3858,10 +4606,11 @@ } }, "node_modules/stylis": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==", - "dev": true + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "dev": true, + "license": "MIT" }, "node_modules/supports-color": { "version": "7.2.0", @@ -3899,11 +4648,19 @@ "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", "dev": true }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, "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==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -4021,6 +4778,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true, + "license": "MIT" + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -4036,19 +4800,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -4064,9 +4842,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -4091,23 +4870,73 @@ "dev": true }, "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", "dev": true, "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist/esm/bin/uuid" } }, - "node_modules/web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", - "dev": true + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true, + "license": "MIT" }, "node_modules/which": { "version": "2.0.2", @@ -4164,6 +4993,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4187,6 +5017,7 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -4198,39 +5029,45 @@ "dev": true }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yocto-queue": { diff --git a/exampleSite/package.json b/exampleSite/package.json index 908bed9..08c33f5 100644 --- a/exampleSite/package.json +++ b/exampleSite/package.json @@ -15,7 +15,7 @@ "eslint-plugin-promise": "github.com/hugo-toha/toha/v4", "feather-icons": "github.com/hugo-toha/toha/v4", "filterizr": "github.com/hugo-toha/toha/v4", - "flag-icon-css": "github.com/hugo-toha/toha/v4", + "flag-icons": "github.com/hugo-toha/toha/v4", "fuse.js": "github.com/hugo-toha/toha/v4", "highlight.js": "github.com/hugo-toha/toha/v4", "imagesloaded": "github.com/hugo-toha/toha/v4", @@ -30,12 +30,11 @@ "postcss-cli": "github.com/hugo-toha/toha/v4" } }, - "dependencies": {}, "devDependencies": { "@fontsource/mulish": "4.5.13", - "@fortawesome/fontawesome-free": "^6.2.0", - "autoprefixer": "^10.4.13", - "bootstrap": "^4.6.2", + "@fortawesome/fontawesome-free": "^6.6.0", + "autoprefixer": "^10.4.20", + "bootstrap": "^5.3.3", "eslint": "^8.31.0", "eslint-config-prettier": "^8.6.0", "eslint-config-standard": "^17.0.0", @@ -45,19 +44,19 @@ "eslint-plugin-promise": "^6.1.1", "feather-icons": "^4.29.1", "filterizr": "^2.2.4", - "flag-icon-css": "^4.1.7", + "flag-icons": "^7.2.3", "fuse.js": "^6.6.2", "highlight.js": "^11.6.0", "imagesloaded": "^5.0.0", "include-media": "^1.4.10", "ityped": "^1.0.3", - "katex": "^0.16.3", + "katex": "^0.16.11", "mark.js": "^8.11.1", - "mermaid": "^9.2.1", + "mermaid": "^11.6.0", "plyr": "^3.7.2", "popper.js": "^1.16.1", - "postcss": "^8.4.21", - "postcss-cli": "^8.3.1" + "postcss": "^8.4.41", + "postcss-cli": "^11.0.0" }, "name": "exampleSite", "version": "0.1.0" diff --git a/go.mod b/go.mod index feccc71..66bf766 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ module github.com/hugo-toha/toha/v4 -go 1.19 +go 1.21 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..9837fd0 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/hugo-toha/hugo-toha.github.io v0.0.0-20240730212302-83b19f7bd3b7 h1:RRonNzaf6/Ou9PqfXeKiRywkd+9KY7SVgfGBQXqXshM= +github.com/hugo-toha/hugo-toha.github.io v0.0.0-20240730212302-83b19f7bd3b7/go.mod h1:yWw1t3trnfzv4t1lA9zh5pSsI0+kqqyg58ir8/kt6zk= diff --git a/config.yaml b/hugo.yaml similarity index 87% rename from config.yaml rename to hugo.yaml index d85daaa..41ac704 100644 --- a/config.yaml +++ b/hugo.yaml @@ -1,6 +1,6 @@ module: hugoVersion: - min: "0.118.0" + min: "0.146.0" extended: true mounts: - source: content @@ -17,7 +17,7 @@ module: target: i18n - source: archetypes target: archetypes - - source: ../../node_modules/flag-icon-css/flags + - source: ../../node_modules/flag-icons/flags target: static/flags - source: ../../node_modules/@fontsource/mulish/files target: static/files diff --git a/i18n/az.toml b/i18n/az.toml new file mode 100644 index 0000000..cbb70f4 --- /dev/null +++ b/i18n/az.toml @@ -0,0 +1,130 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "Əsas Səhifə" + +[posts] +other = "Yazılar" + +[toc_heading] +other = "Məzmun Cədvəli" + +[tags] +other = "Etiketlər" + +[categories] +other = "Kateqoriyalar" + +[at] +other = "," + +[resume] +other = "CV" + +[navigation] +other = "Menyu" + +[contact_me] +other = "Əlaqə:" + +[email] +other = "E-Poçt" + +[phone] +other = "Telefon" + +[newsletter_text] +other = "Yeni məzmunlardan xəbərdar olmaq üçün E-Poçt ünvanınızı daxil edin." + +[newsletter_input_placeholder] +other = "E-Poçt ünvanını daxil edin." + +[newsletter_warning] +other = "E-Poçt ünvanınızı daxil etsəniz, bu veb saytın xəbər bülletenini almağı qəbul etmiş olursunuz." + +[submit] +other = "Təsdiqlə" + +[hugoAttributionText] +other = "" + +[prev] +other = "Əvvəlki" + +[next] +other = "Sonraki" + +[share_on] +other = "Paylaş" + +[improve_this_page] +other = "Bu səhifəyə töhfə verin" + +[out_of] +other = "/" + +[publications] +other = "Akademik Nəşrlər" + +[taken_courses] +other = "Keçirilmiş Kurslar" + +[course_name] +other = "Kursun Adı" + +[total_credit] +other = "Ümumi Kredit" + +[obtained_credit] +other = "Qazandırılmış Kredit" + +[extracurricular_activities] +other = "Kursdankənar Fəaliyyətlər" + +[show_more] +other = "Daha Çox Göstər" + +[show_less] +other = "Gizlət" + +[responsibilities] +other = "Məsuliyyətlər:" + +[present] +other = "Hal-hazırda" + +[comments_javascript] +other = "Görmək üçün xahiş edirəm JavaScript-i aktiv edin" + +[comments_by] +other = "Şərh edən" + +[read] +other = "Oxu" + +[project_star] +other = "Ulduz" + +[project_details] +other = "Təfərrüatlar" + +[err_404] +other = "Axtardığınız səhifə tapılmadı." + +[more] +other = "Daha Çox" + +[view_certificate] +other = "Sertifikatı Görüntülə" + +[notes] +other = "Qeydlər" + +[disclaimer_text] +other = "Məsuliyyət İnkarı" + +[search] +other = "Axtar" + +[minute] +one = "dəqiqə" +other = "dəqiqə" diff --git a/i18n/de.toml b/i18n/de.toml index 940e089..4787815 100644 --- a/i18n/de.toml +++ b/i18n/de.toml @@ -96,7 +96,7 @@ other = "heute" other = "Bitte aktiviere JavaScript um die Kommentare zu sehen" [comments_by] -other = "Kommentare Unterstützt von" +other = "Kommentare unterstützt von" [read] other = "Lesen" @@ -124,3 +124,7 @@ other = "Haftungshinweis" [search] other = "Suche" + +[minute] +one = "Minute" +other = "Minuten" \ No newline at end of file diff --git a/i18n/fi.toml b/i18n/fi.toml index f5f3021..cb8089e 100644 --- a/i18n/fi.toml +++ b/i18n/fi.toml @@ -124,3 +124,7 @@ other = "Vastuuilmoitus" [search] other = "Haku" + +[minute] +one = "minuutti" +other = "minuuttia" diff --git a/i18n/he.toml b/i18n/he.toml new file mode 100644 index 0000000..473f140 --- /dev/null +++ b/i18n/he.toml @@ -0,0 +1,126 @@ +# More documentation here: https://github.com/nicksnyder/go-i18n +[home] +other = "בית" + +[posts] +other = "פוסטים" + +[toc_heading] +other = "תוכן העניינים" + +[tags] +other = "תגים" + +[categories] +other = "קטגוריות" + +[at] +other = "ב" + +[resume] +other = "הקורות החיים שלי" + +[navigation] +other = "ניווט" + +[contact_me] +other = "צור קשר:" + +[email] +other = "דוא\"ל" + +[phone] +other = "טלפון" + +[newsletter_text] +other = "הישאר מעודכן עם התראות בדוא\"ל" + +[newsletter_input_placeholder] +other = "הכנס דוא\"ל" + +[newsletter_warning] +other = "על ידי הזנת כתובת הדוא\"ל שלך, אתה מסכים לקבל את הניוזלטר של אתר זה." + +[submit] +other = "שלח" + +[hugoAttributionText] +other = "מופעל ע\"י" + +[prev] +other = "הקודם" + +[next] +other = "הבא" + +[share_on] +other = "שתף ב" + +[improve_this_page] +other = "שפר את הדף הזה" + +[out_of] +other = "מתוך" + +[publications] +other = "פרסומים" + +[taken_courses] +other = "קורסים" + +[course_name] +other = "שם הקורס" + +[total_credit] +other = "נקודות זכות סך הכל" + +[obtained_credit] +other = "נקודות זכות שהושגו" + +[extracurricular_activities] +other = "פעילויות חוץ לימודיות" + +[show_more] +other = "הצג יותר" + +[show_less] +other = "הצג פחות" + +[responsibilities] +other = "אחריות:" + +[present] +other = "נוכחי" + +[comments_javascript] +other = "אנא הפעל את JavaScript כדי לראות את" + +[comments_by] +other = "תגובות מופעלות ע\"י" + +[read] +other = "קרא" + +[project_star] +other = "כוכב" + +[project_details] +other = "פרטים" + +[err_404] +other = "הדף שאתה מחפש אינו קיים עדיין." + +[more] +other = "עוד" + +[view_certificate] +other = "צפה בתעודה" + +[notes] +other = "הערות" + +[disclaimer_text] +other = "הבהרת אחריות" + +[search] +other = "חיפוש" \ No newline at end of file diff --git a/i18n/tr.toml b/i18n/tr.toml index e6eec2d..b0ac0d0 100644 --- a/i18n/tr.toml +++ b/i18n/tr.toml @@ -93,16 +93,16 @@ other = "Sorumluluklar:" other = "Halen" [comments_javascript] -other = "Görüntüleyebilmek için lüften Javascript etkinleştirin" +other = "Görüntüleyebilmek için lüften JavaScript etkinleştirin" [comments_by] -other = "comments powered by" +other = "Yorum sağlayıcı" [read] other = "Oku" [project_star] -other = "Star" +other = "Yıldız" [project_details] other = "Detaylar" @@ -124,3 +124,7 @@ other = "Yükümlülük Bildirisi" [search] other = "Ara" + +[minute] +one = "dakika" +other = "dakika" diff --git a/i18n/zh-cn.toml b/i18n/zh-cn.toml index 8ad597e..0b87678 100644 --- a/i18n/zh-cn.toml +++ b/i18n/zh-cn.toml @@ -124,3 +124,7 @@ other = "免责声明" [search] other = "搜索" + +[minute] +one = "分钟" +other = "分钟" diff --git a/i18n/zh-tw.toml b/i18n/zh-tw.toml index 5767f9b..b0fd1a1 100644 --- a/i18n/zh-tw.toml +++ b/i18n/zh-tw.toml @@ -9,10 +9,10 @@ other = "文章" other = "目錄" [tags] -other = "标签" +other = "標籤" [categories] -other = "类别" +other = "類別" [at] other = "at" @@ -42,7 +42,7 @@ other = "在此輸入您的電子郵件地址" other = "輸入您的電子郵件地址,即表示您同意接受本網站的最新消息" [submit] -other = "提交" +other = "送出" [hugoAttributionText] other = "Powered by" @@ -63,10 +63,10 @@ other = "改善此頁面" other = "/" [publications] -other = "出版" +other = "著作" [taken_courses] -other = "修習課程" +other = "修課內容" [course_name] other = "課程名稱" @@ -123,4 +123,8 @@ other = "筆記" other = "免責聲明" [search] -other = "搜索" +other = "搜尋" + +[minute] +one = "分鐘" +other = "分鐘" diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index a1e652d..b1a4ce4 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -4,27 +4,20 @@ {{ .Page.Title }} {{- partial "header.html" . -}} - {{ template "_internal/opengraph.html" . }} - {{ template "_internal/twitter_cards.html" . }} + {{- partial "opengraph.html" . -}} {{ block "header" . }} {{ end }} {{- partial "analytics.html" . -}} - + {{ end }} - +
{{ block "navbar" . }} {{ end }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 9485de3..b0a919a 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -4,7 +4,7 @@ {{ define "sidebar" }} {{ $homePage:="#" }} - {{ if site.IsMultiLingual }} + {{ if hugo.IsMultilingual }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ end }} @@ -43,7 +43,7 @@ {{ end }}
- {{ template "_internal/pagination.html" . }} + {{ partial "pagination.html" . }}
diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml index 0e5e0d0..3c59b43 100644 --- a/layouts/_default/rss.xml +++ b/layouts/_default/rss.xml @@ -19,9 +19,9 @@ {{ .Permalink }} Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} Hugo -- gohugo.io{{ with .Site.LanguageCode }} - {{.}}{{end}}{{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} - {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ with .Site.Params.Author.email }} + {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Params.Author.email }} + {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} {{.}}{{end}}{{ if not .Date.IsZero }} {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} {{- with .OutputFormats.Get "RSS" -}} @@ -33,7 +33,7 @@ {{ .Title }} {{ .Permalink }} {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} - {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ with .Site.Params.Author.email }}{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}} {{ .Permalink }} {{ .Summary | html }} diff --git a/layouts/_default/search.html b/layouts/_default/search.html index 9475868..cfbdf85 100644 --- a/layouts/_default/search.html +++ b/layouts/_default/search.html @@ -4,7 +4,7 @@ {{ define "sidebar" }} {{ $homePage:="#" }} - {{ if site.IsMultiLingual }} + {{ if hugo.IsMultilingual }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ end }} @@ -58,8 +58,8 @@ {{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 8981d32..1417870 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,5 +1,8 @@ {{ define "header" }} +{{ with .Params.relcanonical }} + +{{ end }} {{ end }} {{ define "navbar" }} @@ -37,7 +40,7 @@
{{ if site.Params.features.blog.showAuthor | default true }} -
+
Author Image
{{ partial "helpers/get-author-name.html" . }}

{{ .Page.Date | time.Format ":date_full" }}{{ if site.Params.features.readingTime }} | {{ .ReadingTime }} {{i18n "minute" .ReadingTime }}{{ end }}

@@ -45,13 +48,13 @@ {{ else }}
{{ end }} - +

{{ .Page.Title }}

{{ if not (site.Params.features.blog.showAuthor | default true) }} -
+

{{ .Page.Date | time.Format ":date_full" }}{{ if site.Params.features.readingTime }} | {{ .ReadingTime }} {{i18n "minute" .ReadingTime }}{{ end }}

{{ end }} @@ -64,7 +67,7 @@
-
+
- + @@ -175,7 +178,7 @@
{{ if and site.Params.features.toc.enable ( .Params.enableTOC | default true ) }}
-
{{ i18n "toc_heading" }}
+
{{ i18n "toc_heading" }}

{{ .TableOfContents }} diff --git a/layouts/categories/list.html b/layouts/categories/list.html index 5a79b8f..617b75c 100644 --- a/layouts/categories/list.html +++ b/layouts/categories/list.html @@ -4,7 +4,7 @@ {{ define "sidebar" }} {{ $homePage:="#" }} - {{ if site.IsMultiLingual }} + {{ if hugo.IsMultilingual }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ end }} @@ -44,7 +44,7 @@ {{ end }}
- {{ template "_internal/pagination.html" . }} + {{ partial "pagination.html" . }}
diff --git a/layouts/index.html b/layouts/index.html index 81296de..cd8afbc 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -17,19 +17,13 @@ {{- partial "analytics.html" . -}} - + {{ end }} - + {{- partial "navigators/navbar.html" . -}} diff --git a/layouts/notes/list.html b/layouts/notes/list.html index 4dea0f0..9493e08 100644 --- a/layouts/notes/list.html +++ b/layouts/notes/list.html @@ -4,7 +4,7 @@ {{ define "sidebar" }} {{ $homePage:="#" }} - {{ if site.IsMultiLingual }} + {{ if hugo.IsMultilingual }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ end }} @@ -41,7 +41,7 @@ {{ end }}
- {{ template "_internal/pagination.html" . }} + {{ partial "pagination.html" . }}
diff --git a/layouts/notes/single.html b/layouts/notes/single.html index c4a0bc5..6f5d35c 100644 --- a/layouts/notes/single.html +++ b/layouts/notes/single.html @@ -4,7 +4,7 @@ {{ define "sidebar" }} {{ $homePage:="#" }} - {{ if site.IsMultiLingual }} + {{ if hugo.IsMultilingual }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ end }} diff --git a/layouts/partials/analytics.html b/layouts/partials/analytics.html index 35db51d..22cae3f 100644 --- a/layouts/partials/analytics.html +++ b/layouts/partials/analytics.html @@ -2,60 +2,83 @@ {{ with site.Params.features.analytics }} {{ if or .enable .enabled }} {{ with .services }} - - {{ with .google }} - {{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }} - {{ $analyticsConfig := dict (slice "Site" "GoogleAnalytics") .id }} - {{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }} - {{ end }} + + {{ with .google }} + {{ partial "google_analytics.html" . }} + {{ end }} - - {{ with .counterDev }} - - {{ end }} + + {{ with .counterDev }} + + {{ end }} - - {{ with .goatCounter }} - {{ with .code }} - - {{ else }} - - {{ end }} - {{ end }} + + {{ with .goatCounter }} + {{ with .code }} + + {{ else }} + + {{ end }} + {{ end }} - - {{ with .matomo }} - - + {{ end }} + + {{ with .cloudflare }} + + + + {{ end }} + + {{ with .umami }} + + + + {{end}} + + {{ with .statcounter }} + + + - {{ end }} - - {{ with .cloudflare }} - - - - {{ end }} + + + {{ end }} {{ end }} {{ end }} {{ end }} {{ if .Site.Config.Services.GoogleAnalytics.ID }} - {{ template "_internal/google_analytics.html" . }} + {{ partial "google_analytics.html" . }} {{ end }} diff --git a/layouts/partials/cards/accomplishments.html b/layouts/partials/cards/accomplishments.html index a62fa22..27015b1 100644 --- a/layouts/partials/cards/accomplishments.html +++ b/layouts/partials/cards/accomplishments.html @@ -4,7 +4,7 @@
{{ .name }}
{{ .organization.name }} - {{ .timeline }} + {{ .timeline }}
@@ -12,7 +12,7 @@
diff --git a/layouts/partials/cards/post.html b/layouts/partials/cards/post.html index 99178bc..5305a70 100644 --- a/layouts/partials/cards/post.html +++ b/layouts/partials/cards/post.html @@ -8,19 +8,19 @@
{{ .Title }}
-

{{ .Summary }}

+

{{ .Summary | plainify }}

{{ if and site.Params.features.tags.enable site.Params.features.tags.on_card }} {{ partial "misc/tags.html" .Params.tags }} {{ end }}
diff --git a/layouts/partials/cards/project.html b/layouts/partials/cards/project.html index 84ba341..1d1c83a 100644 --- a/layouts/partials/cards/project.html +++ b/layouts/partials/cards/project.html @@ -4,26 +4,48 @@ >
- -
-
- {{ if .logo }} - - {{ $logoImage:= resources.Get .logo}} - {{ if $logoImage }} + + {{ if .image }} +
+ {{ $imageImage:= resources.Get .image}} + {{ if $imageImage }} {{/* svg don't support "Fit" operation */}} - {{ if ne $logoImage.MediaType.SubType "svg" }} - {{ $logoImage = $logoImage.Fit "24x24" }} + {{ if ne $imageImage.MediaType.SubType "svg" }} + {{ $imageImage = $imageImage.Fit "1000x1000" }} {{ end }} + {{ .name }} + {{ end }} +
+ {{ end }} +
+
+
+ {{ if .logo }} - {{ .name }} - {{ end }} - {{ end }} -
{{ .name }}
-
-
- {{ .role }} - {{ .timeline }} + {{ if eq (len (findRE ".*/.*" .logo) ) 0 }} + + + + {{ else }} + + {{ $logoImage:= resources.Get .logo}} + {{ if $logoImage }} + {{/* svg don't support "Fit" operation */}} + {{ if ne $logoImage.MediaType.SubType "svg" }} + {{ $logoImage = $logoImage.Fit "24x24" }} + {{ end }} + {{ .name }} + {{ end }} + {{ end }} + + {{ end }} + +
{{ .name }}
+
+
+ {{ .role }} + {{ .timeline }} +
diff --git a/layouts/partials/cards/publication.html b/layouts/partials/cards/publication.html index bdc7b21..6bf3b89 100644 --- a/layouts/partials/cards/publication.html +++ b/layouts/partials/cards/publication.html @@ -11,12 +11,22 @@
{{ .title }}
- {{ .publishedIn.name }} - {{ .publishedIn.date }} + + {{ if .publishedIn.url }} + {{ .publishedIn.name }} + {{ else }} + {{ .publishedIn.name }} + {{ end }} + + {{ .publishedIn.date }}
{{ range $index,$author:= .authors }} - {{ .name }} + {{if .url}} + {{ .name }} + {{ else }} + {{ .name }} + {{ end }} {{ end }}
@@ -26,14 +36,16 @@
diff --git a/layouts/partials/cards/skill.html b/layouts/partials/cards/skill.html index 86f47c9..e76493e 100644 --- a/layouts/partials/cards/skill.html +++ b/layouts/partials/cards/skill.html @@ -1,4 +1,6 @@ -
+
@@ -18,7 +20,7 @@
{{ .name }}
{{ end }}
-
+

{{ .summary | markdownify }}

diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 048074f..78e80e5 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -66,7 +66,7 @@