├── .gitignore ├── test ├── octicons │ ├── octicons │ │ ├── octicons.eot │ │ ├── octicons.ttf │ │ ├── octicons.woff │ │ ├── octicons-local.ttf │ │ ├── README.md │ │ ├── octicons.css │ │ ├── sprockets-octicons.scss │ │ └── octicons.less │ ├── svg │ │ ├── dash.svg │ │ ├── playback-play.svg │ │ ├── primitive-square.svg │ │ ├── triangle-down.svg │ │ ├── zap.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left.svg │ │ ├── arrow-right.svg │ │ ├── arrow-up.svg │ │ ├── color-mode.svg │ │ ├── triangle-up.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-up.svg │ │ ├── plus.svg │ │ ├── triangle-left.svg │ │ ├── arrow-small-right.svg │ │ ├── check.svg │ │ ├── playback-pause.svg │ │ ├── triangle-right.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up.svg │ │ ├── jump-down.svg │ │ ├── jump-up.svg │ │ ├── move-up.svg │ │ ├── jump-left.svg │ │ ├── jump-right.svg │ │ ├── move-down.svg │ │ ├── playback-rewind.svg │ │ ├── move-left.svg │ │ ├── move-right.svg │ │ ├── playback-fast-forward.svg │ │ ├── mail-reply.svg │ │ ├── three-bars.svg │ │ ├── inbox.svg │ │ ├── x.svg │ │ ├── code.svg │ │ ├── milestone.svg │ │ ├── heart.svg │ │ ├── pencil.svg │ │ ├── ruby.svg │ │ ├── sign-out.svg │ │ ├── star.svg │ │ ├── versions.svg │ │ ├── comment.svg │ │ ├── link-external.svg │ │ ├── mute.svg │ │ ├── primitive-dot.svg │ │ ├── file-symlink-file.svg │ │ ├── file-text.svg │ │ ├── home.svg │ │ ├── quote.svg │ │ ├── file-code.svg │ │ ├── alignment-unalign.svg │ │ ├── gist.svg │ │ ├── pulse.svg │ │ ├── stop.svg │ │ ├── location.svg │ │ ├── alignment-align.svg │ │ ├── graph.svg │ │ ├── list-unordered.svg │ │ ├── split.svg │ │ ├── alignment-aligned-to.svg │ │ ├── mail.svg │ │ ├── mirror.svg │ │ ├── sign-in.svg │ │ ├── diff.svg │ │ ├── file-media.svg │ │ ├── file-directory.svg │ │ ├── ellipsis.svg │ │ ├── gist-secret.svg │ │ ├── terminal.svg │ │ ├── settings.svg │ │ ├── diff-removed.svg │ │ ├── file-binary.svg │ │ ├── unfold.svg │ │ ├── browser.svg │ │ ├── diff-ignored.svg │ │ ├── fold.svg │ │ ├── diff-renamed.svg │ │ ├── horizontal-rule.svg │ │ ├── podium.svg │ │ ├── screen-full.svg │ │ ├── screen-normal.svg │ │ ├── file-zip.svg │ │ ├── list-ordered.svg │ │ ├── diff-modified.svg │ │ ├── pin.svg │ │ ├── flame.svg │ │ ├── device-desktop.svg │ │ ├── diff-added.svg │ │ ├── file-symlink-directory.svg │ │ ├── briefcase.svg │ │ ├── clock.svg │ │ ├── comment-discussion.svg │ │ ├── issue-opened.svg │ │ ├── lock.svg │ │ ├── question.svg │ │ ├── git-commit.svg │ │ ├── alert.svg │ │ ├── tag.svg │ │ ├── eye.svg │ │ ├── info.svg │ │ ├── mail-read.svg │ │ ├── rss.svg │ │ ├── beer.svg │ │ ├── repo-force-push.svg │ │ ├── markdown.svg │ │ ├── repo-push.svg │ │ ├── repo.svg │ │ ├── key.svg │ │ ├── search.svg │ │ ├── bookmark.svg │ │ ├── credit-card.svg │ │ ├── device-mobile.svg │ │ ├── circle-slash.svg │ │ ├── link.svg │ │ ├── mortar-board.svg │ │ ├── package.svg │ │ ├── file-pdf.svg │ │ ├── keyboard.svg │ │ ├── repo-pull.svg │ │ ├── file-submodule.svg │ │ ├── history.svg │ │ ├── thumbsup.svg │ │ ├── issue-closed.svg │ │ ├── thumbsdown.svg │ │ ├── clippy.svg │ │ ├── no-newline.svg │ │ ├── microscope.svg │ │ ├── jersey.svg │ │ ├── steps.svg │ │ ├── repo-forked.svg │ │ ├── calendar.svg │ │ ├── person.svg │ │ ├── git-compare.svg │ │ ├── git-branch.svg │ │ ├── hourglass.svg │ │ ├── sync.svg │ │ ├── issue-reopened.svg │ │ ├── git-pull-request.svg │ │ ├── telescope.svg │ │ ├── hubot.svg │ │ ├── broadcast.svg │ │ ├── server.svg │ │ ├── law.svg │ │ ├── repo-clone.svg │ │ ├── trashcan.svg │ │ ├── checklist.svg │ │ ├── light-bulb.svg │ │ ├── gear.svg │ │ ├── squirrel.svg │ │ ├── rocket.svg │ │ ├── book.svg │ │ ├── unmute.svg │ │ ├── tools.svg │ │ ├── database.svg │ │ ├── megaphone.svg │ │ ├── git-merge.svg │ │ ├── paintcan.svg │ │ ├── device-camera.svg │ │ ├── circuit-board.svg │ │ ├── cloud-download.svg │ │ ├── cloud-upload.svg │ │ ├── gift.svg │ │ ├── octoface.svg │ │ ├── mark-github.svg │ │ ├── mention.svg │ │ ├── device-camera-video.svg │ │ ├── dashboard.svg │ │ ├── organization.svg │ │ ├── plug.svg │ │ ├── bug.svg │ │ ├── radio-tower.svg │ │ ├── globe.svg │ │ ├── logo-github.svg │ │ └── puzzle.svg │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE.txt │ ├── package.json │ ├── bower.json │ ├── .bower.json │ └── README.md ├── octicon2 │ ├── module1 │ │ └── svg │ │ │ ├── submodule │ │ │ ├── arrow-right.svg │ │ │ └── arrow-right2.svg │ │ │ ├── submodule2 │ │ │ └── arrow-left.svg │ │ │ └── alignment-align.svg │ ├── octicon2.font.json │ └── module2 │ │ └── svg │ │ └── alignment-aligned-to.svg ├── octicons-json.font.json ├── octicons.font.js ├── run.js ├── webpack.config.js └── entry.js ├── package.json ├── README.md └── index.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | test/build/ 3 | test/bundle.js 4 | -------------------------------------------------------------------------------- /test/octicons/octicons/octicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonsInn/fontgen-loader/HEAD/test/octicons/octicons/octicons.eot -------------------------------------------------------------------------------- /test/octicons/octicons/octicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonsInn/fontgen-loader/HEAD/test/octicons/octicons/octicons.ttf -------------------------------------------------------------------------------- /test/octicons/octicons/octicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonsInn/fontgen-loader/HEAD/test/octicons/octicons/octicons.woff -------------------------------------------------------------------------------- /test/octicons/octicons/octicons-local.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonsInn/fontgen-loader/HEAD/test/octicons/octicons/octicons-local.ttf -------------------------------------------------------------------------------- /test/octicons/svg/dash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/playback-play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/primitive-square.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/triangle-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/zap.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/color-mode.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/triangle-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/triangle-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/playback-pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/triangle-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/jump-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/jump-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/move-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicon2/module1/svg/submodule/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicon2/module1/svg/submodule/arrow-right2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicon2/module1/svg/submodule2/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicon2/octicon2.font.json: -------------------------------------------------------------------------------- 1 | { 2 | "fontName" : "octicon2", 3 | "files" : [ 4 | "./**/svg/**/*.svg" 5 | ], 6 | "baseClass" : "octicon2", 7 | "classPrefix" : "octicon2-" 8 | } 9 | -------------------------------------------------------------------------------- /test/octicons/svg/jump-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/jump-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/move-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/playback-rewind.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/move-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/move-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/playback-fast-forward.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/mail-reply.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/three-bars.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons-json.font.json: -------------------------------------------------------------------------------- 1 | { 2 | "fontName" : "Octicons-json", 3 | "files" : [ 4 | "./octicons/svg/*.svg" 5 | ], 6 | "baseClass" : "octicon-json", 7 | "classPrefix" : "octicon-json-" 8 | } 9 | -------------------------------------------------------------------------------- /test/octicons/svg/inbox.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons.font.js: -------------------------------------------------------------------------------- 1 | var glob = require("glob").sync; 2 | 3 | module.exports = { 4 | fontName: "Octicons", 5 | files: glob("./octicons/svg/*.svg"), 6 | baseClass: "octicon", 7 | classPrefix: "octicon-" 8 | }; 9 | -------------------------------------------------------------------------------- /test/octicons/octicons/README.md: -------------------------------------------------------------------------------- 1 | If you intend to install Octicons locally, install `octicons-local.ttf`. It should appear as “github-octicons” in your font list. It is specially designed not to conflict with GitHub's web fonts. 2 | -------------------------------------------------------------------------------- /test/octicons/svg/code.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/milestone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/heart.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/pencil.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/ruby.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/sign-out.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/star.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/versions.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/comment.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/link-external.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/mute.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/primitive-dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 2.2.0 (Feb 18, 2015) 2 | - Add two new icons: `thumbsup` and `thumbsdown` 3 | 4 | ## 2.0.1 (June 16, 2014) 5 | 6 | - Add mention of github.com/logos to the license 7 | 8 | ## 2.0.0 (June 16, 2014) 9 | 10 | - Hello world 11 | -------------------------------------------------------------------------------- /test/octicons/svg/file-symlink-file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/home.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/quote.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-code.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/alignment-unalign.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/gist.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/pulse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/stop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/location.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/alignment-align.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/graph.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/list-unordered.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/split.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | The contents of */octicons* */svg* are generated by an automated process. Changes to these files may be accepted, but may also be overwritten. 2 | 3 | Octicons is GitHub's icon font. At this time, new icons will only add icons when they are needed for GitHub products. 4 | -------------------------------------------------------------------------------- /test/octicons/svg/alignment-aligned-to.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicon2/module1/svg/alignment-align.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/mail.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicon2/module2/svg/alignment-aligned-to.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/mirror.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/sign-in.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/diff.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-media.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-directory.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/ellipsis.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/gist-secret.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/terminal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/settings.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/diff-removed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-binary.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/unfold.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/LICENSE.txt: -------------------------------------------------------------------------------- 1 | (c) 2012-2015 GitHub 2 | 3 | When using the GitHub logos, be sure to follow the GitHub logo guidelines (https://github.com/logos) 4 | 5 | Font License: SIL OFL 1.1 (http://scripts.sil.org/OFL) 6 | Applies to all font files 7 | 8 | Code License: MIT (http://choosealicense.com/licenses/mit/) 9 | Applies to all other files 10 | -------------------------------------------------------------------------------- /test/octicons/svg/browser.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/diff-ignored.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/fold.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/diff-renamed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/horizontal-rule.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/podium.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/screen-full.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/screen-normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-zip.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/list-ordered.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/diff-modified.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/pin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/flame.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/device-desktop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/diff-added.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-symlink-directory.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/briefcase.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/clock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/comment-discussion.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/issue-opened.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/lock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/question.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/git-commit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/alert.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/tag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/eye.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/info.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/mail-read.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/rss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/run.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | var WebpackDevServer = require('webpack-dev-server'); 3 | var webpack = require('webpack'); 4 | 5 | var config = require("./webpack.config.js"); 6 | 7 | var compiler = webpack(config); 8 | var server = new WebpackDevServer(compiler, { 9 | contentBase: path.resolve(__dirname), 10 | publicPath: '/', 11 | stats: { 12 | colors: true 13 | } 14 | }); 15 | 16 | server.listen(8012); 17 | -------------------------------------------------------------------------------- /test/octicons/svg/beer.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/repo-force-push.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/markdown.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/repo-push.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/repo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/key.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/bookmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/credit-card.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/device-mobile.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/circle-slash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/mortar-board.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/package.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-pdf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/keyboard.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/repo-pull.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/file-submodule.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/history.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/thumbsup.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/issue-closed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/thumbsdown.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/clippy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/no-newline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/microscope.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/jersey.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/steps.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/webpack.config.js: -------------------------------------------------------------------------------- 1 | var path = require('path'); 2 | module.exports = { 3 | context: path.resolve(__dirname), 4 | entry: "./entry.js", 5 | output: { 6 | filename: "bundle.js", 7 | path: path.join(__dirname, 'build') 8 | }, 9 | module: { 10 | loaders: [ 11 | { 12 | test: /\.font\.(js|json)$/, 13 | loader: "style!css!" + require.resolve("../") 14 | }, { 15 | test: /\.(woff|eot|ttf|svg)$/, 16 | loader: "url" 17 | } 18 | ] 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /test/octicons/svg/repo-forked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "octicons", 3 | "version": "2.2.2", 4 | "description": "GitHub's icon font", 5 | "main": "README.md", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/github/octicons.git" 9 | }, 10 | "keywords": [ 11 | "GitHub", 12 | "icons", 13 | "font", 14 | "web font", 15 | "icon font" 16 | ], 17 | "author": "GitHub ", 18 | "license": "SIL OFL 1.1, MIT", 19 | "bugs": { 20 | "url": "https://github.com/github/octicons/issues" 21 | }, 22 | "homepage": "https://octicons.github.com" 23 | } 24 | -------------------------------------------------------------------------------- /test/octicons/svg/calendar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/person.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/git-compare.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/git-branch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/hourglass.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/sync.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "octicons", 3 | "description": "GitHub's icon font", 4 | "license": "SIL OFL 1.1, MIT", 5 | "homepage": "https://octicons.github.com", 6 | "authors": [ 7 | "GitHub " 8 | ], 9 | "main": [ 10 | "octicons/sprockets-octicons.scss", 11 | "octicons/octicons.eot", 12 | "octicons/octicons.svg", 13 | "octicons/octicons.ttf", 14 | "octicons/octicons.woff" 15 | ], 16 | "keywords": [ 17 | "GitHub", 18 | "icons", 19 | "font", 20 | "web font", 21 | "icon font" 22 | ], 23 | "ignore": [ 24 | "**/.*", 25 | "bower_components" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /test/octicons/svg/issue-reopened.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/git-pull-request.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/telescope.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/hubot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/broadcast.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/server.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/entry.js: -------------------------------------------------------------------------------- 1 | require("./octicons.font"); 2 | require("./octicon2/octicon2.font"); 3 | require("./octicons-json.font"); 4 | 5 | document.write(' '); 6 | document.write(' '); 7 | document.write(' '); 8 | document.write(' '); 9 | document.write(' '); 10 | document.write(' '); 11 | document.write(' '); 12 | document.write(' '); 13 | 14 | -------------------------------------------------------------------------------- /test/octicons/svg/law.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/repo-clone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/trashcan.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/checklist.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/light-bulb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/gear.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/squirrel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/rocket.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/book.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/unmute.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/tools.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/database.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/megaphone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fontgen-loader", 3 | "version": "0.2.1", 4 | "description": "A WebPack loader to automaticaly generate font files and CSS to make your own icon font", 5 | "repository": "DragonsInn/fontgen-loader", 6 | "main": "index.js", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "keywords": [ 11 | "font", 12 | "webfont", 13 | "iconfont", 14 | "web", 15 | "icon", 16 | "generator", 17 | "webpack", 18 | "loader" 19 | ], 20 | "author": "Ingwie Phoenix ", 21 | "license": "MIT", 22 | "dependencies": { 23 | "loader-utils": "^0.2.10", 24 | "webfonts-generator": "^0.3.2", 25 | "glob": "^6.0.2" 26 | }, 27 | "devDependencies": { 28 | "css-loader": "^0.15.1", 29 | "file-loader": "^0.8.4", 30 | "node-libs-browser": "^0.5.2", 31 | "style-loader": "^0.12.3", 32 | "url-loader": "^0.5.6", 33 | "webpack": "^1.9.11" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /test/octicons/svg/git-merge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/paintcan.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "octicons", 3 | "description": "GitHub's icon font", 4 | "license": "SIL OFL 1.1, MIT", 5 | "homepage": "https://octicons.github.com", 6 | "authors": [ 7 | "GitHub " 8 | ], 9 | "main": [ 10 | "octicons/sprockets-octicons.scss", 11 | "octicons/octicons.eot", 12 | "octicons/octicons.svg", 13 | "octicons/octicons.ttf", 14 | "octicons/octicons.woff" 15 | ], 16 | "keywords": [ 17 | "GitHub", 18 | "icons", 19 | "font", 20 | "web font", 21 | "icon font" 22 | ], 23 | "ignore": [ 24 | "**/.*", 25 | "bower_components" 26 | ], 27 | "version": "2.2.2", 28 | "_release": "2.2.2", 29 | "_resolution": { 30 | "type": "version", 31 | "tag": "v2.2.2", 32 | "commit": "14ab7c362b76bd066ccf37e126bf4e34a9fcde74" 33 | }, 34 | "_source": "git://github.com/github/octicons.git", 35 | "_target": "~2.2.2", 36 | "_originalSource": "octicons", 37 | "_direct": true 38 | } -------------------------------------------------------------------------------- /test/octicons/svg/device-camera.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/circuit-board.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/cloud-download.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/cloud-upload.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/gift.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/octoface.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/mark-github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/mention.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/device-camera-video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/dashboard.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/organization.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/plug.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/bug.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/radio-tower.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/globe.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/svg/logo-github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/octicons/README.md: -------------------------------------------------------------------------------- 1 | # Octicons! 2 | 3 | This is the [Bower][bower] package for [GitHub Octicons][octicons]. 4 | 5 | ## Add Octicons to your project 6 | 7 | 1. Create a new file called *bower.json* (if you don't have one already). 8 | 9 | 2. Add a new line for the Octicon dependency, pointing to the correct repository: 10 | 11 | ``` json 12 | { 13 | "name": "my_great_project", 14 | "dependencies": { 15 | "octicons": "*" 16 | } 17 | } 18 | ``` 19 | 20 | 3. Run `bower install`. The Octicons styles will be downloaded to *bower_components/octicons*. 21 | 22 | 4. Link to the `octicons.css` stylesheet in the `` of your `` page: 23 | 24 | ``` html 25 | 26 | ``` 27 | 28 | 4. Simply use an icon in your HTML page: 29 | 30 | ``` html 31 | 32 | ``` 33 | 34 | ### Rails' asset pipeline 35 | 36 | Octicons includes a stylesheet specifically for [Rails 4/Sprockets][sprockets]. 37 | 38 | 1. Create a new file called *vendor/assets/bower.json* (if you don't have one already). 39 | 40 | 2. Add a new line for the Octicon dependency, pointing to the correct repository: 41 | 42 | ``` json 43 | { 44 | "name": "my_great_project", 45 | "dependencies": { 46 | "octicons": "*" 47 | } 48 | } 49 | ``` 50 | 51 | 3. `cd` into `vendor/assets` and run `bower install`. The Octicons styles will be downloaded to *vendor/assets/bower_components/octicons*. 52 | 53 | 4. Open your config/application.rb, and add this line inside your Application: 54 | 55 | ``` ruby 56 | config.assets.precompile += %w(*.svg *.eot *.woff *.ttf) 57 | ``` 58 | 59 | 5. In your application stylesheet, require `sprockets-octicons`: 60 | 61 | ``` css 62 | /* 63 | = require sprockets-octicons 64 | */ 65 | ``` 66 | 67 | 6. Simply use an icon in your HTML page: 68 | 69 | ``` html 70 | 71 | ``` 72 | 73 | 7. If you want a view helper, add something like this to *app/helpers/application_helper.rb*: 74 | 75 | ``` ruby 76 | def octicon(code) 77 | content_tag :span, '', :class => "octicon octicon-#{code.to_s.dasherize}" 78 | end 79 | ``` 80 | 81 | ## Best practices 82 | 83 | - Octicons look best in sizes that are multiples of 16px. You can update the size using the `font-size` CSS property. For example: 84 | 85 | ``` css 86 | .octicon { 87 | font-size: 32px; 88 | } 89 | ``` 90 | 91 | - Octicons are not monospaced. This lets them work well next to type, but it means they won’t stack nicely by default. If you intend to stack octicons, such as in navigation, you will want to add some CSS to make them the same width, and centered. For example: 92 | 93 | ``` css 94 | .navigation .octicon { 95 | width: 16px; 96 | text-align: center; 97 | } 98 | ``` 99 | 100 | ### Resources 101 | 102 | - [octicons.github.com](http://octicons.github.com/) - the Octicons website 103 | - Read why [icon fonts are awesome](http://css-tricks.com/examples/IconFont/) 104 | - How to compose your [HTML for icon font usage](http://css-tricks.com/html-for-icon-font-usage/) 105 | 106 | ## Why can't I see the characters in Font Book?? 107 | 108 | Give this a try, you should be all set: 109 | 110 | ![](http://cl.ly/image/2r1B1F2l3Q0D/content#png) 111 | 112 | ## FAQ 113 | 114 | Check out [issues with the FAQ label](https://github.com/github/octicons/issues?q=is%3Aclosed+is%3Aissue+label%3AFAQ). 115 | 116 | ## Versions 117 | 118 | Octicons operates similarly to [Semver](http://semver.org/) with the following version convention: 119 | 120 | - Major: Breaking changes — removed icons, markup changes, unicode switches, css renames, icon redesigns 121 | - Minor: Non-breaking changes — new icons, new aliases, minor icon changes 122 | - Patch: Unnoticeable tweaks — slight visual changes, package updates 123 | 124 | 125 | [octicons]: http://octicons.github.com 126 | [bower]: http://bower.io/ 127 | [sprockets]: http://guides.rubyonrails.org/asset_pipeline.html 128 | -------------------------------------------------------------------------------- /test/octicons/svg/puzzle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # `fontgen-loader` - Bam, easy webfonts! 2 | 3 | Have you faced this? You have 4 icons from FontAwesome, and 19 from Glyphicons, and maybe you are eying at another webfont's icons and wishing to use them? 4 | 5 | What a mess! Okay okay, so what do we do? We make our own. And how? ...good question. In fact, this question comes up just so often... So I decided to write a little thing to help out. 6 | 7 | ## How `fontgen-loader` works. 8 | There is a tool that lets us generate fonts automaticaly by a configuration. The font is created by putting several SVG icons together and generating the proper file(s). That includes: 9 | 10 | - A font file for WOF, EOT, TTF and WOFF2. Also SVG, if you want. But there is a trend of removal within browsers - you can see more on [caniuse](http://caniuse.com). 11 | - A CSS has your font configured. That means, it's a proper `@font-face` declaration inclusive icon classes. 12 | - If you want, a HTML demo page. 13 | 14 | In order to use this loader, you need to be aware that this is a "trigger loader". That means, it can not just be added to your `webpack.config.js` like any other loader, you need to be aware of what it does in the long run. 15 | 16 | ## configuration 17 | 18 | ```javascript 19 | module.exports = { 20 | resolve: { 21 | loaders: [ 22 | { 23 | test: /\.font\.(js|json)$/, 24 | loader: "style!css!fontgen" 25 | } 26 | ] 27 | } 28 | } 29 | ``` 30 | 31 | This loader returns CSS. Therefore, you have to pipe it through the proper loaders. You should be able to use this with the `extract-text-plugin` as well. 32 | 33 | However, there are more configurations. you could also specify a custom template to use, to return different kinds of source. A LESS or SCSS version, for instance? Up to you. 34 | 35 | ## Usage 36 | 37 | Now that we have the loader configured, it's about time we give this a go. First, you want to load your font like so, within your entry code: 38 | 39 | ```javascript 40 | // main.js 41 | require("./Awesomecons.font"); // .js or .json does not matter if you used the config above. 42 | ``` 43 | 44 | Now, the loader will load in the font from the given configuration, and the CSS is added to your webpack project, properly rendered and prepared. Now, this is what a configuration should look like. The following is an example, and I am using JSON here, since I know that my code is more static, but you may have a varying requirement, which is why JS will be allowed. Make sure the configuration ends up being the contents of `module.exports`. 45 | 46 | Example: 47 | 48 | module style 49 | ```javascript 50 | module.exports = { 51 | "files": [ 52 | "icon/my.svg", 53 | "icon/awesome.svg", 54 | "icon/stuff.svg", 55 | "icon/special/*.svg" // glob style 56 | ], 57 | "fontName": "Awesomecons", 58 | "classPrefix": "ai-", 59 | "baseClass": "ai", 60 | "fixedWidth": true, 61 | "types": ["eot", "woff", "ttf", "svg"] // this is the default 62 | } 63 | ``` 64 | 65 | or .json (content should be an object) 66 | ```json 67 | { 68 | "files": [] 69 | } 70 | ``` 71 | 72 | 73 | 74 | Now, the loader will pick up this config, pull it through the generator and: 75 | 76 | - Generate CSS with the base and class prefix. 77 | - Font files for the three SVG icons. 78 | 79 | And there you are - your webfont is done. Now, here is one thing: You can use JavaScript too. A useful thing is, that there are two additional options that I did not mention: 80 | 81 | In addition, you also have these options: 82 | 83 | - `.rename`: This should be a function that returns the icon's name based on the input (filename). 84 | - `.log`: You can log stuff here. 85 | - `.formatOptions`: An object containing options to their specific transformers. See [this PR](https://github.com/sunflowerdeath/webfonts-generator/pull/6) and [this README entry](https://github.com/sunflowerdeath/webfonts-generator#formatoptions) to learn more. 86 | 87 | You also can use a module like `glob` to pick up a variable set of icons, too. Mix and match and mind the various licenses - and make your own webfont! 88 | 89 | 90 | # Configuration 91 | ## Loader parameters 92 | 93 | - `template`, String 94 | Which template to use? By default, a CSS one is used. The template is to be processed by Handlebars. See [the generator](https://github.com/sunflowerdeath/webfonts-generator)'s readme itself for more info. 95 | 96 | - `embed`, Boolean 97 | Should the fonts be embedded in the CSS? By default the fonts are written to disk. If `embed` is specified the font is base64 encoded and embedded inside the `@font-face` declaration. Example configuration: `loader: "style!css!fontgen?embed&types=woff"`. 98 | 99 | ## Font configuration (`*.font.js` or `*.font.json`) 100 | 101 | - `files`, Array 102 | An array of SVG icon files. Supports glob 103 | 104 | - `fontName`, String 105 | Name of your font. 106 | 107 | - `classPrefix`, String 108 | The prefix to be used with each icon class. 109 | 110 | - `baseClass`, String 111 | The base class, under which each icon class is to be crated. 112 | 113 | - `types`, Array 114 | Possible values are: `["svg", "eot", "wof", "ttf"]`. 115 | 116 | For additional options, see the generator's README file. 117 | 118 | ### Special configuration 119 | There is one special configuration optin that exists in both, the actual font configuration and as a query parameter: `fileName`. This one decides the output of the font filenames. You can create a filename template with these elements (will likely become more in the future): 120 | 121 | - `[fontname]`: The name of the font. I.e. "Awesomefont". 122 | - `[ext]`: The extension. I.e.: `.woff`. 123 | - `[hash]`: The hash of your current compilation. 124 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var loaderUtils = require("loader-utils"); 2 | var fontgen = require("webfonts-generator"); 3 | var path = require("path"); 4 | var glob = require('glob'); 5 | 6 | var mimeTypes = { 7 | 'eot': 'application/vnd.ms-fontobject', 8 | 'svg': 'image/svg+xml', 9 | 'ttf': 'application/x-font-ttf', 10 | 'woff': 'application/font-woff' 11 | }; 12 | 13 | function absolute(from, to) { 14 | if (arguments.length < 2) { 15 | return function (to) { 16 | return path.resolve(from, to); 17 | }; 18 | } 19 | return path.resolve(from, to); 20 | } 21 | 22 | function getFilesAndDeps(patterns, context) { 23 | var files = []; 24 | var filesDeps = []; 25 | var directoryDeps = []; 26 | 27 | function addFile(file) { 28 | filesDeps.push(file); 29 | files.push(absolute(context, file)); 30 | } 31 | 32 | function addByGlob(globExp) { 33 | var globOptions = {cwd: context}; 34 | 35 | var foundFiles = glob.sync(globExp, globOptions); 36 | files = files.concat(foundFiles.map(absolute(context))); 37 | 38 | var globDirs = glob.sync(path.dirname(globExp) + '/', globOptions); 39 | directoryDeps = directoryDeps.concat(globDirs.map(absolute(context))); 40 | } 41 | 42 | // Re-work the files array. 43 | patterns.forEach(function (pattern) { 44 | if (glob.hasMagic(pattern)) { 45 | addByGlob(pattern); 46 | } 47 | else { 48 | addFile(pattern); 49 | } 50 | }); 51 | 52 | return { 53 | files: files, 54 | dependencies: { 55 | directories: directoryDeps, 56 | files: filesDeps 57 | } 58 | }; 59 | } 60 | 61 | module.exports = function (content) { 62 | this.cacheable(); 63 | var params = loaderUtils.parseQuery(this.query); 64 | var config; 65 | try { 66 | config = JSON.parse(content); 67 | } 68 | catch (ex) { 69 | config = this.exec(content, this.resourcePath); 70 | } 71 | 72 | config.__dirname = path.dirname(this.resourcePath); 73 | 74 | // Sanity check 75 | /* 76 | if(typeof config.fontName != "string" || typeof config.files != "array") { 77 | this.reportError("Typemismatch in your config. Verify your config for correct types."); 78 | return false; 79 | } 80 | */ 81 | var filesAndDeps = getFilesAndDeps(config.files, this.context); 82 | filesAndDeps.dependencies.files.forEach(this.addDependency.bind(this)); 83 | filesAndDeps.dependencies.directories.forEach(this.addContextDependency.bind(this)); 84 | config.files = filesAndDeps.files; 85 | 86 | // With everything set up, let's make an ACTUAL config. 87 | var formats = config.types || ['eot', 'woff', 'ttf', 'svg']; 88 | if (formats.constructor !== Array) { 89 | formats = [formats]; 90 | } 91 | 92 | var fontconf = { 93 | files: config.files, 94 | fontName: config.fontName, 95 | types: formats, 96 | order: formats, 97 | fontHeight: config.fontHeight || 1000, // Fixes conversion issues with small svgs 98 | templateOptions: { 99 | baseClass: config.baseClass || "icon", 100 | classPrefix: "classPrefix" in config ? config.classPrefix : "icon-" 101 | }, 102 | dest: "", 103 | writeFiles: false, 104 | formatOptions: config.formatOptions || {} 105 | }; 106 | 107 | // This originally was in the object notation itself. 108 | // Unfortunately that actually broke my editor's syntax-highlighting... 109 | // ... what a shame. 110 | if(typeof config.rename == "function") { 111 | fontconf.rename = config.rename; 112 | } else { 113 | fontconf.rename = function(f) { 114 | return path.basename(f, ".svg"); 115 | } 116 | } 117 | 118 | if (config.cssTemplate) { 119 | fontconf.cssTemplate = absolute(this.context, config.cssTemplate); 120 | } 121 | 122 | for(var option in config.templateOptions) { 123 | if(config.templateOptions.hasOwnProperty(option)) { 124 | fontconf.templateOptions[option] = config.templateOptions[option]; 125 | } 126 | } 127 | 128 | // svgicons2svgfont stuff 129 | var keys = [ 130 | "fixedWidth", 131 | "centerHorizontally", 132 | "normalize", 133 | "fontHeight", 134 | "round", 135 | "descent" 136 | ]; 137 | for (var x in keys) { 138 | if (typeof config[keys[x]] != "undefined") { 139 | fontconf[keys[x]] = config[keys[x]]; 140 | } 141 | } 142 | 143 | var cb = this.async(); 144 | var self = this; 145 | var opts = this.options; 146 | var pub = ( 147 | opts.output.publicPath || "/" 148 | ); 149 | var embed = !!params.embed; 150 | 151 | if (fontconf.cssTemplate) { 152 | this.addDependency(fontconf.cssTemplate) 153 | } 154 | 155 | fontgen(fontconf, function (err, res) { 156 | if (err) { 157 | return cb(err); 158 | } 159 | var urls = {}; 160 | for (var i in formats) { 161 | var format = formats[i]; 162 | if (!embed) { 163 | var filename = config.fileName || params.fileName || "[hash]-[fontname][ext]"; 164 | filename = filename 165 | .replace("[fontname]", fontconf.fontName) 166 | .replace("[ext]", "." + format); 167 | var url = loaderUtils.interpolateName(this, 168 | filename, 169 | { 170 | context: self.options.context || this.context, 171 | content: res[format] 172 | } 173 | ); 174 | urls[format] = path.join(pub, url).replace(/\\/g, '/'); 175 | self.emitFile(url, res[format]); 176 | } else { 177 | urls[format] = 'data:' 178 | + mimeTypes[format] 179 | + ';charset=utf-8;base64,' 180 | + (new Buffer(res[format]).toString('base64')); 181 | } 182 | } 183 | cb(null, res.generateCss(urls)); 184 | }); 185 | }; 186 | -------------------------------------------------------------------------------- /test/octicons/octicons/octicons.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'octicons'; 3 | src: url('octicons.eot?#iefix') format('embedded-opentype'), 4 | url('octicons.woff') format('woff'), 5 | url('octicons.ttf') format('truetype'), 6 | url('octicons.svg#octicons') format('svg'); 7 | font-weight: normal; 8 | font-style: normal; 9 | } 10 | 11 | /* 12 | 13 | .octicon is optimized for 16px. 14 | .mega-octicon is optimized for 32px but can be used larger. 15 | 16 | */ 17 | .octicon, .mega-octicon { 18 | font: normal normal normal 16px/1 octicons; 19 | display: inline-block; 20 | text-decoration: none; 21 | text-rendering: auto; 22 | -webkit-font-smoothing: antialiased; 23 | -moz-osx-font-smoothing: grayscale; 24 | -webkit-user-select: none; 25 | -moz-user-select: none; 26 | -ms-user-select: none; 27 | user-select: none; 28 | } 29 | .mega-octicon { font-size: 32px; } 30 | 31 | .octicon-alert:before { content: '\f02d'} /*  */ 32 | .octicon-alignment-align:before { content: '\f08a'} /*  */ 33 | .octicon-alignment-aligned-to:before { content: '\f08e'} /*  */ 34 | .octicon-alignment-unalign:before { content: '\f08b'} /*  */ 35 | .octicon-arrow-down:before { content: '\f03f'} /*  */ 36 | .octicon-arrow-left:before { content: '\f040'} /*  */ 37 | .octicon-arrow-right:before { content: '\f03e'} /*  */ 38 | .octicon-arrow-small-down:before { content: '\f0a0'} /*  */ 39 | .octicon-arrow-small-left:before { content: '\f0a1'} /*  */ 40 | .octicon-arrow-small-right:before { content: '\f071'} /*  */ 41 | .octicon-arrow-small-up:before { content: '\f09f'} /*  */ 42 | .octicon-arrow-up:before { content: '\f03d'} /*  */ 43 | .octicon-beer:before { content: '\f069'} /*  */ 44 | .octicon-book:before { content: '\f007'} /*  */ 45 | .octicon-bookmark:before { content: '\f07b'} /*  */ 46 | .octicon-briefcase:before { content: '\f0d3'} /*  */ 47 | .octicon-broadcast:before { content: '\f048'} /*  */ 48 | .octicon-browser:before { content: '\f0c5'} /*  */ 49 | .octicon-bug:before { content: '\f091'} /*  */ 50 | .octicon-calendar:before { content: '\f068'} /*  */ 51 | .octicon-check:before { content: '\f03a'} /*  */ 52 | .octicon-checklist:before { content: '\f076'} /*  */ 53 | .octicon-chevron-down:before { content: '\f0a3'} /*  */ 54 | .octicon-chevron-left:before { content: '\f0a4'} /*  */ 55 | .octicon-chevron-right:before { content: '\f078'} /*  */ 56 | .octicon-chevron-up:before { content: '\f0a2'} /*  */ 57 | .octicon-circle-slash:before { content: '\f084'} /*  */ 58 | .octicon-circuit-board:before { content: '\f0d6'} /*  */ 59 | .octicon-clippy:before { content: '\f035'} /*  */ 60 | .octicon-clock:before { content: '\f046'} /*  */ 61 | .octicon-cloud-download:before { content: '\f00b'} /*  */ 62 | .octicon-cloud-upload:before { content: '\f00c'} /*  */ 63 | .octicon-code:before { content: '\f05f'} /*  */ 64 | .octicon-color-mode:before { content: '\f065'} /*  */ 65 | .octicon-comment-add:before, 66 | .octicon-comment:before { content: '\f02b'} /*  */ 67 | .octicon-comment-discussion:before { content: '\f04f'} /*  */ 68 | .octicon-credit-card:before { content: '\f045'} /*  */ 69 | .octicon-dash:before { content: '\f0ca'} /*  */ 70 | .octicon-dashboard:before { content: '\f07d'} /*  */ 71 | .octicon-database:before { content: '\f096'} /*  */ 72 | .octicon-device-camera:before { content: '\f056'} /*  */ 73 | .octicon-device-camera-video:before { content: '\f057'} /*  */ 74 | .octicon-device-desktop:before { content: '\f27c'} /*  */ 75 | .octicon-device-mobile:before { content: '\f038'} /*  */ 76 | .octicon-diff:before { content: '\f04d'} /*  */ 77 | .octicon-diff-added:before { content: '\f06b'} /*  */ 78 | .octicon-diff-ignored:before { content: '\f099'} /*  */ 79 | .octicon-diff-modified:before { content: '\f06d'} /*  */ 80 | .octicon-diff-removed:before { content: '\f06c'} /*  */ 81 | .octicon-diff-renamed:before { content: '\f06e'} /*  */ 82 | .octicon-ellipsis:before { content: '\f09a'} /*  */ 83 | .octicon-eye-unwatch:before, 84 | .octicon-eye-watch:before, 85 | .octicon-eye:before { content: '\f04e'} /*  */ 86 | .octicon-file-binary:before { content: '\f094'} /*  */ 87 | .octicon-file-code:before { content: '\f010'} /*  */ 88 | .octicon-file-directory:before { content: '\f016'} /*  */ 89 | .octicon-file-media:before { content: '\f012'} /*  */ 90 | .octicon-file-pdf:before { content: '\f014'} /*  */ 91 | .octicon-file-submodule:before { content: '\f017'} /*  */ 92 | .octicon-file-symlink-directory:before { content: '\f0b1'} /*  */ 93 | .octicon-file-symlink-file:before { content: '\f0b0'} /*  */ 94 | .octicon-file-text:before { content: '\f011'} /*  */ 95 | .octicon-file-zip:before { content: '\f013'} /*  */ 96 | .octicon-flame:before { content: '\f0d2'} /*  */ 97 | .octicon-fold:before { content: '\f0cc'} /*  */ 98 | .octicon-gear:before { content: '\f02f'} /*  */ 99 | .octicon-gift:before { content: '\f042'} /*  */ 100 | .octicon-gist:before { content: '\f00e'} /*  */ 101 | .octicon-gist-secret:before { content: '\f08c'} /*  */ 102 | .octicon-git-branch-create:before, 103 | .octicon-git-branch-delete:before, 104 | .octicon-git-branch:before { content: '\f020'} /*  */ 105 | .octicon-git-commit:before { content: '\f01f'} /*  */ 106 | .octicon-git-compare:before { content: '\f0ac'} /*  */ 107 | .octicon-git-merge:before { content: '\f023'} /*  */ 108 | .octicon-git-pull-request-abandoned:before, 109 | .octicon-git-pull-request:before { content: '\f009'} /*  */ 110 | .octicon-globe:before { content: '\f0b6'} /*  */ 111 | .octicon-graph:before { content: '\f043'} /*  */ 112 | .octicon-heart:before { content: '\2665'} /* ♥ */ 113 | .octicon-history:before { content: '\f07e'} /*  */ 114 | .octicon-home:before { content: '\f08d'} /*  */ 115 | .octicon-horizontal-rule:before { content: '\f070'} /*  */ 116 | .octicon-hourglass:before { content: '\f09e'} /*  */ 117 | .octicon-hubot:before { content: '\f09d'} /*  */ 118 | .octicon-inbox:before { content: '\f0cf'} /*  */ 119 | .octicon-info:before { content: '\f059'} /*  */ 120 | .octicon-issue-closed:before { content: '\f028'} /*  */ 121 | .octicon-issue-opened:before { content: '\f026'} /*  */ 122 | .octicon-issue-reopened:before { content: '\f027'} /*  */ 123 | .octicon-jersey:before { content: '\f019'} /*  */ 124 | .octicon-jump-down:before { content: '\f072'} /*  */ 125 | .octicon-jump-left:before { content: '\f0a5'} /*  */ 126 | .octicon-jump-right:before { content: '\f0a6'} /*  */ 127 | .octicon-jump-up:before { content: '\f073'} /*  */ 128 | .octicon-key:before { content: '\f049'} /*  */ 129 | .octicon-keyboard:before { content: '\f00d'} /*  */ 130 | .octicon-law:before { content: '\f0d8'} /*  */ 131 | .octicon-light-bulb:before { content: '\f000'} /*  */ 132 | .octicon-link:before { content: '\f05c'} /*  */ 133 | .octicon-link-external:before { content: '\f07f'} /*  */ 134 | .octicon-list-ordered:before { content: '\f062'} /*  */ 135 | .octicon-list-unordered:before { content: '\f061'} /*  */ 136 | .octicon-location:before { content: '\f060'} /*  */ 137 | .octicon-gist-private:before, 138 | .octicon-mirror-private:before, 139 | .octicon-git-fork-private:before, 140 | .octicon-lock:before { content: '\f06a'} /*  */ 141 | .octicon-logo-github:before { content: '\f092'} /*  */ 142 | .octicon-mail:before { content: '\f03b'} /*  */ 143 | .octicon-mail-read:before { content: '\f03c'} /*  */ 144 | .octicon-mail-reply:before { content: '\f051'} /*  */ 145 | .octicon-mark-github:before { content: '\f00a'} /*  */ 146 | .octicon-markdown:before { content: '\f0c9'} /*  */ 147 | .octicon-megaphone:before { content: '\f077'} /*  */ 148 | .octicon-mention:before { content: '\f0be'} /*  */ 149 | .octicon-microscope:before { content: '\f089'} /*  */ 150 | .octicon-milestone:before { content: '\f075'} /*  */ 151 | .octicon-mirror-public:before, 152 | .octicon-mirror:before { content: '\f024'} /*  */ 153 | .octicon-mortar-board:before { content: '\f0d7'} /*  */ 154 | .octicon-move-down:before { content: '\f0a8'} /*  */ 155 | .octicon-move-left:before { content: '\f074'} /*  */ 156 | .octicon-move-right:before { content: '\f0a9'} /*  */ 157 | .octicon-move-up:before { content: '\f0a7'} /*  */ 158 | .octicon-mute:before { content: '\f080'} /*  */ 159 | .octicon-no-newline:before { content: '\f09c'} /*  */ 160 | .octicon-octoface:before { content: '\f008'} /*  */ 161 | .octicon-organization:before { content: '\f037'} /*  */ 162 | .octicon-package:before { content: '\f0c4'} /*  */ 163 | .octicon-paintcan:before { content: '\f0d1'} /*  */ 164 | .octicon-pencil:before { content: '\f058'} /*  */ 165 | .octicon-person-add:before, 166 | .octicon-person-follow:before, 167 | .octicon-person:before { content: '\f018'} /*  */ 168 | .octicon-pin:before { content: '\f041'} /*  */ 169 | .octicon-playback-fast-forward:before { content: '\f0bd'} /*  */ 170 | .octicon-playback-pause:before { content: '\f0bb'} /*  */ 171 | .octicon-playback-play:before { content: '\f0bf'} /*  */ 172 | .octicon-playback-rewind:before { content: '\f0bc'} /*  */ 173 | .octicon-plug:before { content: '\f0d4'} /*  */ 174 | .octicon-repo-create:before, 175 | .octicon-gist-new:before, 176 | .octicon-file-directory-create:before, 177 | .octicon-file-add:before, 178 | .octicon-plus:before { content: '\f05d'} /*  */ 179 | .octicon-podium:before { content: '\f0af'} /*  */ 180 | .octicon-primitive-dot:before { content: '\f052'} /*  */ 181 | .octicon-primitive-square:before { content: '\f053'} /*  */ 182 | .octicon-pulse:before { content: '\f085'} /*  */ 183 | .octicon-puzzle:before { content: '\f0c0'} /*  */ 184 | .octicon-question:before { content: '\f02c'} /*  */ 185 | .octicon-quote:before { content: '\f063'} /*  */ 186 | .octicon-radio-tower:before { content: '\f030'} /*  */ 187 | .octicon-repo-delete:before, 188 | .octicon-repo:before { content: '\f001'} /*  */ 189 | .octicon-repo-clone:before { content: '\f04c'} /*  */ 190 | .octicon-repo-force-push:before { content: '\f04a'} /*  */ 191 | .octicon-gist-fork:before, 192 | .octicon-repo-forked:before { content: '\f002'} /*  */ 193 | .octicon-repo-pull:before { content: '\f006'} /*  */ 194 | .octicon-repo-push:before { content: '\f005'} /*  */ 195 | .octicon-rocket:before { content: '\f033'} /*  */ 196 | .octicon-rss:before { content: '\f034'} /*  */ 197 | .octicon-ruby:before { content: '\f047'} /*  */ 198 | .octicon-screen-full:before { content: '\f066'} /*  */ 199 | .octicon-screen-normal:before { content: '\f067'} /*  */ 200 | .octicon-search-save:before, 201 | .octicon-search:before { content: '\f02e'} /*  */ 202 | .octicon-server:before { content: '\f097'} /*  */ 203 | .octicon-settings:before { content: '\f07c'} /*  */ 204 | .octicon-log-in:before, 205 | .octicon-sign-in:before { content: '\f036'} /*  */ 206 | .octicon-log-out:before, 207 | .octicon-sign-out:before { content: '\f032'} /*  */ 208 | .octicon-split:before { content: '\f0c6'} /*  */ 209 | .octicon-squirrel:before { content: '\f0b2'} /*  */ 210 | .octicon-star-add:before, 211 | .octicon-star-delete:before, 212 | .octicon-star:before { content: '\f02a'} /*  */ 213 | .octicon-steps:before { content: '\f0c7'} /*  */ 214 | .octicon-stop:before { content: '\f08f'} /*  */ 215 | .octicon-repo-sync:before, 216 | .octicon-sync:before { content: '\f087'} /*  */ 217 | .octicon-tag-remove:before, 218 | .octicon-tag-add:before, 219 | .octicon-tag:before { content: '\f015'} /*  */ 220 | .octicon-telescope:before { content: '\f088'} /*  */ 221 | .octicon-terminal:before { content: '\f0c8'} /*  */ 222 | .octicon-three-bars:before { content: '\f05e'} /*  */ 223 | .octicon-thumbsdown:before { content: '\f0db'} /*  */ 224 | .octicon-thumbsup:before { content: '\f0da'} /*  */ 225 | .octicon-tools:before { content: '\f031'} /*  */ 226 | .octicon-trashcan:before { content: '\f0d0'} /*  */ 227 | .octicon-triangle-down:before { content: '\f05b'} /*  */ 228 | .octicon-triangle-left:before { content: '\f044'} /*  */ 229 | .octicon-triangle-right:before { content: '\f05a'} /*  */ 230 | .octicon-triangle-up:before { content: '\f0aa'} /*  */ 231 | .octicon-unfold:before { content: '\f039'} /*  */ 232 | .octicon-unmute:before { content: '\f0ba'} /*  */ 233 | .octicon-versions:before { content: '\f064'} /*  */ 234 | .octicon-remove-close:before, 235 | .octicon-x:before { content: '\f081'} /*  */ 236 | .octicon-zap:before { content: '\26A1'} /* ⚡ */ 237 | -------------------------------------------------------------------------------- /test/octicons/octicons/sprockets-octicons.scss: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'octicons'; 3 | src: font-url('octicons.eot?#iefix') format('embedded-opentype'), 4 | font-url('octicons.woff') format('woff'), 5 | font-url('octicons.ttf') format('truetype'), 6 | font-url('octicons.svg#octicons') format('svg'); 7 | font-weight: normal; 8 | font-style: normal; 9 | } 10 | 11 | // .octicon is optimized for 16px. 12 | // .mega-octicon is optimized for 32px but can be used larger. 13 | .octicon, .mega-octicon { 14 | font: normal normal normal 16px/1 octicons; 15 | display: inline-block; 16 | text-decoration: none; 17 | text-rendering: auto; 18 | -webkit-font-smoothing: antialiased; 19 | -moz-osx-font-smoothing: grayscale; 20 | -webkit-user-select: none; 21 | -moz-user-select: none; 22 | -ms-user-select: none; 23 | user-select: none; 24 | } 25 | .mega-octicon { font-size: 32px; } 26 | 27 | .octicon-alert:before { content: '\f02d'} /*  */ 28 | .octicon-alignment-align:before { content: '\f08a'} /*  */ 29 | .octicon-alignment-aligned-to:before { content: '\f08e'} /*  */ 30 | .octicon-alignment-unalign:before { content: '\f08b'} /*  */ 31 | .octicon-arrow-down:before { content: '\f03f'} /*  */ 32 | .octicon-arrow-left:before { content: '\f040'} /*  */ 33 | .octicon-arrow-right:before { content: '\f03e'} /*  */ 34 | .octicon-arrow-small-down:before { content: '\f0a0'} /*  */ 35 | .octicon-arrow-small-left:before { content: '\f0a1'} /*  */ 36 | .octicon-arrow-small-right:before { content: '\f071'} /*  */ 37 | .octicon-arrow-small-up:before { content: '\f09f'} /*  */ 38 | .octicon-arrow-up:before { content: '\f03d'} /*  */ 39 | .octicon-beer:before { content: '\f069'} /*  */ 40 | .octicon-book:before { content: '\f007'} /*  */ 41 | .octicon-bookmark:before { content: '\f07b'} /*  */ 42 | .octicon-briefcase:before { content: '\f0d3'} /*  */ 43 | .octicon-broadcast:before { content: '\f048'} /*  */ 44 | .octicon-browser:before { content: '\f0c5'} /*  */ 45 | .octicon-bug:before { content: '\f091'} /*  */ 46 | .octicon-calendar:before { content: '\f068'} /*  */ 47 | .octicon-check:before { content: '\f03a'} /*  */ 48 | .octicon-checklist:before { content: '\f076'} /*  */ 49 | .octicon-chevron-down:before { content: '\f0a3'} /*  */ 50 | .octicon-chevron-left:before { content: '\f0a4'} /*  */ 51 | .octicon-chevron-right:before { content: '\f078'} /*  */ 52 | .octicon-chevron-up:before { content: '\f0a2'} /*  */ 53 | .octicon-circle-slash:before { content: '\f084'} /*  */ 54 | .octicon-circuit-board:before { content: '\f0d6'} /*  */ 55 | .octicon-clippy:before { content: '\f035'} /*  */ 56 | .octicon-clock:before { content: '\f046'} /*  */ 57 | .octicon-cloud-download:before { content: '\f00b'} /*  */ 58 | .octicon-cloud-upload:before { content: '\f00c'} /*  */ 59 | .octicon-code:before { content: '\f05f'} /*  */ 60 | .octicon-color-mode:before { content: '\f065'} /*  */ 61 | .octicon-comment-add:before, 62 | .octicon-comment:before { content: '\f02b'} /*  */ 63 | .octicon-comment-discussion:before { content: '\f04f'} /*  */ 64 | .octicon-credit-card:before { content: '\f045'} /*  */ 65 | .octicon-dash:before { content: '\f0ca'} /*  */ 66 | .octicon-dashboard:before { content: '\f07d'} /*  */ 67 | .octicon-database:before { content: '\f096'} /*  */ 68 | .octicon-device-camera:before { content: '\f056'} /*  */ 69 | .octicon-device-camera-video:before { content: '\f057'} /*  */ 70 | .octicon-device-desktop:before { content: '\f27c'} /*  */ 71 | .octicon-device-mobile:before { content: '\f038'} /*  */ 72 | .octicon-diff:before { content: '\f04d'} /*  */ 73 | .octicon-diff-added:before { content: '\f06b'} /*  */ 74 | .octicon-diff-ignored:before { content: '\f099'} /*  */ 75 | .octicon-diff-modified:before { content: '\f06d'} /*  */ 76 | .octicon-diff-removed:before { content: '\f06c'} /*  */ 77 | .octicon-diff-renamed:before { content: '\f06e'} /*  */ 78 | .octicon-ellipsis:before { content: '\f09a'} /*  */ 79 | .octicon-eye-unwatch:before, 80 | .octicon-eye-watch:before, 81 | .octicon-eye:before { content: '\f04e'} /*  */ 82 | .octicon-file-binary:before { content: '\f094'} /*  */ 83 | .octicon-file-code:before { content: '\f010'} /*  */ 84 | .octicon-file-directory:before { content: '\f016'} /*  */ 85 | .octicon-file-media:before { content: '\f012'} /*  */ 86 | .octicon-file-pdf:before { content: '\f014'} /*  */ 87 | .octicon-file-submodule:before { content: '\f017'} /*  */ 88 | .octicon-file-symlink-directory:before { content: '\f0b1'} /*  */ 89 | .octicon-file-symlink-file:before { content: '\f0b0'} /*  */ 90 | .octicon-file-text:before { content: '\f011'} /*  */ 91 | .octicon-file-zip:before { content: '\f013'} /*  */ 92 | .octicon-flame:before { content: '\f0d2'} /*  */ 93 | .octicon-fold:before { content: '\f0cc'} /*  */ 94 | .octicon-gear:before { content: '\f02f'} /*  */ 95 | .octicon-gift:before { content: '\f042'} /*  */ 96 | .octicon-gist:before { content: '\f00e'} /*  */ 97 | .octicon-gist-secret:before { content: '\f08c'} /*  */ 98 | .octicon-git-branch-create:before, 99 | .octicon-git-branch-delete:before, 100 | .octicon-git-branch:before { content: '\f020'} /*  */ 101 | .octicon-git-commit:before { content: '\f01f'} /*  */ 102 | .octicon-git-compare:before { content: '\f0ac'} /*  */ 103 | .octicon-git-merge:before { content: '\f023'} /*  */ 104 | .octicon-git-pull-request-abandoned:before, 105 | .octicon-git-pull-request:before { content: '\f009'} /*  */ 106 | .octicon-globe:before { content: '\f0b6'} /*  */ 107 | .octicon-graph:before { content: '\f043'} /*  */ 108 | .octicon-heart:before { content: '\2665'} /* ♥ */ 109 | .octicon-history:before { content: '\f07e'} /*  */ 110 | .octicon-home:before { content: '\f08d'} /*  */ 111 | .octicon-horizontal-rule:before { content: '\f070'} /*  */ 112 | .octicon-hourglass:before { content: '\f09e'} /*  */ 113 | .octicon-hubot:before { content: '\f09d'} /*  */ 114 | .octicon-inbox:before { content: '\f0cf'} /*  */ 115 | .octicon-info:before { content: '\f059'} /*  */ 116 | .octicon-issue-closed:before { content: '\f028'} /*  */ 117 | .octicon-issue-opened:before { content: '\f026'} /*  */ 118 | .octicon-issue-reopened:before { content: '\f027'} /*  */ 119 | .octicon-jersey:before { content: '\f019'} /*  */ 120 | .octicon-jump-down:before { content: '\f072'} /*  */ 121 | .octicon-jump-left:before { content: '\f0a5'} /*  */ 122 | .octicon-jump-right:before { content: '\f0a6'} /*  */ 123 | .octicon-jump-up:before { content: '\f073'} /*  */ 124 | .octicon-key:before { content: '\f049'} /*  */ 125 | .octicon-keyboard:before { content: '\f00d'} /*  */ 126 | .octicon-law:before { content: '\f0d8'} /*  */ 127 | .octicon-light-bulb:before { content: '\f000'} /*  */ 128 | .octicon-link:before { content: '\f05c'} /*  */ 129 | .octicon-link-external:before { content: '\f07f'} /*  */ 130 | .octicon-list-ordered:before { content: '\f062'} /*  */ 131 | .octicon-list-unordered:before { content: '\f061'} /*  */ 132 | .octicon-location:before { content: '\f060'} /*  */ 133 | .octicon-gist-private:before, 134 | .octicon-mirror-private:before, 135 | .octicon-git-fork-private:before, 136 | .octicon-lock:before { content: '\f06a'} /*  */ 137 | .octicon-logo-github:before { content: '\f092'} /*  */ 138 | .octicon-mail:before { content: '\f03b'} /*  */ 139 | .octicon-mail-read:before { content: '\f03c'} /*  */ 140 | .octicon-mail-reply:before { content: '\f051'} /*  */ 141 | .octicon-mark-github:before { content: '\f00a'} /*  */ 142 | .octicon-markdown:before { content: '\f0c9'} /*  */ 143 | .octicon-megaphone:before { content: '\f077'} /*  */ 144 | .octicon-mention:before { content: '\f0be'} /*  */ 145 | .octicon-microscope:before { content: '\f089'} /*  */ 146 | .octicon-milestone:before { content: '\f075'} /*  */ 147 | .octicon-mirror-public:before, 148 | .octicon-mirror:before { content: '\f024'} /*  */ 149 | .octicon-mortar-board:before { content: '\f0d7'} /*  */ 150 | .octicon-move-down:before { content: '\f0a8'} /*  */ 151 | .octicon-move-left:before { content: '\f074'} /*  */ 152 | .octicon-move-right:before { content: '\f0a9'} /*  */ 153 | .octicon-move-up:before { content: '\f0a7'} /*  */ 154 | .octicon-mute:before { content: '\f080'} /*  */ 155 | .octicon-no-newline:before { content: '\f09c'} /*  */ 156 | .octicon-octoface:before { content: '\f008'} /*  */ 157 | .octicon-organization:before { content: '\f037'} /*  */ 158 | .octicon-package:before { content: '\f0c4'} /*  */ 159 | .octicon-paintcan:before { content: '\f0d1'} /*  */ 160 | .octicon-pencil:before { content: '\f058'} /*  */ 161 | .octicon-person-add:before, 162 | .octicon-person-follow:before, 163 | .octicon-person:before { content: '\f018'} /*  */ 164 | .octicon-pin:before { content: '\f041'} /*  */ 165 | .octicon-playback-fast-forward:before { content: '\f0bd'} /*  */ 166 | .octicon-playback-pause:before { content: '\f0bb'} /*  */ 167 | .octicon-playback-play:before { content: '\f0bf'} /*  */ 168 | .octicon-playback-rewind:before { content: '\f0bc'} /*  */ 169 | .octicon-plug:before { content: '\f0d4'} /*  */ 170 | .octicon-repo-create:before, 171 | .octicon-gist-new:before, 172 | .octicon-file-directory-create:before, 173 | .octicon-file-add:before, 174 | .octicon-plus:before { content: '\f05d'} /*  */ 175 | .octicon-podium:before { content: '\f0af'} /*  */ 176 | .octicon-primitive-dot:before { content: '\f052'} /*  */ 177 | .octicon-primitive-square:before { content: '\f053'} /*  */ 178 | .octicon-pulse:before { content: '\f085'} /*  */ 179 | .octicon-puzzle:before { content: '\f0c0'} /*  */ 180 | .octicon-question:before { content: '\f02c'} /*  */ 181 | .octicon-quote:before { content: '\f063'} /*  */ 182 | .octicon-radio-tower:before { content: '\f030'} /*  */ 183 | .octicon-repo-delete:before, 184 | .octicon-repo:before { content: '\f001'} /*  */ 185 | .octicon-repo-clone:before { content: '\f04c'} /*  */ 186 | .octicon-repo-force-push:before { content: '\f04a'} /*  */ 187 | .octicon-gist-fork:before, 188 | .octicon-repo-forked:before { content: '\f002'} /*  */ 189 | .octicon-repo-pull:before { content: '\f006'} /*  */ 190 | .octicon-repo-push:before { content: '\f005'} /*  */ 191 | .octicon-rocket:before { content: '\f033'} /*  */ 192 | .octicon-rss:before { content: '\f034'} /*  */ 193 | .octicon-ruby:before { content: '\f047'} /*  */ 194 | .octicon-screen-full:before { content: '\f066'} /*  */ 195 | .octicon-screen-normal:before { content: '\f067'} /*  */ 196 | .octicon-search-save:before, 197 | .octicon-search:before { content: '\f02e'} /*  */ 198 | .octicon-server:before { content: '\f097'} /*  */ 199 | .octicon-settings:before { content: '\f07c'} /*  */ 200 | .octicon-log-in:before, 201 | .octicon-sign-in:before { content: '\f036'} /*  */ 202 | .octicon-log-out:before, 203 | .octicon-sign-out:before { content: '\f032'} /*  */ 204 | .octicon-split:before { content: '\f0c6'} /*  */ 205 | .octicon-squirrel:before { content: '\f0b2'} /*  */ 206 | .octicon-star-add:before, 207 | .octicon-star-delete:before, 208 | .octicon-star:before { content: '\f02a'} /*  */ 209 | .octicon-steps:before { content: '\f0c7'} /*  */ 210 | .octicon-stop:before { content: '\f08f'} /*  */ 211 | .octicon-repo-sync:before, 212 | .octicon-sync:before { content: '\f087'} /*  */ 213 | .octicon-tag-remove:before, 214 | .octicon-tag-add:before, 215 | .octicon-tag:before { content: '\f015'} /*  */ 216 | .octicon-telescope:before { content: '\f088'} /*  */ 217 | .octicon-terminal:before { content: '\f0c8'} /*  */ 218 | .octicon-three-bars:before { content: '\f05e'} /*  */ 219 | .octicon-thumbsdown:before { content: '\f0db'} /*  */ 220 | .octicon-thumbsup:before { content: '\f0da'} /*  */ 221 | .octicon-tools:before { content: '\f031'} /*  */ 222 | .octicon-trashcan:before { content: '\f0d0'} /*  */ 223 | .octicon-triangle-down:before { content: '\f05b'} /*  */ 224 | .octicon-triangle-left:before { content: '\f044'} /*  */ 225 | .octicon-triangle-right:before { content: '\f05a'} /*  */ 226 | .octicon-triangle-up:before { content: '\f0aa'} /*  */ 227 | .octicon-unfold:before { content: '\f039'} /*  */ 228 | .octicon-unmute:before { content: '\f0ba'} /*  */ 229 | .octicon-versions:before { content: '\f064'} /*  */ 230 | .octicon-remove-close:before, 231 | .octicon-x:before { content: '\f081'} /*  */ 232 | .octicon-zap:before { content: '\26A1'} /* ⚡ */ 233 | -------------------------------------------------------------------------------- /test/octicons/octicons/octicons.less: -------------------------------------------------------------------------------- 1 | @octicons-font-path: "."; 2 | @octicons-version: "675c3211eac589bbda193fdb306ce567a2c4569f"; 3 | 4 | @font-face { 5 | font-family: 'octicons'; 6 | src: ~"url('@{octicons-font-path}/octicons.eot?#iefix&v=@{octicons-version}') format('embedded-opentype')", 7 | ~"url('@{octicons-font-path}/octicons.woff?v=@{octicons-version}') format('woff')", 8 | ~"url('@{octicons-font-path}/octicons.ttf?v=@{octicons-version}') format('truetype')", 9 | ~"url('@{octicons-font-path}/octicons.svg?v=@{octicons-version}#octicons') format('svg')"; 10 | font-weight: normal; 11 | font-style: normal; 12 | } 13 | 14 | // .octicon is optimized for 16px. 15 | // .mega-octicon is optimized for 32px but can be used larger. 16 | .octicon, .mega-octicon { 17 | font: normal normal normal 16px/1 octicons; 18 | display: inline-block; 19 | text-decoration: none; 20 | text-rendering: auto; 21 | -webkit-font-smoothing: antialiased; 22 | -moz-osx-font-smoothing: grayscale; 23 | -webkit-user-select: none; 24 | -moz-user-select: none; 25 | -ms-user-select: none; 26 | user-select: none; 27 | } 28 | .mega-octicon { font-size: 32px; } 29 | 30 | .octicon-alert:before { content: '\f02d'} /*  */ 31 | .octicon-alignment-align:before { content: '\f08a'} /*  */ 32 | .octicon-alignment-aligned-to:before { content: '\f08e'} /*  */ 33 | .octicon-alignment-unalign:before { content: '\f08b'} /*  */ 34 | .octicon-arrow-down:before { content: '\f03f'} /*  */ 35 | .octicon-arrow-left:before { content: '\f040'} /*  */ 36 | .octicon-arrow-right:before { content: '\f03e'} /*  */ 37 | .octicon-arrow-small-down:before { content: '\f0a0'} /*  */ 38 | .octicon-arrow-small-left:before { content: '\f0a1'} /*  */ 39 | .octicon-arrow-small-right:before { content: '\f071'} /*  */ 40 | .octicon-arrow-small-up:before { content: '\f09f'} /*  */ 41 | .octicon-arrow-up:before { content: '\f03d'} /*  */ 42 | .octicon-beer:before { content: '\f069'} /*  */ 43 | .octicon-book:before { content: '\f007'} /*  */ 44 | .octicon-bookmark:before { content: '\f07b'} /*  */ 45 | .octicon-briefcase:before { content: '\f0d3'} /*  */ 46 | .octicon-broadcast:before { content: '\f048'} /*  */ 47 | .octicon-browser:before { content: '\f0c5'} /*  */ 48 | .octicon-bug:before { content: '\f091'} /*  */ 49 | .octicon-calendar:before { content: '\f068'} /*  */ 50 | .octicon-check:before { content: '\f03a'} /*  */ 51 | .octicon-checklist:before { content: '\f076'} /*  */ 52 | .octicon-chevron-down:before { content: '\f0a3'} /*  */ 53 | .octicon-chevron-left:before { content: '\f0a4'} /*  */ 54 | .octicon-chevron-right:before { content: '\f078'} /*  */ 55 | .octicon-chevron-up:before { content: '\f0a2'} /*  */ 56 | .octicon-circle-slash:before { content: '\f084'} /*  */ 57 | .octicon-circuit-board:before { content: '\f0d6'} /*  */ 58 | .octicon-clippy:before { content: '\f035'} /*  */ 59 | .octicon-clock:before { content: '\f046'} /*  */ 60 | .octicon-cloud-download:before { content: '\f00b'} /*  */ 61 | .octicon-cloud-upload:before { content: '\f00c'} /*  */ 62 | .octicon-code:before { content: '\f05f'} /*  */ 63 | .octicon-color-mode:before { content: '\f065'} /*  */ 64 | .octicon-comment-add:before, 65 | .octicon-comment:before { content: '\f02b'} /*  */ 66 | .octicon-comment-discussion:before { content: '\f04f'} /*  */ 67 | .octicon-credit-card:before { content: '\f045'} /*  */ 68 | .octicon-dash:before { content: '\f0ca'} /*  */ 69 | .octicon-dashboard:before { content: '\f07d'} /*  */ 70 | .octicon-database:before { content: '\f096'} /*  */ 71 | .octicon-device-camera:before { content: '\f056'} /*  */ 72 | .octicon-device-camera-video:before { content: '\f057'} /*  */ 73 | .octicon-device-desktop:before { content: '\f27c'} /*  */ 74 | .octicon-device-mobile:before { content: '\f038'} /*  */ 75 | .octicon-diff:before { content: '\f04d'} /*  */ 76 | .octicon-diff-added:before { content: '\f06b'} /*  */ 77 | .octicon-diff-ignored:before { content: '\f099'} /*  */ 78 | .octicon-diff-modified:before { content: '\f06d'} /*  */ 79 | .octicon-diff-removed:before { content: '\f06c'} /*  */ 80 | .octicon-diff-renamed:before { content: '\f06e'} /*  */ 81 | .octicon-ellipsis:before { content: '\f09a'} /*  */ 82 | .octicon-eye-unwatch:before, 83 | .octicon-eye-watch:before, 84 | .octicon-eye:before { content: '\f04e'} /*  */ 85 | .octicon-file-binary:before { content: '\f094'} /*  */ 86 | .octicon-file-code:before { content: '\f010'} /*  */ 87 | .octicon-file-directory:before { content: '\f016'} /*  */ 88 | .octicon-file-media:before { content: '\f012'} /*  */ 89 | .octicon-file-pdf:before { content: '\f014'} /*  */ 90 | .octicon-file-submodule:before { content: '\f017'} /*  */ 91 | .octicon-file-symlink-directory:before { content: '\f0b1'} /*  */ 92 | .octicon-file-symlink-file:before { content: '\f0b0'} /*  */ 93 | .octicon-file-text:before { content: '\f011'} /*  */ 94 | .octicon-file-zip:before { content: '\f013'} /*  */ 95 | .octicon-flame:before { content: '\f0d2'} /*  */ 96 | .octicon-fold:before { content: '\f0cc'} /*  */ 97 | .octicon-gear:before { content: '\f02f'} /*  */ 98 | .octicon-gift:before { content: '\f042'} /*  */ 99 | .octicon-gist:before { content: '\f00e'} /*  */ 100 | .octicon-gist-secret:before { content: '\f08c'} /*  */ 101 | .octicon-git-branch-create:before, 102 | .octicon-git-branch-delete:before, 103 | .octicon-git-branch:before { content: '\f020'} /*  */ 104 | .octicon-git-commit:before { content: '\f01f'} /*  */ 105 | .octicon-git-compare:before { content: '\f0ac'} /*  */ 106 | .octicon-git-merge:before { content: '\f023'} /*  */ 107 | .octicon-git-pull-request-abandoned:before, 108 | .octicon-git-pull-request:before { content: '\f009'} /*  */ 109 | .octicon-globe:before { content: '\f0b6'} /*  */ 110 | .octicon-graph:before { content: '\f043'} /*  */ 111 | .octicon-heart:before { content: '\2665'} /* ♥ */ 112 | .octicon-history:before { content: '\f07e'} /*  */ 113 | .octicon-home:before { content: '\f08d'} /*  */ 114 | .octicon-horizontal-rule:before { content: '\f070'} /*  */ 115 | .octicon-hourglass:before { content: '\f09e'} /*  */ 116 | .octicon-hubot:before { content: '\f09d'} /*  */ 117 | .octicon-inbox:before { content: '\f0cf'} /*  */ 118 | .octicon-info:before { content: '\f059'} /*  */ 119 | .octicon-issue-closed:before { content: '\f028'} /*  */ 120 | .octicon-issue-opened:before { content: '\f026'} /*  */ 121 | .octicon-issue-reopened:before { content: '\f027'} /*  */ 122 | .octicon-jersey:before { content: '\f019'} /*  */ 123 | .octicon-jump-down:before { content: '\f072'} /*  */ 124 | .octicon-jump-left:before { content: '\f0a5'} /*  */ 125 | .octicon-jump-right:before { content: '\f0a6'} /*  */ 126 | .octicon-jump-up:before { content: '\f073'} /*  */ 127 | .octicon-key:before { content: '\f049'} /*  */ 128 | .octicon-keyboard:before { content: '\f00d'} /*  */ 129 | .octicon-law:before { content: '\f0d8'} /*  */ 130 | .octicon-light-bulb:before { content: '\f000'} /*  */ 131 | .octicon-link:before { content: '\f05c'} /*  */ 132 | .octicon-link-external:before { content: '\f07f'} /*  */ 133 | .octicon-list-ordered:before { content: '\f062'} /*  */ 134 | .octicon-list-unordered:before { content: '\f061'} /*  */ 135 | .octicon-location:before { content: '\f060'} /*  */ 136 | .octicon-gist-private:before, 137 | .octicon-mirror-private:before, 138 | .octicon-git-fork-private:before, 139 | .octicon-lock:before { content: '\f06a'} /*  */ 140 | .octicon-logo-github:before { content: '\f092'} /*  */ 141 | .octicon-mail:before { content: '\f03b'} /*  */ 142 | .octicon-mail-read:before { content: '\f03c'} /*  */ 143 | .octicon-mail-reply:before { content: '\f051'} /*  */ 144 | .octicon-mark-github:before { content: '\f00a'} /*  */ 145 | .octicon-markdown:before { content: '\f0c9'} /*  */ 146 | .octicon-megaphone:before { content: '\f077'} /*  */ 147 | .octicon-mention:before { content: '\f0be'} /*  */ 148 | .octicon-microscope:before { content: '\f089'} /*  */ 149 | .octicon-milestone:before { content: '\f075'} /*  */ 150 | .octicon-mirror-public:before, 151 | .octicon-mirror:before { content: '\f024'} /*  */ 152 | .octicon-mortar-board:before { content: '\f0d7'} /*  */ 153 | .octicon-move-down:before { content: '\f0a8'} /*  */ 154 | .octicon-move-left:before { content: '\f074'} /*  */ 155 | .octicon-move-right:before { content: '\f0a9'} /*  */ 156 | .octicon-move-up:before { content: '\f0a7'} /*  */ 157 | .octicon-mute:before { content: '\f080'} /*  */ 158 | .octicon-no-newline:before { content: '\f09c'} /*  */ 159 | .octicon-octoface:before { content: '\f008'} /*  */ 160 | .octicon-organization:before { content: '\f037'} /*  */ 161 | .octicon-package:before { content: '\f0c4'} /*  */ 162 | .octicon-paintcan:before { content: '\f0d1'} /*  */ 163 | .octicon-pencil:before { content: '\f058'} /*  */ 164 | .octicon-person-add:before, 165 | .octicon-person-follow:before, 166 | .octicon-person:before { content: '\f018'} /*  */ 167 | .octicon-pin:before { content: '\f041'} /*  */ 168 | .octicon-playback-fast-forward:before { content: '\f0bd'} /*  */ 169 | .octicon-playback-pause:before { content: '\f0bb'} /*  */ 170 | .octicon-playback-play:before { content: '\f0bf'} /*  */ 171 | .octicon-playback-rewind:before { content: '\f0bc'} /*  */ 172 | .octicon-plug:before { content: '\f0d4'} /*  */ 173 | .octicon-repo-create:before, 174 | .octicon-gist-new:before, 175 | .octicon-file-directory-create:before, 176 | .octicon-file-add:before, 177 | .octicon-plus:before { content: '\f05d'} /*  */ 178 | .octicon-podium:before { content: '\f0af'} /*  */ 179 | .octicon-primitive-dot:before { content: '\f052'} /*  */ 180 | .octicon-primitive-square:before { content: '\f053'} /*  */ 181 | .octicon-pulse:before { content: '\f085'} /*  */ 182 | .octicon-puzzle:before { content: '\f0c0'} /*  */ 183 | .octicon-question:before { content: '\f02c'} /*  */ 184 | .octicon-quote:before { content: '\f063'} /*  */ 185 | .octicon-radio-tower:before { content: '\f030'} /*  */ 186 | .octicon-repo-delete:before, 187 | .octicon-repo:before { content: '\f001'} /*  */ 188 | .octicon-repo-clone:before { content: '\f04c'} /*  */ 189 | .octicon-repo-force-push:before { content: '\f04a'} /*  */ 190 | .octicon-gist-fork:before, 191 | .octicon-repo-forked:before { content: '\f002'} /*  */ 192 | .octicon-repo-pull:before { content: '\f006'} /*  */ 193 | .octicon-repo-push:before { content: '\f005'} /*  */ 194 | .octicon-rocket:before { content: '\f033'} /*  */ 195 | .octicon-rss:before { content: '\f034'} /*  */ 196 | .octicon-ruby:before { content: '\f047'} /*  */ 197 | .octicon-screen-full:before { content: '\f066'} /*  */ 198 | .octicon-screen-normal:before { content: '\f067'} /*  */ 199 | .octicon-search-save:before, 200 | .octicon-search:before { content: '\f02e'} /*  */ 201 | .octicon-server:before { content: '\f097'} /*  */ 202 | .octicon-settings:before { content: '\f07c'} /*  */ 203 | .octicon-log-in:before, 204 | .octicon-sign-in:before { content: '\f036'} /*  */ 205 | .octicon-log-out:before, 206 | .octicon-sign-out:before { content: '\f032'} /*  */ 207 | .octicon-split:before { content: '\f0c6'} /*  */ 208 | .octicon-squirrel:before { content: '\f0b2'} /*  */ 209 | .octicon-star-add:before, 210 | .octicon-star-delete:before, 211 | .octicon-star:before { content: '\f02a'} /*  */ 212 | .octicon-steps:before { content: '\f0c7'} /*  */ 213 | .octicon-stop:before { content: '\f08f'} /*  */ 214 | .octicon-repo-sync:before, 215 | .octicon-sync:before { content: '\f087'} /*  */ 216 | .octicon-tag-remove:before, 217 | .octicon-tag-add:before, 218 | .octicon-tag:before { content: '\f015'} /*  */ 219 | .octicon-telescope:before { content: '\f088'} /*  */ 220 | .octicon-terminal:before { content: '\f0c8'} /*  */ 221 | .octicon-three-bars:before { content: '\f05e'} /*  */ 222 | .octicon-thumbsdown:before { content: '\f0db'} /*  */ 223 | .octicon-thumbsup:before { content: '\f0da'} /*  */ 224 | .octicon-tools:before { content: '\f031'} /*  */ 225 | .octicon-trashcan:before { content: '\f0d0'} /*  */ 226 | .octicon-triangle-down:before { content: '\f05b'} /*  */ 227 | .octicon-triangle-left:before { content: '\f044'} /*  */ 228 | .octicon-triangle-right:before { content: '\f05a'} /*  */ 229 | .octicon-triangle-up:before { content: '\f0aa'} /*  */ 230 | .octicon-unfold:before { content: '\f039'} /*  */ 231 | .octicon-unmute:before { content: '\f0ba'} /*  */ 232 | .octicon-versions:before { content: '\f064'} /*  */ 233 | .octicon-remove-close:before, 234 | .octicon-x:before { content: '\f081'} /*  */ 235 | .octicon-zap:before { content: '\26A1'} /* ⚡ */ 236 | --------------------------------------------------------------------------------