@@ -234,6 +234,20 @@ let rec block ~config ~resolve (l : Block.t) : flow Html.elt list =
234234 let a = Some (class_ (extra_class @ t.attr)) in
235235 [ mk ?a content ]
236236 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
237251 match t.desc with
238252 | Inline i ->
239253 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 =
265279 mk_block ~extra_class Html. pre (source (inline ~config ~resolve ) c)
266280 | Math s -> mk_block Html. div [ block_math s ]
267281 | Audio (target , content ) ->
268- let content = inline ~config ~resolve content in
269282 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
281284 | Video (target , content ) ->
282- let content = inline ~config ~resolve content in
283285 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
295287 | Image (target , alt ) ->
296288 let image src =
297289 let alt = alt_of_inline alt in
@@ -302,18 +294,9 @@ let rec block ~config ~resolve (l : Block.t) : flow Html.elt list =
302294 in
303295 [ img ]
304296 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
316298 in
299+
317300 Odoc_utils.List. concat_map l ~f: one
318301
319302and mk_rows ~config ~resolve { align; data } =
0 commit comments