aboutsummaryrefslogtreecommitdiff
path: root/doc/ref/vcomponent/create.texi
blob: 88c83e03301ea1707e7507bc63af6abd027b3a63 (plain)
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
@node VComponent Create
@section Vcomponent Create

Procedures for declarativly creating components (instead of the
primitive procedural API).

@defun vcomponent type [key: prop] ... children
Creates a new vcomponent of @var{type}. Each kv-pair should contain a
keyword @var{key}, and a value which is either a direct value, or the
return value of @code{with-parameters} or
@code{as-list}. @var{children} should be a list of other vcomponent's.
@end defun

@defun vcalendar
@defunx vevent
@defunx vtimezone
@defunx standard
@defunx daylight
Calls @code{vcomponent}, with type set to the procedure name (but
up-cased).
@end defun

@defun with-parameters [key: param] ... value
Allows setting parameters for a property as created by @code{vcomponent}.

@var{value} follows the same rules as in @code{vcomponent}. Multiple
@var{key}, @var{value} pairs can be given, where each key must be a keyword.
@end defun

@defun as-list lst
Allows setting list values when using @code{vcomponent}.

Without this a list value would be stored as a single value, while
with this a list of values is instead stored (as, for example, in EXDATE).

A list of list types could be hard-coded, but even then this procedure
is needed since custom types might need it.
@end defun