Skip to content

This repository is a SVG images resource based on SVG icons JQuery Mobile 1.4.5 and extended with SVG icons from Wiki Commons. The icons are primary collected for application in menus with e.g. Hamburger Menus like hamburger_menu_app as AppLSAC.

niebert/icons4menu

Repository files navigation

Icons4Menu

This repository is a SVG images resource based on SVG icons JQuery Mobile 1.4.5 and extended with SVG icons from Wiki Commons. The icons are primary collected for menus in webbased application or for icons in buttons.

Usage of Icons4Menu - WebApps

Icons4Menu are generated for the Wikiversity Learning Resource about AppLSAC.

Download of Icons with a Script

REMARK (2023/04/03): Downloading a single icon from the repository is not allowed anymore by GitHub and also the display of single icons via the IMG-tag is not allowed. So updating single icons with a script from this repository does not work. The script wget_icons.sh shows how to update a local set of icons with a script. Modifiy the wget_icons.sh according to your needs, e.g. by modifying the wget command by replacing the https://niebert.github.io/icons4menu either to remote fetch of icons from a server that allows the access to the icons or replace the GitHub-URL to local copy command cp of icons from a repository storage on your local file system. Starting a temporarily a localhost fileserver could combine local storage and server fetch with wget workflow with the self-hosted set of icons as a copy of this repository. With the modified update script the icons can be downloaded from a source web server of your choice or from a centralized storage of your file system. This will reduce also the server traffic for this GitHub repository. So fetch the ZIP file of this icons4menu-repository once and use the selected icons locally or on your webserver of choice:

  • For using the using it with a web server of your choice e.g. https://www.example.com replace in the script https://niebert.github.io/icons4menu by https://www.example.com/icons4menu assuming that the icons4menu repository can be accessed in the server root via https://www.example.com/icons4menu
  • If you want to copy icon sets locally from your local filesystem replace in the wget_icons.sh script wget https://niebert.github.io/icons4menu by a copy command cp /home/myuser/Documents/icons4menue/ and remove the -O option from the script assuming that you store the your local icons4menu copy of the repository at the directory /home/myuser/Documents/icons4menue/
  • wget_icons.sh - which allows fetching all icons and the README and licencing information about the icons. In case you want to use the latest icons added to the repository you should update the wget_icons.sh. If you do not have any of the available icons in the repository it is recommended to download the ZIP-file of the repository for your HTML5-WebApp, because it will reduce the number of server requests for the GitHub-server infrastructure.
  • (All Icons) The download of icons for your WebApp (resp. AppLSAC) can be started from the shell command line with
   sh ./wget_icons.sh
  • (All Icons of Format SVG) the script call of wget_icons.sh downloads the SVG icons of this repository and it is equivalent to the script call:
   sh ./wget_icons.sh svg
  • (All Icons of Format PNG) the script call of wget_icons.sh downloads the SVG icons of this repository and it is equivalent to the script call:
   sh ./wget_icons.sh png
  • (Single Icons of Format SVG) if you want to download a single PNG icon (e.g. video.svg or video-white.svg) you can call the script with the format parameter svg and:
   sh ./wget_icons.sh svg video.svg
   sh ./wget_icons.sh svg video-white.svg
  • (Single Icons of Format PNG) if you want to download a single PNG icon (e.g. video.png or video-white.png) you can call the script with the format parameter png and:
   sh ./wget_icons.sh png video.png
   sh ./wget_icons.sh png video-white.png

Update Icons with the ZIP File

A wget_icons.sh script command should be used for single icon updates from the repository and that creates a server request only for single additional icon you need, that you might not have currently. For a complete repository you can download the ZIP-file of the repository for your HTML5-WebApp, this is just a single server request for all icons (with this you can help to reduce the traffic on network infrastructure and the number of server requests - thank you)

Update the wget_icons.sh Script

Any time new icons are added to the repository icons4menu the script wget_icons.sh is updated as well, because the new icons are added to the list of wget download commands in the script. There is an option to update the wget_icons.sh script to the latest version by downloading the script update_wget_icons.sh. If you want to use the update script, navigate to the folder in which you want to have the icons4menu folder img/ and then download the script with:

  wget https://niebert.github.io/icons4menu/update_wget_icons.sh

