Giter Site home page Giter Site logo

yne / picon Goto Github PK

View Code? Open in Web Editor NEW
22.0 3.0 2.0 2.51 MB

Hackable Ligature Pico icoN set

Home Page: https://yne.github.io/picon

License: SIL Open Font License 1.1

HTML 57.64% JavaScript 31.15% M4 3.30% Makefile 7.92%
svg font-icons picon woff2 font icons webfont ligatures unicode ligature

picon's Introduction

The Pico-icon set

preview

Download | Icon finder | Flags color demo | Editor

  • ~900 libre icons released as ligatured Font, SVG, PNG, and JSON icomoon project, compare
  • Hackable: Update or remove any svg, then simply rebuild with make all! You can also use Icomoon (can't handle coloring).
  • Lightweight: Average SVGs are 5x lighter than Fontawesome, source
  • Designed on a 8-grid: to be readable at 8px 16px 24px 32px 48px ... demo
  • Thousand of icon composition possible
  • CDN backed via unpkg.com and jsdelivr.net
  • Multicolor support ! Example

Usage

Tips: replace solid with the iconset you want (ex: flags)

<!-- SVG: for casual usage -->
<img src="//unpkg.com/picon/solid/app.svg" alt="app">

<!-- Sprites: for massive usage -->
<svg><use xlink:href="//unpkg.com/picon/solid.svg#app"></use></svg>

<!-- Font: for ligature junky -->
<style>
@font-face {
  src: url(https://unpkg.com/picon);
  font-family: picon;
}
.picon { font-family: picon; }
</style>

<span class=picon>app</span>

Tips: Always use a versioned CDN url (ex: https://unpkg.com/[email protected]/solid/...) for production

Mardown Integration

If you don't need the ~~strikeout~~ mardown feature you can create a rule to show striked text as icons:

del, s {
	font-family:picon; 
	text-decoration: none;
}

Live Demo

Composition

To stay lightweight, Picon does not provide any composed icons like call-in, call-out, call-forward.

Following the previous Mardown <del> example, you can compose using:

<style>
del {
	font-family: picon;
	word-spacing: -2em; /* Same size overlay */
	text-decoration: none; /* un-strike */
	text-shadow:/* white halo */
	-1px -1px 0 white,
	-1px -0px 0 white,
	-1px  1px 0 white,
	-0px -1px 0 white,
	-0px -0px 0 white,
	-0px  1px 0 white,
	 1px -1px 0 white,
	 1px -0px 0 white,
	 1px  1px 0 white;
}
del>sup,del>sub{
	font-size: .5em; /* twice smaller */
	margin-left: -1em; /* right side*/
}
del>sup{vertical-align:text-top;}
del>sub{vertical-align:text-bottom;}
</style>

Note: replace del with s or .picon according to your Mardown processor

you can now associate any parent with any child icon:

<del>microphone not</del>
<del>wifi4<sub>!</sub></del>
<del>printer<sub>magnifier</sub></del>
<del>bluetooth<sub>add</sub></del>
<del>gsm0<sub>chain</sub></del>
<del>wifi4<sub>5g</sub></del>
<del>lock<sub>warning</sub></del>
<del>file<sub>attachment</sub></del>
<del>calendar<sub>add</sub></del>
<del>battery<sub>bolt</sub></del>
<del>file<sub>markdown</sub></del>
<del>call<sup>rightward</sup></del>
<del>drive<sub>wrench</sub></del>
<del>screen<sub>colors</sub></del>
<del>picture<sub>contrast</sub></del>

Live Demo

HTML text element

As opposed to SVG, ligatured font can be used in text-only elements (<option>, <input> ...):

<input type=reset class=picon value=cross>

<select>
	<optgroup label=iconless>
		<option>wifi0
	</optgroup>
	<optgroup class=picon label="wifi0">
		<option>wifi0
		<option>wifi4
	</optgroup>
</select>

Live Demo

Pseudo-element

Font can react from states and attributes.

For example it can automatically display the corresponding language icon to a <pre> element:

<pre lang=js>
function example(){
	return 0;
}
</pre>

<style>
pre[lang]::before{
	font-family: picon;
	content: attr(lang);
	float: right;
}
</style>

Live Demo

It can also help to unify browser style for input typefile/checkbox/radio:

<input type=file data-before=file style=width:1em>
<input type=checkbox data-before=ballot data-before-checked=checked style=appearance:none>
<input type=radio data-before=false data-before-checked=true style=appearance:none>
<style>
[data-before]::before{
	font-family: picon;
	content: attr(data-before);
}
[data-before-checked]:checked::before{
	font-family: picon;
	content: attr(data-before-checked);
}
</style>

Live Demo

Color gradient

<style>
.rainbow{
	background: linear-gradient(
	#5eb544 00.0% 37.5%,
	#f5b226 37.5% 50.0%,
	#ed7e1e 50.0% 62.5%,
	#d9383c 62.5% 75.0%,
	#913b92 75.0% 87.5%,
	#0098d5 87.5% 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
<style>
<input type=search class="picon rainbow">

Live Demo

Animation

Add a hourglass spinner to any disabled button

<style>
@font-face {
  src: url(https://unpkg.com/picon);
  font-family: picon;
}
@keyframes hourglass {
	0%{content:'hourglass1'}
	10%{content:'hourglass2'}
	20%{content:'hourglass3'}
	30%{content:'hourglass4'}
	40%{content:'hourglass5'}
	50%{content:'hourglass5'}
	60%{content:'hourglass6'}
	70%{content:'hourglass7'}
	80%{content:'hourglass8'}
}
button:disabled::after{
	font-family: picon;
	content: 'hourglass1';
	animation: hourglass 1s infinite;
}
</style>
<button onclick="disabled=true">Upload</button>

Live Demo

Note: ::before and ::after pseudo-element only work on HTML elements that accept children (<input> with type set to text,button)

picon's People

Contributors

yne avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

0xflotus

picon's Issues

auto publish release

GitHub workflow shall publish a release with archive+TTF+OTF+WOFF2 on success

PWA ready

The homepage shall be made into a PWA, (faster loading, and offline support)

  • add service worker with caching
  • trigger the install dialog
  • get a perfect audit score => need to defere svg drawing

google font conformance

com.google.fonts/check/family/has_license
Check font has a license.

* ERROR: The condition <FontBakeryCondition:gfonts_repo_structure> had an error: IndexError: list index out of range
       File "/usr/local/lib/python3.7/site-packages/fontbakery/checkrunner.py", line 376, in _evaluate_condition
         return None, condition(**args)
       File "/usr/local/lib/python3.7/site-packages/fontbakery/callable.py", line 99, in __call__
         return self.__wrapped__(*args, **kwds)
       File "/usr/local/lib/python3.7/site-packages/fontbakery/profiles/googlefonts_conditions.py", line 506, in gfonts_repo_structure
         return abspath.split(os.path.sep)[-3] in ["ufl", "ofl", "apache"]
     

Result: ERROR

com.google.fonts/check/vendor_id
Checking OS/2 achVendID.
with Picon-Medium.otf

* WARN: OS/2 VendorID value 'XXXX' is not a known registered id. You should set it to your own 4 character code, and register that code with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]

Result: WARN

com.google.fonts/check/glyph_coverage
Check Google Fonts Latin Core glyph coverage.
with Picon-Medium.otf

  Rationale:                                                                
  Google Fonts expects that fonts in its collection support at least the    
  minimal set of characters defined in the `GF-latin-core` glyph-set.       

* FAIL: Missing required codepoints: 0x0020 (SPACE), 0x0021 (EXCLAMATION MARK), 0x0022 (QUOTATION MARK), 0x0023 (NUMBER SIGN) and 173 more. [code: missing-codepoints]

Result: FAIL

com.google.fonts/check/name/license_url
License URL matches License text on name table?
with Picon-Medium.otf

* FAIL: A known license URL must be provided in the NameID 14 (LICENSE INFO URL) entry. Currently accepted licenses are Apache: 'http://www.apache.org/licenses/LICENSE-2.0' or Open Font License: 'http://scripts.sil.org/OFL'

For a small set of legacy families the Ubuntu Font License 'https://www.ubuntu.com/legal/terms-and-policies/font-licence' may be acceptable as well.
When in doubt, please choose OFL for new font projects. [code: no-license-found]

Result: FAIL

com.google.fonts/check/name/version_format
Version format is correct in 'name' table?
with Picon-Medium.otf

* FAIL: The NameID.VERSION_STRING (nameID=5) value must follow the pattern "Version X.Y" with X.Y greater than or equal to 1.000. Current version string is: "Version 0.1" [code: bad-version-strings]
* FAIL: The NameID.VERSION_STRING (nameID=5) value must follow the pattern "Version X.Y" with X.Y greater than or equal to 1.000. Current version string is: "Version 0.1" [code: bad-version-strings]

Result: FAIL

com.google.fonts/check/epar
EPAR table present in font?
with Picon-Medium.otf

  Rationale:                                                                
  The EPAR table is/was a way of expressing common licensing permissions    
  and restrictions in metadata; while almost nothing supported it, Dave     
  Crossland wonders that adding it to everything in Google Fonts could help 
  make it more popular.                                                     
                                                                            
  More info is available at:                                                
  https://davelab6.github.io/epar/                                          

* INFO: EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818 [code: lacks-EPAR]

Result: INFO

com.google.fonts/check/font_copyright
Copyright notices match canonical pattern in fonts
with Picon-Medium.otf

* FAIL: Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)"

But instead we have got:
" " [code: bad-notice-format]
* FAIL: Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)"
But instead we have got:
" " [code: bad-notice-format]

Result: FAIL

com.google.fonts/check/unitsperem_strict
Stricter unitsPerEm criteria for Google Fonts.
with Picon-Medium.otf

  Rationale:                                                                
  Even though the OpenType spec allows unitsPerEm to be any value between   
  16 and 16384, the Google Fonts project aims at a narrower set of          
  reasonable values.                                                        
                                                                            
  The spec suggests usage of powers of two in order to get some performance 
  improvements on legacy renderers, so those values are acceptable.         
                                                                            
  But value of 500 or 1000 are also acceptable, with the added benefit that 
  it makes upm math easier for designers, while the performance hit of not  
  using a power of two is most likely negligible nowadays.                  
                                                                            
  Another acceptable value is 2000. Since TT outlines are all integers (no  
  floats), then instances in a VF suffer rounding compromises, and          
  therefore a 1000 UPM is to small because it forces too many such          
  compromises.                                                              
                                                                            
  Therefore 2000 is a good 'new VF standard', because 2000 is a simple 2x   
  conversion from existing fonts drawn on a 1000 UPM, and anyone who knows  
  what 10 units can do for 1000 UPM will know what 20 units does too.       
                                                                            
  Additionally, values above 2048 would result in filesize increases with   
  not much added benefit.                                                   

* WARN: Even though unitsPerEm (16) in this font is reasonable. It is strongly advised to consider changing it to 2000, since it will likely improve the quality of Variable Fonts by avoiding excessive rounding of coordinates on interpolations. [code: legacy-value]

Result: WARN

com.google.fonts/check/name/familyname
Check name table: FONT_FAMILY_NAME entries.
with Picon-Medium.otf

  Rationale:                                                                
  Checks that the family name infered from the font filename matches the    
  string at nameID 1 (NAMEID_FONT_FAMILY_NAME) if it conforms to RIBBI and  
  otherwise checks that nameID 1 is the family name + the style name.       

* FAIL: Entry [FONT_FAMILY_NAME(1):WINDOWS(3)] on the "name" table: Expected "Picon Medium" but got "Picon". [code: mismatch]

Result: FAIL

com.google.fonts/check/name/subfamilyname
Check name table: FONT_SUBFAMILY_NAME entries.
with Picon-Medium.otf

* FAIL: SUBFAMILY_NAME for Win "Medium" must be "Regular" [code: bad-familyname]

Result: FAIL

com.google.fonts/check/name/postscriptname
Check name table: POSTSCRIPT_NAME entries.
with Picon-Medium.otf

* FAIL: Entry [POSTSCRIPT_NAME(6):MACINTOSH(1)] on the "name" table: Expected "Picon-Medium" but got "PiconMedium". [code: bad-entry]
* FAIL: Entry [POSTSCRIPT_NAME(6):WINDOWS(3)] on the "name" table: Expected "Picon-Medium" but got "PiconMedium". [code: bad-entry]

Result: FAIL

com.google.fonts/check/fontv
Check for font-v versioning.
with Picon-Medium.otf

  Rationale:                                                                
  The git sha1 tagging and dev/release features of Source Foundry `font-v`  
  tool are awesome and we would love to consider upstreaming the approach   
  into fontmake someday. For now we only emit a WARN if a given font does   
  not yet follow the experimental versioning style, but at some point we    
  may start enforcing it.                                                   

* INFO: Version string is: "Version 0.1"

The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below:
"Version 1.3; git-0d08353-release" [code: bad-format]

Result: INFO

com.google.fonts/check/ligature_carets
Are there caret positions declared for every ligature?
with Picon-Medium.otf

  Rationale:                                                                
  All ligatures in a font must have corresponding caret (text cursor)       
  positions defined in the GDEF table, otherwhise, users may experience     
  issues with caret rendering.                                              

* WARN: GDEF table is missing, but it is mandatory to declare it on fonts that provide ligature glyphs because the caret (text cursor) positioning for each ligature must be provided in this table. [code: GDEF-missing]

Result: WARN

com.google.fonts/check/repo/dirname_matches_nameid_1
Directory name in GFonts repo structure must match NameID 1 of the regular.
with Picon-Medium.otf

* ERROR: The condition <FontBakeryCondition:gfonts_repo_structure> had an error: IndexError: list index out of range
       File "/usr/local/lib/python3.7/site-packages/fontbakery/checkrunner.py", line 376, in _evaluate_condition
         return None, condition(**args)
       File "/usr/local/lib/python3.7/site-packages/fontbakery/callable.py", line 99, in __call__
         return self.__wrapped__(*args, **kwds)
       File "/usr/local/lib/python3.7/site-packages/fontbakery/profiles/googlefonts_conditions.py", line 506, in gfonts_repo_structure
         return abspath.split(os.path.sep)[-3] in ["ufl", "ofl", "apache"]
     

Result: ERROR

com.google.fonts/check/ftxvalidator_is_available
Is the command ftxvalidator (Apple Font Tool Suite) available?

  Rationale:                                                                
  There's no reasonable (and legal) way to run the command `ftxvalidator`   
  of the Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or 
  Windows etc.                                                              
                                                                            
  If Font Bakery is not running on an OSX machine, the machine running Font 
  Bakery could access `ftxvalidator` on OSX, e.g. via ssh or a remote       
  procedure call (rpc).                                                     
                                                                            
  There's an ssh example implementation at:                                 
  https://github.com/googlefonts/fontbakery/blob/master/prebuilt/workarounds/ftxvalidator/ssh-implementation/ftxvalidator

* WARN: ftxvalidator is not available.

Result: WARN

com.google.fonts/check/fontbakery_version
Do we have the latest version of FontBakery installed?

* INFO: fontbakery (0.7.16)  - Well designed Font QA tool, written in Python 3

INSTALLED: 0.7.16 (latest)

Result: INFO

com.google.fonts/check/name/trailing_spaces
Name table records must not have trailing spaces.
with Picon-Medium.otf

* FAIL: Name table record with key = (1, 0, 0, 0) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (1, 0, 0, 3) has trailing spaces that must be removed: ' :Picon Medium'
* FAIL: Name table record with key = (1, 0, 0, 7) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (1, 0, 0, 8) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (1, 0, 0, 9) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (1, 0, 0, 10) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (1, 0, 0, 11) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (1, 0, 0, 12) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (1, 0, 0, 13) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (1, 0, 0, 14) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 0) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 3) has trailing spaces that must be removed: ' :Picon Medium'
* FAIL: Name table record with key = (3, 1, 1033, 7) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 8) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 9) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 10) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 11) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 12) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 13) has trailing spaces that must be removed: ' '
* FAIL: Name table record with key = (3, 1, 1033, 14) has trailing spaces that must be removed: ' '

