-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsite.yml
148 lines (127 loc) · 5.35 KB
/
site.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
### Generated by Statocles version 0.093
# This is the site configuration file. The format is YAML, and the config is
# read by Beam::Wire, a dependency-injection library that builds complete
# objects. For full details on how to edit this file, see
# Statocles::Help::Config.
#
# This file contains configuration for objects. Each object has a name, like
# "site", "theme", or "blog_app". This name can be used to refer to the object
# later, for example, using "$ref: name".
#
# Every object has a "class". Developers can customize behavior by changing the
# class or creating their own classes. If you need help with an object, look at
# the class's documentation.
#
# Every object has "args", which are the object's attributes. See the class's
# documentation for a full list of attributes and what they do.
#
# Many objects have events. Event handlers can be configured using the "on"
# key. See the class's documentation for a list of possible events. Every
# event handler should have at least "$class" and a "$sub". "$class" is the
# plugin class. "$sub" is the plugin method to run. If necessary, you can
# add "$args" to configure the plugin object.
# site: This is the main site object. Site objects handle building and
# deploying, and store global site data like themes and navigation. See
# Statocles::Site for a full list of attributes and what they do.
site:
class: 'Statocles::Site'
args:
images:
icon: /static/favicon.png
# title: This is the title of the site, shown in the <title> tag
title: 'hopen: A cross-platform build system'
# base_url: This is the base URL the site will be deployed to. It
# should be a full URL, and may contain a path, like:
#
# http://example.com/username
#
# If the base_url contains a path, all internal links will be
# rewritten appropriately.
base_url: 'https://hopenbuild.github.io'
# apps: These are the applications in this site. The name of the app,
# "blog", "page", or "static", is used to refer to it in commands.
apps:
# blog: This is the blog app
blog:
$ref: 'blog_app'
# page: This app turns any Markdown page into HTML
page:
$ref: 'page_app'
# static: This app does no processing at all. Good for images
static:
$ref: 'static_app'
# plugins: These are plugins that can add features and alter the
# content of the site.
plugins:
link_check:
$class: 'Statocles::Plugin::LinkCheck'
# theme: The theme builds and manages the templates. Use themes to
# change how your site looks.
theme:
$ref: 'theme'
# index: The path to the page that should be used for the site index.
index: '/page/homepage'
# nav: These are lists of navigation links used by the theme.
# Navigations are used to move between applications, or to go to
# specific, important pages.
#
# The "main" nav is the primary navigation for the site. Every theme
# should have this one.
#
# Each nav consists of an array of links. See the Statocles::Link class
# for a list of attributes and what they mean. The most important are
# "text", the text of the link, and "href", the URL to link to.
nav:
main:
- text: 'Blog'
href: '/blog'
# deploy: This is the deploy object, used to deploy this site.
deploy:
$ref: 'deploy'
# theme: These are the settings for the theme. See Statocles::Help::Theme for
# more information, and Statocles::Theme for a full list of attributes and what
# they do
theme:
class: 'Statocles::Theme'
args:
# store: The store points to the directory where the theme's
# templates are kept. Under-the-hood, this is a Statocles::Store
# object.
#
# Themes have a special syntax to refer to themes that come bundled with
# Statocles. See Statocles::Help::Theme for more information
store: 'theme'
# deploy: These are the settings for the site's deploy. See Statocles::Deploy::File
# for a full list of attributes and what they do.
deploy:
class: 'Statocles::Deploy::Git'
args:
branch: 'master'
#----------------------------------------------------------------------------
# Applications
#----------------------------------------------------------------------------
#
# All applications have a "url_root" attribute, which is the root URL of the
# app. All the app's pages will be under this URL.
#
# Most applications have a "store" attribute. The store points to the directory
# where the application's data is kept. Under-the-hood, this is a
# Statocles::Store object, but you only need to specify the directory path.
# blog_app: These are the settings for the blog application.
blog_app:
class: 'Statocles::App::Blog'
args:
url_root: '/blog'
store: 'blog'
# page_app: These are the settings for the page application.
page_app:
class: 'Statocles::App::Basic'
args:
store: 'page'
url_root: '/page'
# static_app: These are the settings for the static application.
static_app:
class: 'Statocles::App::Basic'
args:
store: 'static'
url_root: '/static'