Created
March 23, 2020 11:02
-
-
Save deeplook/068a958249ca02ea3945b3b9ff5b74fe to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Create custom logo badges based on shields.io\n", | |
| "\n", | |
| "- https://shields.io\n", | |
| "- https://mybinder.readthedocs.io/en/latest/howto/badges.html\n", | |
| "- https://mybinder.readthedocs.io/en/latest/howto/repo_data.html\n", | |
| "- https://github.com/voila-dashboards/voila/blob/master/docs/source/voila-logo.svg\n", | |
| "- https://github.com/voila-dashboards/voila/blob/master/packages/jupyterlab-voila/style/voila-light.svg" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "from IPython.display import SVG, Image\n", | |
| "import base64\n", | |
| "\n", | |
| "import requests" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Simple badges" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/svg+xml": [ | |
| "<svg height=\"20\" width=\"56\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><linearGradient id=\"b\" x2=\"0\" y2=\"100%\"><stop offset=\"0\" stop-color=\"#bbb\" stop-opacity=\".1\"/><stop offset=\"1\" stop-opacity=\".1\"/></linearGradient><clipPath id=\"a\"><rect fill=\"#fff\" height=\"20\" rx=\"3\" width=\"56\"/></clipPath><g clip-path=\"url(#a)\"><path d=\"M0 0h27v20H0z\" fill=\"#555\"/><path d=\"M27 0h29v20H27z\" fill=\"#e05d44\"/><path d=\"M0 0h56v20H0z\" fill=\"url(#b)\"/></g><g fill=\"#fff\" font-family=\"DejaVu Sans,Verdana,Geneva,sans-serif\" font-size=\"110\" text-anchor=\"middle\"> <text fill=\"#010101\" fill-opacity=\".3\" textLength=\"170\" transform=\"scale(.1)\" x=\"145\" y=\"150\">foo</text><text textLength=\"170\" transform=\"scale(.1)\" x=\"145\" y=\"140\">foo</text><text fill=\"#010101\" fill-opacity=\".3\" textLength=\"190\" transform=\"scale(.1)\" x=\"405\" y=\"150\">bar</text><text textLength=\"190\" transform=\"scale(.1)\" x=\"405\" y=\"140\">bar</text></g> </svg>" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.SVG object>" | |
| ] | |
| }, | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "url = \"https://img.shields.io/badge/foo-bar-red\"\n", | |
| "svg = requests.get(url).text\n", | |
| "SVG(svg)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/svg+xml": [ | |
| "<svg height=\"20\" width=\"109\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><linearGradient id=\"b\" x2=\"0\" y2=\"100%\"><stop offset=\"0\" stop-color=\"#bbb\" stop-opacity=\".1\"/><stop offset=\"1\" stop-opacity=\".1\"/></linearGradient><clipPath id=\"a\"><rect fill=\"#fff\" height=\"20\" rx=\"3\" width=\"109\"/></clipPath><g clip-path=\"url(#a)\"><path d=\"M0 0h64v20H0z\" fill=\"#555\"/><path d=\"M64 0h45v20H64z\" fill=\"#579aca\"/><path d=\"M0 0h109v20H0z\" fill=\"url(#b)\"/></g><g fill=\"#fff\" font-family=\"DejaVu Sans,Verdana,Geneva,sans-serif\" font-size=\"110\" text-anchor=\"middle\"><image height=\"14\" width=\"14\" x=\"5\" xlink:href=\"data:image/png;base64,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\" y=\"3\"/> <text fill=\"#010101\" fill-opacity=\".3\" textLength=\"370\" transform=\"scale(.1)\" x=\"415\" y=\"150\">launch</text><text textLength=\"370\" transform=\"scale(.1)\" x=\"415\" y=\"140\">launch</text><text fill=\"#010101\" fill-opacity=\".3\" textLength=\"350\" transform=\"scale(.1)\" x=\"855\" y=\"150\">binder</text><text textLength=\"350\" transform=\"scale(.1)\" x=\"855\" y=\"140\">binder</text></g> </svg>" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.SVG object>" | |
| ] | |
| }, | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "url = \"https://img.shields.io/badge/launch-binder-579aca.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFkAAABZCAMAAABi1XidAAAB8lBMVEX///9XmsrmZYH1olJXmsr1olJXmsrmZYH1olJXmsr1olJXmsrmZYH1olL1olJXmsr1olJXmsrmZYH1olL1olJXmsrmZYH1olJXmsr1olL1olJXmsrmZYH1olL1olJXmsrmZYH1olL1olL0nFf1olJXmsrmZYH1olJXmsq8dZb1olJXmsrmZYH1olJXmspXmspXmsr1olL1olJXmsrmZYH1olJXmsr1olL1olJXmsrmZYH1olL1olLeaIVXmsrmZYH1olL1olL1olJXmsrmZYH1olLna31Xmsr1olJXmsr1olJXmsrmZYH1olLqoVr1olJXmsr1olJXmsrmZYH1olL1olKkfaPobXvviGabgadXmsqThKuofKHmZ4Dobnr1olJXmsr1olJXmspXmsr1olJXmsrfZ4TuhWn1olL1olJXmsqBi7X1olJXmspZmslbmMhbmsdemsVfl8ZgmsNim8Jpk8F0m7R4m7F5nLB6jbh7jbiDirOEibOGnKaMhq+PnaCVg6qWg6qegKaff6WhnpKofKGtnomxeZy3noG6dZi+n3vCcpPDcpPGn3bLb4/Mb47UbIrVa4rYoGjdaIbeaIXhoWHmZYHobXvpcHjqdHXreHLroVrsfG/uhGnuh2bwj2Hxk17yl1vzmljzm1j0nlX1olL3AJXWAAAAbXRSTlMAEBAQHx8gICAuLjAwMDw9PUBAQEpQUFBXV1hgYGBkcHBwcXl8gICAgoiIkJCQlJicnJ2goKCmqK+wsLC4usDAwMjP0NDQ1NbW3Nzg4ODi5+3v8PDw8/T09PX29vb39/f5+fr7+/z8/Pz9/v7+zczCxgAABC5JREFUeAHN1ul3k0UUBvCb1CTVpmpaitAGSLSpSuKCLWpbTKNJFGlcSMAFF63iUmRccNG6gLbuxkXU66JAUef/9LSpmXnyLr3T5AO/rzl5zj137p136BISy44fKJXuGN/d19PUfYeO67Znqtf2KH33Id1psXoFdW30sPZ1sMvs2D060AHqws4FHeJojLZqnw53cmfvg+XR8mC0OEjuxrXEkX5ydeVJLVIlV0e10PXk5k7dYeHu7Cj1j+49uKg7uLU61tGLw1lq27ugQYlclHC4bgv7VQ+TAyj5Zc/UjsPvs1sd5cWryWObtvWT2EPa4rtnWW3JkpjggEpbOsPr7F7EyNewtpBIslA7p43HCsnwooXTEc3UmPmCNn5lrqTJxy6nRmcavGZVt/3Da2pD5NHvsOHJCrdc1G2r3DITpU7yic7w/7Rxnjc0kt5GC4djiv2Sz3Fb2iEZg41/ddsFDoyuYrIkmFehz0HR2thPgQqMyQYb2OtB0WxsZ3BeG3+wpRb1vzl2UYBog8FfGhttFKjtAclnZYrRo9ryG9uG/FZQU4AEg8ZE9LjGMzTmqKXPLnlWVnIlQQTvxJf8ip7VgjZjyVPrjw1te5otM7RmP7xm+sK2Gv9I8Gi++BRbEkR9EBw8zRUcKxwp73xkaLiqQb+kGduJTNHG72zcW9LoJgqQxpP3/Tj//c3yB0tqzaml05/+orHLksVO+95kX7/7qgJvnjlrfr2Ggsyx0eoy9uPzN5SPd86aXggOsEKW2Prz7du3VID3/tzs/sSRs2w7ovVHKtjrX2pd7ZMlTxAYfBAL9jiDwfLkq55Tm7ifhMlTGPyCAs7RFRhn47JnlcB9RM5T97ASuZXIcVNuUDIndpDbdsfrqsOppeXl5Y+XVKdjFCTh+zGaVuj0d9zy05PPK3QzBamxdwtTCrzyg/2Rvf2EstUjordGwa/kx9mSJLr8mLLtCW8HHGJc2R5hS219IiF6PnTusOqcMl57gm0Z8kanKMAQg0qSyuZfn7zItsbGyO9QlnxY0eCuD1XL2ys/MsrQhltE7Ug0uFOzufJFE2PxBo/YAx8XPPdDwWN0MrDRYIZF0mSMKCNHgaIVFoBbNoLJ7tEQDKxGF0kcLQimojCZopv0OkNOyWCCg9XMVAi7ARJzQdM2QUh0gmBozjc3Skg6dSBRqDGYSUOu66Zg+I2fNZs/M3/f/Grl/XnyF1Gw3VKCez0PN5IUfFLqvgUN4C0qNqYs5YhPL+aVZYDE4IpUk57oSFnJm4FyCqqOE0jhY2SMyLFoo56zyo6becOS5UVDdj7Vih0zp+tcMhwRpBeLyqtIjlJKAIZSbI8SGSF3k0pA3mR5tHuwPFoa7N7reoq2bqCsAk1HqCu5uvI1n6JuRXI+S1Mco54YmYTwcn6Aeic+kssXi8XpXC4V3t7/ADuTNKaQJdScAAAAAElFTkSuQmCC\"\n", | |
| "svg = requests.get(url).text\n", | |
| "SVG(svg)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "png_b64 = \"iVBORw0KGgoAAAANSUhEUgAAAFkAAABZCAMAAABi1XidAAAB8lBMVEX///9XmsrmZYH1olJXmsr1olJXmsrmZYH1olJXmsr1olJXmsrmZYH1olL1olJXmsr1olJXmsrmZYH1olL1olJXmsrmZYH1olJXmsr1olL1olJXmsrmZYH1olL1olJXmsrmZYH1olL1olL0nFf1olJXmsrmZYH1olJXmsq8dZb1olJXmsrmZYH1olJXmspXmspXmsr1olL1olJXmsrmZYH1olJXmsr1olL1olJXmsrmZYH1olL1olLeaIVXmsrmZYH1olL1olL1olJXmsrmZYH1olLna31Xmsr1olJXmsr1olJXmsrmZYH1olLqoVr1olJXmsr1olJXmsrmZYH1olL1olKkfaPobXvviGabgadXmsqThKuofKHmZ4Dobnr1olJXmsr1olJXmspXmsr1olJXmsrfZ4TuhWn1olL1olJXmsqBi7X1olJXmspZmslbmMhbmsdemsVfl8ZgmsNim8Jpk8F0m7R4m7F5nLB6jbh7jbiDirOEibOGnKaMhq+PnaCVg6qWg6qegKaff6WhnpKofKGtnomxeZy3noG6dZi+n3vCcpPDcpPGn3bLb4/Mb47UbIrVa4rYoGjdaIbeaIXhoWHmZYHobXvpcHjqdHXreHLroVrsfG/uhGnuh2bwj2Hxk17yl1vzmljzm1j0nlX1olL3AJXWAAAAbXRSTlMAEBAQHx8gICAuLjAwMDw9PUBAQEpQUFBXV1hgYGBkcHBwcXl8gICAgoiIkJCQlJicnJ2goKCmqK+wsLC4usDAwMjP0NDQ1NbW3Nzg4ODi5+3v8PDw8/T09PX29vb39/f5+fr7+/z8/Pz9/v7+zczCxgAABC5JREFUeAHN1ul3k0UUBvCb1CTVpmpaitAGSLSpSuKCLWpbTKNJFGlcSMAFF63iUmRccNG6gLbuxkXU66JAUef/9LSpmXnyLr3T5AO/rzl5zj137p136BISy44fKJXuGN/d19PUfYeO67Znqtf2KH33Id1psXoFdW30sPZ1sMvs2D060AHqws4FHeJojLZqnw53cmfvg+XR8mC0OEjuxrXEkX5ydeVJLVIlV0e10PXk5k7dYeHu7Cj1j+49uKg7uLU61tGLw1lq27ugQYlclHC4bgv7VQ+TAyj5Zc/UjsPvs1sd5cWryWObtvWT2EPa4rtnWW3JkpjggEpbOsPr7F7EyNewtpBIslA7p43HCsnwooXTEc3UmPmCNn5lrqTJxy6nRmcavGZVt/3Da2pD5NHvsOHJCrdc1G2r3DITpU7yic7w/7Rxnjc0kt5GC4djiv2Sz3Fb2iEZg41/ddsFDoyuYrIkmFehz0HR2thPgQqMyQYb2OtB0WxsZ3BeG3+wpRb1vzl2UYBog8FfGhttFKjtAclnZYrRo9ryG9uG/FZQU4AEg8ZE9LjGMzTmqKXPLnlWVnIlQQTvxJf8ip7VgjZjyVPrjw1te5otM7RmP7xm+sK2Gv9I8Gi++BRbEkR9EBw8zRUcKxwp73xkaLiqQb+kGduJTNHG72zcW9LoJgqQxpP3/Tj//c3yB0tqzaml05/+orHLksVO+95kX7/7qgJvnjlrfr2Ggsyx0eoy9uPzN5SPd86aXggOsEKW2Prz7du3VID3/tzs/sSRs2w7ovVHKtjrX2pd7ZMlTxAYfBAL9jiDwfLkq55Tm7ifhMlTGPyCAs7RFRhn47JnlcB9RM5T97ASuZXIcVNuUDIndpDbdsfrqsOppeXl5Y+XVKdjFCTh+zGaVuj0d9zy05PPK3QzBamxdwtTCrzyg/2Rvf2EstUjordGwa/kx9mSJLr8mLLtCW8HHGJc2R5hS219IiF6PnTusOqcMl57gm0Z8kanKMAQg0qSyuZfn7zItsbGyO9QlnxY0eCuD1XL2ys/MsrQhltE7Ug0uFOzufJFE2PxBo/YAx8XPPdDwWN0MrDRYIZF0mSMKCNHgaIVFoBbNoLJ7tEQDKxGF0kcLQimojCZopv0OkNOyWCCg9XMVAi7ARJzQdM2QUh0gmBozjc3Skg6dSBRqDGYSUOu66Zg+I2fNZs/M3/f/Grl/XnyF1Gw3VKCez0PN5IUfFLqvgUN4C0qNqYs5YhPL+aVZYDE4IpUk57oSFnJm4FyCqqOE0jhY2SMyLFoo56zyo6becOS5UVDdj7Vih0zp+tcMhwRpBeLyqtIjlJKAIZSbI8SGSF3k0pA3mR5tHuwPFoa7N7reoq2bqCsAk1HqCu5uvI1n6JuRXI+S1Mco54YmYTwcn6Aeic+kssXi8XpXC4V3t7/ADuTNKaQJdScAAAAAElFTkSuQmCC\".encode(\"utf-8\")\n", | |
| "png = base64.b64decode(png_b64)\n", | |
| "Image(png)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAAYagMeiWXwAADSJJREFUeJzdmV9sHNd1xn_zj7NLck0u'" | |
| ] | |
| }, | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "png = requests.get(\"https://fnordware.com/superpng/pngtest16rgba.png\").content\n", | |
| "png_b64 = base64.urlsafe_b64encode(png).decode(\"utf-8\")\n", | |
| "png_b64[:100]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Voilà badges" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/svg+xml": [ | |
| "<svg height=\"170\" viewBox=\"0 0 410 170\" width=\"410\" xmlns=\"http://www.w3.org/2000/svg\"><defs><style>.cls-1{fill:#5dbcaf;}.cls-2{fill:#f8e14b;}</style></defs><title>BLEU-fond-transparent</title><g data-name=\"Calque 2\" id=\"Calque_2\"><g data-name=\"Calque 1\" id=\"Calque_1-2\"><path class=\"cls-1\" d=\"M77.39,94.6a20.39,20.39,0,0,1-2.08.11,19.6,19.6,0,0,1-2.06-.12l-.39,0,0,.39a54.76,54.76,0,0,1-2.1,19.46,90.47,90.47,0,0,1-14.66,28.5,94.15,94.15,0,0,1-17,17.44c-6.63,5-12.85,7.48-18.46,7.48-4.27,0-7.7-.76-10.19-2.26a19,19,0,0,1-5.61-4.72c-5-6.37-6.21-17.1-3.47-31.88,1.87-11.53,6.31-26.43,13.19-44.31a4.92,4.92,0,0,1,2.71-2.88,5.92,5.92,0,0,1,2.44-.54,6.37,6.37,0,0,1,1.77.26,6.6,6.6,0,0,1,3.23,2.79,3.43,3.43,0,0,1,.15,3.5l0,.1a294.43,294.43,0,0,0-10,30.48,126.23,126.23,0,0,0-3.72,19.75c-.41,5.14-.28,8.92.4,11.56a17.06,17.06,0,0,0,2.21,5.61,7.9,7.9,0,0,0,2.36,1.89,9.62,9.62,0,0,0,4.56.85c2.89,0,6.72-1.73,11.7-5.28,4.77-3.4,9.63-8.46,14.43-15.05a90.13,90.13,0,0,0,7.23-11.24,76.07,76.07,0,0,0,5.56-12.83,52,52,0,0,0,2.57-13.18A27,27,0,0,0,60,88a3.69,3.69,0,0,1,.07-3.55,6.14,6.14,0,0,1,1-1.29l.05-.07a5.39,5.39,0,0,1,.4-.54A4.81,4.81,0,0,1,65.09,81a5.1,5.1,0,0,1,3.07,1.08,5.56,5.56,0,0,1,1.24,1A10.44,10.44,0,0,0,75.33,85a8.47,8.47,0,0,0,1-.06A10.46,10.46,0,0,0,83,81.38a4.87,4.87,0,0,1,3.71-1.72,4.88,4.88,0,0,1,3.71,8A20.21,20.21,0,0,1,77.39,94.6ZM201.56,66.76A5.26,5.26,0,0,0,208,63,30.2,30.2,0,0,1,210,57.74a31.09,31.09,0,0,1,2.23-3.89,5.27,5.27,0,1,0-8.73-5.9,41,41,0,0,0-5.62,12.37,5.25,5.25,0,0,0,3.73,6.44Zm-34.14,41.61c1.69,21.74-13.42,50.21-38.62,57.94a44,44,0,0,1-13.12,2.27A26.29,26.29,0,0,1,102,165c-9.81-5.91-12.34-16.63-13.29-20.66-4.77-20.24,7.94-38.52,13.63-45.44,4.11-5,19-21.13,38.71-18.9,3.47.4,12.7,1.45,19.51,9.76C165.91,96.31,167,103.52,167.42,108.37Zm-10.67.83c-.29-3.7-1.06-8.49-4.51-12.7-4.06-5-9.73-5.6-12.45-5.91a23.5,23.5,0,0,0-2.52-.14c-13.18,0-23.78,11.64-26.71,15.2-4.68,5.69-15.16,20.61-11.49,36.2.73,3.1,2.45,10.36,8.4,14,6.44,3.88,14.38,1.45,18.19.29l0,.15,0-.16C145.66,150,158.1,126.45,156.75,109.2Zm246.47,26.87c-.8,2.87-8.35,28.11-28.46,32.05a30,30,0,0,1-5.83.6,20.65,20.65,0,0,1-11.73-3.4c-6.52-4.39-10.11-12.51-9.66-21.81l-2,2.42a80.29,80.29,0,0,1-6.27,6.69c-2.16,2-4.35,3.94-6.51,5.63a46.86,46.86,0,0,1-15.87,8.21,24.58,24.58,0,0,1-14.92.23,19,19,0,0,1-7.8-5,21.82,21.82,0,0,1-4.75-8.28,26.43,26.43,0,0,1-1.22-6.81,83.12,83.12,0,0,1-12.87,11.51c-6.31,4.53-12.43,6.83-18.19,6.83-4.54,0-8.09-.82-10.56-2.43a19.48,19.48,0,0,1-5.63-5.14c-2.55-3.59-4-8.48-4.42-14.52-1.61,1.85-3.14,3.53-4.66,5.11a102.19,102.19,0,0,1-15.61,13.39c-7,4.41-13.66,6.64-19.75,6.64-4.6,0-8.29-.76-11-2.25a20.22,20.22,0,0,1-6.1-4.73c-5.51-6.42-6.79-17.22-3.8-32.09,2-11.55,6.85-26.47,14.31-44.36a5.2,5.2,0,0,1,3-3,6.66,6.66,0,0,1,4.5-.26A6.37,6.37,0,0,1,201,84.09,3.69,3.69,0,0,1,201,87.9l0,.08a278.26,278.26,0,0,0-10.83,30.45,116.68,116.68,0,0,0-4,19.82c-.45,5.17-.31,8.92.43,11.47a16,16,0,0,0,2.29,5.33l.05.06a8.31,8.31,0,0,0,2.55,1.89,11.3,11.3,0,0,0,5,.86c3.5,0,7.45-1.4,12.08-4.29a73.36,73.36,0,0,0,13.92-11.85c2.07-2.17,4-4.36,5.62-6.49,1.39-1.8,2.35-2.92,3-3.74s1-1.18,1.42-1.75a61.19,61.19,0,0,0,3.84-5.85,50.71,50.71,0,0,0,3.11-6.58c1.5-6.35,3.55-13.46,6.09-21.09,2.34-6.72,4.93-13.66,7.67-20.63s5.54-13.76,8.39-20.42,13.24-29.51,16-35.37l7.8-16.64a5.51,5.51,0,0,1,3.1-2.74A5.67,5.67,0,0,1,290.67,0a6,6,0,0,1,2.14.41,5,5,0,0,1,2.86,2.87,4.55,4.55,0,0,1-.09,3.92C281.4,37,262.84,79.54,256.31,99c-4.59,13.45-7.39,24.68-8.34,33.38-.82,6.13-.89,10.5-.22,13.35a16.6,16.6,0,0,0,2.32,6,6.09,6.09,0,0,0,2.28,2.1,9.5,9.5,0,0,0,4.77,1c3.23,0,6.87-1.45,11.15-4.42a73.22,73.22,0,0,0,12.82-11.93l.63-.71c1.26-1.44,2.83-3.22,4.63-5.63a82.8,82.8,0,0,0,5.07-7.78l1.15-1.93c6.3-10.45,8.5-13.15,9.61-14.28a91.3,91.3,0,0,1,9.13-10c4.62-4.38,11-10.38,20.76-13.87a45.63,45.63,0,0,1,5-1.45l.88-.22c7.2-2.08,13.31-1.84,18.68.72a19.88,19.88,0,0,1,9.56,8.66c3.24,6.23,2.57,13.48-2.32,25a75.27,75.27,0,0,0-4.64,25.65,34.57,34.57,0,0,0,.9,8.81l0,.11-.1.07-.14.08,0,0a10,10,0,0,0,3.48,4.41c3.36,2.26,7.6,1.43,9.2,1.12,13.84-2.71,19.83-23.9,19.89-24.11a5.56,5.56,0,0,1,6.84-3.88,5.56,5.56,0,0,1,3.88,6.85Zm-46.87-39a9.29,9.29,0,0,0-4.48-3.74c-4.39-2.1-9.23-.7-14.22,1-13.19,4.62-23,15.31-28.83,23.47l-.09.13h0a60.62,60.62,0,0,0-7.28,15.74c-1.8,5.82-2.37,10.89-1.71,15.08.73,4.56,2.74,7.4,6,8.45,2,.67,4.73.57,8.19-.29s7.27-2.94,11.7-6.24a102.09,102.09,0,0,0,12.75-12.75A103.2,103.2,0,0,0,351,118.44C355.74,108.53,358.45,101.1,356.35,97.05Z\"/><path class=\"cls-2\" d=\"M381.52,72.31a43.42,43.42,0,0,1-43.38-43.37,5.59,5.59,0,1,1,11.18,0,32.24,32.24,0,0,0,32.2,32.2,5.59,5.59,0,0,1,0,11.17Z\"/></g></g></svg>" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.SVG object>" | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "url = \"https://raw.githubusercontent.com/voila-dashboards/voila/master/docs/source/voila-logo.svg\"\n", | |
| "svg_logo = requests.get(url).text\n", | |
| "SVG(svg_logo)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/svg+xml": [ | |
| "<svg data-name=\"Calque 1\" height=\"330.005\" id=\"Calque_1\" inkscape:version=\"0.92.3 (2405546, 2018-03-11)\" sodipodi:docname=\"voila-light.svg\" version=\"1.1\" viewBox=\"0 0 330.005 330.005\" width=\"330.005\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:svg=\"http://www.w3.org/2000/svg\">\n", | |
| " <metadata id=\"metadata17\">\n", | |
| " <rdf:RDF>\n", | |
| " <cc:Work rdf:about=\"\">\n", | |
| " <dc:format>image/svg+xml</dc:format>\n", | |
| " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n", | |
| " <dc:title>BLEU-proposition-icone</dc:title>\n", | |
| " </cc:Work>\n", | |
| " </rdf:RDF>\n", | |
| " </metadata>\n", | |
| " <sodipodi:namedview bordercolor=\"#666666\" borderopacity=\"1\" fit-margin-bottom=\"10\" fit-margin-left=\"10\" fit-margin-right=\"10\" fit-margin-top=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" id=\"namedview15\" inkscape:current-layer=\"Calque_1\" inkscape:cx=\"-252.89506\" inkscape:cy=\"180.98119\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-height=\"1329\" inkscape:window-maximized=\"1\" inkscape:window-width=\"2426\" inkscape:window-x=\"134\" inkscape:window-y=\"55\" inkscape:zoom=\"1.888\" objecttolerance=\"10\" pagecolor=\"#ffffff\" showgrid=\"false\"/>\n", | |
| " <defs id=\"defs4\">\n", | |
| " <style id=\"style2\">.cls-1{fill:#5dbcaf;}.cls-2{fill:#268380;}.cls-3{fill:#f8e14b;}</style>\n", | |
| " </defs>\n", | |
| " <title id=\"title6\">BLEU-proposition-icone</title>\n", | |
| " <path class=\"cls-2\" d=\"m 165.005,320 c -85.47,0 -155,-69.53 -155,-155 0,-85.47 69.53,-155 155,-155 85.47,0 155,69.53 155,155 0,85.47 -69.53,155 -155,155 z m 0,-275.49 A 120.49,120.49 0 1 0 285.495,165 120.62,120.62 0 0 0 165.005,44.51 Z\" id=\"path10\" inkscape:connector-curvature=\"0\" style=\"fill:#616161;fill-opacity:1\"/>\n", | |
| " <path class=\"cls-3\" d=\"m 165.005,320 c -85.47,0 -155,-69.53 -155,-155 a 17.26,17.26 0 1 1 34.51,0 120.62,120.62 0 0 0 120.49,120.49 17.26,17.26 0 1 1 0,34.51 z\" id=\"path12\" inkscape:connector-curvature=\"0\" style=\"fill:#f8e14b\"/>\n", | |
| "</svg>" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.SVG object>" | |
| ] | |
| }, | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "url = \"https://raw.githubusercontent.com/voila-dashboards/voila/master/packages/jupyterlab-voila/style/voila-light.svg\"\n", | |
| "svg_logo = requests.get(url).text\n", | |
| "SVG(svg_logo)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "from IPython.display import SVG\n", | |
| "import base64\n", | |
| "import requests" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "base_url = \"https://raw.githubusercontent.com/voila-dashboards/voila/master\"\n", | |
| "voila_logo_url = f\"{base_url}/docs/source/voila-logo.svg\"\n", | |
| "voila_light_url = f\"{base_url}/packages/jupyterlab-voila/style/voila-light.svg\"\n", | |
| "left, right, color = \"voilà\", \"binder\", \"579aca\"" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/svg+xml": [ | |
| "<svg height=\"20\" width=\"85\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><linearGradient id=\"b\" x2=\"0\" y2=\"100%\"><stop offset=\"0\" stop-color=\"#bbb\" stop-opacity=\".1\"/><stop offset=\"1\" stop-opacity=\".1\"/></linearGradient><clipPath id=\"a\"><rect fill=\"#fff\" height=\"20\" rx=\"3\" width=\"85\"/></clipPath><g clip-path=\"url(#a)\"><path d=\"M0 0h40v20H0z\" fill=\"#555\"/><path d=\"M40 0h45v20H40z\" fill=\"#579aca\"/><path d=\"M0 0h85v20H0z\" fill=\"url(#b)\"/></g><g fill=\"#fff\" font-family=\"DejaVu Sans,Verdana,Geneva,sans-serif\" font-size=\"110\" text-anchor=\"middle\"><image height=\"14\" width=\"14\" x=\"5\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MTAgMTcwIiB3aWR0aD0iNDEwIiBoZWlnaHQ9IjE3MCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiM1ZGJjYWY7fS5jbHMtMntmaWxsOiNmOGUxNGI7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5CTEVVLWZvbmQtdHJhbnNwYXJlbnQ8L3RpdGxlPjxnIGlkPSJDYWxxdWVfMiIgZGF0YS1uYW1lPSJDYWxxdWUgMiI+PGcgaWQ9IkNhbHF1ZV8xLTIiIGRhdGEtbmFtZT0iQ2FscXVlIDEiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTc3LjM5LDk0LjZhMjAuMzksMjAuMzksMCwwLDEtMi4wOC4xMSwxOS42LDE5LjYsMCwwLDEtMi4wNi0uMTJsLS4zOSwwLDAsLjM5YTU0Ljc2LDU0Ljc2LDAsMCwxLTIuMSwxOS40Niw5MC40Nyw5MC40NywwLDAsMS0xNC42NiwyOC41LDk0LjE1LDk0LjE1LDAsMCwxLTE3LDE3LjQ0Yy02LjYzLDUtMTIuODUsNy40OC0xOC40Niw3LjQ4LTQuMjcsMC03LjctLjc2LTEwLjE5LTIuMjZhMTksMTksMCwwLDEtNS42MS00LjcyYy01LTYuMzctNi4yMS0xNy4xLTMuNDctMzEuODgsMS44Ny0xMS41Myw2LjMxLTI2LjQzLDEzLjE5LTQ0LjMxYTQuOTIsNC45MiwwLDAsMSwyLjcxLTIuODgsNS45Miw1LjkyLDAsMCwxLDIuNDQtLjU0LDYuMzcsNi4zNywwLDAsMSwxLjc3LjI2LDYuNiw2LjYsMCwwLDEsMy4yMywyLjc5LDMuNDMsMy40MywwLDAsMSwuMTUsMy41bDAsLjFhMjk0LjQzLDI5NC40MywwLDAsMC0xMCwzMC40OCwxMjYuMjMsMTI2LjIzLDAsMCwwLTMuNzIsMTkuNzVjLS40MSw1LjE0LS4yOCw4LjkyLjQsMTEuNTZhMTcuMDYsMTcuMDYsMCwwLDAsMi4yMSw1LjYxLDcuOSw3LjksMCwwLDAsMi4zNiwxLjg5LDkuNjIsOS42MiwwLDAsMCw0LjU2Ljg1YzIuODksMCw2LjcyLTEuNzMsMTEuNy01LjI4LDQuNzctMy40LDkuNjMtOC40NiwxNC40My0xNS4wNWE5MC4xMyw5MC4xMywwLDAsMCw3LjIzLTExLjI0LDc2LjA3LDc2LjA3LDAsMCwwLDUuNTYtMTIuODMsNTIsNTIsMCwwLDAsMi41Ny0xMy4xOEEyNywyNywwLDAsMCw2MCw4OGEzLjY5LDMuNjksMCwwLDEsLjA3LTMuNTUsNi4xNCw2LjE0LDAsMCwxLDEtMS4yOWwuMDUtLjA3YTUuMzksNS4zOSwwLDAsMSwuNC0uNTRBNC44MSw0LjgxLDAsMCwxLDY1LjA5LDgxYTUuMSw1LjEsMCwwLDEsMy4wNywxLjA4LDUuNTYsNS41NiwwLDAsMSwxLjI0LDFBMTAuNDQsMTAuNDQsMCwwLDAsNzUuMzMsODVhOC40Nyw4LjQ3LDAsMCwwLDEtLjA2QTEwLjQ2LDEwLjQ2LDAsMCwwLDgzLDgxLjM4YTQuODcsNC44NywwLDAsMSwzLjcxLTEuNzIsNC44OCw0Ljg4LDAsMCwxLDMuNzEsOEEyMC4yMSwyMC4yMSwwLDAsMSw3Ny4zOSw5NC42Wk0yMDEuNTYsNjYuNzZBNS4yNiw1LjI2LDAsMCwwLDIwOCw2MywzMC4yLDMwLjIsMCwwLDEsMjEwLDU3Ljc0YTMxLjA5LDMxLjA5LDAsMCwxLDIuMjMtMy44OSw1LjI3LDUuMjcsMCwxLDAtOC43My01LjksNDEsNDEsMCwwLDAtNS42MiwxMi4zNyw1LjI1LDUuMjUsMCwwLDAsMy43Myw2LjQ0Wm0tMzQuMTQsNDEuNjFjMS42OSwyMS43NC0xMy40Miw1MC4yMS0zOC42Miw1Ny45NGE0NCw0NCwwLDAsMS0xMy4xMiwyLjI3QTI2LjI5LDI2LjI5LDAsMCwxLDEwMiwxNjVjLTkuODEtNS45MS0xMi4zNC0xNi42My0xMy4yOS0yMC42Ni00Ljc3LTIwLjI0LDcuOTQtMzguNTIsMTMuNjMtNDUuNDQsNC4xMS01LDE5LTIxLjEzLDM4LjcxLTE4LjksMy40Ny40LDEyLjcsMS40NSwxOS41MSw5Ljc2QzE2NS45MSw5Ni4zMSwxNjcsMTAzLjUyLDE2Ny40MiwxMDguMzdabS0xMC42Ny44M2MtLjI5LTMuNy0xLjA2LTguNDktNC41MS0xMi43LTQuMDYtNS05LjczLTUuNi0xMi40NS01LjkxYTIzLjUsMjMuNSwwLDAsMC0yLjUyLS4xNGMtMTMuMTgsMC0yMy43OCwxMS42NC0yNi43MSwxNS4yLTQuNjgsNS42OS0xNS4xNiwyMC42MS0xMS40OSwzNi4yLjczLDMuMSwyLjQ1LDEwLjM2LDguNCwxNCw2LjQ0LDMuODgsMTQuMzgsMS40NSwxOC4xOS4yOWwwLC4xNSwwLS4xNkMxNDUuNjYsMTUwLDE1OC4xLDEyNi40NSwxNTYuNzUsMTA5LjJabTI0Ni40NywyNi44N2MtLjgsMi44Ny04LjM1LDI4LjExLTI4LjQ2LDMyLjA1YTMwLDMwLDAsMCwxLTUuODMuNiwyMC42NSwyMC42NSwwLDAsMS0xMS43My0zLjRjLTYuNTItNC4zOS0xMC4xMS0xMi41MS05LjY2LTIxLjgxbC0yLDIuNDJhODAuMjksODAuMjksMCwwLDEtNi4yNyw2LjY5Yy0yLjE2LDItNC4zNSwzLjk0LTYuNTEsNS42M2E0Ni44Niw0Ni44NiwwLDAsMS0xNS44Nyw4LjIxLDI0LjU4LDI0LjU4LDAsMCwxLTE0LjkyLjIzLDE5LDE5LDAsMCwxLTcuOC01LDIxLjgyLDIxLjgyLDAsMCwxLTQuNzUtOC4yOCwyNi40MywyNi40MywwLDAsMS0xLjIyLTYuODEsODMuMTIsODMuMTIsMCwwLDEtMTIuODcsMTEuNTFjLTYuMzEsNC41My0xMi40Myw2LjgzLTE4LjE5LDYuODMtNC41NCwwLTguMDktLjgyLTEwLjU2LTIuNDNhMTkuNDgsMTkuNDgsMCwwLDEtNS42My01LjE0Yy0yLjU1LTMuNTktNC04LjQ4LTQuNDItMTQuNTItMS42MSwxLjg1LTMuMTQsMy41My00LjY2LDUuMTFhMTAyLjE5LDEwMi4xOSwwLDAsMS0xNS42MSwxMy4zOWMtNyw0LjQxLTEzLjY2LDYuNjQtMTkuNzUsNi42NC00LjYsMC04LjI5LS43Ni0xMS0yLjI1YTIwLjIyLDIwLjIyLDAsMCwxLTYuMS00LjczYy01LjUxLTYuNDItNi43OS0xNy4yMi0zLjgtMzIuMDksMi0xMS41NSw2Ljg1LTI2LjQ3LDE0LjMxLTQ0LjM2YTUuMiw1LjIsMCwwLDEsMy0zLDYuNjYsNi42NiwwLDAsMSw0LjUtLjI2QTYuMzcsNi4zNywwLDAsMSwyMDEsODQuMDksMy42OSwzLjY5LDAsMCwxLDIwMSw4Ny45bDAsLjA4YTI3OC4yNiwyNzguMjYsMCwwLDAtMTAuODMsMzAuNDUsMTE2LjY4LDExNi42OCwwLDAsMC00LDE5LjgyYy0uNDUsNS4xNy0uMzEsOC45Mi40MywxMS40N2ExNiwxNiwwLDAsMCwyLjI5LDUuMzNsLjA1LjA2YTguMzEsOC4zMSwwLDAsMCwyLjU1LDEuODksMTEuMywxMS4zLDAsMCwwLDUsLjg2YzMuNSwwLDcuNDUtMS40LDEyLjA4LTQuMjlhNzMuMzYsNzMuMzYsMCwwLDAsMTMuOTItMTEuODVjMi4wNy0yLjE3LDQtNC4zNiw1LjYyLTYuNDksMS4zOS0xLjgsMi4zNS0yLjkyLDMtMy43NHMxLTEuMTgsMS40Mi0xLjc1YTYxLjE5LDYxLjE5LDAsMCwwLDMuODQtNS44NSw1MC43MSw1MC43MSwwLDAsMCwzLjExLTYuNThjMS41LTYuMzUsMy41NS0xMy40Niw2LjA5LTIxLjA5LDIuMzQtNi43Miw0LjkzLTEzLjY2LDcuNjctMjAuNjNzNS41NC0xMy43Niw4LjM5LTIwLjQyLDEzLjI0LTI5LjUxLDE2LTM1LjM3bDcuOC0xNi42NGE1LjUxLDUuNTEsMCwwLDEsMy4xLTIuNzRBNS42Nyw1LjY3LDAsMCwxLDI5MC42NywwYTYsNiwwLDAsMSwyLjE0LjQxLDUsNSwwLDAsMSwyLjg2LDIuODcsNC41NSw0LjU1LDAsMCwxLS4wOSwzLjkyQzI4MS40LDM3LDI2Mi44NCw3OS41NCwyNTYuMzEsOTljLTQuNTksMTMuNDUtNy4zOSwyNC42OC04LjM0LDMzLjM4LS44Miw2LjEzLS44OSwxMC41LS4yMiwxMy4zNWExNi42LDE2LjYsMCwwLDAsMi4zMiw2LDYuMDksNi4wOSwwLDAsMCwyLjI4LDIuMSw5LjUsOS41LDAsMCwwLDQuNzcsMWMzLjIzLDAsNi44Ny0xLjQ1LDExLjE1LTQuNDJhNzMuMjIsNzMuMjIsMCwwLDAsMTIuODItMTEuOTNsLjYzLS43MWMxLjI2LTEuNDQsMi44My0zLjIyLDQuNjMtNS42M2E4Mi44LDgyLjgsMCwwLDAsNS4wNy03Ljc4bDEuMTUtMS45M2M2LjMtMTAuNDUsOC41LTEzLjE1LDkuNjEtMTQuMjhhOTEuMyw5MS4zLDAsMCwxLDkuMTMtMTBjNC42Mi00LjM4LDExLTEwLjM4LDIwLjc2LTEzLjg3YTQ1LjYzLDQ1LjYzLDAsMCwxLDUtMS40NWwuODgtLjIyYzcuMi0yLjA4LDEzLjMxLTEuODQsMTguNjguNzJhMTkuODgsMTkuODgsMCwwLDEsOS41Niw4LjY2YzMuMjQsNi4yMywyLjU3LDEzLjQ4LTIuMzIsMjVhNzUuMjcsNzUuMjcsMCwwLDAtNC42NCwyNS42NSwzNC41NywzNC41NywwLDAsMCwuOSw4LjgxbDAsLjExLS4xLjA3LS4xNC4wOCwwLDBhMTAsMTAsMCwwLDAsMy40OCw0LjQxYzMuMzYsMi4yNiw3LjYsMS40Myw5LjIsMS4xMiwxMy44NC0yLjcxLDE5LjgzLTIzLjksMTkuODktMjQuMTFhNS41Niw1LjU2LDAsMCwxLDYuODQtMy44OCw1LjU2LDUuNTYsMCwwLDEsMy44OCw2Ljg1Wm0tNDYuODctMzlhOS4yOSw5LjI5LDAsMCwwLTQuNDgtMy43NGMtNC4zOS0yLjEtOS4yMy0uNy0xNC4yMiwxLTEzLjE5LDQuNjItMjMsMTUuMzEtMjguODMsMjMuNDdsLS4wOS4xM2gwYTYwLjYyLDYwLjYyLDAsMCwwLTcuMjgsMTUuNzRjLTEuOCw1LjgyLTIuMzcsMTAuODktMS43MSwxNS4wOC43Myw0LjU2LDIuNzQsNy40LDYsOC40NSwyLC42Nyw0LjczLjU3LDguMTktLjI5czcuMjctMi45NCwxMS43LTYuMjRhMTAyLjA5LDEwMi4wOSwwLDAsMCwxMi43NS0xMi43NUExMDMuMiwxMDMuMiwwLDAsMCwzNTEsMTE4LjQ0QzM1NS43NCwxMDguNTMsMzU4LjQ1LDEwMS4xLDM1Ni4zNSw5Ny4wNVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zODEuNTIsNzIuMzFhNDMuNDIsNDMuNDIsMCwwLDEtNDMuMzgtNDMuMzcsNS41OSw1LjU5LDAsMSwxLDExLjE4LDAsMzIuMjQsMzIuMjQsMCwwLDAsMzIuMiwzMi4yLDUuNTksNS41OSwwLDAsMSwwLDExLjE3WiIvPjwvZz48L2c+PC9zdmc+Cg==\" y=\"3\"/> <text fill=\"#010101\" fill-opacity=\".3\" textLength=\"130\" transform=\"scale(.1)\" x=\"295\" y=\"150\">on</text><text textLength=\"130\" transform=\"scale(.1)\" x=\"295\" y=\"140\">on</text><text fill=\"#010101\" fill-opacity=\".3\" textLength=\"350\" transform=\"scale(.1)\" x=\"615\" y=\"150\">binder</text><text textLength=\"350\" transform=\"scale(.1)\" x=\"615\" y=\"140\">binder</text></g> </svg>" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.SVG object>" | |
| ] | |
| }, | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "svg = requests.get(voila_logo_url).text\n", | |
| "svg_b64 = base64.b64encode(svg.encode(\"utf-8\")).decode(\"utf-8\")\n", | |
| "url = f\"https://img.shields.io/badge/on-{right}-{color}\"\n", | |
| "url += f\"?logo=data:image/svg+xml;base64,{svg_b64}\"\n", | |
| "svg = requests.get(url).text\n", | |
| "SVG(svg)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/svg+xml": [ | |
| "<svg height=\"20\" width=\"97\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><linearGradient id=\"b\" x2=\"0\" y2=\"100%\"><stop offset=\"0\" stop-color=\"#bbb\" stop-opacity=\".1\"/><stop offset=\"1\" stop-opacity=\".1\"/></linearGradient><clipPath id=\"a\"><rect fill=\"#fff\" height=\"20\" rx=\"3\" width=\"97\"/></clipPath><g clip-path=\"url(#a)\"><path d=\"M0 0h52v20H0z\" fill=\"#555\"/><path d=\"M52 0h45v20H52z\" fill=\"#579aca\"/><path d=\"M0 0h97v20H0z\" fill=\"url(#b)\"/></g><g fill=\"#fff\" font-family=\"DejaVu Sans,Verdana,Geneva,sans-serif\" font-size=\"110\" text-anchor=\"middle\"><image height=\"14\" width=\"14\" x=\"5\" xlink:href=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaWQ9IkNhbHF1ZV8xIgogICBkYXRhLW5hbWU9IkNhbHF1ZSAxIgogICB2aWV3Qm94PSIwIDAgMzMwLjAwNSAzMzAuMDA1IgogICB2ZXJzaW9uPSIxLjEiCiAgIHNvZGlwb2RpOmRvY25hbWU9InZvaWxhLWxpZ2h0LnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45Mi4zICgyNDA1NTQ2LCAyMDE4LTAzLTExKSIKICAgd2lkdGg9IjMzMC4wMDUiCiAgIGhlaWdodD0iMzMwLjAwNSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPkJMRVUtcHJvcG9zaXRpb24taWNvbmU8L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjI0MjYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTMyOSIKICAgICBpZD0ibmFtZWR2aWV3MTUiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjEuODg4IgogICAgIGlua3NjYXBlOmN4PSItMjUyLjg5NTA2IgogICAgIGlua3NjYXBlOmN5PSIxODAuOTgxMTkiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEzNCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iNTUiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJDYWxxdWVfMSIKICAgICBmaXQtbWFyZ2luLXRvcD0iMTAiCiAgICAgZml0LW1hcmdpbi1sZWZ0PSIxMCIKICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIxMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMTAiIC8+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiPgogICAgPHN0eWxlCiAgICAgICBpZD0ic3R5bGUyIj4uY2xzLTF7ZmlsbDojNWRiY2FmO30uY2xzLTJ7ZmlsbDojMjY4MzgwO30uY2xzLTN7ZmlsbDojZjhlMTRiO308L3N0eWxlPgogIDwvZGVmcz4KICA8dGl0bGUKICAgICBpZD0idGl0bGU2Ij5CTEVVLXByb3Bvc2l0aW9uLWljb25lPC90aXRsZT4KICA8cGF0aAogICAgIGNsYXNzPSJjbHMtMiIKICAgICBkPSJtIDE2NS4wMDUsMzIwIGMgLTg1LjQ3LDAgLTE1NSwtNjkuNTMgLTE1NSwtMTU1IDAsLTg1LjQ3IDY5LjUzLC0xNTUgMTU1LC0xNTUgODUuNDcsMCAxNTUsNjkuNTMgMTU1LDE1NSAwLDg1LjQ3IC02OS41MywxNTUgLTE1NSwxNTUgeiBtIDAsLTI3NS40OSBBIDEyMC40OSwxMjAuNDkgMCAxIDAgMjg1LjQ5NSwxNjUgMTIwLjYyLDEyMC42MiAwIDAgMCAxNjUuMDA1LDQ0LjUxIFoiCiAgICAgaWQ9InBhdGgxMCIKICAgICBzdHlsZT0iZmlsbDojNjE2MTYxO2ZpbGwtb3BhY2l0eToxIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+CiAgPHBhdGgKICAgICBjbGFzcz0iY2xzLTMiCiAgICAgZD0ibSAxNjUuMDA1LDMyMCBjIC04NS40NywwIC0xNTUsLTY5LjUzIC0xNTUsLTE1NSBhIDE3LjI2LDE3LjI2IDAgMSAxIDM0LjUxLDAgMTIwLjYyLDEyMC42MiAwIDAgMCAxMjAuNDksMTIwLjQ5IDE3LjI2LDE3LjI2IDAgMSAxIDAsMzQuNTEgeiIKICAgICBpZD0icGF0aDEyIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImZpbGw6I2Y4ZTE0YiIgLz4KPC9zdmc+Cg==\" y=\"3\"/> <text fill=\"#010101\" fill-opacity=\".3\" textLength=\"250\" transform=\"scale(.1)\" x=\"355\" y=\"150\">voilà</text><text textLength=\"250\" transform=\"scale(.1)\" x=\"355\" y=\"140\">voilà</text><text fill=\"#010101\" fill-opacity=\".3\" textLength=\"350\" transform=\"scale(.1)\" x=\"735\" y=\"150\">binder</text><text textLength=\"350\" transform=\"scale(.1)\" x=\"735\" y=\"140\">binder</text></g> </svg>" | |
| ], | |
| "text/plain": [ | |
| "<IPython.core.display.SVG object>" | |
| ] | |
| }, | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "svg = requests.get(voila_light_url).text\n", | |
| "svg_b64 = base64.b64encode(svg.encode(\"utf-8\")).decode(\"utf-8\")\n", | |
| "url = f\"https://img.shields.io/badge/{left}-{right}-{color}\"\n", | |
| "url += f\"?logo=data:image/svg+xml;base64,{svg_b64}\"\n", | |
| "svg = requests.get(url).text\n", | |
| "SVG(svg)" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.7.6" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 4 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment