Website Integration

Summary

Website Structure

Once you download and extract contents of the Sitecake archive it will look like this:

sitecake/
sitecake.php

sitecake/ folder contains Sitecake code and configuration. sitecake.php is used as the entry point for editing. Sitecake alone is not operational. You must have at least an index page, with at least one editable div to start editing. So, the bare minimum is:

sitecake/
sitecake.php
index.html

With index file and one editable div inside you will be able to add new content: headings, text, lists, videos ...

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    <div class="sc-content"></div>
  </body>
</html>

Try to login to http://yourdomain.com/sitecake.php, add some content and click publish. Your files on the server should look like this:

files/
images/
sitecake-backup/
sitecake-temp/
sitecake/
sitecake.php
index.html

What happened is that Sitecake created new folders to save possible content.

Disallowing Certain Files For Editing

If your website contains directories or files that should not be managed by Sitecake create .scignore file inside your site root and list all files and directories inside. Each one in a new line.

Keep in mind that by default Sitecake is checking only for html, htm, php and php5 files (this could be set differently through configuration) so there is no need to list files that don't have one of these extensions (e.g. .htaccess file)

.scignore file example :

framework-dir/
wordpress/
some-file-not-managed-by-sitecake.php
some-file-not-managed-by-sitecake.html
subfolder/some-file-not-managed-by-sitecake.html

Now, let's go further on page structure.

Page Structure

Sitecake content sc-content CSS class added to an HTML tag makes that tag a wrapper for editable content. Existing code within Sitecake content wrapper becomes initial content once Sitecake loads. All tags supported by Sitecake are editable. Other content is only movable, can be drag and dropped around the website, but is not editable.

At the moment Sitecake supports these content types:

NOTE: The list of supported content types will be expanded after release of Sitecake v3 which brings support for third party plugins.

There are two types of sc-content containers:

Basic containers are simply editable parts of a web page.

Repeater containers have a name attached to them and act as content repeaters. If several website pages have same repeater container, after editing one of them, Sitecake will copy edited content on all pages. Typical use for repeaters are side columns and footers

The following HTML is an example of a website page that with a repeater (sc-content-footer) and two basic containers (marked with sc-content).

<html>
  <body>
    <div class="row">
      <div class="col sc-content">
        <h1>Left column</h1>
      <p>Left column text</p>
      </div>
    <div class="col sc-content">
      <h1>Right column</h1>
      <p>Right column text</p>
    </div>
    </div>
    <div class="footer sc-content-footer">
      <p>This is the site footer present on all pages</p>
    </div>
  </body>
</html>

Don't Nest sc-content Elements

Sitecake does not support nested sc-content element inside another sc-content element. Like in the example below:

    <div class="sc-content">
      <p>This is proper content.</p>
      <div class="sc-content">
        <p>This is nested content. Do not expect it to work.</p>
      </div>
    </div>