Please check the content of the script before executing, so that you are sure that the script does what you expect the script to (i.e. updating the script wget_icons.sh). Then check the content of wget_icons.sh. Performs the script the expected down or do you want to reduce the number of downloaded icons before executing the script wget_icons.sh. If you are sure that the script download all the icons you need, perform the download operation by calling:

  sh ./wget_icons.sh

JSON file json4icons.json and json4icons.js

The JSON file json4icons.json contains a list of all icons with

  • name: filename,
  • path: the path to the icon,
  • license: the license information for the icon,
  • raw: available only for SVG (Scalable Vector Graphics) images. raw contains the raw string content was added to the JSON. This was added for transparent encoding of the SVG and those developers that prefer to use the raw string format in XML for the image can use that. In a browser you can convert
  • src: is the base64 encoded data of the image as Data URL that can used in images in the DOM. The source us either the XML source text of the SVG image or the binary data as base64 encoded data of the image.

The file json4icons.js is a library that populates a hash object vDataJSON defined with var vDataJSON = {}; in the main HTML file that embeds the icons4menu.

  • used is boolean that can be set by an application to reduce the number of icons in the JSON data to the used icons. Set all used icons to true and remove all the unused icons from the JSON to reduce the size of the JSON especially for WebApps (see also AppLSAC on Wikiversity ).

Example Icon Record in json4icons.js

{
    "name": "arrow-r-black.svg",
    "path": "img/icons-svg",
    "used": false,
    "src": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0....",
    "license": "CC0",
    "group": "arrow",
    "raw": "<?xml version=\"1.0\"...",
    "wikicommons": "https://jquerymobile.com/download/"
}

The content in src and raw are shortend so that the record fits into this README page.

JSON File Icons4Menu

The repository contains also a JSON file with all icons of the repository. The JSON file json4icons.json can be used to identify the used icons with NodeJS and delete the unused icons from your img/ folder of your WebApp to save disk space and reduce the size of your WebApp.

Even if you remove icons from your WebApp in the folder img/ you should keep the license file LICENSE_Jquery_Mobile.txt, README.md and README_Icons4Menu.html in that repository for licensing information about the icons.

Preview All Icons4Menu

The listed icons below do not contain the JQuery Mobile 1.4.5 Icons. To preview all icons for navigation menus see

Added Icons from WikiCommons

The following icons are selected from the following SVG-Icons in Wiki Commons. For FontAwesome Icon survey see FontAwesome 4.7.0 for finding the appropriate icon file name.

Load, Save, Print, Cancel, Trash, Settings

Icon File Folder Source File Licence Group
action.svg img/icons-svg JQ-action.svg CC0 main
edit.svg img/icons-svg JQ-edit.svg CC0 main
fa-file-save.svg img/icons-svg Save_font_awesome.svg CCBY3SA main
fa-folder-open.svg img/icons-svg Folder_open_alt_font_awesome.svg CCBY3SA main
fa-hamburger-icon.svg img/icons-svg Reorder_font_awesome.svg CCBY3SA main
fa-print.svg img/icons-svg Print_font_awesome.svg CCBY3SA main
fa-settings.svg img/icons-svg Cog_font_awesome.svg CCBY3SA main
fa-trash.svg img/icons-svg Trash_font_awesome.svg CCBY3SA main
grid.svg img/icons-svg JQ-grid.svg CC0 main
home.svg img/icons-svg JQ-home.svg CC0 main
info.svg img/icons-svg JQ-info.svg CC0 main
mail.svg img/icons-svg JQ-mail.svg CC0 main
shop.svg img/icons-svg JQ-shop.svg CC0 main

Miscellaneous Icons

