features: Update screenshot and add tool to generate.

This adds a new management command that should make generating or
updating screenshots a bit easier in the future.
This commit is contained in:
Rishi Gupta
2017-08-06 00:56:29 -07:00
committed by Tim Abbott
parent a5c05f9812
commit b32fe9f2a0
12 changed files with 480 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="260"
height="260"
viewBox="0 0 260.00001 260.00001"
id="svg5281"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="fisher.svg"
inkscape:export-filename="/home/rishig/zulip/static/images/cute/fisher.png"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600">
<defs
id="defs5283" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="-165.36132"
inkscape:cy="139.67975"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="40"
fit-margin-left="35"
fit-margin-right="35"
fit-margin-bottom="40"
inkscape:window-width="1855"
inkscape:window-height="1056"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1"
units="px"
showborder="true"
borderlayer="false" />
<metadata
id="metadata5286">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-147.5564,-450.69835)">
<g
id="g4720"
transform="translate(-13.872171,14.050434)"
style="fill:#b4cb38;fill-opacity:1">
<g
style="fill:#b4cb38;fill-opacity:1"
transform="matrix(1.25,0,0,-1.25,228.48994,593.85305)"
id="g28">
<path
inkscape:connector-curvature="0"
id="path30"
style="fill:#b4cb38;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 c 8.304,-6.621 23.255,-21.522 46.474,-21.484 l 1.936,-1.103 c 6.641,-3.859 7.758,-10.493 5.557,-17.13 -1.101,-2.766 -3.854,-9.405 -4.957,-11.617 -1.655,-2.214 -2.754,-4.98 -5.517,-6.644 13.828,-3.294 17.128,6.662 24.301,15.52 6.621,8.856 17.676,8.875 23.188,18.835 6.607,17.425 35.085,13.049 43.349,31.307 l -2.5,6.215 4.143,2.91 C 109.382,50.767 102.761,42.048 92.801,47.837 81.952,90.112 55.421,85.508 18.925,90.423 20.601,79.646 19.776,77.156 26.423,69.704 32.238,63.078 41.359,63.093 39.72,51.481 L 38.062,50.649 C 23.982,40.675 6.567,40.646 1.625,20.735 l -0.653,1.057 c -22.224,17.113 -14.218,57.48 -22.329,81.682 -16.131,-6.081 -1.972,-27.244 -3.97,-39.353 -2.001,-10.093 -10.068,-13.131 -10.05,-24.229 0.017,-10.088 8.099,-16.128 9.122,-25.205 0.012,-7.062 -5.026,-12.115 -6.022,-19.179 0.016,-9.079 3.048,-12.101 5.077,-19.16 2.035,-11.094 -8.627,-18.024 -3.567,-28.104 l 7.662,-8.206 c 0.975,20.177 14.059,39.366 22.099,57.539 L 0,0 Z" />
</g>
<g
style="fill:#b4cb38;fill-opacity:1"
transform="matrix(1.25,0,0,-1.25,227.16431,595.17868)"
id="g32">
<path
inkscape:connector-curvature="0"
id="path34"
style="fill:#b4cb38;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 c 10.75,-8.656 21.063,-16.954 34.756,-20.426 1.962,-0.498 3.967,-0.798 5.97,-1.068 1.516,-0.205 5.119,0.307 6.354,-0.397 4.16,-2.37 7.038,-5.228 7.461,-10.232 0.365,-4.319 -1.923,-8.563 -3.549,-12.412 -1.694,-4.01 -3.553,-8.424 -7.195,-11.087 -0.951,-0.695 -1.04,-2.451 0.358,-2.741 5.05,-1.05 9.741,-0.908 14.144,1.998 4.388,2.896 7.218,8.016 10.258,12.154 4.524,6.158 10.631,8.84 16.899,12.778 2.332,1.465 4.346,3.303 6.09,5.425 1.95,2.37 2.781,5.321 4.729,7.702 6.907,8.441 20.179,9.87 29.37,14.917 4.424,2.431 8.082,5.912 10.533,10.328 1.516,2.733 -0.777,5.777 -1.84,8.42 -0.23,-0.565 -0.459,-1.13 -0.69,-1.694 l 4.143,2.909 c 0.855,0.6 0.934,1.558 0.304,2.356 -8.186,10.371 -17.598,22.438 -30.428,27.251 -2.902,1.088 -5.984,1.499 -8.962,2.313 -2.595,0.71 -3.456,1.099 -4.199,3.743 -1.132,4.032 -2.635,7.949 -4.405,11.741 -12.838,27.491 -44.41,25.611 -70.116,29.006 -1.068,0.141 -1.572,-1.057 -1.446,-1.899 1.274,-8.494 2.101,-14.73 7.884,-21.381 2.397,-2.758 5.641,-4.557 8.607,-6.613 2.472,-1.714 7.155,-8.171 3.335,-10.086 C 34.65,51.142 31.231,48.709 27.427,46.923 23.489,45.075 19.502,43.362 15.719,41.203 8.257,36.944 3.47,30.447 1.239,22.194 c 0.914,0.119 1.828,0.239 2.742,0.358 -1.312,2.124 -3.501,3.536 -5.204,5.369 -2.568,2.764 -4.443,6.109 -6.027,9.505 -3.418,7.324 -4.712,15.658 -5.674,23.609 -1.764,14.586 -1.372,29.787 -5.926,43.898 -0.226,0.7 -1.067,1.374 -1.845,1.047 -14.498,-6.081 -7.109,-22.63 -5.204,-34.138 1.579,-9.54 -4.943,-14.58 -8.229,-22.599 -3.399,-8.294 -0.762,-15.775 3.347,-23.198 2.831,-5.114 4.948,-9.628 3.126,-15.554 -1.439,-4.679 -4.113,-8.64 -5.008,-13.523 -1.66,-9.063 6.535,-16.632 4.953,-25.618 -1.318,-7.488 -6.611,-13.285 -3.995,-21.201 1.287,-3.895 5.871,-7.188 8.6,-10.111 0.949,-1.017 2.481,-0.176 2.561,1.06 1.402,21.777 14.919,39.977 23.051,59.564 0.742,1.786 -2.162,2.557 -2.893,0.797 -8.274,-19.929 -21.73,-38.183 -23.158,-60.361 l 2.56,1.061 c -2.788,2.987 -6.937,6.09 -8.23,10.003 -2.223,6.729 4.09,14.566 4.798,21.267 0.897,8.49 -6.698,15.407 -5.082,24.225 1.493,8.145 7.496,13.688 4.864,22.396 -2.654,8.78 -9.594,14.866 -7.79,24.811 1.328,7.325 7.884,12.553 9.604,19.921 2.64,11.317 -12.172,31.974 2.923,38.306 -0.616,0.349 -1.231,0.698 -1.846,1.047 4.732,-14.66 4.194,-30.553 6.144,-45.706 0.927,-7.197 2.385,-14.328 5.131,-21.067 1.235,-3.031 2.823,-5.871 4.701,-8.547 2.009,-2.862 5.379,-4.898 7.157,-7.776 0.674,-1.091 2.396,-0.922 2.742,0.357 2.704,10.002 9.251,15.551 18.263,19.914 4.02,1.946 8.131,3.676 12.079,5.772 1.612,0.856 7.22,3.125 7.753,5.061 2.071,7.528 -3.528,12.139 -9.01,15.763 -4.03,2.662 -7.6,6.514 -9.454,11.021 -1.641,3.99 -1.698,8.735 -2.331,12.956 C 20.95,91.25 20.467,90.617 19.985,89.984 33.79,88.161 48.034,87.94 61.525,84.263 75.733,80.391 84.772,70.425 89.852,56.861 c 0.758,-2.024 1.377,-8.205 3.252,-9.259 1.256,-0.706 2.563,-1.276 3.928,-1.736 2.692,-0.908 5.547,-1.258 8.272,-2.058 12.998,-3.815 22.72,-16.928 30.67,-26.999 0.101,0.785 0.202,1.57 0.303,2.356 l -4.142,-2.91 c -0.507,-0.356 -0.951,-1.043 -0.69,-1.694 0.474,-1.177 0.947,-2.353 1.42,-3.53 1,-2.487 1.001,-2.25 -0.428,-4.525 -2.786,-4.435 -7.64,-7.155 -12.256,-9.294 -8.307,-3.847 -17.644,-5.691 -24.638,-11.952 -3.825,-3.425 -5.076,-8.539 -8.839,-12.041 -4.267,-3.971 -10.187,-5.861 -14.803,-9.404 -9.606,-7.373 -11.943,-22.405 -26.948,-19.286 0.119,-0.913 0.238,-1.827 0.358,-2.741 6.089,4.451 9.461,13.446 11.558,20.483 2.24,7.516 -0.997,14.282 -7.609,18.049 -3.333,1.899 -8.472,1.085 -12.255,1.821 -5.372,1.046 -10.483,3.148 -15.299,5.701 C 14.501,-8.337 8.43,-2.958 2.121,2.121 0.63,3.322 -1.507,1.213 0,0" />
</g>
<path
inkscape:connector-curvature="0"
id="path5841"
d="m 290.59288,661.31584 c 4.00664,-5.25297 8.79524,-18.37316 8.85996,-24.27525 0.0709,-6.46589 -3.1382,-12.80205 -8.16668,-16.12451 -2.74914,-1.81644 -6.09004,-2.75661 -12.35442,-3.47671 -4.72246,-0.54284 -10.43696,-1.64699 -12.69888,-2.45367 -9.6137,-3.42854 -20.90822,-10.30513 -31.60704,-19.24374 -2.4049,-2.00924 -5.03335,-3.65316 -5.84099,-3.65316 -0.90869,0 -5.28166,7.83641 -11.47192,20.55781 -11.93177,24.52061 -15.35138,32.91109 -17.66127,43.33434 -0.9542,4.30577 -1.87723,7.82868 -2.05119,7.82868 -0.17396,0 -1.71932,-1.90783 -3.43414,-4.23961 -3.95732,-5.38112 -4.09676,-10.60708 -0.51406,-19.26651 4.12513,-9.97048 4.24384,-15.81001 0.5272,-25.93216 -3.96525,-10.7992 -3.949,-15.19183 0.0947,-25.59814 4.6739,-12.02812 4.44793,-16.14015 -1.57114,-28.59017 -7.53005,-15.57536 -7.39852,-20.45281 0.92251,-34.21092 6.46722,-10.69298 6.98494,-13.64713 4.47056,-25.50936 -3.7189,-17.54495 -4.15852,-20.58809 -3.44407,-23.84093 0.82687,-3.76475 3.03582,-7.38983 4.95078,-8.12467 1.87037,-0.71773 4.13842,12.1704 6.1033,34.68195 1.85187,21.21671 2.95493,28.56297 5.69036,37.89698 2.93669,10.02081 7.19462,17.51929 13.46375,23.71055 5.8547,5.78198 7.9083,6.09371 9.04031,1.37231 1.0703,-4.46401 7.24174,-12.82723 11.95879,-16.20591 2.3557,-1.68732 10.66975,-6.26429 18.47565,-10.17104 7.8059,-3.90675 14.79678,-7.83123 15.53528,-8.72107 1.87562,-2.25999 0.85328,-9.88572 -1.77292,-13.22439 -1.16035,-1.47516 -5.09113,-4.93907 -8.73506,-7.6976 -9.06221,-6.86027 -12.49858,-12.55233 -13.98067,-23.15783 l -0.50133,-3.58735 7.7326,0.82229 c 43.8604,4.66414 52.3449,7.33361 64.4537,20.27898 6.38405,6.82512 11.51188,16.24329 13.48221,24.76247 1.49855,6.47935 3.17087,7.74848 13.79706,10.47066 4.28943,1.09885 8.96342,2.60018 10.38662,3.33628 6.66482,3.44716 15.77461,11.36558 22.83536,19.84899 l 7.74608,9.30684 -2.28814,1.72595 c -2.25707,1.70252 -2.26481,1.78424 -0.56952,6.02116 1.67758,4.19269 1.66508,4.37332 -0.52343,7.56725 -3.36381,4.90915 -10.10071,9.0047 -24.10762,14.65569 -15.80726,6.37734 -20.97196,9.86633 -26.09444,17.62802 -5.059,7.66553 -7.9701,10.34919 -16.83704,15.5216 -8.7395,5.09808 -11.42926,7.39939 -16.15559,13.82248 -7.79472,10.59301 -14.01099,15.65736 -19.21871,15.65736 -1.25236,0 -1.01959,-0.75975 1.0735,-3.50394 z"
style="opacity:1;fill:#b4cb38;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="180"
height="180"
viewBox="0 0 180 180"
id="svg4692"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="starr.svg"
inkscape:export-filename="/home/rishig/zulip/static/images/cute/starr.png"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600">
<defs
id="defs4694" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="45.356013"
inkscape:cy="137.77101"
inkscape:document-units="px"
inkscape:current-layer="g5867"
showgrid="false"
fit-margin-top="35"
fit-margin-left="38"
fit-margin-right="38"
fit-margin-bottom="35"
inkscape:window-width="1855"
inkscape:window-height="1056"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1"
units="px" />
<metadata
id="metadata4697">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-145.0829,-396.86741)">
<g
id="g5862">
<g
id="g5867">
<g
id="g4138"
transform="translate(-22.424775,18.393688)">
<g
style="fill:#bf7849;fill-opacity:1;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none"
transform="matrix(0,-1.25,1.25,0,194.84004,518.59989)"
id="g40">
<path
inkscape:connector-curvature="0"
id="path42"
style="fill:#bf7849;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none"
d="m 0,0 c 8.172,4.288 15.031,10.398 22.586,15.608 5.391,3.719 10.911,7.289 16.506,10.691 -0.606,0.079 -1.212,0.157 -1.818,0.235 7.129,-7.787 14.224,-15.605 21.409,-23.341 2.061,-2.218 8.546,-12.526 12.873,-8.458 1.992,1.874 0.405,6.18 -0.13,8.248 -0.941,3.632 -1.748,7.301 -2.611,10.953 -2.052,8.687 -3.861,17.691 -7.172,26.008 -0.23,-0.565 -0.46,-1.129 -0.69,-1.694 7.244,3.525 14.506,7.015 21.763,10.513 4.753,2.291 12.904,4.514 15.498,9.385 3.099,5.818 -6.644,6.066 -9.345,6.187 -11.387,0.507 -22.79,0.24 -34.174,0.801 0.482,-0.367 0.964,-0.735 1.446,-1.101 -1.383,5.914 -2.735,11.836 -4.019,17.772 -0.953,4.406 -1.706,8.847 -2.558,13.273 -0.537,2.786 -1.001,9.774 -4.278,11.049 -6.582,2.56 -7.709,-9.855 -8.703,-13.346 -1.3,-4.569 -2.368,-9.191 -3.995,-13.66 -1.684,-4.629 -4.029,-9.013 -5.896,-13.571 0.482,0.367 0.964,0.734 1.446,1.101 -8.989,1.02 -17.923,2.515 -26.882,3.76 -3.95,0.548 -7.907,1.069 -11.881,1.43 -1.882,0.171 -4.517,0.662 -6.316,-0.191 -2.104,-0.997 -1.896,-4.287 -1.145,-6.026 0.579,-1.34 2.856,-2.36 3.974,-3.164 2.421,-1.74 4.912,-3.38 7.406,-5.011 8.618,-5.633 17.877,-10.479 26.132,-16.645 -0.18,0.684 -0.359,1.369 -0.539,2.052 C 11.652,32.374 4.177,22.046 -1.968,10.864 -3.53,8.021 -5.906,5.032 -5.251,1.667 c 0.477,-2.454 3.039,-2.514 4.893,-1.818 1.794,0.673 1.017,3.574 -0.798,2.893 -3.177,-1.193 1.253,5.62 1.779,6.608 1.999,3.755 4.239,7.381 6.518,10.971 4.546,7.161 9.521,14.045 14.337,21.024 0.502,0.727 0.076,1.593 -0.539,2.052 -6.196,4.629 -13.064,8.416 -19.62,12.503 -3.892,2.428 -7.746,4.913 -11.539,7.493 -1.595,1.086 -8.719,5.741 -3.35,5.637 13.933,-0.272 27.88,-3.808 41.708,-5.377 0.709,-0.08 1.213,0.53 1.446,1.101 2.905,7.094 6.301,13.74 8.252,21.198 0.94,3.595 1.956,7.167 2.992,10.736 0.368,1.269 0.769,5.022 1.646,5.914 2.026,2.06 3.222,-3.926 3.48,-4.975 2.796,-11.35 4.628,-22.99 7.295,-34.39 0.156,-0.67 0.795,-1.069 1.446,-1.101 8.737,-0.43 17.485,-0.361 26.229,-0.529 3.511,-0.068 7.017,-0.235 10.526,-0.384 0.82,-0.034 1.641,-0.063 2.462,-0.088 1.514,-0.417 1.484,-1.639 -0.091,-3.669 C 92.794,56.679 91.424,56.28 90.263,55.731 79.952,50.847 69.698,45.833 59.439,40.841 58.888,40.572 58.518,39.729 58.75,39.146 63.59,26.991 65.418,13.751 68.803,1.161 c 0.182,-0.678 1.252,-4.52 0.275,-4.286 -0.951,0.229 -1.581,1.313 -2.196,1.959 C 63.4,2.495 59.971,6.204 56.544,9.916 50.8,16.137 45.113,22.41 39.396,28.655 38.949,29.144 38.134,29.228 37.578,28.89 31.979,25.485 26.485,21.89 21.072,18.199 13.484,13.027 6.665,6.882 -1.514,2.591 -3.228,1.691 -1.711,-0.897 0,0" />
</g>
<path
inkscape:connector-curvature="0"
id="path5248"
d="m 198.44032,438.61091 c 5.41977,5.07536 21.20088,19.5868 31.08189,28.5812 1.84728,1.68152 2.40018,2.41038 2.40018,3.164 0,1.75381 -11.20087,18.9505 -20.35976,31.25833 -7.30526,9.81691 -12.49738,17.65244 -12.49738,18.86006 0,0.61883 1.39161,0.50788 3.04386,-0.24269 2.44375,-1.11011 12.20607,-6.78413 18.23789,-10.60015 5.26994,-3.33403 10.69602,-7.00125 22.62204,-15.28916 2.46448,-1.71267 4.80801,-3.0852 5.26786,-3.0852 0.45559,0 1.11065,0.2823 1.45569,0.62734 1.14661,1.14661 7.04736,10.1621 11.8615,18.12266 2.61338,4.32143 7.35488,11.79486 10.53667,16.60763 5.43881,8.22673 7.91949,11.29057 8.88307,10.97127 0.65947,-0.21852 0.69155,-6.60156 0.0641,-12.75747 -0.66842,-6.5581 -1.13183,-9.80942 -3.25783,-22.85715 -1.94367,-11.92874 -2.85542,-18.93242 -2.56363,-19.69281 0.2242,-0.58427 15.42438,-7.2439 21.00914,-9.20471 3.85555,-1.35368 17.54503,-5.21179 22.45814,-6.32938 4.07857,-0.92775 5.38149,-1.5648 5.38149,-2.63121 0,-1.66421 -4.28886,-2.82483 -29.07383,-7.86771 -21.31562,-4.337 -21.00181,-4.25807 -21.5601,-5.42292 -0.34023,-0.70984 -0.54254,-5.9511 -0.79238,-20.52725 -0.36901,-21.52905 -0.64921,-28.89524 -1.13514,-29.84186 -0.42001,-0.81822 -1.54711,-0.79275 -2.9372,0.0664 -0.90037,0.55647 -1.70572,1.93289 -4.12706,7.05357 -7.68537,16.25312 -17.61537,36.42942 -18.23839,37.05774 -0.68316,0.68897 -0.74635,0.67649 -6.68065,-1.31928 -7.12735,-2.397 -12.4155,-3.80147 -25.09811,-6.6658 -5.20535,-1.17561 -12.10417,-2.78871 -15.33071,-3.58468 -6.34878,-1.56621 -7.16932,-1.68075 -7.16922,-1.00078 4e-5,0.24554 2.93308,3.19305 6.51786,6.55004 z"
style="opacity:1;fill:#bf7849;fill-opacity:1;stroke:#ffffff;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@@ -0,0 +1,178 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="55.663654mm"
height="42.700615mm"
viewBox="0 0 197.23342 151.30139"
id="svg4716"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="whale.svg">
<defs
id="defs4718" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="31.182162"
inkscape:cy="-189.90084"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1855"
inkscape:window-height="1056"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1" />
<metadata
id="metadata4721">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-124.24043,-96.711512)">
<g
id="g504"
transform="matrix(1.25,0,0,-1.25,224.20375,234.69159)">
<path
d="m 0,0 c 0.334,-3.667 0.529,-7.449 4.196,-8.449 7.333,-2.334 8.594,1.421 12.261,5.754"
style="fill:#d6e5ea;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path506"
inkscape:connector-curvature="0" />
</g>
<g
id="g508"
transform="matrix(1.25,0,0,-1.25,222.32875,234.69159)">
<path
d="m 0,0 c 0.53,-5.884 1.861,-9.593 8.216,-10.554 5.295,-0.8 7.835,3.209 10.802,6.799 1.222,1.479 -0.888,3.613 -2.122,2.121 -1.818,-2.2 -3.593,-5.609 -6.706,-6.01 C 8.202,-7.9 5.23,-7.191 4.096,-5.468 3.11,-3.974 3.153,-1.708 3,0 2.828,1.911 -0.174,1.927 0,0"
style="fill:#45a98d;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path510"
inkscape:connector-curvature="0" />
</g>
<g
id="g512"
transform="matrix(1.25,0,0,-1.25,196.11535,104.83684)">
<path
d="m 0,0 c -9,0 -24.667,-5 -28.333,-15 -1.333,12.667 -14.333,20.333 -26.333,20 -6,-16.667 6.333,-26.666 21,-31.999 l 0,-0.667 c 0,-21.333 7.334,-36.666 22,-53.333 19.333,-17.334 38.498,-20.22 61.5,-20.667 22.087,-0.43 53.166,12 48.5,40.666 -14.666,20 -44,22.001 -64.667,16.001 -10,-2.667 -20.666,-6 -31.333,-4.667 -10.667,1.333 -32,1.751 -27.446,22.667 C -11.779,-28.332 4.334,-15 0.667,0"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path514"
inkscape:connector-curvature="0" />
</g>
<g
id="g516"
transform="matrix(1.25,0,0,-1.25,196.11535,102.96184)">
<path
d="m 0,0 c -11.147,-0.216 -25.184,-5.057 -29.779,-16.101 l 2.892,0 C -28.77,-2.619 -41.847,5.052 -54.666,5 -55.36,4.997 -55.9,4.539 -56.112,3.899 c -5.719,-17.235 7.139,-28.256 22.048,-33.844 -0.368,0.482 -0.735,0.964 -1.102,1.446 0,-23.349 10.457,-46.506 29.333,-60.663 17.943,-13.457 43.439,-17.736 65.394,-14.913 16.834,2.165 35.516,11.143 39.96,28.915 1.07,4.281 0.885,8.733 0.259,13.059 -0.22,1.528 -2.908,3.773 -3.877,4.814 -1.892,2.036 -4.084,3.768 -6.321,5.405 -8.417,6.158 -19.002,8.825 -29.243,9.665 -7.871,0.645 -15.867,-0.169 -23.55,-1.911 -11.527,-2.615 -22.412,-6.74 -34.455,-5.538 -5.707,0.57 -11.494,1.159 -16.936,3.062 -8.083,2.826 -10.633,9.646 -9.064,17.706 -0.482,-0.367 -0.964,-0.734 -1.446,-1.101 15.427,-1.042 30.486,13.133 27.225,28.898 -0.391,1.893 -3.283,1.09 -2.892,-0.798 2.885,-13.952 -10.992,-26.001 -24.333,-25.1 -0.623,0.042 -1.326,-0.484 -1.447,-1.101 -1.504,-7.728 -0.146,-14.825 6.749,-19.315 5.957,-3.879 13.802,-4.318 20.662,-5.077 13.754,-1.521 25.929,3.229 39.159,5.999 11.269,2.361 23.235,1.961 34.273,-1.296 5.643,-1.664 10.946,-4.422 15.581,-8.035 2.109,-1.644 3.969,-3.576 5.72,-5.588 2.553,-2.934 1.855,-8.317 1.275,-11.829 -1.686,-10.192 -9.633,-17.487 -18.387,-22.054 -8.7,-4.539 -18.888,-6.471 -28.639,-6.371 -12.614,0.13 -25.28,1.4 -37.185,5.771 -27.769,10.199 -44.815,38.469 -44.815,67.396 0,0.713 -0.468,1.209 -1.102,1.446 -13.366,5.011 -25.128,14.554 -19.952,30.154 -0.482,-0.367 -0.964,-0.734 -1.446,-1.101 11.618,0.047 23.181,-6.686 24.887,-18.899 0.232,-1.666 2.407,-1.167 2.892,0 C -22.871,-7.248 -9.596,-3.186 0,-3 1.932,-2.962 1.936,0.038 0,0"
style="fill:#45a98d;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path518"
inkscape:connector-curvature="0" />
</g>
<g
id="g520"
transform="matrix(1.25,0,0,-1.25,318.40175,181.84122)">
<path
d="m 0,0 c 5.5,-29 -28,-40.5 -50.5,-40.5 -12,0 -23.5,3 -34.5,6.5 -12,4 -20.75,12.229 -28.5,19.354 12.5,-10 35,-16.229 50,-16.229 14,0 27.521,0.042 40.521,6.042 C -14.479,-21.333 -2.5,-10 0,0"
style="fill:#d6e5ea;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path522"
inkscape:connector-curvature="0" />
</g>
<g
id="g524"
transform="matrix(1.25,0,0,-1.25,316.59385,182.33985)">
<path
d="m 0,0 c 3.878,-22.644 -17.503,-34.059 -36.592,-37.514 -12.68,-2.295 -25.426,-0.536 -37.775,2.745 -7.196,1.913 -13.996,4.293 -20.339,8.248 -5.963,3.717 -11.137,8.599 -16.287,13.335 l -2.121,-2.121 C -95.556,-28.92 -72.788,-32.426 -51.196,-31.863 -29.839,-31.306 -3.731,-23.172 2.893,0 3.426,1.864 0.53,2.654 0,0.798 c -2.713,-9.491 -10.827,-17.406 -19.103,-22.355 -10.026,-5.995 -22.495,-7.055 -33.888,-7.352 -20.021,-0.523 -41.75,3.123 -58.002,15.723 -1.482,1.148 -3.583,-0.777 -2.121,-2.121 4.975,-4.577 9.987,-9.067 15.553,-12.922 6.835,-4.733 14.461,-7.228 22.397,-9.432 13.68,-3.801 27.628,-5.062 41.599,-2.325 20.407,3.997 40.428,17.595 36.458,40.784 C 2.566,2.702 -0.324,1.892 0,0"
style="fill:#45a98d;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path526"
inkscape:connector-curvature="0" />
</g>
<g
id="g528"
transform="matrix(1.25,0,0,-1.25,257.77675,165.90372)">
<path
d="M 0,0 C -4.5,-0.5 -5,-5 0,-4.5 5,-4 4.417,1.25 0,0"
style="fill:#d6e5ea;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path530"
inkscape:connector-curvature="0" />
</g>
<g
id="g532"
transform="matrix(1.25,0,0,-1.25,257.77675,164.02872)">
<path
d="m 0,0 c -2.334,-0.3 -4.917,-1.518 -5.064,-4.184 -0.166,-2.978 3.529,-3.568 5.705,-3.234 2.161,0.332 4.683,1.999 4.371,4.502 -0.339,2.723 -3.067,3.478 -5.41,2.862 -1.871,-0.491 -1.077,-3.385 0.796,-2.892 0.645,0.169 0.987,0.192 1.488,0.022 -0.283,0.096 0.076,-0.07 0.119,-0.097 -0.267,0.174 0.015,-0.047 0.061,-0.101 -0.273,0.309 0.074,-0.25 -0.089,0.15 0.03,-0.074 0.097,-0.445 0.05,-0.062 0.007,-0.08 0.009,-0.16 0.006,-0.241 C 2.032,-3.666 2.107,-2.978 2.008,-3.367 1.91,-3.754 2.147,-3.128 1.955,-3.497 1.942,-3.521 1.683,-3.864 1.856,-3.658 1.477,-4.109 0.967,-4.292 0.299,-4.447 c -0.659,-0.152 -1.386,-0.141 -2.032,0.043 -0.199,0.057 -0.274,0.134 -0.345,0.203 0.214,-0.208 0.002,0.011 -0.045,0.096 0.186,-0.348 0.02,0.228 0.06,-0.196 -0.009,0.097 0.061,0.428 -0.009,0.075 0.013,0.067 0.171,0.404 0.031,0.12 0.137,0.279 0.099,0.203 0.407,0.483 0.28,0.254 1.082,0.552 1.634,0.623 0.811,0.104 1.5,0.604 1.5,1.5 C 1.5,-0.761 0.813,0.104 0,0"
style="fill:#45a98d;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path534"
inkscape:connector-curvature="0" />
</g>
<g
id="g536"
transform="matrix(1.25,0,0,-1.25,253.73985,137.65722)">
<path
d="M 0,0 C -1.834,1.969 -8.667,15.753 -4.167,16.983 -0.834,17.969 -0.5,4.431 0,1.231"
style="fill:#d6e5ea;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path538"
inkscape:connector-curvature="0" />
</g>
<g
id="g540"
transform="matrix(1.25,0,0,-1.25,255.06565,136.3316)">
<path
d="m 0,0 c -1.39,1.625 -2.284,3.847 -3.148,5.775 -0.927,2.066 -2.927,6.171 -1.928,8.475 0.25,0.578 0.839,-1.622 0.959,-2.052 0.46,-1.659 0.667,-3.402 0.867,-5.107 0.286,-2.435 0.401,-4.89 0.743,-7.32 0.269,-1.909 3.158,-1.093 2.893,0.798 -0.34,2.415 -0.7,20.42 -6.739,16.509 C -9.375,15.12 -8.093,10.776 -7.2,7.987 -6.097,4.544 -4.497,0.655 -2.121,-2.121 -0.861,-3.593 1.25,-1.461 0,0"
style="fill:#45a98d;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path542"
inkscape:connector-curvature="0" />
</g>
<g
id="g544"
transform="matrix(1.25,0,0,-1.25,258.94735,132.73422)">
<path
d="M 0,0 C 0.667,1.969 0.667,10.091 3.334,7.384 6.167,4.431 2,0.984 0.667,-0.247"
style="fill:#d6e5ea;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path546"
inkscape:connector-curvature="0" />
</g>
<g
id="g548"
transform="matrix(1.25,0,0,-1.25,260.75525,133.23284)">
<path
d="M 0,0 C 0.676,2.184 0.33,4.718 1.311,6.812 1.379,6.958 1.451,7.042 1.29,6.92 0.958,6.669 0.37,7.153 0.827,6.723 1.479,6.107 1.436,5.3 1.085,4.548 0.458,3.205 -0.769,2.194 -1.84,1.213 -3.27,-0.096 -1.143,-2.211 0.281,-0.908 1.973,0.639 3.796,2.356 4.265,4.7 4.703,6.892 3.265,9.583 0.918,9.83 -2.604,10.202 -2.272,2.803 -2.893,0.798 -3.466,-1.056 -0.569,-1.842 0,0"
style="fill:#45a98d;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path550"
inkscape:connector-curvature="0" />
</g>
<g
id="g552"
transform="matrix(1.25,0,0,-1.25,287.38865,196.29185)">
<path
d="M 0,0 C 0.119,-0.11 0.233,-0.224 0.341,-0.346 0.55,-0.581 0.139,-0.06 0.303,-0.3 0.343,-0.358 0.376,-0.42 0.408,-0.482 0.202,-0.091 0.307,-0.22 0.348,-0.352 0.388,-0.481 0.375,-0.695 0.33,-0.163 0.341,-0.292 0.282,-0.513 0.371,0.045 0.352,-0.075 0.244,-0.285 0.467,0.231 0.323,-0.102 0.72,0.484 0.514,0.28 0.354,0.123 0.855,0.527 0.668,0.397 0.627,0.369 0.583,0.346 0.54,0.322 0.332,0.211 0.933,0.476 0.709,0.393 0.66,0.374 0.608,0.36 0.558,0.346 0.505,0.331 0.452,0.321 0.398,0.311 0.154,0.265 0.828,0.358 0.58,0.338 0.47,0.329 0.359,0.333 0.249,0.341 0.001,0.359 0.676,0.272 0.433,0.318 0.381,0.328 0.329,0.342 0.277,0.357 -0.031,0.445 0.651,0.149 0.309,0.35 0.045,0.503 0.604,0.048 0.354,0.336 0.659,-0.016 0.549,0.07 0.482,0.194 0.694,-0.198 0.604,-0.124 0.564,0.023 0.5,0.256 0.603,-0.412 0.591,-0.161 c -0.006,0.122 0.045,0.36 -0.034,-0.157 0.021,0.138 0.214,0.581 0.011,0.132 0.078,0.172 0.182,0.333 0.287,0.49 -0.298,-0.23 -0.597,-0.46 -0.896,-0.69 0.138,0.05 0.28,0.086 0.423,0.118 0.362,0.083 -0.337,-0.017 0.055,0.004 0.176,-0.007 0.157,0 -0.056,0.02 -0.186,0.097 -0.212,0.099 -0.077,0.009 0.658,-0.487 1.673,-0.11 2.051,0.539 0.448,0.763 0.119,1.566 -0.538,2.052 -0.729,0.54 -1.833,0.436 -2.644,0.155 -0.808,-0.28 -1.391,-1.258 -1.519,-2.094 -0.215,-1.406 0.55,-2.679 1.982,-2.992 1.034,-0.226 2.38,-0.028 3.093,0.836 1.062,1.287 0.519,2.821 -0.608,3.86 C 1.521,2.675 0.596,2.717 0,2.121 -0.561,1.561 -0.602,0.554 0,0"
style="fill:#45a98d;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path554"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 631 KiB

