lema-odoo-indexhtml
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseLema Odoo App Description Page (index.html)
Lema Odoo应用描述页面(index.html)
You are an expert in writing Odoo Apps Store description pages for Lema Core Technologies modules. Every page you generate must pass Odoo's automated validator and manual review on the first submission.
您是为Lema Core Technologies模块编写Odoo应用商店描述页面的专家。您生成的每个页面必须在首次提交时通过Odoo的自动验证器和人工审核。
When to use this skill
何时使用此技能
Trigger this skill when the user asks to:
- Create a new for an Odoo module
static/description/index.html - Rewrite or migrate an existing index.html to comply with Odoo guidelines
- Review an index.html for guideline violations
- Add or restructure Hero / Screenshots / Features / Architecture / Changelog / FAQ sections in a module description page
The skill also applies whenever the working file path matches inside any module.
*/static/description/index.htmladdons/lema/**当用户要求执行以下操作时触发此技能:
- 为Odoo模块创建新的
static/description/index.html - 重写或迁移现有index.html以符合Odoo指南
- 审核index.html是否存在违反指南的情况
- 在模块描述页面中添加或重构Hero / 截图 / 功能 / 架构 / 更新日志 / 常见问题板块
当工作文件路径匹配任何模块内的时,也适用此技能。
addons/lema/***/static/description/index.htmlHard Rules (Odoo Apps Store Validator)
硬性规则(Odoo应用商店验证器)
These rules are NOT negotiable. The Odoo automated checker rejects any submission that violates them.
这些规则不容协商。违反任何规则的提交都会被Odoo自动检查器拒绝。
Content
内容要求
- English only. The full page, including comments inside HTML, must be in English regardless of the originating country or language. Never include Indonesian, Vietnamese, or other languages in the rendered page.
- No promotions, no advertisements, no links to other app stores or external platforms. Do not reference competing marketplaces, do not include affiliate links, do not promise discounts.
- Accurate, non-misleading feature claims. Every feature listed must match what the module actually ships.
- 仅使用英文。整个页面,包括HTML内的注释,必须使用英文,无论来源国家或语言如何。渲染页面中绝不能包含印尼语、越南语或其他语言。
- 禁止促销、广告、指向其他应用商店或外部平台的链接。不得提及竞争市场,不得包含联盟链接,不得承诺折扣。
- 准确、无误导的功能声明。列出的每个功能必须与模块实际提供的功能一致。
Allowed links
允许的链接
Only the following external link forms are permitted. Anything else gets invalidated by the validator.
| Allowed | Form |
|---|---|
| Local resources | |
| YouTube | Canonical URLs only ( |
| Microsoft Teams | Full Teams meeting links |
| |
| Skype | |
Everything else — Google Drive, Vimeo, Loom, app marketplaces, third-party blogs, social media (LinkedIn, X, Facebook, Instagram) — is forbidden as a link target.
仅允许以下形式的外部链接。任何其他链接都会被验证器判定无效。
| 允许类型 | 格式 |
|---|---|
| 本地资源 | |
| YouTube | 仅规范URL( |
| Microsoft Teams | 完整的Teams会议链接 |
| 邮件 | |
| Skype | |
其他所有链接——Google Drive、Vimeo、Loom、应用市场、第三方博客、社交媒体(LinkedIn、X、Facebook、Instagram)——均被禁止作为链接目标。
Forbidden HTML / CSS
禁止的HTML / CSS
- No JavaScript. No tags. No inline
<script>,onclick=, or any event handler attributes.onload= - No static tags, static widgets, or modals. Do not use Odoo's ,
<t t-call=...>, or any QWeb syntax. Do not use Bootstrap modal components (<t t-set=...>).data-bs-toggle="modal" - No iframes, no embeds, no external stylesheet links. Do not include . All styling must be inline or via Bootstrap 4 classes that are already available.
<link rel="stylesheet" href="https://cdn..."> - No external font loaders (no Google Fonts ). Use the system stack.
<link> - No blocks with selectors that can leak (
<style>,*,body, attribute selectors targeting Odoo elements). Only minimal scoped rules if absolutely necessary.html
- 禁止JavaScript。不得使用标签。不得使用内联
<script>、onclick=或任何事件处理属性。onload= - 禁止静态标签、静态小部件或模态框。不得使用Odoo的、
<t t-call=...>或任何QWeb语法。不得使用Bootstrap模态框组件(<t t-set=...>)。data-bs-toggle="modal" - 禁止iframe、嵌入内容或外部样式表链接。不得包含。所有样式必须是内联样式或使用已有的Bootstrap 4类。
<link rel="stylesheet" href="https://cdn..."> - 禁止外部字体加载器(无Google Fonts )。使用系统字体栈。
<link> - 禁止可能泄露样式的块(
<style>、*、body、针对Odoo元素的属性选择器)。仅在绝对必要时使用最小化的作用域规则。html
Allowed style attributes
允许的样式属性
The validator strictly limits inline style attributes to the following families. Anything else may be stripped or trigger a rejection.
- ,
color,background,background-colorbackground-image - (font-size, font-weight, font-family, font-style)
font-* - (margin, margin-top, margin-right, margin-bottom, margin-left)
margin-* padding-*- (border, border-radius, border-color, border-width, border-style)
border-* - Bootstrap 4 utility classes for layout (,
row,col-*,mt-*,mb-*,p-*,text-center,d-flex,align-items-*,justify-content-*,flex-wrap,gap-*)g-*
Other rules such as , , , , , , , , are commonly accepted in practice (they appear in the reference template), but treat them as best-effort and avoid combining them with anything that could be interpreted as harmful (positioning, transforms, animations, z-index manipulation).
widthheightdisplaybox-shadowtext-transformletter-spacingline-heightlist-styletext-decoration验证器严格限制内联样式属性为以下类别。任何其他属性可能会被剥离或触发拒绝。
- ,
color,background,background-colorbackground-image - (font-size, font-weight, font-family, font-style)
font-* - (margin, margin-top, margin-right, margin-bottom, margin-left)
margin-* padding-*- (border, border-radius, border-color, border-width, border-style)
border-* - 用于布局的Bootstrap 4工具类(,
row,col-*,mt-*,mb-*,p-*,text-center,d-flex,align-items-*,justify-content-*,flex-wrap,gap-*)g-*
其他规则如, , , , , , , , 在实践中通常被接受(它们出现在参考模板中),但需尽力避免将其与任何可能被视为有害的属性结合使用(如定位、变换、动画、z-index操作)。
widthheightdisplaybox-shadowtext-transformletter-spacingline-heightlist-styletext-decorationRequired Page Structure
页面必填结构
Always produce these sections in this order. Section headings must be in English and visual styling must follow the Lema Core brand palette (see "Brand Tokens" below).
- Hero — module name, one-paragraph value proposition, compatibility tags, primary contact buttons (Email Us, LinkedIn), deployment tags (Community / Enterprise / Odoo.sh / On-Premise). LinkedIn must be — note: LinkedIn is not in the explicitly allowed list above, so if the validator rejects it, fall back to email-only contact buttons.
https://www.linkedin.com/company/lemacore - Brand Banner — plus a short company description of Lema Core Technologies.
assets/brand.png - Demo Preview — a single demo image or animated GIF inside a monitor-style frame (or
assets/video.gif).assets/screenshots/demo.png - Screenshots — multiple titled screenshot blocks. Each block has a centered title (two-color split), a descriptive caption, and one or more images.
- Features — grouped tiles describing tools/capabilities. Group cards by color band (primary purple, secondary blue, accent green) and prefix each group with a small uppercase eyebrow label.
- Architecture — system architecture diagram (built with flexbox + Font Awesome icons or static SVG/PNG), transport modes, technical specifications, and an optional dark-themed "production config" code preview.
- Changelog — timeline-style list of versions, newest first, each version with a colored timeline dot, version number, month/year, and a row of tagged feature chips.
- FAQ — collapsible Q&A using native elements (no JavaScript needed).
<details><summary> - Related Products — Bootstrap 5 carousel block of 3–6 other Lema modules with module name and icon, linking to . Use the exact markup shipped in
https://apps.odoo.com/apps/modules/18.0/<module_technical_name>/lm_ai_summary(already approved by the Odoo Apps Store validator): alm_mcp_serverwrapper with an<section class="oe_container mt32">heading, thenoe_slogancontaining two<div id="demo" class="row carousel slide" data-bs-ride="carousel">slides of threecarousel-itemcards each, pluscol-md-4/carousel-control-prevanchors. The Odoo Apps Store is the source platform, so internal apps.odoo.com links are acceptable; never link to non-Odoo marketplaces.carousel-control-next - Footer — brand logo, version line (), email and (optionally) LinkedIn.
Module Name v18.0 · OPL-1 License · © <year> Lema Core Technologies
A reference template implementing all ten sections in compliance mode is included at . Use it as the starting point and only change copy, colors at the brand-token level, and section content.
references/template.html始终按以下顺序生成这些板块。板块标题必须使用英文,视觉样式必须遵循Lema Core品牌调色板(见下文“品牌标识”)。
- Hero — 模块名称、一段式价值主张、兼容性标签、主要联系按钮(邮件联系、LinkedIn)、部署标签(社区版 / 企业版 / Odoo.sh / 本地部署)。LinkedIn链接必须为——注意:LinkedIn不在上述明确允许的列表中,因此如果验证器拒绝该链接, fallback到仅使用邮件联系按钮。
https://www.linkedin.com/company/lemacore - 品牌横幅 — 加上一段关于Lema Core Technologies的简短公司介绍。
assets/brand.png - 演示预览 — 显示器样式框架内的单个演示图片或动画GIF(或
assets/video.gif)。assets/screenshots/demo.png - 截图 — 多个带标题的截图块。每个块包含居中标题(双色分割)、描述性说明和一张或多张图片。
- 功能 — 描述工具/功能的分组卡片。按颜色带(主紫色、次蓝色、强调绿色)对卡片分组,并在每组前添加一个小的大写眉标。
- 架构 — 系统架构图(使用flexbox + Font Awesome图标或静态SVG/PNG构建)、传输模式、技术规格,以及可选的深色主题“生产配置”代码预览。
- 更新日志 — 时间线样式的版本列表,最新版本在前,每个版本包含彩色时间线点、版本号、年月和一行标记的功能芯片。
- 常见问题 — 使用原生元素实现的可折叠问答(无需JavaScript)。
<details><summary> - 相关产品 — 包含3–6个其他Lema模块的Bootstrap 5轮播块,显示模块名称和图标,链接到。使用
https://apps.odoo.com/apps/modules/18.0/<module_technical_name>/lm_ai_summary中已有的精确标记(已通过Odoo应用商店验证器批准):一个lm_mcp_server包裹器,带有<section class="oe_container mt32">标题,然后是oe_slogan,包含两个<div id="demo" class="row carousel slide" data-bs-ride="carousel">幻灯片,每个幻灯片有三个carousel-item卡片,以及col-md-4/carousel-control-prev锚点。Odoo应用商店是源平台,因此内部apps.odoo.com链接是可接受的;绝不能链接到非Odoo市场。carousel-control-next - 页脚 — 品牌标志、版本行()、邮件和(可选)LinkedIn链接。
Module Name v18.0 · OPL-1 License · © <year> Lema Core Technologies
合规模式下实现所有十个板块的参考模板包含在中。以此为起点,仅修改文案、品牌标识级别的颜色和板块内容。
references/template.htmlKey adaptations from the lm_mcp_server reference
与lm_mcp_server参考模板的关键适配
The legacy was written before Lema enforced strict compliance. It uses Bootstrap 5, jQuery, Owl Carousel, Google Fonts, Font Awesome via CDN, and JavaScript-driven tabs. The compliant version must:
lm_mcp_server/static/description/index.html| Legacy (rejected) | Compliant rewrite |
|---|---|
| Bootstrap 5 CDN link | No external CSS — rely on Odoo's built-in Bootstrap 4 |
| Remove entirely |
jQuery | Remove entirely |
Owl Carousel | Drop the Owl library; for Related Products use Bootstrap 5 carousel markup ( |
Google Fonts | Remove — use system font stack via inline |
| Font Awesome CDN | Replace icons with inline SVG inside |
| Flatten tabs into linear sections separated by horizontal rules and anchor links ( |
| Forbidden — use |
| Owl Carousel for Related Products | Bootstrap 5 carousel ( |
| Remove entirely |
旧版是在Lema强制执行严格合规之前编写的。它使用Bootstrap 5、jQuery、Owl Carousel、Google Fonts、CDN加载的Font Awesome和JavaScript驱动的标签页。合规版本必须:
lm_mcp_server/static/description/index.html| 旧版(被拒绝) | 合规重写方案 |
|---|---|
| Bootstrap 5 CDN链接 | 无外部CSS——依赖Odoo内置的Bootstrap 4 |
| 完全移除 |
jQuery | 完全移除 |
Owl Carousel | 移除Owl库;对于相关产品,使用经验证的 |
Google Fonts | 移除——通过内联 |
| Font Awesome CDN | 用 |
| 将标签页扁平化,用水平线和锚点链接( |
| 禁止使用——使用 |
| 用于相关产品的Owl Carousel | Bootstrap 5轮播( |
文件末尾的 | 完全移除 |
Brand Tokens (Lema Core)
品牌标识(Lema Core)
Use these color values consistently across the page:
- Primary purple:
#5b4da0 - Primary dark:
#3f3274 - Heading dark: /
#16122a#121212 - Body muted:
#64728f - Surface light: /
#f3f0ff#fafafa - Border light: /
#e0d9f5#f0edf9 - Accent blue:
#1565c0 - Accent green:
#2e7d32 - Accent teal:
#00897b - Accent warning:
#e65100 - Accent danger:
#c62828
Fonts: rely on the system stack — . Never load a webfont.
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;在整个页面中一致使用以下颜色值:
- 主紫色:
#5b4da0 - 主深色:
#3f3274 - 标题深色: /
#16122a#121212 - 正文浅灰色:
#64728f - 浅色背景: /
#f3f0ff#fafafa - 浅色边框: /
#e0d9f5#f0edf9 - 强调蓝色:
#1565c0 - 强调绿色:
#2e7d32 - 强调蓝绿色:
#00897b - 警告色:
#e65100 - 危险色:
#c62828
字体:依赖系统字体栈——。绝不加载网页字体。
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;Icon convention
图标约定
Card titles in the Features and Technical Specifications sections carry a small icon for visual rhythm. Icons must be referenced as , never as inline elements — Odoo's HTML sanitizer strips inline SVG when rendering the description in the Apps browser, leaving a blank space.
<img src="assets/icons/..."><svg>Use this convention:
| Location | Icon file | Title color | Size |
|---|---|---|---|
| Feature group 1 (Core / Primary, 3 cards) | | | 14×14 |
| Feature group 2 (Secondary, 3 cards) | | | 14×14 |
| Feature group 3 (Accent, 3 cards) | | | 14×14 |
| All 4 tech spec cards (Dependencies / Deployment / Performance / Security) | | | 16×16 |
The exact markup is:
html
<img src="assets/icons/star-purple.svg" alt="" width="14" height="14" style="vertical-align:-2px; margin-right:6px;"/>The four SVG files (, , , ) ship with this skill under and are listed in the canonical assets table — copy them into the target module's folder during generation.
star-purple.svgstar-blue.svgstar-green.svggear-purple.svglema-odoo-indexhtml/assets/icons/<module>/static/description/assets/icons/Invariants when extending or modifying icons:
- One consistent shape across the whole Features section (only the color varies by group)
- One consistent shape across the whole Tech Specs section
- Never inline an — Odoo sanitizer will strip it; always reference a file via
<svg><img> - Color must be baked into the SVG because
<path fill="...">-referenced SVG cannot inherit<img>from the parentcurrentColor
功能和技术规格板块中的卡片标题带有小图标以增强视觉节奏感。图标必须以形式引用,绝不能作为内联元素——Odoo的HTML sanitizer在应用商店浏览器中渲染描述时会剥离内联SVG,留下空白。
<img src="assets/icons/..."><svg>使用以下约定:
| 位置 | 图标文件 | 标题颜色 | 尺寸 |
|---|---|---|---|
| 功能组1(核心/主组,3张卡片) | | | 14×14 |
| 功能组2(次组,3张卡片) | | | 14×14 |
| 功能组3(强调组,3张卡片) | | | 14×14 |
| 所有4个技术规格卡片(依赖项/部署/性能/安全) | | | 16×16 |
精确标记如下:
html
<img src="assets/icons/star-purple.svg" alt="" width="14" height="14" style="vertical-align:-2px; margin-right:6px;"/>四个SVG文件(, , , )随此技能一起提供,位于,并在标准资源表中列出——生成期间将它们复制到目标模块的文件夹中。
star-purple.svgstar-blue.svgstar-green.svggear-purple.svglema-odoo-indexhtml/assets/icons/<module>/static/description/assets/icons/扩展或修改图标时的不变规则:
- 整个功能板块使用一致的形状(仅颜色随组变化)
- 整个技术规格板块使用一致的形状
- 绝不使用内联——Odoo sanitizer会剥离它;始终通过
<svg>引用文件<img> - 颜色必须嵌入SVG的中,因为通过
<path fill="...">引用的SVG无法从父元素继承<img>currentColor
Folder layout
文件夹布局
Each module must keep description assets under:
<module>/static/description/
├── icon.png # 140×140 module icon (per-module)
├── index.html # this file
└── assets/
├── brand.png # ← COPY FROM lema-odoo-indexhtml/assets/brand.png (do not regenerate)
├── email.svg # ← COPY FROM lema-odoo-indexhtml/assets/email.svg (do not regenerate)
├── video.gif # demo animation (optional, per-module)
├── icons/
│ ├── star-purple.svg # ← COPY FROM lema-odoo-indexhtml/assets/icons/star-purple.svg
│ ├── star-blue.svg # ← COPY FROM lema-odoo-indexhtml/assets/icons/star-blue.svg
│ ├── star-green.svg # ← COPY FROM lema-odoo-indexhtml/assets/icons/star-green.svg
│ └── gear-purple.svg # ← COPY FROM lema-odoo-indexhtml/assets/icons/gear-purple.svg
├── screenshots/ # all screenshot PNGs (per-module)
└── modules/ # related-products thumbnails (1.png, 2.png, ...) (per-module)Files marked COPY FROM are canonical assets bundled with this skill — see "Bundled canonical assets" below. Everything else is per-module content the developer prepares.
Only reference paths that exist in . The validator follows local image URLs and rejects broken paths.
static/description/每个模块必须将描述资源保存在以下路径下:
<module>/static/description/
├── icon.png # 140×140模块图标(每个模块独有)
├── index.html # 本文件
└── assets/
├── brand.png # ← 从lema-odoo-indexhtml/assets/brand.png复制(请勿重新生成)
├── email.svg # ← 从lema-odoo-indexhtml/assets/email.svg复制(请勿重新生成)
├── video.gif # 演示动画(可选,每个模块独有)
├── icons/
│ ├── star-purple.svg # ← 从lema-odoo-indexhtml/assets/icons/star-purple.svg复制
│ ├── star-blue.svg # ← 从lema-odoo-indexhtml/assets/icons/star-blue.svg复制
│ ├── star-green.svg # ← 从lema-odoo-indexhtml/assets/icons/star-green.svg复制
│ └── gear-purple.svg # ← 从lema-odoo-indexhtml/assets/icons/gear-purple.svg复制
├── screenshots/ # 所有截图PNG(每个模块独有)
└── modules/ # 相关产品缩略图(1.png, 2.png, ...)(每个模块独有)标记为COPY FROM的文件是随此技能捆绑的标准资源——见下文“捆绑的标准资源”。其他所有内容是开发者准备的每个模块独有的内容。
仅引用内存在的路径。验证器会检查本地图片URL,拒绝无效路径。
static/description/Pre-submission checklist
提交前检查清单
Before declaring the file ready, mentally walk through:
- Page renders without any external CSS/JS loaded
- No tag anywhere in the file
<script> - No ,
<iframe>,<embed>,<object>tags<form> - No attributes that require JS
data-bs-toggle - No QWeb syntax (attributes,
t-*elements)<t> - Every external link is either ,
mailto:, a canonical YouTube link, a Microsoft Teams link, or anskype:Lema-module linkhttps://apps.odoo.com/... - All copy is English
- All image paths resolve inside
static/description/ - FAQ uses /
<details>, not modals or accordion JS<summary> - Related Products uses the approved Bootstrap 5 carousel markup from (no separate
lm_ai_summarytag — Apps Store loads Bootstrap JS globally)<script> - Footer year and version match the module's
__manifest__.py
在声明文件就绪前,逐一检查:
- 页面在未加载任何外部CSS/JS的情况下可正常渲染
- 文件中无任何标签
<script> - 无、
<iframe>、<embed>、<object>标签<form> - 无需要JS的属性
data-bs-toggle - 无QWeb语法(属性、
t-*元素)<t> - 每个外部链接均为、
mailto:、规范YouTube链接、Microsoft Teams链接或skype:的Lema模块链接https://apps.odoo.com/... - 所有文案均为英文
- 所有图片路径在内可解析
static/description/ - 常见问题使用/
<details>,而非模态框或JS手风琴组件<summary> - 相关产品使用中已批准的Bootstrap 5轮播标记(无单独
lm_ai_summary标签——应用商店会全局加载Bootstrap JS)<script> - 页脚的年份和版本与模块的一致
__manifest__.py
Generating the file
生成文件
When the user asks for a new index.html:
- Ask for the module's display name, technical name, one-paragraph value proposition, primary feature list, and Odoo version target if not already in the conversation context.
- Copy the bundled canonical assets into the target module's :
static/description/assets/- →
lema-odoo-indexhtml/assets/brand.png<module>/static/description/assets/brand.png - →
lema-odoo-indexhtml/assets/email.svg<module>/static/description/assets/email.svg - →
lema-odoo-indexhtml/assets/icons/star-purple.svg<module>/static/description/assets/icons/star-purple.svg - →
lema-odoo-indexhtml/assets/icons/star-blue.svg<module>/static/description/assets/icons/star-blue.svg - →
lema-odoo-indexhtml/assets/icons/star-green.svg<module>/static/description/assets/icons/star-green.svg - →
lema-odoo-indexhtml/assets/icons/gear-purple.svg<module>/static/description/assets/icons/gear-purple.svg
- Start from and write it to
references/template.html.<module>/static/description/index.html - Replace placeholders marked with ,
{{MODULE_NAME}},{{MODULE_TAGLINE}},{{MODULE_VERSION}}, etc.{{ODOO_VERSION}} - Drop sections that have no real content rather than padding them with filler — accuracy is required.
- Confirm the per-module assets the developer must still supply (, screenshots under
icon.png, optionalassets/screenshots/, related-module thumbnails undervideo.gif).assets/modules/ - Run through the pre-submission checklist before reporting completion.
When reviewing an existing file:
- Read the file end-to-end.
- Produce a violations table: location → rule broken → fix.
- Offer to apply fixes inline.
当用户要求生成新的index.html时:
- 如果对话上下文未提供,询问模块的显示名称、技术名称、一段式价值主张、主要功能列表和目标Odoo版本。
- 将捆绑的标准资源复制到目标模块的中:
static/description/assets/- →
lema-odoo-indexhtml/assets/brand.png<module>/static/description/assets/brand.png - →
lema-odoo-indexhtml/assets/email.svg<module>/static/description/assets/email.svg - →
lema-odoo-indexhtml/assets/icons/star-purple.svg<module>/static/description/assets/icons/star-purple.svg - →
lema-odoo-indexhtml/assets/icons/star-blue.svg<module>/static/description/assets/icons/star-blue.svg - →
lema-odoo-indexhtml/assets/icons/star-green.svg<module>/static/description/assets/icons/star-green.svg - →
lema-odoo-indexhtml/assets/icons/gear-purple.svg<module>/static/description/assets/icons/gear-purple.svg
- 从开始,将其写入
references/template.html。<module>/static/description/index.html - 替换标记为、
{{MODULE_NAME}}、{{MODULE_TAGLINE}}、{{MODULE_VERSION}}等的占位符。{{ODOO_VERSION}} - 删除无实际内容的板块,而非填充无关内容——准确性是必需的。
- 确认开发者仍需提供的每个模块独有的资源(、
icon.png下的截图、可选的assets/screenshots/、video.gif下的相关模块缩略图)。assets/modules/ - 在报告完成前,运行提交前检查清单。
当审核现有文件时:
- 从头到尾阅读文件。
- 生成违规表:位置 → 违反的规则 → 修复方案。
- 提供在线修复的选项。
Reference files
参考文件
- — full compliant skeleton implementing all ten sections.
references/template.html - — verbatim copy of the Odoo Apps Store guidelines for quick lookup.
references/guidelines.md - — common review findings and their fixes.
references/violations-cheatsheet.md
- — 实现所有十个板块的完整合规框架。
references/template.html - — Odoo应用商店指南的逐字副本,用于快速查阅。
references/guidelines.md - — 常见审核发现及其修复方案。
references/violations-cheatsheet.md
Bundled canonical assets
捆绑的标准资源
The skill ships brand assets that must be reused as-is across every Lema Core module — do not regenerate or substitute them.
| Skill path | Purpose | Copy to (in target module) |
|---|---|---|
| Lema Core Technologies brand banner used in Hero Banner (section 2) and Footer (section 10) | |
| Email icon used in Hero contact button and Footer | |
| Title icon for Features group 1 (3 cards) | |
| Title icon for Features group 2 (3 cards) | |
| Title icon for Features group 3 (3 cards) | |
| Title icon for all 4 Technical Specifications cards | |
When generating a new module's description page:
- Copy →
lema-odoo-indexhtml/assets/brand.png<module>/static/description/assets/brand.png - Copy →
lema-odoo-indexhtml/assets/email.svg<module>/static/description/assets/email.svg - Create and copy all four icon SVGs (
<module>/static/description/assets/icons/,star-purple.svg,star-blue.svg,star-green.svg) into itgear-purple.svg - Render the template with these paths already wired (the template already references ,
assets/brand.png, andassets/email.svg— no edits needed)assets/icons/*.svg
Do not:
- Re-export from a different source — the bundled file is the master copy approved for Apps Store use
brand.png - Replace with a Font Awesome
email.svg— that brings back the forbidden external CSS dependency<i class="fa fa-envelope"> - Add new "canonical" assets directly into modules without first depositing them in this skill's folder
assets/
If a future module needs an additional shared asset (e.g., a new , , or product-line logo), add it to first, then reference it from the template and from this table — that is how the convention propagates.
linkedin.svgphone.svglema-odoo-indexhtml/assets/此技能附带品牌资源,必须在所有Lema Core模块中原样复用——请勿重新生成或替换。
| 技能路径 | 用途 | 复制到目标模块的路径 |
|---|---|---|
| Hero横幅(板块2)和页脚(板块10)中使用的Lema Core Technologies品牌横幅 | |
| Hero联系按钮和页脚中使用的邮件图标 | |
| 功能组1(3张卡片)的标题图标 | |
| 功能组2(3张卡片)的标题图标 | |
| 功能组3(3张卡片)的标题图标 | |
| 所有4个技术规格卡片的标题图标 | |
生成新模块的描述页面时:
- 复制→
lema-odoo-indexhtml/assets/brand.png<module>/static/description/assets/brand.png - 复制→
lema-odoo-indexhtml/assets/email.svg<module>/static/description/assets/email.svg - 创建并将四个图标SVG(
<module>/static/description/assets/icons/,star-purple.svg,star-blue.svg,star-green.svg)复制到其中gear-purple.svg - 渲染模板,这些路径已预先配置(模板已引用、
assets/brand.png和assets/email.svg——无需编辑)assets/icons/*.svg
请勿:
- 从其他来源重新导出——捆绑文件是经批准用于应用商店的主副本
brand.png - 用Font Awesome的替换
<i class="fa fa-envelope">——这会引入被禁止的外部CSS依赖email.svg - 在未先将新的“标准”资源存入此技能的文件夹的情况下,直接添加到模块中
assets/
如果未来模块需要额外的共享资源(例如新的、或产品线标志),请先将其添加到中,然后从模板和此表中引用——这是约定的传播方式。
linkedin.svgphone.svglema-odoo-indexhtml/assets/