djula
svgr
Our great sponsors
djula | svgr | |
---|---|---|
1 | 28 | |
132 | 9,684 | |
- | - | |
3.6 | 8.0 | |
about 2 months ago | 23 days ago | |
Common Lisp | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
djula
-
Using SVGs in Common Lisp web apps with Djula
In this post, we are going to take a look at how to use SVG content or embed SVGs inside your HTML with the Djula templating engine in a Common Lisp web application.
svgr
- How do I use SVG icons in React?
-
One way of building an SVG icon library for your project
Really interesting framework agnostic approach, but I think SVGR is a better option for my React homies. It imports an SVG file as a React component. Shouts also to react-icons if Font Awesome, Material Icons and friends are more your bag.
-
Alternative libs to migrate from React to Vue (or Vue to React)
SVGR
-
Power up SVGs with React and CSS
There is another way to import an SVG in Create React App, though. We can import the SVG as a ReactComponent. This is because CRA leverages SVGR to process SVGs.
-
Создаем React-компоненты иконок с помощью Figma API и SVGR. Часть 2.
const { types } = require('@babel/core'); module.exports = { ... template: function svgrCustomTemplate( { imports, interfaces, componentName, props, jsx, exports }, { tpl } ) { // меняем корневой элемент на SvgIcon jsx.openingElement.name.name = 'SvgIcon'; jsx.closingElement.name.name = 'SvgIcon'; // https://github.com/gregberge/svgr/issues/530 // при изменении корневого элемента пропадает спред пропсов // поэтому необходимо добавить спред пропсов самостоятельно jsx.openingElement.attributes.push( types.jSXSpreadAttribute(types.identifier('props')) ); return tpl` ${imports}; import { SvgIcon } from '../SvgIcon'; ${interfaces}; const ${componentName} = (${props}) => ( ${jsx} ); ${exports}; ` } }
-
Using SVGs in Common Lisp web apps with Djula
To solve these problems and have a better development workflow, I have created a package called cl-djula-svg which automates all the above steps for you. The inspiration for this package came from svgr which exactly does the same thing in React applications. It takes a SVG file, process some override logic, optimize it and create React wrapper components based on the SVG content.
-
Some svg icons wont show with react native svg
I normally use SVGR but every time a designer sends me an svg i’ll pass it in svgOmg that deletes all the unnecessary attributes and propietary code from figma, illustrator &co.
- External SVGs that you can style
-
How to debug from this error statement
https://github.com/gregberge/svgr/issues/362 this may help as well.
-
Repeating variable names for imports, types and switch. Got to be a better way!
If you're using Webpack, CRA, or Next.js, you should be using SVGR.
What are some alternatives?
svg-sprite-loader - Webpack loader for creating SVG sprites.
vite-plugin-svgr - Vite plugin to transform SVGs into React components
svgo - ⚙️ Node.js tool for optimizing SVG files
esbuild - An extremely fast bundler for the web
raw-loader - A loader for webpack that allows importing files as a String
vite-plugin-svg-icons - Vite Plugin for fast creating SVG sprites.
rollup-plugin-visualizer - 📈⚖️ Visuallize your bundle
blog-series-nextjs-nx - Source code for the Next.js + Nx blog series
Konva - Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.
workerize-loader - 🏗️ Automatically move a module into a Web Worker (Webpack loader)
framer/motion - Open source, production-ready animation and gesture library for React
tsconfig-paths-webpack-plugin - Load modules according to tsconfig paths in webpack.