A component to quickly choose fonts from Google Web Fonts, custom fonts you (the web developer) provide, as well as system fonts.

Overview

Fontpicker jQuery Plugin

A component to quickly choose fonts from Google Web Fonts, custom fonts you (the web developer) provide, as well as system fonts. Lets users easily select and preview a font from Google's large range of free fonts, and optionally select a font weight and font style (normal or italics). This plugin is the successor of the Fontselect jQuery plugin.

Live Demo

Table of contents

Features

  • Quickly preview and select any Google font family.
  • Lazy loading of fonts as they come into view (uses IntersectionObserver)
  • Optionally present system and local fonts (.woff, .ttf) as well.
  • Optionally choose font weight and font style.
  • Find fonts by name, language and category (serif, sans-serif, display, handwriting, monospace).
  • Users can favor fonts (stored in a cookie). Favored fonts are listed in the Favorite fonts section upon re-opening the picker.
  • Remembers users last picked fonts, listing them on top in the Favorite fonts section upon re-opening the picker.
  • Editable sample text (default: The quick brown fox jumps over the lazy dog)
  • Keyboard navigation to the extend that the component can be fully controlled by keyboard only (mouse/touch is optional):
    • Spacebar opens the modal (when input element is focused).
    • Up/Down cursor keys navigate through options.
    • Enter selects on option, double-clicking does too.
    • Esc closes the picker.
    • 1-9 selects a font weight in an active item. 1 = font-weight 100 ... 4 = font-weight 400 ... 9 = font-weight 900.
    • i toggles italics in an active item.
  • Drop-in replacement for a regular input element.

Demo

Live demo.

Getting started

Installation

This is a jQuery plugin, so... make sure you load jQuery before you include this plugin.

With a copy on your server:

<link href="/path/to/dist/jquery.fontpicker.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="/path/to/dist/jquery.fontpicker.min.js"></script>

You can also load it from jsDelivr:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/av01d/[email protected]/dist/jquery.fontpicker.min.css" integrity="sha256-urFh3EMgi9s3j3w+TsAP1TfUQiE0yUZmmLX7JRyvjqE=" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.slim.min.js" integrity="sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/gh/av01d/[email protected]/dist/jquery.fontpicker.min.js" integrity="sha256-+UHNQaPSVoGbGqqvjreSLWm7Zm6k+hQh2lbfwATpQEY=" crossorigin="anonymous"></script>

Usage

To create a font picker, simply run the plugin on a standard html input element.

Syntax

$('input.fonts').fontpicker([options]);
  • options (optional)
    • Type: Object
    • The options for the font picker. See available options.

Example

<input class="fonts">
$('input.fonts').fontpicker({
   lang: 'en',
   variants: true,
   lazyLoad: true,
	showClear: true,
   nrRecents: 3,
   googleFonts: 'Alegreya,Boogaloo,Coiny,Dosis,Emilys Candy,Faster One,Galindo'.split(','),
   localFonts: {
      "Arial": {
         "category": "sans-serif",
         "variants": "400,400i,600,600i"
      },
      "Georgia": {
         "category": "serif",
         "variants": "400,400i,600,600i"
      },
      "Times New Roman": {
         "category": "serif",
         "variants": "400,400i,600,600i"
      },
      "Verdana": {
         "category": "sans-serif",
         "variants": "400,400i,600,600i",
      },
      "Action Man": {},
      "Bauer": {
         "category": "display",
         "variants": "400,400i,600,600i",
         "subsets": "latin-ext,latin"
      },
      "Bubble": {
         "category": "display",
         "variants": "400,400i,600,600i",
         "subsets": "latin-ext,latin"
      }
   },
   localFontsUrl: 'fonts/' // End with a slash!
});

When a user picks a font, the original input element will be filled with the chosen font family name: Alegreya, Arial, Faster One etc. If the variants option has been enabled (it is by default), the font family will be followed by a font-weight and an italics indicator. Some examples:

  • Alegreya:400: Font family Alegreya, font weight 400
  • Alegreya:700: Font family Alegreya, font weight 700
  • Alegreya:700i: Font family Alegreya, font weight 700, italics
  • Faster One:400: Font family Faster One, font weight 400
  • Arial:600i: Font family Arial, font weight 600, italics

back to top

Options

Fontpicker has one argument, an options object that you can customise.

