DEV Community

Iain Freestone
Iain Freestone

Posted on • Originally published at iainfreestone.com

🚀10 Trending projects on GitHub for web developers - 4th December 2020

Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.

1. Super Tiny Icons

Under 1KB each! Super Tiny Icons are miniscule SVG versions of your favourite website and app logos

GitHub logo edent / SuperTinyIcons

Under 1KB each! Super Tiny Icons are miniscule SVG versions of your favourite website and app logos

Super Tiny Icons

Under 1KB each! Super Tiny Web Icons are minuscule SVG versions of your favourite logos. There are currently 373 icons and the average size is under 518 bytes!

The logos have a 512x512 viewbox, they will fit in a circle with radius 256. They will scale up and down to suit your needs.

Say thanks!

Buy me a coffee

How Small?

527 Bytes SVG 3,328 Bytes PNG 352 Bytes SVG 2,987 Bytes PNG 235 Bytes SVG 1,615 Bytes PNG

What's Available so far?

1Password

360 bytes
Acast

402 bytes
Access

349 bytes
ActivityPub

337 bytes
Adobe

220 bytes
Airbnb

356 bytes
Amazon

642 bytes
Amazon Alexa

252 bytes
Amazon Simple Storage Service

527 bytes
Amber Framework

415 bytes
andOTP

253 bytes
Android

372 bytes
AngelList

965 bytes
Angular

317 bytes
Ansible

311 bytes
Apereo Foundation

453 bytes
Apple

354 bytes
Apple Music

490 bytes
Apple Podcasts

940 bytes
Arch Linux

308

2. Highlight.js

Highlight.js is a syntax highlighter written in JavaScript. It works in the browser as well as on the server. It works with pretty much any markup, doesn’t depend on any framework, and has automatic language detection.

GitHub logo highlightjs / highlight.js

JavaScript syntax highlighter with language auto-detection and zero dependencies.

Highlight.js

latest version license install size minified NPM downloads weekly jsDelivr CDN downloads

ci status CodeQL vulnerabilities

discord open issues help welcome issues good first issue

Highlight.js is a syntax highlighter written in JavaScript. It works in the browser as well as on the server. It can work with pretty much any markup, doesn’t depend on any other frameworks, and has automatic language detection.

Contents


Upgrading to Version 11

As always, major releases do contain breaking changes which may require action from users. Please read VERSION_11_UPGRADE.md for a detailed summary of breaking changes and any actions you may need to take.

Support for older versions

Please…


3. jsPDF

Client-side JavaScript PDF generation for everyone.

GitHub logo parallax / jsPDF

Client-side JavaScript PDF generation for everyone.

jsPDF

Continous Integration Code Climate Test Coverage GitHub license Total alerts Language grade: JavaScript Gitpod ready-to-code

A library to generate PDFs in JavaScript.

You can catch me on twitter: @MrRio or head over to my company's website for consultancy.

jsPDF is now co-maintained by yWorks - the diagramming experts.

Install

Recommended: get jsPDF from npm:

npm install jspdf --save
# or
yarn add jspdf
Enter fullscreen mode Exit fullscreen mode

Alternatively, load it from a CDN:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.2/jspdf.umd.min.js"></script>
Enter fullscreen mode Exit fullscreen mode

Or always get latest version via unpkg

<script src="https://unpkg.com/jspdf@latest/dist/jspdf.umd.min.js"></script>
Enter fullscreen mode Exit fullscreen mode

The dist folder of this package contains different kinds of files:

  • jspdf.es.*.js: Modern ES2015 module format.
  • jspdf.node.*.js: For running in Node. Uses file operations for loading/saving files instead of browser APIs.
  • jspdf.umd.*.js: UMD module format. For AMD or script-tag loading.
  • polyfills*.js: Required polyfills for older browsers like Internet Explorer. The es variant simply imports all required polyfills from core-js

4. Cube.js

Cube.js is an open-source analytical API platform. It is primarily used to build internal business intelligence tools or add customer-facing analytics to existing applications.

GitHub logo cube-js / cube

📊 Cube — The Semantic Layer for Building Data Applications

Cube — Semantic Layer for Data Applications

WebsiteGetting StartedDocsExamplesBlogSlackTwitter

