Skip to content

Commit 829c614

Browse files
kaci8claude
andauthored
Add blog with open source announcement post (#7)
* Add blog with open source announcement post - Wire up internal /blog route (navbar, footer, announcement bar, homepage links) - Add authors.yml, tags.yml, and open source announcement post - Add team avatar and cover image assets - Style blog body text (Geist sans-serif, muted color, wide line-height) - Hide announcement bar on blog pages - Fix TOC anchor scroll offset for sticky navbar Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Blog cleanup: Link component, trim tags, update author title - Replace same-origin <a href> with <Link to> in SiteFooter - Remove unused tags from tags.yml (keep only announcement) - Update 8thwall author title to "Open Source Team" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: restore missing closing brace in custom.css GitHub UI conflict resolution dropped the } closing the scroll-margin-top block, causing an unclosed block PostCSS syntax error at build time. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Signed-off-by: Kaci Lambeth <97469517+kaci8@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent cfba220 commit 829c614

10 files changed

Lines changed: 149 additions & 12 deletions

File tree

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
title: "Goodbye 8thwall.com. Hello 8thwall.org."
3+
description: "Nearly a decade of XR engine development and WebAR tooling is now in the open."
4+
date: 2026-03-02
5+
authors: [8thwall]
6+
tags: [announcement]
7+
image: /img/blog/open-source-cover.png
8+
slug: 8th-wall-open-source
9+
---
10+
11+
Nearly a decade of XR engine development and WebAR tooling is now in the open.
12+
13+
![8th Wall open source](/img/blog/open-source-cover.png)
14+
15+
<!-- truncate -->
16+
17+
Over the past few months, we shared that 8th Wall would transition from a hosted, paid platform to an open source project. As of February 28, 2026, that transition is complete.
18+
19+
8th Wall now continues at <a href="https://8thwall.org/">8thwall.org</a> as a free, open source XR toolset.
20+
21+
## What's live today
22+
23+
While the hosted 8th Wall platform — login, the cloud editor, and web-based Studio — is no longer available, the technology lives on. The same codebase that powered thousands of WebAR experiences is now open, where it can be inspected, extended, and improved by anyone.
24+
25+
We've released components in stages over the past few months.
26+
27+
In January, we released the [Distributed Engine Binary](https://github.com/8thwall/engine/tree/main). It includes SLAM and is available under a binary-only license for continued commercial and noncommercial use. VPS, Maps, and Hand Tracking are not included.
28+
29+
Today, we're publishing an [MIT-licensed open source version of the engine framework](https://github.com/8thwall/8thwall/tree/main/packages/engine) that does not include SLAM. The core architecture and major AR feature modules — including Face Effects, Image Targets, and Sky Effects — are now available in the open.
30+
31+
SLAM has not been open sourced and will only be available in the Distributed Engine Binary. But with the rest of the framework now open, the engine isn't frozen in place. As browser APIs change and web standards evolve, the community can maintain and adapt it without depending on us.
32+
33+
Several supporting tools are also available:
34+
35+
- [Sample projects](https://8th.io/examples), including starter templates, feature demos, and best practice references
36+
- [Image Target Processor CLI](https://github.com/8thwall/8thwall/tree/main/apps/image-target-cli), a tool for creating new image targets for use with the XR engine
37+
- [Archive](https://github.com/8thwall/archive), a cleaned snapshot of the 8th Wall monorepo, is available for reference
38+
39+
All of this is governed by a formal open source model, with contribution guidelines and decision-making processes documented in the [repository](https://github.com/8thwall/8thwall).
40+
41+
## What's coming next
42+
43+
Today is a major milestone, but the transition isn't finished.
44+
45+
Over the next month, we'll complete the next wave of releases, including updated documentation fully migrated to GitHub, the full open source release of the Desktop App, open source ECS runtime components, MCP server, and additional sample projects and reference implementations.
46+
47+
We're shipping as quickly as we can do it right. [GitHub](https://github.com/orgs/8thwall/discussions) and [Discord](https://8th.io/discord) are where updates will land first.
48+
49+
## Thank you for building with us
50+
51+
To our community of developers, brands, and agencies: thank you.
52+
53+
Since we announced the closing of 8th Wall, you've shown up with thoughtfulness, tough questions, honest feedback, and patience. That input shaped everything you see on 8thwall.org today.
54+
55+
We're proud of what we built together, and grateful for the trust you placed in us.
56+
57+
This is a community project now. If you want to help shape what 8th Wall becomes next, review the [governance](https://github.com/8thwall/8thwall/blob/main/GOVERNANCE.md) and [contribution](https://github.com/8thwall/8thwall/blob/main/CONTRIBUTING.md) docs in the repo and join us in the open.
58+
59+
— The 8th Wall Team

blog/authors.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Blog author profiles.
2+
# Reference these keys in post front matter: authors: [8thwall]
3+
# Multiple authors: authors: [8thwall, jane]
4+
5+
8thwall:
6+
name: 8th Wall
7+
title: Open Source Team
8+
image_url: /img/authors/team_blog_avatar.png
9+
10+
# Add individual authors below. Avatar images go in static/img/authors/.
11+
# Example:
12+
# jane:
13+
# name: Jane Smith
14+
# title: Developer Advocate
15+
# url: https://github.com/janesmith
16+
# image_url: /img/authors/jane.jpg

blog/tags.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Canonical tag definitions for blog posts.
2+
# Posts can use any tag string, but tags listed here get a custom
3+
# display label and permalink.
4+
5+
announcement:
6+
label: Announcement
7+
permalink: /announcement

docusaurus.config.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@ const config = {
2525
path: 'blog',
2626
routeBasePath: 'blog',
2727
showReadingTime: false,
28+
blogSidebarTitle: 'Recent posts',
29+
blogSidebarCount: 10,
30+
feedOptions: {
31+
type: 'all',
32+
title: '8th Wall Blog',
33+
description: 'News and updates from 8th Wall',
34+
copyright: `Copyright © ${new Date().getFullYear()} 8th Wall`,
35+
},
2836
},
2937
theme: {
3038
customCss: './src/css/custom.css',
@@ -40,7 +48,7 @@ const config = {
4048
},
4149
announcementBar: {
4250
id: 'migration',
43-
content: '<span class="announcement-text">The hosted 8th Wall platform was retired Feb 28, 2026. Existing published experiences continue to run until Feb 28, 2027.</span><span class="announcement-btns"><a target="_blank" rel="noopener" href="https://8th.io/migration" class="banner-btn">View Migration Guide</a><a target="_blank" rel="noopener" href="https://8th.io/blog" class="banner-btn">View Announcements</a></span>',
51+
content: '<span class="announcement-text">The hosted 8th Wall platform was retired Feb 28, 2026. Existing published experiences continue to run until Feb 28, 2027.</span><span class="announcement-btns"><a target="_blank" rel="noopener" href="https://8th.io/migration" class="banner-btn">View Migration Guide</a><a target="_blank" rel="noopener" href="/blog" class="banner-btn">View Announcements</a></span>',
4452
backgroundColor: '#111',
4553
textColor: '#a1a1a1',
4654
isCloseable: false,
@@ -58,7 +66,7 @@ const config = {
5866
{ href: 'https://github.com/8thwall', label: 'GitHub', position: 'left' },
5967
{ href: 'https://8th.io/examples', label: 'Samples', position: 'left' },
6068
{ href: 'https://www.youtube.com/@8thwall', label: 'Tutorials', position: 'left' },
61-
{ href: 'https://8th.io/blog', label: 'Blog', position: 'left' },
69+
{ to: '/blog', label: 'Blog', position: 'left' },
6270
{ href: 'https://8th.io/discord', label: 'Discord', position: 'left' },
6371
{ href: 'https://www.8thwall.com/docs', label: 'Docs', position: 'left' },
6472
{

src/components/SiteFooter.jsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,32 @@
11
import React from 'react';
2+
import Link from '@docusaurus/Link';
23

34
export default function SiteFooter() {
45
return (
56
<footer className="footer">
67
<div className="site-footer-inner">
78
<div className="footer-grid">
89
<div className="footer-brand">
9-
<a href="/" className="logo">
10+
<Link to="/" className="logo">
1011
<img src="/logo.png" alt="8th Wall" width={25} height={25} loading="lazy" />
11-
</a>
12+
</Link>
1213
<p className="footer-tagline">Build immersive AR and interactive 3D. Free and open.</p>
1314
</div>
1415
<div className="footer-links">
1516
<div className="footer-column">
1617
<h2 className="footer-heading">Product</h2>
17-
<a href="/#available">Features</a>
18-
<a href="/#getting-started">Getting Started</a>
19-
<a href="/downloads">Download</a>
20-
<a href="/#faq">FAQ</a>
18+
<Link to="/#available">Features</Link>
19+
<Link to="/#getting-started">Getting Started</Link>
20+
<Link to="/downloads">Download</Link>
21+
<Link to="/#faq">FAQ</Link>
2122
</div>
2223
<div className="footer-column">
2324
<h2 className="footer-heading">Resources</h2>
2425
<a href="https://8th.io/migration" target="_blank" rel="noopener">Documentation</a>
2526
<a href="https://www.youtube.com/@8thwall" target="_blank" rel="noopener">Video Tutorials</a>
2627
<a href="https://github.com/8thwall" target="_blank" rel="noopener">GitHub</a>
2728
<a href="https://8th.io/examples" target="_blank" rel="noopener">Example Projects</a>
28-
<a href="https://8th.io/blog" target="_blank" rel="noopener">Blog</a>
29+
<Link to="/blog">Blog</Link>
2930
</div>
3031
<div className="footer-column">
3132
<h2 className="footer-heading">Get Involved</h2>
@@ -38,7 +39,7 @@ export default function SiteFooter() {
3839
</div>
3940
<div className="footer-bottom">
4041
<p className="copyright">© 2026 Niantic Spatial, Inc. All rights reserved.</p>
41-
<a href="/legacy-policies" className="footer-legal-link">Legacy Policies</a>
42+
<Link to="/legacy-policies" className="footer-legal-link">Legacy Policies</Link>
4243
</div>
4344
</div>
4445
</footer>

src/components/SiteNav.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export default function SiteNav() {
3838
<a href="https://8thwall.com/docs/" target="_blank" rel="noopener">Docs</a>
3939
<a href="https://8th.io/examples" target="_blank" rel="noopener">Samples</a>
4040
<a href="https://www.youtube.com/@8thwall" target="_blank" rel="noopener">Tutorials</a>
41-
<a href="https://8th.io/blog" target="_blank" rel="noopener">Blog</a>
41+
<Link to="/blog">Blog</Link>
4242
<a href="https://8th.io/discord" target="_blank" rel="noopener">Discord</a>
4343
</>
4444
);

src/css/custom.css

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1833,6 +1833,52 @@ body.nav-open .nav-drawer {
18331833
transition: none !important;
18341834
}
18351835

1836+
/* Hide announcement bar on blog pages */
1837+
.blog-post-page div[class*="announcementBar"],
1838+
.blog-list-page div[class*="announcementBar"] {
1839+
display: none !important;
1840+
}
1841+
1842+
/* Blog post body — improve readability for long-form content.
1843+
Switch from monospace to sans-serif, soften contrast, increase line spacing.
1844+
Applied to both the post page and the list page excerpt. */
1845+
.blog-post-page .markdown,
1846+
.blog-list-page .markdown,
1847+
.blog-tags-post-list-page .markdown {
1848+
font-family: 'Geist', -apple-system, BlinkMacSystemFont, sans-serif;
1849+
font-size: 1.0625rem;
1850+
line-height: 1.8;
1851+
color: #c8c8c8;
1852+
}
1853+
1854+
.blog-post-page .markdown h1,
1855+
.blog-post-page .markdown h2,
1856+
.blog-post-page .markdown h3,
1857+
.blog-post-page .markdown h4 {
1858+
color: #ffffff;
1859+
font-family: var(--ifm-heading-font-family);
1860+
}
1861+
1862+
.blog-post-page .markdown a {
1863+
color: var(--ifm-color-primary-light);
1864+
}
1865+
1866+
.blog-post-page .markdown a:hover {
1867+
color: #ffffff;
1868+
}
1869+
1870+
/* Scroll offset for TOC anchor links — keep headings below the sticky navbar */
1871+
.theme-doc-markdown h1,
1872+
.theme-doc-markdown h2,
1873+
.theme-doc-markdown h3,
1874+
.theme-doc-markdown h4,
1875+
.markdown h1,
1876+
.markdown h2,
1877+
.markdown h3,
1878+
.markdown h4 {
1879+
scroll-margin-top: 88px;
1880+
}
1881+
18361882
.hidden {
18371883
display: none;
18381884
}

src/pages/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ export default function Home() {
177177
<ul className="involve-list">
178178
<li><a href="https://8th.io/discord" target="_blank" rel="noopener">Join the Discord</a></li>
179179
<li><a href="https://github.com/orgs/8thwall/discussions" target="_blank" rel="noopener">GitHub Discussions</a></li>
180-
<li><a href="https://8th.io/blog" target="_blank" rel="noopener">Follow the blog</a></li>
180+
<li><a href="/blog">Follow the blog</a></li>
181181
</ul>
182182
</div>
183183
<div className="involve-card">
24.4 KB
Loading
216 KB
Loading

0 commit comments

Comments
 (0)