lang

  • Type: String
  • Default: en
  • Options:
    • en: English
    • de: German
    • es: Spanish
    • nl: Dutch

The interface language. If you need a translation in another language: take a look at the dictionaries variable in jquery.fontpicker.js, and send me the translations for your language.

variants

  • Type: Boolean
  • Default: true

With variants: true, users can not only select a font family, but the variant (font weight and font style) of it as well, if applicable. Many fonts in the Google Repository have multiple variants (multiple font weights, normal and italic styles). In this case, the input element will have a value that consists of the chosen font, followed by the font-weight and an italics indicator (see Example).

nrRecents

  • Type: Number
  • Default: 3

The fontpicker component lists the last X fonts the user picked earlier first, in the Favorite fonts section. The nrRecents option defines how many last-picked fonts to remember. Use 0 to not remember any at all.

lazyLoad

  • Type: Boolean
  • Default: true

When the user scrolls the font list, each font is rendered in its own font family. This is accomplished by loading the external font on demand, as soon as the font becomes visible in the list (using an Intersection Observer). The lazyLoad option enables or disables this functionality. If disabled, fonts in the list will no longer be rendered in their own font family.

googleFonts

  • Type: Array
  • Default: All available Google Fonts

An array of Google fonts to present in the font list. Shows all available Google fonts by default. Use false to not show Google Fonts at all.

localFonts

The Google Fonts Repository doesn't always offer enough options. The fontpicker plugin allows you to present custom fonts as well. The local font files have to be in .ttf, .woff, woff2 or otf format, and they should all be put in a single folder, under the document root folder of your site. Something like /fonts/ makes sense. Provide the path to this folder as the localFontsUrl configuration parameter. Use the localFontsType to indicate what font format you use.

  • Type: Object
  • Default:
     "Arial": {
        "category": "sans-serif",
        "variants": "400,400i,600,600i"
     },
     "Courier New": {
        "category": "monospace",
        "variants": "400,400i,600,600i"
     },
     "Georgia": {
        "category": "serif",
        "variants": "400,400i,600,600i"
     },
     "Tahoma": {
        "category": "sans-serif",
        "variants": "400,400i,600,600i"
     },
     "Times New Roman": {
        "category": "serif",
        "variants": "400,400i,600,600i"
     },
     "Trebuchet MS": {
        "category": "sans-serif",
        "variants": "400,400i,600,600i"
     },
     "Verdana": {
        "category": "sans-serif",
        "variants": "400,400i,600,600i",
     }
    

The key of an item is the font family. As mentioned above, make sure that custom (non-system) fonts are available on your webserver, as .woff, .ttf, .woff2 or .otf files (.ttf or .woff are most widely supported across browsers). Make sure the name of the font files matches the font family name used here: "Action Man" -> /fonts/Action Man.[woff|ttf] "Bubble" -> /fonts/Bubble.[woff|ttf]

The value of an item is an object, containing up to 3 properties:

  • category: A String, containing one of serif, sans-serif, display, handwriting, monospace. This allows users to filter fonts by category. If omitted, the font is listed under the other category.
  • variants: A String, containing a comma-separated list of variants available for the font. See example below. If omitted, users cannot pick a variant for this font (the font weight will be 400, the font style will be normal (non italics)).
  • subsets: A String, containing a comma-separated list of language-subsets the font entails. This allows users to filter fonts by language. If omitted, the font can (only) be found under All languages.

Example:

{
   "Arial": {
      "category": "sans-serif",
      "variants": "400,400i,600,600i"
   },
   "Georgia": {
      "category": "serif",
      "variants": "400,400i,600,600i"
   },
   "Times New Roman": {
      "category": "serif",
      "variants": "400,400i,600,600i"
   },
   "Verdana": {
      "category": "sans-serif",
      "variants": "400,400i,600,600i",
   },
   "Action Man": {},
   "Bauer": {
      "category": "display",
      "variants": "400,400i,600,600i",
      "subsets": "latin-ext,latin"
   },
   "Bubble": {
      "category": "display",
      "variants": "400,400i,600,600i",
      "subsets": "latin-ext,latin"
   }
};

localFontsUrl

  • Type: String
  • Default: /fonts/

Path to folder where local fonts are stored (in .woff format). Default: /fonts/. Make sure to end with a slash!

localFontsType

  • Type: String
  • Default: woff