npm version GitHub Actions FOSSA Status

Cube is the semantic layer for building data applications. It helps data engineers and application developers access data from modern data stores, organize it into consistent definitions, and deliver it to every application.

Learn more about connecting Cube to data sources and analytics & visualization tools.

Cube was designed to work with all SQL-enabled data sources, including cloud data warehouses like Snowflake or Google BigQuery, query engines like Presto or Amazon Athena, and application databases like Postgres. Cube has a built-in relational caching engine to provide sub-second latency and high concurrency for API requests.

For more details, see the introduction page in our documentation.

Why Cube?

If you are building a data application—such as a business intelligence tool or a customer-facing analytics feature—you’ll probably face the following problems:

  1. SQL code organization. Sooner or later, modeling…





5. React Icons

Include popular icons in your React projects easily with react-icons, which utilizes ES6 imports that allows you to include only the icons that your project is using.

GitHub logo react-icons / react-icons

svg react icons of popular icon packs

React Icons

npm

Include popular icons in your React projects easily with react-icons, which utilizes ES6 imports that allows you to include only the icons that your project is using.

Installation (for standard modern project)

yarn add react-icons
# or
npm install react-icons --save
Enter fullscreen mode Exit fullscreen mode

example usage

import { FaBeer } from "react-icons/fa";

function Question() {
  return (
    <h3>
      Lets go for a <FaBeer />?
    </h3>
  );
}
Enter fullscreen mode Exit fullscreen mode

View the documentation for further usage examples and how to use icons from other packages. NOTE: each Icon package has it's own subfolder under react-icons you import from.

For example, to use an icon from Material Design, your import would be: import { ICON_NAME } from 'react-icons/md';

Installation (for meteorjs, gatsbyjs, etc)

Note This option has not had a new release for some time. More info #593

If your…


6. You-need-to-know-css

CSS tricks for web developers

GitHub logo l-hammer / You-need-to-know-css

💄CSS tricks for web developers~

You-need-to-know-css

CSS tricks web developers need to know

View online

🌏 You-need-to-know-css

Quick start

Several quick start options are available:

  • Clone the repo: https://github.com/l-hammer/You-need-to-know-css.git
  • Install docsify with docsify: npm install docsify-cli -g (or yarn global add docsify-cli)
  • Development run docsify serve
  • Open http://localhost:3000 in your browser.

What's included

translucent-borders multiple-borders inner-rounding
background-position stripes-background ellipse
parallelogram bevel-corners pie-chart
polygon single-projection 不规则投影
毛玻璃效果 文本行斑马条纹 常见的文字效果
环形文字 选择合适的鼠标光标 扩大可点击区域
自定义复选框 自定义单选框 输入框完美居中
通过阴影弱化背景 通过模糊弱化背景 交互式图片对比控件
全背景下等宽内容居中 绝对底部 水平垂直居中
弹性过度 闪烁效果 打字效果
抖动效果 无缝平滑效果 延轨迹平滑效果
自定义文字下划线 提示气泡 自定义滚动条
圣杯布局 双飞翼布局 类订单布局
Flex 布局 1px 线/边 弹跳效果
插入换行 自定义变量 有趣的项目

Contributing PRs

  • 🍴Fork it!
  • 🔀Create your branch: git checkout -b new-branch
  • 🔧Make your changes
  • 📝Commit your changes: git commit -am 'Add some feature'
  • 🚀Push to the branch: git push origin new-branch
  • 🎉Submit a pull request

or submit an issue - any helpful suggestions are welcomed. 😜


This project exists thanks to all the people who contribute.

Donate donate

If you find this project useful, you can buy me a coffee ☕, Thank you! 🙏🏻 🙏 🙏🏿



If you provide your github in the message, it will show up here with a link to your github.

Backers

Thank you to all our backers! 🙏…


7. use-editable

A small React hook to turn elements into fully renderable & editable content surfaces, like code editors, using contenteditable (and magic)

GitHub logo FormidableLabs / use-editable

A small React hook to turn elements into fully renderable & editable content surfaces, like code editors, using contenteditable (and magic)

Use Editable — Formidable, We build the modern web

A small React hook to turn elements into fully renderable & editable content surfaces, like code editors, using contenteditable (and magic)


