25 Commits

Author SHA1 Message Date
rektdeckard
1390dfae4d deps: update to phosphor-react@1.1.2 2020-11-26 01:10:56 -05:00
rektdeckard
ce0d323bd5 public: modify .htaccess to redirect nonexistent routes to index.html 2020-11-26 01:07:42 -05:00
rektdeckard
7bf1833ea2 deps: update to phosphor-react@1.1.1 2020-11-24 20:15:16 -05:00
rektdeckard
de97e02427 icons+deps: update to phosphor-react@1.1.0 and enable new 2020-11-24 15:55:23 -05:00
rektdeckard
2e9c7870bd lib: retag IconCategory.MAP string 2020-11-24 13:18:53 -05:00
rektdeckard
fe656731fd DetailsPanel+README: switch to kebab-case for Vue components 2020-11-24 00:38:52 -05:00
rektdeckard
0ea6cdc930 Footer: update TF link to portfolio 2020-11-17 23:07:17 -05:00
rektdeckard
71c6a6927c icons: use "*new*" tag to disambiguate from plus/add-like 2020-11-15 17:24:09 -05:00
rektdeckard
30e777f856 icons: add "new" tags to icons making first appearance 2020-11-14 23:15:42 -05:00
rektdeckard
71eba27c92 icons: add new icons and tags for v1.1.0 2020-11-14 22:55:28 -05:00
rektdeckard
1221b5628b icons: additional tagging 2020-11-12 01:57:41 -05:00
rektdeckard
6fdef06b75 libs: update React and Recoil 2020-11-11 12:30:47 -05:00
rektdeckard
e7865e25e7 public: add Rich Search Results metadata 2020-11-11 12:29:37 -05:00
rektdeckard
8a30bc5990 public: test out adding structured data schema 2020-11-08 14:52:41 -05:00
rektdeckard
d0c4891480 IconGrid: potentially stupid-big loadtime gains
By adding 'content-visibility: auto;' we were able to see an 8x
improvement on rendering time and a 25x improvement on paint times for
first load. We may need to do some work to bring similar gains to
non-Chrome useragents.
2020-11-05 16:47:13 -05:00
rektdeckard
20b077a05f meta: remove unnecessary phosphor-icons dependency 2020-11-02 22:29:56 -05:00
rektdeckard
ea1793a0fa Links: replace Figma library link with current 2020-10-30 18:17:27 -04:00
rektdeckard
3b0d30ed04 DetailsPanel: up PNG download size to 256px 2020-10-25 20:16:43 -04:00
rektdeckard
3055fbb955 icons: add tags 2020-10-25 17:09:07 -04:00
rektdeckard
e38f82501d DetailsPanel: revert copy SVG text 2020-10-25 16:52:18 -04:00
rektdeckard
55931e9f13 meta: rename repo phosphor-web -> phosphor-home 2020-10-25 16:51:18 -04:00
rektdeckard
40f345b0d2 Links: correct Figma plugin link 2020-10-16 02:27:28 -04:00
rektdeckard
60c3aecc34 meta: bump to v1.0.1 2020-10-15 16:37:01 -04:00
rektdeckard
cdc14e8ddd Links: add Figma plugin 2020-10-15 16:36:37 -04:00
rektdeckard
5207219415 icons: add money tags 2020-10-15 12:16:58 -04:00
13 changed files with 1413 additions and 148 deletions

View File

@@ -1,5 +1,5 @@
{ {
// Place your phosphor-web workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // Place your phosphor-home workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
@@ -25,6 +25,6 @@
"\tIcon: ${4:icon},", "\tIcon: ${4:icon},",
"}," "},"
], ],
"description": "Create an IconEntry for phosphor-web" "description": "Create an IconEntry for phosphor-home"
} }
} }

View File

