<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dev Geos</title>
    <description>The latest articles on DEV Community by Dev Geos (@dev_geos).</description>
    <link>https://dev.to/dev_geos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F683834%2Fac8e36f8-392e-49bd-b6e9-484d11b61e57.jpeg</url>
      <title>DEV Community: Dev Geos</title>
      <link>https://dev.to/dev_geos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dev_geos"/>
    <language>en</language>
    <item>
      <title>MOD-CSS v4 — Now Fully Compatible with React (and Most Modern JS/TS Frameworks) 🚀</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Tue, 12 Aug 2025 07:35:58 +0000</pubDate>
      <link>https://dev.to/dev_geos/mod-css-v4-now-fully-compatible-with-react-and-most-modern-jsts-frameworks-2o7a</link>
      <guid>https://dev.to/dev_geos/mod-css-v4-now-fully-compatible-with-react-and-most-modern-jsts-frameworks-2o7a</guid>
      <description>&lt;p&gt;The brand-new MOD-CSS v4.x is here with some great news: it’s now fully compatible with React and most modern JavaScript/TypeScript frameworks.&lt;/p&gt;

&lt;p&gt;In this article, I’ll show you how to integrate it effortlessly into your project and unleash its full potential to create fast, modular, and highly customizable interfaces.&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Quick Installation
&lt;/h2&gt;

&lt;p&gt;Simply add MOD-CSS to your project via npm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i @dev-geos/mod-css
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ⚡ Integrating MOD-CSS into React
&lt;/h2&gt;

&lt;p&gt;Integration is incredibly simple: just call the init() method once in your root component. MOD-CSS will then automatically apply your dynamic styles across all components inside it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useCallback&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;MODCSS&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@dev-geos/mod-css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;MainComponent&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;init&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useCallback&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;node&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;node&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;MD&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;MODCSS&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
      &lt;span class="nx"&gt;MD&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[]);&lt;/span&gt;

  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"grid"&lt;/span&gt; &lt;span class="na"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;init&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Your content */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;MainComponent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🎯 The Two Key Attributes: mod / data-mod and var / data-var
&lt;/h2&gt;

&lt;p&gt;With MOD-CSS, you only need two attributes to handle all your styling:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;mod or data-mod&lt;/strong&gt; — to apply predefined styles&lt;br&gt;
&lt;strong&gt;var or data-var&lt;/strong&gt; — to manage/edit your selectors&lt;/p&gt;

&lt;p&gt;They are fully interchangeable, so you can use the data-* convention or keep it short for faster writing.&lt;/p&gt;


&lt;h2&gt;
  
  
  🛠️ A Few Examples
&lt;/h2&gt;

