annotate docs/docs/04_content-model.md @ 532:c3c1171679de 2.0.0b1

prepare: Fix the RSS template.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 29 Jul 2015 08:58:51 -0700
parents a694b78db0b1
children d8d2b504306a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
308
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 ---
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 title: Content Model
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3 ---
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5 PieCrust is a CMS, _i.e._ a _Content Management System_. It looks, by default,
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6 like a simple blog engine, but it can really handle any arbitrary set of
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7 content. You need however to define what that content is. This is the _content
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
8 model_.
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10 The [default content model][def] is what you get out of the box. It defines a
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11 simple blog site where you can have pages and posts.
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 To create more complex or customized websites, you can define another content
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14 model by specifying [sources][], [routes][], and [taxonomies][] in the [site
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15 configuration][siteconf]:
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17 * [Sources][] are how you tell PieCrust where to find your content. It defines
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 in what sub-directories it will find what kind of pages, with what kind of
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19 naming convention, and what kind of metadata. In theory, sources can also
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20 provide pages from other places than the file-system -- like a network
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21 connection or a ZIP file or a database or whatever.
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
22
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
23 * [Routes][] define how the content returned by the sources is exposed to your
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
24 visitors. This defines both the URLs for that content, and the place on disk
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25 where it will be baked to.
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
26
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
27 * [Taxonomies][] define special types of metadata on which PieCrust will create
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
28 index pages. You can generally define any type of metadata on your pages in a
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
29 completely free-form way, without having to declare anything, but in some
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
30 situations -- like blog post categories -- you want PieCrust to create a page
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
31 that lists all pages assigned with each category.
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
32
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
33
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
34 [def]: {{docurl('content-model/default-model')}}
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35 [sources]: {{docurl('content-model/sources')}}
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 [routes]: {{docurl('content-model/routes')}}
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37 [taxonomies]: {{docurl('content-model/taxonomies')}}
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38 [siteconf]: {{docurl('general/website-configuration')}}
a694b78db0b1 docs: A whole bunch of drafts for content model and reference pages.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39