75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | Data | ||
|  | ==== | ||
|  | 
 | ||
|  | Every template gets an object with the exact same structure - whether it's a template or a widget or a page or a post. | ||
|  | 
 | ||
|  | Here we only document Desirae's default behavior, but there are many objects added for compatibility with Ruhoh that are not documented. | ||
|  | 
 | ||
|  | ``` | ||
|  | desi = {} | ||
|  | ``` | ||
|  | 
 | ||
|  | desi | ||
|  | ==== | ||
|  | 
 | ||
|  | * `config` - literally `config.yml`, parsed | ||
|  | * `site` - literally `site.yml`, parsed | ||
|  | * `authors` - literally the authors from `authors/*.yml`, parsed | ||
|  | * `author` - the primary author of the site | ||
|  | * `env` - urls and paths for this build (be it production, development, staging, etc) | ||
|  | * `content` - pre-rendered content (i.e. content rendered into the post layout rendered into the default layout) | ||
|  | * `collection` - config related to this collection | ||
|  | * `entity` - the page, post, article, etc that is the focus of the present template process | ||
|  | * `themes` - all themes | ||
|  | * `theme` - the default theme | ||
|  | * `layout` - the selected layout for this theme | ||
|  | * `satch` - the selected swatch for this theme | ||
|  | * `categories` - all categories | ||
|  | * `tags` - all tags | ||
|  | * `styles` - ??? goes into the final template in the head | ||
|  | * `scripts` - ?? that goes into the final template just before the body close | ||
|  | 
 | ||
|  | desi.entity | ||
|  | =========== | ||
|  | 
 | ||
|  | stuff | ||
|  | 
 | ||
|  | * `uuid` | ||
|  | * `title` | ||
|  | * `disqus_url` | ||
|  | * `disqus_identifier` | ||
|  | 
 | ||
|  | more stuff | ||
|  | 
 | ||
|  | * `type` - `post`, `page`, etc | ||
|  | * `authors` - literally the relevant authors from `authors/*.yml`, parsed | ||
|  | * `author` - the primary author of this entity | ||
|  | * `theme` - null or a non-default theme | ||
|  | * `layout` - null or a non-default layout for this theme | ||
|  | * `swatch` - null or a non-default swatch for this theme | ||
|  | * `categories`: []    // *all* categories in all collections | ||
|  | * `tags`: []    // *all* categories in all collections | ||
|  | * `production_canonical_url` the PRODUCTION canonical_url for this entity | ||
|  | * `production_url` the PRODUCTION url for this entity | ||
|  | * `production_path` the PRODUCTION path for this entity | ||
|  | * `url` the full url in the current environment (might be production, development, etc) | ||
|  | * `path` the non-host part (i.e. `/compiled_dev/articles/my-first-post.html`) | ||
|  | * `previous` the previous entity in this collection | ||
|  | * `next` the next entitiy in this collection | ||
|  | 
 | ||
|  | NOTE: Plugins, widgets, etc SHOULD NOT modify config, site, authors, author, or env. | ||
|  | 
 | ||
|  | desi.posts | ||
|  | ========== | ||
|  | 
 | ||
|  |       , posts: { collated: desi.collated } | ||
|  | 
 | ||
|  | desi.config | ||
|  | =========== | ||
|  | 
 | ||
|  | desi.site | ||
|  | =========== | ||
|  | 
 | ||
|  | desi.env | ||
|  | =========== |