Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/pull-up-a-chair/mobile-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/pull-up-a-chair/persian-mobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions scripts/docs-site/assets/community-invite-artwork.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Community invitation artwork

`community-invite-light.webp` and `community-invite-dark.webp` were generated
with OpenAI image generation for Hannes Rudolph's OpenClaw community-banner
workshop and explicitly approved for rollout across OpenClaw's docs, website,
forum, and application on 2026-10-02. This approval covers using and distributing
these assets as part of those surfaces. No third-party photo or font is embedded.
Platform marks are rendered separately using the existing SVG icon set.

The scene has three dressed lobsters and one empty front-right chair. The pair
shares its composition and differs only in lighting and surface treatment.

Approved source hashes (SHA-256):

- Light: `b1fd93d45ce1fef258e0640d329c244bc807a7444f49faaba93f245324546bf6`
- Dark: `2090687f50c7abbf2db10be8bbd299cea4f40121ac8e21da82eb9ffc893468a4`
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 8 additions & 4 deletions scripts/docs-site/build.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -458,18 +458,22 @@ ${rewriteInternalUrls(docsQuickNav(page.slug, icon, page.locale), page.locale)}
// Start hidden to avoid flashing an invitation that the visitor already dismissed.
function communityInvite(locale) {
const strings = chromeStringsForLocale(locale);
const joinLabel = (platform) => strings.communityJoinLabel.replace("{platform}", platform);
const followLabel = strings.communityFollowLabel.replace("{platform}", "X");
return `<aside class="community-invite" aria-labelledby="community-invite-title" hidden>
<div class="community-invite__header">
<img class="community-invite__art" src="${publicPath("/assets/community-invite.webp")}" alt="" width="768" height="320" loading="lazy" decoding="async">
<img class="community-invite__art community-invite__art--dark" src="${publicPath("/assets/community-invite-dark.webp")}" alt="" width="1024" height="512" loading="lazy" decoding="async">
<img class="community-invite__art community-invite__art--light" src="${publicPath("/assets/community-invite-light.webp")}" alt="" width="1024" height="512" loading="lazy" decoding="async">
<div class="community-invite__marks" aria-hidden="true"><span dir="ltr">${icon("reddit")}${icon("discord")}${icon("x-social")}</span></div>
<button class="community-invite__close" type="button" data-community-invite-dismiss aria-label="${escapeAttr(strings.communityDismissLabel)}">${icon("x")}</button>
</div>
<div class="community-invite__body">
<h2 class="community-invite__title" id="community-invite-title">${escapeHtml(strings.communityTitle)}</h2>
<p class="community-invite__text">${escapeHtml(strings.communityBody)}</p>
<div class="community-invite__links" dir="ltr">
<a class="community-invite__cta" href="https://www.reddit.com/r/openclaw/" target="_blank" rel="noopener noreferrer">${icon("reddit")}<span>Reddit</span></a>
<a class="community-invite__cta" href="https://discord.com/invite/clawd" target="_blank" rel="noopener noreferrer">${icon("discord")}<span>Discord</span></a>
<a class="community-invite__cta" href="https://x.com/openclaw" target="_blank" rel="noopener noreferrer">${icon("x-social")}<span>X</span></a>
<a class="community-invite__cta" href="https://www.reddit.com/r/openclaw/" target="_blank" rel="noopener noreferrer" aria-label="${escapeAttr(joinLabel("Reddit"))}" title="${escapeAttr(joinLabel("Reddit"))}">${icon("reddit")}<span>${escapeHtml(strings.communityJoin)}</span></a>
<a class="community-invite__cta" href="https://discord.com/invite/clawd" target="_blank" rel="noopener noreferrer" aria-label="${escapeAttr(joinLabel("Discord"))}" title="${escapeAttr(joinLabel("Discord"))}">${icon("discord")}<span>${escapeHtml(strings.communityJoin)}</span></a>
<a class="community-invite__cta" href="https://x.com/openclaw" target="_blank" rel="noopener noreferrer" aria-label="${escapeAttr(followLabel)}" title="${escapeAttr(followLabel)}">${icon("x-social")}<span>${escapeHtml(strings.communityFollow)}</span></a>
</div>
</div>
</aside>`;
Expand Down
168 changes: 126 additions & 42 deletions scripts/docs-site/chrome-strings.mjs
Original file line number Diff line number Diff line change
@@ -1,128 +1,212 @@
export const chromeStrings = {
en: {
communityDismissLabel: "Dismiss and don't show again",
communityTitle: "Find your people",
communityBody: "Questions, projects, and the latest from OpenClaw.",
communityTitle: "Pull up a chair.",
communityBody: "There’s a place for you in the AI future. Join the Community on Reddit, Discord, and X.",
communityJoin: "Join",
communityFollow: "Follow",
communityJoinLabel: "Join the OpenClaw community on {platform}",
communityFollowLabel: "Follow OpenClaw on {platform}",
onThisPage: "On this page",
},
"zh-CN": {
communityDismissLabel: "关闭且不再显示",
communityTitle: "找到同好",
communityBody: "交流问题、分享项目,了解 OpenClaw 的最新动态。",
communityTitle: "来坐坐吧。",
communityBody: "AI 的未来有你的一席之地。欢迎加入 Reddit、Discord 和 X 上的社区。",
communityJoin: "加入",
communityFollow: "关注",
communityJoinLabel: "加入 {platform} 上的 OpenClaw 社区",
communityFollowLabel: "在 {platform} 上关注 OpenClaw",
onThisPage: "本页内容",
},
"zh-TW": {
communityDismissLabel: "關閉且不再顯示",
communityTitle: "找到同好",
communityBody: "交流問題、分享專案,掌握 OpenClaw 的最新動態。",
communityTitle: "來坐坐吧。",
communityBody: "AI 的未來有你的一席之地。歡迎加入 Reddit、Discord 和 X 上的社群。",
communityJoin: "加入",
communityFollow: "追蹤",
communityJoinLabel: "加入 {platform} 上的 OpenClaw 社群",
communityFollowLabel: "在 {platform} 上追蹤 OpenClaw",
onThisPage: "本頁內容",
},
"ja-JP": {
communityDismissLabel: "閉じて今後は表示しない",
communityTitle: "仲間を見つけよう",
communityBody: "質問やプロジェクト、OpenClaw の最新情報を共有しましょう。",
communityTitle: "席をどうぞ。",
communityBody: "AI の未来には、あなたの居場所があります。Reddit、Discord、X のコミュニティに参加しませんか。",
communityJoin: "参加",
communityFollow: "フォロー",
communityJoinLabel: "{platform} の OpenClaw コミュニティに参加",
communityFollowLabel: "{platform} で OpenClaw をフォロー",
onThisPage: "このページの内容",
},
es: {
communityDismissLabel: "Cerrar y no volver a mostrar",
communityTitle: "Encuentra tu comunidad",
communityBody: "Preguntas, proyectos y las últimas novedades de OpenClaw.",
communityTitle: "Toma asiento.",
communityBody: "Hay un lugar para ti en el futuro de la IA. Únete a la comunidad en Reddit, Discord y X.",
communityJoin: "Únete",
communityFollow: "Sigue",
communityJoinLabel: "Únete a la comunidad de OpenClaw en {platform}",
communityFollowLabel: "Sigue a OpenClaw en {platform}",
onThisPage: "En esta página",
},
"pt-BR": {
communityDismissLabel: "Fechar e não mostrar novamente",
communityTitle: "Encontre sua comunidade",
communityBody: "Dúvidas, projetos e as novidades do OpenClaw.",
communityTitle: "Puxe uma cadeira.",
communityBody: "Há um lugar para você no futuro da IA. Junte-se à comunidade no Reddit, Discord e X.",
communityJoin: "Entrar",
communityFollow: "Seguir",
communityJoinLabel: "Entrar na comunidade OpenClaw no {platform}",
communityFollowLabel: "Seguir OpenClaw no {platform}",
onThisPage: "Nesta página",
},
ko: {
communityDismissLabel: "닫고 다시 표시하지 않기",
communityTitle: "함께할 사람들을 만나세요",
communityBody: "질문과 프로젝트, OpenClaw의 최신 소식을 나눠 보세요.",
communityTitle: "여기 앉으세요.",
communityBody: "AI의 미래에는 여러분의 자리가 있습니다. Reddit, Discord, X에서 커뮤니티에 함께하세요.",
communityJoin: "참여",
communityFollow: "팔로우",
communityJoinLabel: "{platform}의 OpenClaw 커뮤니티에 참여",
communityFollowLabel: "{platform}에서 OpenClaw 팔로우",
onThisPage: "이 페이지에서",
},
de: {
communityDismissLabel: "Schließen und nicht mehr anzeigen",
communityTitle: "Finde deine Community",
communityBody: "Fragen, Projekte und Neuigkeiten rund um OpenClaw.",
communityTitle: "Nimm Platz.",
communityBody: "In der Zukunft der KI ist Platz für dich. Werde Teil der Community auf Reddit, Discord und X.",
communityJoin: "Beitreten",
communityFollow: "Folgen",
communityJoinLabel: "Der OpenClaw-Community auf {platform} beitreten",
communityFollowLabel: "OpenClaw auf {platform} folgen",
onThisPage: "Auf dieser Seite",
},
fr: {
communityDismissLabel: "Fermer et ne plus afficher",
communityTitle: "Trouvez votre communauté",
communityBody: "Questions, projets et dernières nouvelles d’OpenClaw.",
communityTitle: "Prenez place.",
communityBody: "Vous avez votre place dans l’avenir de l’IA. Rejoignez la communauté sur Reddit, Discord et X.",
communityJoin: "Rejoindre",
communityFollow: "Suivre",
communityJoinLabel: "Rejoindre la communauté OpenClaw sur {platform}",
communityFollowLabel: "Suivre OpenClaw sur {platform}",
onThisPage: "Sur cette page",
},
hi: {
communityDismissLabel: "बंद करें और दोबारा न दिखाएं",
communityTitle: "अपनी कम्युनिटी खोजें",
communityBody: "सवाल, प्रोजेक्ट और OpenClaw की ताज़ा खबरें।",
communityTitle: "आइए, बैठिए।",
communityBody: "AI के भविष्य में आपके लिए भी जगह है। Reddit, Discord और X पर कम्युनिटी से जुड़ें।",
communityJoin: "जुड़ें",
communityFollow: "फ़ॉलो करें",
communityJoinLabel: "{platform} पर OpenClaw कम्युनिटी से जुड़ें",
communityFollowLabel: "{platform} पर OpenClaw को फ़ॉलो करें",
onThisPage: "इस पेज पर",
},
ar: {
communityDismissLabel: "إغلاق وعدم الإظهار مرة أخرى",
communityTitle: "اعثر على مجتمعك",
communityBody: "أسئلة ومشاريع وآخر أخبار OpenClaw.",
communityTitle: "تفضّل بالجلوس.",
communityBody: "لك مكان في مستقبل الذكاء الاصطناعي. انضم إلى المجتمع على Reddit وDiscord وX.",
communityJoin: "انضم",
communityFollow: "تابع",
communityJoinLabel: "انضم إلى مجتمع OpenClaw على {platform}",
communityFollowLabel: "تابع OpenClaw على {platform}",
onThisPage: "في هذه الصفحة",
},
it: {
communityDismissLabel: "Chiudi e non mostrare più",
communityTitle: "Trova la tua community",
communityBody: "Domande, progetti e le ultime novità di OpenClaw.",
communityTitle: "Accomodati.",
communityBody: "C’è un posto per te nel futuro dell’IA. Unisciti alla community su Reddit, Discord e X.",
communityJoin: "Unisciti",
communityFollow: "Segui",
communityJoinLabel: "Unisciti alla community OpenClaw su {platform}",
communityFollowLabel: "Segui OpenClaw su {platform}",
onThisPage: "In questa pagina",
},
vi: {
communityDismissLabel: "Đóng và không hiển thị lại",
communityTitle: "Tìm cộng đồng của bạn",
communityBody: "Câu hỏi, dự án và tin tức mới nhất từ OpenClaw.",
communityTitle: "Kéo ghế ngồi cùng nhé.",
communityBody: "Tương lai AI có chỗ dành cho bạn. Tham gia cộng đồng trên Reddit, Discord và X.",
communityJoin: "Tham gia",
communityFollow: "Theo dõi",
communityJoinLabel: "Tham gia cộng đồng OpenClaw trên {platform}",
communityFollowLabel: "Theo dõi OpenClaw trên {platform}",
onThisPage: "Trên trang này",
},
nl: {
communityDismissLabel: "Sluiten en niet meer tonen",
communityTitle: "Vind je community",
communityBody: "Vragen, projecten en het laatste nieuws over OpenClaw.",
communityTitle: "Schuif gezellig aan.",
communityBody: "Er is een plek voor jou in de toekomst van AI. Sluit je aan bij de community op Reddit, Discord en X.",
communityJoin: "Doe mee",
communityFollow: "Volgen",
communityJoinLabel: "Doe mee met de OpenClaw-community op {platform}",
communityFollowLabel: "OpenClaw volgen op {platform}",
onThisPage: "Op deze pagina",
},
fa: {
communityDismissLabel: "بستن و دیگر نشان ندادن",
communityTitle: "جامعهٔ خود را پیدا کنید",
communityBody: "پرسش‌ها، پروژه‌ها و تازه‌ترین خبرهای OpenClaw.",
communityTitle: "بفرمایید، بنشینید.",
communityBody: "در آیندهٔ هوش مصنوعی جایی برای شما هست. به جامعهٔ ما در Reddit، Discord و X بپیوندید.",
communityJoin: "بپیوندید",
communityFollow: "دنبال کنید",
communityJoinLabel: "به جامعهٔ OpenClaw در {platform} بپیوندید",
communityFollowLabel: "OpenClaw را در {platform} دنبال کنید",
onThisPage: "در این صفحه",
},
tr: {
communityDismissLabel: "Kapat ve bir daha gösterme",
communityTitle: "Topluluğunu bul",
communityBody: "Sorular, projeler ve OpenClaw’dan son haberler.",
communityTitle: "Bir sandalye çek.",
communityBody: "Yapay zekânın geleceğinde sana da yer var. Reddit, Discord ve X’te topluluğa katıl.",
communityJoin: "Katıl",
communityFollow: "Takip et",
communityJoinLabel: "{platform} üzerindeki OpenClaw topluluğuna katıl",
communityFollowLabel: "{platform} üzerinde OpenClaw’u takip et",
onThisPage: "Bu sayfada",
},
uk: {
communityDismissLabel: "Закрити й більше не показувати",
communityTitle: "Знайдіть свою спільноту",
communityBody: "Запитання, проєкти й останні новини OpenClaw.",
communityTitle: "Сідайте з нами.",
communityBody: "У майбутньому ШІ є місце і для вас. Долучайтеся до спільноти в Reddit, Discord та X.",
communityJoin: "Долучитися",
communityFollow: "Стежити",
communityJoinLabel: "Долучитися до спільноти OpenClaw у {platform}",
communityFollowLabel: "Стежити за OpenClaw у {platform}",
onThisPage: "На цій сторінці",
},
id: {
communityDismissLabel: "Tutup dan jangan tampilkan lagi",
communityTitle: "Temukan komunitasmu",
communityBody: "Pertanyaan, proyek, dan kabar terbaru dari OpenClaw.",
communityTitle: "Yuk, duduk bersama.",
communityBody: "Ada tempat untukmu di masa depan AI. Bergabunglah dengan komunitas di Reddit, Discord, dan X.",
communityJoin: "Gabung",
communityFollow: "Ikuti",
communityJoinLabel: "Gabung komunitas OpenClaw di {platform}",
communityFollowLabel: "Ikuti OpenClaw di {platform}",
onThisPage: "Di halaman ini",
},
pl: {
communityDismissLabel: "Zamknij i nie pokazuj ponownie",
communityTitle: "Znajdź swoją społeczność",
communityBody: "Pytania, projekty i najnowsze wieści o OpenClaw.",
communityTitle: "Przysuń krzesło.",
communityBody: "W przyszłości AI jest miejsce dla Ciebie. Dołącz do społeczności na Reddicie, Discordzie i X.",
communityJoin: "Dołącz",
communityFollow: "Obserwuj",
communityJoinLabel: "Dołącz do społeczności OpenClaw na {platform}",
communityFollowLabel: "Obserwuj OpenClaw na {platform}",
onThisPage: "Na tej stronie",
},
ru: {
communityDismissLabel: "Закрыть и больше не показывать",
communityTitle: "Найдите своё сообщество",
communityBody: "Вопросы, проекты и последние новости OpenClaw.",
communityTitle: "Присаживайтесь.",
communityBody: "В будущем ИИ есть место и для вас. Присоединяйтесь к сообществу в Reddit, Discord и X.",
communityJoin: "Вступить",
communityFollow: "Подписаться",
communityJoinLabel: "Вступить в сообщество OpenClaw в {platform}",
communityFollowLabel: "Подписаться на OpenClaw в {platform}",
onThisPage: "На этой странице",
},
th: {
communityDismissLabel: "ปิดและไม่ต้องแสดงอีก",
communityTitle: "พบชุมชนของคุณ",
communityBody: "คำถาม โปรเจกต์ และข่าวสารล่าสุดจาก OpenClaw",
communityTitle: "มานั่งด้วยกันสิ",
communityBody: "อนาคตของ AI มีที่สำหรับคุณ มาร่วมชุมชนกับเราบน Reddit, Discord และ X",
communityJoin: "เข้าร่วม",
communityFollow: "ติดตาม",
communityJoinLabel: "เข้าร่วมชุมชน OpenClaw บน {platform}",
communityFollowLabel: "ติดตาม OpenClaw บน {platform}",
onThisPage: "ในหน้านี้",
},
};
Expand Down
Loading
Loading