Icon File Folder Source File Licence Group
alert.svg img/icons-svg JQ-alert.svg CC0 other
bars.svg img/icons-svg JQ-bars.svg CC0 other
bullets.svg img/icons-svg JQ-bullets.svg CC0 other
check.svg img/icons-svg JQ-check.svg CC0 other
clock.svg img/icons-svg JQ-clock.svg CC0 other
cloud.svg img/icons-svg JQ-cloud.svg CC0 other
comment.svg img/icons-svg JQ-comment.svg CC0 other
delete.svg img/icons-svg JQ-delete.svg CC0 other
eye.svg img/icons-svg JQ-eye.svg CC0 other
fa-barcode.svg img/icons-svg Barcode_font_awesome.svg CCBY3SA other
fa-edit.svg img/icons-svg Edit_font_awesome.svg CCBY3SA other
fa-envelope.svg img/icons-svg Envelope_font_awesome.svg CCBY3SA other
fa-globe.svg img/icons-svg Globe_font_awesome.svg CCBY3SA other
fa-harddisk.svg img/icons-svg Font_Awesome_5_solid_hdd.svg CCBY3SA other
fa-language.svg img/icons-svg Language_font_awesome_v5.svg CCBY3SA other
fa-qrcode.svg img/icons-svg Qrcode_font_awesome.svg CCBY3SA other
fa-sort.svg img/icons-svg Sort_font_awesome.svg CCBY3SA other
forward.svg img/icons-svg JQ-forward.svg CC0 other
gear.svg img/icons-svg JQ-gear.svg CC0 other
i4m-avatar-a.svg img/icons-svg Icon4Menu-avatar-a.svg CCBY3SA other
i4m-tree-compose.svg img/icons-svg Icon4Menu-tree-compose.svg CC0 other
i4m-tree-decompose.svg img/icons-svg Icon4Menu-tree-decompose.svg CC0 other
i4m-wiki2reveal-frame.svg img/icons-svg Icon4Menu-wiki2reveal-frame.svg CCBY3SA other
i4m-wiki2reveal.svg img/icons-svg Icon4Menu-wiki2reveal.svg CCBY3SA other
lock.svg img/icons-svg JQ-lock.svg CC0 other
recycle.svg img/icons-svg JQ-recycle.svg CC0 other

Arrow

Icon File Folder Source File Licence Group
arrow-d.svg img/icons-svg JQ-arrow-d.svg CC0 arrow
arrow-l.svg img/icons-svg JQ-arrow-l.svg CC0 arrow
arrow-r.svg img/icons-svg JQ-arrow-r.svg CC0 arrow
arrow-u-l.svg img/icons-svg JQ-arrow-u-l.svg CC0 arrow
arrow-u-r.svg img/icons-svg JQ-arrow-u-r.svg CC0 arrow
arrow-u.svg img/icons-svg JQ-arrow-u.svg CC0 arrow

Audio Player

Icon File Folder Source File Licence Group
audio.svg img/icons-svg JQ-audio.svg CC0 audio
fa-audio-back.svg img/icons-svg Play_font_awesome.svg CCBY3SA audio
fa-audio-backward.svg img/icons-svg Backward_font_awesome.svg CCBY3SA audio
fa-audio-eject.svg img/icons-svg Font_Awesome_5_solid_eject.svg CCBY3SA audio
fa-audio-forward.svg img/icons-svg Forward_font_awesome.svg CCBY3SA audio
fa-audio-pause.svg img/icons-svg Pause_font_awesome.svg CCBY3SA audio
fa-audio-play.svg img/icons-svg Play_font_awesome.svg CCBY3SA audio
fa-audio-record.svg img/icons-svg Circle_font_awesome.svg CCBY3SA audio
fa-audio-stop.svg img/icons-svg Font_Awesome_5_solid_square.svg CCBY3SA audio

Editor

Icon File Folder Source File Licence Group
background-color.svg img/icons-svg JQ-background-color.svg CC0 editor
brush-paint.svg img/icons-svg JQ-brush-paint.svg CC0 editor
fa-copy.svg img/icons-svg Copy_font_awesome.svg CCBY3SA editor
fa-enumeration.svg img/icons-svg Ol_font_awesome.svg CCBY3SA editor
fa-font.svg img/icons-svg Font_Awesome_5_solid_font.svg CCBY3SA editor
fa-list.svg img/icons-svg List_font_awesome.svg CCBY3SA editor
fa-minus-square.svg img/icons-svg Font_Awesome_5_solid_minus-square.svg CCBY3SA editor
fa-paste.svg img/icons-svg Paste_font_awesome.svg CCBY3SA editor
fa-plus-square.svg img/icons-svg Font_Awesome_5_solid_plus-square.svg CCBY3SA editor
i4m-header.svg img/icons-svg Icon4Menu-header.svg CCBY3SA editor
search.svg img/icons-svg JQ-search.svg CC0 editor

Media

