diff --git a/.github/workflows/add-labels-priority.yml b/.github/workflows/add-labels-priority.yml index 28be78443b31..d93756378d3c 100644 --- a/.github/workflows/add-labels-priority.yml +++ b/.github/workflows/add-labels-priority.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest if: github.event.action == 'opened' steps: - - uses: ericcornelissen/labeler@label-based-on-status + - uses: simple-icons/labeler@master with: repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/autoclose-issues.yml b/.github/workflows/autoclose-issues.yml index ae739a8ec9b2..3d8b20fc2ab7 100644 --- a/.github/workflows/autoclose-issues.yml +++ b/.github/workflows/autoclose-issues.yml @@ -35,7 +35,7 @@ jobs: if: | steps.match-java.outputs.match == 'true' && contains(steps.get-labels.outputs.labels, 'new icon') - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | github.rest.issues.createComment({ diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 5cc4a40c8c4f..61d8acd28ad8 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -42,16 +42,11 @@ jobs: # Ensure we are checked out on the develop branch ref: develop - name: Use Node.js 20.x - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 20.x - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-node- + node-version: 20 + cache: npm + cache-dependency-path: '**/package.json' - name: Bump version run: | npm version --no-commit-hooks --no-git-tag-version \ @@ -67,7 +62,7 @@ jobs: - name: Update SDK Typescript definitions run: node ./scripts/release/update-sdk-ts-defs.js - name: Commit version bump - uses: stefanzweifel/git-auto-commit-action@v5.0.0 + uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: version bump commit_user_name: 'github-actions[bot]' diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bdd3c9c26b73..627c9e570206 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,16 +12,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Use Node.js 20.x - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 20.x - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-node- + node-version: 20 + cache: npm + cache-dependency-path: '**/package.json' - name: Install dependencies run: npm i - name: Run linters @@ -38,16 +33,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Use Node.js 20.x - uses: actions/setup-node@v3 - with: - node-version: 20.x - - name: Cache dependencies - uses: actions/cache@v3 + uses: actions/setup-node@v4 with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-node- + node-version: 20 + cache: npm + cache-dependency-path: '**/package.json' - id: get-version uses: ./.github/actions/get-version - name: Install dependencies @@ -59,7 +49,7 @@ jobs: - name: Build NodeJS package run: npm run build - name: Deploy to NPM - uses: JS-DevTools/npm-publish@v2 + uses: JS-DevTools/npm-publish@v3 with: token: ${{ secrets.NPM_TOKEN }} github: @@ -71,7 +61,7 @@ jobs: uses: actions/checkout@v4 - name: Get commit message (for release title and body) id: commit - uses: kceb/git-message-action@v2 + uses: kceb/git-message-action@v3 - id: get-version uses: ./.github/actions/get-version - name: Reformat to regular markdown @@ -92,12 +82,12 @@ jobs: git tag -a "${tag}" -m "${{ steps.commit.outputs.git-message }}" git push origin "${tag}" - name: Create release - uses: actions/create-release@v1 + uses: softprops/action-gh-release@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.get-version.outputs.version }} - release_name: ${{ steps.commit.outputs.title }} + name: ${{ steps.commit.outputs.title }} body: ${{ steps.commit.outputs.body }} font: name: Trigger simple-icons-font release diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 0e191ff60fb7..90235ea0f97d 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -9,16 +9,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Use Node.js 20.x - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 20.x - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-node- + node-version: 20 + cache: npm + cache-dependency-path: '**/package.json' - name: Install dependencies run: npm i - name: Build NodeJS package @@ -30,25 +25,13 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Use Node.js 20.x - uses: actions/setup-node@v3 - with: - node-version: 20.x - - name: Cache dependencies - uses: actions/cache@v3 + uses: actions/setup-node@v4 with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-node- - - name: Install dependencies - run: npm i - - name: Run linter - run: npm run lint - env: - # Authorise GitHub API requests for editorconfig-checker - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Detect changed documentation files - uses: dorny/paths-filter@v2 + node-version: 20 + cache: npm + cache-dependency-path: '**/package.json' + - name: Detect changed files + uses: dorny/paths-filter@v3 id: changes with: list-files: shell @@ -56,8 +39,18 @@ jobs: docs: - '*.md' - '.github/**.md' + icons: + - 'icons/*.svg' + token: ${{ secrets.GITHUB_TOKEN }} + - name: Install dependencies + run: npm i + - name: Run linter + run: npm run lint --icons='${{ steps.changes.outputs.icons_files }}' + env: + # Authorise GitHub API requests for editorconfig-checker + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Check documentation links - if: steps.changes.outputs.docs == 'true' + if: steps.changes.outputs.docs == true run: | npx markdown-link-check --retry \ --config .github/markdown-link-check.json \ @@ -88,16 +81,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Use Node.js 20.x - uses: actions/setup-node@v3 - with: - node-version: 20.x - - name: Cache dependencies - uses: actions/cache@v3 + uses: actions/setup-node@v4 with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-node- + node-version: 20 + cache: npm + cache-dependency-path: '**/package.json' - name: Install dependencies run: npm i - name: Run tests diff --git a/.npmrc b/.npmrc index 0ca8d2a0b62f..4e8c3098aa3e 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,5 @@ package-lock=false save-exact=true + +# Icons to lint with SVGLint (see `npm run svglint`) +icons=icons/*.svg diff --git a/.svglint-ignored.json b/.svglint-ignored.json index eceac7b33bff..547994ddf6f9 100644 --- a/.svglint-ignored.json +++ b/.svglint-ignored.json @@ -4,5 +4,10 @@ }, "icon-size": { "M22.915 8.321c-.642-.997-1.542-1.879-2.672-2.624-2.185-1.436-5.056-2.227-8.084-2.227-1.012 0-2.009.088-2.976.262a9.84 9.84 0 0 0-2.046-1.509C4.378.848 1.947 1.361.719 1.802a.59.59 0 0 0-.229.964c.866.894 2.299 2.66 1.946 4.267C1.067 8.431.324 10.117.324 11.872c0 1.789.742 3.475 2.112 4.873.352 1.607-1.081 3.374-1.947 4.268a.589.589 0 0 0 .229.963c1.228.442 3.659.955 6.418-.421a9.892 9.892 0 0 0 2.046-1.509c.968.174 1.964.262 2.976.262 3.029 0 5.9-.79 8.084-2.226 1.131-.744 2.031-1.626 2.672-2.624.715-1.11 1.077-2.306 1.077-3.552.001-1.279-.361-2.473-1.076-3.585zm-10.881 9.916c-1.309 0-2.558-.169-3.696-.474l-.832.8A7.609 7.609 0 0 1 5.972 19.7a6.033 6.033 0 0 1-2.17.613c.041-.073.078-.147.117-.221.833-1.531 1.059-2.907.674-4.128-1.363-1.071-2.181-2.442-2.181-3.935 0-3.427 4.308-6.206 9.621-6.206 5.313 0 9.622 2.779 9.622 6.206.001 3.429-4.307 6.208-9.621 6.208zM8.85 12.01c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407zm4.563 0c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407zm4.565 0c0 .777-.635 1.407-1.418 1.407-.783 0-1.418-.63-1.418-1.407s.635-1.407 1.418-1.407c.783 0 1.418.63 1.418 1.407z": "Rocket.Chat" + }, + "collinear-segments": { + "M2.357 15.731H.016A13.74 13.74 0 0 0 4.58 24l1.63-1.634a11.452 11.452 0 0 1-3.853-6.635Zm.509 0a10.948 10.948 0 0 0 3.668 6.254l.03.026 1.124-1.126a9.38 9.38 0 0 1-3.206-5.154H2.866Zm6.623 3.349h-.084V8.252h4.222c.846 0 1.621.137 2.328.41a5.518 5.518 0 0 1 1.825 1.137c.168.159.318.331.461.508.291.363.535.761.722 1.201a5.37 5.37 0 0 1 .418 2.127v.03c0 .764-.139 1.475-.418 2.135a5.009 5.009 0 0 1-1.183 1.716 5.572 5.572 0 0 1-1.825 1.146 6.309 6.309 0 0 1-2.328.418H9.489Zm7.01-7.027a3.022 3.022 0 0 0-.513-.738 2.971 2.971 0 0 0-1.028-.673 3.578 3.578 0 0 0-1.331-.24l-1.84.001v6.526h1.84c.484 0 .928-.078 1.331-.232a2.844 2.844 0 0 0 1.028-.665c.283-.288.505-.628.665-1.021.16-.391.24-.829.24-1.314v-.032c0-.473-.08-.913-.24-1.314-.043-.107-.101-.199-.152-.298Zm-16.44-.796h2.35l.011-.053.012-.053.011-.053.012-.053.013-.053.012-.052.013-.053.013-.052.013-.052.014-.053.013-.052.014-.052.014-.052.015-.052.014-.051.015-.052.015-.051.016-.052.015-.051.016-.051.016-.052.016-.051.017-.05.017-.051.017-.051.017-.051.017-.05.018-.05.018-.051.018-.05.018-.05.019-.05.018-.05.019-.05.02-.049.019-.05.02-.049.02-.049.02-.05.02-.049.021-.049.02-.048.021-.049.022-.049.021-.048.022-.049.022-.048.022-.048.022-.048.023-.048.022-.048.023-.047.023-.048.024-.047.023-.048.024-.047.024-.047.024-.047.025-.047.025-.046.024-.047.025-.046.026-.047.025-.046.026-.046.026-.046.026-.045.026-.046.027-.046.026-.045.027-.045.027-.045.028-.045.027-.045.028-.045.028-.045.028-.044.028-.045.029-.044.029-.044.029-.044.029-.044.029-.043.012-.018.03-.044.03-.043.029-.043.031-.043.03-.042.03-.043.031-.043.031-.042.031-.042.031-.042.031-.042.032-.042.032-.041.032-.042.032-.041.032-.041.033-.041.032-.041.033-.041.033-.04.034-.04.033-.041.034-.04.033-.04.034-.039.035-.04.034-.039.034-.04.035-.039.035-.039.035-.039.035-.038a11.64 11.64 0 0 1 1.302-1.219l.042-.033.041-.033.042-.032.042-.033.042-.032.042-.032.042-.031.042-.032.043-.031.042-.032.043-.03.043-.031.043-.031.043-.03.043-.03.044-.03.043-.03.044-.029.044-.03.044-.029.044-.029.044-.029.044-.028.045-.028.044-.029.045-.027.045-.028.045-.028.045-.027.045-.027.046-.027.045-.027.046-.026.046-.026L8 3.633l.046-.025.046-.026.046-.026.047-.025.046-.025.047-.025.047-.024.047-.025.047-.024.047-.024.047-.024.048-.023.047-.024.048-.023.048-.023.048-.022.048-.023.048-.022.048-.022.049-.022.048-.022.049-.021.049-.021.048-.021.049-.021.05-.02.049-.021.049-.02.05-.02.049-.019.05-.02.05-.019.05-.019.05-.019.05-.018.05-.018.05-.018.051-.018.05-.018.051-.017.051-.017.051-.017.051-.017.051-.016.051-.017.051-.016.052-.015.051-.016.052-.015.052-.015.051-.015.052-.015.052-.014.052-.014.053-.014.052-.013.052-.014.053-.013.053-.013.052-.012.053-.013.053-.012.053-.012.053-.012.053-.011.053-.011.054-.011.053-.011.054-.01.053-.01.108-.02V0A13.782 13.782 0 0 0 .059 11.257Zm11.553-8.414a10.98 10.98 0 0 0-8.692 8.414h1.624a9.402 9.402 0 0 1 7.068-6.802V2.843Zm4.474.092v1.629a9.38 9.38 0 0 1 4.79 3.101l1.123-1.125-.026-.031a10.961 10.961 0 0 0-5.887-3.574Zm0-2.865v2.352a11.459 11.459 0 0 1 6.267 3.763l1.631-1.636A13.75 13.75 0 0 0 16.086.07Z": "OWASP Dependency-Check", + "M9.7214 14.9904c0 .4768-.3982.7843-1.0803.7843-.3203 0-.74-.06-1.0463-.272l.2502-.4716c.2016.1308.4467.2262.8009.2262.2943 0 .4348-.081.4348-.217 0-.1109-.1188-.1736-.3911-.2122l-.1916-.0257c-.5435-.074-.8131-.3076-.8131-.7024 0-.4745.3739-.7553.9927-.7553.341-.0064.6784.0689.9832.2191l-.2137.4853c-.1882-.0905-.4852-.1848-.7499-.1885-.2405 0-.3618.0835-.3618.21 0 .1334.1697.1667.3836.1977l.2087.031c.51.0761.7937.3001.7937.6911zm-2.2784-.4613c0 .6757-.4832 1.1846-1.1238 1.1846-.312 0-.5322-.1184-.6832-.2929v.9614h-.6234v-2.9774h.611v.2486c.1514-.1838.374-.3091.693-.3091.6421 0 1.1264.5087 1.1264 1.1848zm-.6423 0c0-.3436-.23-.6202-.5991-.6202-.3549 0-.597.2646-.597.6202 0 .355.2421.6203.597.6203.3691 0 .5991-.2767.5991-.6203zm-2.0919.0277a1.7387 1.7387 0 0 1-.0121.2086H3.0679c.0666.3327.299.4805.5906.4805a.9243.9243 0 0 0 .5808-.2217l.363.4005c-.2612.2406-.5928.35-.9796.35-.704 0-1.1923-.4803-1.1923-1.208 0-.7276.474-1.2224 1.1618-1.2224.6617 0 1.1138.4933 1.1166 1.2125zm-.6213-.214c-.0567-.2956-.2347-.4623-.5-.4623-.292 0-.4626.1762-.517.4623h1.017zm6.0897 1.368h.6076v-2.2784h-.6076v2.2785zM4.709 14.5572v-.0014l-.0001.001v.0004zm.6076-4.4447 2.87 2.518 1.2312-1.415-4.1012-3.5977-4.1012 3.5978 1.2311 1.4149 2.8701-2.518zm-3.976 3.2444c-.2637 0-.52.0804-.6916.3077l.0004-.9898H0v3.038h.649v-1.2574c0-.3457.2315-.5186.5099-.5186.2964 0 .4703.1836.4703.5142v1.262h.6493V14.252c0-.5328-.3905-.8953-.938-.8953zm16.5835 2.3558h.6076v-3.0379h-.6076v3.038zm5.1964-1.2163.871-1.0811-.7676.0005-.6544.818h-.221l-.0006-1.559h-.6263l.0015 3.038.6262-.0004-.0004-.929h.2113l.6697.9287.7702-.0004-.8796-1.2153zm-1.7033-1.0903.0006 2.3084h-.6114v-.255c-.1506.1849-.3758.315-.6945.3154-.6397 0-1.1243-.5215-1.1244-1.2149-.0003-.6935.483-1.2152 1.1231-1.2156.319 0 .5418.1287.6953.3166v-.2549h.6113zm-.592 1.1533c-.0005-.3645-.2424-.6363-.5993-.6361-.3665 0-.5986.2838-.5986.6364 0 .3528.2326.636.5992.6357.3572 0 .5992-.2718.5986-.636zm-4.2813-1.2502c-.308.0003-.6144.1047-.7955.4019-.1572-.249-.4365-.4012-.7741-.4012-.266 0-.5224.0885-.689.3374v-.2756h-.6144v2.3426h.6314v-1.2841c-.0006-.3528.2247-.5295.4953-.5295.288 0 .4576.1877.4576.525v1.2876h.6313V14.429c-.0004-.3527.2247-.5295.4953-.5295.2855 0 .4572.1875.4572.525v1.2887h.6291v-1.4914l.0004.001c-.0004-.544-.3732-.9137-.9246-.9137zm-3.0249 1.2472a1.838 1.838 0 0 1-.0118.2089H11.878c.067.3325.2994.4803.591.4803a.9258.9258 0 0 0 .5804-.2216l.3633.4c-.2608.241-.5928.3508-.9792.3508-.704 0-1.1927-.4803-1.1928-1.2072-.0006-.7268.4734-1.2228 1.161-1.2232.6617 0 1.114.4925 1.1172 1.212zm-.6213-.2131c-.057-.2957-.235-.462-.5003-.462-.2917 0-.4622.1764-.5168.462h1.0171zm.6214.2134v-.0009.0009zm-3.0601-2.1814a.3796.3796 0 0 0-.351.2342.3794.3794 0 0 0 .0819.4139.3794.3794 0 0 0 .414.0824.38.38 0 0 0 .1233-.6193.379.379 0 0 0-.2682-.1112z": "Hepsiemlak", + "M22.381,11.374C21.992,12.618 21.362,13.704 20.239,14.456L19.909,14.707L19.645,14.943L19.554,15.05L19.529,15.091L19.518,15.119L19.514,15.135L19.514,15.148L19.515,15.157L19.517,15.164L19.519,15.17L19.524,15.177L19.526,15.179C19.529,15.182 19.532,15.185 19.536,15.187L19.548,15.194L19.559,15.198C19.572,15.202 19.588,15.204 19.605,15.204L19.629,15.204C19.807,15.197 20.141,15.063 20.258,14.959L20.119,15.096L19.955,15.245L19.782,15.391L19.602,15.532L19.417,15.668L19.22,15.802L19.016,15.932L18.81,16.055L18.597,16.173L18.374,16.288L18.148,16.396L17.923,16.496L17.687,16.593L17.642,16.611C15.672,17.374 13.315,17.465 11.728,16.171C12.081,16.515 12.515,16.899 12.927,17.151C12.676,17.108 12.498,16.914 12.261,16.84C12.265,16.848 12.836,17.591 14.543,17.786L14.859,17.818L15.339,17.849L15.803,17.863L16.251,17.854L16.691,17.815L17.155,17.731L17.556,17.624L18.155,17.443L18.449,17.362L18.577,17.329C18.681,17.303 18.791,17.277 18.91,17.252C18.923,17.249 18.937,17.246 18.951,17.243C19.024,17.274 18.427,17.582 17.607,17.813C17.246,17.945 16.868,18.013 16.488,18.04L16.219,18.052L16.003,18.053L15.785,18.048L15.521,18.033L15.206,18.006L14.896,17.972L14.84,17.965C14.439,17.916 14.059,17.858 13.718,17.822L13.717,17.822L13.712,17.822L13.718,17.822C13.748,17.837 13.927,17.918 14.785,18.224C14.724,18.246 14.439,18.285 13.249,17.776C15.666,19.168 18.237,18.535 20.515,17.191L20.867,16.976L20.92,16.942L21.214,16.751L21.365,16.648C21.543,16.527 21.718,16.402 21.891,16.274C21.891,16.283 21.887,16.295 21.887,16.305C21.91,16.309 21.939,16.313 21.962,16.315C21.948,16.356 21.948,16.356 21.748,16.594C22.183,16.243 22.407,15.698 22.868,15.369C22.632,15.842 22.33,16.182 21.768,16.73C21.801,16.706 21.832,16.679 21.863,16.652L21.891,16.626C21.881,16.635 21.872,16.643 21.863,16.652C21.016,17.435 19.901,18.209 18.181,18.617C18.307,18.603 18.432,18.578 18.554,18.544C18.334,18.605 18.327,18.612 18.234,18.643C18.292,18.636 18.292,18.636 18.592,18.575C18.417,18.661 18.215,18.702 17.727,18.801C20.533,18.357 23.448,16.23 23.683,13.352C23.676,13.353 23.669,13.353 23.662,13.352C23.587,13.346 23.53,13.283 23.531,13.209C23.54,12.647 23.384,12.227 23.111,11.907C22.948,12.487 22.698,13.043 22.084,13.979C21.824,14.372 21.364,14.389 21.079,14.75C21.071,14.746 21.064,14.741 21.058,14.737L21.026,14.709L21.021,14.706L21.017,14.704L21.016,14.703L21.013,14.703C21.011,14.703 21.008,14.703 21.006,14.704L21.003,14.704L21.002,14.705C20.989,14.71 20.972,14.725 20.944,14.756L21.006,14.686L21.073,14.594L21.089,14.563L21.094,14.549L21.096,14.539L21.096,14.529L21.095,14.52L21.094,14.517L21.092,14.513L21.091,14.51L21.088,14.507C21.087,14.505 21.085,14.503 21.083,14.501L21.074,14.495L21.034,14.476L21.028,14.472L21.024,14.468L21.022,14.465L21.02,14.463L21.019,14.46L21.018,14.457L21.018,14.454L21.018,14.451L21.019,14.444L21.023,14.433L21.046,14.399L21.06,14.383C21.682,13.696 22.252,13.077 22.498,12.155L22.504,12.134L22.477,12.166C22.39,12.269 22.33,12.313 22.237,12.431L22.347,12.041L22.382,11.914L22.447,11.654L22.499,11.429C22.482,11.419 22.465,11.41 22.447,11.401C22.425,11.392 22.403,11.383 22.381,11.374ZM20.124,17.573C19.772,17.777 19.399,17.965 19.019,18.12C18.639,18.275 18.251,18.399 17.867,18.474C18.636,18.279 19.393,17.965 20.124,17.573ZM13.619,17.776C13.636,17.783 13.653,17.79 13.67,17.796C13.669,17.792 13.669,17.788 13.669,17.784C13.651,17.781 13.634,17.779 13.619,17.776ZM17.263,14.969C16.891,14.768 16.748,14.339 16.519,14.024C15.919,13.404 15.818,12.343 15.661,11.475C15.503,10.632 14.783,10.008 14.283,9.356C13.84,8.995 12.684,7.899 12.138,7.724C11.418,7.425 10.79,7.991 10.191,8.268C9.704,8.469 9.189,8.526 8.759,8.898C8.085,9.763 7.68,9.071 6.898,9.756C5.733,10.976 5.292,9.902 3.691,11.331C3.262,11.588 2.86,11.846 2.343,11.818C1.52,11.779 1.24,10.673 1.884,10.185C2.333,9.683 3.436,9.166 2.888,8.354C2.318,7.846 1.648,8.062 0.97,7.496C0.657,7.986 1.057,8.651 1.571,8.814C1.782,8.945 2.272,8.736 2.373,9.041C2.156,9.475 1.563,9.71 1.285,10.13C0.592,10.93 1.276,12.242 2.258,12.303C2.621,12.42 3.083,12.124 3.318,12.246C3.346,12.532 3.318,12.79 3.375,13.048C3.402,13.33 3.723,13.632 3.547,13.906C3.262,14.151 2.893,14.276 2.517,14.253C2.322,14.478 2.289,14.733 2.173,14.997C2.031,15.255 1.745,15.369 1.544,15.484C1.411,15.685 1.279,15.908 0.999,15.942C0.828,16.143 0.799,16.4 0.742,16.658C1.458,16.848 1.612,16.752 2.002,16.143C2.145,16 2.346,16.114 2.488,16.143C2.895,16.094 3.199,15.822 3.491,15.57C4.533,15.298 4.523,15.98 5.724,15.198C5.925,15.112 6.011,14.883 6.097,14.711C6.197,14.519 6.475,14.149 6.125,14.053C5.226,15.872 3.661,14.391 2.46,15.768C2.276,15.819 2.419,15.533 2.46,15.481C3.322,14.225 5.283,15.331 5.953,13.705C6.07,13.455 6.004,12.458 6.296,12.473C6.325,12.473 6.411,12.502 6.411,12.559C6.133,13.773 6.317,14.15 7.613,13.937C8.057,13.809 9.329,14.262 9.303,13.651C9.303,13.537 9.188,13.48 9.303,13.394C9.331,13.365 9.417,13.394 9.446,13.422C9.527,13.912 9.957,14.272 10.365,14.482C11.188,15.042 10.855,15.773 9.906,15.742C9.591,15.57 9.506,15.255 9.276,14.997C9.009,14.763 8.643,14.875 8.332,14.94C8.177,15.173 8.544,15.451 8.618,15.685C8.761,15.771 8.962,15.627 9.076,15.799C9.191,15.97 9.248,16.143 9.42,16.257C9.916,16.733 10.952,15.897 11.481,15.856C11.944,15.907 12.155,15.485 12.312,15.14C12.573,14.663 11.878,14.192 11.825,13.766C11.667,13.722 11.457,13.599 11.338,13.766C11.426,13.979 11.917,14.759 11.882,14.997C11.818,15.17 11.672,15.569 11.453,15.541C11.511,15.341 11.597,15.113 11.597,14.883C11.492,14.638 11.032,13.93 10.995,13.68C11.087,13.438 11.557,13.578 11.739,13.336C11.94,13.021 11.997,12.707 12.055,12.306C12.067,12.264 12.099,12.232 12.141,12.219C12.42,12.399 12.136,13.261 11.969,13.451C11.953,13.748 12.537,13.549 12.656,13.451C12.877,13.497 13.326,13.276 13.429,13.422C13.295,13.591 13.197,13.786 13.143,13.995C12.971,14.195 12.685,14.339 12.685,14.625C12.716,14.805 12.958,14.515 12.971,14.739C12.722,15.056 12.753,15.133 12.828,15.484C13.089,15.852 13.589,15.549 13.916,15.456C14.468,15.239 15.088,15.582 15.52,14.997C15.636,15.007 15.742,15.071 15.806,15.169C16.125,15.504 16.575,15.682 17.037,15.656C17.225,15.526 16.815,15.423 16.751,15.369C16.55,15.255 16.292,15.083 16.235,14.854C16.16,14.534 15.929,14.241 15.777,13.938C16.446,13.948 16.516,15.344 17.493,15.141C17.541,15.108 17.536,15.072 17.522,15.026L17.263,14.969ZM0.397,15.656L0.398,15.656L0.397,15.656C0.058,15.795 0.238,16.214 0.026,16.429C0.026,16.457 -0.032,16.515 0.026,16.544C0.168,16.572 0.283,16.63 0.455,16.658C0.531,16.402 0.605,16.117 0.655,15.885C0.597,15.799 0.512,15.685 0.397,15.656ZM17.714,15.266C17.629,15.375 17.44,15.381 17.358,15.456C17.341,15.477 17.333,15.504 17.335,15.538C17.358,15.641 17.325,15.722 17.262,15.78C17.175,15.874 17.012,15.916 16.865,15.906C16.131,15.914 15.773,15.555 15.473,15.383C15.063,15.648 14.808,15.753 14.272,15.67C13.957,15.645 13.676,15.804 13.37,15.882C13.804,16.254 15.563,16.726 14.915,16.406C13.843,15.799 14.62,16.203 15.56,16.425C16.092,16.556 16.638,16.623 17.185,16.625C18.094,16.325 18.94,15.876 19.612,15.346C19.564,15.345 19.524,15.337 19.494,15.325C19.45,15.307 19.419,15.278 19.399,15.244C19.368,15.192 19.351,15.108 19.422,14.993C19.496,14.874 19.708,14.666 20.156,14.342C20.157,14.341 20.158,14.34 20.16,14.339C21.257,13.603 21.87,12.539 22.248,11.324C21.98,11.227 21.714,11.163 21.45,11.124C21.045,12.13 20.947,12.84 19.992,13.409C18.884,14.134 19.578,13.948 19.589,13.943C19.675,13.908 19.757,13.864 19.834,13.811C19.405,14.5 18.66,14.94 17.771,15.138C17.766,15.194 17.744,15.234 17.714,15.266ZM1.027,15.656C1.227,15.541 1.342,15.341 1.428,15.169C1.366,15.073 1.292,14.946 1.142,14.997C1.005,15.103 0.862,15.198 0.713,15.284C0.641,15.478 0.82,15.723 1.028,15.656L1.027,15.656ZM9.675,15.026C9.789,15.169 9.789,15.369 9.933,15.484C10.108,15.508 10.285,15.456 10.419,15.341C10.505,15.284 10.391,15.198 10.362,15.112C10.276,14.997 10.334,14.768 10.133,14.768C9.916,14.819 9.678,14.756 9.474,14.825C9.474,14.912 9.646,14.912 9.675,15.026ZM14.8,14.682C14.669,14.717 14.535,14.736 14.4,14.739L14.371,14.739C14.202,14.583 14.555,14.271 14.743,14.281L14.829,14.281C14.934,14.325 14.907,14.601 14.8,14.682ZM22.628,11.503C22.59,11.672 22.55,11.831 22.508,11.992C22.528,11.992 22.548,11.997 22.568,12.007C22.627,12.037 22.658,12.105 22.641,12.169C22.398,13.105 21.834,13.74 21.208,14.431L21.211,14.436C21.311,14.366 21.418,14.309 21.524,14.252C21.687,14.164 21.85,14.076 21.966,13.901C22.598,12.939 22.838,12.386 22.998,11.786C22.888,11.68 22.765,11.586 22.628,11.503ZM21.68,8.987L21.797,9.06C23.522,10.176 24.254,12.257 23.63,13.965L23.636,13.96C23.926,13.126 24.044,12.242 23.985,11.361C23.679,9.08 22.898,7.078 20.115,6.342C21.836,6.758 21.965,6.973 22.19,7.121C20.853,5.886 18.7,5.457 16.523,5.826C17.776,5.422 19.826,5.465 21.133,6.243L21.164,6.262C18.056,4.356 14.325,5.187 12.03,7.376C12.459,7.459 12.836,7.742 13.187,8.013L13.296,7.954L13.423,7.89L13.554,7.828L13.824,7.709L14.105,7.599L14.4,7.494L14.706,7.398L14.991,7.319L15.314,7.24L15.613,7.176L15.886,7.126L16.056,7.099L16.226,7.074L16.364,7.056L16.536,7.037C18.241,6.855 20.075,7.082 21.443,7.983L21.456,7.991C22.079,8.404 22.603,8.957 22.974,9.676C22.941,9.697 22.909,9.692 22.88,9.675L22.842,9.646L22.734,9.531L22.714,9.516C22.7,9.511 22.668,9.48 22.653,9.473L22.444,9.284L22.196,9.098L21.93,8.936L21.886,8.912C21.113,8.494 20.172,8.309 19.336,8.133L19.285,8.123L19.7,8.269L20.159,8.404L20.653,8.547L20.952,8.646L21.194,8.74L21.354,8.811L21.497,8.883C21.525,8.898 21.554,8.913 21.582,8.929C21.615,8.948 21.648,8.967 21.68,8.987ZM20.568,13.423C20.754,13.014 21.188,12.794 21.33,12.3C21.309,12.373 21.464,12.403 21.525,12.403C21.77,12.361 21.776,12.024 21.855,11.954C21.794,12.72 21.277,13.347 20.711,13.866C20.637,13.821 20.545,13.817 20.467,13.855C20.443,13.711 20.753,13.511 20.568,13.423ZM15.545,13.021C15.513,13.077 15.464,13.223 15.402,13.222C15.34,13.221 15.313,13.231 15.316,13.165C15.311,12.972 15.28,12.736 15.115,12.621C14.741,12.039 14.647,12.768 14.514,12.678C14.434,12.516 14.56,12.333 14.629,12.191C14.661,12.153 14.673,12.108 14.715,12.077C14.776,11.724 15.098,11.925 15.173,12.134C15.37,12.379 15.602,12.655 15.574,12.936C15.545,12.907 15.545,12.964 15.545,13.021ZM14.996,9.743C14.779,9.463 14.554,9.161 14.313,8.94C15.52,8.509 17.47,8.4 18.434,8.363C18.662,8.356 18.786,8.341 18.837,8.326C18.884,8.312 18.91,8.29 18.924,8.274C18.957,8.237 18.965,8.197 18.961,8.159C18.958,8.126 18.943,8.084 18.895,8.049C18.871,8.033 18.808,8.008 18.715,7.99C18.454,7.938 17.885,7.886 17.659,7.884C17.658,7.884 17.658,7.884 17.657,7.884C17,7.884 16.248,7.951 15.533,8.076C15.788,7.99 16.048,7.92 16.312,7.867C16.381,7.853 16.429,7.791 16.426,7.721C16.422,7.651 16.368,7.594 16.298,7.587C16.176,7.574 15.403,7.662 14.693,7.828C14.208,7.941 13.755,8.094 13.544,8.266C13.539,8.27 13.535,8.274 13.531,8.279C13.46,8.219 13.388,8.16 13.318,8.103C14.864,7.287 17.35,6.834 19.475,7.321C20.653,7.59 21.721,8.151 22.448,9.106C21.58,8.441 20.361,8.205 19.314,7.984C19.242,7.969 19.17,8.011 19.149,8.082C19.128,8.152 19.164,8.227 19.232,8.254C19.994,8.557 20.798,8.647 21.512,9.052C23.084,9.954 23.893,11.655 23.673,13.211C23.689,12.217 23.224,11.638 22.509,11.273C20.318,10.353 18.246,11.582 16.509,11.831C16.509,11.827 16.509,11.822 16.509,11.817L16.506,11.812C16.406,11.597 17.443,11.377 17.581,11.294C17.663,11.209 17.803,11.238 17.896,11.162C17.988,11.071 18.126,11.051 18.249,11.027C18.572,10.862 18.928,10.808 19.288,10.801C19.415,10.82 19.533,10.749 19.66,10.758C19.718,10.731 19.784,10.72 19.848,10.728C20.233,10.699 20.627,10.663 20.959,10.429C20.994,10.408 21.112,10.343 21.012,10.33C20.383,10.16 20.08,10.59 19.506,10.074C19.515,10.052 19.325,9.971 19.298,9.971C18.994,10.032 18.709,10.168 18.393,10.173C18.249,10.205 18.192,10.133 18.048,10.133C17.855,10.178 17.588,10.302 17.391,10.317C17.299,10.3 16.849,10.535 16.84,10.373C16.837,10.374 16.833,10.374 16.83,10.373C16.782,10.191 19.652,9.119 18.471,9.841C18.536,9.897 18.918,9.736 19.278,9.709C19.682,9.623 20.219,9.92 20.396,9.524C20.389,9.459 20.234,9.478 20.196,9.505C20.119,9.547 20.036,9.519 19.955,9.537C19.82,9.553 19.295,9.458 19.176,9.466C19.081,9.385 19.704,9.402 19.759,9.393C19.964,9.362 20.211,9.316 20.416,9.278C20.507,9.267 20.599,9.265 20.69,9.272C20.876,9.316 21.374,9.248 20.843,9.119C20.703,9.092 20.262,9.078 20.191,9.1C20.083,9.114 19.615,9.253 19.366,9.195C19.141,9.127 20.066,9.089 19.956,9.027C18.808,8.882 17.499,8.918 15.232,10.027C15.16,9.938 15.082,9.844 14.996,9.743ZM12.453,10.645C12.424,10.674 12.395,10.674 12.338,10.674C12.261,10.384 12.234,10.082 12.08,9.843C12,9.764 11.896,9.662 11.965,9.528C12.008,9.478 12.081,9.466 12.138,9.499C12.4,9.695 12.444,9.968 12.453,10.301C12.51,10.358 12.481,10.53 12.453,10.645ZM21.68,8.987L21.692,8.994L21.68,8.987ZM14.183,8.837L14.396,8.762L14.648,8.686L14.914,8.618L15.227,8.55L15.587,8.483L15.9,8.434L16.27,8.385L16.712,8.335L17.179,8.293L17.709,8.257L18.123,8.234L18.569,8.216L18.763,8.198L18.798,8.19L18.811,8.185L18.816,8.182L18.816,8.181C18.817,8.181 18.818,8.18 18.819,8.179L18.819,8.178C18.82,8.177 18.82,8.175 18.82,8.174C18.82,8.172 18.819,8.17 18.816,8.167L18.812,8.164L18.806,8.161C18.693,8.103 17.927,8.028 17.657,8.025C16.467,8.025 14.96,8.249 13.945,8.636L14.183,8.837ZM16.257,7.727L16.284,7.728C15.99,7.787 15.7,7.867 15.417,7.966L14.921,8.135L14.469,8.301L14.128,8.433L13.843,8.55L13.634,8.376C14.068,8.021 15.602,7.778 16.125,7.734L16.257,7.727ZM19.803,7.915C19.883,7.974 20.166,8.145 20.615,8.147C20.672,8.147 20.723,8.113 20.746,8.061C20.768,8.009 20.757,7.948 20.718,7.907C20.628,7.814 20.469,7.734 20.284,7.672C20.039,7.59 19.747,7.533 19.55,7.488C19.515,7.48 19.479,7.486 19.448,7.504C19.408,7.527 19.39,7.557 19.38,7.587C19.369,7.62 19.368,7.658 19.388,7.698C19.398,7.719 19.427,7.757 19.482,7.788C19.557,7.829 19.716,7.887 19.803,7.915ZM19.516,7.637C19.513,7.633 19.514,7.629 19.519,7.626C19.821,7.695 20.353,7.791 20.576,7.97L20.616,8.005C20.441,8.004 20.294,7.976 20.178,7.939L20.079,7.904L19.987,7.862L19.922,7.825C19.886,7.803 19.869,7.788 19.872,7.789L19.873,7.789L19.596,7.686L19.553,7.665C19.533,7.654 19.52,7.644 19.516,7.637ZM19.821,7.921L19.823,7.922C19.839,7.927 19.855,7.93 19.871,7.931C19.859,7.931 19.842,7.929 19.821,7.921Z": "Red Bull" } } diff --git a/.svglintrc.mjs b/.svglintrc.mjs index 3914b79607fa..984185343bde 100644 --- a/.svglintrc.mjs +++ b/.svglintrc.mjs @@ -649,7 +649,7 @@ export default { } } }, - (reporter, $, ast, filepath) => { + (reporter, $, ast, { filepath }) => { reporter.name = 'collinear-segments'; /** @@ -669,104 +669,112 @@ export default { _resetStartPoint = false; for (let s = 0; s < segments.length; s++) { - let seg = segments[s].params, - cmd = seg[0], + const seg = segments[s], + parms = seg.params, + cmd = parms[0], nextCmd = s + 1 < segments.length ? segments[s + 1][0] : null; switch (cmd) { // Next switch cases have been ordered by frequency // of occurrence in the SVG paths of the icons case 'M': - currAbsCoord[0] = seg[1]; - currAbsCoord[1] = seg[2]; - startPoint = undefined; + currAbsCoord[0] = parms[1]; + currAbsCoord[1] = parms[2]; + // SVG 1.1: + // If a moveto is followed by multiple pairs of coordinates, + // the subsequent pairs are treated as implicit lineto commands. + if (!seg.chained || seg.chainStart === seg.start) { + startPoint = undefined; + } break; case 'm': currAbsCoord[0] = - (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + seg[1]; + (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + parms[1]; currAbsCoord[1] = - (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + seg[2]; - startPoint = undefined; + (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + parms[2]; + if (!seg.chained || seg.chainStart === seg.start) { + startPoint = undefined; + } break; case 'H': - currAbsCoord[0] = seg[1]; + currAbsCoord[0] = parms[1]; break; case 'h': currAbsCoord[0] = - (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + seg[1]; + (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + parms[1]; break; case 'V': - currAbsCoord[1] = seg[1]; + currAbsCoord[1] = parms[1]; break; case 'v': currAbsCoord[1] = - (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + seg[1]; + (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + parms[1]; break; case 'L': - currAbsCoord[0] = seg[1]; - currAbsCoord[1] = seg[2]; + currAbsCoord[0] = parms[1]; + currAbsCoord[1] = parms[2]; break; case 'l': currAbsCoord[0] = - (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + seg[1]; + (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + parms[1]; currAbsCoord[1] = - (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + seg[2]; + (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + parms[2]; break; case 'Z': case 'z': - // Overlapping in Z should be handled in another rule + // TODO: Overlapping in Z should be handled in another rule currAbsCoord = [startPoint[0], startPoint[1]]; _resetStartPoint = true; break; case 'C': - currAbsCoord[0] = seg[5]; - currAbsCoord[1] = seg[6]; + currAbsCoord[0] = parms[5]; + currAbsCoord[1] = parms[6]; break; case 'c': currAbsCoord[0] = - (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + seg[5]; + (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + parms[5]; currAbsCoord[1] = - (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + seg[6]; + (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + parms[6]; break; case 'A': - currAbsCoord[0] = seg[6]; - currAbsCoord[1] = seg[7]; + currAbsCoord[0] = parms[6]; + currAbsCoord[1] = parms[7]; break; case 'a': currAbsCoord[0] = - (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + seg[6]; + (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + parms[6]; currAbsCoord[1] = - (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + seg[7]; + (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + parms[7]; break; case 's': currAbsCoord[0] = - (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + seg[1]; + (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + parms[1]; currAbsCoord[1] = - (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + seg[2]; + (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + parms[2]; break; case 'S': - currAbsCoord[0] = seg[1]; - currAbsCoord[1] = seg[2]; + currAbsCoord[0] = parms[1]; + currAbsCoord[1] = parms[2]; break; case 't': currAbsCoord[0] = - (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + seg[1]; + (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + parms[1]; currAbsCoord[1] = - (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + seg[2]; + (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + parms[2]; break; case 'T': - currAbsCoord[0] = seg[1]; - currAbsCoord[1] = seg[2]; + currAbsCoord[0] = parms[1]; + currAbsCoord[1] = parms[2]; break; case 'Q': - currAbsCoord[0] = seg[3]; - currAbsCoord[1] = seg[4]; + currAbsCoord[0] = parms[3]; + currAbsCoord[1] = parms[4]; break; case 'q': currAbsCoord[0] = - (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + seg[3]; + (!currAbsCoord[0] ? 0 : currAbsCoord[0]) + parms[3]; currAbsCoord[1] = - (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + seg[4]; + (!currAbsCoord[1] ? 0 : currAbsCoord[1]) + parms[4]; break; default: throw new Error(`"${cmd}" command not handled`); @@ -814,8 +822,12 @@ export default { return collinearSegments; }; - const iconPath = getIconPath($, filepath), - collinearSegments = getCollinearSegments(iconPath); + const iconPath = getIconPath($, filepath); + if (!updateIgnoreFile && isIgnored(reporter.name, iconPath)) { + return; + } + + const collinearSegments = getCollinearSegments(iconPath); if (collinearSegments.length === 0) { return; } diff --git a/_data/simple-icons.json b/_data/simple-icons.json index fd923beeedf3..7de6d312bb62 100644 --- a/_data/simple-icons.json +++ b/_data/simple-icons.json @@ -505,6 +505,11 @@ "type": "GPL-3.0-only" } }, + { + "title": "Akiflow", + "hex": "AF38F9", + "source": "https://www.akiflow.com" + }, { "title": "Alacritty", "hex": "F46D01", @@ -2150,6 +2155,11 @@ "hex": "FF5100", "source": "https://boardgamegeek.com" }, + { + "title": "boAt", + "hex": "E20722", + "source": "https://www.boat-lifestyle.com" + }, { "title": "Boehringer Ingelheim", "hex": "00E47C", @@ -4491,8 +4501,13 @@ }, { "title": "Eleventy", - "hex": "000000", - "source": "https://www.11ty.io" + "hex": "222222", + "source": "https://www.11ty.dev", + "aliases": { + "aka": [ + "11ty" + ] + } }, { "title": "Elgato", @@ -7040,6 +7055,11 @@ "hex": "9147FF", "source": "https://commons.wikimedia.org/wiki/File:IGDB_logo.svg" }, + { + "title": "IGN", + "hex": "BF1313", + "source": "https://www.ign.com" + }, { "title": "iHeartRadio", "hex": "C6002B", @@ -8307,6 +8327,11 @@ "source": "https://www.lg.com/global/our-brand/brand-expression/elements/logo/index.jsp", "guidelines": "https://www.lg.com/global/our-brand/brand-expression/elements/logo/index.jsp" }, + { + "title": "Li-Ning", + "hex": "C5242C", + "source": "https://www.lining.com" + }, { "title": "Libera.Chat", "hex": "FF55DD", @@ -9785,6 +9810,11 @@ "hex": "12161A", "source": "https://namemc.com" }, + { + "title": "NameSilo", + "hex": "031B4E", + "source": "https://www.namesilo.com/support/v2" + }, { "title": "Namu Wiki", "hex": "008275", @@ -11331,6 +11361,11 @@ "hex": "2EC66D", "source": "https://pixabay.com/service/about/" }, + { + "title": "Pixelfed", + "hex": "6366F1", + "source": "https://pixelfed.org" + }, { "title": "pixiv", "hex": "0096FA", @@ -15504,8 +15539,8 @@ }, { "title": "Tubi", - "hex": "000000", - "source": "https://corporate.tubitv.com/press-releases/" + "hex": "7408FF", + "source": "https://gdpr.tubi.tv" }, { "title": "TUI", diff --git a/icons/akiflow.svg b/icons/akiflow.svg new file mode 100644 index 000000000000..6629c410e4de --- /dev/null +++ b/icons/akiflow.svg @@ -0,0 +1 @@ +Akiflow \ No newline at end of file diff --git a/icons/beijingsubway.svg b/icons/beijingsubway.svg index a132cb527a4b..f5be10f0246b 100644 --- a/icons/beijingsubway.svg +++ b/icons/beijingsubway.svg @@ -1 +1 @@ -Beijing Subway \ No newline at end of file +Beijing Subway \ No newline at end of file diff --git a/icons/boat.svg b/icons/boat.svg new file mode 100644 index 000000000000..d60b41201fa6 --- /dev/null +++ b/icons/boat.svg @@ -0,0 +1 @@ +boAt \ No newline at end of file diff --git a/icons/ign.svg b/icons/ign.svg new file mode 100644 index 000000000000..7d8325e7f1e5 --- /dev/null +++ b/icons/ign.svg @@ -0,0 +1 @@ +IGN \ No newline at end of file diff --git a/icons/lining.svg b/icons/lining.svg new file mode 100644 index 000000000000..3ee9a38571f1 --- /dev/null +++ b/icons/lining.svg @@ -0,0 +1 @@ +Li-Ning \ No newline at end of file diff --git a/icons/namesilo.svg b/icons/namesilo.svg new file mode 100644 index 000000000000..4fe3b2b4e194 --- /dev/null +++ b/icons/namesilo.svg @@ -0,0 +1 @@ +NameSilo \ No newline at end of file diff --git a/icons/opentofu.svg b/icons/opentofu.svg index 57de9247fe83..19a8acc9090f 100644 --- a/icons/opentofu.svg +++ b/icons/opentofu.svg @@ -1 +1 @@ -OpenTofu \ No newline at end of file +OpenTofu \ No newline at end of file diff --git a/icons/pixelfed.svg b/icons/pixelfed.svg new file mode 100644 index 000000000000..ab3876e9e41b --- /dev/null +++ b/icons/pixelfed.svg @@ -0,0 +1 @@ +Pixelfed \ No newline at end of file diff --git a/icons/tubi.svg b/icons/tubi.svg index 2c40a434bc21..92a56deb2c5e 100644 --- a/icons/tubi.svg +++ b/icons/tubi.svg @@ -1 +1 @@ -Tubi \ No newline at end of file +Tubi \ No newline at end of file diff --git a/icons/unitednations.svg b/icons/unitednations.svg index 2db0a5092043..9d6fda4f950c 100644 --- a/icons/unitednations.svg +++ b/icons/unitednations.svg @@ -1 +1 @@ -United Nations \ No newline at end of file +United Nations \ No newline at end of file diff --git a/package.json b/package.json index 17e1123d8436..debdf4bcfe68 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "simple-icons", - "version": "11.7.0", + "version": "11.8.0", "description": "SVG icons for popular brands https://simpleicons.org", "homepage": "https://simpleicons.org", "keywords": [ @@ -90,8 +90,10 @@ "editorconfig-checker": "5.1.1", "esbuild": "0.19.4", "fake-diff": "1.0.0", + "fast-fuzzy": "1.12.0", "get-relative-luminance": "1.0.0", "husky": "9.0.10", + "inquirer-autocomplete-standalone": "0.8.1", "is-ci": "3.0.1", "jsonschema": "1.4.1", "markdown-link-check": "3.11.2", @@ -109,12 +111,12 @@ "scripts": { "build": "node scripts/build/package.js", "clean": "del-cli index.js index.mjs index.d.ts sdk.js", - "format": "prettier --write .", + "format": "prettier --cache --write .", "lint": "run-s our-lint jslint jsonlint svglint wslint", "our-lint": "node scripts/lint/ourlint.js", - "jslint": "prettier --check .", + "jslint": "prettier --cache --check .", "jsonlint": "node scripts/lint/jsonlint.js", - "svglint": "svglint icons/*.svg --ci", + "svglint": "svglint --ci $npm_config_icons", "wslint": "editorconfig-checker", "prepare": "is-ci || husky", "prepublishOnly": "npm run build", diff --git a/scripts/add-icon-data.js b/scripts/add-icon-data.js index 7620b854613f..ee5cd0c56bb1 100644 --- a/scripts/add-icon-data.js +++ b/scripts/add-icon-data.js @@ -1,7 +1,9 @@ import process from 'node:process'; import chalk from 'chalk'; import { input, confirm, checkbox } from '@inquirer/prompts'; +import autocomplete from 'inquirer-autocomplete-standalone'; import getRelativeLuminance from 'get-relative-luminance'; +import { search } from 'fast-fuzzy'; import { URL_REGEX, collator, @@ -23,7 +25,7 @@ const titleValidator = (text) => { (x) => x.title === text || titleToSlug(x.title) === titleToSlug(text), ) ) - return 'This icon title or slug already exist'; + return 'This icon title or slug already exists'; return true; }; @@ -89,18 +91,18 @@ const getIconDataFromAnswers = (answers) => ({ const answers = {}; answers.title = await input({ - message: 'Title', + message: 'Title:', validate: titleValidator, }); answers.hex = await input({ - message: 'Hex', + message: 'Hex:', validate: hexValidator, transformer: hexTransformer, }); answers.source = await input({ - message: 'Source', + message: 'Source URL:', validate: sourceValidator, }); @@ -110,7 +112,7 @@ answers.hasGuidelines = await confirm({ if (answers.hasGuidelines) { answers.guidelines = await input({ - message: 'Guidelines', + message: 'Guidelines URL:', validate: sourceValidator, }); } @@ -120,19 +122,30 @@ answers.hasLicense = await confirm({ }); if (answers.hasLicense) { - answers.licenseType = await input({ - message: 'License type', - validate: (text) => Boolean(text), + const licenseTypes = + jsonSchema.definitions.brand.properties.license.oneOf[0].properties.type.enum.map( + (license) => { + return { value: license }; + }, + ); + answers.licenseType = await autocomplete({ + message: 'License type:', + source: async (input) => { + input = (input || '').trim(); + return input + ? search(input, licenseTypes, { keySelector: (x) => x.value }) + : licenseTypes; + }, }); answers.licenseUrl = await input({ - message: 'License URL' + chalk.reset(' (optional)'), - validate: (text) => !Boolean(text) || sourceValidator(text), + message: `License URL ${chalk.reset('(optional)')}:`, + validate: (text) => text.length === 0 || sourceValidator(text), }); } answers.hasAliases = await confirm({ - message: 'This icon has brands aliases?', + message: 'This icon has brand aliases?', default: false, }); @@ -146,7 +159,7 @@ if (answers.hasAliases) { if (!answers?.aliasesTypes?.includes(x.value)) continue; answers[`${x.value}AliasesList`] = await input({ message: x.value + chalk.reset(' (separate with commas)'), - validate: (text) => Boolean(text), + validate: (text) => text.trim().length > 0, transformer: aliasesTransformer, }); } @@ -154,7 +167,7 @@ if (answers.hasAliases) { answers.confirmToAdd = await confirm({ message: [ - 'About to write to simple-icons.json', + 'About to write the following to simple-icons.json:', chalk.reset(JSON.stringify(getIconDataFromAnswers(answers), null, 4)), chalk.reset('Is this OK?'), ].join('\n\n'), @@ -166,7 +179,8 @@ if (answers.confirmToAdd) { iconsData.icons.push(icon); iconsData.icons.sort((a, b) => collator.compare(a.title, b.title)); await writeIconsData(iconsData); + console.log(chalk.green('\nData written successfully.')); } else { - console.log('Aborted.'); + console.log(chalk.red('\nAborted.')); process.exit(1); } diff --git a/slugs.md b/slugs.md index f293831a07cb..50928f305e88 100644 --- a/slugs.md +++ b/slugs.md @@ -97,6 +97,7 @@ update the script at 'scripts/release/update-slugs-table.js'. | `Ajv` | `ajv` | | `Akamai` | `akamai` | | `Akaunting` | `akaunting` | +| `Akiflow` | `akiflow` | | `Alacritty` | `alacritty` | | `Alamy` | `alamy` | | `Albert Heijn` | `albertheijn` | @@ -371,6 +372,7 @@ update the script at 'scripts/release/update-slugs-table.js'. | `BMW` | `bmw` | | `BNB Chain` | `bnbchain` | | `BoardGameGeek` | `boardgamegeek` | +| `boAt` | `boat` | | `Boehringer Ingelheim` | `boehringeringelheim` | | `Boeing` | `boeing` | | `Bombardier` | `bombardier` | @@ -1258,6 +1260,7 @@ update the script at 'scripts/release/update-slugs-table.js'. | `iFood` | `ifood` | | `IFTTT` | `ifttt` | | `IGDB` | `igdb` | +| `IGN` | `ign` | | `iHeartRadio` | `iheartradio` | | `IKEA` | `ikea` | | `Île-de-France Mobilités` | `iledefrancemobilites` | @@ -1481,6 +1484,7 @@ update the script at 'scripts/release/update-slugs-table.js'. | `Letterboxd` | `letterboxd` | | `levels.fyi` | `levelsdotfyi` | | `LG` | `lg` | +| `Li-Ning` | `lining` | | `Libera.Chat` | `liberadotchat` | | `Liberapay` | `liberapay` | | `Libraries.io` | `librariesdotio` | @@ -1736,6 +1740,7 @@ update the script at 'scripts/release/update-slugs-table.js'. | `Namebase` | `namebase` | | `Namecheap` | `namecheap` | | `NameMC` | `namemc` | +| `NameSilo` | `namesilo` | | `Namu Wiki` | `namuwiki` | | `Nano` | `nano` | | `NASA` | `nasa` | @@ -2003,6 +2008,7 @@ update the script at 'scripts/release/update-slugs-table.js'. | `Piwigo` | `piwigo` | | `Pix` | `pix` | | `Pixabay` | `pixabay` | +| `Pixelfed` | `pixelfed` | | `pixiv` | `pixiv` | | `pkgsrc` | `pkgsrc` | | `Planet` | `planet` |