@@ -4,7 +4,7 @@
Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really. Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really.
- 588 icons and counting - 683 icons and counting
- 6 weights: **Thin**, **Light**, **Regular**, **Bold**, **Fill**, and **Duotone** - 6 weights: **Thin**, **Light**, **Regular**, **Bold**, **Fill**, and **Duotone**
- Designed at 16 x 16px to read well small and scale up big - Designed at 16 x 16px to read well small and scale up big
- Raw stroke information retained to fine-tune the style - Raw stroke information retained to fine-tune the style
@@ -67,9 +67,9 @@ ReactDOM.render(<App />, document.getElementById("root"));
```html ```html
<template> <template>
<div> <div>
<PhHorse /> <ph-horse />
<PhHeart :size="32" color="hotpink" weight="fill" /> <ph-heart :size="32" color="hotpink" weight="fill" />
<PhCube /> <ph-cube />
</div> </div>
</template> </template>
@@ -86,7 +86,7 @@ ReactDOM.render(<App />, document.getElementById("root"));
</script> </script>
``` ```
> **Note:** Due to possible namespace collisions with built-in HTML elements, compononent names in the Vue library are prefixed with `Ph`, but otherwise follow the same naming conventions. > **Note:** Due to possible namespace collisions with built-in HTML elements, compononent names in the Vue library are prefixed with `Ph`, but otherwise follow the same naming conventions. Both Pascal and kebab-case conventions can be used in templates.
## Related Projects ## Related Projects

View File