The type of local fonts you have. Either woff, ttf, woff2 or otf.

parentElement

  • Type: String or jQuery object
  • Default: 'body'

Parent element (jQuery selector/element) to attach the font picker to. The default body should suffice in pretty much all cases. Only tinker with this if you know what you're doing.

If you want to use the Fontpicker inside a Bootstrap modal, you need to attach it to the modal instead of the body, to prevent keyboard/mouse focus issues. For example:

$('#font').fontpicker({
   parentElement: '#myModal'
});

showClear

  • Type: Boolean
  • Default: false

When enabled, users can clear/deselect a selected font. A clear icon will be rendered in the font dropdown.

onSelect

  • Type: function
  • Default: undefined

By default, the Fontpicker Plugin calls change on the original input element. This is sufficient in many cases, but sometimes you also need to know whether a local or Google font was selected. That's where the onSelect callback comes in. This callback function is called when the user picks a font. The function is called with a single argument: an object, containing the following members:

  • fontType: Either local or google
  • fontFamily: The font family name (string)
  • fontStyle: Either normal or italic
  • fontWeight: The font weight the user selected (integer).
  • fontSpec: The complete font spec. For example: Arial:400 or Roboto:700i.

debug

  • Type: Boolean
  • Default: false

When enabled, the plugin shows info about fonts being loaded in the console.

back to top

Methods

set font

Programmatically select a font by calling val() on the original input element, then triggering the change event:

// Select 'Geo' font family
$('#font').val('Geo').trigger('change');

or

// Select 'Orbitron' font family, weight 900
$('#font').val('Orbitron:900').triggger('change');

or

// Select 'Open Sans' font family, weight 800, italics
$('#font').val('Open Sans:800i').triggger('change');

You can programmatically clear a selected font like this:

$('#font').val('').trigger('change');

show

Show the font picker manually

$('#font').fontpicker('show');

hide

Hide the font picker manually

$('#font').fontpicker('hide');

destroy

Destroy the font picker, revert element back to original.

$('#font').fontpicker('destroy');

back to top

Browser support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Opera (latest)
  • Edge (latest)
  • Internet Explorer 11

Please note: For Internet Explorer, you must include the intersection-observer polyfill:

<script src="https://cdn.jsdelivr.net/npm/intersection-observer/intersection-observer.js"></script>

You can include this anywhere in your page, either before or after including jquery.fontpicker.js.

back to top

Events

Fontpicker triggers the change event on the original input element when a font is selected. See this example for how this could be used to update the font on the current page.

<input id="font">
$('#font').fontpicker().on('change', function() {
   // Split font into family and weight/style
   var tmp = this.value.split(':'),
      family = tmp[0],
      variant = tmp[1] || '400',
      weight = parseInt(variant,10),
      italic = /i$/.test(variant);

   // Set selected font on body
   var css = {
      fontFamily: "'" + family + "'",
      fontWeight: weight,
      fontStyle: italic ? 'italic' : 'normal'
   };

   console.log(css);
   $('body').css(css);
});

It is not possible to distinguish between local and Google fonts through the change event. Take a look at the onSelect option for an alternative.

back to top

Real world examples

The Fontpicker plugin is used (among others) on the following websites:

back to top

Donations

If you like what I've made here, you can sponsor me with a donation. Thank you so much!

back to top

License

This plugin is released under the MIT license. It is simple and easy to understand and places almost no restrictions on what you can do with the code. More Information

The development of this component was funded by Zygomatic.

back to top