View File

@@ -63,7 +63,7 @@
“#1235” or a commit ID.</p>
</div>
</div>
<img class="image" src="/static/images/landing-page/bad-screenshot.png" />
<img class="image" src="/static/images/features/message-formatting.png" />
</section>
<section class="notifications">

View File

@@ -267,6 +267,7 @@ def build_custom_checkers(by_lang):
{'pattern': '[^r][M]essage.objects.get',
'exclude': set(["zerver/tests",
"zerver/lib/onboarding.py",
"zilencer/management/commands/add_mock_conversation.py",
"zerver/worker/queue_processors.py"]),
'description': 'Please use access_message() to fetch Message objects',
},

View File

@@ -0,0 +1,113 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function
from django.core.management.base import BaseCommand
from zerver.lib.actions import create_stream_if_needed, \
internal_prep_stream_message, do_create_user, do_send_messages, \
do_add_reaction, bulk_add_subscriptions, do_change_avatar_fields
from zerver.lib.upload import upload_avatar_image
from zerver.models import get_realm, UserProfile, Message
import argparse
from datetime import datetime
from typing import Any, Dict, List
class Command(BaseCommand):
help = """Add a mock conversation to the development environment.
Usage: ./manage.py add_mock_conversation
After running the script:
From browser (ideally on high resolution screen):
* Refresh to get the rendered tweet
* Check that the whale emoji reaction comes before the thumbs_up emoji reaction
* Remove the blue box (it's a box shadow on .selected_message .messagebox-content;
inspecting the selected element will find it fairly quickly)
* Change the color of the stream to #a6c7e5
* Shrink screen till the mypy link only just fits
* Take screenshot that does not include the timestamps or bottom edge
From image editing program:
* Remove mute (and edit) icons from recipient bar
"""
def set_avatar(self, user, filename):
# type: (UserProfile, str) -> None
upload_avatar_image(open(filename, 'rb'), user, user)
do_change_avatar_fields(user, UserProfile.AVATAR_FROM_USER)
def add_message_formatting_conversation(self):
# type: () -> None
realm = get_realm('zulip')
stream, _ = create_stream_if_needed(realm, 'zulip features')
UserProfile.objects.filter(email__contains='stage').delete()
starr = do_create_user('1@stage.example.com', 'password', realm, 'Ada Starr', '')
self.set_avatar(starr, 'static/images/features/starr.png')
fisher = do_create_user('2@stage.example.com', 'password', realm, 'Bel Fisher', '')
self.set_avatar(fisher, 'static/images/features/fisher.png')
twitter_bot = do_create_user('3@stage.example.com', 'password', realm, 'Twitter Bot', '',
bot_type=UserProfile.DEFAULT_BOT)
self.set_avatar(twitter_bot, 'static/images/features/twitter.png')
bulk_add_subscriptions([stream], list(UserProfile.objects.filter(realm=realm)))
staged_messages = [
{'sender': starr,
'content': "Hey @**Bel Fisher**, check out Zulip's Markdown formatting! "
"You can have:\n* bulleted lists\n * with sub-bullets too\n"
"* **bold**, *italic*, and ~~strikethrough~~ text\n"
"* LaTeX for mathematical formulas, both inline -- $$O(n^2)$$ -- and displayed:\n"
"```math\n\\int_a^b f(t)\, dt=F(b)-F(a)\n```"},
{'sender': fisher,
'content': "My favorite is the syntax highlighting for code blocks\n"
"```python\ndef fib(n):\n # returns the n-th Fibonacci number\n"
" return fib(n-1) + fib(n-2)\n```"},
{'sender': starr,
'content': "I think you forgot your base case there, Bel :laughing:\n"
"```quote\n```python\ndef fib(n):\n # returns the n-th Fibonacci number\n"
" return fib(n-1) + fib(n-2)\n```\n```"},
{'sender': fisher,
'content': "I'm also a big fan of inline link, tweet, video, and image previews. "
"Check out this picture of Çet Whalin[](/static/images/features/whale.png)!"},
{'sender': starr,
'content': "I just set up a custom linkifier, so `#1234` becomes [#1234](github.com/zulip/zulip/1234), "
"a link to the corresponding GitHub issue."},
{'sender': twitter_bot,
'content': 'https://twitter.com/gvanrossum/status/786661035637772288'},
{'sender': fisher,
'content': "Oops, the Twitter bot I set up shouldn't be posting here. Let me go fix that."},
] # type: List[Dict[str, Any]]
messages = [internal_prep_stream_message(
realm, message['sender'], stream.name, 'message formatting', message['content']
) for message in staged_messages]
message_ids = do_send_messages(messages)
preview_message = Message.objects.get(id__in=message_ids, content__icontains='image previews')
do_add_reaction(starr, preview_message, 'whale')
twitter_message = Message.objects.get(id__in=message_ids, content__icontains='gvanrossum')
# Setting up a twitter integration in dev is a decent amount of work. If you need
# to update this tweet, either copy the format below, or send the link to the tweet
# to chat.zulip.org and ask an admin of that server to get you the rendered_content.
twitter_message.rendered_content = (
'<p><a>https://twitter.com/gvanrossum/status/786661035637772288</a></p>\n'
'<div class="inline-preview-twitter"><div class="twitter-tweet">'
'<a><img class="twitter-avatar" '
'src="https://pbs.twimg.com/profile_images/424495004/GuidoAvatar_bigger.jpg"></a>'
'<p>Great blog post about Zulip\'s use of mypy: '
'<a>http://blog.zulip.org/2016/10/13/static-types-in-python-oh-mypy/</a></p>'
'<span>- Guido van Rossum (@gvanrossum)</span></div></div>')
twitter_message.save(update_fields=['rendered_content'])
# Put a short pause between the whale reaction and this, so that the
# thumbs_up shows up second
do_add_reaction(starr, preview_message, 'thumbs_up')
def handle(self, *args, **options):
# type: (*Any, **str) -> None
self.add_message_formatting_conversation()