{"data":{"markdownRemark":{"html":"<p>Bien le bonjour !\nContrairement à d'habitude, cet article ne portera pas sur mon avancé de la refonte du site de commit42. Aujourd'hui je vous montre comment créer son propre thème pour <a href=\"https://react.semantic-ui.com\">Semantic UI React</a> avec GatsbyJS.</p>\n<p>Les ressources à ce sujet sont très limitées ; pour ainsi dire je n'en ai trouvé que deux: <a href=\"https://edmcman.github.io/blog/2018-12-31--theming-semantic-ui-react-in-gatsby-js/\">une en anglais</a> et <a href=\"https://blog.yohei.tokyo/2019/02/gatsbyjs-semantic-ui/\">une en japonais</a> (d'après google traduction)\nJe me suis dit que ça ne serait pas une mauvaise idée de faire une synthèse de tout ce que j'ai compris. Ça pourra peut-être aider d'autre développeur..es !</p>\n<h3>Installation des dépendances</h3>\n<p>Pour commencer, installez <code class=\"language-text\">semantic-ui-react</code> et <code class=\"language-text\">semantic-ui-css</code> de la façon suivante:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">npm install --save semantic-ui-css semantic-ui-react</code></pre></div>\n<p>Ensuite installez <code class=\"language-text\">less</code> et le plugin <code class=\"language-text\">gatsby-plugin-less</code> comme ceci:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">npm install --save gatsby-plugin-less less</code></pre></div>\n<p>Ajoutez le plugin dans gatsby-config.js:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">module<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token operator\">...</span>\n  plugins<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token operator\">...</span><span class=\"token punctuation\">,</span>\n    <span class=\"token template-string\"><span class=\"token string\">`gatsby-plugin-less`</span></span><span class=\"token punctuation\">,</span>\n    <span class=\"token operator\">...</span>\n  <span class=\"token punctuation\">]</span>\n  <span class=\"token operator\">...</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Ensuite installez <code class=\"language-text\">semantic-ui-less</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">npm install --save semantic-ui-less</code></pre></div>\n<h3>Initialiser le dossier pour créer son thème</h3>\n<p>Allez dans les nodes<em>modules: <code class=\"language-text\">node-modules/semantic-ui-less</code>.\nCopiez le fichier<code class=\"language-text\">theme.config.example</code> et le dossier`</em>site`.</p>\n<p>Retournez dans le dossier de votre projet et créez un dossier <code class=\"language-text\">/semantic</code> dans <code class=\"language-text\">src/</code> .\nY copier ce que vous venez d'aller chercher dans les node<em>modules. Renommez <code class=\"language-text\">theme.config.example</code> en <code class=\"language-text\">theme.config</code> et `</em>site<code class=\"language-text\">en</code>site`.</p>\n<p>Ensuite, dans le fichier <code class=\"language-text\">theme.config</code> que vous venez de copier, remplacez les lignes suivantes:</p>\n<ul>\n<li><code class=\"language-text\">@import (multiple) &quot;theme.less&quot;;</code>  --> <code class=\"language-text\">@import (multiple) &#39;~semantic-ui-less/theme.less&#39;;</code> </li>\n<li><code class=\"language-text\">@siteFolder: &quot;site</code> --> <code class=\"language-text\">@siteFolder: &#39;../../src/semantic/site&#39;;</code></li>\n</ul>\n<p>Enfin, tout à la fin ajoutez: <code class=\"language-text\">@fontPath : &quot;../../../themes/@{theme}/assets/fonts&quot;;</code>.</p>\n<p>Important: Si vous souhaitez ajouter vos propres fonts, mettez les dans <code class=\"language-text\">src/semantic/site/globals/fonts</code>.</p>\n<p>Votre fichier theme.config devrait ressembler à ça:</p>\n<div class=\"gatsby-highlight\" data-language=\"less\"><pre class=\"language-less\"><code class=\"language-less\"><span class=\"token comment\">/*\n\n████████╗██╗  ██╗███████╗███╗   ███╗███████╗███████╗\n╚══██╔══╝██║  ██║██╔════╝████╗ ████║██╔════╝██╔════╝\n   ██║   ███████║█████╗  ██╔████╔██║█████╗  ███████╗\n   ██║   ██╔══██║██╔══╝  ██║╚██╔╝██║██╔══╝  ╚════██║\n   ██║   ██║  ██║███████╗██║ ╚═╝ ██║███████╗███████║\n   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚══════╝\n\n*/</span>\n\n<span class=\"token comment\">/*******************************\n        Theme Selection\n*******************************/</span>\n\n<span class=\"token comment\">/* To override a theme for an individual element\n   specify theme name below\n*/</span>\n\n<span class=\"token comment\">/* Global */</span>\n<span class=\"token variable\">@site        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@reset       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">/* Elements */</span>\n<span class=\"token variable\">@button      <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@container   <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@divider     <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@flag        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@header      <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@icon        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@image       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@input       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@label       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@list        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@loader      <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@placeholder <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@rail        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@reveal      <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@segment     <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@step        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">/* Collections */</span>\n<span class=\"token variable\">@breadcrumb  <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@form        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@grid        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@menu        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@message     <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@table       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">/* Modules */</span>\n<span class=\"token variable\">@accordion   <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@checkbox    <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@dimmer      <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@dropdown    <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@embed       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@modal       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@nag         <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@popup       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@progress    <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@rating      <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@search      <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@shape       <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@sidebar     <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@sticky      <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@tab         <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@transition  <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">/* Views */</span>\n<span class=\"token variable\">@ad          <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@card        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@comment     <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@feed        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@item        <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@statistic   <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'default'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">/*******************************\n            Folders\n*******************************/</span>\n\n<span class=\"token comment\">/* Path to theme packages */</span>\n<span class=\"token variable\">@themesFolder <span class=\"token punctuation\">:</span></span> <span class=\"token string\">'themes'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">/* Path to site override folder */</span>\n<span class=\"token variable\">@siteFolder<span class=\"token punctuation\">:</span></span> <span class=\"token string\">'../../src/semantic/site'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">/*******************************\n         Import Theme\n*******************************/</span>\n\n<span class=\"token variable\">@import</span> <span class=\"token punctuation\">(</span>multiple<span class=\"token punctuation\">)</span> <span class=\"token string\">\"~semantic-ui-less/theme.less\"</span><span class=\"token punctuation\">;</span>\n<span class=\"token atrule\">@fontPath <span class=\"token punctuation\">:</span> \"../../../themes/@</span><span class=\"token punctuation\">{</span>theme<span class=\"token punctuation\">}</span><span class=\"token operator\">/</span>assets<span class=\"token operator\">/</span>fonts\"<span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">/* End Config */</span></code></pre></div>\n<p>Afin d'utiliser notre propre configuration webpack pour <code class=\"language-text\">semantic-ui-less</code> ajoutez ce code à votre fichier <code class=\"language-text\">gatsby-node.js</code> :</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> path <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'path'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nexports<span class=\"token punctuation\">.</span><span class=\"token function-variable function\">onCreateWebpackConfig</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\"><span class=\"token punctuation\">{</span> actions <span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  actions<span class=\"token punctuation\">.</span><span class=\"token function\">setWebpackConfig</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n    resolve<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n      alias<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token string\">'../../theme.config$'</span><span class=\"token punctuation\">:</span> path<span class=\"token punctuation\">.</span><span class=\"token function\">join</span><span class=\"token punctuation\">(</span>__dirname<span class=\"token punctuation\">,</span> <span class=\"token string\">'src/semantic/theme.config'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Si vous n'avez pas déjà de <code class=\"language-text\">gatsby-browser</code>, créez ce fichier à la racine de votre projet et mettez la ligne suivante dans ce fichier: </p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"semantic-ui-css/semantic.min.css\"</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>Pour terminer, dans votre composant <code class=\"language-text\">layout.js</code> ajoutez: <code class=\"language-text\">import  &quot;semantic-ui-less/semantic.less&quot;;</code> et dans votre page <code class=\"language-text\">index.js</code> ajoutez <code class=\"language-text\">import  &quot;semantic-ui-css/semantic.min.css&quot;</code></p>\n<h3>Créer son thème</h3>\n<p>Votre configuration est maintenant fin prête, vous allez pouvoir commencer à créer votre thème !</p>\n<p>Allez dans <code class=\"language-text\">src/semantic/site/globals/site.variables</code> et ajoutez les lignes suivantes (par exemple):</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@emSize: 13px;\n@fontSize: 13px;\n@fontName: &#39;Helvetica&#39;;</code></pre></div>\n<p>Re-développez votre application avec <code class=\"language-text\">gatsby develop</code> et observez le résultat !</p>\n<h3>Utiliser ses propres fonts</h3>\n<p>Si vous souhaitez utiliser des fonts autres que celles par défaut, voici comment faire:</p>\n<p>Dans <code class=\"language-text\">src/semantic/site/global/site.overrides</code> créer vos <code class=\"language-text\">@font-face</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"less\"><pre class=\"language-less\"><code class=\"language-less\"><span class=\"token atrule\">@font-face</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">font-family</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Poppins'</span><span class=\"token punctuation\">;</span>\n  <span class=\"token property\">font-style</span><span class=\"token punctuation\">:</span> normal<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">src</span><span class=\"token punctuation\">:</span> <span class=\"token url\">url('fonts/Poppins-BlackItalic.ttf')</span><span class=\"token punctuation\">;</span>\n  <span class=\"token property\">unicode-range</span><span class=\"token punctuation\">:</span> U<span class=\"token operator\">+</span>0000<span class=\"token operator\">-</span>00FF<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>0131<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>0152<span class=\"token operator\">-</span>0153<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>02C6<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>02DA<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>02DC<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>2000<span class=\"token operator\">-</span>206F<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>2074<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>20AC<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>2212<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>2215<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>E0FF<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>EFFD<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>F000<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token atrule\">@font-face</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">font-family</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Roboto'</span><span class=\"token punctuation\">;</span>\n  <span class=\"token property\">font-style</span><span class=\"token punctuation\">:</span> normal<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">font-weight</span><span class=\"token punctuation\">:</span> 400<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">src</span><span class=\"token punctuation\">:</span> <span class=\"token url\">url('fonts/Roboto-Light.ttf')</span><span class=\"token punctuation\">;</span>\n  <span class=\"token property\">unicode-range</span><span class=\"token punctuation\">:</span> U<span class=\"token operator\">+</span>0000<span class=\"token operator\">-</span>00FF<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>0131<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>0152<span class=\"token operator\">-</span>0153<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>02C6<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>02DA<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>02DC<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>2000<span class=\"token operator\">-</span>206F<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>2074<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>20AC<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>2212<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>2215<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>E0FF<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>EFFD<span class=\"token punctuation\">,</span> U<span class=\"token operator\">+</span>F000<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Ensuite dans <code class=\"language-text\">src/semantic/site/global/site.variables</code> créez vos styles de caractères:</p>\n<div class=\"gatsby-highlight\" data-language=\"less\"><pre class=\"language-less\"><code class=\"language-less\"><span class=\"token variable\">@headerFont<span class=\"token punctuation\">:</span></span> <span class=\"token string\">'Poppins'</span><span class=\"token punctuation\">;</span>\n<span class=\"token variable\">@pageFont<span class=\"token punctuation\">:</span></span> <span class=\"token string\">'Roboto'</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Ici j'ai défini <code class=\"language-text\">Poppins</code> comme étant la font pour les titres et <code class=\"language-text\">Roboto</code> celle pour le corps du texte.</p>\n<h3>Conclusion 👏</h3>\n<p>Si tout s'est bien passé vous devriez pouvoir créer votre propre thème pour Semantic UI React ! Vous trouverez juste en dessous mon repo Gihub si vous souhaitez consulter le code.</p>\n<p>Mon repo github: <a href=\"https://github.com/EvaSpessotto/theming-gatsby-sui\">https://github.com/EvaSpessotto/theming-gatsby-sui</a></p>\n<h3>Sources 🔗</h3>\n<p><strong>Créer une thème avec Semantic UI React pour React</strong>\n<a href=\"http://nephewapps.com/2018/02/25/theming-semantic-ui-with-create-react-app/\">http://nephewapps.com/2018/02/25/theming-semantic-ui-with-create-react-app/</a></p>\n<p><a href=\"https://jsramblings.com/2018/03/04/how-to-use-semantic-ui-with-a-custom-theme-in-your-CRA-app.html\">https://jsramblings.com/2018/03/04/how-to-use-semantic-ui-with-a-custom-theme-in-your-CRA-app.html</a></p>\n<p><strong>Changer les polices de votre thème</strong></p>\n<p><a href=\"https://stackoverflow.com/questions/49621165/how-do-you-include-custom-fonts-in-semantic-ui-instead-of-google-fonts\">https://stackoverflow.com/questions/49621165/how-do-you-include-custom-fonts-in-semantic-ui-instead-of-google-fonts</a></p>\n<p><a href=\"https://github.com/Semantic-Org/Semantic-UI/issues/6435#issuecomment-398339397\">https://github.com/Semantic-Org/Semantic-UI/issues/6435#issuecomment-398339397</a></p>\n<p><strong>Theming Semantic UI + Gatsby</strong></p>\n<p><a href=\"https://edmcman.github.io/blog/2018-12-31--theming-semantic-ui-react-in-gatsby-js/\">https://edmcman.github.io/blog/2018-12-31--theming-semantic-ui-react-in-gatsby-js/</a></p>\n<p><a href=\"https://blog.yohei.tokyo/2019/02/gatsbyjs-semantic-ui/\">https://blog.yohei.tokyo/2019/02/gatsbyjs-semantic-ui/</a></p>","excerpt":"Bien le bonjour !\nContrairement à d'habitude, cet article ne portera pas sur mon avancé de la refonte du site de commit42. Aujourd'hui je…","timeToRead":5,"fields":{"slug":"/blog/creer-un-theme-avec-semantic-ui-react-pour-gatsbyjs/"},"frontmatter":{"date":"2019-03-25T15:09:32.644Z","tags":["Semantic UI","GatsbyJS","React"],"title":"Créer un thème avec Semantic UI React pour GatsbyJS","author":"Eva","thumbnail":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsSAAALEgHS3X78AAACkUlEQVQoz2WS208TQRTG+z8ZtbfIk4kx+KIPJsbEBx9M9JHExIQURBNJlAcSlcC2YmnFhEtIjEWIXIQWxCJtWrGsBrDhprDd2+zStOzufM4OUEp4+PLNmZz5zZlzxnPl3MX5+40BXL9zoRps8FkBf8AKBAKWz+c7Jb/ffyp2c+pUDQaD8Hq9S5433T0YjAqIve+GEBYg9AgIh8OIxWJcfX19XNFolMfxeJzHbo4gCPWikUgEHttxqlXLxkHVprZlU8dxaKVSoYuLizSdTtNcLkdXVlaoKIo0m83Subk5ms/neY6ba9v2scBix1OSJKtUKqFUkuieJEFWFBSLRYRaWhAKhdDZ2Yn29nb09vaio6MDTU1NaG5uxvb2DuSSDImdYaLH7lEUxVJVFcypztzUNOwzEQbWmNg+ZFmGm+NKlt09GcTQcHSu5q5qQE1V6Sa7pfBvB9mdLSwzX5f2DkFHyYqiwjAJdv9K+PNri8N1op2CcqD7zANC6NP8d5yf/IDHPzO4uTCNa8lx7LHq9k0ThmGCmDoKmXXEX0wh8mQcw11JbG/sQtdPoDWgTQz6MPMVd5dSKOgqB17+MsogJiYnJjA4NAiiGxh6PYvnD4bx6EYULbfe4WN0AeWKwft5psLWXBoNM6MY2Sqif2MNV2fHoBkGUskkEqMJKJLGqpvklbXe7ke4bQyJ2DcY+4Qe9lbhQzmQ1ZMKvdMJdK2JuJeZxyW2dp9cZlWaTMTQkfr0AwMvZ/H22WdE2sYh5oqsrzpVZP5k6uGTY2SDTXZmo4hXhRwi4jL3gVWRf6P6SWuaimzqN6ZGslgXN/klR/2jhBC4wFX3drbplHUdlDXfIQZ31oa6r6HUvoZZJihXzTMwtt78D9VEH4c/fim0AAAAAElFTkSuQmCC","aspectRatio":1.6507413509060955,"src":"/static/39c80a5fe49a891f2a6a31ac90336fa5/c7e19/creer-un-theme-thumbnail.png","srcSet":"/static/39c80a5fe49a891f2a6a31ac90336fa5/475cb/creer-un-theme-thumbnail.png 245w,\n/static/39c80a5fe49a891f2a6a31ac90336fa5/0b65f/creer-un-theme-thumbnail.png 490w,\n/static/39c80a5fe49a891f2a6a31ac90336fa5/c7e19/creer-un-theme-thumbnail.png 980w,\n/static/39c80a5fe49a891f2a6a31ac90336fa5/4cca6/creer-un-theme-thumbnail.png 1002w","sizes":"(max-width: 980px) 100vw, 980px"}}}}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/blog/creer-un-theme-avec-semantic-ui-react-pour-gatsbyjs/"}}