&lt;p&gt;1️⃣ A Responsive flexgrid in few Line&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;mod&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"row$[100%]"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;mod&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"col$[80%] || lg? col$[60%]"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Block 1&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;mod&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"col$[20%] || lg? col$[40%]"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Block 2&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
...
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2️⃣ Reactive Behavior Based on Screen Size&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;mod&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"w[100%] bg[blue] || lg? w[75%] || 2xl? w[50%] bg[pink]"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* I change background and width depending on the screen size */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3️⃣ Easily Customize a Component&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt; &lt;span class="na"&gt;mod&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bg[lightblue] co[#333] br[9px] &amp;amp;&amp;amp; focus*hover: co[blue] br[4px]"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Button (background, color, Radius 4px) */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚀 Why Choose MOD-CSS?
&lt;/h2&gt;

&lt;p&gt;Ultra-lightweight — no unnecessary overhead&lt;/p&gt;

&lt;p&gt;Minimal syntax — write less, do more&lt;/p&gt;

&lt;p&gt;Highly customizable — built-in variables and reactive behavior&lt;/p&gt;

&lt;p&gt;More than 200 properties - support most CSS properties&lt;/p&gt;

&lt;p&gt;Fresh rendering - Your settings are deleted after rendering. Nothing appears on client side&lt;/p&gt;

&lt;p&gt;Universal compatibility — works with React, Vue, Svelte, Angular, Vanilla JS…&lt;/p&gt;

&lt;p&gt;Developers around the world have already adopted it !&lt;/p&gt;

&lt;p&gt;In an upcoming article, I’ll dive into all the advanced MOD-CSS features that can supercharge your front-end projects.&lt;/p&gt;

&lt;p&gt;See you soon 👋&lt;/p&gt;

&lt;p&gt;&lt;a href="//mod-css.com"&gt;Official website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>css</category>
      <category>react</category>
    </item>
    <item>
      <title>Review of (nearly) 5 years of MOD-CSS programming</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Thu, 08 May 2025 19:32:02 +0000</pubDate>
      <link>https://dev.to/dev_geos/review-of-nearly-5-years-of-mod-css-programming-5448</link>
      <guid>https://dev.to/dev_geos/review-of-nearly-5-years-of-mod-css-programming-5448</guid>
      <description>&lt;p&gt;I recently red a &lt;a href="https://dev.to/this-is-learning/a-decade-of-solidjs-32f4"&gt;post&lt;/a&gt; by Ryan, the creator of SolidJS, where he reflected on ten years of developing his solution. &lt;br&gt;
I commented on the post, but it also got me thinking, because I’ve been working on &lt;a href="https://mod-css.com" rel="noopener noreferrer"&gt;MOD-CSS&lt;/a&gt; too for almost five years now.&lt;/p&gt;

&lt;h2&gt;
  
  
  I wonder about the point of continuing
&lt;/h2&gt;

&lt;p&gt;I find myself questioning whether it’s still worthwhile to continue: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;to improve it&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;to maintain code&lt;/strong&gt;, &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;to keep the website up to date&lt;/strong&gt; (&lt;em&gt;that last part is more hardest for me&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first goal was to create tools for rapid prototyping without ever leaving the template and that has been more than achieved since version 2.&lt;br&gt;
Today we’re on the fourth stable release. &lt;br&gt;
Features I hadn’t even imagined at the start (like the REPL and JavaScript's functions) have since been created and work well. So that should be enough, right? Not at all—I keep coming up with new ideas for improvements as my own needs evolve.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Frustration
&lt;/h2&gt;

&lt;p&gt;The idea of its creation came simply from frustration. I was (and still am, to some extent) a user of Bootstrap for its ready-made components, but I felt hampered by its limitations when it came to quickly customizing them and UI. The best alternative was Tailwind, but it made the template feel disordered and I didn’t like that.&lt;br&gt;
&lt;em&gt;I have to admit: I love simplicity, and complex solutions bore me.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  He’s at the summit alone… or almost
&lt;/h2&gt;

&lt;p&gt;From the start I’ve been working solo. My little pleasure is watching the script improve from one release to the next and seeing it works well. But oh, how much better it would be if I could discuss it with actual users or anyone interested… Sometimes I feel it’s more of a personal obsession than a useful solution for UI development needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  When you build something for yourself first
&lt;/h2&gt;

&lt;p&gt;It began as a project to satisfy my own needs, and then I decided to share it with anyone who might find it useful. And maybe that’s a big problem :&lt;br&gt;
&lt;em&gt;from the outset I’ve built it primarily for myself, so I’ve never felt a strong urge to promote it&lt;/em&gt;. &lt;br&gt;
On the other hand, as I mentioned above, I’d love to have conversations about it but how will be happen if no one knows that ?&lt;/p&gt;

&lt;h2&gt;
  
  
  Trends Change… Needs Do same
&lt;/h2&gt;

&lt;p&gt;Another question I had was whether &lt;a href="https://mod-css.com" rel="noopener noreferrer"&gt;MOD-CSS&lt;/a&gt;’s paradigm doing most of the UI creation/customization on the client side has become outdated. There’s now a strong trend toward server-side rendering and sending fully composed pages to the client.&lt;br&gt;
For my part, my design needs are modest, so adding that complexity would be an unnecessary burden. At most, for a time-saving boost, &lt;em&gt;I choose to cache pages server-side into which I inject the same external data&lt;/em&gt;. That’s always been enough for me in Django. What about you ?&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned from Almost Five Years
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Your documentation can save your own life&lt;/strong&gt;&lt;br&gt;
I mentioned earlier that I didn’t like writing documentation or preparing usage examples. But how many times that same documentation and examples saved me when I’ve forgotten how certain functions work ? (&lt;em&gt;I’m ashamed to admit it&lt;/em&gt;.) Good docs aren’t just for users, they’re a lifesaver for the author too.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;You also need versioning&lt;/strong&gt;. &lt;br&gt;
Why? versioning helps you to see in which direction your project is going forward. &lt;br&gt;
Sometimes you get discouraged because it feels like you’re going nowhere but with version history and features tracking, you can measure your progress.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No one serves you better than yourself&lt;/strong&gt;. &lt;br&gt;
A tool you build yourself will always fit your needs perfectly but it often takes a lot of time. Before embarking on that long journey, make sure a similar (and popular) solution doesn’t already exist. It would be a shame to spend months building something you then can’t use in client projects for security or other policy reasons.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unusual paradigms don’t inspire confidence&lt;/strong&gt;.&lt;br&gt;
If your library breaks well trodden design paths like MOD-CSS does expect to be pretty much alone at first, and maybe at the end too... &lt;br&gt;
It can be hard to get others to adopt.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Just because something doesn’t interest a large public doesn’t mean it’s bad or obsolete&lt;/strong&gt;. &lt;br&gt;
A professional developer’s tool choices are heavily influenced by market trends and project requirements. If the market doesn’t demand it, there’s often no incentive to learn it, however interesting the tool may be.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;It always takes longer than you think&lt;/strong&gt;. &lt;br&gt;
If you plan to do it in one month, plan for three. I never imagined I’d work so long on &lt;a href="https://mod-css.com" rel="noopener noreferrer"&gt;MOD-CSS&lt;/a&gt;. Things rarely go as you imagine. For example, it took me almost one year and a half to build MOD-CSS’s core rendering engine. After that, I had to optimize it from (nearly) scratch two or three times because some features didn’t integrate well with the rest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Few stars on GitHub or none doesn’t necessarily mean poor quality&lt;/strong&gt;. &lt;br&gt;
More often, you’ll have to open your wallet to advertise yourself (even if you’re extremely talented). &lt;em&gt;In reality, the one who’s really good is the one who’s popular&lt;/em&gt;. I’m not the one saying it, it’s the internet ^^.&lt;br&gt;
You’ll probably never become the next Elon Musk or Mark Zuckerberg without some serious lobbying (&lt;em&gt;sorry, I digress&lt;/em&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  And finally
&lt;/h2&gt;

&lt;p&gt;Some tools be so specific that cannot concerns large majority of users. You have to be aware of that. &lt;br&gt;
However, if it fine for you, that’s already good for developing your own solution. &lt;br&gt;
It takes a lot of time, energy and money to get your work noticed online.&lt;/p&gt;

&lt;p&gt;It was great to talk about all of this. &lt;br&gt;
Thanks for reading.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Gilles ;-)&lt;br&gt;
(sorry for my bad english)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devjournal</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Another way to create a user interface - New project</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Thu, 15 Feb 2024 15:17:38 +0000</pubDate>
      <link>https://dev.to/dev_geos/another-way-to-create-a-user-interface-new-project-4j6j</link>
      <guid>https://dev.to/dev_geos/another-way-to-create-a-user-interface-new-project-4j6j</guid>
      <description>&lt;h3&gt;
  
  
  Short history ...
&lt;/h3&gt;

&lt;p&gt;We are in the middle of 2021. I got to work on static sites for personal purpose. At the time, I only used Bootstrap and Django for my sites. Interactions between DOM elements are done with vanilla.&lt;/p&gt;

&lt;p&gt;I'm looking for ways to avoid repetition and delivered fast, so I'm doing some research. I'm testing &lt;em&gt;REACT&lt;/em&gt;, &lt;em&gt;VueJS&lt;/em&gt;, &lt;em&gt;Tailwind&lt;/em&gt; which seem to work very well but I'm still not comfortable with it. And their learning curves are unpredictable...&lt;/p&gt;

&lt;p&gt;Afterwards, I started working on my first tool which will be later released to public: &lt;em&gt;&lt;a href="https://mod-css.com/" rel="noopener noreferrer"&gt;MOD-CSS&lt;/a&gt;&lt;/em&gt;. I did it to work with to &lt;em&gt;Bootstrap&lt;/em&gt;, to do CSS in templates and to prototype quickly.&lt;/p&gt;

&lt;p&gt;In 2023, I'm testing &lt;em&gt;SVELTE&lt;/em&gt; and I like it. Very easy to understand, intuitive but I'm stuck with the integration into Django. It's doable but it requires some manipulations which breaks my balls ^^. So, event if I love &lt;em&gt;SVELTE&lt;/em&gt;, my need for a component manager tiny with single file that integrates with almost any backend remains...&lt;/p&gt;

&lt;h2&gt;
  
  
  Because we are better served than by ourselves
&lt;/h2&gt;

&lt;h3&gt;
  
  
  (&lt;em&gt;in theory&lt;/em&gt;)
&lt;/h3&gt;

&lt;p&gt;I decide once again to create my own tool according to my ideal. &lt;br&gt;
In the best of all worlds, a good component manager must at least allow :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;creation of reusable HTML components&lt;/li&gt;
&lt;li&gt;Data binding (read-only or not)&lt;/li&gt;
&lt;li&gt;CSS injection for each component (with possibility of loading via stylesheet).&lt;/li&gt;
&lt;li&gt;2 modes of instantiation of components: 
directly via a tag in template and/or by calling a class.

&lt;ul&gt;
&lt;li&gt;The mode by the class must allow adding of new parameters and/or updating default parameters.&lt;/li&gt;
&lt;li&gt;Loading via tag must allow customization of the component by modifying/updating of certain parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;No virtual DOM to avoid slow loading.&lt;/li&gt;
&lt;li&gt;Monitoring updates on component &lt;/li&gt;
&lt;li&gt;Everything is full javascript without dependency, only based on vanilla native APIs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  I hate complexity because I am lazy
&lt;/h3&gt;

&lt;p&gt;Yes I admit it, I'm a lazy man. I don't like searching, nor do I break my ass; although as a developer it should be considered a sin not to do it.&lt;/p&gt;
&lt;h3&gt;
  
  
  I like simple things: a simple object to define its component.
&lt;/h3&gt;

&lt;p&gt;Most of the time, we use Json to save application settings and it works well. Because it's simple, universal, fast and above all it's &lt;strong&gt;human readable&lt;/strong&gt;. why not do the same with components?  &lt;/p&gt;

&lt;p&gt;A good unbranded t-shirt, which fits well and has a unique color, what could be better? Ok I'm digressing from the main topic.&lt;/p&gt;
&lt;h3&gt;
  
  
  Short code looks like ...
&lt;/h3&gt;

&lt;p&gt;We create a component that we will reuse&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http://127.0.0.1:8000/static/Engine.js&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; 

&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Component&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;liste&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`&amp;lt;ul class="ul"&amp;gt;{{li}}&amp;lt;/ul&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;css&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`.ul { list-style: none; padding: 0; width: 90%; margin: 15px; }
    .ul li { color: {{co}}; background: {{bg}}; padding: 6px 15px; border: 0.5px solid #ddd; cursor: pointer; } 
    .ul li:hover { background: lightblue; color: blue; font-family: monospace} 
    .ul li:first-child { border-radius: 6px 6px 2px 2px; }
    .ul li:last-child{ border-radius: 2px 2px 6px 6px; }`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

    &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;bg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;lightgray&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;co&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#202020&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;events&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;pointerup&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
            &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; li hover&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see, we can use props in the CSS of the component, which will prevent the component from having the same look each time.&lt;br&gt;
This works like an injection system, so you should in principle be able to dynamically load lists or any data. But, I admit, I haven't test it yet.&lt;/p&gt;
&lt;h4&gt;
  
  
  1. We instantiate via Tag
&lt;/h4&gt;

&lt;p&gt;The first parameter of new Component() was the component class name/tag name. we use it followed by $.&lt;br&gt;
And the attributes are the props that we are going to update so that they render something else.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;    &lt;span class="nt"&gt;&amp;lt;liste&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="na"&gt;bg=&lt;/span&gt;&lt;span class="s"&gt;"#70707020"&lt;/span&gt; &lt;span class="na"&gt;co=&lt;/span&gt;&lt;span class="s"&gt;"blue"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/liste&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Don't worry, this tag is replaced by its original on rendering. &lt;/p&gt;

&lt;h4&gt;
  
  
  2. We instantiate via the class
&lt;/h4&gt;

&lt;p&gt;For the moment, via the class, we always instantiate under addEventListener '&lt;em&gt;DOMContentLoaded&lt;/em&gt;'.&lt;/p&gt;

&lt;p&gt;The first parameter of new Component() was the class name.&lt;br&gt;
So, we just do a simple &lt;em&gt;new classname()&lt;/em&gt; followed by define.&lt;/p&gt;

&lt;p&gt;the component will be rendered as last child of the selector you define in parent. &lt;/p&gt;

&lt;p&gt;I add another event specifically for this instance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="c1"&gt;// Chargement des lignes&lt;/span&gt;
   &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;
   &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;John DOE - UK&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Dev GEOS - CI&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Jack MA - CHN&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bill GATES - USA&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Mark ZUCKERBERG - USA&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
   &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt;&lt;span class="s2"&gt;`&amp;lt;li&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/li&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="c1"&gt;// instanciation&lt;/span&gt;
     &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;DOMContentLoaded&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
         &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;liste&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;define&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="p"&gt;{&lt;/span&gt;
             &lt;span class="na"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;body&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
             &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="na"&gt;bg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#70707020&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="na"&gt;co&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;blue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="na"&gt;li&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt;
             &lt;span class="p"&gt;},&lt;/span&gt;
             &lt;span class="na"&gt;events&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="na"&gt;pointerleave&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
                  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hover&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                   &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;},&lt;/span&gt;
     &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  And finally...
&lt;/h2&gt;

&lt;p&gt;Here is a small presentation of my current project. I grant you the title is not very suitable but if you don't like this design paradigm, I dare to believe that you will do as in the title.&lt;/p&gt;

&lt;p&gt;Otherwise, If this interests you, it is with pleasure that I read you and I will tell you more about it.&lt;br&gt;
Let me know please.&lt;/p&gt;

&lt;p&gt;Thanks !&lt;/p&gt;

&lt;p&gt;PS: Sorry for my bad english ;-)&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>frontend</category>
      <category>news</category>
    </item>
    <item>
      <title>Let's redefine our way to do webpage</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Tue, 09 Jan 2024 10:42:42 +0000</pubDate>
      <link>https://dev.to/dev_geos/lets-redefine-our-way-to-do-webpage-c1m</link>
      <guid>https://dev.to/dev_geos/lets-redefine-our-way-to-do-webpage-c1m</guid>
      <description>&lt;p&gt;I was eating when I had this crazy idea.&lt;br&gt;
I show you the code directly :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;   &lt;span class="nt"&gt;&amp;lt;section&lt;/span&gt; &lt;span class="na"&gt;container=&lt;/span&gt;&lt;span class="s"&gt;"90%"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
       &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;row=&lt;/span&gt;&lt;span class="s"&gt;"100%"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;col=&lt;/span&gt;&lt;span class="s"&gt;"25%"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;col 1&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;col=&lt;/span&gt;&lt;span class="s"&gt;"25%"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;col 2&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;col=&lt;/span&gt;&lt;span class="s"&gt;"50%"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;col 3&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
       &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So, this snippet is not like you see commonly or what you're writing. But if you're a webdev for a while, you probably understand at first glance what this means. And that's what is great ! &lt;/p&gt;

&lt;p&gt;If we have to write code, it should be fun for we and understandable by others. What do you think ?&lt;/p&gt;




&lt;h3&gt;
  
  
  Then, how to do that in fact ?
&lt;/h3&gt;

&lt;p&gt;I used &lt;a href="https://mod-css.com/" rel="noopener noreferrer"&gt;MOD-CSS&lt;/a&gt; to set quickly selectors for layout, like below :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:var=&lt;/span&gt;&lt;span class="s"&gt;"[container='90%']{ container$[98%] || lg? container$[90%] }"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:var=&lt;/span&gt;&lt;span class="s"&gt;"[row='100%'] { $row[100%] tx.al[center] }"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:var=&lt;/span&gt;&lt;span class="s"&gt;"[col='25%']{ $col[25%] }"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:var=&lt;/span&gt;&lt;span class="s"&gt;"[col='50%']{ $col[50%] }"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I can understand that this code is a little confusing at first, but that's really all you need to write to get a great responsive grid. &lt;/p&gt;

&lt;p&gt;I designed MOD-CSS for this things, quick design. &lt;br&gt;
There are still many other features to help you speed up your workflow, so don't hesitate to test as needed...&lt;/p&gt;

&lt;p&gt;Tell me what you think of this approach :-)&lt;/p&gt;

&lt;p&gt;=&amp;gt; &lt;a href="https://codepen.io/dev-geos/pen/vYPKJwG" rel="noopener noreferrer"&gt;codepen here&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How does a developer spend New Year's Day?</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Mon, 01 Jan 2024 10:02:26 +0000</pubDate>
      <link>https://dev.to/dev_geos/how-does-a-developer-spend-new-years-day-2d95</link>
      <guid>https://dev.to/dev_geos/how-does-a-developer-spend-new-years-day-2d95</guid>
      <description>&lt;p&gt;Before any else, happy new year to all.&lt;/p&gt;

&lt;p&gt;For most of us, I can see us with our families to share the first meal of the year. No coding today !&lt;/p&gt;

&lt;p&gt;For others, as soon as the wishes are made, work to finish, a project to refine, a customer to satisfy, No time to take a break ...&lt;/p&gt;

&lt;p&gt;And someone, although the family is present, there is this desire to disappear for few minutes to test the code that he found in its dream...&lt;/p&gt;

&lt;p&gt;In which case are you ?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>New Features - overview MOD-CSS 3x</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Sun, 24 Dec 2023 10:48:27 +0000</pubDate>
      <link>https://dev.to/dev_geos/new-features-overview-mod-css-3x-1dlm</link>
      <guid>https://dev.to/dev_geos/new-features-overview-mod-css-3x-1dlm</guid>
      <description>&lt;p&gt;Iam very happy to present in video the 3rd release of MOD-CSS,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Follow this link for &lt;a href="https://dev.to/dev_geos/mod-css-3x-new-version-2de"&gt;text overview&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Or please, check below&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://www.youtube.com/watch?si=RFvI9TBiJxp70OGD&amp;amp;v=PT6RhDFflJo&amp;amp;feature=youtu.be" rel="noopener noreferrer"&gt;
      youtube.com
    &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>MOD-CSS 3.x (new version)</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Tue, 19 Dec 2023 11:29:09 +0000</pubDate>
      <link>https://dev.to/dev_geos/mod-css-3x-new-version-2de</link>
      <guid>https://dev.to/dev_geos/mod-css-3x-new-version-2de</guid>
      <description>&lt;p&gt;With great excitement that I announce &lt;strong&gt;version 3&lt;/strong&gt; of &lt;a href="https://mod-css.com/" rel="noopener noreferrer"&gt;MOD-CSS&lt;/a&gt;.&lt;br&gt;
The new features :&lt;/p&gt;
&lt;h3&gt;
  
  
  Your own attributes
&lt;/h3&gt;

&lt;p&gt;Now, you can choose the attribute names to work with MOD-CSS.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="nx"&gt;ModCSS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;attributes&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
     &lt;span class="na"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;mod&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;xyz&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;var&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;let&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/script&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Enhanced flexgrid
&lt;/h3&gt;

&lt;p&gt;Use our flexgrid properties in any MOD-CSS attributes. &lt;br&gt;
Just add dollar sign '$' in this case.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:mod=&lt;/span&gt;&lt;span class="s"&gt;"row[100%]"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:box=&lt;/span&gt;&lt;span class="s"&gt;"col$[5.4rem]"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;5.4rem&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:mod=&lt;/span&gt;&lt;span class="s"&gt;"col[25%]"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;25%&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    ...
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt; 

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:var=&lt;/span&gt;&lt;span class="s"&gt;".col{ col$[auto] h[10px] }"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Enhanced support of pseudo-Elements
&lt;/h3&gt;

&lt;p&gt;We have improved support for pseudo-elements &lt;em&gt;(before, after, mark...)&lt;/em&gt;. You can use them as you do with pseudo-classes.&lt;br&gt;
Just use double colon '::' when you set them.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!--Set a selector--&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:var=&lt;/span&gt;&lt;span class="s"&gt;".q::before { con['_'] co[blue] }"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;:var=&lt;/span&gt;&lt;span class="s"&gt;".q::after { con['E6'] co[blue] }"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Some quotes, he said, &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"q"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;are better than none.&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!--Or set props on HTML element--&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Some quotes, he said, 
  &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;:box=&lt;/span&gt;&lt;span class="s"&gt;"before:: con['_'] co[blue] &amp;amp;&amp;amp; after:: con['E6'] 
  co[blue]"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;are better than none.&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Rewriting the script
&lt;/h3&gt;

&lt;p&gt;We have upgraded the code to a more recent JavaScript version. &lt;br&gt;
The rendering engine is more lighter than before but also faster, &lt;em&gt;(only 9 kilobytes)&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/modsLabs/MOD-CSS-3.x/" rel="noopener noreferrer"&gt;Github repository&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Complete exemple
&lt;/h2&gt;

&lt;p&gt;Define your attribute(s) &lt;em&gt;(one or all)&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="nx"&gt;ModCSS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;attributes&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
     &lt;span class="na"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;mod&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;xyz&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;var&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;let&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/script&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Call them in your markup&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
  ...
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;mod=&lt;/span&gt;&lt;span class="s"&gt;"container[75%]"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;xyz=&lt;/span&gt;&lt;span class="s"&gt;" m.rg[1.2rem]"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
     &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;let=&lt;/span&gt;&lt;span class="s"&gt;".mr-3{ m.rg[1.2rem] }"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;So, try-it and fun !&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>MOD-CSS Breakpoints - examples &amp; tutorial</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Wed, 11 Jan 2023 12:13:24 +0000</pubDate>
      <link>https://dev.to/dev_geos/mod-css-breakpoints-examples-tutorial-2pb1</link>
      <guid>https://dev.to/dev_geos/mod-css-breakpoints-examples-tutorial-2pb1</guid>
      <description>&lt;p&gt;The importance of media queries to define breakpoints is no longer to be demonstrated in the creation of responsive/adaptative UI. &lt;br&gt;
If most CSS frameworks are limited in this, this is not the case MOD-CSS which fit good with any CSS property; The combinations are endless.&lt;/p&gt;

&lt;p&gt;In this series of tutorials, you can take advantage of it in creating your user interfaces.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using CSS Media Queries for Responsive Apps
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;MOD-CSS encourages mobile-first design, so display on mobile is what you need to think first, and then plan for display on larger screens.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Basic example - One row, two responsive columns
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;In this basic example, each column in the flexgrid hold on a row when you're on mobile. &lt;br&gt;
On larger screen (md? = 768px and above), the column's width i&lt;br&gt;
ncreases to 50%. This will make them both fit on one row.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fut4g5mt3rfocio3iy5bk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fut4g5mt3rfocio3iy5bk.png" alt="mod-css row column with breakpoint" width="634" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq4etcgtmzaejor5sar9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq4etcgtmzaejor5sar9.gif" alt="mod-css anime breakpoint" width="1024" height="1024"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Second example - one columns take 70% of row's width with gap
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;In this example, on lg breakpoint (lg? = 992px and above) second column takes 70% of width and the first column resized to 30%.&lt;br&gt;
The row set gap of 2% between them&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqdtemqgxfwxn5rfd7fpt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqdtemqgxfwxn5rfd7fpt.png" alt="mod-css row column with breakpoint and gap" width="575" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F91p2c965yexsr1t4ehjz.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F91p2c965yexsr1t4ehjz.gif" alt="mod-css anime breakpoint with gap" width="720" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MOD-CSS&lt;/strong&gt;&lt;br&gt;
MOD-CSS is a lightweight CSS framework that allows you to quickly create flexible UI without using to traditional way of CSS. &lt;br&gt;
It can be used in conjunction with Bootstrap, Bulma .. Tailwind without hindering their use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mod-css.com/docs/breakpoints/" rel="noopener noreferrer"&gt;Documentation breakpoint&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/modsLabs/mod-css/" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>modcss</category>
    </item>
    <item>
      <title>Create a responsive portfolio in single page with horizontal scrolling, Django and MOD-CSS (2023)</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Fri, 06 Jan 2023 11:16:01 +0000</pubDate>
      <link>https://dev.to/dev_geos/create-a-responsive-portfolio-in-single-page-with-horizontal-scrolling-django-and-mod-css-2023-3inc</link>
      <guid>https://dev.to/dev_geos/create-a-responsive-portfolio-in-single-page-with-horizontal-scrolling-django-and-mod-css-2023-3inc</guid>
      <description>&lt;h2&gt;
  
  
  Short history
&lt;/h2&gt;

&lt;p&gt;I have been coding for a few years now as an enthusiast and I thought it would be time to expose all my most accomplished projects rather than keep them in the closet.&lt;br&gt;
Some of them may etre interesting for other developer and then who knows that will not open other doors for me :).&lt;/p&gt;

