Show More
@@ -668,6 +668,23 b' define([' | |||||
668 | return toinsert; |
|
668 | return toinsert; | |
669 | }; |
|
669 | }; | |
670 |
|
670 | |||
|
671 | dblclick_to_reset_size = function (img) { | |||
|
672 | /** | |||
|
673 | * Double-click on an image toggles confinement to notebook width | |||
|
674 | * | |||
|
675 | * img: jQuery element | |||
|
676 | */ | |||
|
677 | ||||
|
678 | img.dblclick(function () { | |||
|
679 | // dblclick toggles *raw* size, disabling max-width confinement. | |||
|
680 | if (img.hasClass('unconfined')) { | |||
|
681 | img.removeClass('unconfined'); | |||
|
682 | } else { | |||
|
683 | img.addClass('unconfined'); | |||
|
684 | } | |||
|
685 | }); | |||
|
686 | }; | |||
|
687 | ||||
671 | var set_width_height = function (img, md, mime) { |
|
688 | var set_width_height = function (img, md, mime) { | |
672 | /** |
|
689 | /** | |
673 | * set width and height of an img element from metadata |
|
690 | * set width and height of an img element from metadata | |
@@ -676,6 +693,9 b' define([' | |||||
676 | if (height !== undefined) img.attr('height', height); |
|
693 | if (height !== undefined) img.attr('height', height); | |
677 | var width = _get_metadata_key(md, 'width', mime); |
|
694 | var width = _get_metadata_key(md, 'width', mime); | |
678 | if (width !== undefined) img.attr('width', width); |
|
695 | if (width !== undefined) img.attr('width', width); | |
|
696 | if (_get_metadata_key(md, 'unconfined', mime)) { | |||
|
697 | img.addClass('unconfined'); | |||
|
698 | } | |||
679 | }; |
|
699 | }; | |
680 |
|
700 | |||
681 | var append_png = function (png, md, element, handle_inserted) { |
|
701 | var append_png = function (png, md, element, handle_inserted) { | |
@@ -689,6 +709,7 b' define([' | |||||
689 | } |
|
709 | } | |
690 | img[0].src = 'data:image/png;base64,'+ png; |
|
710 | img[0].src = 'data:image/png;base64,'+ png; | |
691 | set_width_height(img, md, 'image/png'); |
|
711 | set_width_height(img, md, 'image/png'); | |
|
712 | dblclick_to_reset_size(img); | |||
692 | toinsert.append(img); |
|
713 | toinsert.append(img); | |
693 | element.append(toinsert); |
|
714 | element.append(toinsert); | |
694 | return toinsert; |
|
715 | return toinsert; | |
@@ -706,6 +727,7 b' define([' | |||||
706 | } |
|
727 | } | |
707 | img[0].src = 'data:image/jpeg;base64,'+ jpeg; |
|
728 | img[0].src = 'data:image/jpeg;base64,'+ jpeg; | |
708 | set_width_height(img, md, 'image/jpeg'); |
|
729 | set_width_height(img, md, 'image/jpeg'); | |
|
730 | dblclick_to_reset_size(img); | |||
709 | toinsert.append(img); |
|
731 | toinsert.append(img); | |
710 | element.append(toinsert); |
|
732 | element.append(toinsert); | |
711 | return toinsert; |
|
733 | return toinsert; |
@@ -66,6 +66,14 b' div.output_area {' | |||||
66 | margin-right: 0; |
|
66 | margin-right: 0; | |
67 | } |
|
67 | } | |
68 | } |
|
68 | } | |
|
69 | ||||
|
70 | img, svg { | |||
|
71 | max-width: 100%; | |||
|
72 | height: auto; | |||
|
73 | &.unconfined { | |||
|
74 | max-width: none; | |||
|
75 | } | |||
|
76 | } | |||
69 | } |
|
77 | } | |
70 |
|
78 | |||
71 | /* This is needed to protect the pre formating from global settings such |
|
79 | /* This is needed to protect the pre formating from global settings such |
@@ -82,5 +82,12 b'' | |||||
82 | margin-right: auto; |
|
82 | margin-right: auto; | |
83 | } |
|
83 | } | |
84 | * + img {margin-top: 1em;} |
|
84 | * + img {margin-top: 1em;} | |
85 |
|
85 | |||
|
86 | img, svg { | |||
|
87 | max-width: 100%; | |||
|
88 | height: auto; | |||
|
89 | &.unconfined { | |||
|
90 | max-width: none; | |||
|
91 | } | |||
|
92 | } | |||
86 | } |
|
93 | } |
@@ -825,6 +825,15 b' div.output_area .rendered_html img {' | |||||
825 | margin-left: 0; |
|
825 | margin-left: 0; | |
826 | margin-right: 0; |
|
826 | margin-right: 0; | |
827 | } |
|
827 | } | |
|
828 | div.output_area img, | |||
|
829 | div.output_area svg { | |||
|
830 | max-width: 100%; | |||
|
831 | height: auto; | |||
|
832 | } | |||
|
833 | div.output_area img.unconfined, | |||
|
834 | div.output_area svg.unconfined { | |||
|
835 | max-width: none; | |||
|
836 | } | |||
828 | /* This is needed to protect the pre formating from global settings such |
|
837 | /* This is needed to protect the pre formating from global settings such | |
829 | as that of bootstrap */ |
|
838 | as that of bootstrap */ | |
830 | .output { |
|
839 | .output { | |
@@ -1116,6 +1125,15 b' div.output_unrecognized a:hover {' | |||||
1116 | .rendered_html * + img { |
|
1125 | .rendered_html * + img { | |
1117 | margin-top: 1em; |
|
1126 | margin-top: 1em; | |
1118 | } |
|
1127 | } | |
|
1128 | .rendered_html img, | |||
|
1129 | .rendered_html svg { | |||
|
1130 | max-width: 100%; | |||
|
1131 | height: auto; | |||
|
1132 | } | |||
|
1133 | .rendered_html img.unconfined, | |||
|
1134 | .rendered_html svg.unconfined { | |||
|
1135 | max-width: none; | |||
|
1136 | } | |||
1119 | div.text_cell { |
|
1137 | div.text_cell { | |
1120 | /* Old browsers */ |
|
1138 | /* Old browsers */ | |
1121 | display: -webkit-box; |
|
1139 | display: -webkit-box; |
@@ -9617,6 +9617,15 b' div.output_area .rendered_html img {' | |||||
9617 | margin-left: 0; |
|
9617 | margin-left: 0; | |
9618 | margin-right: 0; |
|
9618 | margin-right: 0; | |
9619 | } |
|
9619 | } | |
|
9620 | div.output_area img, | |||
|
9621 | div.output_area svg { | |||
|
9622 | max-width: 100%; | |||
|
9623 | height: auto; | |||
|
9624 | } | |||
|
9625 | div.output_area img.unconfined, | |||
|
9626 | div.output_area svg.unconfined { | |||
|
9627 | max-width: none; | |||
|
9628 | } | |||
9620 | /* This is needed to protect the pre formating from global settings such |
|
9629 | /* This is needed to protect the pre formating from global settings such | |
9621 | as that of bootstrap */ |
|
9630 | as that of bootstrap */ | |
9622 | .output { |
|
9631 | .output { | |
@@ -9908,6 +9917,15 b' div.output_unrecognized a:hover {' | |||||
9908 | .rendered_html * + img { |
|
9917 | .rendered_html * + img { | |
9909 | margin-top: 1em; |
|
9918 | margin-top: 1em; | |
9910 | } |
|
9919 | } | |
|
9920 | .rendered_html img, | |||
|
9921 | .rendered_html svg { | |||
|
9922 | max-width: 100%; | |||
|
9923 | height: auto; | |||
|
9924 | } | |||
|
9925 | .rendered_html img.unconfined, | |||
|
9926 | .rendered_html svg.unconfined { | |||
|
9927 | max-width: none; | |||
|
9928 | } | |||
9911 | div.text_cell { |
|
9929 | div.text_cell { | |
9912 | /* Old browsers */ |
|
9930 | /* Old browsers */ | |
9913 | display: -webkit-box; |
|
9931 | display: -webkit-box; |
@@ -142,6 +142,9 b" width={{output.metadata['image/png']['width']}}" | |||||
142 | {%- if 'height' in output.metadata.get('image/png', {}) %} |
|
142 | {%- if 'height' in output.metadata.get('image/png', {}) %} | |
143 | height={{output.metadata['image/png']['height']}} |
|
143 | height={{output.metadata['image/png']['height']}} | |
144 | {%- endif %} |
|
144 | {%- endif %} | |
|
145 | {%- if output.metadata.get('image/png', {}).get('unconfined') %} | |||
|
146 | class="unconfined" | |||
|
147 | {%- endif %} | |||
145 | > |
|
148 | > | |
146 | </div> |
|
149 | </div> | |
147 | {%- endblock data_png %} |
|
150 | {%- endblock data_png %} |
General Comments 0
You need to be logged in to leave comments.
Login now