NPM Version License Minified gzip size

useEditable is a small hook that enables elements to be contenteditable while still being fully renderable. This is ideal for creating small code editors or prose textareas in just 2kB!

It aims to allow any element to be editable while still being able to render normal React elements to it — no innerHTML and having to deal with operating with or rendering to raw HTML, or starting a full editor project from scratch.

Check out the full demo on CodeSandbox with prism-react-renderer!

Usage

First install use-editable alongside react:

yarn add use-editable
# or
npm install --save use-editable
Enter fullscreen mode Exit fullscreen mode

You'll then be able to import useEditable and pass it an HTMLElement ref and an onChange handler.

import React, { useState, useRef } from 'react';
import
Enter fullscreen mode Exit fullscreen mode

8. Atomic Layout

Atomic Layout is a spatial distribution library for React. It uses CSS Grid to define layout areas and render them as React components. This pattern encourages separation of elements and spacing, preventing contextual implementations and boosting maintenance of layouts.

GitHub logo kettanaito / atomic-layout

Build declarative, responsive layouts in React using CSS Grid.

Atomic Layout logo

Discord channel

Atomic Layout is a spatial distribution library for React. It uses CSS Grid to define layout areas and render them as React components. This pattern encourages separation of elements and spacing, preventing contextual implementations and boosting maintenance of layouts.

import React from 'react'
import { Composition } from 'atomic-layout'
// Define layout areas: visual representation
// of what composes a layout, detached from
// what components are actually rendered.
const areasMobile = `
  thumbnail
  header
  footer
`

// Declare responsive changes of your areas.
// Operate in two dimensions, remove areas
// or introduce new ones.
const areasTablet = `
  thumbnail header
  thumbnail footer
`

const Card = ({ title, imageUrl, actions }) => (
  <Composition areas={areasMobile} areasMd={areasTablet} gap={20}>
    {/* Get React components based on provided areas */}
    {(
Enter fullscreen mode Exit fullscreen mode

9. remove.bg API wrapper for Node.js

The awesome remove.bg API is quite easy to use, but it can always be easier - that's where this package comes in.

GitHub logo EddyVerbruggen / remove.bg

A Node.js wrapper for the remove.bg API

remove.bg API wrapper for Node.js

NPM version Downloads Twitter Follow

The AWESOME remove.bg API is quite easy to use, but it can always be easier - that's where this package comes in.

Requirements

Get your API key from the remove.bg website At the moment it's early access, so it may take some time to get yours.

Installation

npm i remove.bg
Enter fullscreen mode Exit fullscreen mode

Examples

Look at the various removeFrom*.ts files in the examples folder, or check out the snippets below.

API

The common input parameters of all three currently supported removeBackgroundFrom* functions are:

Only the apiKey property is mandatory.

Property Type Description
apiKey string The API key you got from the remove.bg website.
size "preview" (same as "small" or "regular"), "full" (same as "4k"), "medium", "hd", "auto" The returned size of the image. The cheaper "preview" option is default, while "auto" uses the highest available resolution (based on image size and

10. Front-End Checklist

The perfect Front-End Checklist for modern websites and meticulous developers

GitHub logo thedaviddias / Front-End-Checklist

🗂 The perfect Front-End Checklist for modern websites and meticulous developers


Front-End Checklist

  Front-End Checklist  


🚨 Currently working on new version of frontendchecklist.io,
feel free to discuss any feature you would like to see. Thanks for your support!


The Front-End Checklist is an exhaustive list of all elements you need to have / to test before launching your website / HTML page to production.

      PRs Welcome           Contributors         Front‑End_Checklist followed         CC0  

  How To UseContributingWebsiteProduct Hunt

Other Checklists:
  🎮 Front-End Performance Checklist💎 Front-End Design Checklist

It is based on Front-End developer's years of experience, with the additions coming from some other open-source checklists.


How to use?

All items in the Front-End Checklist are required for the majority of the projects, but some elements can be omitted or are not essential (in the case of an administration web app, you may not need RSS feed for example). We choose to use 3 levels of flexibility:

Low indicates that the item is recommended but can be…





Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.

If you enjoyed this article you can follow me on Twitter where I regularly post bite size tips relating to HTML, CSS and JavaScript.

Top comments (0)