&lt;h2&gt;
  
  
  So ...
&lt;/h2&gt;

&lt;p&gt;I will share with you the creation and programming of my portfolio with the code and various settings. &lt;br&gt;
I will use Python  Django on the backend, Cpanel as manager. &lt;br&gt;
On the client side, maybe a little bootstrap, &lt;a href="//mod-css.com"&gt;MOD-CSS&lt;/a&gt; and the CSS-HTML-JavaScript trio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next ...
&lt;/h2&gt;

&lt;p&gt;In the next post, I will start directly the configuration of the project. If you want to see how to set up CPanel Manager, let me know otherwise I would avoid it. &lt;/p&gt;

&lt;p&gt;So, see you soon&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>saas</category>
    </item>
    <item>
      <title>How to reproduce hover effect on tags dev.to ?</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Wed, 28 Dec 2022 14:09:40 +0000</pubDate>
      <link>https://dev.to/dev_geos/how-to-reproduce-hover-effect-on-tags-devto--52cd</link>
      <guid>https://dev.to/dev_geos/how-to-reproduce-hover-effect-on-tags-devto--52cd</guid>
      <description>&lt;p&gt;Today, while passing through the site, I noticed this effect that occurs when hovering over one of the site's tags (just below the article titles).&lt;br&gt;
