presscrew / infinity Goto Github PK
View Code? Open in Web Editor NEWA WordPress theming engine
Home Page: http://infinity.presscrew.com
License: GNU General Public License v2.0
A WordPress theming engine
Home Page: http://infinity.presscrew.com
License: GNU General Public License v2.0
I'm trying to change the CSS selector for a bunch of options in my child theme. In this case the header option set.
[infinity-header-layout]
type = "default"
title = "Header Styles"
description = "Customize the layout and colors of the header"
options.section = "header"
options.style_selector = "#header"
[infinity-header-layout]
options.style_selector = ".top-wrap"
This has no effect. The option does not break but it still puts the CSS under #header.
To improve your search rankings (you're currently ranked 3rd for "github infinity" for instance) and in general to just make yourselves easy to find and recognize by your users, why don't you convert MrMaz' "Infinity" branch into an organization? If this concept has slipped by you, jQuery is one example of it:
https://github.com/jquery
Apparently there's already a user called Infinity, but there's been no activity whatsoever (maybe this is yours) so you could probably request a wipe, hehe. Alternatively you could make "PressCrew" your organization, like Crowd Favorite does for instance:
https://github.com/crowdfavorite
Currently all "BP" components extend a special bp component which was originally supposed to handle all of the heavy lifting related to general BP API abstraction, etc. It was never actually used, so this inheritance model needs to be dropped.
See this topic: http://community.presscrew.com/topic/did-i-break-something/
I have discussed this with Marshall, right now it seems that overriding features do not work 100%, I still have some sections that hang around even if I disable everything, just the section without any component. Also creating features including custom features on child themes, seem to cause a lot of problems because of the parent theme.
Let me know if this is just me, and what you guys think about this.
Thanks again for all the hard work
Someone reported that widgets are not sticking to the forum sidebar. Need to test.
The text only logo (no logo uploaded) container has a width of 100% and knocks the menu down.
After a successful update (AJAX save) of an option, the flash message should fade out after 3 to 5 seconds.
The raptor editor is an awesome content editor powered by jQuery/jQuery UI. It can be easily implemented through a UI Widget or standalone. Here's a demo: http://www.raptor-editor.com/demo/theme-roller
I think it would be really great if we could implement this in our dashboard. This would allow us to do a few things:
Example: http://cl.ly/1Y2h363s0I3B0B2w1a2d
This is how it could be added through the ini files.
[infinity_base_flex_slider_button_text]
section = "homepage"
title = "Signup Button Text"
description = "The Sign up button text displayed below the slider"
type = "richtext"
default_value = "Create an Account"
This could be a valuable extension for a client/user where he can edit posts/pages from the front-end. There is already a plugin available that does this http://wordpress.org/extend/plugins/wp-raptor/. It also has Media Library integration and works really well.
Editing Dashboard screens could take a huge leap forward for Multisite site admins if they could edit dashboard screens using the editor.
Example: http://cl.ly/2b3J3a460U0R2r2w3l3D
All in all I think a solid editor would be a great addition to our Dashboard and as an optional front end editor. I think the most important functionality is the option to let people use an editor to fill in their option fields and possibly edit their dashboard screens.
This is a first pass , vague idea - most probably far better handled down the road. It is buggy and in respects unsuitable for real use but does work in many respects.
Scenario: User wants regions on page/post they can edit/add content to via infinity_get_options('my_new_content')
At present dev may have to do this for user i.e setting ini options and adding the function call in the template.
further the requirement for unique content area may be for a page page using default page-loop.php in which case we can't add a unique get_option but need something more generic that can check what page is displayed and render the correct content.
My initial approach:
Create a function for template file generic_page_intro_sections($post)
In a functions file required into functions.php create a function that grabs the page name user is on constructs from that a suitable format i.e [new_page_intro] and pass that to to our function as in $generic_page_intro_sections = infinity_option_get($aot_infinity_option_name )
Issues:
Clearly at this stage we have no options.ini details set for this 'region' and we throw an exception (try/catch ?)
So we use fopen/fwrite to get the options ini file and write a new set of ini sections to it based on page name from $post before we attempt to get the option .
We need to prevent writing the same data repeatedly so grab the file as get_file_contents ( using file() & in_array / array_search wasn't proving workable ) and we try and match our page name to data using strpos() this isn't ideal but works after a fashion but needs better approach.
The general process flow isn't ideal, user creates a page user navigates to page on frontend script will then run and create ini file addition based on page name user can now navigate back to infinity cpanel and find a new content area to edit for that page.
As said this was a very hurried and rough attempt to see if this was a valid approach current test working code is below in case anyone interested in making suggestions on how to do better also I have cut & pasted this code around in a variety of configurations so may contain odd stuff :) .
function aot_page_intro_sections($post) {
$this_page = str_replace('-', '_', $post->post_name);
$aot_infinity_option_name = 'aot_' . $this_page . '_intro';
//function write_ini_options($post) {
// write option to ini file to register page region
$ini_file = STYLESHEETPATH . '/engine/config/options.ini';
$ini_contents = file_get_contents($ini_file);
//print_r($ini_contents);
if( !strpos( '[' . $aot_infinity_option_name . ']' , $ini_contents ) ) {
//echo 'no string match';
if(is_writable($ini_file) ) {
//echo 'it\'s writable';
if( !$ini_file = fopen($ini_file, 'a') )
echo 'it\'s not opened though';
$create_data = " \n[" . $aot_infinity_option_name ."] \nsection = \"cpt_intros\" \ntitle = \"Into region for " . $this_page . " \" \ndescription = \" Add content to this pages intro region \" \ntype = \"textarea\" " ;
if( fwrite($ini_file, $create_data ) === false )
echo 'no data added';
}
}
//if(!is_admin() )
//add_action('init', 'write_ini_options');
try {
$infinity_get_this_option = infinity_option_get($aot_infinity_option_name ) ;
echo $infinity_get_this_option;
}catch(Exception $e) {
//var_dump( $e->getMessage() );
}
}
Since WP 2.8 the wp_enqueue_script has the option to let a script be loaded in the footer instead of the header (http://codex.wordpress.org/Function_Reference/wp_enqueue_script). I'd like to see an option to achieve this from within infinity.ini.
Like this
[script]
slider = assets/js/slider.js
[script_enqueue]
in_footer = "slider"
This could improve page loading and prevent certain scripts from blocking the pageload.
It seems there is a special options.ini for logo settings in infinity/engine/ICE/ext/features/header-logo/
How can i customize it? ( translating titles etc)
To allow custom CSS options to overwrite the default layout settings that have been set by a theme, it's easiest to prefix custom CSS options with a body class.
This way layout.css (core) and style.css could have:
#header {
min-height: 120px;
}
And then when a user would change this through the theme options it would output:
.dynamic-overrides #header {
min-height: 200px;
}
The custom body class that is added by infinity defaults to this class (.dynamic-overrides) but can optionally be modified through infinity.ini;
option_body_class = "my-custom-class"
Finally a code snippet that explains how to add a custom body class:
// Add specific CSS class by filter
add_filter('body_class','my_class_names');
function my_class_names($classes) {
// add 'class-name' to the $classes array
$classes[] = 'class-name';
// return the $classes array
return $classes;
}
Reference: http://codex.wordpress.org/Function_Reference/body_class#Add_Classes_By_Filters
Please add support for translation support so i can use infinity :)
I cant see any design when i activate skeleton or infinity directly.. what changed? how can i activate design?
i changed
infinity-design-styles = on
but didnt worked..
By default a new options section that is added gets the "folder" icon. This works, but makes for a blank look, and makes it hard to tell the sections apart. So my suggestion would be to add the following configuration line to sections.ini
[body]
title = "body"
parent= "appearance"
ui_icon = "ui-icon-pencil"
Comparison: http://cl.ly/0x3S1f3h2q2Z2F092W1R
This is really nice for custom themes or future add-ons because you can easily roll your custom icons by rolling a custom jQuery UI theme and have the section icon change accordingly.
If an option has an img tag which shows the value, it should clear out or return to default when the reset button is clicked.
Topic: http://community.presscrew.com/topic/404-header/
It seems modifying the main wp_query sometimes gives 200 response on 404 pages which is a problem for seo.
Replacing this:
infinity_get_header();
with this:
header('HTTP/1.0 404 Not Found');
infinity_get_header();
in child themes is a temporary solution atm. Maybe a better solution support for this can add @ infinity.
If you look at the bottom of dynamic.css you'll see that there is quite a bit of CSS generated that is not doing anything. These are defaults that are being spit out, and I think we should get rid of them.
In the case of the texture picker that causes a bigger issue. It spits out a link to the texture directory without an actual image being set. Example:
/*+++ generating style ***/
.top-menu:before {
content: "";
position: absolute;
z-index: -1;
top: 0;
right: 0;
left: 0;
bottom: 0;
background-image: url("http://foksite.dev/development/wp-content/themes/infinity/assets/images/textures");
}
/*--- style generation complete! */
This is a big issue because the browser tries to look up the path and throws a 404 error.
I think we should either get rid of all the CSS based defaults or find a way to set "soft" defaults. These are being shown in the option panel when a user looks at them, but they will only be output when the actual option is set by the user.
In running over the default button.css sheet it occurred to me that things could be improved, there was a slight issue as I came to think about how to make use or availability of the button.blue series of options in the single sheet.
At present really only two options would work -
Trawl through all the template files and change classes to .blue - time consuming and fiddly to ensure all get done, and if dynamic i.e as fed from ?BP could be tricky to accomplish.
or:
Add a class via jQuery or similar - not my favored approach but workable.
what I actually have done is to split out all the color rulesets from button.css into individual color stylesheets and removing the button class i.e 'blue' , keeping button.css for simply the generic button styles site wide, now if I want to change button color, I will simply add my button-color-blue.css to my dynamic inclusion list.
While the approach above works, it does mean I the dev has to make changes where in reality this ought to be a user selection.
What I propose is that a new ability is required in a similar manner to creating a hook or content region for the user.
So we would have (pseudo code)
sections ini:
[styles_selector]
title = "select button styles to use"
options.ini
[button_style_selection]
section = "styles_selector"
title = "Select your prefered button colors"
file_dir = "assets/css/button-color/ ; sets the folder infinity should look in for files
Having set this up user gets a simple select dropdown that will list the file names found in the stated folder, user makes a selection that is saved as an option and used to then enqueue that file in the dynamic.css.
The same basic principle above would/could be extended to cover a lot of style inclusions giving the user a choice, and letting devs simply offer the options.
There is a weird issue with the header logo when the anchor has a twipsy on it. This commit fixes the problem, but breaks the left/center/right logo setting: d2d1a1b
Hi guys,
Not a major issue, but one from a user's perspective that would need addressing for a public release.
We've implemented lots of easy hooks and options in the backend of infinity in my theme and some of these options need names that span longer than the default Infinity option names.
When longer option names are hovered over, the bolding effect that has been implemented on hover, pushes these option names from one line, onto two, as they spill over the container width.
It is pretty off putting and makes the backend look flakey.
It's obviously only aesthetic, but I think it's best practice to remove the bold css on hover.
Let me know what you think.
Thanks,
Ross :)
Allow dashboard options, screens or sections to be shown based on conditions that have been set. Here's a basic example
[balance_buddypress_protect]
section = "buddypress"
title = "Private Community"
type = "radio"
field_options[] = "on=On"
field_options[] = "off=Off"
default_value = "off"
condition = "is_main_site"
This would allow a lot more flexibility especially in Multisite enviroments or 3rd Party plugins.
Currently all the Developer based functionality is still showing on the Infinity Dashboard. This confuses regular uses and gives them functionality they don't really have a need for. I'd like to hide the following from the dashboard when Developer Mode is not specifically enabled:
My suggested approach would be adding a simple "if" statement check to the templates for Developer Moade and add a new directive to the ini files. Like:
developer = yes
That would allow others to extend it as well in the future.
Problem: If there is lots of menu item, sub-menu is not showing properly
Solution:
.top-wrap .base-menu {
display: inline-block;
width: 100%;
box-sizing: border-box;
-moz-box-sizing: border-box;
webkit-box-sizing: border-box;
}
An example: http://ornekemlak.gapvitrin.com/
More info about box-sizing: http://paulirish.com/2012/box-sizing-border-box-ftw/
Browser support: IE8+ and all others
What we did here: We supported 2. row menu series
Currently Infinity combines and enqueus all styles and scripts automatically and turns them into dynamic.css/js. This is awesome for production sites, but it makes it hard to debug on local sites.
Ideally Developer Mode would simply enqueue all the styles and scripts being passed on to dynamic.css/js. This allows a developer to see where all the styles and scripts are coming from.
Because styles and script can be added across the stacks and through extensions, this functionality will become very important in the future.
The infinity_cleaner_caption() filter is borking caption output.
At the very least, this needs to be optional so people who are having trouble with the <figure> markup can disable it.
infinity-sidebar-setup is off but theme is still registering all sidebars
(buddypress branch)
http://wordpress.org/extend/themes/infinity
Here we go, i got update message in admin panel for infinity 1.1.. i checked it and its another theme and officially infinity in theme repo. I think there is 2 option:
1: Change project name, create a theme in that name @ theme repo.
2: Talk with those guys and try to get infinity name from them.
Similar:
#23
[example-length]
section = "global"
type = "css/length-px"
title = "Height"
description = "Select the height of the header by moving the slider"
default_value = 120
min = 100
max = 500
step = 10
This is my first taste of Infinity and I cannot get it to work. I am a experienced wp themer and was actually thinking of creating an "engine" like this when I came across infinity. I would love to use this but I keep getting theses two errors. I tried bleeding edge but to no joy either. Here are the errors:
Warning: parse error in C:\wamp\www\development\wp-content\themes/infinity/engine/config/infinity.ini on line 84 in C:\wamp\www\development\wp-content\themes\infinity\engine\ICE\schemes\scheme.php on line 432
Fatal error: Uncaught exception 'Exception' with message 'Failed to parse theme ini file: C:\wamp\www\development\wp-content\themes/infinity/engine/config/infinity.ini' in C:\wamp\www\development\wp-content\themes\infinity\engine\ICE\schemes\scheme.php:477 Stack trace: #0 C:\wamp\www\development\wp-content\themes\infinity\engine\ICE\schemes\scheme.php(224): ICE_Scheme->load() #1 C:\wamp\www\development\wp-content\themes\infinity\engine\api\scheme.php(29): ICE_Scheme->init('infinity') #2 C:\wamp\www\development\wp-content\themes\infinity\engine\infinity.php(204): infinity_scheme_init() #3 C:\wamp\www\development\wp-content\themes\infinity\functions.php(31): require_once('C:\wamp\www\dev...') #4 C:\wamp\www\development\wp-settings.php(287): include('C:\wamp\www\dev...') #5 C:\wamp\www\development\wp-config.php(90): require_once('C:\wamp\www\dev...') #6 C:\wamp\www\development\wp-load.php(29): require_once('C:\wamp\www\dev...') #7 C:\wamp\www\development\wp-admin\admin.php(30): require_once('C:\wamp\www\dev...') #8 C:\wamp\w in C:\wamp\www\development\wp-content\themes\infinity\engine\ICE\schemes\scheme.php on line 477
I am finally ready to admit that magic getters and setters are a bad idea. Their sexiness can no longer hide the fact that their perfomance is absolute dogsh!t. Its time to move on.
All magic methods need to be removed, and dynamic properties converted to real properties. Magic getters and setters need to be replaced with an almost identical method called property( $name, $value ) which can be used for accessing private properties on a per class basis as necessary.
In the 'options' tab. Left column of options seems OK (Global, Layout, Header etc.) Right area has issues loading properly. First time in and HTML loads weird - all in a long column. And progress indicator never stops.
Select a 'show all' button and it loads to look almost right. In Header, the sections relating to image upload show 'upload, select, zoom, trash' as words not buttons. Mouse over causes an underline and colour change to red, but can't select any of these four options. Can't find any workaround to do anything with the image uploader.
Same problem in both Firefox and Chrome.
In sections.ini you can use the following config to prevent Multisite bloggers accessing/setting options they don't need (like BuddyPress options)
[buddypress]
title = "BuddyPress"
capabilities = "manage_network"
This works great but even when all the options are prohibited the section still displays in the admin area.
Example: http://d.pr/i/7dGD
Fixing this will allow me to tweak our themes to make them more multisite friendly.
If you have uploaded a new logo via the infinity option page, if you then go to the BP avatar screen upload a new avatar when you are dropped back to the crop screen the site logo has gone.
Reason is instead of looking for site logo in /uploads/2011/... it is now trying to search in /uploads/avatar/2011/... the path where the bp avatar would be stored.
This is tested with 'buddypress' branch .
header-banner.php currently grabs image via:
$feature = infinity_feature_fetch( 'infinity-header-logo' );
if ( !$feature || !$feature->image_url() || !infinity_feature( 'infinity-header-logo' ) ):
In the options example code it shows:
<img src="<?php // echo infinity_option_image_url( 'infinity-header-logo_image', full ); ?>">
testing using that also produces same error.
Wherever the path is being constructed is somehow picking up the BP avatar path.
Hi guys,
I'm all for using HTML 5 where it improves Infinity, but at the moment the
caption filter is causing a few problems.I know it was first documented here:
Firstly it knocks over the WP editor in the backend so that caption shortcodes are no longer inserted automatically when you try to add them.
Secondly when you post an image WITHOUT a caption as the first item in your post and publish it, you get a 100x100px thumbnail in the activity stream.
To replicate:
Open a new post:
It does this as it sets a fixed width of 100px on the image thumb in the stream for some reason.
No if I fork the code and rip out the figure caption filter from infinity/engine/includes/setup.php
Then both of these issues resolve, so I can only put it down to this.
Until we find a fix for this, would it be possible to implement a feature in infinity core to turn this function off and to simply return to standard WP captions?
We can obviously integrate the figure HTML 5 version down the line when Bowe can get it to work properly.
I don't want to hack core files just now due to future upgrades, so a function to kill this figure caption would be cool for now.
Thanks in advance
Ross :)
The following code seems to be broken in the latest version, preventing the example code for uploaded images to be shown:
<?php if ( $option instanceof Pie_Easy_Exts_Options_Upload ): ?>
<strong>Echo option as image URL</strong>
<code class="ui-widget-content ui-corner-bottom ui-corner-tr"><img src="<?php echo infinity_option_image_url( '<?php print $this->component()->name ?>' ); ?>"><?php endif ?></code>
Removing the if statement fixes it (duh) but also shows the code example everywhere :-)
The WP Admin Toolbar injects itself and add a 28px margin-bottom to the HTML element. This messes up the tooltips script.
Add a body class when the admin bar is visible.
<?php
if ( is_admin_bar_showing() ) {
// do something
}
?>
To be able to submit Infinity Base to the WordPress Repository we need to get the theme free of warning and requirements. To do so, there are a few small issues that need be handled. Here's a screenshot of my current fork that has fixed all requirements in the templates/setup files.
http://cl.ly/0b2E1U0s3c3M393E0w1k
Some of them are related to the hidden git folder to be present, and mac specific files and folders. Which basically leave only a few warnings.
If we can get these fixed we're ready to submit the theme to the WordPress Repository. You can install the Theme Check plugin here: http://wordpress.org/extend/plugins/theme-check/
Hey Marshall,
Found a bug with how the dynamic CSS is generated.
I'm on Windows and the filepath doesn't appear to be correct.
I've attached a screenshot:
http://i.imgur.com/D5gPq.png
when i set ;
infinity-main-menu-setup = off
sub menu is not showing even infinity-sub-menu-setup = on
At the moment Page Templates are not being picked up across the theme. Grandchild Themes pick up templates from Infinity just fine, but it skips the child theme page templates.
Apparently there is a filter on the function that retrieves the page templates:
http://core.trac.wordpress.org/browser/branches/3.0/wp-includes/theme.php#L917
This post on Stackexchange contains some extra pointers on how this can be used in practice:
Default background image for body registering as:
body {
background: url('/wp-content/themes/infinity/assets/images/design/bg.png') repeat white;
}
But if u chose any background, its registering as:
body::before {
content: "";
position: absolute;
z-index: -1;
top: 0;
right: 0;
left: 0;
bottom: 0;
background-image: url("http://ornekemlak.gapvitrin.com/wp-content/themes/infinity/assets/images/textures/gold_scale.png");
}
Its not overriding it, basically css loading both background. And WordPress's admin bar adds those css to every page with admin bar:
html { margin-top: 28px !important; }
* html body { margin-top: 28px !important; }
So you can clearly see whats problem in example site: http://ornekemlak.gapvitrin.com/
Yes.. in top of content, you can see default background image.
Just register new background image to body like default one:
body {
background-image: url("http://ornekemlak.gapvitrin.com/wp-content/themes/infinity/assets/images/textures/gold_scale.png");
}
And if possible, please remove adding those site adress to image locations:
http://ornekemlak.gapvitrin.com/wp-content/themes/infinity/assets/images/textures/gold_scale.png
to
/wp-content/themes/infinity/assets/images/textures/gold_scale.png
I tried to update infinity to latest but i see radio options are not showing. Couldnt try other sections because this is pretty big problem for me. An example options.ini:
[example-radio]
section = "global"
title = "Example Radio"
description = "Media Type?"
type = "radio"
default_value = "image"
field_options[] = "image=Image"
field_options[] = "flash=Flash"
Options are not showing.
Hi,
For some reason infinity or child themes are incredible slow compared to other themes..
Total Load Time: 1.0230seconds avg.
Site Load Time 0.6021seconds avg.
Profile Overhead: 0.4209seconds avg.
Plugin Load Time: 0.4395seconds avg.
Theme Load Time: 0.0228seconds avg.
Core Load Time: 0.1266seconds avg.
Margin of Error: 0.0131seconds avg.
(1.0230 observed, 1.0099 expected)
Visits: 4
Number of PHP ticks: 10,735 calls avg.
Memory Usage: 55.69 MB avg.
MySQL Queries: 17 queries avg.
Total Load Time: 8.0002seconds avg.
Site Load Time 2.0337seconds avg.
Profile Overhead: 5.9665seconds avg.
Plugin Load Time: 0.4791seconds avg.
Theme Load Time: 1.2179seconds avg.
Core Load Time: 0.1422seconds avg.
Margin of Error: 0.1945seconds avg.
(8.0002 observed, 7.8057 expected)
Visits: 4
Number of PHP ticks: 11,919 calls avg.
Memory Usage: 66.63 MB avg.
MySQL Queries: 20 queries avg.
Total Load Time: 8.1542seconds avg.
Site Load Time 2.0769seconds avg.
Profile Overhead: 6.0773seconds avg.
Plugin Load Time: 0.4813seconds avg.
Theme Load Time: 1.2609seconds avg.
Core Load Time: 0.1371seconds avg.
Margin of Error: 0.1976seconds avg.
(8.1542 observed, 7.9566 expected)
Visits: 4
Number of PHP ticks: 11,850 calls avg.
Memory Usage: 67.00 MB avg.
MySQL Queries: 19 queries avg.
Used http://wordpress.org/extend/plugins/p3-profiler/ for profiling
Is there any way to increase performance?
I'm using Wordpres 3.4 with qtranslate plugin.
With infinity theme, the template shows the date format instead of the actual date.
Example eng lang:
%A %B %e%q, %Y %I:%M %p / Leave a Comment / Kbyte / Edit
Example it lang:
%e %B %Y %H:%M / Leave a Comment / Kbyte / Edit
This should be a great addition to the uploader
http://community.presscrew.com/topic/feature-request-choose-a-file-in-the-media-library/
WPThumb allows us stop generating several post thumbnail sizes in our themes. We simply set add one image-size and then serve the proper image sizes directly in our custom templates or and template parts.
Since it integrates with the native post_thumbnail function nothing will change besides that we'll be passing an array that gives the exact sizes needed:
<?php the_post_thumbnail( array( 'width' => 500, 'height' => 500, 'crop' => true ) ) ?>
Because we're dealing with responsive designs we could allow the user to modify the width through either the options panel or the ini files.
<?php the_post_thumbnail( $post-thumbnail-option-size ) ?>
[infinity-thumbnail.width]
type = "css/length-px"
title = "Width"
description = "Select the width of the default post thumbnail"
min = 400
max = 1250
step = 1
default_value = 670
Another big advantage is the flexibility when it comes to creating slider and grid images (like on the homepage of http://infinitythemes.net).
Not to mention that Featured images resize properly across different Infinity Themes with bloating the database.
More info about WPThumb:
https://github.com/humanmade/WPThumb
http://hmn.md/introducing-wp-thumb/
Not sure if this was intentional or not but there are differences in stylesheet 'references' e.g in infinity.ini we have:
infinity-grid-style = on
infinity-design-styles = on
The subtle difference was easily overlooked when coming to try and control these from the child ini file.
Image upload's zoom button is not working in firefox or internet explorer..
Can you check it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.