mcpField
E
extract-project-logo

extract-project-logo

github.com/tradingstrategy-ai设计与 UI82971 次安装今天更新
代码仓库

关于 extract-project-logo

extract-project-logo 是一项从项目官网及相关来源查找并保存官方 Logo 的技能,面向需要整理品牌素材的用户。它优先寻找高质量矢量文件和官方品牌资源,并要求保存结果与来源报告。

主要功能

  1. 01搜索官方品牌资源与媒体包
  2. 02从代码仓库或网站提取 Logo
  3. 03优先选择 SVG 等矢量格式
  4. 04下载并验证文件
  5. 05生成来源与文件信息报告

适用场景

  1. 01为项目收集官方 Logo 文件
  2. 02从动态网站提取 Logo
  3. 03整理多个主题或图标版本
  4. 04记录 Logo 来源和保存位置

MCP 相关

说明中提到可使用 MCP Playwright 处理动态网站,以加载页面并从渲染后的 DOM 提取 Logo。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tradingstrategy-ai/web3-ethereum-defi --skill extract-project-logo

安装后在 Claude Code 中输入/extract-project-logo确认已加载。

详细介绍

提取项目 Logo

此技能可从项目网站或相关来源提取项目官方 Logo,并优先选择高质量矢量格式和官方品牌素材。

必要输入