Icon File Folder Source File Licence Group
camera.svg img/icons-svg JQ-camera.svg CC0 media
fa-chart-pie.svg img/icons-svg Font_Awesome_5_solid_chart-pie.svg CCBY3SA media
fa-line-chart.svg img/icons-svg Font_Awesome_5_solid_chart-line.svg CCBY3SA media
video.svg img/icons-svg JQ-video.svg CC0 media

Navigation

Icon File Folder Source File Licence Group
carat-d.svg img/icons-svg JQ-carat-d.svg CC0 navigation
carat-l.svg img/icons-svg JQ-carat-l.svg CC0 navigation
carat-r.svg img/icons-svg JQ-carat-r.svg CC0 navigation
carat-u.svg img/icons-svg JQ-carat-u.svg CC0 navigation
i4m-carat-dd.svg img/icons-svg Icon4Menu-carat-dd.svg CCBY3SA navigation
i4m-carat-ll.svg img/icons-svg Icon4Menu-carat-ll.svg CCBY3SA navigation
i4m-carat-rr.svg img/icons-svg Icon4Menu-carat-rr.svg CCBY3SA navigation
i4m-carat-uu.svg img/icons-svg Icon4Menu-carat-uu.svg CCBY3SA navigation
location.svg img/icons-svg JQ-location.svg CC0 navigation
nav-back.svg img/icons-svg JQ-nav-back.svg CC0 navigation
navigation.svg img/icons-svg JQ-navigation.svg CC0 navigation

Vehicle

Icon File Folder Source File Licence Group
cargo-truck.svg img/icons-svg JQ-cargo-truck.svg CC0 vehicle
fa-truck.svg img/icons-svg Truck_font_awesome.svg CCBY3SA vehicle
fa-vr-headset.svg img/icons-svg File:Font_Awesome_5_brands_simplybuilt.svg CCBY3SA vehicle
vehicle-tram.svg img/icons-svg JQ-vehicle-tram.svg CC4SA vehicle

Products and Objects

Icon File Folder Source File Licence Group
fa-book.svg img/icons-svg Book_font_awesome.svg CCBY3SA product
fa-key.svg img/icons-svg Font_Awesome_5_solid_key.svg CCBY3SA product
fa-picture.svg img/icons-svg Picture_font_awesome.svg CCBY3SA product

Device

Icon File Folder Source File Licence Group
fa-camera.svg img/icons-svg Camera_font_awesome.svg CCBY3SA device
fa-laptop.svg img/icons-svg Laptop_font_awesome.svg CCBY3SA device
fa-tablet.svg img/icons-svg Tablet_font_awesome.svg CCBY3SA device
i4m-metronome.svg img/icons-svg Icon4Menu-metronome.svg CCBY3SA device
phone.svg img/icons-svg JQ-phone.svg CC0 device
wc_cc0_smartphone.svg img/icons-svg JQ-wc_cc0_smartphone.svg CC0 device

Action and Processes

Icon File Folder Source File Licence Group
fa-cancel.svg img/icons-svg Remove_font_awesome.svg CCBY3SA action
fa-spinner.svg img/icons-svg Spinner_font_awesome.svg CCBY3SA action
fa-undo.svg img/icons-svg Undo_font_awesome.svg CCBY3SA action
forbidden.svg img/icons-svg JQ-forbidden.svg CC0 action
minus.svg img/icons-svg JQ-minus.svg CC0 action
plus.svg img/icons-svg JQ-plus.svg CC0 action
refresh.svg img/icons-svg JQ-refresh.svg CC0 action
star.svg img/icons-svg JQ-star.svg CC0 action
tag.svg img/icons-svg JQ-tag.svg CC0 action

Filetype

Icon File Folder Source File Licence Group
fa-file-archive.svg img/icons-svg Font_Awesome_5_regular_file-archive.svg CCBY3SA filetype

Login

Icon File Folder Source File Licence Group
fa-signin.svg img/icons-svg Signin_font_awesome.svg CCBY3SA login
fa-signout.svg img/icons-svg Signout_font_awesome.svg CCBY3SA login
power.svg img/icons-svg JQ-power.svg CC0 login
user.svg img/icons-svg JQ-user.svg CC0 login

Medical

Icon File Folder Source File Licence Group
heart.svg img/icons-svg JQ-heart.svg CC0 medical

Create your own Icons

If you want to create your own items you can use