Comments
  • [BUG] Fonts cannot be applied on second page load.

    [BUG] Fonts cannot be applied on second page load.

    The plugin works great on first page load.

    However on second I get the error fontType is not defined.

    I'm not sure if this is some weird issue with caching or what.

    opened by androidacy-user 4
  • allow also ttf as local fonts only not just woff

    allow also ttf as local fonts only not just woff

    currently the list of local files have hardcoded the woff extension onloading. See https://github.com/av01d/fontpicker-jquery-plugin/blob/master/dist/jquery.fontpicker.js#L5400

    but this is not always desired, sometimes we just need to show ttf fonts list and load the ttf files in the browser.

    also all browsers these days support ttf just fine, so loading shouldn't be a problem.

    https://caniuse.com/ttf

    Could you implement that as option?

    opened by gpetrov 3
  • Error on console, regarding getFavorites()

    Error on console, regarding getFavorites()

    Uncaught TypeError: Cannot read property 'undefined' of undefined at Fontpicker.getFavorites (jquery.fontpicker.js?ver=102740:5966) at Fontpicker.toggleModal (jquery.fontpicker.js?ver=102740:5776) at HTMLDivElement.<anonymous> (jquery.fontpicker.js?ver=102740:5994) at HTMLDivElement.dispatch (jquery.min.js?ver=3.5.1:2) at HTMLDivElement.v.handle (jquery.min.js?ver=3.5.1:2)

    When set up with no arguments. e.g. $('#kfontpicker').fontpicker();

    Error appears when click in the input element :-

    <input id="kfontpicker" type="text" />

    The modal pop up appears at the same time as the error.

    Not sure how to cure/debug this - It's pretty much out of the box - I did add a few fonts to favorites (Not sure if you use cookies to store these...)

    opened by RobEarls 3
  • Question: Is it possible to add new fonts dynamically after the page is loaded?

    Question: Is it possible to add new fonts dynamically after the page is loaded?

    I am working on a tool where users would be able to upload a font file with a file input. I have working code to load that font into the browser, but I would like to be able to put that font into the font picker while the user is on the page. I would use the name of the file as the font name. I can't find a good way to add font options to the picker after the picker is loaded the first time. I've tried destroying the picker, adding the font to the localFonts list, then recreating it, but it seems to stay destroyed after I destroy it the first time with $('#font').fontpicker('destroy');

    opened by Nanosplitter 3
  • getFavorites error

    getFavorites error

    Hi. Thanks for the plugin. Whilst implementing I noticed the following error in the console: Uncaught TypeError: Cannot read property 'undefined' of undefined. Full error:

    Uncaught TypeError: Cannot read property 'undefined' of undefined
        at Fontpicker.getFavorites (jquery.fontpicker.js?v6:5688)
        at Fontpicker.toggleModal (jquery.fontpicker.js?v6:5499)
        at HTMLDivElement.<anonymous> (jquery.fontpicker.js?v6:5716)
        at HTMLDivElement.dispatch (jquery-3.4.1.min.js:2)
        at HTMLDivElement.v.handle (jquery-3.4.1.min.js:2)
    
    opened by Ed-Dikotope 3
  • performance enhancement: server side storage of minimal versions of the fonts

    performance enhancement: server side storage of minimal versions of the fonts

    Hello, good work with enhancing the jQuery Fontselect plugin! It has come along quite nicely. The only small issue I can see now is the FOUC, fonts initially load with normal text and then start styling with their own font-family after a few seconds when they have been cached and rendered locally. The only way I have found for overcoming this issue is by storing a minimal version of the fonts locally. This allows to overcome the FOUC. I have accomplished downloading the latest fonts locally using cURL requests and a google fonts API key, you can see an explanation of how I accomplished it here: https://www.bibleget.io/2020/04/released-v5-3-of-the-wordpress-plugin/ And you can see it in action here: https://youtu.be/zqJqU_5UZ5M It would be a nice enhancement to this plugin to add the possibility of integrating server side. I have been using the initial Fontselect plugin by Tom Moor in my project. It would be a nice touch if my server side logic could be integrated into your current Fontpicker plugin.

    opened by JohnRDOrazio 3
  • Modal not opening in IE

    Modal not opening in IE

    Amazing plugin! However, the modal for "select a font" is working on other browsers but it is not opening in IE. I have IE11 installed. Also a suggestion, in addition to favorites, it would be nice for a cookie to store the font and change the site font when the user revisits according to the last user picked font.

    opened by Sumi-Khan 2
  • font spec request

    font spec request

    Dug into the plugin a bit more. It is really awesome. Saved me few hours just when I was about to write my own. Much appreciated.

    I wanted to request, as a part of the font spec, that the font "type", local or google, be returned as a part of the change callback on the input. I have a use case where the type is important, but noticed in the spec that only family:weight:style are being returned. Maybe a method to return an object of the selected font somehow that can be consumed? Instead of just setting the input value.

    Thanks for looking into this.

    opened by Ed-Dikotope 2
  • french translation

    french translation

    here is french translation, thanks for your work !

    			'fr': {
    				'selectFont': 'Selectionner une police',
    				'search': 'Rechercher',
    				'allLangs': 'Toutes les langues',
    				'favFonts': 'Polices favorites',
    				'localFonts': 'Polices locales',
    				'googleFonts': 'Polices Google',
    				'select': 'Selectionner',
    				'styles': 'Styles',
    				'sampleText': 'Le vif renard brun saute par-dessus le chien paresseux.',
    				'sampleTextEditable': 'Texte d\'exemple, éditable'
    			},
    
    opened by r043v 1
  • The font family does not change after select one of the bold value

    The font family does not change after select one of the bold value

    First select a font family with variant. Ex: google font Robot 400. We can see the select box value changing. But if I click on select box and select same font with different variant it does not change. To select different variant of same font, we have to first select a different font family and after change, select that previous font family with different variant.

    opened by samanthush 1
  • Not able to load local fonts that have same name as google fonts

    Not able to load local fonts that have same name as google fonts

    Use case:

    1. Font picker is defined with local fonts only, no google or system fonts, --> googleFonts: false,
    2. User saves a "project" with various text elements, fonts have been selected with this plugin.
    3. User reloads page.
    4. User clicks on an existing text element.

    Expected result: $("#font").val(f).trigger("change"); is called and the font picker displays the element's current font.

    Actual result: "Uncaught TypeError: Cannot read property 'variants' of undefined. jquery.fontpicker.js:5128 "

    Line 5128 shows this: var url = 'https://fonts.googleapis.com/css?family=' + font.replace(/ /g,'+') + ':' + this.options.googleFonts[font].variants + '&display=swap';

    Upon further inspection I found that this was only happening with local fonts that also appear on the google fonts list with exactly the same name. Specific fonts I had trouble with were Roboto, Cabin, and Quicksliver. Fonts that do not appear on the google fonts list do not throw this error, and work as expected.

    Current work around: Rename the font files; for example I renamed Roboto to Roboto-Regular and this fixed the error. Another solution is to open the font picker modal to force the fonts to load. These solutions seems hacky to me. Furthermore, I don't think I should have to implement onSelected to differentiate types when googleFonts is set to false.

    opened by ol-cheesebeard 1
  • Hosting Fonts Locally?

    Hosting Fonts Locally?

    Some Google fonts have issues rendering css webkit text stroke and as I understand it the solution is to use the static version of the font rather than the variable one. Is this possible with this plugin? (Great plugin BTW!) If I understand this correctly I think this means hosting the fonts locally, but maybe I am missing the point there.

    opened by TheCraig 0
  • Suggestion: What about selecting multiple font weights?

    Suggestion: What about selecting multiple font weights?

    First of all I would like to say that this tool is fantastic and looks exactly perfect for my use case: integrating a great font chooser in a WordPress Theme.

    Regarding Google Fonts usage, it can be useful to load more than one variant, so that you can have the right font both for normal text, and for bolded text.

    What I am proposing here is, what about a flag that could enable selection of multiple font variants, instead of only one at a time?

    Thank you so much for your time. I beg you pardon if I haven't obeyed to some rule here - it's my first issue open on GH :)

    opened by jeff-at-livecanvas 7