开始前,请向用户收集以下信息:

  1. 网站 URL - 项目的主网站(例如:https://example.com)
  2. 保存路径 - 保存 Logo 的本地文件系统路径(例如:./logos/example-logo.svg)
  3. 格式偏好(可选)- 首选格式:SVG(推荐)、PNG 或任意格式

如果缺少任何必要输入,请先询问用户。

将所有项目 Logo 保存到目标文件夹中。之后我们会挑选不同版本并进行后期处理。

深色和浅色版本的 Logo 文件命名并没有统一标准。本项目始终采用以下约定:

  • light:浅色(白色)文字,背景为深色或透明
  • dark:深色(黑色)文字,背景为白色或透明

使用以下术语:

  • 品牌图形:也称 Logo 图形,即不含品牌名称文字的 Logo
  • 文字标志:包含品牌名称文字的 Logo

步骤 1:查找品牌套件或媒体资源

高质量 Logo 通常可以在官方品牌套件或媒体套件中找到。请搜索以下页面:

  1. 前往网站,查找页脚或页眉中的链接:

    • “Brand”“Brand Kit”“Brand Assets”“Brand Guidelines”
    • “Media”“Media Kit”“Press”“Press Kit”
    • “Resources”“Downloads”“Assets”
  2. 尝试常见 URL 格式:

    • {base_url}/brand
    • {base_url}/brand-kit
    • {base_url}/media
    • {base_url}/press
    • {base_url}/assets
    • {base_url}/resources
  3. 如果找到品牌套件:

    • 查找可下载的 Logo 压缩包(通常为 ZIP 文件)
    • 优先选择 SVG 或其他矢量格式,而非栅格图像
    • 如果有多个版本,选择最接近正方形的 Logo
    • 如果同时提供浅色和深色主题版本,请同时获取
    • 如果有彩色版本,也请获取

如果品牌套件中有合适的 Logo,请继续执行步骤 5。

步骤 2:检查 GitHub 仓库

许多项目会在其 GitHub 仓库中存放 Logo:

  1. 找到项目的 GitHub 仓库(通常可通过网站页脚或页眉中的链接访问)

  2. 搜索以下常见位置:

    • /assets/ 或 /images/ 目录
    • /branding/ 或 /brand/ 目录
    • /public/ 目录(适用于 Web 应用)
    • /docs/ 或 /documentation/ 目录
    • 根目录(README 徽章、Logo 文件)
  3. 检查 README.md 中是否嵌入了 Logo:

    • 查找 <img> 标签或 Markdown 图片语法
    • 这些内容通常指向高质量的 Logo 文件
  4. 搜索以下名称的文件:

    • logo.svg、logo.png、logo-*.svg
    • {project-name}.svg、{project-name}-logo.*
    • brand.*、icon.*

如果找到合适的 Logo,请继续执行步骤 4。

步骤 3:直接从网站提取

如果没有可用的品牌套件或 GitHub 素材,请从网站提取 Logo:

选项 A:使用 MCP Playwright(推荐用于动态网站)

使用 MCP Playwright 工具执行以下操作:

  1. 访问首页

  2. 查找页眉中的 Logo 元素(通常位于左上角):

    • 搜索 class/id 中包含“logo”的 <img> 标签
    • 检查页眉中的 <svg> 元素
    • 查找带有 role="img" 且 aria 标签与 Logo 相关的元素
  3. 提取图像源 URL 或 SVG 内容

选项 B:检查元标签和网站图标
  1. Open Graph 图像 - 检查 <meta property="og:image"> 标签

    • 通常是适合社交分享的高质量图像
    • 可能包含品牌元素
  2. 网站图标 - 检查高分辨率网站图标:

    • <link rel="icon" type="image/svg+xml">(最佳选择——矢量图)
    • <link rel="apple-touch-icon">(通常为 180x180 PNG)
    • /favicon.ico(低分辨率,最后选择)
  3. Twitter 卡片图像 - 检查 <meta name="twitter:image">

步骤 4:从 Twitter 提取

从项目的 Twitter(也称为 X.com)头像图像中获取项目 Logo。

步骤 5:从 Coingecko 提取

从他们的 Coingecko 页面获取项目 Logo。

步骤 6:下载并保存

  1. 对于 SVG 文件:

    • 下载原始 SVG 内容
    • 确保文件是有效的 XML
    • 使用 .svg 扩展名保存
  2. 对于栅格图像(PNG 等):

    • 下载可用的最高分辨率版本
    • 下载后验证文件完整性
    • 使用适当的扩展名保存
  3. 验证已保存的文件:

    • 打开文件,确认显示正常
    • 检查文件大小是否合理(不是 0 字节或已损坏)
下载方法

使用 curl:

curl -o "{save_path}" "{logo_url}"

使用 Python:

import requests

response = requests.get("{logo_url}")
with open("{save_path}", "wb") as f:
    f.write(response.content)

直接从 SVG 内容提取:

with open("{save_path}", "w") as f:
    f.write(svg_content)

步骤 7:向用户报告结果

向用户提供以下信息:

  1. 来源位置 - 找到 Logo 的位置(品牌套件 URL、GitHub 路径等)
  2. 文件详情 - 格式、尺寸(栅格图像)、文件大小
  3. 保存路径 - 确认文件的保存位置
  4. 其他版本 - 说明是否提供其他版本(深色模式、仅图标等)

步骤 8:将报告保存为 Markdown 文件,与 Logo 放在同一目录

  • 在保存 Logo 的文件夹中创建 Markdown 文件
  • 包含与提供给用户的报告相同的信息
  • 添加所用网页、品牌页面和品牌套件的链接

故障排除

未找到 Logo

如果找不到合适的 Logo:

  1. 检查项目是否使用了其他主域名
  2. 在社交媒体(Twitter/X、LinkedIn)上查找该项目——个人资料图片通常就是 Logo
  3. 在图像搜索引擎中搜索“[项目名称] logo”
  4. 对于加密项目,查看 DeFiLlama、CoinGecko 或类似聚合平台
  5. 询问用户是否有其他来源或联系人
动态或通过 JavaScript 渲染的 Logo

如果 Logo 是通过 JavaScript 渲染的:

  1. 使用 MCP Playwright 完整加载页面
  2. 等待动态内容渲染
  3. 从渲染后的 DOM 中提取
Logo 需要身份验证

如果品牌素材需要登录才能访问:

  1. 告知用户
  2. 提供品牌套件页面的 URL
  3. 请用户手动下载,或在适当情况下提供凭据

评论

支持 Markdown