/simple-icons-pwa

An alternative interface to the official Simple Icons website that offers more functions.

Primary LanguageVue

Simple SVG Sprites

An alternative interface for the official Simple Icons website with additional features.

The website uses the official icon set from the GitHub repo.

Features

  • Quickly create a SVG symbol sheet from the Simple Icons icon set.

  • It works as a progressive web app (PWA) and can work in offline mode.

  • Download the icons through an SVG symbol spritesheet or individual files inside of a ZIP file.

Development build

For future references, there is the following table of the dependencies and their version used as of the starting development of the remake.

Dependency Minimum version Notes

Node

8.9.0

Minimum version is based from sass-loader version 8.

In order to set up this repo in the development environment, do the following:

  • Fork the repo into your account.

  • Clone the forked repo into your machine (git clone <FORKED_REPO_URL>).

  • Go to the cloned repo directory (cd <NAME_OF_PROJECT>).

  • Pull the dependencies (npm i).

  • Open the server and build the local version of the site (npm run serve).

Technology overview

  • The project is scaffolded from Vue CLI service.

  • It uses Vue.js for the front-end web components library.

  • It uses Webpack for bundling the app for offline use.

  • It uses Babel for transpiling JS code into older versions for compatability.

  • Uses the official Simple Icons library.

  • Creates the zip files with JSZip.

  • Client-side file generation is made possible with FileSaver.js.

Codebase tour

The codebase is pretty simple.

Here are the files that needs the most attention in no particular order.

File Function Notes

src/constants.js

Contains the constants to be used throughout the app.

src/components/Main.vue

The main component that contains the icon grid, app controls, and the search bar of the single-page website.

src/components/Icon.vue

The icon component. (Very helpful.)

src/components/index.js

The index file that exports the components. Any new components have to be added in this file.