@@ -1,6 +1,6 @@
{ {
"name": "phosphor-web", "name": "phosphor-home",
"version": "1.0.0", "version": "1.1.2",
"license": "MIT", "license": "MIT",
"homepage": "https://phosphoricons.com", "homepage": "https://phosphoricons.com",
"author": { "author": {
@@ -18,21 +18,20 @@
"UI", "UI",
"UX" "UX"
], ],
"repository": "github:phosphor-icons/phosphor-web", "repository": "github:phosphor-icons/phosphor-home",
"private": false, "private": true,
"dependencies": { "dependencies": {
"file-saver": "^2.0.2", "file-saver": "^2.0.2",
"framer-motion": "^2.1.0", "framer-motion": "^2.1.0",
"fuse.js": "^6.4.1", "fuse.js": "^6.4.1",
"phosphor-icons": "^1.0.0", "phosphor-react": "^1.1.2",
"phosphor-react": "^0.6.0", "react": "^17.0.1",
"react": "^17.0.0-rc.0", "react-dom": "^17.0.1",
"react-dom": "^17.0.0-rc.0",
"react-dropdown-select": "^4.4.2", "react-dropdown-select": "^4.4.2",
"react-ga": "^3.1.2", "react-ga": "^3.1.2",
"react-scripts": "3.4.1", "react-scripts": "3.4.1",
"react-use": "^15.3.2", "react-use": "^15.3.2",
"recoil": "^0.0.13", "recoil": "^0.1.2",
"svg2png-converter": "^1.0.0", "svg2png-converter": "^1.0.0",
"tinycolor2": "^1.4.1" "tinycolor2": "^1.4.1"
}, },

9
public/.htaccess Normal file
View File

@@ -0,0 +1,9 @@
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

View File

@@ -18,7 +18,21 @@
itemprop="description" itemprop="description"
content="A flexible icon family for interfaces, diagrams, presentations — whatever, really." content="A flexible icon family for interfaces, diagrams, presentations — whatever, really."
/> />
<meta itemprop="image" content="https://phosphoricons.com/phosphor-opengraph.png" /> <meta
itemprop="image"
content="https://phosphoricons.com/phosphor-opengraph.png"
/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Project",
"url": "https://phosphoricons.com",
"email": "hello@phosphoricons.com",
"location": "Brooklyn, NY",
"description": "A flexible icon family for interfaces, diagrams, presentations — whatever, really.",
"logo": "https://phosphoricons.com/favicon-512.png"
}
</script>
<!-- FACEBOOK META --> <!-- FACEBOOK META -->
<meta property="og:title" content="Phosphor Icons" /> <meta property="og:title" content="Phosphor Icons" />
@@ -29,7 +43,10 @@
/> />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://phosphoricons.com" /> <meta property="og:url" content="https://phosphoricons.com" />
<meta property="og:image" content="https://phosphoricons.com/phosphor-opengraph.png" /> <meta
property="og:image"
content="https://phosphoricons.com/phosphor-opengraph.png"
/>
<meta property="og:image:type" content="image/png" /> <meta property="og:image:type" content="image/png" />
<meta property="og:image:alt" content="Phosphor Icons logo" /> <meta property="og:image:alt" content="Phosphor Icons logo" />
<meta property="og:image:width" content="1200" /> <meta property="og:image:width" content="1200" />
@@ -42,7 +59,10 @@
name="twitter:description" name="twitter:description"
content="A flexible icon family for interfaces, diagrams, presentations — whatever, really." content="A flexible icon family for interfaces, diagrams, presentations — whatever, really."
/> />
<meta name="twitter:image" content="https://phosphoricons.com/phosphor-opengraph.png" /> <meta
name="twitter:image"
content="https://phosphoricons.com/phosphor-opengraph.png"
/>
<meta name="twitter:site" content="@_phosphoricons" /> <meta name="twitter:site" content="@_phosphoricons" />
<meta name="twitter:creator" content="@friedtm" /> <meta name="twitter:creator" content="@friedtm" />

View File

@@ -41,7 +41,7 @@ const Footer: React.FC<FooterProps> = () => {
Phosphor is free and open-source, licensed under{" "} Phosphor is free and open-source, licensed under{" "}
<a <a
className="main-link" className="main-link"
href="https://raw.githubusercontent.com/phosphor-icons/phosphor-web/master/LICENSE" href="https://raw.githubusercontent.com/phosphor-icons/phosphor-home/master/LICENSE"
> >
MIT MIT
</a> </a>
@@ -82,7 +82,7 @@ const Footer: React.FC<FooterProps> = () => {
Helena Zhang Helena Zhang
</a>{" "} </a>{" "}
and built by{" "} and built by{" "}
<a className="main-link" href="https://github.com/rektdeckard"> <a className="main-link" href="https://tobiasfried.com">
Toby Fried Toby Fried
</a>{" "} </a>{" "}
<span <span

View File

@@ -23,7 +23,7 @@ type HeaderProps = {};
const handleGetStarted = () => const handleGetStarted = () =>
window.open( window.open(
"https://github.com/phosphor-icons/phosphor-web#phosphor-icons", "https://github.com/phosphor-icons/phosphor-home#phosphor-icons",
"_blank", "_blank",
"noopener noreferrer" "noopener noreferrer"
); );

View File

@@ -82,7 +82,10 @@ const DetailsPanel: React.FC<InfoPanelProps> = (props) => {
react: `<${Icon.displayName} size={${size}} ${ react: `<${Icon.displayName} size={${size}} ${
color !== "#000000" ? `color="${color}" ` : "" color !== "#000000" ? `color="${color}" ` : ""
}${weight === "regular" ? "" : `weight="${weight}" `}/>`, }${weight === "regular" ? "" : `weight="${weight}" `}/>`,
vue: `<Ph${Icon.displayName} :size="${size}" ${ vue: `<ph${Icon.displayName!!.replace(
/([a-z0-9]|(?=[A-Z]))([A-Z])/g,
"$1-$2"
).toLowerCase()} :size="${size}" ${
color !== "#000000" ? `color="${color}" ` : "" color !== "#000000" ? `color="${color}" ` : ""
}${weight === "regular" ? "" : `weight="${weight}" `}/>`, }${weight === "regular" ? "" : `weight="${weight}" `}/>`,
}; };
@@ -122,7 +125,7 @@ const DetailsPanel: React.FC<InfoPanelProps> = (props) => {
Svg2Png.save( Svg2Png.save(
ref.current, ref.current,
`${name}${weight === "regular" ? "" : `-${weight}`}.png`, `${name}${weight === "regular" ? "" : `-${weight}`}.png`,
{ scaleX: 1.334, scaleY: 1.334 } { scaleX: 2.667, scaleY: 2.667 }
); );
}; };
@@ -230,7 +233,7 @@ const DetailsPanel: React.FC<InfoPanelProps> = (props) => {
) : ( ) : (
<Copy size={32} color="currentColor" weight="fill" /> <Copy size={32} color="currentColor" weight="fill" />
)} )}
{copied === "svg" ? "Copied!" : "Copy to design software"} {copied === "svg" ? "Copied!" : "Copy SVG"}
</button> </button>
</div> </div>
</motion.div> </motion.div>