Releases(1.5)
Owner
Arjan Haverkamp
Creating (mobile) web applications is what I do. PHP, HTML5, CSS3, Javascript & jQuery, FabricJS, MySQL, I18N and security is what I'm good at.
Arjan Haverkamp
The Frontend of Escobar's Inventory Management System, Employee Management System, Ordering System, and Income & Expense System

Usage Create an App # with npx $ npx create-nextron-app my-app --example with-javascript # with yarn $ yarn create nextron-app my-app --example with-

Viver Bungag 4 Jan 2, 2023
Google-Drive-Directory-Index | Combining the power of Cloudflare Workers and Google Drive API will allow you to index your Google Drive files on the browser.

?? Google-Drive-Directory-Index Combining the power of Cloudflare Workers and Google Drive will allow you to index your Google Drive files on the brow

Aicirou 127 Jan 2, 2023
This simple project aims to connect to an API to fetch score data and display it on a LeaderBoard box, as well as provide the tool to submit a new score.

Leader Board: Hit the API! This simple project aims to connect to an API to fetch score data and display it on a LeaderBoard box, as well as provide t

Andrés Felipe Arroyave Naranjo 12 Apr 6, 2022
Choose your next JavaScript framework based on the features you need.

Astro Starter Kit: Minimal npm init astro -- --template minimal ??‍?? Seasoned astronaut? Delete this file. Have fun! ?? Project Structure Inside of

