@@ -234,6 +234,20 @@ let rec block ~config ~resolve (l : Block.t) : flow Html.elt list =
234
234
let a = Some (class_ (extra_class @ t.attr)) in
235
235
[ mk ?a content ]
236
236
in
237
+ let mk_media_block media_block target content =
238
+ let block =
239
+ match target with
240
+ | Target. External url -> media_block url
241
+ | Internal (Resolved uri ) ->
242
+ let url = Link. href ~config ~resolve uri in
243
+ media_block url
244
+ | Internal Unresolved ->
245
+ let content = inline ~config ~resolve content in
246
+ let a = Html. a_class [ " xref-unresolved" ] :: [] in
247
+ [ Html. span ~a content ]
248
+ in
249
+ mk_block Html. div block
250
+ in
237
251
match t.desc with
238
252
| Inline i ->
239
253
if t.attr = [] then as_flow @@ inline ~config ~resolve i
@@ -265,33 +279,11 @@ let rec block ~config ~resolve (l : Block.t) : flow Html.elt list =
265
279
mk_block ~extra_class Html. pre (source (inline ~config ~resolve ) c)
266
280
| Math s -> mk_block Html. div [ block_math s ]
267
281
| Audio (target , content ) ->
268
- let content = inline ~config ~resolve content in
269
282
let audio src = [ Html. audio ~src ~a: [ Html. a_controls () ] [] ] in
270
- let block =
271
- match target with
272
- | External url -> audio url
273
- | Internal (Resolved uri ) ->
274
- let url = Link. href ~config ~resolve uri in
275
- audio url
276
- | Internal Unresolved ->
277
- let a = Html. a_class [ " xref-unresolved" ] :: [] in
278
- [ Html. span ~a content ]
279
- in
280
- mk_block Html. div block
283
+ mk_media_block audio target content
281
284
| Video (target , content ) ->
282
- let content = inline ~config ~resolve content in
283
285
let video src = [ Html. video ~src ~a: [ Html. a_controls () ] [] ] in
284
- let block =
285
- match target with
286
- | External url -> video url
287
- | Internal (Resolved uri ) ->
288
- let url = Link. href ~config ~resolve uri in
289
- video url
290
- | Internal Unresolved ->
291
- let a = [ Html. a_class [ " xref-unresolved" ] ] in
292
- [ Html. span ~a content ]
293
- in
294
- mk_block Html. div block
286
+ mk_media_block video target content
295
287
| Image (target , alt ) ->
296
288
let image src =
297
289
let alt = alt_of_inline alt in
@@ -302,18 +294,9 @@ let rec block ~config ~resolve (l : Block.t) : flow Html.elt list =
302
294
in
303
295
[ img ]
304
296
in
305
- let block =
306
- match target with
307
- | External url -> image url
308
- | Internal (Resolved uri ) ->
309
- let url = Link. href ~config ~resolve uri in
310
- image url
311
- | Internal Unresolved ->
312
- let a = [ Html. a_class [ " xref-unresolved" ] ] in
313
- [ Html. span ~a (inline ~config ~resolve alt) ]
314
- in
315
- mk_block Html. div block
297
+ mk_media_block image target alt
316
298
in
299
+
317
300
Odoc_utils.List. concat_map l ~f: one
318
301
319
302
and mk_rows ~config ~resolve { align; data } =
0 commit comments