PageSourceSearch

https://guides.alchemy-cms.com/about.html

html alchemy-cms.com collected 2026-10-02 06:50:51 UTC 47,647 bytes, 30 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US" dir="ltr">
3  <head>
4    <meta charset="utf-8">
5    <meta name="viewport" content="width=device-width,initial-scale=1">
6    <title>About AlchemyCMS | AlchemyCMS</title>
7    <meta name="description" content="Alchemy is the Open Source Rails CMS framework for the component based web that can be used as classic server side rendered or headless CMS.">
8    <meta name="generator" content="VitePress v1.6.4">
9    <link rel="preload stylesheet" href="/assets/style.z15gDXXE.css" as="style">
10    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
11    
12    
12<script type="module" src="/assets/app.BP95Y0i7.js"></script>
12
13    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
14    <link rel="modulepreload" href="/assets/chunks/theme.Dbg2-YMd.js">
15    <link rel="modulepreload" href="/assets/chunks/framework.BLaSdaBb.js">
16    <link rel="modulepreload" href="/assets/about.md.ARxTanQj.lean.js">
17    <link rel="icon" type="image/x-icon" href="/favicon.ico">
18    
18<script async src="https://analytics.blish.cloud/js/pa-CubCE1Mo6pmiWreeps0Sd.js"></script>
18
19    
19<script>window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}},plausible.init();</script>
19
20    
20<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
20
21    
21<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
21
22  </head>
23  <body>
24    <div id="app"><div class="Layout" data-v-5a061a3b><!--[--><!--]--><!--[--><span tabindex="-1" data-v-6c0b71c6></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-6c0b71c6>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5a061a3b data-v-a52dabe2><div class="VPNavBar" data-v-a52dabe2 data-v-50a2d516><div class="wrapper" data-v-50a2d516><div class="container" data-v-50a2d516><div class="title" data-v-50a2d516><div class="VPNavBarTitle has-sidebar" data-v-50a2d516 data-v-6d18a981><a class="title" href="/" data-v-6d18a981><!--[--><!--]--><!--[--><img class="VPImage logo" src="/icon.svg" alt data-v-5f22c67b><!--]--><span data-v-6d18a981>AlchemyCMS</span><!--[--><!--]--></a></div></div><div class="content" data-v-50a2d516><div class="content-body" data-v-50a2d516><!--[--><!--]--><div class="VPNavBarSearch search" data-v-50a2d516><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-50a2d516 data-v-c521d998><span id="main-nav-aria-label" class="visually-hidden" data-v-c521d998> Main Navigation </span><!--[--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://www.alchemy-cms.com" target="_blank" rel="noreferrer" tabindex="0" data-v-c521d998 data-v-51faa528><!--[--><span data-v-51faa528>Home</span><!--]--></a><!--]--><!--[--><a class='VPLink link VPNavBarMenuLink' data-v-51faa528 data-v-c521d998 href='/extensions' tabindex='0'><!--[--><span data-v-51faa528>Extensions</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-c521d998 data-v-27583fa7><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-27583fa7><span class="text" data-v-27583fa7><!----><span data-v-27583fa7>Version</span><span class="vpi-chevron-down text-icon" data-v-27583fa7></span></span></button><div class="menu" data-v-27583fa7><div class="VPMenu" data-v-27583fa7 data-v-5112ebc2><div class="items" data-v-5112ebc2><!--[--><!--[--><div class="VPMenuLink" data-v-5112ebc2 data-v-d0bdf82d><a class="VPLink link" href="/v6.html" data-v-d0bdf82d><!--[--><span data-v-d0bdf82d>v6</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5112ebc2 data-v-d0bdf82d><a class="VPLink link" href="/v7.html" data-v-d0bdf82d><!--[--><span data-v-d0bdf82d>v7</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5112ebc2 data-v-d0bdf82d><a class="VPLink link active" href="/" data-v-d0bdf82d><!--[--><span data-v-d0bdf82d>v8 (latest)</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-50a2d516 data-v-3983fd68><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-3983fd68 data-v-a24b5f1e data-v-74f3c190><span class="check" data-v-74f3c190><span class="icon" data-v-74f3c190><!--[--><span class="vpi-sun sun" data-v-a24b5f1e></span><span class="vpi-moon moon" data-v-a24b5f1e></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-50a2d516 data-v-f85c4fe0 data-v-ef6aae74><!--[--><a class="VPSocialLink no-icon" href="https://github.com/AlchemyCMS/" aria-label="github" target="_blank" rel="noopener" data-v-ef6aae74 data-v-dbe0ca89><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://ruby.social/@alchemy_cms" aria-label="mastodon" target="_blank" rel="noopener" data-v-ef6aae74 data-v-dbe0ca89><span class="vpi-social-mastodon"></span></a><a class="VPSocialLink no-icon" href="https://bsky.app/profile/alchemy-cms.com" aria-label="bluesky" target="_blank" rel="noopener" data-v-ef6aae74 data-v-dbe0ca89><span class="vpi-social-bluesky"></span></a><a class="VPSocialLink no-icon" href="https://alchemy-cms.slack.com" aria-label="slack" target="_blank" rel="noopener" data-v-ef6aae74 data-v-dbe0ca89><span class="vpi-social-slack"></span></a>
24<!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-50a2d516 data-v-f494662a data-v-27583fa7><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-27583fa7><span class="vpi-more-horizontal icon" data-v-27583fa7></span></button><div class="menu" data-v-27583fa7><div class="VPMenu" data-v-27583fa7 data-v-5112ebc2><!----><!--[--><!--[--><!----><div class="group" data-v-f494662a><div class="item appearance" data-v-f494662a><p class="label" data-v-f494662a>Appearance</p><div class="appearance-action" data-v-f494662a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-f494662a data-v-a24b5f1e data-v-74f3c190><span class="check" data-v-74f3c190><span class="icon" data-v-74f3c190><!--[--><span class="vpi-sun sun" data-v-a24b5f1e></span><span class="vpi-moon moon" data-v-a24b5f1e></span><!--]--></span></span></button></div></div></div><div class="group" data-v-f494662a><div class="item social-links" data-v-f494662a><div class="VPSocialLinks social-links-list" data-v-f494662a data-v-ef6aae74><!--[--><a class="VPSocialLink no-icon" href="https://github.com/AlchemyCMS/" aria-label="github" target="_blank" rel="noopener" data-v-ef6aae74 data-v-dbe0ca89><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://ruby.social/@alchemy_cms" aria-label="mastodon" target="_blank" rel="noopener" data-v-ef6aae74 data-v-dbe0ca89><span class="vpi-social-mastodon"></span></a><a class="VPSocialLink no-icon" href="https://bsky.app/profile/alchemy-cms.com" aria-label="bluesky" target="_blank" rel="noopener" data-v-ef6aae74 data-v-dbe0ca89><span class="vpi-social-bluesky"></span></a><a class="VPSocialLink no-icon" href="https://alchemy-cms.slack.com" aria-label="slack" target="_blank" rel="noopener" data-v-ef6aae74 data-v-dbe0ca89><span class="vpi-social-slack"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-50a2d516 data-v-9532f6d4><span class="container" data-v-9532f6d4><span class="top" data-v-9532f6d4></span><span class="middle" data-v-9532f6d4></span><span class="bottom" data-v-9532f6d4></span></span></button></div></div></div></div><div class="divider" data-v-50a2d516><div class="divider-line" data-v-50a2d516></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5a061a3b data-v-180c25e7><div class="container" data-v-180c25e7><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-180c25e7><span class="vpi-align-left menu-icon" data-v-180c25e7></span><span class="menu-text" data-v-180c25e7>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-180c25e7 data-v-ef46f8f7><button data-v-ef46f8f7>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5a061a3b data-v-fb29df2e><div class="curtain" data-v-fb29df2e></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-fb29df2e><span class="visually-hidden" id="sidebar-aria-label" data-v-fb29df2e> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-b6526fdb><section class="VPSidebarItem level-0 collapsible has-active" data-v-b6526fdb data-v-86ed7936><div class="item" role="button" tabindex="0" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><h2 class="text" data-v-86ed7936>Introduction</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-86ed7936><span class="vpi-chevron-right caret-icon" data-v-86ed7936></span></div></div><div class="items" data-v-86ed7936><!--[--><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/about'><!--[--><p class="text" data-v-86ed7936>About AlchemyCMS</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/getting_started'><!--[--><p class="text" data-v-86ed7936>Getting Started</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-b6526fdb><section class="VPSidebarItem level-0 collapsible" data-v-b6526fdb data-v-86ed7936><div class="item" role="button" tabindex="0" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><h2 class="text" data-v-86ed7936>Basics</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-86ed7936><span class="vpi-chevron-right caret-icon" data-v-86ed7936></span></div></div><div class="items" data-v-86ed7936><!--[--><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/elements'><!--[--><p class="text" data-v-86ed7936>Elements</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/ingredients'><!--[--><p class="text" data-v-86ed7936>Ingredients</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/pages'><!--[--><p class="text" data-v-86ed7936>Pages</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/menus'><!--[--><p class="text" data-v-86ed7936>Menus</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/render_images'><!--[--><p class="text" data-v-86ed7936>Rendering Images</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/configuration'><!--[--><p class="text" data-v-86ed7936>Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/i18n'><!--[--><p class="text" data-v-86ed7936>I18n</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/seeder'><!--[--><p class="text" data-v-86ed7936>Seeder</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/deployment'><!--[--><p class="text" data-v-86ed7936>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/upgrading'><!--[--><p class="text" data-v-86ed7936>Updating</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-b6526fdb><section class="VPSidebarItem level-0 collapsible collapsed" data-v-b6526fdb data-v-86ed7936><div class="item" role="button" tabindex="0" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><h2 class="text" data-v-86ed7936>Admin Modules</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-86ed7936><span class="vpi-chevron-right caret-icon" data-v-86ed7936></span></div></div><div class="items" data-v-86ed7936><!--[--><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/library'><!--[--><p class="text" data-v-86ed7936>Library</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/tags'><!--[--><p class="text" data-v-86ed7936>Tags</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/languages'><!--[--><p class="text" data-v-86ed7936>Languages</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/sites'><!--[--><p class="text" data-v-86ed7936>Sites</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_create_modules'><!--[--><p class="text" data-v-86ed7936>Custom Modules</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-b6526fdb><section class="VPSidebarItem level-0 collapsible collapsed" data-v-b6526fdb data-v-86ed7936><div class="item" role="button" tabindex="0" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><h2 class="text" data-v-86ed7936>How To</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-86ed7936><span class="vpi-chevron-right caret-icon" data-v-86ed7936></span></div></div><div class="items" data-v-86ed7936><!--[--><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_create_a_blog'><!--[--><p class="text" data-v-86ed7936>Create a Blog</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_create_a_contact_form'><!--[--><p class="text" data-v-86ed7936>Create a Contact Form</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_customize_tinymce'><!--[--><p class="text" data-v-86ed7936>Customize the Richtext Editor</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_create_custom_ingredients'><!--[--><p class="text" data-v-86ed7936>Create Custom Ingredients</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_deploy_with_kamal'><!--[--><p class="text" data-v-86ed7936>Deploy with Kamal</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_add_custom_authentication'><!--[--><p class="text" data-v-86ed7936>Add Custom Authentication</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_integrate_into_existing_rails_app'><!--[--><p class="text" data-v-86ed7936>Integrate Into Existing Rails App</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-86ed7936><div class="item" data-v-86ed7936><div class="indicator" data-v-86ed7936></div><a class='VPLink link link' data-v-86ed7936 href='/how_to_extend_alchemy'><!--[--><p class="text" data-v-86ed7936>Extend Alchemy</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--[--><div class="help-box" data-v-c47e4c1a><b data-v-c47e4c1a>Need help with Alchemy?</b><br data-v-c47e4c1a><p class="text" data-v-c47e4c1a> Ask the experts from <a href="https://blish.cloud" class="blish-link" target="_blank" data-v-c47e4c1a><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 117.074 25.488" width="60px" height="0.8rem" style="transform:translateY(0.05rem);" class="blish-logo" data-v-c47e4c1a><path d="m117.324.644h-5.457v24.7h5.457zm-16.272 15.011h6.373v-4.679h-6.373v-10.332h-5.352v24.7h5.348zm-27.852-8.49c0-1.172 1.241-2.019 3.26-2.019a5.191 5.191 0 0 1 4.462 2.128l3.654-2.906a9.658 9.658 0 0 0 -8.256-4.108c-4.541 0-8.51 2.551-8.51 6.983 0 3.969 2.443 5.88 5.989 7.161 3.437 1.281 6.201 1.813 6.201 3.97 0 1.172-.955 2.443-3.684 2.443a6.961 6.961 0 0 1 -6.205-3.26l-3.969 2.728c1.527 2.975 4.817 5.457 10.
24135 5.457 6.274 0 9.18-3.191 9.18-7.545 0-3.546-1.842-5.634-6.3-7.338-4.009-1.577-5.95-1.646-5.957-3.694m-22.1 18.182h5.457v-24.703h-5.457zm-24.5 0h15.1v-4.964h-9.635v-19.739h-5.457zm-10.433-7.308a5.805 5.805 0 0 0 -4.967-6.127 4.969 4.969 0 0 0 3.152-4.964c0-3.654-3.122-6.3-7.052-6.3h-7.05v4.675h6.215a2.512 2.512 0 0 1 2.62 2.4v.138a2.534 2.534 0 0 1 -2.453 2.62h-6.382v4.219h7.279a2.959 2.959 0 0 1 3.211 2.689 1.6 1.6 0 0 1 .01.217 3.027 3.027 0 0 1 -3.044 3.014h-4.8v.02h-2.656v4.7h8.412a7.211 7.211 0 0 0 7.506-6.9 2.63 2.63 0 0 0 0-.394"></path></svg></a></p></div><!--]--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5a061a3b data-v-31574be9><div class="VPDoc has-sidebar has-aside" data-v-31574be9 data-v-afcca8bd><!--[--><!--]--><div class="container" data-v-afcca8bd><div class="aside" data-v-afcca8bd><div class="aside-curtain" data-v-afcca8bd></div><div class="aside-container" data-v-afcca8bd><div class="aside-content" data-v-afcca8bd><div class="VPDocAside" data-v-afcca8bd data-v-c923903c><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-c923903c data-v-a41173bc><div class="content" data-v-a41173bc><div class="outline-marker" data-v-a41173bc></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a41173bc>On this page</div><ul class="VPDocOutlineItem root" data-v-a41173bc data-v-5fe27193><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-c923903c></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-afcca8bd><div class="content-container" data-v-afcca8bd><!--[--><!--]--><main class="main" data-v-afcca8bd><div style="position:relative;" class="vp-doc _about" data-v-afcca8bd><div><h1 id="about-alchemycms" tabindex="-1">About AlchemyCMS <a class="header-anchor" href="#about-alchemycms" aria-label="Permalink to &quot;About AlchemyCMS&quot;">​</a></h1><p>Alchemy is a flexible, developer-friendly content management framework for Ruby on Rails. It gives you full control over markup and styling while providing editors with a powerful, intuitive admin interface.</p><h2 id="rails-engine" tabindex="-1">Rails Engine <a class="header-anchor" href="#rails-engine" aria-label="Permalink to &quot;Rails Engine&quot;">​</a></h2><p>Alchemy is a <a href="https://guides.rubyonrails.org/engines.html" target="_blank" rel="noreferrer">Rails engine</a> that integrates into your existing application. It uses standard Rails conventions — ERB templates, ActiveRecord, asset pipeline — so there is nothing new to learn.</p><h2 id="content-architecture" tabindex="-1">Content Architecture <a class="header-anchor" href="#content-architecture" aria-label="Permalink to &quot;Content Architecture&quot;">​</a></h2><p>Unlike CMS systems that store complete HTML pages, Alchemy stores only structured content: text, references to images and attachments, and richtext. No HTML markup, no CSS, no layout. You control how content is rendered.</p><h3 id="the-content-hierarchy" tabindex="-1">The Content Hierarchy <a class="header-anchor" href="#the-content-hierarchy" aria-label="Permalink to &quot;The Content Hierarchy&quot;">​</a></h3><img src="/content-hierarchy-light.svg" alt="Content Hierarchy" class="light-only"><img src="/content-hierarchy-dark.svg" alt="Content Hierarchy" class="dark-only"><ul><li>A <strong>Site</strong> has one or more <strong>Languages</strong>.</li><li>Each language has a tree of <strong><a href='/pages'>Pages</a></strong>.</li><li>Each page maintains a <strong>draft version</strong> for editing and a <strong>public version</strong> for visitors. When a page is published, Alchemy duplicates the draft&#39;s elements into the public version. This is handled transparently.</li><li>Pages support <strong><a href='/pages#publishing'>time-based publishing</a></strong>, allowing scheduled publishing and expiration. Since 8.1, <a href='/elements#time-based-publishing'>elements support this as well</a>.</li><li>Pages contain <strong><a href='/elements'>Elements</a></strong> — reusable content components like articles, hero sections, or cards. Elements can be nested.</li><li>Elements contain <strong><a href='/ingredients'>Ingredients</a></strong> — typed content fields like Text, Richtext, Picture, or Boolean.</li></ul><h3 id="the-render-flow" tabindex="-1">The Render Flow <a class="header-anchor" href="#the-render-flow" aria-label="Permalink to &quot;
24The Render Flow&quot;">​</a></h3><p>Alchemy uses standard <a href="https://guides.rubyonrails.org/layouts_and_rendering.html#using-partials" target="_blank" rel="noreferrer">Rails partials</a> and <a href="https://viewcomponent.org" target="_blank" rel="noreferrer">ViewComponents</a>. It has no custom templating language.</p><p>When Alchemy renders a page, these files are used:</p><ol><li><code>app/views/layouts/application.html.erb</code> — your application layout</li><li><code>app/views/alchemy/page_layouts/_&lt;page_layout&gt;.html.erb</code> — the page layout partial</li><li><code>app/views/alchemy/elements/_&lt;element&gt;.html.erb</code> — the element partial</li><li>Ingredient view components render the individual content fields</li></ol><h3 id="planning-your-content-structure" tabindex="-1">Planning Your Content Structure <a class="header-anchor" href="#planning-your-content-structure" aria-label="Permalink to &quot;Planning Your Content Structure&quot;">​</a></h3><p>Start by identifying the different types of pages your site needs (called page layouts). Every structurally different page should have its own layout. <a href='/pages'>More about pages.</a></p><p>Then split the content within each layout into elements. Group related content fields into reusable components. Elements are the key building blocks of Alchemy. <a href='/elements'>More about elements.</a></p><p>Finally, define the ingredients for each element — the individual content fields like headlines, images, and text. <a href='/ingredients'>More about ingredients.</a></p><h2 id="image-processing" tabindex="-1">Image Processing <a class="header-anchor" href="#image-processing" aria-label="Permalink to &quot;Image Processing&quot;">​</a></h2><p>Alchemy renders images on the fly using <a href="https://imagemagick.org" target="_blank" rel="noreferrer">ImageMagick</a> or <a href="https://www.libvips.org" target="_blank" rel="noreferrer">libvips</a>. Images are stored as originals in the picture library. Editors assign them to elements and can crop them using the built-in cropping tool. You define the rendering dimensions and output format. <a href='/render_images'>More about rendering images.</a></p><h2 id="caching" tabindex="-1">Caching <a class="header-anchor" href="#caching" aria-label="Permalink to &quot;Caching&quot;">​</a></h2><p>Alchemy uses Rails&#39; Russian doll caching for fast content delivery. With every page request Alchemy sends <code>Cache-Control</code> headers that CDNs, proxies and browsers use to cache the page. Caching can be configured globally or per page layout. <a href='/configuration#caching'>More about caching.</a></p><h2 id="admin-modules" tabindex="-1">Admin Modules <a class="header-anchor" href="#admin-modules" aria-label="Permalink to &quot;Admin Modules&quot;">​</a></h2><p>Alchemy comes with these admin modules:</p><ul><li><strong><a href='/pages'>Pages</a></strong> — manage the page tree and edit content</li><li><strong><a href='/menus'>Menus</a></strong> — manage navigation trees independently from pages</li><li><strong><a href='/languages'>Languages</a></strong> — multi-language support</li><li><strong><a href='/sites'>Sites</a></strong> — multi-site support</li><li><strong><a href='/library'>Library</a></strong> — picture and attachment management</li><li><strong><a href='/tags'>Tags</a></strong> — tagging for pictures, attachments, and pages</li><li><strong>Users</strong> — user management (with <a href='/extensions#alchemy-devise'>alchemy-devise</a>)</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>You can extend the admin with your own <a href='/how_to_create_modules'>custom modules</a>. See <a href='/extensions'>Extensions</a> for a full list of available add-ons.</p></div></div></div></main><footer class="VPDocFooter" data-v-afcca8bd data-v-f3d6e266><!--[--><!--]--><div class="edit-info" data-v-f3d6e266><div class="edit-link" data-v-f3d6e266><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/AlchemyCMS/alchemy-guides/edit/main/guides/about.md" target="_blank" rel="noreferrer" data-v-f3d6e266><!--[--><span class="vpi-square-pen edit-link-icon" data-v-f3d6e266></span> Edit this page<!--]--></a></div><div class="last-updated" data-v-f3d6e266><p class="VPLastUpdated" data-v-f3d6e266 data-v-feecfe77>Last updated: <time datetime="2026-03-17T18:16:28.000Z" data-v-feecfe77></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-f3d6e266><span class="visually-hidden" id="doc-footer-aria-label" data-v-f3d6e266>Pager</span><div class="pager" data-v-f3d6e266><!----></div><div class="pager" data-v-f3d6e266><a class='VPLink link pager-link next' data-v-f3d6e266 href='/getting_started'><!--[--><span class="desc" data-v-f3d6e266>Next page</span><span class="title" data-v-f3d6e266>Getting Started</span><!--]--></a></div></nav></footer><!--[--><!--[--><!--[--><div class="footer" data-v-50ef8f93> AlchemyCMS is sponsored by <a href="https://blish.cloud" class="blish-link" target="_blank" data-v-50ef8f93><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 117.074 25.488" width="60px" height="0.8rem" style="transform:translateY(0.05rem);" class="blish-logo" data-v-50ef8f93><path d="m117.324.644h-5.457v24.7h5.457zm-16.272 15.011h6.373v-4.679h-6.373v-10.332h-5.352v24.7h5.348zm-27.852-8.49c0-1.172 1.241-2.019 3.26-2.019a5.191 5.191 0 0 1 4.462 2.128l3.654-2.906a9.658 9.658 0 0 0 -8.256-4.108c-4.541 0-8.51 2.551-8.51 6.983 0 3.969 2.443 5.88 5.989 7.161 3.437 1.281 6.201 1.813 6.201 3.97 0 1.172-.955 2.443-3.684 2.443a6.961 6.961 0 0 1 -6.205-3.26l-3.969 2.728c1.527 2.975 4.817 5.457 10.
24135 5.457 6.274 0 9.18-3.191 9.18-7.545 0-3.546-1.842-5.634-6.3-7.338-4.009-1.577-5.95-1.646-5.957-3.694m-22.1 18.182h5.457v-24.703h-5.457zm-24.5 0h15.1v-4.964h-9.635v-19.739h-5.457zm-10.433-7.308a5.805 5.805 0 0 0 -4.967-6.127 4.969 4.969 0 0 0 3.152-4.964c0-3.654-3.122-6.3-7.052-6.3h-7.05v4.675h6.215a2.512 2.512 0 0 1 2.62 2.4v.138a2.534 2.534 0 0 1 -2.453 2.62h-6.382v4.219h7.279a2.959 2.959 0 0 1 3.211 2.689 1.6 1.6 0 0 1 .01.217 3.027 3.027 0 0 1 -3.044 3.014h-4.8v.02h-2.656v4.7h8.412a7.211 7.211 0 0 0 7.506-6.9 2.63 2.63 0 0 0 0-.394"></path></svg></a></div><!--]--><!--]--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-5a061a3b data-v-e9316395><div class="container" data-v-e9316395><p class="message" data-v-e9316395>
25      BSD-3 Licensed &middot; Hosting sponsored by <a href="https://www.netlify.com" target="_blank">netlify</a></p><p class="copyright" data-v-e9316395>Copyright © 2010 - present <a href="https://blish.cloud" target="_blank">Blish GmbH</a></p></div></footer><!--[--><!--]--></div></div>
26    
26<script>window.__VP_HASH_MAP__=JSON.parse("{\"about.md\":\"ARxTanQj\",\"configuration.md\":\"CKJQd-DF\",\"deployment.md\":\"DNSe_maJ\",\"elements.md\":\"CRQ5-Y-F\",\"extensions.md\":\"DNy2d5DQ\",\"getting_started.md\":\"DN4kqe2F\",\"how_to_add_custom_authentication.md\":\"CZDT6i8y\",\"how_to_create_a_blog.md\":\"DOngus1e\",\"how_to_create_a_contact_form.md\":\"CGZfURkA\",\"how_to_create_custom_ingredients.md\":\"DY3obgHw\",\"how_to_create_modules.md\":\"Xm5h0sw_\",\"how_to_customize_tinymce.md\":\"Bwtd8mSw\",\"how_to_deploy_with_kamal.md\":\"CCPzTl6f\",\"how_to_extend_alchemy.md\":\"Dq6Pw7Yl\",\"how_to_integrate_into_existing_rails_app.md\":\"DYHiPYRZ\",\"i18n.md\":\"vxh_KhUD\",\"index.md\":\"CNHYmxLO\",\"ingredients.md\":\"DkrUjzdM\",\"languages.md\":\"CqbzahCK\",\"library.md\":\"_leVexEi\",\"menus.md\":\"BdaOTtCQ\",\"pages.md\":\"CwhWUBi1\",\"render_images.md\":\"DCQ0gD8A\",\"seeder.md\":\"C9sB2sru\",\"sites.md\":\"CRpAmkwq\",\"tags.md\":\"M4MoCfh9\",\"upgrading.md\":\"B80DEVnM\",\"v6_about.md\":\"BIpw9gHs\",\"v6_configuration.md\":\"KM4TFsFq\",\"v6_elements.md\":\"B7WcQtsq\",\"v6_getting_started.md\":\"Cs1PVHCP\",\"v6_how_to_add_custom_authentication.md\":\"C1jbEx9w\",\"v6_how_to_create_a_blog_template.md\":\"3pxfZgVh\",\"v6_how_to_create_a_contact_form.md\":\"HHM_0I8l\",\"v6_how_to_create_custom_ingredients.md\":\"BRrjEOCv\",\"v6_how_to_create_modules.md\":\"BhaVEkMd\",\"v6_how_to_customize_tinymce.md\":\"DkdLnHHZ\",\"v6_how_to_deploy_on_heroku.md\":\"BNzEH4MQ\",\"v6_how_to_extend_alchemy.md\":\"C4Bgv6Bk\",\"v6_index.md\":\"DegzfzhM\",\"v6_ingredients.md\":\"DVICW54r\",\"v6_pages.md\":\"DxF-4eOy\",\"v6_render_images.md\":\"DRGqccqe\",\"v6_upgrading.md\":\"BpmFDhpw\",\"v7_about.md\":\"BmV0g9Mb\",\"v7_configuration.md\":\"BOvxGHdc\",\"v7_elements.md\":\"_fYUyyoo\",\"v7_getting_started.md\":\"BTpYNc9p\",\"v7_how_to_add_custom_authentication.md\":\"BTFXxjjn\",\"v7_how_to_create_a_blog_template.md\":\"CEuboN8x\",\"v7_how_to_create_a_contact_form.md\":\"b2fvO9aK\",\"v7_how_to_create_custom_ingredients.md\":\"Rhxoz-cM\",\"v7_how_to_create_modules.md\":\"L_JQzuj_\",\"v7_how_to_customize_tinymce.md\":\"C4UggABH\",\"v7_how_to_deploy_on_heroku.md\":\"DKL7AcKN\",\"v7_how_to_extend_alchemy.md\":\"BFvJQsSL\",\"v7_index.md\":\"B_5eKNRv\",\"v7_ingredients.md\":\"DKS-rdBl\",\"v7_pages.md\":\"DZJlsBka\",\"v7_render_images.md\":\"DpT3wV34\",\"v7_upgrading.md\":\"BlHm70Ey\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"AlchemyCMS\",\"description\":\"Alchemy is the Open Source Rails CMS framework for the component based web that can be used as classic server side rendered or headless CMS.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/icon.svg\",\"nav\":[{\"text\":\"Home\",\"link\":\"https://www.alchemy-cms.com\"},{\"text\":\"Extensions\",\"link\":\"/extensions\"},{\"text\":\"Version\",\"items\":[{\"text\":\"v6\",\"link\":\"/v6\",\"activeMatch\":\"/v6/\"},{\"text\":\"v7\",\"link\":\"/v7\",\"activeMatch\":\"/v7/\"},{\"text\":\"v8 (latest)\",\"link\":\"/\",\"activeMatch\":\"^/(?!(vd+))\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/AlchemyCMS/\"},{\"icon\":\"mastodon\",\"link\":\"https://ruby.social/@alchemy_cms\"},{\"icon\":\"bluesky\",\"link\":\"https://bsky.app/profile/alchemy-cms.com\"},{\"icon\":\"slack\",\"link\":\"https://alchemy-cms.slack.com\"}],\"sidebar\":{\"/v6/\":[{\"text\":\"Getting Started\",\"link\":\"/v6/getting_started\"},{\"text\":\"Basics\",\"collapsed\":false,\"items\":[{\"text\":\"About AlchemyCMS\",\"link\":\"/v6/about\"},{\"text\":\"Pages\",\"link\":\"/v6/pages\"},{\"text\":\"Elements\",\"link\":\"/v6/elements\"},{\"text\":\"Ingredients\",\"link\":\"/v6/ingredients\"},{\"text\":\"Rendering Images\",\"link\":\"/v6/render_images\"},{\"text\":\"Configuration\",\"link\":\"/v6/configuration\"},{\"text\":\"Updating\",\"link\":\"/v6/upgrading\"}]},{\"text\":\"How To\",\"collapsed\":false,\"items\":[{\"text\":\"Create a Blog\",\"link\":\"/v6/how_to_create_a_blog_template\"},{\"text\":\"Create a Contact Form\",\"link\":\"/v6/how_to_create_a_contact_form\"},{\"text\":\"Customize the Richtext Editor\",\"link\":\"/v6/how_to_customize_tinymce\"},{\"text\":\"Create Custom Ingredients\",\"link\":\"/v6/how_to_create_custom_ingredients\"},{\"text\":\"Deploy on Heroku\",\"link\":\"/v6/how_to_deploy_on_heroku\"},{\"text\":\"Create Custom Modules\",\"link\":\"/v6/how_to_create_modules\"},{\"text\":\"Add Custom Authentication\",\"link\":\"/v6/how_to_add_custom_authentication\"},{\"text\":\"Extend Alchemy\",\"link\":\"/v6/how_to_extend_alchemy\"}]}],\"/v7/\":[{\"text\":\"Getting Started\",\"link\":\"/v7/getting_started\"},{\"text\":\"Basics\",\"collapsed\":false,\"items\":[{\"text\":\"About AlchemyCMS\",\"link\":\"/v7/about\"},{\"text\":\"Pages\",\"link\":\"/v7/pages\"},{\"text\":\"Elements\",\"link\":\"/v7/elements\"},{\"text\":\"Ingredients\",\"link\":\"/v7/ingredients\"},{\"text\":\"Rendering Images\",\"link\":\"/v7/render_images\"},{\"text\":\"Configuration\",\"link\":\"/v7/configuration\"},{\"text\":\"Updating\",\"link\":\"/v7/upgrading\"}]},{\"text\":\"How To\",\"collapsed\":false,\"items\":[{\"text\":\"Create a Blog\",\"link\":\"/v7/how_to_create_a_blog_template\"},{\"text\":\"Create a Contact Form\",\"link\":\"/v7/how_to_create_a_contact_form\"},{\"text\":\"Customize the Richtext Editor\",\"link\":\"/v7/how_to_customize_tinymce\"},{\"text\":\"Create Custom Ingredients\",\"link\":\"/v7/how_to_create_custom_ingredients\"},{\"text\":\"Deploy on Heroku\",\"link\":\"/v7/how_to_deploy_on_heroku\"},{\"text\":\"Create Custom Modules\",\"link\":\"/v7/how_to_create_modules\"},{\"text\":\"Add Custom Authentication\",\"link\":\"/v7/how_to_add_custom_authentication\"},{\"text\":\"Extend Alchemy\",\"link\":\"/v7/how_to_extend_alchemy\"}]}],\"/\":[{\"text\":\"Introduction\",\"collapsed\":false,\"items\":[{\"text\":\"About AlchemyCMS\",\"link\":\"/about\"},{\"text\":\"Getting Started\",\"link\":\"/getting_started\"}]},{\"text\":\"Basics\",\"collapsed\":false,\"items\":[{\"text\":\"Elements\",\"link\":\"/elements\"},{\"text\":\"Ingredients\",\"link\":\"/ingredients\"},{\"text\":\"Pages\",\"link\":\"/pages\"},{\"text\":\"Menus\",\"link\":\"/menus\"},{\"text\":\"Rendering Images\",\"link\":\"/render_images\"},{\"text\":\"Configuration\",\"link\":\"/configuration\"},{\"text\":\"I18n\",\"link\":\"/i18n\"},{\"text\":\"Seeder\",\"link\":\"/seeder\"},{\"text\":\"Deployment\",\"link\":\"/deployment\"},{\"text\":\"Updating\",\"link\":\"/upgrading\"}]},{\"text\":\"Admin Modules\",\"collapsed\":true,\"items\":[{\"text\":\"Library\",\"link\":\"/library\"},{\"text\":\"Tags\",\"link\":\"/tags\"},{\"text\":\"Languages\",\"link\":\"/languages\"},{\"text\":\"Sites\",\"link\":\"/sites\"},{\"text\":\"Custom Modules\",\"link\":\"/how_to_create_modules\"}]},{\"text\":\"How To\",\"collapsed\":true,\"items\":[{\"text\":\"Create a Blog\",\"link\":\"/how_to_create_a_blog\"},{\"text\":\"Create a Contact Form\",\"link\":\"/how_to_create_a_contact_form\"},{\"text\":\"Customize the Richtext Editor\",\"link\":\"/how_to_customize_tinymce\"},{\"text\":\"Create Custom Ingredients\",\"link\":\"/how_to_create_custom_ingredients\"},{\"text\":\"Deploy with Kamal\",\"link\":\"/how_to_deploy_with_kamal\"},{\"text\":\"Add Custom Authentication\",\"link\":\"/how_to_add_custom_authentication\"},{\"text\":\"Integrate Into Existing Rails App\",\"link\":\"/how_to_integrate_into_existing_rails_app\"},{\"text\":\"Extend Alchemy\",\"link\":\"/how_to_extend_alchemy\"}]}]},\"editLink\":{\"pattern\":\"https://github.com/AlchemyCMS/alchemy-guides/edit/main/guides/:path\"}
26,\"footer\":{\"message\":\"\\n      BSD-3 Licensed &middot; Hosting sponsored by <a href=\\\"https://www.netlify.com\\\" target=\\\"_blank\\\">netlify</a>\",\"copyright\":\"Copyright © 2010 - present <a href=\\\"https://blish.cloud\\\" target=\\\"_blank\\\">Blish GmbH</a>\"},\"search\":{\"provider\":\"local\",\"options\":{}},\"llmstxt\":{\"pageData\":[{\"path\":\"/llms-full.txt\",\"url\":\"/llms-full.txt\",\"llmUrl\":\"/llms-full.txt\"},{\"path\":\"/index.md\",\"url\":\"/\",\"llmUrl\":\"/index.md\"},{\"path\":\"/about.md\",\"url\":\"/about.html\",\"llmUrl\":\"/about.md\"},{\"path\":\"/configuration.md\",\"url\":\"/configuration.html\",\"llmUrl\":\"/configuration.md\"},{\"path\":\"/deployment.md\",\"url\":\"/deployment.html\",\"llmUrl\":\"/deployment.md\"},{\"path\":\"/elements.md\",\"url\":\"/elements.html\",\"llmUrl\":\"/elements.md\"},{\"path\":\"/extensions.md\",\"url\":\"/extensions.html\",\"llmUrl\":\"/extensions.md\"},{\"path\":\"/getting_started.md\",\"url\":\"/getting_started.html\",\"llmUrl\":\"/getting_started.md\"},{\"path\":\"/how_to_add_custom_authentication.md\",\"url\":\"/how_to_add_custom_authentication.html\",\"llmUrl\":\"/how_to_add_custom_authentication.md\"},{\"path\":\"/how_to_create_a_blog.md\",\"url\":\"/how_to_create_a_blog.html\",\"llmUrl\":\"/how_to_create_a_blog.md\"},{\"path\":\"/how_to_create_a_contact_form.md\",\"url\":\"/how_to_create_a_contact_form.html\",\"llmUrl\":\"/how_to_create_a_contact_form.md\"},{\"path\":\"/how_to_create_custom_ingredients.md\",\"url\":\"/how_to_create_custom_ingredients.html\",\"llmUrl\":\"/how_to_create_custom_ingredients.md\"},{\"path\":\"/how_to_create_modules.md\",\"url\":\"/how_to_create_modules.html\",\"llmUrl\":\"/how_to_create_modules.md\"},{\"path\":\"/how_to_customize_tinymce.md\",\"url\":\"/how_to_customize_tinymce.html\",\"llmUrl\":\"/how_to_customize_tinymce.md\"},{\"path\":\"/how_to_deploy_with_kamal.md\",\"url\":\"/how_to_deploy_with_kamal.html\",\"llmUrl\":\"/how_to_deploy_with_kamal.md\"},{\"path\":\"/how_to_extend_alchemy.md\",\"url\":\"/how_to_extend_alchemy.html\",\"llmUrl\":\"/how_to_extend_alchemy.md\"},{\"path\":\"/how_to_integrate_into_existing_rails_app.md\",\"url\":\"/how_to_integrate_into_existing_rails_app.html\",\"llmUrl\":\"/how_to_integrate_into_existing_rails_app.md\"},{\"path\":\"/i18n.md\",\"url\":\"/i18n.html\",\"llmUrl\":\"/i18n.md\"},{\"path\":\"/ingredients.md\",\"url\":\"/ingredients.html\",\"llmUrl\":\"/ingredients.md\"},{\"path\":\"/languages.md\",\"url\":\"/languages.html\",\"llmUrl\":\"/languages.md\"},{\"path\":\"/library.md\",\"url\":\"/library.html\",\"llmUrl\":\"/library.md\"},{\"path\":\"/menus.md\",\"url\":\"/menus.html\",\"llmUrl\":\"/menus.md\"},{\"path\":\"/pages.md\",\"url\":\"/pages.html\",\"llmUrl\":\"/pages.md\"},{\"path\":\"/render_images.md\",\"url\":\"/render_images.html\",\"llmUrl\":\"/render_images.md\"},{\"path\":\"/seeder.md\",\"url\":\"/seeder.html\",\"llmUrl\":\"/seeder.md\"},{\"path\":\"/sites.md\",\"url\":\"/sites.html\",\"llmUrl\":\"/sites.md\"},{\"path\":\"/tags.md\",\"url\":\"/tags.html\",\"llmUrl\":\"/tags.md\"},{\"path\":\"/upgrading.md\",\"url\":\"/upgrading.html\",\"llmUrl\":\"/upgrading.md\"},{\"path\":\"/v6.md\",\"url\":\"/v6\",\"llmUrl\":\"/v6.md\"},{\"path\":\"/v6/about.md\",\"url\":\"/v6/about.html\",\"llmUrl\":\"/v6/about.md\"},{\"path\":\"/v6/configuration.md\",\"url\":\"/v6/configuration.html\",\"llmUrl\":\"/v6/configuration.md\"},{\"path\":\"/v6/elements.md\",\"url\":\"/v6/elements.html\",\"llmUrl\":\"/v6/elements.md\"},{\"path\":\"/v6/getting_started.md\",\"url\":\"/v6/getting_started.html\",\"llmUrl\":\"/v6/getting_started.md\"},{\"path\":\"/v6/how_to_add_custom_authentication.md\",\"url\":\"/v6/how_to_add_custom_authentication.html\",\"llmUrl\":\"/v6/how_to_add_custom_authentication.md\"},{\"path\":\"/v6/how_to_create_a_blog_template.md\",\"url\":\"/v6/how_to_create_a_blog_template.html\",\"llmUrl\":\"/v6/how_to_create_a_blog_template.md\"},{\"path\":\"/v6/how_to_create_a_contact_form.md\",\"url\":\"/v6/how_to_create_a_contact_form.html\",\"llmUrl\":\"/v6/how_to_create_a_contact_form.md\"},{\"path\":\"/v6/how_to_create_custom_ingredients.md\",\"url\":\"/v6/how_to_create_custom_ingredients.html\",\"llmUrl\":\"/v6/how_to_create_custom_ingredients.md\"},{\"path\":\"/v6/how_to_create_modules.md\",\"url\":\"/v6/how_to_create_modules.html\",\"llmUrl\":\"/v6/how_to_create_modules.md\"},{\"path\":\"/v6/how_to_customize_tinymce.md\",\"url\":\"/v6/how_to_customize_tinymce.html\",\"llmUrl\":\"/v6/how_to_customize_tinymce.md\"},{\"path\":\"/v6/how_to_deploy_on_heroku.md\",\"url\":\"/v6/how_to_deploy_on_heroku.html\",\"llmUrl\":\"/v6/how_to_deploy_on_heroku.md\"},{\"path\":\"/v6/how_to_extend_alchemy.md\",\"url\":\"/v6/how_to_extend_alchemy.html\",\"llmUrl\":\"/v6/how_to_extend_alchemy.md\"},{\"path\":\"/v6/ingredients.md\",\"url\":\"/v6/ingredients.html\",\"llmUrl\":\"/v6/ingredients.md\"},{\"path\":\"/v6/pages.md\",\"url\":\"/v6/pages.html\",\"llmUrl\":\"/v6/pages.md\"},{\"path\":\"/v6/render_images.md\",\"url\":\"/v6/render_images.html\",\"llmUrl\":\"/v6/render_images.md\"},{\"path\":\"/v6/upgrading.md\",\"url\":\"/v6/upgrading.html\",\"llmUrl\":\"/v6/upgrading.md\"},{\"path\":\"/v7.md\",\"url\":\"/v7\",\"llmUrl\":\"/v7.md\"},{\"path\":\"/v7/about.md\",\"url\":\"/v7/about.html\",\"llmUrl\":\"/v7/about.md\"},{\"path\":\"/v7/configuration.md\",\"url\":\"/v7/configuration.html\",\"llmUrl\":\"/v7/configuration.md\"},{\"path\":\"/v7/elements.md\",\"url\":\"/v7/elements.html\",\"llmUrl\":\"/v7/elements.md\"},{\"path\":\"/v7/getting_started.md\",\"url\":\"/v7/getting_started.html\",\"llmUrl\":\"/v7/getting_started.md\"},{\"path\":\"/v7/how_to_add_custom_authentication.md\",\"url\":\"/v7/how_to_add_custom_authentication.html\",\"llmUrl\":\"/v7/how_to_add_custom_authentication.md\"},{\"path\":\"/v7/how_to_create_a_blog_template.md\",\"url\":\"/v7/how_to_create_a_blog_template.html\",\"llmUrl\":\"/v7/how_to_create_a_blog_template.md\"},{\"path\":\"/v7/how_to_create_a_contact_form.md\",\"url\":\"/v7/how_to_create_a_contact_form.html\",\"llmUrl\":\"/v7/how_to_create_a_contact_form.md\"},{\"path\":\"/v7/how_to_create_custom_ingredients.md\",\"url\":\"/v7/how_to_create_custom_ingredients.html\",\"llmUrl\":\"/v7/how_to_create_custom_ingredients.md\"},{\"path\":\"/v7/how_to_create_modules.md\",\"url\":\"/v7/how_to_create_modules.html\",\"llmUrl\":\"/v7/how_to_create_modules.md\"},{\"path\":\"/v7/how_to_customize_tinymce.md\",\"url\":\"/v7/how_to_customize_tinymce.html\",\"llmUrl\":\"/v7/how_to_customize_tinymce.md\"},{\"path\":\"/v7/how_to_deploy_on_heroku.md\",\"url\":\"/v7/how_to_deploy_on_heroku.html\",\"llmUrl\":\"/v7/how_to_deploy_on_heroku.md\"},{\"path\":\"/v7/how_to_extend_alchemy.md\",\"url\":\"/v7/how_to_extend_alchemy.html\",\"llmUrl\":\"/v7/how_to_extend_alchemy.md\"},{\"path\":\"/v7/ingredients.md\",\"url\":\"/v7/ingredients.html\",\"llmUrl\":\"/v7/ingredients.md\"},{\"path\":\"/v7/pages.md\",\"url\":\"/v7/pages.html\",\"llmUrl\":\"/v7/pages.md\"},{\"path\":\"/v7/render_images.md\",\"url\":\"/v7/render_images.html\",\"llmUrl\":\"/v7/render_images.md\"},{\"path\":\"/v7/upgrading.md\",\"url\":\"/v7/upgrading.html\",\"llmUrl\":\"/v7/upgrading.md\"},{\"path\":\"/llms.txt\",\"url\":\"/llms.txt\",\"llmUrl\":\"/llms.txt\"}]}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
26
27    
28  
28<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"9f2921ac62d4440981c1ecee680a87b0","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 28
28
29<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a441c66f2d8dd300',t:'MTc5MDkyMzg1MA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
29</body>
30</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.