3131 --icon-warning : url ('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>' );
3232 --icon-failure : url ('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>' );
3333 --icon-spark : url ('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>' );
34+
35+ /* icons used for details summaries */
36+ --icon-details-open : url ('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>' );
3437}
3538
3639body {
@@ -409,7 +412,7 @@ table td, table th {
409412 padding : 0.2em 0.5em 0.2em 0.5em ;
410413}
411414
412- div .admonition , div .warning {
415+ div .admonition , div .warning , details . admonition {
413416 font-size : 0.9em ;
414417 margin : 1em 0 1em 0 ;
415418 border : 1px solid # 86989B ;
@@ -418,16 +421,16 @@ div.admonition, div.warning {
418421 padding : 1rem ;
419422}
420423
421- div .admonition > p , div .warning > p {
424+ div .admonition > p , div .warning > p , details . admonition > p {
422425 margin : 0 ;
423426 padding : 0 ;
424427}
425428
426- div .admonition > pre , div .warning > pre {
429+ div .admonition > pre , div .warning > pre , details . admonition > pre {
427430 margin : 0.4em 1em 0.4em 1em ;
428431}
429432
430- div .admonition > p .admonition-title {
433+ div .admonition > p .admonition-title , details . admonition > summary . admonition-title {
431434 position : relative;
432435 font-weight : 500 ;
433436 background-color : var (--color-admonition-bg );
@@ -436,33 +439,78 @@ div.admonition > p.admonition-title {
436439 border-radius : var (--admonition-radius ) var (--admonition-radius ) 0 0 ;
437440}
438441
442+ details .admonition : not ([open ]) {
443+ padding-bottom : 0 ;
444+ }
445+ details .admonition > summary .admonition-title {
446+ list-style : none;
447+ cursor : pointer;
448+ padding-right : .5rem ;
449+ }
450+ details .admonition > summary .admonition-title ::after {
451+ background-color : currentcolor;
452+ content : "" ;
453+ height : 1.2rem ;
454+ width : 1.2rem ;
455+ -webkit-mask-image : var (--icon-details-open );
456+ mask-image : var (--icon-details-open );
457+ -webkit-mask-position : center;
458+ mask-position : center;
459+ -webkit-mask-repeat : no-repeat;
460+ mask-repeat : no-repeat;
461+ -webkit-mask-size : contain;
462+ mask-size : contain;
463+ transform : rotate (0deg );
464+ transition : transform .25s ;
465+ float : right;
466+ }
467+ details .admonition [open ] > summary .admonition-title ::after {
468+ transform : rotate (90deg );
469+ }
470+ details .admonition : not ([open ]) > summary .admonition-title {
471+ margin-bottom : 0 ;
472+ border-radius : var (--admonition-radius );
473+ }
474+
439475div .attention > p .admonition-title ,
440476div .danger > p .admonition-title ,
441- div .error > p .admonition-title {
477+ div .error > p .admonition-title ,
478+ details .attention > summary .admonition-title ,
479+ details .danger > summary .admonition-title ,
480+ details .error > summary .admonition-title {
442481 background-color : var (--colour-error-bg );
443482}
444483
445484div .important > p .admonition-title ,
446485div .caution > p .admonition-title ,
447- div .warning > p .admonition-title {
486+ div .warning > p .admonition-title ,
487+ details .important > summary .admonition-title ,
488+ details .caution > summary .admonition-title ,
489+ details .warning > summary .admonition-title {
448490 background-color : var (--colour-warning-bg );
449491}
450492
451- div .note > p .admonition-title {
493+ div .note > p .admonition-title ,
494+ details .note > summary .admonition-title {
452495 background-color : var (--colour-note-bg );
453496}
454497
455498div .hint > p .admonition-title ,
456499div .tip > p .admonition-title ,
457- div .seealso > p .admonition-title {
500+ div .seealso > p .admonition-title ,
501+ details .hint > summary .admonition-title ,
502+ details .tip > summary .admonition-title ,
503+ details .seealso > summary .admonition-title {
458504 background-color : var (--colour-success-bg );
459505}
460506
461- div .admonition-todo > p .admonition-title {
507+ div .admonition-todo > p .admonition-title ,
508+ details .admonition-todo > summary .admonition-title {
462509 background-color : var (--colour-todo-bg );
463510}
464511
465- p .admonition-title ::before {
512+ p .admonition-title ::before ,
513+ summary .admonition-title ::before {
466514 content : "" ;
467515 height : 1rem ;
468516 left : .5rem ;
@@ -472,69 +520,81 @@ p.admonition-title::before {
472520 background-color : # 5f5f5f ;
473521}
474522
475- div .admonition > p .admonition-title ::before {
523+ div .admonition > p .admonition-title ::before ,
524+ details .admonition > summary .admonition-title ::before {
476525 background-color : var (--color-admonition-fg );
477526 -webkit-mask-image : var (--icon-abstract );
478527 mask-image : var (--icon-abstract );
479528}
480- div .attention > p .admonition-title ::before {
529+ div .attention > p .admonition-title ::before ,
530+ details .attention > summary .admonition-title ::before {
481531 background-color : var (--colour-error-fg );
482532 -webkit-mask-image : var (--icon-warning );
483533 mask-image : var (--icon-warning );
484534}
485- div .caution > p .admonition-title ::before {
535+ div .caution > p .admonition-title ::before ,
536+ details .caution > summary .admonition-title ::before {
486537 background-color : var (--colour-warning-fg );
487538 -webkit-mask-image : var (--icon-spark );
488539 mask-image : var (--icon-spark );
489540}
490- div .danger > p .admonition-title ::before {
541+ div .danger > p .admonition-title ::before ,
542+ details .danger > summary .admonition-title ::before {
491543 background-color : var (--colour-error-fg );
492544 -webkit-mask-image : var (--icon-spark );
493545 mask-image : var (--icon-spark );
494546}
495- div .error > p .admonition-title ::before {
547+ div .error > p .admonition-title ::before ,
548+ details .error > summary .admonition-title ::before {
496549 background-color : var (--colour-error-fg );
497550 -webkit-mask-image : var (--icon-failure );
498551 mask-image : var (--icon-failure );
499552}
500- div .hint > p .admonition-title ::before {
553+ div .hint > p .admonition-title ::before ,
554+ details .hint > summary .admonition-title ::before {
501555 background-color : var (--colour-success-fg );
502556 -webkit-mask-image : var (--icon-question );
503557 mask-image : var (--icon-question );
504558}
505- div .important > p .admonition-title ::before {
559+ div .important > p .admonition-title ::before ,
560+ details .important > summary .admonition-title ::before {
506561 background-color : var (--colour-warning-fg );
507562 -webkit-mask-image : var (--icon-flame );
508563 mask-image : var (--icon-flame );
509564}
510- div .note > p .admonition-title ::before {
565+ div .note > p .admonition-title ::before ,
566+ details .note > summary .admonition-title ::before {
511567 background-color : var (--colour-note-fg );
512568 -webkit-mask-image : var (--icon-pencil );
513569 mask-image : var (--icon-pencil );
514570}
515- div .seealso > p .admonition-title ::before {
571+ div .seealso > p .admonition-title ::before ,
572+ details .seealso > summary .admonition-title ::before {
516573 background-color : var (--colour-success-fg );
517574 -webkit-mask-image : var (--icon-info );
518575 mask-image : var (--icon-info );
519576}
520- div .tip > p .admonition-title ::before {
577+ div .tip > p .admonition-title ::before ,
578+ details .tip > summary .admonition-title ::before {
521579 background-color : var (--colour-success-fg );
522580 -webkit-mask-image : var (--icon-info );
523581 mask-image : var (--icon-info );
524582}
525- div .admonition-todo > p .admonition-title ::before {
583+ div .admonition-todo > p .admonition-title ::before ,
584+ details .admonition-todo > summary .admonition-title ::before {
526585 background-color : var (--colour-todo-fg );
527586 -webkit-mask-image : var (--icon-pencil );
528587 mask-image : var (--icon-pencil );
529588}
530- div .warning > p .admonition-title ::before {
589+ div .warning > p .admonition-title ::before ,
590+ details .warning > summary .admonition-title ::before {
531591 background-color : var (--colour-warning-fg );
532592 -webkit-mask-image : var (--icon-warning );
533593 mask-image : var (--icon-warning );
534594}
535595div .caution ,
536596div .important ,
537- div .warning {
597+ div .warning , details . warning {
538598 border-color : var (--colour-warning-fg );
539599}
540600div .attention ,
0 commit comments