Skip to content

Blogging

SkyCMS includes a dedicated blogging subsystem with support for multiple independent blog streams, post management, banner images, and rendering via dedicated blog templates.

Audiences: Editors, Authors, Administrators

Jump to:


1. Blog Streams

Documentation: Blogging Guide (Editors)

A blog stream is a named collection of blog posts — similar to a blog category or publication channel. Sites can host multiple independent blog streams.

Stream Management

  • Create new blog streams with title and description
  • Edit stream title, description, and banner image
  • Delete blog streams (with confirmation)
  • List all blog streams in a paginated, sortable table
  • Each stream has its own URL key for routing

Stream Properties

Property Description
Title Display name for the blog stream
Description Summary text shown on the stream index
Banner Image Optional featured image for the stream (visual upload)
Publish Date Optional publication date/time with date picker
Blog Key URL-friendly identifier for routing

2. Blog Posts

Documentation: Blogging Guide (Editors)

Blog posts are articles that belong to a blog stream. They use the same article editing pipeline (Page Editor, Code Editor, Designer) but are organized and rendered through the blog infrastructure.

Post Management

  • Create new posts within a stream (by title)
  • Edit posts using the standard article editors
  • Delete posts from a stream (with confirmation)
  • List all posts in a stream with sortable, searchable table
  • Paginated post listing

Post Actions

Each blog post in the list provides quick actions:

  • Edit — Open the post in the editor
  • Open — View the published post
  • Set as Home — Set the post as the stream's featured/home post
  • Clone — Duplicate the post

3. Blog Templates

Documentation: Blogging Guide (Editors) · Templates (Site Builders)

SkyCMS provides dedicated blog-aware templates for consistent blog presentation.

Template Types

  • Blog Post template — Standard blog post layout with featured image, author info, and comment section
  • Blog Stream template — Blog index/stream layout with post listing, featured image, and navigation

Template Features

  • Editable regions with blog-specific CSS classes (.ccms-blog-item-title, .ccms-blog-item-content, .ccms-blog-title-image)
  • Live editor enabled for real-time editing
  • Customizable styling via embedded <style> blocks
  • Image widget with data-ccms-enable-alt-editor support
  • Blog-aware data-editor-config attributes for toolbar control

4. Blog Rendering

Documentation: Blogging Guide (Editors) · Blog Architecture (Developers)

Stream View

  • Paginated list of blog entries
  • Each entry shows title, description, banner image, and publish date
  • Sortable and filterable

Post View

  • Full article rendering within the blog post template
  • Featured image display
  • Author information section
  • Styled content with blog-specific CSS (alternating row colors, blockquote styling, responsive table formatting)

Preview

  • Preview blog stream rendering before publishing
  • Anonymous-accessible preview endpoint (PreviewStream)

5. Blog API

Documentation: Blog API Reference · API Overview

JSON endpoints for programmatic access to blog data:

Endpoint Method Description
GetBlogs() GET Returns JSON list of all blog streams
GetEntries(blogKey) GET Returns JSON list of posts in a stream

6. Blog Data Architecture

Documentation: Blog Architecture (Developers) · Architecture (Developers)

Blog Stream Entity

  • Stream metadata (title, description, banner image URL)
  • Collection of blog entries
  • Independent from page/article hierarchy
  • Dedicated CQRS commands and queries:
  • CreateBlogStreamCommand / CreateBlogStreamHandler
  • UpdateBlogStreamCommand / UpdateBlogStreamHandler
  • DeleteBlogStreamCommand / DeleteBlogStreamHandler
  • GetBlogStreamQuery / GetBlogStreamHandler

Blog Post Entity

  • Linked to parent blog stream via blog key
  • Built on the article content model (full versioning, scheduling, permissions)
  • CQRS handlers:
  • CreateBlogPostCommand / CreateBlogPostHandler
  • UpdateBlogPostCommand / UpdateBlogPostHandler
  • DeleteBlogPostCommand / DeleteBlogPostHandler

Rendering Service

  • IBlogStreamRenderingService — Handles blog stream and post HTML rendering
  • Integrates with the layout/template system for consistent site presentation