summaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorMalo <57839069+MDLC01@users.noreply.github.com>2024-05-22 20:35:53 +0200
committerGitHub <noreply@github.com>2024-05-22 18:35:53 +0000
commitbabf641c3a0d53716a2212e59ce0913a331c7df5 (patch)
treed1ccfa0f95381d5ce51444988139f22345edab33 /crates
parent53c306e32cd9622f7f2af66e08b6846712e78633 (diff)
`layout` documentation improvements (#4196)
Co-authored-by: Eric Biedert <github@ericbiedert.de> Co-authored-by: PgBiel <9021226+PgBiel@users.noreply.github.com> Co-authored-by: Laurenz <laurmaedje@gmail.com>
Diffstat (limited to 'crates')
-rw-r--r--crates/typst/src/layout/layout.rs29
1 files changed, 16 insertions, 13 deletions
diff --git a/crates/typst/src/layout/layout.rs b/crates/typst/src/layout/layout.rs
index 01fb9092..7ad2a0c1 100644
--- a/crates/typst/src/layout/layout.rs
+++ b/crates/typst/src/layout/layout.rs
@@ -9,11 +9,14 @@ use crate::introspection::Locatable;
use crate::layout::{Fragment, LayoutMultiple, Regions, Size};
use crate::syntax::Span;
-/// Provides access to the current outer container's (or page's, if none) size
-/// (width and height).
+/// Provides access to the current outer container's (or page's, if none)
+/// dimensions (width and height).
///
-/// The given function must accept a single parameter, `size`, which is a
-/// dictionary with keys `width` and `height`, both of type [`length`].
+/// Accepts a function that receives a single parameter, which is a dictionary
+/// with keys `width` and `height`, both of type [`length`]. The function is
+/// provided [context], meaning you don't need to use it in combination with the
+/// `context` keyword. This is why [`measure`] can be called in the example
+/// below.
///
/// ```example
/// #let text = lorem(30)
@@ -27,11 +30,11 @@ use crate::syntax::Span;
/// ])
/// ```
///
-/// If the `layout` call is placed inside of a box width a width of `{800pt}`
-/// and a height of `{400pt}`, then the specified function will be given the
-/// parameter `{(width: 800pt, height: 400pt)}`. If it placed directly into the
-/// page it receives the page's dimensions minus its margins. This is mostly
-/// useful in combination with [measurement]($measure).
+/// If the `layout` call is placed inside a box with a width of `{800pt}` and a
+/// height of `{400pt}`, then the specified function will be given the argument
+/// `{(width: 800pt, height: 400pt)}`. If it is placed directly into the page, it
+/// receives the page's dimensions minus its margins. This is mostly useful in
+/// combination with [measurement]($measure).
///
/// You can also use this function to resolve [`ratio`] to fixed lengths. This
/// might come in handy if you're building your own layout abstractions.
@@ -43,8 +46,8 @@ use crate::syntax::Span;
/// })
/// ```
///
-/// Note that this function will provide an infinite width or height if one of
-/// the page width or height is `auto`, respectively.
+/// Note that the width or height provided by `layout` will be infinite if the
+/// corresponding page dimension is set to `{auto}`.
#[func]
pub fn layout(
/// The call span of this function.
@@ -56,8 +59,8 @@ pub fn layout(
/// and `height`.
///
/// This function is called once for each time the content returned by
- /// `layout` appears in the document. That makes it possible to generate
- /// content that depends on the size of the container it is inside of.
+ /// `layout` appears in the document. This makes it possible to generate
+ /// content that depends on the dimensions of its container.
func: Func,
) -> Content {
LayoutElem::new(func).pack().spanned(span)