diff docs/docs/04_content-model.md @ 308:a694b78db0b1

docs: A whole bunch of drafts for content model and reference pages.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 24 Mar 2015 22:34:43 -0700
parents
children d8d2b504306a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/docs/04_content-model.md	Tue Mar 24 22:34:43 2015 -0700
@@ -0,0 +1,39 @@
+---
+title: Content Model
+---
+
+PieCrust is a CMS, _i.e._ a _Content Management System_. It looks, by default,
+like a simple blog engine, but it can really handle any arbitrary set of
+content. You need however to define what that content is. This is the _content
+model_.
+
+The [default content model][def] is what you get out of the box. It defines a
+simple blog site where you can have pages and posts.
+
+To create more complex or customized websites, you can define another content
+model by specifying [sources][], [routes][], and [taxonomies][] in the [site
+configuration][siteconf]:
+
+* [Sources][] are how you tell PieCrust where to find your content. It defines
+  in what sub-directories it will find what kind of pages, with what kind of
+  naming convention, and what kind of metadata. In theory, sources can also
+  provide pages from other places than the file-system -- like a network
+  connection or a ZIP file or a database or whatever.
+
+* [Routes][] define how the content returned by the sources is exposed to your
+  visitors. This defines both the URLs for that content, and the place on disk
+  where it will be baked to.
+
+* [Taxonomies][] define special types of metadata on which PieCrust will create
+  index pages. You can generally define any type of metadata on your pages in a
+  completely free-form way, without having to declare anything, but in some
+  situations -- like blog post categories -- you want PieCrust to create a page
+  that lists all pages assigned with each category.
+
+
+[def]: {{docurl('content-model/default-model')}}
+[sources]: {{docurl('content-model/sources')}}
+[routes]: {{docurl('content-model/routes')}}
+[taxonomies]: {{docurl('content-model/taxonomies')}}
+[siteconf]: {{docurl('general/website-configuration')}}
+