View File

@@ -1,6 +1,7 @@
.grid-container { .grid-container {
padding: 32px 16px; padding: 32px 16px;
min-height: 80vh; min-height: 80vh;
content-visibility: auto;
} }
.grid { .grid {

View File

@@ -14,7 +14,7 @@ import TagCloud from "./TagCloud";
import Notice from "../Notice/Notice"; import Notice from "../Notice/Notice";
import "./IconGrid.css"; import "./IconGrid.css";
const defaultSearchTags = ["communication", "editor", "emoji", "maps", "weather"]; const defaultSearchTags = ["*new*", "communication", "editor", "emoji", "maps", "weather"];
type IconGridProps = {}; type IconGridProps = {};

View File

@@ -24,6 +24,26 @@ const Links: React.FC<LinksProps> = () => {
</OutboundLink> </OutboundLink>
</div> </div>
<div> <div>
<ArrowElbowDownRight size={24} />
<span>
<OutboundLink
className="nav-link"
to="https://www.figma.com/community/file/903830135544202908/Phosphor-Icons"
eventLabel="Figma library"
>
Figma library
</OutboundLink>
{" / "}
<OutboundLink
className="nav-link"
to="https://www.figma.com/community/plugin/898620911119764089/Phosphor-Icons"
eventLabel="Figma plugin"
>
plugin
</OutboundLink>
</span>
</div>
{/* <div>
<ArrowElbowDownRight size={24} /> <ArrowElbowDownRight size={24} />
<OutboundLink <OutboundLink
className="nav-link" className="nav-link"
@@ -33,21 +53,21 @@ const Links: React.FC<LinksProps> = () => {
Figma library Figma library
</OutboundLink> </OutboundLink>
</div> </div>
{/* <div> <div>
<ArrowElbowDownRight size={24} /> <ArrowElbowDownRight size={24} />
<OutboundLink <OutboundLink
className="nav-link" className="nav-link"
to="https://www.figma.com/community/plugin/892854133443228626/Phosphor-Icons" to="https://www.figma.com/community/plugin/892854133443228626/Phosphor-Icons"
eventLabel="Figma plugin" eventLabel="Figma plugin"
> >
Add Figma plugin Figma plugin
</OutboundLink> </OutboundLink>
</div> */} </div> */}
<div> <div>
<ArrowElbowDownRight size={24} /> <ArrowElbowDownRight size={24} />
<a <a
className="nav-link" className="nav-link"
href="https://github.com/phosphor-icons/phosphor-web/issues" href="https://github.com/phosphor-icons/phosphor-home/issues"
> >
Request an icon Request an icon
</a> </a>
@@ -80,9 +100,9 @@ const Links: React.FC<LinksProps> = () => {
<ArrowElbowDownRight size={24} /> <ArrowElbowDownRight size={24} />
<a <a
className="nav-link" className="nav-link"
href="https://github.com/phosphor-icons/phosphor-web" href="https://github.com/phosphor-icons/phosphor-home"
> >
Github GitHub
</a> </a>
</div> </div>
</div> </div>

File diff suppressed because it is too large Load Diff

View File

@@ -21,7 +21,7 @@ export enum IconCategory {
FINANCE = "finances", FINANCE = "finances",
GAMES = "games", GAMES = "games",
HEALTH = "health & wellness", HEALTH = "health & wellness",
MAP = "maps & navigation", MAP = "maps & travel",
MEDIA = "media", MEDIA = "media",
NATURE = "nature", NATURE = "nature",
OBJECTS = "objects", OBJECTS = "objects",