If you want to export the new icon please use the SVG file format. The Scalable Vector Graphics (SVG) defines the image with the Extensible Markup Language as (XML)-based vector image for two-dimensional graphics. The format has the advantage, that increasing the size of the icon does not create pixel effects, because the icon is defined by geometric shapes and not a raster of pixels.

Save the icon with 14x14 pixel for width and height, so that the icon has a standard size for a menu if not additional size attributes are used in CSS or the img-tag itself.

Style Sheets CSS for Icons

The spinner icon is static. You might expect the spinner icon fa-spinner.svg to rotate. This can be accomplish with CSS class definition for a class icon-spin:

  • Add in your CSS file the following styles for the class icon-spin:
.icon-spin {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120px;
    height: 120px;
    margin:-60px 0 0 -60px;
    -webkit-animation:spin 4s linear infinite;
    -moz-animation:spin 4s linear infinite;
    animation:spin 4s linear infinite;
}
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
  • The you can make the icons rotate by adding the icon-spin classname to the icon:
<img class="icon-spin" src="img/icons-svg/fa-spinner.svg" alt="" width="20" height="20">

Scan Icons

Scan Shell Script for images

The shell script scan_icons.sh scans all icons in the subdirectory img/ and creates and HTML file img/index.html and a wget download script, that can be modified for downloading a subset of the images.

Shell Script wget_icons.sh

The shell script wget_icons.sh can be used to download a subset of images. In the provided default version it downloads all icons in this repository.

  • This README.md will also be downloaded and stored in img/README_Icons4Menu.html. Please do not remove this file because it provides a reference to the origin of the files and the corresponding licenses.
  • The JQuery Mobile License is stored in img/LICENSE_Jquery_Mobile.txt. For JQuery Mobile license see file LICENSE_Jquery_Mobile.txt in the repository Icons4Menu.

Use in other SVG Images in other repositories

The script update_wget_icons.sh updates the script wget_icons.sh from the repository icons4menu and replaces the script wget_icons.sh. The script wget_icons.sh can be used to download an updated version of the icons. Please modify the script according to your needs, to download just a subset for your AppLSAC.

If the repository icons4menu is expanded with more icons with a Creative Commons license, that it is recommended to update the download script wget_icons.sh with the following commands:

sh ./update_wget_icons.sh
sh ./wget_icons.sh

The second command downloads the icons. You can help to minimize the GitHub server load by tailoring the script according to your needs.

If you want to check out an example repository on GitHub, that uses the Icons4Menu icons in an AppLSAC analyze the subdirectory img/ in hamburger_menu_app.

Add License Info File

If you use the repository add this README.md file to the WebApp, so that users of web-based applications can identify the origin of the SVG and PNG icons. The repository incorporated SVG and PNG icons with two licenses:

Attribution for Files - File Prefix

If we consider the CC BY-SA 3.0 license provides the freedom to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material for any purpose, even commercially. These two freedoms are also provided for the license CC Zero. Furthermore for all CC BY-SA 3.0 licensed icons an attribution and a share alike requirement is defined (see https://creativecommons.org/licenses/by-sa/3.0/)
  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

The JQuery Mobile 1.4.5 PNG and SVG icons in this repository (i.e. icons without fa- prefix) do not require the "attribution", but it is recommended to provide attribution also to JQuery Mobile 1.4.5 with the CC Zero license for icons without the fa- prefix. Especially for adding more icons in forks of the repository icons4menu the prefix fa- should also be used to distinguish CC Zero licensed icons without fa- prefix from CC BY-SA 3.0 licensed icon that need a file attribution by adding the prefix fa- in the filename.

More than 2 Licenses in Forks of icons4menu with license prefix

If you have more than 2 licenses in your fork of icons4menu you could add a license prefix for all icons, e.g.:

  • cc0-recycle.svg for CC Zero licensed icons from JQuery Mobile 1.4.5,
  • cc3bysa-recycle.svg for CC BY-SA 3.0 licensed icons from Wiki Commons,
  • cc4by-recycle.svg for CC BY 4.0 licensed icons e.g. from an additional source used in the fork of icons4menu.

This allows users to identify the license of the file directly from the filename.

About

This repository is a SVG images resource based on SVG icons JQuery Mobile 1.4.5 and extended with SVG icons from Wiki Commons. The icons are primary collected for application in menus with e.g. Hamburger Menus like hamburger_menu_app as AppLSAC.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published