---
title: "Creating Content"
description: "How to create and edit content in the HQ admin panel."
canonical_url: "https://docs.bulkheados.com/content/creating/"
template: "page-node"
schema_type: "WebPage"
---

<div class="docs-content">
<p class="docs-lead">Creating content in Bulkhead OS is straightforward. Open <strong>Semantic Graph → Library</strong> in the sidebar, click <strong>New Node</strong>, and start writing.</p>

<h2 id="create-flow">Creating a New Page</h2>
<ol>
<li>Navigate to <strong>Semantic Graph → Library</strong> in the sidebar</li>
<li>Click <strong>New Node</strong></li>
<li>Select a content type</li>
<li>Enter a <strong>title</strong> — the URL slug is generated automatically</li>
<li>Write your content in the editor</li>
<li>Set the <strong>status</strong> to Published when you're ready</li>
</ol>

<h2 id="editor">The Editor</h2>
<p>The content editor supports:</p>
<ul>
<li><strong>Rich text formatting</strong> — headings, bold, italic, lists, links</li>
<li><strong>Code blocks</strong> — syntax highlighted, with language detection</li>
<li><strong>Media embedding</strong> — images, videos, and iframes</li>
<li><strong>HTML mode</strong> — drop down to raw HTML for full control</li>
</ul>

<h2 id="preview-and-highlight">Preview & Highlighting</h2>
<p>Preview rendering uses the same Markdown pipeline your site uses in production. When a code fence includes a language, Bulkhead OS can render a syntax-highlighted preview with Shiki-backed themes for both light and dark reading modes.</p>

<pre><code class="language-http">POST /api/v1/editor-preview
Content-Type: application/json
Authorization: Bearer ENGINE_ADMIN_TOKEN

{
  "markdown": "# Example\n\n~~~ts\nconsole.log('hello from Bulkhead')\n~~~",
  "theme": "dark"
}</code></pre>

<div class="docs-callout docs-callout--info">
<p><strong>Authoring tip:</strong> Keep examples short enough to scan, but concrete enough to copy. If a paragraph explains an API, include the real request shape directly underneath it.</p>
</div>

<h2 id="slugs">URL Slugs</h2>
<p>Each piece of content gets a URL based on its slug. Slugs are auto-generated from the title but you can customize them. Once published, changing a slug automatically creates a redirect from the old URL.</p>

<div class="docs-callout docs-callout--warning">
<p><strong>Important:</strong> Content must be assigned a <strong>placement</strong> (a public URL) to be visible on your site. The Library lets you manage both the content and its URL assignment in one place.</p>
</div>

<p>For a fuller example gallery, continue to <a href="/content/code-blocks">Code Blocks &amp; Shiki</a>.</p>
</div>