Result: FAIL

com.google.fonts/check/mandatory_glyphs
Font contains .notdef as first glyph?
with Picon-Medium.otf

  Rationale:                                                                
  The OpenType specification v1.8.2 recommends that the first glyph is the  
  .notdef glyph without a codepoint assigned and with a drawing.            
                                                                            
  https://docs.microsoft.com/en-us/typography/opentype/spec/recom#glyph-0-the-notdef-glyph
                                                                            
  Pre-v1.8, it was recommended that a font should also contain a .null, CR  
  and space glyph. This might have been relevant for applications on MacOS  
  9.                                                                        

* WARN: Font should contain the .notdef glyph as the first glyph, it should not have a Unicode value assigned and should contain a drawing.

Result: WARN

com.google.fonts/check/whitespace_glyphs
Font contains glyphs for whitespace characters?
with Picon-Medium.otf

* FAIL: Whitespace glyphs missing for the following codepoints: 0x0020, 0x00A0. [code: missing-whitespace-glyphs]

Result: FAIL

com.google.fonts/check/valid_glyphnames
Glyph names are all valid?
with Picon-Medium.otf

  Rationale:                                                                
  Microsoft's recommendations for OpenType Fonts states the following:      
                                                                            
  'NOTE: The PostScript glyph name must be no longer than 31 characters,    
  include only uppercase or lowercase English letters, European digits, the 
  period or the underscore, i.e. from the set [A-Za-z0-9_.] and should      
  start with a letter, except the special glyph name ".notdef" which starts 
  with a period.'                                                           
                                                                            
  https://docs.microsoft.com/en-us/typography/opentype/spec/recom#post-table