I wanted to try to reproduce this effect. I explain below how I did it :&lt;/p&gt;
&lt;h2&gt;
  
  
  1. Use html link with a href
&lt;/h2&gt;

&lt;p&gt;These tags are hypertext links that's why you can click on them and be redirected elsewhere on the site.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;a href="https://dev.to/t/css"&amp;gt;#css&amp;lt;/a&amp;gt;
&amp;lt;a href="https://dev.to/t/beginners"&amp;gt;#beginners&amp;lt;/a&amp;gt;
&amp;lt;a href="https://dev.to/t/programming"&amp;gt;#programming&amp;lt;/a&amp;gt;
&amp;lt;a href="https://dev.to/t/modcss"&amp;gt;#modcss&amp;lt;/a&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. Customize this
&lt;/h2&gt;

&lt;p&gt;In this case, the links are decorated with invisible border, an padding, the text decoration (underline) has been disabled, a color has been applied to the text and a rounded edges effect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; So, it's very important to add a thickness to the border beforehand even if it will be invisible. This avoids moving the other components when hovering over.&lt;/p&gt;

&lt;p&gt;I use &lt;a href="https://mod-css.com/" rel="noopener noreferrer"&gt;MOD-CSS&lt;/a&gt;, a utility to quickly set style and manage states.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;a href="..." :box="tx.de[none] co[#202020] p[.5rem] br[6px] bd[1px solid transparent]"&amp;gt;#css&amp;lt;/a&amp;gt;
&amp;lt;a href="..." :box="tx.de[none] co[#202020] p[.5rem] br[6px] bd[1px solid transparent]"&amp;gt;#beginners&amp;lt;/a&amp;gt;
...

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Meanings&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;text-decoration: tx.de&lt;br&gt;
color: co&lt;br&gt;
border-radius: br&lt;br&gt;
padding: p&lt;br&gt;
border: bd&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  3. Add hover effect
&lt;/h2&gt;