@whitep4nth3r 27 Nov 19, 2022
Kuldeep 2 Jun 21, 2022
Tired of boring balena device names? Why not let us choose!

name-block A balenaBlock for fun device renaming Highlights Bored of your device names?: Let this block rename them for you! Loads of categories: From

Alex Bucknall 3 Dec 20, 2021
"Choose your Pokemon" is a Webpack project meant to fetch data from two different APIs: PokéAPI and Involvement API

"Choose your Pokemon" is a Webpack project meant to fetch data from two different APIs: PokéAPI and Involvement API. Here we display a list of 20 Pokemons for whom one can like, display more info, and comment; all based on the data from these two external resources.

Carlos HerverSolano 19 Mar 31, 2022
to choose the best one of Gcore‘IPs for connection with lowest latency.

GcoreCDNIPSelector to choose the best IP from Gcore-CDN to reach the lowest latency and stable connections. Background Gcore's CDN provide a smooth ex

Bruce 6 Nov 5, 2022
Ready to manipulate partitions file? Create a custom partition, apply custom security system, hide the partition and share your hidden data on the www

Paranoia ?? Ready to manipulate partitions file? Create a custom partition, apply custom security system, hide the partition and share your hidden dat

Alice Snow 3 Dec 29, 2022
RWP stands for Roblox web panel, it's a code snippet that you can run via developer console or the provided Google Chrome extension to try out early

RWP stands for Roblox web panel, it's a code snippet that you can run via developer console or the provided Google Chrome extension to try out early Roblox site features before they're officially out without any programming experience.

null 10 Nov 28, 2022
Privacy-focused Google Fonts alternative

Privacy-focused Google Fonts CDN alternative I wrote it in an hour, so please report bugs here. Several improvements could be made here and there, so

coolLabs 245 Dec 27, 2022
Custom alert box using javaScript and css. This plugin will provide the functionality to customize the default JavaScript alert box.

customAlertBoxPlugin Custom Alert Box Plugin Using JavaScript and CSS Author: Suraj Aswal Must Include CSS Code/Default Custom Alert Box Class: /* mus

Suraj Aswal 17 Sep 10, 2022
A landing page, as well as a results page, that utliize both Yelp API and Google Maps API.

Economic Eats Group Project #1 Maintained By: Austin Donovan John Hysong John Guzzetta Jahnathan Exantus Description This project contains a landing p

John Guzzetta IV 7 Aug 4, 2022
Read without losing the plot. Well Read helps you organize your notes about books you're reading, so you're never lost when starting a new volume.

Well Read Well Read is a website for tracking your reading of long book series. I made this to track how many pages I read in a session and to better

null 3 Dec 15, 2022
Modern Spatial Reference System Class. Supports EPSG Codes, PROJ4 String, and Well-Known Text.

spatial-reference-system Modern Spatial Reference System Class. supports EPSG Codes PROJ4 Strings ESRI and OGC Well-Known Text PRJ File install npm in

Daniel J. Dufour 6 Jul 22, 2022
Evolve is an online investment portfolio management system where users can keep track of all the assets that they have invested in and how well their assets are performing.

Evolve is an online investment portfolio management system where users can keep track of all the assets that they have invested in and how well their assets are performing.

Indrajit 6 Oct 16, 2022
The brand new @shopify/flash-list high performance list component can be used on TV as well as on phones!

FlashListTV The brand new @shopify/flash-list high performance list component can be used on TV as well as on phones! Quick start: Clone this repo Cha

Douglas Lowder 4 Oct 27, 2022
Git Frameworker is a CLI tool for quickly bootstrapping custom framework configurations.

Git Frameworker Git Frameworker is a tool that allows you to quickly bootstrap a project using a framework from GitHub. If the repository you clone co

Guilherme Marcondes 6 May 3, 2023
Custom Gutenburg blocks to add custom functionalities to your WordPress site. Brought to you by Arif Khan with <3

Gutpress(WordPress Gutenburg Block Plugin) Custom Gutenburg blocks to add custom functionalities to your WordPress site. Brought to you by Arif Khan w

Arif Khan 4 Nov 23, 2022