* FAIL: The following glyph names do not comply with naming conventions: -, 0, 1, 2, 3, 4, 5, 6, 7, 8 and 216 more.

A glyph name may be up to 31 characters in length, must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) (underscore). and must not start with a digit or period. There are a few exceptions such as the special character ".notdef". The glyph names "twocents", "a1", and "" are all valid, while "2cents" and ".twocents" are not. [code: found-invalid-names]

Result: FAIL

com.google.fonts/check/font_version
Checking font version fields (head and name table).
with Picon-Medium.otf

* FAIL: head version is "1.000" while name version string (for platform 1, encoding 0) is "Version 0.1". [code: mismatch]
* FAIL: head version is "1.000" while name version string (for platform 3, encoding 1) is "Version 0.1". [code: mismatch]

Result: FAIL

com.adobe.fonts/check/name/empty_records
Check name table for empty records.
with Picon-Medium.otf

  Rationale:                                                                
  Check the name table for empty records, as this can cause problems in     
  Adobe apps.                                                               

* FAIL: "name" table record with key=(1, 0, 0, 0) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(1, 0, 0, 7) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(1, 0, 0, 8) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(1, 0, 0, 9) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(1, 0, 0, 10) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(1, 0, 0, 11) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(1, 0, 0, 12) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(1, 0, 0, 13) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(1, 0, 0, 14) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 0) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 7) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 8) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 9) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 10) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 11) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 12) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 13) is empty and should be removed. [code: empty-record]
* FAIL: "name" table record with key=(3, 1, 1033, 14) is empty and should be removed. [code: empty-record]

Result: FAIL

com.google.fonts/check/dsig
Does the font have a DSIG table?
with Picon-Medium.otf

  Rationale:                                                                
  Microsoft Office 2013 and below products expect fonts to have a digital   
  signature declared in a DSIG table in order to implement OpenType         
  features. The EOL date for Microsoft Office 2013 products is 4/11/2023.   
  This issue does not impact Microsoft Office 2016 and above products.      
                                                                            
  This checks verifies that this signature is available in the font.        
                                                                            
  A fake signature is enough to address this issue. If needed, a dummy      
  table can be added to the font with the `gftools fix-dsig` script         
  available at https://github.com/googlefonts/gftools                       
                                                                            
  Reference: https://github.com/googlefonts/fontbakery/issues/1845          

* FAIL: This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]

Result: FAIL

com.google.fonts/check/gpos_kerning_info
Does GPOS table have kerning information?
with Picon-Medium.otf

* WARN: GPOS table lacks kerning information. [code: lacks-kern-info]

Result: WARN

Total:

ERROR: 2
FAIL: 13
WARN: 6
INFO: 3
SKIP: 89
PASS: 50

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.