&lt;p&gt;When hovered, the border reappears and the background is colored. Thus, we add a color of border and background.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;a href="//" :box="... &amp;amp;&amp;amp; hover:bg[#e9a8a830] bd.co[#e9a8a8]"&amp;gt;#css&amp;lt;/a&amp;gt;
&amp;lt;a href="//" :box="... &amp;amp;&amp;amp; hover:bg[#e9a8a830] bd.co[#e9a8a8]"&amp;gt;#beginners&amp;lt;/a&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Meanings&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;&amp;amp;&amp;amp; hover : to set properties on hover state&lt;br&gt;
background : bg&lt;br&gt;
border-color: bd.co&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  4. that's all !
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;full code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;a href="https://dev.to/t/css" :box="tx.de[none] co[#202020]
  p[.5rem] br[6px] bd[1px solid transparent] &amp;amp;&amp;amp; hover:bg[#e9a8a830] bd.co[#e9a8a8]"&amp;gt;#css&amp;lt;/a&amp;gt;

&amp;lt;a href="https://dev.to/t/beginners" :box="tx.de[none] co[#202020]
  p[.5rem] br[6px] bd[1px solid transparent] &amp;amp;&amp;amp; hover:bg[#e9a8a830] bd.co[#e9a8a8]"&amp;gt;#beginners&amp;lt;/a&amp;gt;

&amp;lt;a href="https://dev.to/t/programming" :box="tx.de[none] co[#202020] 
  p[.5rem] br[6px] bd[1px solid transparent] &amp;amp;&amp;amp; hover:bg[#e9a8a830] bd.co[#e9a8a8]"&amp;gt;#programming&amp;lt;/a&amp;gt;

&amp;lt;a href="https://dev.to/t/modcss" :box="tx.de[none] co[#202020]
  p[.5rem] br[6px] bd[1px solid transparent] &amp;amp;&amp;amp; hover:bg[#e9a8a830] bd.co[#e9a8a8]"&amp;gt;#modcss&amp;lt;/a&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;You can find snippet on &lt;a href="https://codepen.io/dev-geos/pen/ExpPpxg" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>management</category>
    </item>
    <item>
      <title>What is the perfect Christmas for a Web developer ?</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Sun, 25 Dec 2022 08:29:09 +0000</pubDate>
      <link>https://dev.to/dev_geos/perfect-christmas-of-a-web-developer--52lj</link>
      <guid>https://dev.to/dev_geos/perfect-christmas-of-a-web-developer--52lj</guid>
      <description>&lt;p&gt;Got up early, I'm one of those who took 10 minutes (in theory, but more than this in fact) to check something inside code before starting the day. &lt;br&gt;
It's stronger than me not to let go of my computer 😪.&lt;/p&gt;

&lt;p&gt;And you ? &lt;br&gt;
Merry Christmas 🎄✨️&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Move down effect on hover with a Bootstrap button</title>
      <dc:creator>Dev Geos</dc:creator>
      <pubDate>Tue, 20 Dec 2022 14:10:32 +0000</pubDate>
      <link>https://dev.to/dev_geos/quickly-customize-a-bootstrap-button-2-5f7j</link>
      <guid>https://dev.to/dev_geos/quickly-customize-a-bootstrap-button-2-5f7j</guid>
      <description>&lt;p&gt;Bootstrap is often criticized for its look of his components very similar on the most website. It is therefore common to customize them with CSS.&lt;/p&gt;

&lt;p&gt;If you want to be able to do it quickly, MOD-CSS is for you.&lt;br&gt;
&lt;em&gt;MOD-CSS&lt;/em&gt; is a lightweight framework that allows you to quickly customize your Bootstrap components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example&lt;/strong&gt;, on a button, we'll quickly add a move down effect on hover.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxly9l91sw37y9epsutt1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxly9l91sw37y9epsutt1.gif" alt="button hover" width="689" height="163"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;HTML code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; &amp;lt;button class="btn btn-success" 
  :fx="trn[all .3s ease] &amp;amp;&amp;amp; hover:trf[translateY(10px)]"&amp;gt;
  Hover-me
&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;trn = transition&lt;br&gt;
trf = transform&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Test on codepen &lt;a href="https://codepen.io/dev-geos/pen/XWBJrzg" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is MOD-CSS ?
&lt;/h2&gt;

&lt;p&gt;It is a utility-first and an alternative to Bootstrap and Tailwind.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mod-css.com/" rel="noopener noreferrer"&gt;Mod-css.com&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/modsLabs/mod-css/" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mentorship</category>
      <category>freelance</category>
      <category>career</category>
    </item>
  </channel>
</rss>
