The following sub-pages describe the various technology related aspect of the content as code project
Having usable solutions for commonly available features in CMSes is a design goal.
Have clear, integrated and open source solutions to deal with comments, visit statistics, search, forms and other features traditionally managed with a database backend.
Allowing completely free form content structures or complex content structures is a design goal.
Allowing mixed workflows that allow importing/exporting/synchronising content across systems and adding software components is a design goal.
Simplicity and ease of use and understanding are design goals.
Composed of many different software parts, the workflow is nonetheless streamlined and integrated. When deployed with default settings, it can be used immediately. Authors, editors, translators as well as software and systems engineer can understand how the pieces fit together.
This table aims to represent which components affect which stages of the content as code framework.
- Key : means that this component is a key component for this stage.
- Change : means that this component modifies or applies to this stage.
- + component : means that this component works better with the specified component.
- = component : means that this component only works with the specified component.
- - component : means that this component doesn’t work with the specified component.
|Component \ Stack||Source||Author||Integrate||Collaborate||Generate||Translate||Publish|
|github||Key||+ travis||+ gh-pages|
|prose||+ github||Key||+ jekyll|
Source repositories which contain the sources for the current project.
Note: These are not upstream dependencies which will be managed with metadata inside and alongside the source files.
This is where the content is edited, manipulated and so on. Different authoring environment will have different capabilities (for instance for validation without a server round-trip or workflow aspects…).
The static site generator used.
Collaborating on the planning, authoring, editing, reviewing, commenting of content.
These are the tools used to prepare and validate content and give feedback to authors and editors, including presenting staging or testing environments/artifacts of various versions that are being worked on.
Note: Maybe this should be included in the publish component.
These are the various channels where published versions will be available from.