Generate icon.kitchen URLs, download icons, and sync them as GitLab project avatars.
poetry install
poetry run playwright install chromium-headless-shell-
Environment
GITLAB_TOKEN– personal access token with API access.- Optional:
GITLAB_BASE_URL– your GitLab URL (default:https://gitlab.com). - Each
items[*].nameininput.jsonmust match a GitLab project name.
-
Run full pipeline (make target, uses
.envif present):
make run-gitlab-uploader- Equivalent raw CLI command:
export GITLAB_TOKEN="glpat-..."
# export GITLAB_BASE_URL="https://gitlab.example.com" # optional
poetry run icon-kitchen-gitlab-sync input.json --download \
--sub-extract android/play_store_512.png \
--gitlab-uploaderFor each item:
- The collected file
downloads/sub_extracted/<name>.png(or.jpg) is used as the avatar. - Projects are searched by name; if several exact matches are found, you will choose one in the terminal.
Generate URLs only:
poetry run icon-kitchen-gitlab-sync input.jsonGenerate URLs and download/extract all archives:
poetry run icon-kitchen-gitlab-sync input.json --downloadAdditionally collect a specific file (for example android/play_store_512.png)
from each archive into downloads/sub_extracted/:
poetry run icon-kitchen-gitlab-sync input.json --download \
--sub-extract android/play_store_512.pngEach item must have a name; it becomes the folder name under downloads/extracted/
and the base name for optional sub-extracted files.
{
"template": {
"values": {
"fgColor": "#ffffff",
"bgColor": "#6a3de8"
},
"modules": ["ios", "android"]
},
"items": [
{
"name": "blue-solid",
"values": {
"bgColor": "#6a3de8"
}
},
{
"name": "pink-solid",
"values": {
"bgColor": "#ff4081"
}
}
]
}