@@ -253,22 +253,24 @@ object LaikaCustomizations {
253253 TemplateDirectives .eval(" forBlogPosts" ) {
254254 import TemplateDirectives .dsl .*
255255
256- (cursor, parsedBody, source).mapN { (c, b, s) =>
257- def contentScope (value : ConfigValue ) =
258- TemplateScope (TemplateSpanSequence (b), value, s)
256+ (attribute(0 ).as[Int ].optional, cursor, parsedBody, source)
257+ .mapN { (count, c, b, s) =>
258+ def contentScope (value : ConfigValue ) =
259+ TemplateScope (TemplateSpanSequence (b), value, s)
259260
260- val posts = c.parent.allDocuments.flatMap { d =>
261- d.config.get[OffsetDateTime ](" date" ).toList.tupleLeft(d)
262- }
263-
264- posts
265- .sortBy(_._2)(using summon[Ordering [OffsetDateTime ]].reverse)
266- .traverse { (d, _) =>
267- d.config.get[ConfigValue ](" " ).map(contentScope(_))
261+ val posts = c.parent.allDocuments.flatMap { d =>
262+ d.config.get[OffsetDateTime ](" date" ).toList.tupleLeft(d)
268263 }
269- .leftMap(_.message)
270- .map(TemplateSpanSequence (_))
271- }
264+
265+ posts
266+ .sortBy(_._2)(using summon[Ordering [OffsetDateTime ]].reverse)
267+ .take(count.getOrElse(Int .MaxValue ))
268+ .traverse { (d, _) =>
269+ d.config.get[ConfigValue ](" " ).map(contentScope(_))
270+ }
271+ .leftMap(_.message)
272+ .map(TemplateSpanSequence (_))
273+ }
272274 },
273275 TemplateDirectives .create(" svg" ) {
274276 import TemplateDirectives .dsl .*
0 commit comments