Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3df9be04a8 | ||
|
|
016c9d1fac | ||
|
|
17f9509f71 | ||
|
|
b6c7434e92 | ||
|
|
47aa3c2664 | ||
|
|
e50b03f316 | ||
|
|
0065b5952b | ||
|
|
b35b586eda | ||
|
|
8b57fab71b | ||
|
|
badd34374d | ||
|
|
902431199c | ||
|
|
bdbb4834b0 | ||
|
|
07fc4da6fa | ||
|
|
e1815242cf | ||
|
|
d104ad5c8a |
89
.github/workflows/pull-request.yml
vendored
@@ -22,8 +22,78 @@ jobs:
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
files: icons/*.svg
|
||||
- name: Generate comment
|
||||
id: generate-comment
|
||||
- name: Generate cohesion check random
|
||||
id: generate-cohesion-check-random
|
||||
run: |
|
||||
delimiter="$(openssl rand -hex 8)"
|
||||
echo "body<<$delimiter" >> $GITHUB_OUTPUT
|
||||
for file in $(printf "%s\\n" icons/*.svg | shuf | head -n$(awk -F' ' '{print NF}' <<< '${{ steps.changed-files.outputs.all_changed_files }}')); do
|
||||
cat "$file" | # get file content
|
||||
tr '\n' ' ' | # remove line breaks
|
||||
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
|
||||
base64 -w 0 | # encode svg
|
||||
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
|
||||
done | tr '\n' ' ' >> $GITHUB_OUTPUT
|
||||
echo >> $GITHUB_OUTPUT
|
||||
echo "$delimiter" >> $GITHUB_OUTPUT
|
||||
- name: Generate cohesion check squares
|
||||
id: generate-cohesion-check-squares
|
||||
run: |
|
||||
delimiter="$(openssl rand -hex 8)"
|
||||
echo "body<<$delimiter" >> $GITHUB_OUTPUT
|
||||
for file in $(printf "%s\\n" icons/*square*.svg | shuf | head -n$(awk -F' ' '{print NF}' <<< '${{ steps.changed-files.outputs.all_changed_files }}')); do
|
||||
cat "$file" | # get file content
|
||||
tr '\n' ' ' | # remove line breaks
|
||||
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
|
||||
base64 -w 0 | # encode svg
|
||||
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
|
||||
done | tr '\n' ' ' >> $GITHUB_OUTPUT
|
||||
echo >> $GITHUB_OUTPUT
|
||||
echo "$delimiter" >> $GITHUB_OUTPUT
|
||||
- name: Generate 1px stroke-width
|
||||
id: generate-1px-stroke-width
|
||||
run: |
|
||||
delimiter="$(openssl rand -hex 8)"
|
||||
echo "body<<$delimiter" >> $GITHUB_OUTPUT
|
||||
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
|
||||
cat "$file" | # get file content
|
||||
tr '\n' ' ' | # remove line breaks
|
||||
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
|
||||
base64 -w 0 | # encode svg
|
||||
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/1/&.svg\"/> |"
|
||||
done | tr '\n' ' ' >> $GITHUB_OUTPUT
|
||||
echo >> $GITHUB_OUTPUT
|
||||
echo "$delimiter" >> $GITHUB_OUTPUT
|
||||
- name: Generate 2px stroke-width
|
||||
id: generate-2px-stroke-width
|
||||
run: |
|
||||
delimiter="$(openssl rand -hex 8)"
|
||||
echo "body<<$delimiter" >> $GITHUB_OUTPUT
|
||||
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
|
||||
cat "$file" | # get file content
|
||||
tr '\n' ' ' | # remove line breaks
|
||||
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
|
||||
base64 -w 0 | # encode svg
|
||||
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/2/&.svg\"/> |"
|
||||
done | tr '\n' ' ' >> $GITHUB_OUTPUT
|
||||
echo >> $GITHUB_OUTPUT
|
||||
echo "$delimiter" >> $GITHUB_OUTPUT
|
||||
- name: Generate 3px stroke-width
|
||||
id: generate-3px-stroke-width
|
||||
run: |
|
||||
delimiter="$(openssl rand -hex 8)"
|
||||
echo "body<<$delimiter" >> $GITHUB_OUTPUT
|
||||
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
|
||||
cat "$file" | # get file content
|
||||
tr '\n' ' ' | # remove line breaks
|
||||
sed -e 's/<svg[^>]*>/<svg>/g' | # remove attributes from svg element
|
||||
base64 -w 0 | # encode svg
|
||||
sed "s|.*|<img title=\"$file\" alt=\"$file\" src=\"https://lucide.dev/api/gh-icon/stroke-width/3/&.svg\"/> |"
|
||||
done | tr '\n' ' ' >> $GITHUB_OUTPUT
|
||||
echo >> $GITHUB_OUTPUT
|
||||
echo "$delimiter" >> $GITHUB_OUTPUT
|
||||
- name: Generate X-rays
|
||||
id: generate-x-rays
|
||||
run: |
|
||||
delimiter="$(openssl rand -hex 8)"
|
||||
echo "body<<$delimiter" >> $GITHUB_OUTPUT
|
||||
@@ -50,8 +120,21 @@ jobs:
|
||||
issue-number: ${{ github.event.pull_request.number }}
|
||||
body: |
|
||||
### Added or changed icons
|
||||
${{ steps.generate-2px-stroke-width.outputs.body }}<br/>
|
||||
<details>
|
||||
<summary>Preview cohesion</summary>
|
||||
${{ steps.generate-cohesion-check-squares.outputs.body }}<br/>
|
||||
${{ steps.generate-2px-stroke-width.outputs.body }}<br/>
|
||||
${{ steps.generate-cohesion-check-random.outputs.body }}<br/>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Preview stroke widths</summary>
|
||||
${{ steps.generate-1px-stroke-width.outputs.body }}<br/>
|
||||
${{ steps.generate-2px-stroke-width.outputs.body }}<br/>
|
||||
${{ steps.generate-3px-stroke-width.outputs.body }}<br/>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Icon X-rays</summary>
|
||||
${{ steps.generate-comment.outputs.body }}
|
||||
${{ steps.generate-x-rays.outputs.body }}
|
||||
</details>
|
||||
edit-mode: replace
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<circle cx="12" cy="12" r="4" />
|
||||
<path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94" />
|
||||
<path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 299 B |
10
icons/contact-2.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"person",
|
||||
"user"
|
||||
],
|
||||
"categories": [
|
||||
"account"
|
||||
]
|
||||
}
|
||||
17
icons/contact-2.svg
Normal file
@@ -0,0 +1,17 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M16 18a4 4 0 0 0-8 0" />
|
||||
<circle cx="12" cy="11" r="3" />
|
||||
<rect width="18" height="18" x="3" y="4" rx="2" />
|
||||
<line x1="8" x2="8" y1="2" y2="4" />
|
||||
<line x1="16" x2="16" y1="2" y2="4" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 412 B |
15
icons/file-code-2.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"script",
|
||||
"document",
|
||||
"html",
|
||||
"xml",
|
||||
"property list",
|
||||
"plist"
|
||||
],
|
||||
"categories": [
|
||||
"files",
|
||||
"development"
|
||||
]
|
||||
}
|
||||
16
icons/file-code-2.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4" />
|
||||
<polyline points="14 2 14 8 20 8" />
|
||||
<path d="m9 18 3-3-3-3" />
|
||||
<path d="m5 12-3 3 3 3" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 372 B |
@@ -2,10 +2,15 @@
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"script",
|
||||
"document"
|
||||
"document",
|
||||
"gist",
|
||||
"html",
|
||||
"xml",
|
||||
"property list",
|
||||
"plist"
|
||||
],
|
||||
"categories": [
|
||||
"files",
|
||||
"development"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,8 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4" />
|
||||
<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" />
|
||||
<polyline points="14 2 14 8 20 8" />
|
||||
<path d="m9 18 3-3-3-3" />
|
||||
<path d="m5 12-3 3 3 3" />
|
||||
<path d="m10 13-2 2 2 2" />
|
||||
<path d="m14 17 2-2-2-2" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 392 B |
@@ -9,8 +9,8 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M22 13V8a1.974 1.974 0 0 0-2-2h-7.9c-.3 0-.7-.1-.9-.2-.3-.2-.5-.4-.7-.7l-.9-1.2c-.2-.3-.4-.5-.7-.7-.3-.1-.6-.2-1-.2H4a1.974 1.974 0 0 0-2 2v13c0 1.1.9 2 2 2h5"/>
|
||||
<circle cx="20" cy="19" r="2"/>
|
||||
<circle cx="13" cy="12." r="2"/>
|
||||
<path d="M18 19c-2.8 0-5-2.2-5-5v8"/>
|
||||
<path d="M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5" />
|
||||
<circle cx="13" cy="12" r="2" />
|
||||
<path d="M18 19c-2.8 0-5-2.2-5-5v8" />
|
||||
<circle cx="20" cy="19" r="2" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 490 B After Width: | Height: | Size: 437 B |
@@ -10,7 +10,7 @@
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z" />
|
||||
<circle class="st0" cx="12" cy="13" r="2" />
|
||||
<line class="st0" x1="6" y1="13" x2="10" y2="13" />
|
||||
<line class="st0" x1="14" y1="13" x2="18" y2="13" />
|
||||
<circle cx="12" cy="13" r="2" />
|
||||
<path d="M14 13h3" />
|
||||
<path d="M7 13h3" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 428 B |
16
icons/group.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"cubes",
|
||||
"packages",
|
||||
"parts",
|
||||
"units",
|
||||
"collection",
|
||||
"cluster",
|
||||
"gather"
|
||||
],
|
||||
"categories": [
|
||||
"shapes",
|
||||
"files"
|
||||
]
|
||||
}
|
||||
18
icons/group.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M3 7V5c0-1.1.9-2 2-2h2" />
|
||||
<path d="M17 3h2c1.1 0 2 .9 2 2v2" />
|
||||
<path d="M21 17v2c0 1.1-.9 2-2 2h-2" />
|
||||
<path d="M7 21H5c-1.1 0-2-.9-2-2v-2" />
|
||||
<rect width="7" height="5" x="7" y="7" rx="1" />
|
||||
<rect width="7" height="5" x="10" y="12" rx="1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 474 B |
@@ -9,8 +9,8 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="7" height="9" x="3" y="3" />
|
||||
<rect width="7" height="5" x="14" y="3" />
|
||||
<rect width="7" height="9" x="14" y="12" />
|
||||
<rect width="7" height="5" x="3" y="16" />
|
||||
<rect width="7" height="9" x="3" y="3" rx="1" />
|
||||
<rect width="7" height="5" x="14" y="3" rx="1" />
|
||||
<rect width="7" height="9" x="14" y="12" rx="1" />
|
||||
<rect width="7" height="5" x="3" y="16" rx="1" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 388 B After Width: | Height: | Size: 416 B |
@@ -9,8 +9,8 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="7" height="7" x="3" y="3" />
|
||||
<rect width="7" height="7" x="14" y="3" />
|
||||
<rect width="7" height="7" x="14" y="14" />
|
||||
<rect width="7" height="7" x="3" y="14" />
|
||||
<rect width="7" height="7" x="3" y="3" rx="1" />
|
||||
<rect width="7" height="7" x="14" y="3" rx="1" />
|
||||
<rect width="7" height="7" x="14" y="14" rx="1" />
|
||||
<rect width="7" height="7" x="3" y="14" rx="1" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 388 B After Width: | Height: | Size: 416 B |
@@ -9,8 +9,8 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="7" height="7" x="3" y="14" />
|
||||
<rect width="7" height="7" x="3" y="3" />
|
||||
<rect width="7" height="7" x="3" y="14" rx="1" />
|
||||
<rect width="7" height="7" x="3" y="3" rx="1" />
|
||||
<line x1="14" x2="21" y1="4" y2="4" />
|
||||
<line x1="14" x2="21" y1="9" y2="9" />
|
||||
<line x1="14" x2="21" y1="15" y2="15" />
|
||||
|
||||
|
Before Width: | Height: | Size: 465 B After Width: | Height: | Size: 479 B |
13
icons/layout-panel-left.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"app",
|
||||
"home",
|
||||
"start",
|
||||
"grid"
|
||||
],
|
||||
"categories": [
|
||||
"design",
|
||||
"layout"
|
||||
]
|
||||
}
|
||||
15
icons/layout-panel-left.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="7" height="18" x="3" y="3" rx="1" />
|
||||
<rect width="7" height="7" x="14" y="3" rx="1" />
|
||||
<rect width="7" height="7" x="14" y="14" rx="1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 365 B |
15
icons/layout-panel-top.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"window",
|
||||
"webpage",
|
||||
"block",
|
||||
"section",
|
||||
"grid",
|
||||
"template",
|
||||
"structure"
|
||||
],
|
||||
"categories": [
|
||||
"layout"
|
||||
]
|
||||
}
|
||||
15
icons/layout-panel-top.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="18" height="7" x="3" y="3" rx="1" />
|
||||
<rect width="7" height="7" x="3" y="14" rx="1" />
|
||||
<rect width="7" height="7" x="14" y="14" rx="1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 365 B |
@@ -9,7 +9,7 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M21 3H3v7h18V3z" />
|
||||
<path d="M21 14h-5v7h5v-7z" />
|
||||
<path d="M12 14H3v7h9v-7z" />
|
||||
<rect width="18" height="7" x="3" y="3" rx="1" />
|
||||
<rect width="9" height="7" x="3" y="14" rx="1" />
|
||||
<rect width="5" height="7" x="16" y="14" rx="1" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 365 B |
15
icons/leafy-green.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"salad",
|
||||
"lettuce",
|
||||
"vegetable",
|
||||
"chard",
|
||||
"cabbage",
|
||||
"bok choy"
|
||||
],
|
||||
"categories": [
|
||||
"food-beverage",
|
||||
"emoji"
|
||||
]
|
||||
}
|
||||
14
icons/leafy-green.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22" />
|
||||
<path d="M2 22 17 7" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 537 B |
9
icons/list-filter.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"options"
|
||||
],
|
||||
"categories": [
|
||||
"text"
|
||||
]
|
||||
}
|
||||
15
icons/list-filter.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M3 6h18" />
|
||||
<path d="M7 12h10" />
|
||||
<path d="M10 18h4" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 279 B |
@@ -10,8 +10,8 @@
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<circle cx="12" cy="12" r="3" />
|
||||
<circle cx="18" cy="6" r="2" />
|
||||
<circle cx="6" cy="18" r="2" />
|
||||
<path d="M12 20a8 8 0 0 0 6.82-12.17" />
|
||||
<path d="M12 4a8 8 0 0 0-6.82 12.17" />
|
||||
<circle cx="19" cy="5" r="2" />
|
||||
<circle cx="5" cy="19" r="2" />
|
||||
<path d="M10.4 21.9a10 10 0 0 0 9.941-15.416" />
|
||||
<path d="M13.5 2.1a10 10 0 0 0-9.841 15.416" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 396 B After Width: | Height: | Size: 412 B |
@@ -12,6 +12,7 @@
|
||||
"health"
|
||||
],
|
||||
"categories": [
|
||||
"food-beverage"
|
||||
"food-beverage",
|
||||
"emoji"
|
||||
]
|
||||
}
|
||||
|
||||
19
icons/scroll-text.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"paper",
|
||||
"log",
|
||||
"scripture",
|
||||
"document",
|
||||
"parchment",
|
||||
"list",
|
||||
"long",
|
||||
"script",
|
||||
"code"
|
||||
],
|
||||
"categories": [
|
||||
"gaming",
|
||||
"development",
|
||||
"text"
|
||||
]
|
||||
}
|
||||
16
icons/scroll-text.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M8 21h12a2 2 0 0 0 2-2v-2H10v2a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v3h4" />
|
||||
<path d="M19 17V5a2 2 0 0 0-2-2H4" />
|
||||
<path d="M15 8h-5" />
|
||||
<path d="M15 12h-5" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 377 B |
@@ -5,10 +5,15 @@
|
||||
"log",
|
||||
"scripture",
|
||||
"document",
|
||||
"parchment"
|
||||
"parchment",
|
||||
"list",
|
||||
"long",
|
||||
"script",
|
||||
"code"
|
||||
],
|
||||
"categories": [
|
||||
"gaming",
|
||||
"development"
|
||||
"development",
|
||||
"text"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,6 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M10 17v2a2 2 0 0 1-2 2v0a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v3h3" />
|
||||
<path d="M22 17v2a2 2 0 0 1-2 2H8" />
|
||||
<path d="M8 21h12a2 2 0 0 0 2-2v-2H10v2a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v3h4" />
|
||||
<path d="M19 17V5a2 2 0 0 0-2-2H4" />
|
||||
<path d="M22 17H10" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 403 B After Width: | Height: | Size: 328 B |
@@ -1,7 +1,9 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"music"
|
||||
"music",
|
||||
"random",
|
||||
"reorder"
|
||||
],
|
||||
"categories": [
|
||||
"multimedia",
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<polyline points="16 3 21 3 21 8" />
|
||||
<line x1="4" x2="21" y1="20" y2="3" />
|
||||
<polyline points="21 16 21 21 16 21" />
|
||||
<line x1="15" x2="21" y1="15" y2="21" />
|
||||
<line x1="4" x2="9" y1="4" y2="9" />
|
||||
<path d="M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22" />
|
||||
<path d="m18 2 4 4-4 4" />
|
||||
<path d="M2 6h1.9c1.5 0 2.9.9 3.6 2.2" />
|
||||
<path d="M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8" />
|
||||
<path d="m18 14 4 4-4 4" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 412 B After Width: | Height: | Size: 445 B |
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"stars",
|
||||
"effect",
|
||||
"filter",
|
||||
"night",
|
||||
"sparkles",
|
||||
"magic"
|
||||
],
|
||||
"categories": [
|
||||
@@ -13,5 +13,8 @@
|
||||
"multimedia",
|
||||
"gaming",
|
||||
"weather"
|
||||
],
|
||||
"aliases": [
|
||||
"stars"
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 481 B After Width: | Height: | Size: 481 B |
16
icons/ungroup.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"cubes",
|
||||
"packages",
|
||||
"parts",
|
||||
"units",
|
||||
"collection",
|
||||
"cluster",
|
||||
"separate"
|
||||
],
|
||||
"categories": [
|
||||
"shapes",
|
||||
"files"
|
||||
]
|
||||
}
|
||||
14
icons/ungroup.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="8" height="6" x="5" y="4" rx="1" />
|
||||
<rect width="8" height="6" x="11" y="14" rx="1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 312 B |
@@ -9,7 +9,6 @@
|
||||
],
|
||||
"categories": [
|
||||
"devices",
|
||||
"coding",
|
||||
"development"
|
||||
]
|
||||
}
|
||||
11
icons/user-2.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"person",
|
||||
"account",
|
||||
"contact"
|
||||
],
|
||||
"categories": [
|
||||
"account"
|
||||
]
|
||||
}
|
||||
14
icons/user-2.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<circle cx="12" cy="8" r="5" />
|
||||
<path d="M20 21a8 8 0 1 0-16 0" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 279 B |
15
icons/user-check-2.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"followed",
|
||||
"subscribed",
|
||||
"done",
|
||||
"todo",
|
||||
"tick",
|
||||
"complete",
|
||||
"task"
|
||||
],
|
||||
"categories": [
|
||||
"account"
|
||||
]
|
||||
}
|
||||
15
icons/user-check-2.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M14 19a6 6 0 0 0-12 0" />
|
||||
<circle cx="8" cy="9" r="4" />
|
||||
<polyline points="16 11 18 13 22 9" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 319 B |
12
icons/user-circle-2.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"person",
|
||||
"account",
|
||||
"contact"
|
||||
],
|
||||
"categories": [
|
||||
"account",
|
||||
"shapes"
|
||||
]
|
||||
}
|
||||
15
icons/user-circle-2.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M18 20a6 6 0 0 0-12 0" />
|
||||
<circle cx="12" cy="10" r="4" />
|
||||
<circle cx="12" cy="12" r="10" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 316 B |
12
icons/user-circle.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"person",
|
||||
"account",
|
||||
"contact"
|
||||
],
|
||||
"categories": [
|
||||
"account",
|
||||
"shapes"
|
||||
]
|
||||
}
|
||||
15
icons/user-circle.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<circle cx="12" cy="12" r="10" />
|
||||
<circle cx="12" cy="10" r="3" />
|
||||
<path d="M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 343 B |
12
icons/user-cog-2.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"settings",
|
||||
"edit",
|
||||
"cog",
|
||||
"gear"
|
||||
],
|
||||
"categories": [
|
||||
"account"
|
||||
]
|
||||
}
|
||||
21
icons/user-cog-2.svg
Normal file
@@ -0,0 +1,21 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M14 19a6 6 0 0 0-12 0" />
|
||||
<circle cx="8" cy="9" r="4" />
|
||||
<circle cx="19" cy="11" r="2" />
|
||||
<path d="M19 8v1" />
|
||||
<path d="M19 13v1" />
|
||||
<path d="m21.6 9.5-.87.5" />
|
||||
<path d="m17.27 12-.87.5" />
|
||||
<path d="m21.6 12.5-.87-.5" />
|
||||
<path d="m17.27 10-.87-.5" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 487 B |
12
icons/user-minus-2.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"delete",
|
||||
"remove",
|
||||
"unfollow",
|
||||
"unsubscribe"
|
||||
],
|
||||
"categories": [
|
||||
"account"
|
||||
]
|
||||
}
|
||||
15
icons/user-minus-2.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M14 19a6 6 0 0 0-12 0" />
|
||||
<circle cx="8" cy="9" r="4" />
|
||||
<line x1="22" x2="16" y1="11" y2="11" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 321 B |
13
icons/user-plus-2.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"new",
|
||||
"add",
|
||||
"create",
|
||||
"follow",
|
||||
"subscribe"
|
||||
],
|
||||
"categories": [
|
||||
"account"
|
||||
]
|
||||
}
|
||||
16
icons/user-plus-2.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M14 19a6 6 0 0 0-12 0" />
|
||||
<circle cx="8" cy="9" r="4" />
|
||||
<line x1="19" x2="19" y1="8" y2="14" />
|
||||
<line x1="22" x2="16" y1="11" y2="11" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 363 B |
12
icons/user-square-2.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"person",
|
||||
"account",
|
||||
"contact"
|
||||
],
|
||||
"categories": [
|
||||
"account",
|
||||
"shapes"
|
||||
]
|
||||
}
|
||||
15
icons/user-square-2.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M18 21a6 6 0 0 0-12 0" />
|
||||
<circle cx="12" cy="11" r="4" />
|
||||
<rect width="18" height="18" x="3" y="3" rx="2" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 333 B |
12
icons/user-square.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"person",
|
||||
"account",
|
||||
"contact"
|
||||
],
|
||||
"categories": [
|
||||
"account",
|
||||
"shapes"
|
||||
]
|
||||
}
|
||||
15
icons/user-square.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<rect width="18" height="18" x="3" y="3" rx="2" />
|
||||
<circle cx="12" cy="10" r="3" />
|
||||
<path d="M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 352 B |
13
icons/user-x-2.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"delete",
|
||||
"remove",
|
||||
"unfollow",
|
||||
"unsubscribe",
|
||||
"unavailable"
|
||||
],
|
||||
"categories": [
|
||||
"account"
|
||||
]
|
||||
}
|
||||
16
icons/user-x-2.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M14 19a6 6 0 0 0-12 0" />
|
||||
<circle cx="8" cy="9" r="4" />
|
||||
<line x1="17" x2="22" y1="8" y2="13" />
|
||||
<line x1="22" x2="17" y1="8" y2="13" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 362 B |
10
icons/users-2.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"$schema": "../icon.schema.json",
|
||||
"tags": [
|
||||
"group",
|
||||
"people"
|
||||
],
|
||||
"categories": [
|
||||
"account"
|
||||
]
|
||||
}
|
||||
15
icons/users-2.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="M14 19a6 6 0 0 0-12 0" />
|
||||
<circle cx="8" cy="9" r="4" />
|
||||
<path d="M22 19a6 6 0 0 0-6-6 4 4 0 1 0 0-8" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 328 B |
@@ -77,7 +77,7 @@
|
||||
"zone.js": "~0.11.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "13.x - 15.x",
|
||||
"@angular/core": "13.x - 15.x"
|
||||
"@angular/common": "13.x - 16.x",
|
||||
"@angular/core": "13.x - 16.x"
|
||||
}
|
||||
}
|
||||
|
||||
29
site/src/pages/api/gh-icon/stroke-width/[...data].tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
import { parseSync } from 'svgson';
|
||||
import { createLucideIcon, IconNode } from 'lucide-react';
|
||||
|
||||
export default async function handler(req, res) {
|
||||
// ReactDOMServer needs to be imported dynamically
|
||||
// https://github.com/vercel/next.js/issues/43810
|
||||
const ReactDOMServer = (await import('react-dom/server')).default;
|
||||
|
||||
const url = req.url.split('/');
|
||||
const src = Buffer.from(url.at(-1).slice(0, -4), 'base64').toString('utf8');
|
||||
|
||||
const Icon = createLucideIcon(
|
||||
'icon',
|
||||
parseSync(src.includes('<svg') ? src : `<svg>${src}</svg>`).children.map(
|
||||
({ name, attributes }) => [name, attributes]
|
||||
) as IconNode
|
||||
);
|
||||
|
||||
const svg = Buffer.from(
|
||||
ReactDOMServer.renderToString(<Icon strokeWidth={url.at(-2)} />).replace(
|
||||
/>/,
|
||||
'><style>@media screen and (prefers-color-scheme: dark) { svg { stroke: #fff } }</style>'
|
||||
)
|
||||
);
|
||||
|
||||
res.setHeader('Cache-Control', 'public,max-age=31536000');
|
||||
res.setHeader('Content-Type', 'image/svg+xml');
|
||||
res.status(200).end(svg);
|
||||
}
|
||||